diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 6b6401260..2d65938a4 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -2,11 +2,10 @@ name: CI
on:
push:
- branches: fbopt
+ branches: mhof_dev_merge
pull_request:
- branches: fbopt
+ branches: mhof_dev_merge
workflow_dispatch:
-
jobs:
test:
name: Run tests
@@ -32,7 +31,7 @@ jobs:
- name: test if api works
run: poetry run python examples/api/jigen_dann_transformer.py
- name: Generate coverage report
- run: rm -r zoutput && poetry run pytest --cov=domainlab tests/ --cov-report=xml
+ run: rm -rf zoutput && poetry run pytest --maxfail=1 -vvv --tb=short --cov=domainlab tests/ --cov-report=xml
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v1
with:
@@ -42,8 +41,14 @@ jobs:
env:
CODECOV_TOKEN: 02ecb3ac-b7ce-4ea4-90a2-961c3d1a1030
- name: check if readme yaml works
- run: rm -r zoutput && python main_out.py -c ./examples/conf/vlcs_diva_mldg_dial.yaml
+ run: rm -rf zoutput && python main_out.py -c ./examples/conf/vlcs_diva_mldg_dial.yaml
- name: test if examples in markdown works
- run: bash -x -v ci_run_examples.sh
+ run: bash -x -v scripts/ci_run_examples.sh
- name: test if benchmark works
- run: pip install snakemake==7.32.0 && pip install pulp==2.7.0 && sed -i '1s/^/#!\/bin\/bash -x -v\n/' run_benchmark_standalone.sh && bash -x -v run_benchmark_standalone.sh examples/benchmark/demo_shared_hyper_grid.yaml && cat zoutput/benchmarks/mnist_benchmark_grid/hyperparameters.csv && cat zoutput/benchmarks/mnist_benchmark_grid/results.csv
+ run: |
+ pip install snakemake==7.32.0 && pip install pulp==2.7.0
+ echo "insert a shebang line (#!/bin/bash -x -v) at the beginning of the bash script"
+ sed -i '1s/^/#!\/bin\/bash -x -v\n/' run_benchmark_standalone.sh
+ bash -x -v run_benchmark_standalone.sh examples/benchmark/demo_shared_hyper_grid.yaml
+ cat zoutput/benchmarks/mnist_benchmark_grid*/hyperparameters.csv
+ cat zoutput/benchmarks/mnist_benchmark_grid*/results.csv
diff --git a/.gitignore b/.gitignore
index edfe19c37..b001bad9e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,7 +1,11 @@
.ropeproject
-./zdpath
-./zoutput
+/zdpath
+/zoutput
tests/__pycache__/
*.pyc
.vscode/
-data/pacs
+domainlab/zdata/pacs
+/data/
+/dist
+/domainlab.egg-info
+/runs
diff --git a/README.md b/README.md
index ccedf4048..e16d02681 100644
--- a/README.md
+++ b/README.md
@@ -1,19 +1,141 @@
-# M-HOF-Opt: Multi-Objective Hierarchical Output Feedback Optimization via Multiplier Induced Loss Landscape Scheduling
+# DomainLab: modular python package for training domain invariant neural networks
-Source: https://arxiv.org/pdf/2403.13728.pdf
+![GH Actions CI ](https://github.com/marrlab/DomainLab/actions/workflows/ci.yml/badge.svg?branch=master)
+[![codecov](https://codecov.io/gh/marrlab/DomainLab/branch/master/graph/badge.svg)](https://app.codecov.io/gh/marrlab/DomainLab)
+[![Codacy Badge](https://app.codacy.com/project/badge/Grade/bc22a1f9afb742efb02b87284e04dc86)](https://www.codacy.com/gh/marrlab/DomainLab/dashboard)
+[![Documentation](https://img.shields.io/badge/Documentation-Here)](https://marrlab.github.io/DomainLab/)
+[![pages-build-deployment](https://github.com/marrlab/DomainLab/actions/workflows/pages/pages-build-deployment/badge.svg)](https://github.com/marrlab/DomainLab/actions/workflows/pages/pages-build-deployment)
+
+## Distribution shifts, domain generalization and DomainLab
+
+Neural networks trained using data from a specific distribution (domain) usually fail to generalize to novel distributions (domains). Domain generalization aims at learning domain invariant features by utilizing data from multiple domains (data sites, cohorts, batches, vendors) so the learned feature can be generalized to new unseen domains (distributions).
+
+DomainLab is a software platform with state-of-the-art domain generalization algorithms implemented and designed by maximal decoupling of different software components thus enhancing maximal code reuse.
+
+### DomainLab
+DomainLab decouples the following concepts or objects:
+- task $M$: In DomainLab, a task is a container for datasets from different domains. (e.g. from distribution $D_1$ and $D_2$). The task offers a static protocol to evaluate the generalization performance of a neural network: which dataset(s) is used for training, and which dataset(s) is used for testing.
+- neural network: a map $\phi$ from the input data to the feature space and a map $\varphi$ from the feature space to output $\hat{y}$ (e.g. decision variable).
+- model: structural risk in the form of $\ell() + \mu R()$ where
+ - $\ell(Y, \hat{y}=\varphi(\phi(X)))$ is the task-specific empirical loss (e.g. cross entropy for classification task).
+ - $R(\phi(X))$ is the penalty loss to boost domain invariant feature extraction using $\phi$.
+ - $\mu$ is the corresponding multiplier to each penalty function factor.
+- trainer: an object that guides the data flow to model and append further domain invariant losses
+like inter-domain feature alignment.
+
+We offer detailed documentation on how these models and trainers work on our documentation page: https://marrlab.github.io/DomainLab/
+
+DomainLab makes it possible to combine models with models, trainers with models, and trainers with trainers in a decorator pattern like the line of code below
+
+```
+Trainer A(
+ Trainer B(Model C(
+ Model D(network E),
+ network E,
+ network F
+ )
+ )
+ )
+```
+
+which correspond to $\ell() + \mu_a R_a() + \mu_b R_b + \mu_c R_c() + \mu_d R_d()$, where Model C and Model D share neural network E, but Model C has an extra neural network F. All models share the same neural network for feature extraction, but can have different auxiliary networks for $R()$.
+
+
+
+
+
+
+
+## Getting started
+
+### Installation
+For the development version in Github, see [Installation and Dependencies handling](./docs/doc_install.md)
+
+We also offer a PyPI version here https://pypi.org/project/domainlab/ which one could install via `pip install domainlab` and it is recommended to create a virtual environment for it.
+
+### Task specification
+We offer various ways for the user to specify a scenario to evaluate the generalization performance via training on a limited number of datasets. See detail in
+[Task Specification](./docs/doc_tasks.md)
+
+### Example and usage
+#### Available arguments for commandline
+
+The following command tells which arguments/hyperparameters/multipliers are available to be set by the user and which model they are associated with
+
+```shell
+python main_out.py --help
+```
+
+or
+
+```
+domainlab --help
+```
+
+#### Command line configuration file
+
+`domainlab -c ./examples/conf/vlcs_diva_mldg_dial.yaml` (if you install via pip)
+
+or if you clone this the code repository for DomainLab
+
+`python main_out.py -c ./examples/conf/vlcs_diva_mldg_dial.yaml`
+
+where the configuration file below can be downloaded [here](https://raw.githubusercontent.com/marrlab/DomainLab/master/examples/conf/vlcs_diva_mldg_dial.yaml)
+```
+te_d: caltech # domain name of test domain
+tpath: examples/tasks/task_vlcs.py # python file path to specify the task
+bs: 2 # batch size
+model: dann_diva # combine model DANN with DIVA
+epos: 1 # number of epochs
+trainer: mldg_dial # combine trainer MLDG and DIAL
+gamma_y: 700000.0 # hyperparameter of diva
+gamma_d: 100000.0 # hyperparameter of diva
+npath: examples/nets/resnet.py # neural network for class classification
+npath_dom: examples/nets/resnet.py # neural network for domain classification
+```
+See details in [Command line usage](./docs/doc_usage_cmd.md)
+
+#### or Programm against DomainLab API
+
+See example here: [Transformer as feature extractor, decorate JIGEN with DANN, training using MLDG decorated by DIAL](https://github.com/marrlab/DomainLab/blob/master/examples/api/jigen_dann_transformer.py)
+
+
+### Benchmark different methods
+DomainLab provides a powerful benchmark functionality.
+To benchmark several algorithms(combination of neural networks, models, trainers and associated hyperparameters), a single line command along with a benchmark configuration files is sufficient. See details in [benchmarks documentation and tutorial](./docs/doc_benchmark.md)
+
+One could simply run
+`bash run_benchmark_slurm.sh your_benchmark_configuration.yaml` to launch different experiments with specified configuraiton.
+
+
+For example, the following result (without any augmentation like flip) is for PACS dataset using ResNet. The reader should note that using different neural network, whether pre-trained or not, what kind of preprocessinga and augmentation to use can lead to very different result distributions, which is one of the features DomainLab provide: the above factors get decoupled in DomainLab.
+
+
+
+
+
+Benchmark results plot generated from DomainLab, where each rectangle represent one model trainer combination, each bar inside the rectangle represent a unique hyperparameter index associated with that method combination, each dot represent a random seeds.
+
+
+
+
+
+### Citation
+
+Source: https://arxiv.org/pdf/2403.14356.pdf
Citation:
```bibtex
-@misc{sun2024m,
- title={M-HOF-Opt: Multi-Objective Hierarchical Output Feedback Optimization via Multiplier Induced Loss Landscape Scheduling},
- author={Sun, Xudong and Chen, Nutan and Gossmann, Alexej and Xing, Yu and Dorigatt, Emilio and Drost, Felix and Feistner, Carla and Scarcella, Daniele and Beer, Lisa and Marr, Carsten},
- journal={https://arxiv.org/pdf/2403.13728.pdf},
- number={2403.13728},
- year={2024},
- publisher={https://arxiv.org/pdf/2403.13728.pdf}
+@misc{sun2024domainlab,
+ title={DomainLab: A modular Python package for domain generalization in deep learning},
+ author={Sun, Xudong and Feistner, Carla and Gossmann, Alexej and Schwarz, George and Umer, Rao Muhammad and Beer, Lisa and Rockenschaub, Patrick and Shrestha, Rahul Babu and Gruber, Armin and Chen, Nutan and others},
+ journal={https://arxiv.org/pdf/2403.14356.pdf},
+ year={2024}
}
```
+# M-HOF-Opt: Multi-Objective Hierarchical Output Feedback Optimization via Multiplier Induced Loss Landscape Scheduling
+Source: https://arxiv.org/pdf/2403.13728.pdf
M-HOF-Opt is implemented in [DomainLab](https://github.com/marrlab/DomainLab). If you meet any problems, feel free to report them at https://github.com/marrlab/DomainLab/issues
@@ -67,3 +189,15 @@ bash script_generate_all_figures_diva.sh
```
The resulting figures will be stored in the directory `figures_diva`, which can be changed by editing the top of the [script_generate_all_figures_diva.sh](https://github.com/marrlab/DomainLab/blob/mhof/script_generate_all_figures_diva.sh) file if needed.
+
+Citation:
+```bibtex
+@misc{sun2024m,
+ title={M-HOF-Opt: Multi-Objective Hierarchical Output Feedback Optimization via Multiplier Induced Loss Landscape Scheduling},
+ author={Sun, Xudong and Chen, Nutan and Gossmann, Alexej and Xing, Yu and Dorigatt, Emilio and Drost, Felix and Feistner, Carla and Scarcella, Daniele and Beer, Lisa and Marr, Carsten},
+ journal={https://arxiv.org/pdf/2403.13728.pdf},
+ number={2403.13728},
+ year={2024},
+ publisher={https://arxiv.org/pdf/2403.13728.pdf}
+}
+```
\ No newline at end of file
diff --git a/a_test_feedforward_irm.sh b/a_test_feedforward_irm.sh
new file mode 100644
index 000000000..007f3e9ac
--- /dev/null
+++ b/a_test_feedforward_irm.sh
@@ -0,0 +1 @@
+python main_out.py --te_d=0 --tr_d 1 2 --task=mnistcolor10 --model=erm --nname=conv_bn_pool_2 --trainer=hyperscheduler_irm_dial --k_i_gain_ratio=0.5 --force_setpoint_change_once --epos=10 --epos_min=4 --exp_shoulder_clip=1 --mu_clip=100 --ini_setpoint_ratio=0.99999999
diff --git a/a_test_mhof_irm.sh b/a_test_mhof_irm.sh
new file mode 100644
index 000000000..3cf1ae7ed
--- /dev/null
+++ b/a_test_mhof_irm.sh
@@ -0,0 +1 @@
+python main_out.py --te_d=0 --tr_d 1 2 --task=mnistcolor10 --model=erm --nname=conv_bn_pool_2 --trainer=fbopt_irm_dial --k_i_gain_ratio=0.5 --force_setpoint_change_once --epos=500 --epos_min=400 --exp_shoulder_clip=1 --mu_clip=100 --ini_setpoint_ratio=0.9 --nb4reg_over_task_ratio=0 --tr_with_init_mu --coeff_ma_setpoint=0.0 --str_setpoint_ada="SliderAnyComponent()"
diff --git a/data/mixed_codec/caltech/auto/text.txt b/data/mixed_codec/caltech/auto/text.txt
deleted file mode 100644
index 557db03de..000000000
--- a/data/mixed_codec/caltech/auto/text.txt
+++ /dev/null
@@ -1 +0,0 @@
-Hello World
diff --git a/data/mixed_codec/caltech/auto/train_imgs_150.jpg b/data/mixed_codec/caltech/auto/train_imgs_150.jpg
deleted file mode 100644
index 8d01af8c3..000000000
Binary files a/data/mixed_codec/caltech/auto/train_imgs_150.jpg and /dev/null differ
diff --git a/data/mixed_codec/caltech/auto/train_imgs_151.jpg b/data/mixed_codec/caltech/auto/train_imgs_151.jpg
deleted file mode 100644
index 4d1bdc631..000000000
Binary files a/data/mixed_codec/caltech/auto/train_imgs_151.jpg and /dev/null differ
diff --git a/data/mixed_codec/caltech/auto/train_imgs_152.png b/data/mixed_codec/caltech/auto/train_imgs_152.png
deleted file mode 100644
index 7582a9d15..000000000
Binary files a/data/mixed_codec/caltech/auto/train_imgs_152.png and /dev/null differ
diff --git a/data/mixed_codec/caltech/vogel/train_imgs_1.jpg b/data/mixed_codec/caltech/vogel/train_imgs_1.jpg
deleted file mode 100644
index 36e8af5d6..000000000
Binary files a/data/mixed_codec/caltech/vogel/train_imgs_1.jpg and /dev/null differ
diff --git a/data/mixed_codec/caltech/vogel/train_imgs_2.jpg b/data/mixed_codec/caltech/vogel/train_imgs_2.jpg
deleted file mode 100644
index 5affad9fb..000000000
Binary files a/data/mixed_codec/caltech/vogel/train_imgs_2.jpg and /dev/null differ
diff --git a/data/mixed_codec/caltech/vogel/train_imgs_3.png b/data/mixed_codec/caltech/vogel/train_imgs_3.png
deleted file mode 100644
index 85448b532..000000000
Binary files a/data/mixed_codec/caltech/vogel/train_imgs_3.png and /dev/null differ
diff --git a/data/mixed_codec/sun/sofa/train_imgs_609.jpg b/data/mixed_codec/sun/sofa/train_imgs_609.jpg
deleted file mode 100644
index 239adbfcc..000000000
Binary files a/data/mixed_codec/sun/sofa/train_imgs_609.jpg and /dev/null differ
diff --git a/data/mixed_codec/sun/sofa/train_imgs_612.jpg b/data/mixed_codec/sun/sofa/train_imgs_612.jpg
deleted file mode 100644
index 55a3480d0..000000000
Binary files a/data/mixed_codec/sun/sofa/train_imgs_612.jpg and /dev/null differ
diff --git a/data/mixed_codec/sun/vehicle/train_imgs_17.jpg b/data/mixed_codec/sun/vehicle/train_imgs_17.jpg
deleted file mode 100644
index 07f3213cc..000000000
Binary files a/data/mixed_codec/sun/vehicle/train_imgs_17.jpg and /dev/null differ
diff --git a/data/mixed_codec/sun/vehicle/train_imgs_19.jpg b/data/mixed_codec/sun/vehicle/train_imgs_19.jpg
deleted file mode 100644
index 33aba5e89..000000000
Binary files a/data/mixed_codec/sun/vehicle/train_imgs_19.jpg and /dev/null differ
diff --git a/data/pacs_mini_10/art_painting/dog/pic_195.jpg b/data/pacs_mini_10/art_painting/dog/pic_195.jpg
deleted file mode 100644
index 40f008068..000000000
Binary files a/data/pacs_mini_10/art_painting/dog/pic_195.jpg and /dev/null differ
diff --git a/data/pacs_mini_10/art_painting/dog/pic_304.jpg b/data/pacs_mini_10/art_painting/dog/pic_304.jpg
deleted file mode 100644
index 5f558c11d..000000000
Binary files a/data/pacs_mini_10/art_painting/dog/pic_304.jpg and /dev/null differ
diff --git a/data/pacs_mini_10/art_painting/elephant/pic_026.jpg b/data/pacs_mini_10/art_painting/elephant/pic_026.jpg
deleted file mode 100644
index 2901d4715..000000000
Binary files a/data/pacs_mini_10/art_painting/elephant/pic_026.jpg and /dev/null differ
diff --git a/data/pacs_mini_10/art_painting/giraffe/pic_243.jpg b/data/pacs_mini_10/art_painting/giraffe/pic_243.jpg
deleted file mode 100644
index 2ffc182e8..000000000
Binary files a/data/pacs_mini_10/art_painting/giraffe/pic_243.jpg and /dev/null differ
diff --git a/data/pacs_mini_10/art_painting/guitar/pic_020.jpg b/data/pacs_mini_10/art_painting/guitar/pic_020.jpg
deleted file mode 100644
index bd14528d6..000000000
Binary files a/data/pacs_mini_10/art_painting/guitar/pic_020.jpg and /dev/null differ
diff --git a/data/pacs_mini_10/art_painting/guitar/pic_182.jpg b/data/pacs_mini_10/art_painting/guitar/pic_182.jpg
deleted file mode 100644
index b137ff1db..000000000
Binary files a/data/pacs_mini_10/art_painting/guitar/pic_182.jpg and /dev/null differ
diff --git a/data/pacs_mini_10/art_painting/horse/pic_142.jpg b/data/pacs_mini_10/art_painting/horse/pic_142.jpg
deleted file mode 100644
index a5c00422d..000000000
Binary files a/data/pacs_mini_10/art_painting/horse/pic_142.jpg and /dev/null differ
diff --git a/data/pacs_mini_10/art_painting/person/pic_165.jpg b/data/pacs_mini_10/art_painting/person/pic_165.jpg
deleted file mode 100644
index 83803783b..000000000
Binary files a/data/pacs_mini_10/art_painting/person/pic_165.jpg and /dev/null differ
diff --git a/data/pacs_mini_10/art_painting/person/pic_199.jpg b/data/pacs_mini_10/art_painting/person/pic_199.jpg
deleted file mode 100644
index 0afd6b2a6..000000000
Binary files a/data/pacs_mini_10/art_painting/person/pic_199.jpg and /dev/null differ
diff --git a/data/pacs_mini_10/art_painting/person/pic_497.jpg b/data/pacs_mini_10/art_painting/person/pic_497.jpg
deleted file mode 100644
index 9e72f4953..000000000
Binary files a/data/pacs_mini_10/art_painting/person/pic_497.jpg and /dev/null differ
diff --git a/data/pacs_mini_10/cartoon/dog/pic_112.jpg b/data/pacs_mini_10/cartoon/dog/pic_112.jpg
deleted file mode 100644
index 0ee2f1c05..000000000
Binary files a/data/pacs_mini_10/cartoon/dog/pic_112.jpg and /dev/null differ
diff --git a/data/pacs_mini_10/cartoon/dog/pic_137.jpg b/data/pacs_mini_10/cartoon/dog/pic_137.jpg
deleted file mode 100644
index 6926b6aeb..000000000
Binary files a/data/pacs_mini_10/cartoon/dog/pic_137.jpg and /dev/null differ
diff --git a/data/pacs_mini_10/cartoon/dog/pic_219.jpg b/data/pacs_mini_10/cartoon/dog/pic_219.jpg
deleted file mode 100644
index ce2957c1b..000000000
Binary files a/data/pacs_mini_10/cartoon/dog/pic_219.jpg and /dev/null differ
diff --git a/data/pacs_mini_10/cartoon/elephant/pic_332.jpg b/data/pacs_mini_10/cartoon/elephant/pic_332.jpg
deleted file mode 100644
index f6b164d62..000000000
Binary files a/data/pacs_mini_10/cartoon/elephant/pic_332.jpg and /dev/null differ
diff --git a/data/pacs_mini_10/cartoon/giraffe/pic_377.jpg b/data/pacs_mini_10/cartoon/giraffe/pic_377.jpg
deleted file mode 100644
index c4eace676..000000000
Binary files a/data/pacs_mini_10/cartoon/giraffe/pic_377.jpg and /dev/null differ
diff --git a/data/pacs_mini_10/cartoon/giraffe/pic_382.jpg b/data/pacs_mini_10/cartoon/giraffe/pic_382.jpg
deleted file mode 100644
index 386b37ae0..000000000
Binary files a/data/pacs_mini_10/cartoon/giraffe/pic_382.jpg and /dev/null differ
diff --git a/data/pacs_mini_10/cartoon/horse/pic_064.jpg b/data/pacs_mini_10/cartoon/horse/pic_064.jpg
deleted file mode 100644
index dec5f3f40..000000000
Binary files a/data/pacs_mini_10/cartoon/horse/pic_064.jpg and /dev/null differ
diff --git a/data/pacs_mini_10/cartoon/house/pic_040.jpg b/data/pacs_mini_10/cartoon/house/pic_040.jpg
deleted file mode 100644
index 8318b173d..000000000
Binary files a/data/pacs_mini_10/cartoon/house/pic_040.jpg and /dev/null differ
diff --git a/data/pacs_mini_10/cartoon/person/pic_111.jpg b/data/pacs_mini_10/cartoon/person/pic_111.jpg
deleted file mode 100644
index 9b364463b..000000000
Binary files a/data/pacs_mini_10/cartoon/person/pic_111.jpg and /dev/null differ
diff --git a/data/pacs_mini_10/cartoon/person/pic_180.jpg b/data/pacs_mini_10/cartoon/person/pic_180.jpg
deleted file mode 100644
index a22db07e7..000000000
Binary files a/data/pacs_mini_10/cartoon/person/pic_180.jpg and /dev/null differ
diff --git a/data/pacs_mini_10/main.sh b/data/pacs_mini_10/main.sh
deleted file mode 100644
index 8e44c8183..000000000
--- a/data/pacs_mini_10/main.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/bash
-# first argument is the file with pointers to image
-# s
-bash run_with_bash_copy_files_according2txt.sh ../pacs_split/art_painting_10.txt ~/Documents/dataset/PACS/raw .
-bash run_with_bash_copy_files_according2txt.sh ../pacs_split/cartoon_10.txt ~/Documents/dataset/PACS/raw .
-bash run_with_bash_copy_files_according2txt.sh ../pacs_split/photo_10.txt ~/Documents/dataset/PACS/raw .
-bash run_with_bash_copy_files_according2txt.sh ../pacs_split/sketch_10.txt ~/Documents/dataset/PACS/raw .
diff --git a/data/pacs_mini_10/photo/dog/n02103406_1011.jpg b/data/pacs_mini_10/photo/dog/n02103406_1011.jpg
deleted file mode 100644
index 8859d6d21..000000000
Binary files a/data/pacs_mini_10/photo/dog/n02103406_1011.jpg and /dev/null differ
diff --git a/data/pacs_mini_10/photo/elephant/n02503517_6232.jpg b/data/pacs_mini_10/photo/elephant/n02503517_6232.jpg
deleted file mode 100644
index 06333ace2..000000000
Binary files a/data/pacs_mini_10/photo/elephant/n02503517_6232.jpg and /dev/null differ
diff --git a/data/pacs_mini_10/photo/guitar/n02676566_7830.jpg b/data/pacs_mini_10/photo/guitar/n02676566_7830.jpg
deleted file mode 100644
index 513f836b1..000000000
Binary files a/data/pacs_mini_10/photo/guitar/n02676566_7830.jpg and /dev/null differ
diff --git a/data/pacs_mini_10/photo/horse/105_0223.jpg b/data/pacs_mini_10/photo/horse/105_0223.jpg
deleted file mode 100644
index 6f8c61346..000000000
Binary files a/data/pacs_mini_10/photo/horse/105_0223.jpg and /dev/null differ
diff --git a/data/pacs_mini_10/photo/house/pic_046.jpg b/data/pacs_mini_10/photo/house/pic_046.jpg
deleted file mode 100644
index fee8e964f..000000000
Binary files a/data/pacs_mini_10/photo/house/pic_046.jpg and /dev/null differ
diff --git a/data/pacs_mini_10/photo/house/pic_110.jpg b/data/pacs_mini_10/photo/house/pic_110.jpg
deleted file mode 100644
index f7de2e500..000000000
Binary files a/data/pacs_mini_10/photo/house/pic_110.jpg and /dev/null differ
diff --git a/data/pacs_mini_10/photo/house/pic_146.jpg b/data/pacs_mini_10/photo/house/pic_146.jpg
deleted file mode 100644
index 2de68aedc..000000000
Binary files a/data/pacs_mini_10/photo/house/pic_146.jpg and /dev/null differ
diff --git a/data/pacs_mini_10/photo/house/pic_218.jpg b/data/pacs_mini_10/photo/house/pic_218.jpg
deleted file mode 100644
index d7271783c..000000000
Binary files a/data/pacs_mini_10/photo/house/pic_218.jpg and /dev/null differ
diff --git a/data/pacs_mini_10/photo/person/253_0221.jpg b/data/pacs_mini_10/photo/person/253_0221.jpg
deleted file mode 100644
index ba960df6a..000000000
Binary files a/data/pacs_mini_10/photo/person/253_0221.jpg and /dev/null differ
diff --git a/data/pacs_mini_10/photo/person/253_0297.jpg b/data/pacs_mini_10/photo/person/253_0297.jpg
deleted file mode 100644
index 88b89ec7a..000000000
Binary files a/data/pacs_mini_10/photo/person/253_0297.jpg and /dev/null differ
diff --git a/data/pacs_mini_10/run_with_bash_copy_files_according2txt.sh b/data/pacs_mini_10/run_with_bash_copy_files_according2txt.sh
deleted file mode 100644
index 695e46218..000000000
--- a/data/pacs_mini_10/run_with_bash_copy_files_according2txt.sh
+++ /dev/null
@@ -1,26 +0,0 @@
-#!/bin/bash
-input=$1
-path=$2
-
-# test string array works
-sentence="this is a story"
-stringarray=($sentence)
-echo "${stringarray[0]}"
-
-while IFS= read -r line
-do
- echo "$line"
- stringarray=($line)
- echo "${stringarray[0]}"
- relativepath=${stringarray[0]}
- fullpath="$path/$relativepath"
- echo "fullpath is $fullpath"
- newpath="$3/$relativepath"
- echo "newpath is $newpath"
- newpath2=`dirname "$newpath"`
- echo "newpath2 is $newpath2"
- mkdir -p "$newpath2"
- cp "$fullpath" "$newpath2"
- # cp "$fullpath" --parent "$3"
-
-done < "$input"
diff --git a/data/pacs_mini_10/sketch/dog/5302.png b/data/pacs_mini_10/sketch/dog/5302.png
deleted file mode 100644
index 3ec54e87b..000000000
Binary files a/data/pacs_mini_10/sketch/dog/5302.png and /dev/null differ
diff --git a/data/pacs_mini_10/sketch/dog/5317.png b/data/pacs_mini_10/sketch/dog/5317.png
deleted file mode 100644
index 8e6434ab4..000000000
Binary files a/data/pacs_mini_10/sketch/dog/5317.png and /dev/null differ
diff --git a/data/pacs_mini_10/sketch/dog/n02103406_3255-6.png b/data/pacs_mini_10/sketch/dog/n02103406_3255-6.png
deleted file mode 100644
index 2921bfe54..000000000
Binary files a/data/pacs_mini_10/sketch/dog/n02103406_3255-6.png and /dev/null differ
diff --git a/data/pacs_mini_10/sketch/elephant/5981.png b/data/pacs_mini_10/sketch/elephant/5981.png
deleted file mode 100644
index 22562d022..000000000
Binary files a/data/pacs_mini_10/sketch/elephant/5981.png and /dev/null differ
diff --git a/data/pacs_mini_10/sketch/elephant/n02503517_12688-4.png b/data/pacs_mini_10/sketch/elephant/n02503517_12688-4.png
deleted file mode 100644
index 2bdebdc11..000000000
Binary files a/data/pacs_mini_10/sketch/elephant/n02503517_12688-4.png and /dev/null differ
diff --git a/data/pacs_mini_10/sketch/giraffe/n02439033_13384-2.png b/data/pacs_mini_10/sketch/giraffe/n02439033_13384-2.png
deleted file mode 100644
index 81ac8d66e..000000000
Binary files a/data/pacs_mini_10/sketch/giraffe/n02439033_13384-2.png and /dev/null differ
diff --git a/data/pacs_mini_10/sketch/guitar/n02676566_8618-2.png b/data/pacs_mini_10/sketch/guitar/n02676566_8618-2.png
deleted file mode 100644
index be920f071..000000000
Binary files a/data/pacs_mini_10/sketch/guitar/n02676566_8618-2.png and /dev/null differ
diff --git a/data/pacs_mini_10/sketch/guitar/n03467517_6423-3.png b/data/pacs_mini_10/sketch/guitar/n03467517_6423-3.png
deleted file mode 100644
index 7bfd45e84..000000000
Binary files a/data/pacs_mini_10/sketch/guitar/n03467517_6423-3.png and /dev/null differ
diff --git a/data/pacs_mini_10/sketch/horse/n02374451_779-1.png b/data/pacs_mini_10/sketch/horse/n02374451_779-1.png
deleted file mode 100644
index 1c09e0754..000000000
Binary files a/data/pacs_mini_10/sketch/horse/n02374451_779-1.png and /dev/null differ
diff --git a/data/pacs_mini_10/sketch/house/8873.png b/data/pacs_mini_10/sketch/house/8873.png
deleted file mode 100644
index 6645def94..000000000
Binary files a/data/pacs_mini_10/sketch/house/8873.png and /dev/null differ
diff --git a/data/pacs_split/art_painting_10.txt b/data/pacs_split/art_painting_10.txt
deleted file mode 100644
index 77f7627a2..000000000
--- a/data/pacs_split/art_painting_10.txt
+++ /dev/null
@@ -1,10 +0,0 @@
-art_painting/person/pic_199.jpg 7
-art_painting/person/pic_497.jpg 7
-art_painting/guitar/pic_020.jpg 4
-art_painting/dog/pic_195.jpg 1
-art_painting/guitar/pic_182.jpg 4
-art_painting/giraffe/pic_243.jpg 3
-art_painting/elephant/pic_026.jpg 2
-art_painting/dog/pic_304.jpg 1
-art_painting/horse/pic_142.jpg 5
-art_painting/person/pic_165.jpg 7
diff --git a/data/pacs_split/art_painting_100.txt b/data/pacs_split/art_painting_100.txt
deleted file mode 100644
index 7da95eda1..000000000
--- a/data/pacs_split/art_painting_100.txt
+++ /dev/null
@@ -1,100 +0,0 @@
-art_painting/dog/pic_289.jpg 1
-art_painting/person/pic_460.jpg 7
-art_painting/horse/pic_073.jpg 5
-art_painting/horse/pic_108.jpg 5
-art_painting/dog/pic_324.jpg 1
-art_painting/elephant/pic_053.jpg 2
-art_painting/horse/pic_174.jpg 5
-art_painting/giraffe/pic_035.jpg 3
-art_painting/horse/pic_223.jpg 5
-art_painting/person/pic_387.jpg 7
-art_painting/dog/pic_196.jpg 1
-art_painting/horse/pic_171.jpg 5
-art_painting/person/pic_184.jpg 7
-art_painting/dog/pic_146.jpg 1
-art_painting/dog/pic_002.jpg 1
-art_painting/dog/pic_121.jpg 1
-art_painting/dog/pic_180.jpg 1
-art_painting/giraffe/pic_192.jpg 3
-art_painting/giraffe/pic_236.jpg 3
-art_painting/house/pic_306.jpg 6
-art_painting/person/pic_089.jpg 7
-art_painting/dog/pic_212.jpg 1
-art_painting/dog/pic_387.jpg 1
-art_painting/person/pic_214.jpg 7
-art_painting/elephant/pic_240.jpg 2
-art_painting/guitar/pic_064.jpg 4
-art_painting/elephant/pic_218.jpg 2
-art_painting/guitar/pic_011.jpg 4
-art_painting/horse/pic_151.jpg 5
-art_painting/house/pic_301.jpg 6
-art_painting/elephant/pic_193.jpg 2
-art_painting/dog/pic_117.jpg 1
-art_painting/person/pic_171.jpg 7
-art_painting/person/pic_143.jpg 7
-art_painting/house/pic_125.jpg 6
-art_painting/house/pic_044.jpg 6
-art_painting/dog/pic_077.jpg 1
-art_painting/person/pic_132.jpg 7
-art_painting/dog/pic_150.jpg 1
-art_painting/dog/pic_268.jpg 1
-art_painting/house/pic_207.jpg 6
-art_painting/guitar/pic_189.jpg 4
-art_painting/dog/pic_183.jpg 1
-art_painting/elephant/pic_164.jpg 2
-art_painting/guitar/pic_035.jpg 4
-art_painting/giraffe/pic_259.jpg 3
-art_painting/giraffe/pic_119.jpg 3
-art_painting/elephant/pic_098.jpg 2
-art_painting/horse/pic_160.jpg 5
-art_painting/giraffe/pic_204.jpg 3
-art_painting/horse/pic_196.jpg 5
-art_painting/giraffe/pic_046.jpg 3
-art_painting/dog/pic_245.jpg 1
-art_painting/horse/pic_083.jpg 5
-art_painting/house/pic_131.jpg 6
-art_painting/dog/pic_388.jpg 1
-art_painting/horse/pic_050.jpg 5
-art_painting/house/pic_171.jpg 6
-art_painting/elephant/pic_041.jpg 2
-art_painting/person/pic_108.jpg 7
-art_painting/guitar/pic_113.jpg 4
-art_painting/dog/pic_244.jpg 1
-art_painting/person/pic_111.jpg 7
-art_painting/horse/pic_081.jpg 5
-art_painting/dog/pic_186.jpg 1
-art_painting/dog/pic_258.jpg 1
-art_painting/house/pic_156.jpg 6
-art_painting/horse/pic_062.jpg 5
-art_painting/guitar/pic_085.jpg 4
-art_painting/dog/pic_090.jpg 1
-art_painting/person/pic_228.jpg 7
-art_painting/horse/pic_154.jpg 5
-art_painting/dog/pic_299.jpg 1
-art_painting/person/pic_510.jpg 7
-art_painting/person/pic_468.jpg 7
-art_painting/horse/pic_222.jpg 5
-art_painting/guitar/pic_104.jpg 4
-art_painting/giraffe/pic_015.jpg 3
-art_painting/person/pic_256.jpg 7
-art_painting/giraffe/pic_171.jpg 3
-art_painting/horse/pic_107.jpg 5
-art_painting/horse/pic_225.jpg 5
-art_painting/elephant/pic_102.jpg 2
-art_painting/guitar/pic_155.jpg 4
-art_painting/elephant/pic_144.jpg 2
-art_painting/giraffe/pic_058.jpg 3
-art_painting/person/pic_356.jpg 7
-art_painting/guitar/pic_136.jpg 4
-art_painting/person/pic_572.jpg 7
-art_painting/house/pic_104.jpg 6
-art_painting/elephant/pic_210.jpg 2
-art_painting/house/pic_346.jpg 6
-art_painting/dog/pic_246.jpg 1
-art_painting/dog/pic_024.jpg 1
-art_painting/elephant/pic_221.jpg 2
-art_painting/person/pic_145.jpg 7
-art_painting/person/pic_042.jpg 7
-art_painting/house/pic_116.jpg 6
-art_painting/house/pic_198.jpg 6
-art_painting/person/pic_342.jpg 7
diff --git a/data/pacs_split/art_painting_crossval_kfold.txt b/data/pacs_split/art_painting_crossval_kfold.txt
deleted file mode 100644
index 61b3f44e1..000000000
--- a/data/pacs_split/art_painting_crossval_kfold.txt
+++ /dev/null
@@ -1,208 +0,0 @@
-art_painting/dog/pic_225.jpg 0
-art_painting/dog/pic_248.jpg 1
-art_painting/dog/pic_306.jpg 1
-art_painting/dog/pic_241.jpg 1
-art_painting/dog/pic_219.jpg 1
-art_painting/dog/pic_252.jpg 1
-art_painting/dog/pic_309.jpg 1
-art_painting/dog/pic_255.jpg 1
-art_painting/dog/pic_310.jpg 1
-art_painting/dog/pic_247.jpg 1
-art_painting/dog/pic_236.jpg 1
-art_painting/dog/pic_242.jpg 1
-art_painting/dog/pic_257.jpg 1
-art_painting/dog/pic_314.jpg 1
-art_painting/dog/pic_317.jpg 1
-art_painting/dog/pic_315.jpg 1
-art_painting/dog/pic_248.jpg 1
-art_painting/dog/pic_250.jpg 1
-art_painting/dog/pic_282.jpg 1
-art_painting/dog/pic_260.jpg 1
-art_painting/dog/pic_316.jpg 1
-art_painting/dog/pic_305.jpg 1
-art_painting/dog/pic_300.jpg 1
-art_painting/dog/pic_365.jpg 1
-art_painting/dog/pic_296.jpg 1
-art_painting/dog/pic_301.jpg 1
-art_painting/dog/pic_298.jpg 1
-art_painting/dog/pic_291.jpg 1
-art_painting/dog/pic_313.jpg 1
-art_painting/dog/pic_311.jpg 1
-art_painting/dog/pic_312.jpg 1
-art_painting/dog/pic_308.jpg 1
-art_painting/dog/pic_329.jpg 1
-art_painting/dog/pic_322.jpg 1
-art_painting/dog/pic_323.jpg 1
-art_painting/dog/pic_330.jpg 1
-art_painting/dog/pic_371.jpg 1
-art_painting/dog/pic_339.jpg 1
-art_painting/elephant/pic_243.jpg 2
-art_painting/elephant/pic_154.jpg 2
-art_painting/elephant/pic_239.jpg 2
-art_painting/elephant/pic_156.jpg 2
-art_painting/elephant/pic_167.jpg 2
-art_painting/elephant/pic_168.jpg 2
-art_painting/elephant/pic_162.jpg 2
-art_painting/elephant/pic_161.jpg 2
-art_painting/elephant/pic_159.jpg 2
-art_painting/elephant/pic_160.jpg 2
-art_painting/elephant/pic_158.jpg 2
-art_painting/elephant/pic_157.jpg 2
-art_painting/elephant/pic_166.jpg 2
-art_painting/elephant/pic_171.jpg 2
-art_painting/elephant/pic_169.jpg 2
-art_painting/elephant/pic_170.jpg 2
-art_painting/elephant/pic_176.jpg 2
-art_painting/elephant/pic_175.jpg 2
-art_painting/elephant/pic_173.jpg 2
-art_painting/elephant/pic_172.jpg 2
-art_painting/elephant/pic_082.jpg 2
-art_painting/elephant/pic_081.jpg 2
-art_painting/elephant/pic_080.jpg 2
-art_painting/elephant/pic_078.jpg 2
-art_painting/elephant/pic_079.jpg 2
-art_painting/elephant/pic_093.jpg 2
-art_painting/giraffe/pic_134.jpg 3
-art_painting/giraffe/pic_129.jpg 3
-art_painting/giraffe/pic_127.jpg 3
-art_painting/giraffe/pic_151.jpg 3
-art_painting/giraffe/pic_131.jpg 3
-art_painting/giraffe/pic_158.jpg 3
-art_painting/giraffe/pic_144.jpg 3
-art_painting/giraffe/pic_238.jpg 3
-art_painting/giraffe/pic_222.jpg 3
-art_painting/giraffe/pic_185.jpg 3
-art_painting/giraffe/pic_160.jpg 3
-art_painting/giraffe/pic_155.jpg 3
-art_painting/giraffe/pic_209.jpg 3
-art_painting/giraffe/pic_228.jpg 3
-art_painting/giraffe/pic_169.jpg 3
-art_painting/giraffe/pic_198.jpg 3
-art_painting/giraffe/pic_145.jpg 3
-art_painting/giraffe/pic_273.jpg 3
-art_painting/giraffe/pic_303.jpg 3
-art_painting/giraffe/pic_284.jpg 3
-art_painting/giraffe/pic_302.jpg 3
-art_painting/giraffe/pic_286.jpg 3
-art_painting/giraffe/pic_287.jpg 3
-art_painting/giraffe/pic_301.jpg 3
-art_painting/giraffe/pic_295.jpg 3
-art_painting/giraffe/pic_296.jpg 3
-art_painting/giraffe/pic_311.jpg 3
-art_painting/giraffe/pic_309.jpg 3
-art_painting/giraffe/pic_310.jpg 3
-art_painting/guitar/pic_125.jpg 4
-art_painting/guitar/pic_124.jpg 4
-art_painting/guitar/pic_179.jpg 4
-art_painting/guitar/pic_147.jpg 4
-art_painting/guitar/pic_146.jpg 4
-art_painting/guitar/pic_183.jpg 4
-art_painting/guitar/pic_126.jpg 4
-art_painting/guitar/pic_172.jpg 4
-art_painting/guitar/pic_137.jpg 4
-art_painting/guitar/pic_180.jpg 4
-art_painting/guitar/pic_150.jpg 4
-art_painting/guitar/pic_176.jpg 4
-art_painting/guitar/pic_187.jpg 4
-art_painting/guitar/pic_186.jpg 4
-art_painting/guitar/pic_184.jpg 4
-art_painting/guitar/pic_174.jpg 4
-art_painting/guitar/pic_165.jpg 4
-art_painting/guitar/pic_161.jpg 4
-art_painting/guitar/pic_162.jpg 4
-art_painting/horse/pic_034.jpg 5
-art_painting/horse/pic_040.jpg 5
-art_painting/horse/pic_039.jpg 5
-art_painting/horse/pic_042.jpg 5
-art_painting/horse/pic_028.jpg 5
-art_painting/horse/pic_037.jpg 5
-art_painting/horse/pic_041.jpg 5
-art_painting/horse/pic_033.jpg 5
-art_painting/horse/pic_038.jpg 5
-art_painting/horse/pic_025.jpg 5
-art_painting/horse/pic_023.jpg 5
-art_painting/horse/pic_045.jpg 5
-art_painting/horse/pic_030.jpg 5
-art_painting/horse/pic_043.jpg 5
-art_painting/horse/pic_021.jpg 5
-art_painting/horse/pic_026.jpg 5
-art_painting/horse/pic_046.jpg 5
-art_painting/horse/pic_001.jpg 5
-art_painting/horse/pic_002.jpg 5
-art_painting/horse/pic_003.jpg 5
-art_painting/horse/pic_004.jpg 5
-art_painting/house/pic_313.jpg 6
-art_painting/house/pic_169.jpg 6
-art_painting/house/pic_168.jpg 6
-art_painting/house/pic_308.jpg 6
-art_painting/house/pic_167.jpg 6
-art_painting/house/pic_310.jpg 6
-art_painting/house/pic_314.jpg 6
-art_painting/house/pic_170.jpg 6
-art_painting/house/pic_316.jpg 6
-art_painting/house/pic_175.jpg 6
-art_painting/house/pic_173.jpg 6
-art_painting/house/pic_322.jpg 6
-art_painting/house/pic_321.jpg 6
-art_painting/house/pic_320.jpg 6
-art_painting/house/pic_178.jpg 6
-art_painting/house/pic_331.jpg 6
-art_painting/house/pic_001.jpg 6
-art_painting/house/pic_002.jpg 6
-art_painting/house/pic_003.jpg 6
-art_painting/house/pic_004.jpg 6
-art_painting/house/pic_005.jpg 6
-art_painting/house/pic_006.jpg 6
-art_painting/house/pic_007.jpg 6
-art_painting/house/pic_008.jpg 6
-art_painting/house/pic_009.jpg 6
-art_painting/house/pic_010.jpg 6
-art_painting/house/pic_011.jpg 6
-art_painting/house/pic_013.jpg 6
-art_painting/house/pic_015.jpg 6
-art_painting/house/pic_030.jpg 6
-art_painting/person/pic_280.jpg 7
-art_painting/person/pic_278.jpg 7
-art_painting/person/pic_277.jpg 7
-art_painting/person/pic_276.jpg 7
-art_painting/person/pic_275.jpg 7
-art_painting/person/pic_273.jpg 7
-art_painting/person/pic_284.jpg 7
-art_painting/person/pic_283.jpg 7
-art_painting/person/pic_281.jpg 7
-art_painting/person/pic_282.jpg 7
-art_painting/person/pic_285.jpg 7
-art_painting/person/pic_269.jpg 7
-art_painting/person/pic_297.jpg 7
-art_painting/person/pic_298.jpg 7
-art_painting/person/pic_296.jpg 7
-art_painting/person/pic_295.jpg 7
-art_painting/person/pic_134.jpg 7
-art_painting/person/pic_133.jpg 7
-art_painting/person/pic_135.jpg 7
-art_painting/person/pic_310.jpg 7
-art_painting/person/pic_141.jpg 7
-art_painting/person/pic_001.jpg 7
-art_painting/person/pic_002.jpg 7
-art_painting/person/pic_003.jpg 7
-art_painting/person/pic_004.jpg 7
-art_painting/person/pic_005.jpg 7
-art_painting/person/pic_048.jpg 7
-art_painting/person/pic_050.jpg 7
-art_painting/person/pic_052.jpg 7
-art_painting/person/pic_055.jpg 7
-art_painting/person/pic_056.jpg 7
-art_painting/person/pic_065.jpg 7
-art_painting/person/pic_331.jpg 7
-art_painting/person/pic_330.jpg 7
-art_painting/person/pic_176.jpg 7
-art_painting/person/pic_416.jpg 7
-art_painting/person/pic_420.jpg 7
-art_painting/person/pic_426.jpg 7
-art_painting/person/pic_424.jpg 7
-art_painting/person/pic_423.jpg 7
-art_painting/person/pic_421.jpg 7
-art_painting/person/pic_183.jpg 7
-art_painting/person/pic_428.jpg 7
-art_painting/person/pic_430.jpg 7
-art_painting/person/pic_429.jpg 7
diff --git a/data/pacs_split/art_painting_test_kfold.txt b/data/pacs_split/art_painting_test_kfold.txt
deleted file mode 100644
index 9a5728738..000000000
--- a/data/pacs_split/art_painting_test_kfold.txt
+++ /dev/null
@@ -1,2048 +0,0 @@
-art_painting/dog/pic_225.jpg 1
-art_painting/dog/pic_249.jpg 1
-art_painting/dog/pic_306.jpg 1
-art_painting/dog/pic_241.jpg 1
-art_painting/dog/pic_219.jpg 1
-art_painting/dog/pic_252.jpg 1
-art_painting/dog/pic_309.jpg 1
-art_painting/dog/pic_255.jpg 1
-art_painting/dog/pic_310.jpg 1
-art_painting/dog/pic_247.jpg 1
-art_painting/dog/pic_236.jpg 1
-art_painting/dog/pic_242.jpg 1
-art_painting/dog/pic_257.jpg 1
-art_painting/dog/pic_314.jpg 1
-art_painting/dog/pic_317.jpg 1
-art_painting/dog/pic_315.jpg 1
-art_painting/dog/pic_248.jpg 1
-art_painting/dog/pic_250.jpg 1
-art_painting/dog/pic_282.jpg 1
-art_painting/dog/pic_260.jpg 1
-art_painting/dog/pic_316.jpg 1
-art_painting/dog/pic_305.jpg 1
-art_painting/dog/pic_300.jpg 1
-art_painting/dog/pic_365.jpg 1
-art_painting/dog/pic_296.jpg 1
-art_painting/dog/pic_301.jpg 1
-art_painting/dog/pic_298.jpg 1
-art_painting/dog/pic_291.jpg 1
-art_painting/dog/pic_313.jpg 1
-art_painting/dog/pic_311.jpg 1
-art_painting/dog/pic_312.jpg 1
-art_painting/dog/pic_308.jpg 1
-art_painting/dog/pic_329.jpg 1
-art_painting/dog/pic_322.jpg 1
-art_painting/dog/pic_323.jpg 1
-art_painting/dog/pic_330.jpg 1
-art_painting/dog/pic_371.jpg 1
-art_painting/dog/pic_339.jpg 1
-art_painting/dog/pic_333.jpg 1
-art_painting/dog/pic_376.jpg 1
-art_painting/dog/pic_259.jpg 1
-art_painting/dog/pic_261.jpg 1
-art_painting/dog/pic_256.jpg 1
-art_painting/dog/pic_253.jpg 1
-art_painting/dog/pic_265.jpg 1
-art_painting/dog/pic_258.jpg 1
-art_painting/dog/pic_279.jpg 1
-art_painting/dog/pic_324.jpg 1
-art_painting/dog/pic_325.jpg 1
-art_painting/dog/pic_332.jpg 1
-art_painting/dog/pic_251.jpg 1
-art_painting/dog/pic_275.jpg 1
-art_painting/dog/pic_276.jpg 1
-art_painting/dog/pic_269.jpg 1
-art_painting/dog/pic_267.jpg 1
-art_painting/dog/pic_334.jpg 1
-art_painting/dog/pic_278.jpg 1
-art_painting/dog/pic_266.jpg 1
-art_painting/dog/pic_340.jpg 1
-art_painting/dog/pic_198.jpg 1
-art_painting/dog/pic_166.jpg 1
-art_painting/dog/pic_196.jpg 1
-art_painting/dog/pic_268.jpg 1
-art_painting/dog/pic_192.jpg 1
-art_painting/dog/pic_272.jpg 1
-art_painting/dog/pic_274.jpg 1
-art_painting/dog/pic_209.jpg 1
-art_painting/dog/pic_201.jpg 1
-art_painting/dog/pic_205.jpg 1
-art_painting/dog/pic_208.jpg 1
-art_painting/dog/pic_210.jpg 1
-art_painting/dog/pic_226.jpg 1
-art_painting/dog/pic_221.jpg 1
-art_painting/dog/pic_281.jpg 1
-art_painting/dog/pic_193.jpg 1
-art_painting/dog/pic_199.jpg 1
-art_painting/dog/pic_188.jpg 1
-art_painting/dog/pic_234.jpg 1
-art_painting/dog/pic_009.jpg 1
-art_painting/dog/pic_010.jpg 1
-art_painting/dog/pic_011.jpg 1
-art_painting/dog/pic_012.jpg 1
-art_painting/dog/pic_013.jpg 1
-art_painting/dog/pic_014.jpg 1
-art_painting/dog/pic_015.jpg 1
-art_painting/dog/pic_016.jpg 1
-art_painting/dog/pic_017.jpg 1
-art_painting/dog/pic_018.jpg 1
-art_painting/dog/pic_019.jpg 1
-art_painting/dog/pic_023.jpg 1
-art_painting/dog/pic_020.jpg 1
-art_painting/dog/pic_022.jpg 1
-art_painting/dog/pic_031.jpg 1
-art_painting/dog/pic_026.jpg 1
-art_painting/dog/pic_029.jpg 1
-art_painting/dog/pic_028.jpg 1
-art_painting/dog/pic_025.jpg 1
-art_painting/dog/pic_032.jpg 1
-art_painting/dog/pic_113.jpg 1
-art_painting/dog/pic_116.jpg 1
-art_painting/dog/pic_121.jpg 1
-art_painting/dog/pic_118.jpg 1
-art_painting/dog/pic_132.jpg 1
-art_painting/dog/pic_105.jpg 1
-art_painting/dog/pic_114.jpg 1
-art_painting/dog/pic_237.jpg 1
-art_painting/dog/pic_239.jpg 1
-art_painting/dog/pic_177.jpg 1
-art_painting/dog/pic_172.jpg 1
-art_painting/dog/pic_170.jpg 1
-art_painting/dog/pic_169.jpg 1
-art_painting/dog/pic_240.jpg 1
-art_painting/dog/pic_244.jpg 1
-art_painting/dog/pic_243.jpg 1
-art_painting/dog/pic_127.jpg 1
-art_painting/dog/pic_146.jpg 1
-art_painting/dog/pic_130.jpg 1
-art_painting/dog/pic_143.jpg 1
-art_painting/dog/pic_148.jpg 1
-art_painting/dog/pic_140.jpg 1
-art_painting/dog/pic_246.jpg 1
-art_painting/dog/pic_147.jpg 1
-art_painting/dog/pic_139.jpg 1
-art_painting/dog/pic_144.jpg 1
-art_painting/dog/pic_176.jpg 1
-art_painting/dog/pic_153.jpg 1
-art_painting/dog/pic_187.jpg 1
-art_painting/dog/pic_165.jpg 1
-art_painting/dog/pic_163.jpg 1
-art_painting/dog/pic_167.jpg 1
-art_painting/dog/pic_164.jpg 1
-art_painting/dog/pic_181.jpg 1
-art_painting/dog/pic_183.jpg 1
-art_painting/dog/pic_401.jpg 1
-art_painting/dog/pic_395.jpg 1
-art_painting/dog/pic_412.jpg 1
-art_painting/dog/pic_409.jpg 1
-art_painting/dog/pic_414.jpg 1
-art_painting/dog/pic_407.jpg 1
-art_painting/dog/pic_404.jpg 1
-art_painting/dog/pic_415.jpg 1
-art_painting/dog/pic_410.jpg 1
-art_painting/dog/pic_413.jpg 1
-art_painting/dog/pic_408.jpg 1
-art_painting/dog/pic_382.jpg 1
-art_painting/dog/pic_342.jpg 1
-art_painting/dog/pic_343.jpg 1
-art_painting/dog/pic_271.jpg 1
-art_painting/dog/pic_280.jpg 1
-art_painting/dog/pic_303.jpg 1
-art_painting/dog/pic_349.jpg 1
-art_painting/dog/pic_290.jpg 1
-art_painting/dog/pic_289.jpg 1
-art_painting/dog/pic_287.jpg 1
-art_painting/dog/pic_284.jpg 1
-art_painting/dog/pic_283.jpg 1
-art_painting/dog/pic_286.jpg 1
-art_painting/dog/pic_307.jpg 1
-art_painting/dog/pic_293.jpg 1
-art_painting/dog/pic_299.jpg 1
-art_painting/dog/pic_288.jpg 1
-art_painting/dog/pic_354.jpg 1
-art_painting/dog/pic_358.jpg 1
-art_painting/dog/pic_295.jpg 1
-art_painting/dog/pic_292.jpg 1
-art_painting/dog/pic_400.jpg 1
-art_painting/dog/pic_351.jpg 1
-art_painting/dog/pic_350.jpg 1
-art_painting/dog/pic_348.jpg 1
-art_painting/dog/pic_346.jpg 1
-art_painting/dog/pic_405.jpg 1
-art_painting/dog/pic_411.jpg 1
-art_painting/dog/pic_406.jpg 1
-art_painting/dog/pic_357.jpg 1
-art_painting/dog/pic_359.jpg 1
-art_painting/dog/pic_369.jpg 1
-art_painting/dog/pic_355.jpg 1
-art_painting/dog/pic_360.jpg 1
-art_painting/dog/pic_377.jpg 1
-art_painting/dog/pic_361.jpg 1
-art_painting/dog/pic_367.jpg 1
-art_painting/dog/pic_362.jpg 1
-art_painting/dog/pic_372.jpg 1
-art_painting/dog/pic_370.jpg 1
-art_painting/dog/pic_366.jpg 1
-art_painting/dog/pic_375.jpg 1
-art_painting/dog/pic_374.jpg 1
-art_painting/dog/pic_368.jpg 1
-art_painting/dog/pic_392.jpg 1
-art_painting/dog/pic_380.jpg 1
-art_painting/dog/pic_381.jpg 1
-art_painting/dog/pic_386.jpg 1
-art_painting/dog/pic_385.jpg 1
-art_painting/dog/pic_384.jpg 1
-art_painting/dog/pic_378.jpg 1
-art_painting/dog/pic_383.jpg 1
-art_painting/dog/pic_393.jpg 1
-art_painting/dog/pic_388.jpg 1
-art_painting/dog/pic_394.jpg 1
-art_painting/dog/pic_391.jpg 1
-art_painting/dog/pic_390.jpg 1
-art_painting/dog/pic_399.jpg 1
-art_painting/dog/pic_396.jpg 1
-art_painting/dog/pic_110.jpg 1
-art_painting/dog/pic_120.jpg 1
-art_painting/dog/pic_123.jpg 1
-art_painting/dog/pic_112.jpg 1
-art_painting/dog/pic_126.jpg 1
-art_painting/dog/pic_065.jpg 1
-art_painting/dog/pic_064.jpg 1
-art_painting/dog/pic_066.jpg 1
-art_painting/dog/pic_062.jpg 1
-art_painting/dog/pic_070.jpg 1
-art_painting/dog/pic_131.jpg 1
-art_painting/dog/pic_133.jpg 1
-art_painting/dog/pic_136.jpg 1
-art_painting/dog/pic_145.jpg 1
-art_painting/dog/pic_149.jpg 1
-art_painting/dog/pic_152.jpg 1
-art_painting/dog/pic_151.jpg 1
-art_painting/dog/pic_179.jpg 1
-art_painting/dog/pic_178.jpg 1
-art_painting/dog/pic_182.jpg 1
-art_painting/dog/pic_109.jpg 1
-art_painting/dog/pic_107.jpg 1
-art_painting/dog/pic_185.jpg 1
-art_painting/dog/pic_106.jpg 1
-art_painting/dog/pic_083.jpg 1
-art_painting/dog/pic_088.jpg 1
-art_painting/dog/pic_087.jpg 1
-art_painting/dog/pic_089.jpg 1
-art_painting/dog/pic_103.jpg 1
-art_painting/dog/pic_124.jpg 1
-art_painting/dog/pic_150.jpg 1
-art_painting/dog/pic_137.jpg 1
-art_painting/dog/pic_092.jpg 1
-art_painting/dog/pic_085.jpg 1
-art_painting/dog/pic_001.jpg 1
-art_painting/dog/pic_002.jpg 1
-art_painting/dog/pic_003.jpg 1
-art_painting/dog/pic_004.jpg 1
-art_painting/dog/pic_005.jpg 1
-art_painting/dog/pic_006.jpg 1
-art_painting/dog/pic_007.jpg 1
-art_painting/dog/pic_008.jpg 1
-art_painting/dog/pic_055.jpg 1
-art_painting/dog/pic_048.jpg 1
-art_painting/dog/pic_047.jpg 1
-art_painting/dog/pic_052.jpg 1
-art_painting/dog/pic_050.jpg 1
-art_painting/dog/pic_046.jpg 1
-art_painting/dog/pic_075.jpg 1
-art_painting/dog/pic_076.jpg 1
-art_painting/dog/pic_090.jpg 1
-art_painting/dog/pic_097.jpg 1
-art_painting/dog/pic_099.jpg 1
-art_painting/dog/pic_061.jpg 1
-art_painting/dog/pic_058.jpg 1
-art_painting/dog/pic_056.jpg 1
-art_painting/dog/pic_063.jpg 1
-art_painting/dog/pic_057.jpg 1
-art_painting/dog/pic_060.jpg 1
-art_painting/dog/pic_059.jpg 1
-art_painting/dog/pic_104.jpg 1
-art_painting/dog/pic_108.jpg 1
-art_painting/dog/pic_173.jpg 1
-art_painting/dog/pic_174.jpg 1
-art_painting/dog/pic_254.jpg 1
-art_painting/dog/pic_184.jpg 1
-art_painting/dog/pic_191.jpg 1
-art_painting/dog/pic_194.jpg 1
-art_painting/dog/pic_189.jpg 1
-art_painting/dog/pic_262.jpg 1
-art_painting/dog/pic_195.jpg 1
-art_painting/dog/pic_214.jpg 1
-art_painting/dog/pic_213.jpg 1
-art_painting/dog/pic_263.jpg 1
-art_painting/dog/pic_264.jpg 1
-art_painting/dog/pic_186.jpg 1
-art_painting/dog/pic_168.jpg 1
-art_painting/dog/pic_206.jpg 1
-art_painting/dog/pic_202.jpg 1
-art_painting/dog/pic_180.jpg 1
-art_painting/dog/pic_204.jpg 1
-art_painting/dog/pic_154.jpg 1
-art_painting/dog/pic_072.jpg 1
-art_painting/dog/pic_074.jpg 1
-art_painting/dog/pic_073.jpg 1
-art_painting/dog/pic_086.jpg 1
-art_painting/dog/pic_082.jpg 1
-art_painting/dog/pic_067.jpg 1
-art_painting/dog/pic_158.jpg 1
-art_painting/dog/pic_079.jpg 1
-art_painting/dog/pic_077.jpg 1
-art_painting/dog/pic_161.jpg 1
-art_painting/dog/pic_096.jpg 1
-art_painting/dog/pic_095.jpg 1
-art_painting/dog/pic_080.jpg 1
-art_painting/dog/pic_100.jpg 1
-art_painting/dog/pic_102.jpg 1
-art_painting/dog/pic_091.jpg 1
-art_painting/dog/pic_135.jpg 1
-art_painting/dog/pic_033.jpg 1
-art_painting/dog/pic_034.jpg 1
-art_painting/dog/pic_024.jpg 1
-art_painting/dog/pic_021.jpg 1
-art_painting/dog/pic_027.jpg 1
-art_painting/dog/pic_035.jpg 1
-art_painting/dog/pic_037.jpg 1
-art_painting/dog/pic_039.jpg 1
-art_painting/dog/pic_036.jpg 1
-art_painting/dog/pic_041.jpg 1
-art_painting/dog/pic_042.jpg 1
-art_painting/dog/pic_038.jpg 1
-art_painting/dog/pic_045.jpg 1
-art_painting/dog/pic_043.jpg 1
-art_painting/dog/pic_044.jpg 1
-art_painting/dog/pic_049.jpg 1
-art_painting/dog/pic_040.jpg 1
-art_painting/dog/pic_051.jpg 1
-art_painting/dog/pic_054.jpg 1
-art_painting/dog/pic_053.jpg 1
-art_painting/dog/pic_344.jpg 1
-art_painting/dog/pic_328.jpg 1
-art_painting/dog/pic_321.jpg 1
-art_painting/dog/pic_320.jpg 1
-art_painting/dog/pic_326.jpg 1
-art_painting/dog/pic_327.jpg 1
-art_painting/dog/pic_318.jpg 1
-art_painting/dog/pic_387.jpg 1
-art_painting/dog/pic_319.jpg 1
-art_painting/dog/pic_341.jpg 1
-art_painting/dog/pic_331.jpg 1
-art_painting/dog/pic_337.jpg 1
-art_painting/dog/pic_335.jpg 1
-art_painting/dog/pic_338.jpg 1
-art_painting/dog/pic_336.jpg 1
-art_painting/dog/pic_353.jpg 1
-art_painting/dog/pic_352.jpg 1
-art_painting/dog/pic_397.jpg 1
-art_painting/dog/pic_345.jpg 1
-art_painting/dog/pic_398.jpg 1
-art_painting/dog/pic_098.jpg 1
-art_painting/dog/pic_094.jpg 1
-art_painting/dog/pic_081.jpg 1
-art_painting/dog/pic_101.jpg 1
-art_painting/dog/pic_078.jpg 1
-art_painting/dog/pic_084.jpg 1
-art_painting/dog/pic_211.jpg 1
-art_painting/dog/pic_138.jpg 1
-art_painting/dog/pic_155.jpg 1
-art_painting/dog/pic_156.jpg 1
-art_painting/dog/pic_157.jpg 1
-art_painting/dog/pic_222.jpg 1
-art_painting/dog/pic_217.jpg 1
-art_painting/dog/pic_223.jpg 1
-art_painting/dog/pic_229.jpg 1
-art_painting/dog/pic_134.jpg 1
-art_painting/dog/pic_117.jpg 1
-art_painting/dog/pic_235.jpg 1
-art_painting/dog/pic_200.jpg 1
-art_painting/dog/pic_245.jpg 1
-art_painting/dog/pic_285.jpg 1
-art_painting/dog/pic_212.jpg 1
-art_painting/dog/pic_197.jpg 1
-art_painting/dog/pic_294.jpg 1
-art_painting/dog/pic_215.jpg 1
-art_painting/dog/pic_203.jpg 1
-art_painting/dog/pic_297.jpg 1
-art_painting/dog/pic_231.jpg 1
-art_painting/dog/pic_233.jpg 1
-art_painting/dog/pic_224.jpg 1
-art_painting/dog/pic_227.jpg 1
-art_painting/dog/pic_230.jpg 1
-art_painting/dog/pic_228.jpg 1
-art_painting/dog/pic_232.jpg 1
-art_painting/dog/pic_238.jpg 1
-art_painting/dog/pic_220.jpg 1
-art_painting/dog/pic_304.jpg 1
-art_painting/elephant/pic_243.jpg 2
-art_painting/elephant/pic_154.jpg 2
-art_painting/elephant/pic_239.jpg 2
-art_painting/elephant/pic_156.jpg 2
-art_painting/elephant/pic_167.jpg 2
-art_painting/elephant/pic_168.jpg 2
-art_painting/elephant/pic_162.jpg 2
-art_painting/elephant/pic_161.jpg 2
-art_painting/elephant/pic_159.jpg 2
-art_painting/elephant/pic_160.jpg 2
-art_painting/elephant/pic_158.jpg 2
-art_painting/elephant/pic_157.jpg 2
-art_painting/elephant/pic_166.jpg 2
-art_painting/elephant/pic_171.jpg 2
-art_painting/elephant/pic_169.jpg 2
-art_painting/elephant/pic_170.jpg 2
-art_painting/elephant/pic_176.jpg 2
-art_painting/elephant/pic_175.jpg 2
-art_painting/elephant/pic_173.jpg 2
-art_painting/elephant/pic_172.jpg 2
-art_painting/elephant/pic_082.jpg 2
-art_painting/elephant/pic_081.jpg 2
-art_painting/elephant/pic_080.jpg 2
-art_painting/elephant/pic_078.jpg 2
-art_painting/elephant/pic_079.jpg 2
-art_painting/elephant/pic_093.jpg 2
-art_painting/elephant/pic_085.jpg 2
-art_painting/elephant/pic_090.jpg 2
-art_painting/elephant/pic_089.jpg 2
-art_painting/elephant/pic_099.jpg 2
-art_painting/elephant/pic_111.jpg 2
-art_painting/elephant/pic_108.jpg 2
-art_painting/elephant/pic_114.jpg 2
-art_painting/elephant/pic_116.jpg 2
-art_painting/elephant/pic_123.jpg 2
-art_painting/elephant/pic_133.jpg 2
-art_painting/elephant/pic_131.jpg 2
-art_painting/elephant/pic_122.jpg 2
-art_painting/elephant/pic_113.jpg 2
-art_painting/elephant/pic_115.jpg 2
-art_painting/elephant/pic_112.jpg 2
-art_painting/elephant/pic_251.jpg 2
-art_painting/elephant/pic_250.jpg 2
-art_painting/elephant/pic_242.jpg 2
-art_painting/elephant/pic_246.jpg 2
-art_painting/elephant/pic_257.jpg 2
-art_painting/elephant/pic_249.jpg 2
-art_painting/elephant/pic_261.jpg 2
-art_painting/elephant/pic_260.jpg 2
-art_painting/elephant/pic_259.jpg 2
-art_painting/elephant/pic_039.jpg 2
-art_painting/elephant/pic_033.jpg 2
-art_painting/elephant/pic_041.jpg 2
-art_painting/elephant/pic_049.jpg 2
-art_painting/elephant/pic_048.jpg 2
-art_painting/elephant/pic_030.jpg 2
-art_painting/elephant/pic_026.jpg 2
-art_painting/elephant/pic_052.jpg 2
-art_painting/elephant/pic_053.jpg 2
-art_painting/elephant/pic_050.jpg 2
-art_painting/elephant/pic_054.jpg 2
-art_painting/elephant/pic_058.jpg 2
-art_painting/elephant/pic_056.jpg 2
-art_painting/elephant/pic_057.jpg 2
-art_painting/elephant/pic_055.jpg 2
-art_painting/elephant/pic_059.jpg 2
-art_painting/elephant/pic_060.jpg 2
-art_painting/elephant/pic_065.jpg 2
-art_painting/elephant/pic_063.jpg 2
-art_painting/elephant/pic_064.jpg 2
-art_painting/elephant/pic_061.jpg 2
-art_painting/elephant/pic_193.jpg 2
-art_painting/elephant/pic_192.jpg 2
-art_painting/elephant/pic_198.jpg 2
-art_painting/elephant/pic_201.jpg 2
-art_painting/elephant/pic_199.jpg 2
-art_painting/elephant/pic_212.jpg 2
-art_painting/elephant/pic_211.jpg 2
-art_painting/elephant/pic_210.jpg 2
-art_painting/elephant/pic_209.jpg 2
-art_painting/elephant/pic_208.jpg 2
-art_painting/elephant/pic_206.jpg 2
-art_painting/elephant/pic_207.jpg 2
-art_painting/elephant/pic_205.jpg 2
-art_painting/elephant/pic_203.jpg 2
-art_painting/elephant/pic_204.jpg 2
-art_painting/elephant/pic_222.jpg 2
-art_painting/elephant/pic_221.jpg 2
-art_painting/elephant/pic_218.jpg 2
-art_painting/elephant/pic_215.jpg 2
-art_painting/elephant/pic_213.jpg 2
-art_painting/elephant/pic_035.jpg 2
-art_painting/elephant/pic_036.jpg 2
-art_painting/elephant/pic_031.jpg 2
-art_painting/elephant/pic_034.jpg 2
-art_painting/elephant/pic_027.jpg 2
-art_painting/elephant/pic_040.jpg 2
-art_painting/elephant/pic_044.jpg 2
-art_painting/elephant/pic_043.jpg 2
-art_painting/elephant/pic_029.jpg 2
-art_painting/elephant/pic_023.jpg 2
-art_painting/elephant/pic_037.jpg 2
-art_painting/elephant/pic_045.jpg 2
-art_painting/elephant/pic_024.jpg 2
-art_painting/elephant/pic_046.jpg 2
-art_painting/elephant/pic_022.jpg 2
-art_painting/elephant/pic_047.jpg 2
-art_painting/elephant/pic_025.jpg 2
-art_painting/elephant/pic_021.jpg 2
-art_painting/elephant/pic_020.jpg 2
-art_painting/elephant/pic_174.jpg 2
-art_painting/elephant/pic_182.jpg 2
-art_painting/elephant/pic_181.jpg 2
-art_painting/elephant/pic_180.jpg 2
-art_painting/elephant/pic_178.jpg 2
-art_painting/elephant/pic_177.jpg 2
-art_painting/elephant/pic_188.jpg 2
-art_painting/elephant/pic_187.jpg 2
-art_painting/elephant/pic_185.jpg 2
-art_painting/elephant/pic_186.jpg 2
-art_painting/elephant/pic_184.jpg 2
-art_painting/elephant/pic_183.jpg 2
-art_painting/elephant/pic_191.jpg 2
-art_painting/elephant/pic_190.jpg 2
-art_painting/elephant/pic_189.jpg 2
-art_painting/elephant/pic_202.jpg 2
-art_painting/elephant/pic_200.jpg 2
-art_painting/elephant/pic_196.jpg 2
-art_painting/elephant/pic_197.jpg 2
-art_painting/elephant/pic_194.jpg 2
-art_painting/elephant/pic_195.jpg 2
-art_painting/elephant/pic_110.jpg 2
-art_painting/elephant/pic_106.jpg 2
-art_painting/elephant/pic_105.jpg 2
-art_painting/elephant/pic_102.jpg 2
-art_painting/elephant/pic_101.jpg 2
-art_painting/elephant/pic_100.jpg 2
-art_painting/elephant/pic_097.jpg 2
-art_painting/elephant/pic_095.jpg 2
-art_painting/elephant/pic_096.jpg 2
-art_painting/elephant/pic_127.jpg 2
-art_painting/elephant/pic_150.jpg 2
-art_painting/elephant/pic_130.jpg 2
-art_painting/elephant/pic_119.jpg 2
-art_painting/elephant/pic_109.jpg 2
-art_painting/elephant/pic_104.jpg 2
-art_painting/elephant/pic_129.jpg 2
-art_painting/elephant/pic_128.jpg 2
-art_painting/elephant/pic_103.jpg 2
-art_painting/elephant/pic_098.jpg 2
-art_painting/elephant/pic_214.jpg 2
-art_painting/elephant/pic_217.jpg 2
-art_painting/elephant/pic_232.jpg 2
-art_painting/elephant/pic_231.jpg 2
-art_painting/elephant/pic_230.jpg 2
-art_painting/elephant/pic_229.jpg 2
-art_painting/elephant/pic_226.jpg 2
-art_painting/elephant/pic_224.jpg 2
-art_painting/elephant/pic_225.jpg 2
-art_painting/elephant/pic_223.jpg 2
-art_painting/elephant/pic_227.jpg 2
-art_painting/elephant/pic_228.jpg 2
-art_painting/elephant/pic_235.jpg 2
-art_painting/elephant/pic_236.jpg 2
-art_painting/elephant/pic_234.jpg 2
-art_painting/elephant/pic_241.jpg 2
-art_painting/elephant/pic_258.jpg 2
-art_painting/elephant/pic_256.jpg 2
-art_painting/elephant/pic_254.jpg 2
-art_painting/elephant/pic_255.jpg 2
-art_painting/elephant/pic_253.jpg 2
-art_painting/elephant/pic_004.jpg 2
-art_painting/elephant/pic_005.jpg 2
-art_painting/elephant/pic_006.jpg 2
-art_painting/elephant/pic_007.jpg 2
-art_painting/elephant/pic_008.jpg 2
-art_painting/elephant/pic_009.jpg 2
-art_painting/elephant/pic_010.jpg 2
-art_painting/elephant/pic_011.jpg 2
-art_painting/elephant/pic_012.jpg 2
-art_painting/elephant/pic_014.jpg 2
-art_painting/elephant/pic_015.jpg 2
-art_painting/elephant/pic_016.jpg 2
-art_painting/elephant/pic_017.jpg 2
-art_painting/elephant/pic_018.jpg 2
-art_painting/elephant/pic_019.jpg 2
-art_painting/elephant/pic_051.jpg 2
-art_painting/elephant/pic_042.jpg 2
-art_painting/elephant/pic_028.jpg 2
-art_painting/elephant/pic_032.jpg 2
-art_painting/elephant/pic_001.jpg 2
-art_painting/elephant/pic_002.jpg 2
-art_painting/elephant/pic_003.jpg 2
-art_painting/elephant/pic_107.jpg 2
-art_painting/elephant/pic_117.jpg 2
-art_painting/elephant/pic_120.jpg 2
-art_painting/elephant/pic_118.jpg 2
-art_painting/elephant/pic_121.jpg 2
-art_painting/elephant/pic_125.jpg 2
-art_painting/elephant/pic_124.jpg 2
-art_painting/elephant/pic_126.jpg 2
-art_painting/elephant/pic_132.jpg 2
-art_painting/elephant/pic_151.jpg 2
-art_painting/elephant/pic_138.jpg 2
-art_painting/elephant/pic_139.jpg 2
-art_painting/elephant/pic_136.jpg 2
-art_painting/elephant/pic_137.jpg 2
-art_painting/elephant/pic_179.jpg 2
-art_painting/elephant/pic_134.jpg 2
-art_painting/elephant/pic_164.jpg 2
-art_painting/elephant/pic_163.jpg 2
-art_painting/elephant/pic_135.jpg 2
-art_painting/elephant/pic_165.jpg 2
-art_painting/elephant/pic_219.jpg 2
-art_painting/elephant/pic_062.jpg 2
-art_painting/elephant/pic_066.jpg 2
-art_painting/elephant/pic_067.jpg 2
-art_painting/elephant/pic_068.jpg 2
-art_painting/elephant/pic_069.jpg 2
-art_painting/elephant/pic_070.jpg 2
-art_painting/elephant/pic_071.jpg 2
-art_painting/elephant/pic_072.jpg 2
-art_painting/elephant/pic_073.jpg 2
-art_painting/elephant/pic_074.jpg 2
-art_painting/elephant/pic_075.jpg 2
-art_painting/elephant/pic_076.jpg 2
-art_painting/elephant/pic_077.jpg 2
-art_painting/elephant/pic_094.jpg 2
-art_painting/elephant/pic_092.jpg 2
-art_painting/elephant/pic_091.jpg 2
-art_painting/elephant/pic_088.jpg 2
-art_painting/elephant/pic_087.jpg 2
-art_painting/elephant/pic_086.jpg 2
-art_painting/elephant/pic_084.jpg 2
-art_painting/elephant/pic_083.jpg 2
-art_painting/elephant/pic_146.jpg 2
-art_painting/elephant/pic_142.jpg 2
-art_painting/elephant/pic_144.jpg 2
-art_painting/elephant/pic_143.jpg 2
-art_painting/elephant/pic_140.jpg 2
-art_painting/elephant/pic_141.jpg 2
-art_painting/elephant/pic_145.jpg 2
-art_painting/elephant/pic_149.jpg 2
-art_painting/elephant/pic_233.jpg 2
-art_painting/elephant/pic_148.jpg 2
-art_painting/elephant/pic_147.jpg 2
-art_painting/elephant/pic_220.jpg 2
-art_painting/elephant/pic_153.jpg 2
-art_painting/elephant/pic_237.jpg 2
-art_painting/elephant/pic_152.jpg 2
-art_painting/elephant/pic_238.jpg 2
-art_painting/elephant/pic_155.jpg 2
-art_painting/elephant/pic_252.jpg 2
-art_painting/elephant/pic_244.jpg 2
-art_painting/elephant/pic_240.jpg 2
-art_painting/giraffe/pic_134.jpg 3
-art_painting/giraffe/pic_129.jpg 3
-art_painting/giraffe/pic_127.jpg 3
-art_painting/giraffe/pic_151.jpg 3
-art_painting/giraffe/pic_131.jpg 3
-art_painting/giraffe/pic_158.jpg 3
-art_painting/giraffe/pic_144.jpg 3
-art_painting/giraffe/pic_238.jpg 3
-art_painting/giraffe/pic_222.jpg 3
-art_painting/giraffe/pic_185.jpg 3
-art_painting/giraffe/pic_160.jpg 3
-art_painting/giraffe/pic_155.jpg 3
-art_painting/giraffe/pic_209.jpg 3
-art_painting/giraffe/pic_228.jpg 3
-art_painting/giraffe/pic_169.jpg 3
-art_painting/giraffe/pic_198.jpg 3
-art_painting/giraffe/pic_145.jpg 3
-art_painting/giraffe/pic_273.jpg 3
-art_painting/giraffe/pic_303.jpg 3
-art_painting/giraffe/pic_284.jpg 3
-art_painting/giraffe/pic_302.jpg 3
-art_painting/giraffe/pic_286.jpg 3
-art_painting/giraffe/pic_287.jpg 3
-art_painting/giraffe/pic_301.jpg 3
-art_painting/giraffe/pic_295.jpg 3
-art_painting/giraffe/pic_296.jpg 3
-art_painting/giraffe/pic_311.jpg 3
-art_painting/giraffe/pic_309.jpg 3
-art_painting/giraffe/pic_310.jpg 3
-art_painting/giraffe/pic_308.jpg 3
-art_painting/giraffe/pic_307.jpg 3
-art_painting/giraffe/pic_276.jpg 3
-art_painting/giraffe/pic_298.jpg 3
-art_painting/giraffe/pic_244.jpg 3
-art_painting/giraffe/pic_242.jpg 3
-art_painting/giraffe/pic_240.jpg 3
-art_painting/giraffe/pic_234.jpg 3
-art_painting/giraffe/pic_206.jpg 3
-art_painting/giraffe/pic_204.jpg 3
-art_painting/giraffe/pic_193.jpg 3
-art_painting/giraffe/pic_190.jpg 3
-art_painting/giraffe/pic_188.jpg 3
-art_painting/giraffe/pic_186.jpg 3
-art_painting/giraffe/pic_280.jpg 3
-art_painting/giraffe/pic_177.jpg 3
-art_painting/giraffe/pic_264.jpg 3
-art_painting/giraffe/pic_263.jpg 3
-art_painting/giraffe/pic_282.jpg 3
-art_painting/giraffe/pic_077.jpg 3
-art_painting/giraffe/pic_075.jpg 3
-art_painting/giraffe/pic_083.jpg 3
-art_painting/giraffe/pic_090.jpg 3
-art_painting/giraffe/pic_089.jpg 3
-art_painting/giraffe/pic_088.jpg 3
-art_painting/giraffe/pic_087.jpg 3
-art_painting/giraffe/pic_086.jpg 3
-art_painting/giraffe/pic_085.jpg 3
-art_painting/giraffe/pic_084.jpg 3
-art_painting/giraffe/pic_092.jpg 3
-art_painting/giraffe/pic_091.jpg 3
-art_painting/giraffe/pic_097.jpg 3
-art_painting/giraffe/pic_096.jpg 3
-art_painting/giraffe/pic_095.jpg 3
-art_painting/giraffe/pic_093.jpg 3
-art_painting/giraffe/pic_094.jpg 3
-art_painting/giraffe/pic_100.jpg 3
-art_painting/giraffe/pic_107.jpg 3
-art_painting/giraffe/pic_106.jpg 3
-art_painting/giraffe/pic_247.jpg 3
-art_painting/giraffe/pic_252.jpg 3
-art_painting/giraffe/pic_266.jpg 3
-art_painting/giraffe/pic_246.jpg 3
-art_painting/giraffe/pic_241.jpg 3
-art_painting/giraffe/pic_248.jpg 3
-art_painting/giraffe/pic_271.jpg 3
-art_painting/giraffe/pic_283.jpg 3
-art_painting/giraffe/pic_258.jpg 3
-art_painting/giraffe/pic_279.jpg 3
-art_painting/giraffe/pic_297.jpg 3
-art_painting/giraffe/pic_300.jpg 3
-art_painting/giraffe/pic_257.jpg 3
-art_painting/giraffe/pic_249.jpg 3
-art_painting/giraffe/pic_254.jpg 3
-art_painting/giraffe/pic_253.jpg 3
-art_painting/giraffe/pic_245.jpg 3
-art_painting/giraffe/pic_236.jpg 3
-art_painting/giraffe/pic_164.jpg 3
-art_painting/giraffe/pic_166.jpg 3
-art_painting/giraffe/pic_200.jpg 3
-art_painting/giraffe/pic_147.jpg 3
-art_painting/giraffe/pic_210.jpg 3
-art_painting/giraffe/pic_170.jpg 3
-art_painting/giraffe/pic_168.jpg 3
-art_painting/giraffe/pic_223.jpg 3
-art_painting/giraffe/pic_213.jpg 3
-art_painting/giraffe/pic_207.jpg 3
-art_painting/giraffe/pic_171.jpg 3
-art_painting/giraffe/pic_232.jpg 3
-art_painting/giraffe/pic_211.jpg 3
-art_painting/giraffe/pic_221.jpg 3
-art_painting/giraffe/pic_230.jpg 3
-art_painting/giraffe/pic_235.jpg 3
-art_painting/giraffe/pic_212.jpg 3
-art_painting/giraffe/pic_231.jpg 3
-art_painting/giraffe/pic_021.jpg 3
-art_painting/giraffe/pic_033.jpg 3
-art_painting/giraffe/pic_050.jpg 3
-art_painting/giraffe/pic_046.jpg 3
-art_painting/giraffe/pic_045.jpg 3
-art_painting/giraffe/pic_030.jpg 3
-art_painting/giraffe/pic_037.jpg 3
-art_painting/giraffe/pic_024.jpg 3
-art_painting/giraffe/pic_042.jpg 3
-art_painting/giraffe/pic_028.jpg 3
-art_painting/giraffe/pic_051.jpg 3
-art_painting/giraffe/pic_025.jpg 3
-art_painting/giraffe/pic_043.jpg 3
-art_painting/giraffe/pic_052.jpg 3
-art_painting/giraffe/pic_049.jpg 3
-art_painting/giraffe/pic_044.jpg 3
-art_painting/giraffe/pic_023.jpg 3
-art_painting/giraffe/pic_053.jpg 3
-art_painting/giraffe/pic_056.jpg 3
-art_painting/giraffe/pic_068.jpg 3
-art_painting/giraffe/pic_063.jpg 3
-art_painting/giraffe/pic_182.jpg 3
-art_painting/giraffe/pic_173.jpg 3
-art_painting/giraffe/pic_165.jpg 3
-art_painting/giraffe/pic_154.jpg 3
-art_painting/giraffe/pic_138.jpg 3
-art_painting/giraffe/pic_137.jpg 3
-art_painting/giraffe/pic_136.jpg 3
-art_painting/giraffe/pic_062.jpg 3
-art_painting/giraffe/pic_061.jpg 3
-art_painting/giraffe/pic_059.jpg 3
-art_painting/giraffe/pic_060.jpg 3
-art_painting/giraffe/pic_058.jpg 3
-art_painting/giraffe/pic_057.jpg 3
-art_painting/giraffe/pic_069.jpg 3
-art_painting/giraffe/pic_066.jpg 3
-art_painting/giraffe/pic_065.jpg 3
-art_painting/giraffe/pic_070.jpg 3
-art_painting/giraffe/pic_072.jpg 3
-art_painting/giraffe/pic_071.jpg 3
-art_painting/giraffe/pic_074.jpg 3
-art_painting/giraffe/pic_073.jpg 3
-art_painting/giraffe/pic_081.jpg 3
-art_painting/giraffe/pic_082.jpg 3
-art_painting/giraffe/pic_080.jpg 3
-art_painting/giraffe/pic_078.jpg 3
-art_painting/giraffe/pic_079.jpg 3
-art_painting/giraffe/pic_001.jpg 3
-art_painting/giraffe/pic_002.jpg 3
-art_painting/giraffe/pic_003.jpg 3
-art_painting/giraffe/pic_004.jpg 3
-art_painting/giraffe/pic_005.jpg 3
-art_painting/giraffe/pic_007.jpg 3
-art_painting/giraffe/pic_008.jpg 3
-art_painting/giraffe/pic_009.jpg 3
-art_painting/giraffe/pic_010.jpg 3
-art_painting/giraffe/pic_011.jpg 3
-art_painting/giraffe/pic_012.jpg 3
-art_painting/giraffe/pic_013.jpg 3
-art_painting/giraffe/pic_014.jpg 3
-art_painting/giraffe/pic_015.jpg 3
-art_painting/giraffe/pic_016.jpg 3
-art_painting/giraffe/pic_140.jpg 3
-art_painting/giraffe/pic_150.jpg 3
-art_painting/giraffe/pic_159.jpg 3
-art_painting/giraffe/pic_135.jpg 3
-art_painting/giraffe/pic_224.jpg 3
-art_painting/giraffe/pic_153.jpg 3
-art_painting/giraffe/pic_227.jpg 3
-art_painting/giraffe/pic_226.jpg 3
-art_painting/giraffe/pic_162.jpg 3
-art_painting/giraffe/pic_175.jpg 3
-art_painting/giraffe/pic_225.jpg 3
-art_painting/giraffe/pic_229.jpg 3
-art_painting/giraffe/pic_167.jpg 3
-art_painting/giraffe/pic_174.jpg 3
-art_painting/giraffe/pic_161.jpg 3
-art_painting/giraffe/pic_184.jpg 3
-art_painting/giraffe/pic_141.jpg 3
-art_painting/giraffe/pic_201.jpg 3
-art_painting/giraffe/pic_237.jpg 3
-art_painting/giraffe/pic_163.jpg 3
-art_painting/giraffe/pic_133.jpg 3
-art_painting/giraffe/pic_132.jpg 3
-art_painting/giraffe/pic_130.jpg 3
-art_painting/giraffe/pic_125.jpg 3
-art_painting/giraffe/pic_123.jpg 3
-art_painting/giraffe/pic_121.jpg 3
-art_painting/giraffe/pic_122.jpg 3
-art_painting/giraffe/pic_119.jpg 3
-art_painting/giraffe/pic_120.jpg 3
-art_painting/giraffe/pic_118.jpg 3
-art_painting/giraffe/pic_208.jpg 3
-art_painting/giraffe/pic_217.jpg 3
-art_painting/giraffe/pic_172.jpg 3
-art_painting/giraffe/pic_157.jpg 3
-art_painting/giraffe/pic_152.jpg 3
-art_painting/giraffe/pic_143.jpg 3
-art_painting/giraffe/pic_176.jpg 3
-art_painting/giraffe/pic_146.jpg 3
-art_painting/giraffe/pic_139.jpg 3
-art_painting/giraffe/pic_142.jpg 3
-art_painting/giraffe/pic_105.jpg 3
-art_painting/giraffe/pic_104.jpg 3
-art_painting/giraffe/pic_102.jpg 3
-art_painting/giraffe/pic_101.jpg 3
-art_painting/giraffe/pic_099.jpg 3
-art_painting/giraffe/pic_098.jpg 3
-art_painting/giraffe/pic_103.jpg 3
-art_painting/giraffe/pic_115.jpg 3
-art_painting/giraffe/pic_117.jpg 3
-art_painting/giraffe/pic_116.jpg 3
-art_painting/giraffe/pic_110.jpg 3
-art_painting/giraffe/pic_113.jpg 3
-art_painting/giraffe/pic_111.jpg 3
-art_painting/giraffe/pic_112.jpg 3
-art_painting/giraffe/pic_109.jpg 3
-art_painting/giraffe/pic_108.jpg 3
-art_painting/giraffe/pic_114.jpg 3
-art_painting/giraffe/pic_126.jpg 3
-art_painting/giraffe/pic_128.jpg 3
-art_painting/giraffe/pic_218.jpg 3
-art_painting/giraffe/pic_178.jpg 3
-art_painting/giraffe/pic_191.jpg 3
-art_painting/giraffe/pic_285.jpg 3
-art_painting/giraffe/pic_270.jpg 3
-art_painting/giraffe/pic_267.jpg 3
-art_painting/giraffe/pic_288.jpg 3
-art_painting/giraffe/pic_261.jpg 3
-art_painting/giraffe/pic_305.jpg 3
-art_painting/giraffe/pic_274.jpg 3
-art_painting/giraffe/pic_251.jpg 3
-art_painting/giraffe/pic_291.jpg 3
-art_painting/giraffe/pic_259.jpg 3
-art_painting/giraffe/pic_262.jpg 3
-art_painting/giraffe/pic_304.jpg 3
-art_painting/giraffe/pic_268.jpg 3
-art_painting/giraffe/pic_256.jpg 3
-art_painting/giraffe/pic_281.jpg 3
-art_painting/giraffe/pic_292.jpg 3
-art_painting/giraffe/pic_293.jpg 3
-art_painting/giraffe/pic_277.jpg 3
-art_painting/giraffe/pic_017.jpg 3
-art_painting/giraffe/pic_018.jpg 3
-art_painting/giraffe/pic_019.jpg 3
-art_painting/giraffe/pic_022.jpg 3
-art_painting/giraffe/pic_027.jpg 3
-art_painting/giraffe/pic_034.jpg 3
-art_painting/giraffe/pic_035.jpg 3
-art_painting/giraffe/pic_029.jpg 3
-art_painting/giraffe/pic_055.jpg 3
-art_painting/giraffe/pic_054.jpg 3
-art_painting/giraffe/pic_048.jpg 3
-art_painting/giraffe/pic_047.jpg 3
-art_painting/giraffe/pic_031.jpg 3
-art_painting/giraffe/pic_032.jpg 3
-art_painting/giraffe/pic_041.jpg 3
-art_painting/giraffe/pic_036.jpg 3
-art_painting/giraffe/pic_040.jpg 3
-art_painting/giraffe/pic_038.jpg 3
-art_painting/giraffe/pic_039.jpg 3
-art_painting/giraffe/pic_020.jpg 3
-art_painting/giraffe/pic_026.jpg 3
-art_painting/giraffe/pic_243.jpg 3
-art_painting/giraffe/pic_278.jpg 3
-art_painting/giraffe/pic_272.jpg 3
-art_painting/giraffe/pic_306.jpg 3
-art_painting/giraffe/pic_290.jpg 3
-art_painting/giraffe/pic_265.jpg 3
-art_painting/giraffe/pic_255.jpg 3
-art_painting/giraffe/pic_194.jpg 3
-art_painting/giraffe/pic_216.jpg 3
-art_painting/giraffe/pic_215.jpg 3
-art_painting/giraffe/pic_233.jpg 3
-art_painting/giraffe/pic_203.jpg 3
-art_painting/giraffe/pic_192.jpg 3
-art_painting/giraffe/pic_214.jpg 3
-art_painting/giraffe/pic_239.jpg 3
-art_painting/giraffe/pic_205.jpg 3
-art_painting/giraffe/pic_180.jpg 3
-art_painting/giraffe/pic_195.jpg 3
-art_painting/guitar/pic_125.jpg 4
-art_painting/guitar/pic_124.jpg 4
-art_painting/guitar/pic_179.jpg 4
-art_painting/guitar/pic_147.jpg 4
-art_painting/guitar/pic_146.jpg 4
-art_painting/guitar/pic_183.jpg 4
-art_painting/guitar/pic_126.jpg 4
-art_painting/guitar/pic_172.jpg 4
-art_painting/guitar/pic_137.jpg 4
-art_painting/guitar/pic_180.jpg 4
-art_painting/guitar/pic_150.jpg 4
-art_painting/guitar/pic_176.jpg 4
-art_painting/guitar/pic_187.jpg 4
-art_painting/guitar/pic_186.jpg 4
-art_painting/guitar/pic_184.jpg 4
-art_painting/guitar/pic_174.jpg 4
-art_painting/guitar/pic_165.jpg 4
-art_painting/guitar/pic_161.jpg 4
-art_painting/guitar/pic_162.jpg 4
-art_painting/guitar/pic_055.jpg 4
-art_painting/guitar/pic_059.jpg 4
-art_painting/guitar/pic_061.jpg 4
-art_painting/guitar/pic_060.jpg 4
-art_painting/guitar/pic_062.jpg 4
-art_painting/guitar/pic_063.jpg 4
-art_painting/guitar/pic_064.jpg 4
-art_painting/guitar/pic_067.jpg 4
-art_painting/guitar/pic_069.jpg 4
-art_painting/guitar/pic_077.jpg 4
-art_painting/guitar/pic_076.jpg 4
-art_painting/guitar/pic_075.jpg 4
-art_painting/guitar/pic_073.jpg 4
-art_painting/guitar/pic_072.jpg 4
-art_painting/guitar/pic_071.jpg 4
-art_painting/guitar/pic_070.jpg 4
-art_painting/guitar/pic_078.jpg 4
-art_painting/guitar/pic_111.jpg 4
-art_painting/guitar/pic_101.jpg 4
-art_painting/guitar/pic_130.jpg 4
-art_painting/guitar/pic_113.jpg 4
-art_painting/guitar/pic_182.jpg 4
-art_painting/guitar/pic_115.jpg 4
-art_painting/guitar/pic_100.jpg 4
-art_painting/guitar/pic_104.jpg 4
-art_painting/guitar/pic_098.jpg 4
-art_painting/guitar/pic_155.jpg 4
-art_painting/guitar/pic_149.jpg 4
-art_painting/guitar/pic_144.jpg 4
-art_painting/guitar/pic_143.jpg 4
-art_painting/guitar/pic_120.jpg 4
-art_painting/guitar/pic_152.jpg 4
-art_painting/guitar/pic_170.jpg 4
-art_painting/guitar/pic_157.jpg 4
-art_painting/guitar/pic_107.jpg 4
-art_painting/guitar/pic_173.jpg 4
-art_painting/guitar/pic_128.jpg 4
-art_painting/guitar/pic_074.jpg 4
-art_painting/guitar/pic_088.jpg 4
-art_painting/guitar/pic_087.jpg 4
-art_painting/guitar/pic_086.jpg 4
-art_painting/guitar/pic_084.jpg 4
-art_painting/guitar/pic_082.jpg 4
-art_painting/guitar/pic_083.jpg 4
-art_painting/guitar/pic_081.jpg 4
-art_painting/guitar/pic_079.jpg 4
-art_painting/guitar/pic_080.jpg 4
-art_painting/guitar/pic_089.jpg 4
-art_painting/guitar/pic_085.jpg 4
-art_painting/guitar/pic_142.jpg 4
-art_painting/guitar/pic_134.jpg 4
-art_painting/guitar/pic_133.jpg 4
-art_painting/guitar/pic_129.jpg 4
-art_painting/guitar/pic_127.jpg 4
-art_painting/guitar/pic_118.jpg 4
-art_painting/guitar/pic_109.jpg 4
-art_painting/guitar/pic_106.jpg 4
-art_painting/guitar/pic_103.jpg 4
-art_painting/guitar/pic_001.jpg 4
-art_painting/guitar/pic_002.jpg 4
-art_painting/guitar/pic_003.jpg 4
-art_painting/guitar/pic_004.jpg 4
-art_painting/guitar/pic_005.jpg 4
-art_painting/guitar/pic_006.jpg 4
-art_painting/guitar/pic_007.jpg 4
-art_painting/guitar/pic_008.jpg 4
-art_painting/guitar/pic_009.jpg 4
-art_painting/guitar/pic_010.jpg 4
-art_painting/guitar/pic_011.jpg 4
-art_painting/guitar/pic_012.jpg 4
-art_painting/guitar/pic_013.jpg 4
-art_painting/guitar/pic_014.jpg 4
-art_painting/guitar/pic_015.jpg 4
-art_painting/guitar/pic_020.jpg 4
-art_painting/guitar/pic_018.jpg 4
-art_painting/guitar/pic_017.jpg 4
-art_painting/guitar/pic_016.jpg 4
-art_painting/guitar/pic_026.jpg 4
-art_painting/guitar/pic_025.jpg 4
-art_painting/guitar/pic_024.jpg 4
-art_painting/guitar/pic_023.jpg 4
-art_painting/guitar/pic_021.jpg 4
-art_painting/guitar/pic_019.jpg 4
-art_painting/guitar/pic_022.jpg 4
-art_painting/guitar/pic_028.jpg 4
-art_painting/guitar/pic_027.jpg 4
-art_painting/guitar/pic_035.jpg 4
-art_painting/guitar/pic_047.jpg 4
-art_painting/guitar/pic_042.jpg 4
-art_painting/guitar/pic_043.jpg 4
-art_painting/guitar/pic_041.jpg 4
-art_painting/guitar/pic_040.jpg 4
-art_painting/guitar/pic_038.jpg 4
-art_painting/guitar/pic_037.jpg 4
-art_painting/guitar/pic_036.jpg 4
-art_painting/guitar/pic_034.jpg 4
-art_painting/guitar/pic_032.jpg 4
-art_painting/guitar/pic_031.jpg 4
-art_painting/guitar/pic_029.jpg 4
-art_painting/guitar/pic_044.jpg 4
-art_painting/guitar/pic_039.jpg 4
-art_painting/guitar/pic_048.jpg 4
-art_painting/guitar/pic_030.jpg 4
-art_painting/guitar/pic_049.jpg 4
-art_painting/guitar/pic_033.jpg 4
-art_painting/guitar/pic_053.jpg 4
-art_painting/guitar/pic_052.jpg 4
-art_painting/guitar/pic_051.jpg 4
-art_painting/guitar/pic_050.jpg 4
-art_painting/guitar/pic_058.jpg 4
-art_painting/guitar/pic_056.jpg 4
-art_painting/guitar/pic_175.jpg 4
-art_painting/guitar/pic_167.jpg 4
-art_painting/guitar/pic_196.jpg 4
-art_painting/guitar/pic_197.jpg 4
-art_painting/guitar/pic_199.jpg 4
-art_painting/guitar/pic_192.jpg 4
-art_painting/guitar/pic_194.jpg 4
-art_painting/guitar/pic_190.jpg 4
-art_painting/guitar/pic_189.jpg 4
-art_painting/guitar/pic_188.jpg 4
-art_painting/guitar/pic_195.jpg 4
-art_painting/guitar/pic_201.jpg 4
-art_painting/guitar/pic_191.jpg 4
-art_painting/guitar/pic_193.jpg 4
-art_painting/guitar/pic_131.jpg 4
-art_painting/guitar/pic_114.jpg 4
-art_painting/guitar/pic_141.jpg 4
-art_painting/guitar/pic_105.jpg 4
-art_painting/guitar/pic_117.jpg 4
-art_painting/guitar/pic_178.jpg 4
-art_painting/guitar/pic_171.jpg 4
-art_painting/guitar/pic_169.jpg 4
-art_painting/guitar/pic_156.jpg 4
-art_painting/guitar/pic_148.jpg 4
-art_painting/guitar/pic_123.jpg 4
-art_painting/guitar/pic_163.jpg 4
-art_painting/guitar/pic_110.jpg 4
-art_painting/guitar/pic_138.jpg 4
-art_painting/guitar/pic_116.jpg 4
-art_painting/guitar/pic_145.jpg 4
-art_painting/guitar/pic_121.jpg 4
-art_painting/guitar/pic_160.jpg 4
-art_painting/guitar/pic_177.jpg 4
-art_painting/guitar/pic_166.jpg 4
-art_painting/guitar/pic_159.jpg 4
-art_painting/guitar/pic_102.jpg 4
-art_painting/guitar/pic_099.jpg 4
-art_painting/guitar/pic_097.jpg 4
-art_painting/guitar/pic_095.jpg 4
-art_painting/guitar/pic_092.jpg 4
-art_painting/guitar/pic_094.jpg 4
-art_painting/guitar/pic_093.jpg 4
-art_painting/guitar/pic_091.jpg 4
-art_painting/guitar/pic_090.jpg 4
-art_painting/guitar/pic_140.jpg 4
-art_painting/guitar/pic_153.jpg 4
-art_painting/guitar/pic_158.jpg 4
-art_painting/guitar/pic_132.jpg 4
-art_painting/guitar/pic_135.jpg 4
-art_painting/guitar/pic_119.jpg 4
-art_painting/guitar/pic_122.jpg 4
-art_painting/guitar/pic_108.jpg 4
-art_painting/guitar/pic_136.jpg 4
-art_painting/guitar/pic_112.jpg 4
-art_painting/horse/pic_034.jpg 5
-art_painting/horse/pic_040.jpg 5
-art_painting/horse/pic_039.jpg 5
-art_painting/horse/pic_042.jpg 5
-art_painting/horse/pic_028.jpg 5
-art_painting/horse/pic_037.jpg 5
-art_painting/horse/pic_041.jpg 5
-art_painting/horse/pic_033.jpg 5
-art_painting/horse/pic_038.jpg 5
-art_painting/horse/pic_025.jpg 5
-art_painting/horse/pic_023.jpg 5
-art_painting/horse/pic_045.jpg 5
-art_painting/horse/pic_030.jpg 5
-art_painting/horse/pic_043.jpg 5
-art_painting/horse/pic_021.jpg 5
-art_painting/horse/pic_026.jpg 5
-art_painting/horse/pic_046.jpg 5
-art_painting/horse/pic_001.jpg 5
-art_painting/horse/pic_002.jpg 5
-art_painting/horse/pic_003.jpg 5
-art_painting/horse/pic_004.jpg 5
-art_painting/horse/pic_005.jpg 5
-art_painting/horse/pic_096.jpg 5
-art_painting/horse/pic_103.jpg 5
-art_painting/horse/pic_110.jpg 5
-art_painting/horse/pic_098.jpg 5
-art_painting/horse/pic_116.jpg 5
-art_painting/horse/pic_120.jpg 5
-art_painting/horse/pic_112.jpg 5
-art_painting/horse/pic_106.jpg 5
-art_painting/horse/pic_123.jpg 5
-art_painting/horse/pic_117.jpg 5
-art_painting/horse/pic_181.jpg 5
-art_painting/horse/pic_141.jpg 5
-art_painting/horse/pic_145.jpg 5
-art_painting/horse/pic_139.jpg 5
-art_painting/horse/pic_138.jpg 5
-art_painting/horse/pic_137.jpg 5
-art_painting/horse/pic_134.jpg 5
-art_painting/horse/pic_135.jpg 5
-art_painting/horse/pic_073.jpg 5
-art_painting/horse/pic_071.jpg 5
-art_painting/horse/pic_072.jpg 5
-art_painting/horse/pic_076.jpg 5
-art_painting/horse/pic_079.jpg 5
-art_painting/horse/pic_081.jpg 5
-art_painting/horse/pic_078.jpg 5
-art_painting/horse/pic_074.jpg 5
-art_painting/horse/pic_077.jpg 5
-art_painting/horse/pic_080.jpg 5
-art_painting/horse/pic_109.jpg 5
-art_painting/horse/pic_104.jpg 5
-art_painting/horse/pic_101.jpg 5
-art_painting/horse/pic_100.jpg 5
-art_painting/horse/pic_097.jpg 5
-art_painting/horse/pic_089.jpg 5
-art_painting/horse/pic_090.jpg 5
-art_painting/horse/pic_091.jpg 5
-art_painting/horse/pic_088.jpg 5
-art_painting/horse/pic_087.jpg 5
-art_painting/horse/pic_083.jpg 5
-art_painting/horse/pic_047.jpg 5
-art_painting/horse/pic_048.jpg 5
-art_painting/horse/pic_049.jpg 5
-art_painting/horse/pic_050.jpg 5
-art_painting/horse/pic_006.jpg 5
-art_painting/horse/pic_007.jpg 5
-art_painting/horse/pic_008.jpg 5
-art_painting/horse/pic_010.jpg 5
-art_painting/horse/pic_011.jpg 5
-art_painting/horse/pic_012.jpg 5
-art_painting/horse/pic_014.jpg 5
-art_painting/horse/pic_015.jpg 5
-art_painting/horse/pic_017.jpg 5
-art_painting/horse/pic_027.jpg 5
-art_painting/horse/pic_019.jpg 5
-art_painting/horse/pic_032.jpg 5
-art_painting/horse/pic_035.jpg 5
-art_painting/horse/pic_024.jpg 5
-art_painting/horse/pic_036.jpg 5
-art_painting/horse/pic_031.jpg 5
-art_painting/horse/pic_160.jpg 5
-art_painting/horse/pic_169.jpg 5
-art_painting/horse/pic_184.jpg 5
-art_painting/horse/pic_179.jpg 5
-art_painting/horse/pic_177.jpg 5
-art_painting/horse/pic_178.jpg 5
-art_painting/horse/pic_176.jpg 5
-art_painting/horse/pic_172.jpg 5
-art_painting/horse/pic_174.jpg 5
-art_painting/horse/pic_173.jpg 5
-art_painting/horse/pic_171.jpg 5
-art_painting/horse/pic_186.jpg 5
-art_painting/horse/pic_199.jpg 5
-art_painting/horse/pic_198.jpg 5
-art_painting/horse/pic_197.jpg 5
-art_painting/horse/pic_191.jpg 5
-art_painting/horse/pic_189.jpg 5
-art_painting/horse/pic_053.jpg 5
-art_painting/horse/pic_051.jpg 5
-art_painting/horse/pic_054.jpg 5
-art_painting/horse/pic_052.jpg 5
-art_painting/horse/pic_057.jpg 5
-art_painting/horse/pic_056.jpg 5
-art_painting/horse/pic_059.jpg 5
-art_painting/horse/pic_060.jpg 5
-art_painting/horse/pic_062.jpg 5
-art_painting/horse/pic_063.jpg 5
-art_painting/horse/pic_061.jpg 5
-art_painting/horse/pic_067.jpg 5
-art_painting/horse/pic_069.jpg 5
-art_painting/horse/pic_066.jpg 5
-art_painting/horse/pic_064.jpg 5
-art_painting/horse/pic_065.jpg 5
-art_painting/horse/pic_070.jpg 5
-art_painting/horse/pic_075.jpg 5
-art_painting/horse/pic_086.jpg 5
-art_painting/horse/pic_082.jpg 5
-art_painting/horse/pic_105.jpg 5
-art_painting/horse/pic_108.jpg 5
-art_painting/horse/pic_107.jpg 5
-art_painting/horse/pic_084.jpg 5
-art_painting/horse/pic_093.jpg 5
-art_painting/horse/pic_099.jpg 5
-art_painting/horse/pic_092.jpg 5
-art_painting/horse/pic_095.jpg 5
-art_painting/horse/pic_121.jpg 5
-art_painting/horse/pic_114.jpg 5
-art_painting/horse/pic_085.jpg 5
-art_painting/horse/pic_113.jpg 5
-art_painting/horse/pic_122.jpg 5
-art_painting/horse/pic_115.jpg 5
-art_painting/horse/pic_102.jpg 5
-art_painting/horse/pic_119.jpg 5
-art_painting/horse/pic_227.jpg 5
-art_painting/horse/pic_226.jpg 5
-art_painting/horse/pic_224.jpg 5
-art_painting/horse/pic_223.jpg 5
-art_painting/horse/pic_222.jpg 5
-art_painting/horse/pic_220.jpg 5
-art_painting/horse/pic_218.jpg 5
-art_painting/horse/pic_217.jpg 5
-art_painting/horse/pic_228.jpg 5
-art_painting/horse/pic_221.jpg 5
-art_painting/horse/pic_219.jpg 5
-art_painting/horse/pic_232.jpg 5
-art_painting/horse/pic_229.jpg 5
-art_painting/horse/pic_193.jpg 5
-art_painting/horse/pic_192.jpg 5
-art_painting/horse/pic_196.jpg 5
-art_painting/horse/pic_200.jpg 5
-art_painting/horse/pic_208.jpg 5
-art_painting/horse/pic_206.jpg 5
-art_painting/horse/pic_203.jpg 5
-art_painting/horse/pic_202.jpg 5
-art_painting/horse/pic_201.jpg 5
-art_painting/horse/pic_209.jpg 5
-art_painting/horse/pic_207.jpg 5
-art_painting/horse/pic_205.jpg 5
-art_painting/horse/pic_210.jpg 5
-art_painting/horse/pic_215.jpg 5
-art_painting/horse/pic_216.jpg 5
-art_painting/horse/pic_212.jpg 5
-art_painting/horse/pic_213.jpg 5
-art_painting/horse/pic_214.jpg 5
-art_painting/horse/pic_225.jpg 5
-art_painting/horse/pic_133.jpg 5
-art_painting/horse/pic_131.jpg 5
-art_painting/horse/pic_125.jpg 5
-art_painting/horse/pic_127.jpg 5
-art_painting/horse/pic_126.jpg 5
-art_painting/horse/pic_156.jpg 5
-art_painting/horse/pic_143.jpg 5
-art_painting/horse/pic_147.jpg 5
-art_painting/horse/pic_144.jpg 5
-art_painting/horse/pic_146.jpg 5
-art_painting/horse/pic_155.jpg 5
-art_painting/horse/pic_142.jpg 5
-art_painting/horse/pic_136.jpg 5
-art_painting/horse/pic_148.jpg 5
-art_painting/horse/pic_162.jpg 5
-art_painting/horse/pic_163.jpg 5
-art_painting/horse/pic_128.jpg 5
-art_painting/horse/pic_154.jpg 5
-art_painting/horse/pic_150.jpg 5
-art_painting/horse/pic_151.jpg 5
-art_painting/horse/pic_152.jpg 5
-art_painting/horse/pic_182.jpg 5
-art_painting/horse/pic_157.jpg 5
-art_painting/horse/pic_130.jpg 5
-art_painting/horse/pic_180.jpg 5
-art_painting/horse/pic_158.jpg 5
-art_painting/horse/pic_204.jpg 5
-art_painting/horse/pic_195.jpg 5
-art_painting/horse/pic_188.jpg 5
-art_painting/horse/pic_159.jpg 5
-art_painting/horse/pic_170.jpg 5
-art_painting/horse/pic_168.jpg 5
-art_painting/horse/pic_165.jpg 5
-art_painting/horse/pic_164.jpg 5
-art_painting/horse/pic_161.jpg 5
-art_painting/house/pic_313.jpg 6
-art_painting/house/pic_169.jpg 6
-art_painting/house/pic_168.jpg 6
-art_painting/house/pic_308.jpg 6
-art_painting/house/pic_167.jpg 6
-art_painting/house/pic_310.jpg 6
-art_painting/house/pic_314.jpg 6
-art_painting/house/pic_170.jpg 6
-art_painting/house/pic_316.jpg 6
-art_painting/house/pic_175.jpg 6
-art_painting/house/pic_173.jpg 6
-art_painting/house/pic_322.jpg 6
-art_painting/house/pic_321.jpg 6
-art_painting/house/pic_320.jpg 6
-art_painting/house/pic_178.jpg 6
-art_painting/house/pic_331.jpg 6
-art_painting/house/pic_001.jpg 6
-art_painting/house/pic_002.jpg 6
-art_painting/house/pic_003.jpg 6
-art_painting/house/pic_004.jpg 6
-art_painting/house/pic_005.jpg 6
-art_painting/house/pic_006.jpg 6
-art_painting/house/pic_007.jpg 6
-art_painting/house/pic_008.jpg 6
-art_painting/house/pic_009.jpg 6
-art_painting/house/pic_010.jpg 6
-art_painting/house/pic_011.jpg 6
-art_painting/house/pic_013.jpg 6
-art_painting/house/pic_015.jpg 6
-art_painting/house/pic_030.jpg 6
-art_painting/house/pic_032.jpg 6
-art_painting/house/pic_019.jpg 6
-art_painting/house/pic_016.jpg 6
-art_painting/house/pic_034.jpg 6
-art_painting/house/pic_022.jpg 6
-art_painting/house/pic_023.jpg 6
-art_painting/house/pic_014.jpg 6
-art_painting/house/pic_025.jpg 6
-art_painting/house/pic_024.jpg 6
-art_painting/house/pic_037.jpg 6
-art_painting/house/pic_018.jpg 6
-art_painting/house/pic_031.jpg 6
-art_painting/house/pic_027.jpg 6
-art_painting/house/pic_029.jpg 6
-art_painting/house/pic_274.jpg 6
-art_painting/house/pic_162.jpg 6
-art_painting/house/pic_160.jpg 6
-art_painting/house/pic_272.jpg 6
-art_painting/house/pic_159.jpg 6
-art_painting/house/pic_161.jpg 6
-art_painting/house/pic_276.jpg 6
-art_painting/house/pic_295.jpg 6
-art_painting/house/pic_165.jpg 6
-art_painting/house/pic_294.jpg 6
-art_painting/house/pic_293.jpg 6
-art_painting/house/pic_163.jpg 6
-art_painting/house/pic_282.jpg 6
-art_painting/house/pic_166.jpg 6
-art_painting/house/pic_164.jpg 6
-art_painting/house/pic_281.jpg 6
-art_painting/house/pic_171.jpg 6
-art_painting/house/pic_311.jpg 6
-art_painting/house/pic_237.jpg 6
-art_painting/house/pic_235.jpg 6
-art_painting/house/pic_234.jpg 6
-art_painting/house/pic_232.jpg 6
-art_painting/house/pic_240.jpg 6
-art_painting/house/pic_251.jpg 6
-art_painting/house/pic_248.jpg 6
-art_painting/house/pic_247.jpg 6
-art_painting/house/pic_246.jpg 6
-art_painting/house/pic_245.jpg 6
-art_painting/house/pic_243.jpg 6
-art_painting/house/pic_242.jpg 6
-art_painting/house/pic_250.jpg 6
-art_painting/house/pic_270.jpg 6
-art_painting/house/pic_269.jpg 6
-art_painting/house/pic_264.jpg 6
-art_painting/house/pic_329.jpg 6
-art_painting/house/pic_297.jpg 6
-art_painting/house/pic_304.jpg 6
-art_painting/house/pic_303.jpg 6
-art_painting/house/pic_302.jpg 6
-art_painting/house/pic_319.jpg 6
-art_painting/house/pic_318.jpg 6
-art_painting/house/pic_317.jpg 6
-art_painting/house/pic_315.jpg 6
-art_painting/house/pic_309.jpg 6
-art_painting/house/pic_306.jpg 6
-art_painting/house/pic_305.jpg 6
-art_painting/house/pic_323.jpg 6
-art_painting/house/pic_324.jpg 6
-art_painting/house/pic_336.jpg 6
-art_painting/house/pic_330.jpg 6
-art_painting/house/pic_327.jpg 6
-art_painting/house/pic_129.jpg 6
-art_painting/house/pic_130.jpg 6
-art_painting/house/pic_131.jpg 6
-art_painting/house/pic_255.jpg 6
-art_painting/house/pic_253.jpg 6
-art_painting/house/pic_133.jpg 6
-art_painting/house/pic_132.jpg 6
-art_painting/house/pic_256.jpg 6
-art_painting/house/pic_134.jpg 6
-art_painting/house/pic_257.jpg 6
-art_painting/house/pic_137.jpg 6
-art_painting/house/pic_258.jpg 6
-art_painting/house/pic_136.jpg 6
-art_painting/house/pic_140.jpg 6
-art_painting/house/pic_142.jpg 6
-art_painting/house/pic_259.jpg 6
-art_painting/house/pic_141.jpg 6
-art_painting/house/pic_146.jpg 6
-art_painting/house/pic_147.jpg 6
-art_painting/house/pic_145.jpg 6
-art_painting/house/pic_254.jpg 6
-art_painting/house/pic_263.jpg 6
-art_painting/house/pic_278.jpg 6
-art_painting/house/pic_277.jpg 6
-art_painting/house/pic_279.jpg 6
-art_painting/house/pic_280.jpg 6
-art_painting/house/pic_283.jpg 6
-art_painting/house/pic_284.jpg 6
-art_painting/house/pic_285.jpg 6
-art_painting/house/pic_287.jpg 6
-art_painting/house/pic_296.jpg 6
-art_painting/house/pic_292.jpg 6
-art_painting/house/pic_289.jpg 6
-art_painting/house/pic_290.jpg 6
-art_painting/house/pic_291.jpg 6
-art_painting/house/pic_301.jpg 6
-art_painting/house/pic_299.jpg 6
-art_painting/house/pic_298.jpg 6
-art_painting/house/pic_189.jpg 6
-art_painting/house/pic_187.jpg 6
-art_painting/house/pic_194.jpg 6
-art_painting/house/pic_206.jpg 6
-art_painting/house/pic_205.jpg 6
-art_painting/house/pic_201.jpg 6
-art_painting/house/pic_200.jpg 6
-art_painting/house/pic_198.jpg 6
-art_painting/house/pic_196.jpg 6
-art_painting/house/pic_197.jpg 6
-art_painting/house/pic_195.jpg 6
-art_painting/house/pic_199.jpg 6
-art_painting/house/pic_203.jpg 6
-art_painting/house/pic_221.jpg 6
-art_painting/house/pic_219.jpg 6
-art_painting/house/pic_217.jpg 6
-art_painting/house/pic_216.jpg 6
-art_painting/house/pic_184.jpg 6
-art_painting/house/pic_181.jpg 6
-art_painting/house/pic_180.jpg 6
-art_painting/house/pic_182.jpg 6
-art_painting/house/pic_335.jpg 6
-art_painting/house/pic_340.jpg 6
-art_painting/house/pic_348.jpg 6
-art_painting/house/pic_185.jpg 6
-art_painting/house/pic_346.jpg 6
-art_painting/house/pic_345.jpg 6
-art_painting/house/pic_344.jpg 6
-art_painting/house/pic_343.jpg 6
-art_painting/house/pic_193.jpg 6
-art_painting/house/pic_192.jpg 6
-art_painting/house/pic_191.jpg 6
-art_painting/house/pic_074.jpg 6
-art_painting/house/pic_076.jpg 6
-art_painting/house/pic_075.jpg 6
-art_painting/house/pic_077.jpg 6
-art_painting/house/pic_087.jpg 6
-art_painting/house/pic_085.jpg 6
-art_painting/house/pic_084.jpg 6
-art_painting/house/pic_083.jpg 6
-art_painting/house/pic_080.jpg 6
-art_painting/house/pic_079.jpg 6
-art_painting/house/pic_078.jpg 6
-art_painting/house/pic_088.jpg 6
-art_painting/house/pic_082.jpg 6
-art_painting/house/pic_086.jpg 6
-art_painting/house/pic_123.jpg 6
-art_painting/house/pic_122.jpg 6
-art_painting/house/pic_119.jpg 6
-art_painting/house/pic_111.jpg 6
-art_painting/house/pic_108.jpg 6
-art_painting/house/pic_104.jpg 6
-art_painting/house/pic_215.jpg 6
-art_painting/house/pic_211.jpg 6
-art_painting/house/pic_209.jpg 6
-art_painting/house/pic_208.jpg 6
-art_painting/house/pic_207.jpg 6
-art_painting/house/pic_218.jpg 6
-art_painting/house/pic_210.jpg 6
-art_painting/house/pic_228.jpg 6
-art_painting/house/pic_227.jpg 6
-art_painting/house/pic_225.jpg 6
-art_painting/house/pic_224.jpg 6
-art_painting/house/pic_223.jpg 6
-art_painting/house/pic_222.jpg 6
-art_painting/house/pic_226.jpg 6
-art_painting/house/pic_230.jpg 6
-art_painting/house/pic_229.jpg 6
-art_painting/house/pic_231.jpg 6
-art_painting/house/pic_241.jpg 6
-art_painting/house/pic_144.jpg 6
-art_painting/house/pic_143.jpg 6
-art_painting/house/pic_149.jpg 6
-art_painting/house/pic_150.jpg 6
-art_painting/house/pic_151.jpg 6
-art_painting/house/pic_148.jpg 6
-art_painting/house/pic_260.jpg 6
-art_painting/house/pic_153.jpg 6
-art_painting/house/pic_152.jpg 6
-art_painting/house/pic_261.jpg 6
-art_painting/house/pic_262.jpg 6
-art_painting/house/pic_268.jpg 6
-art_painting/house/pic_156.jpg 6
-art_painting/house/pic_158.jpg 6
-art_painting/house/pic_157.jpg 6
-art_painting/house/pic_266.jpg 6
-art_painting/house/pic_267.jpg 6
-art_painting/house/pic_273.jpg 6
-art_painting/house/pic_097.jpg 6
-art_painting/house/pic_118.jpg 6
-art_painting/house/pic_114.jpg 6
-art_painting/house/pic_094.jpg 6
-art_painting/house/pic_101.jpg 6
-art_painting/house/pic_125.jpg 6
-art_painting/house/pic_113.jpg 6
-art_painting/house/pic_109.jpg 6
-art_painting/house/pic_098.jpg 6
-art_painting/house/pic_116.jpg 6
-art_painting/house/pic_127.jpg 6
-art_painting/house/pic_120.jpg 6
-art_painting/house/pic_138.jpg 6
-art_painting/house/pic_176.jpg 6
-art_painting/house/pic_177.jpg 6
-art_painting/house/pic_212.jpg 6
-art_painting/house/pic_213.jpg 6
-art_painting/house/pic_238.jpg 6
-art_painting/house/pic_128.jpg 6
-art_painting/house/pic_053.jpg 6
-art_painting/house/pic_055.jpg 6
-art_painting/house/pic_054.jpg 6
-art_painting/house/pic_057.jpg 6
-art_painting/house/pic_056.jpg 6
-art_painting/house/pic_058.jpg 6
-art_painting/house/pic_059.jpg 6
-art_painting/house/pic_061.jpg 6
-art_painting/house/pic_060.jpg 6
-art_painting/house/pic_062.jpg 6
-art_painting/house/pic_063.jpg 6
-art_painting/house/pic_067.jpg 6
-art_painting/house/pic_069.jpg 6
-art_painting/house/pic_068.jpg 6
-art_painting/house/pic_066.jpg 6
-art_painting/house/pic_071.jpg 6
-art_painting/house/pic_070.jpg 6
-art_painting/house/pic_072.jpg 6
-art_painting/house/pic_106.jpg 6
-art_painting/house/pic_107.jpg 6
-art_painting/house/pic_099.jpg 6
-art_painting/house/pic_100.jpg 6
-art_painting/house/pic_035.jpg 6
-art_painting/house/pic_095.jpg 6
-art_painting/house/pic_093.jpg 6
-art_painting/house/pic_090.jpg 6
-art_painting/house/pic_092.jpg 6
-art_painting/house/pic_091.jpg 6
-art_painting/house/pic_103.jpg 6
-art_painting/house/pic_124.jpg 6
-art_painting/house/pic_110.jpg 6
-art_painting/house/pic_117.jpg 6
-art_painting/house/pic_105.jpg 6
-art_painting/house/pic_121.jpg 6
-art_painting/house/pic_115.jpg 6
-art_painting/house/pic_028.jpg 6
-art_painting/house/pic_017.jpg 6
-art_painting/house/pic_038.jpg 6
-art_painting/house/pic_048.jpg 6
-art_painting/house/pic_047.jpg 6
-art_painting/house/pic_036.jpg 6
-art_painting/house/pic_043.jpg 6
-art_painting/house/pic_041.jpg 6
-art_painting/house/pic_040.jpg 6
-art_painting/house/pic_039.jpg 6
-art_painting/house/pic_021.jpg 6
-art_painting/house/pic_020.jpg 6
-art_painting/house/pic_026.jpg 6
-art_painting/house/pic_046.jpg 6
-art_painting/house/pic_044.jpg 6
-art_painting/house/pic_045.jpg 6
-art_painting/house/pic_042.jpg 6
-art_painting/house/pic_049.jpg 6
-art_painting/house/pic_050.jpg 6
-art_painting/house/pic_051.jpg 6
-art_painting/person/pic_280.jpg 7
-art_painting/person/pic_278.jpg 7
-art_painting/person/pic_277.jpg 7
-art_painting/person/pic_276.jpg 7
-art_painting/person/pic_275.jpg 7
-art_painting/person/pic_273.jpg 7
-art_painting/person/pic_284.jpg 7
-art_painting/person/pic_283.jpg 7
-art_painting/person/pic_281.jpg 7
-art_painting/person/pic_282.jpg 7
-art_painting/person/pic_285.jpg 7
-art_painting/person/pic_269.jpg 7
-art_painting/person/pic_297.jpg 7
-art_painting/person/pic_298.jpg 7
-art_painting/person/pic_296.jpg 7
-art_painting/person/pic_295.jpg 7
-art_painting/person/pic_134.jpg 7
-art_painting/person/pic_133.jpg 7
-art_painting/person/pic_135.jpg 7
-art_painting/person/pic_310.jpg 7
-art_painting/person/pic_141.jpg 7
-art_painting/person/pic_001.jpg 7
-art_painting/person/pic_002.jpg 7
-art_painting/person/pic_003.jpg 7
-art_painting/person/pic_004.jpg 7
-art_painting/person/pic_005.jpg 7
-art_painting/person/pic_048.jpg 7
-art_painting/person/pic_050.jpg 7
-art_painting/person/pic_052.jpg 7
-art_painting/person/pic_055.jpg 7
-art_painting/person/pic_056.jpg 7
-art_painting/person/pic_065.jpg 7
-art_painting/person/pic_331.jpg 7
-art_painting/person/pic_330.jpg 7
-art_painting/person/pic_176.jpg 7
-art_painting/person/pic_416.jpg 7
-art_painting/person/pic_420.jpg 7
-art_painting/person/pic_426.jpg 7
-art_painting/person/pic_424.jpg 7
-art_painting/person/pic_423.jpg 7
-art_painting/person/pic_421.jpg 7
-art_painting/person/pic_183.jpg 7
-art_painting/person/pic_428.jpg 7
-art_painting/person/pic_430.jpg 7
-art_painting/person/pic_429.jpg 7
-art_painting/person/pic_436.jpg 7
-art_painting/person/pic_437.jpg 7
-art_painting/person/pic_438.jpg 7
-art_painting/person/pic_184.jpg 7
-art_painting/person/pic_186.jpg 7
-art_painting/person/pic_388.jpg 7
-art_painting/person/pic_410.jpg 7
-art_painting/person/pic_400.jpg 7
-art_painting/person/pic_391.jpg 7
-art_painting/person/pic_406.jpg 7
-art_painting/person/pic_407.jpg 7
-art_painting/person/pic_417.jpg 7
-art_painting/person/pic_435.jpg 7
-art_painting/person/pic_433.jpg 7
-art_painting/person/pic_431.jpg 7
-art_painting/person/pic_467.jpg 7
-art_painting/person/pic_247.jpg 7
-art_painting/person/pic_249.jpg 7
-art_painting/person/pic_252.jpg 7
-art_painting/person/pic_255.jpg 7
-art_painting/person/pic_531.jpg 7
-art_painting/person/pic_530.jpg 7
-art_painting/person/pic_264.jpg 7
-art_painting/person/pic_262.jpg 7
-art_painting/person/pic_549.jpg 7
-art_painting/person/pic_260.jpg 7
-art_painting/person/pic_548.jpg 7
-art_painting/person/pic_501.jpg 7
-art_painting/person/pic_495.jpg 7
-art_painting/person/pic_494.jpg 7
-art_painting/person/pic_506.jpg 7
-art_painting/person/pic_532.jpg 7
-art_painting/person/pic_527.jpg 7
-art_painting/person/pic_525.jpg 7
-art_painting/person/pic_519.jpg 7
-art_painting/person/pic_523.jpg 7
-art_painting/person/pic_521.jpg 7
-art_painting/person/pic_520.jpg 7
-art_painting/person/pic_512.jpg 7
-art_painting/person/pic_528.jpg 7
-art_painting/person/pic_526.jpg 7
-art_painting/person/pic_518.jpg 7
-art_painting/person/pic_534.jpg 7
-art_painting/person/pic_538.jpg 7
-art_painting/person/pic_026.jpg 7
-art_painting/person/pic_047.jpg 7
-art_painting/person/pic_030.jpg 7
-art_painting/person/pic_022.jpg 7
-art_painting/person/pic_032.jpg 7
-art_painting/person/pic_024.jpg 7
-art_painting/person/pic_044.jpg 7
-art_painting/person/pic_038.jpg 7
-art_painting/person/pic_027.jpg 7
-art_painting/person/pic_019.jpg 7
-art_painting/person/pic_034.jpg 7
-art_painting/person/pic_045.jpg 7
-art_painting/person/pic_023.jpg 7
-art_painting/person/pic_029.jpg 7
-art_painting/person/pic_025.jpg 7
-art_painting/person/pic_041.jpg 7
-art_painting/person/pic_039.jpg 7
-art_painting/person/pic_031.jpg 7
-art_painting/person/pic_046.jpg 7
-art_painting/person/pic_020.jpg 7
-art_painting/person/pic_040.jpg 7
-art_painting/person/pic_226.jpg 7
-art_painting/person/pic_229.jpg 7
-art_painting/person/pic_228.jpg 7
-art_painting/person/pic_484.jpg 7
-art_painting/person/pic_234.jpg 7
-art_painting/person/pic_231.jpg 7
-art_painting/person/pic_232.jpg 7
-art_painting/person/pic_235.jpg 7
-art_painting/person/pic_505.jpg 7
-art_painting/person/pic_243.jpg 7
-art_painting/person/pic_237.jpg 7
-art_painting/person/pic_456.jpg 7
-art_painting/person/pic_200.jpg 7
-art_painting/person/pic_459.jpg 7
-art_painting/person/pic_460.jpg 7
-art_painting/person/pic_203.jpg 7
-art_painting/person/pic_206.jpg 7
-art_painting/person/pic_204.jpg 7
-art_painting/person/pic_202.jpg 7
-art_painting/person/pic_201.jpg 7
-art_painting/person/pic_462.jpg 7
-art_painting/person/pic_205.jpg 7
-art_painting/person/pic_213.jpg 7
-art_painting/person/pic_470.jpg 7
-art_painting/person/pic_469.jpg 7
-art_painting/person/pic_464.jpg 7
-art_painting/person/pic_209.jpg 7
-art_painting/person/pic_208.jpg 7
-art_painting/person/pic_210.jpg 7
-art_painting/person/pic_497.jpg 7
-art_painting/person/pic_236.jpg 7
-art_painting/person/pic_496.jpg 7
-art_painting/person/pic_503.jpg 7
-art_painting/person/pic_238.jpg 7
-art_painting/person/pic_508.jpg 7
-art_painting/person/pic_507.jpg 7
-art_painting/person/pic_504.jpg 7
-art_painting/person/pic_245.jpg 7
-art_painting/person/pic_254.jpg 7
-art_painting/person/pic_253.jpg 7
-art_painting/person/pic_522.jpg 7
-art_painting/person/pic_248.jpg 7
-art_painting/person/pic_514.jpg 7
-art_painting/person/pic_513.jpg 7
-art_painting/person/pic_246.jpg 7
-art_painting/person/pic_250.jpg 7
-art_painting/person/pic_132.jpg 7
-art_painting/person/pic_116.jpg 7
-art_painting/person/pic_104.jpg 7
-art_painting/person/pic_112.jpg 7
-art_painting/person/pic_100.jpg 7
-art_painting/person/pic_117.jpg 7
-art_painting/person/pic_122.jpg 7
-art_painting/person/pic_121.jpg 7
-art_painting/person/pic_129.jpg 7
-art_painting/person/pic_136.jpg 7
-art_painting/person/pic_193.jpg 7
-art_painting/person/pic_194.jpg 7
-art_painting/person/pic_192.jpg 7
-art_painting/person/pic_195.jpg 7
-art_painting/person/pic_241.jpg 7
-art_painting/person/pic_242.jpg 7
-art_painting/person/pic_240.jpg 7
-art_painting/person/pic_152.jpg 7
-art_painting/person/pic_170.jpg 7
-art_painting/person/pic_171.jpg 7
-art_painting/person/pic_168.jpg 7
-art_painting/person/pic_167.jpg 7
-art_painting/person/pic_320.jpg 7
-art_painting/person/pic_319.jpg 7
-art_painting/person/pic_318.jpg 7
-art_painting/person/pic_164.jpg 7
-art_painting/person/pic_163.jpg 7
-art_painting/person/pic_162.jpg 7
-art_painting/person/pic_161.jpg 7
-art_painting/person/pic_316.jpg 7
-art_painting/person/pic_160.jpg 7
-art_painting/person/pic_321.jpg 7
-art_painting/person/pic_165.jpg 7
-art_painting/person/pic_317.jpg 7
-art_painting/person/pic_166.jpg 7
-art_painting/person/pic_169.jpg 7
-art_painting/person/pic_535.jpg 7
-art_painting/person/pic_543.jpg 7
-art_painting/person/pic_540.jpg 7
-art_painting/person/pic_539.jpg 7
-art_painting/person/pic_542.jpg 7
-art_painting/person/pic_545.jpg 7
-art_painting/person/pic_559.jpg 7
-art_painting/person/pic_555.jpg 7
-art_painting/person/pic_553.jpg 7
-art_painting/person/pic_551.jpg 7
-art_painting/person/pic_552.jpg 7
-art_painting/person/pic_550.jpg 7
-art_painting/person/pic_546.jpg 7
-art_painting/person/pic_556.jpg 7
-art_painting/person/pic_558.jpg 7
-art_painting/person/pic_572.jpg 7
-art_painting/person/pic_571.jpg 7
-art_painting/person/pic_570.jpg 7
-art_painting/person/pic_564.jpg 7
-art_painting/person/pic_563.jpg 7
-art_painting/person/pic_560.jpg 7
-art_painting/person/pic_561.jpg 7
-art_painting/person/pic_577.jpg 7
-art_painting/person/pic_259.jpg 7
-art_painting/person/pic_547.jpg 7
-art_painting/person/pic_257.jpg 7
-art_painting/person/pic_256.jpg 7
-art_painting/person/pic_537.jpg 7
-art_painting/person/pic_536.jpg 7
-art_painting/person/pic_263.jpg 7
-art_painting/person/pic_051.jpg 7
-art_painting/person/pic_268.jpg 7
-art_painting/person/pic_574.jpg 7
-art_painting/person/pic_573.jpg 7
-art_painting/person/pic_267.jpg 7
-art_painting/person/pic_266.jpg 7
-art_painting/person/pic_265.jpg 7
-art_painting/person/pic_272.jpg 7
-art_painting/person/pic_568.jpg 7
-art_painting/person/pic_569.jpg 7
-art_painting/person/pic_271.jpg 7
-art_painting/person/pic_113.jpg 7
-art_painting/person/pic_111.jpg 7
-art_painting/person/pic_109.jpg 7
-art_painting/person/pic_107.jpg 7
-art_painting/person/pic_106.jpg 7
-art_painting/person/pic_105.jpg 7
-art_painting/person/pic_101.jpg 7
-art_painting/person/pic_099.jpg 7
-art_painting/person/pic_131.jpg 7
-art_painting/person/pic_120.jpg 7
-art_painting/person/pic_110.jpg 7
-art_painting/person/pic_123.jpg 7
-art_painting/person/pic_108.jpg 7
-art_painting/person/pic_098.jpg 7
-art_painting/person/pic_364.jpg 7
-art_painting/person/pic_363.jpg 7
-art_painting/person/pic_356.jpg 7
-art_painting/person/pic_357.jpg 7
-art_painting/person/pic_366.jpg 7
-art_painting/person/pic_372.jpg 7
-art_painting/person/pic_377.jpg 7
-art_painting/person/pic_378.jpg 7
-art_painting/person/pic_376.jpg 7
-art_painting/person/pic_371.jpg 7
-art_painting/person/pic_375.jpg 7
-art_painting/person/pic_389.jpg 7
-art_painting/person/pic_387.jpg 7
-art_painting/person/pic_386.jpg 7
-art_painting/person/pic_385.jpg 7
-art_painting/person/pic_379.jpg 7
-art_painting/person/pic_214.jpg 7
-art_painting/person/pic_211.jpg 7
-art_painting/person/pic_471.jpg 7
-art_painting/person/pic_475.jpg 7
-art_painting/person/pic_220.jpg 7
-art_painting/person/pic_218.jpg 7
-art_painting/person/pic_216.jpg 7
-art_painting/person/pic_215.jpg 7
-art_painting/person/pic_221.jpg 7
-art_painting/person/pic_217.jpg 7
-art_painting/person/pic_219.jpg 7
-art_painting/person/pic_227.jpg 7
-art_painting/person/pic_480.jpg 7
-art_painting/person/pic_479.jpg 7
-art_painting/person/pic_476.jpg 7
-art_painting/person/pic_224.jpg 7
-art_painting/person/pic_223.jpg 7
-art_painting/person/pic_222.jpg 7
-art_painting/person/pic_322.jpg 7
-art_painting/person/pic_306.jpg 7
-art_painting/person/pic_333.jpg 7
-art_painting/person/pic_346.jpg 7
-art_painting/person/pic_354.jpg 7
-art_painting/person/pic_353.jpg 7
-art_painting/person/pic_352.jpg 7
-art_painting/person/pic_351.jpg 7
-art_painting/person/pic_349.jpg 7
-art_painting/person/pic_347.jpg 7
-art_painting/person/pic_345.jpg 7
-art_painting/person/pic_338.jpg 7
-art_painting/person/pic_337.jpg 7
-art_painting/person/pic_350.jpg 7
-art_painting/person/pic_339.jpg 7
-art_painting/person/pic_368.jpg 7
-art_painting/person/pic_308.jpg 7
-art_painting/person/pic_151.jpg 7
-art_painting/person/pic_150.jpg 7
-art_painting/person/pic_149.jpg 7
-art_painting/person/pic_313.jpg 7
-art_painting/person/pic_148.jpg 7
-art_painting/person/pic_146.jpg 7
-art_painting/person/pic_311.jpg 7
-art_painting/person/pic_143.jpg 7
-art_painting/person/pic_144.jpg 7
-art_painting/person/pic_147.jpg 7
-art_painting/person/pic_145.jpg 7
-art_painting/person/pic_312.jpg 7
-art_painting/person/pic_314.jpg 7
-art_painting/person/pic_158.jpg 7
-art_painting/person/pic_157.jpg 7
-art_painting/person/pic_156.jpg 7
-art_painting/person/pic_155.jpg 7
-art_painting/person/pic_290.jpg 7
-art_painting/person/pic_288.jpg 7
-art_painting/person/pic_287.jpg 7
-art_painting/person/pic_294.jpg 7
-art_painting/person/pic_293.jpg 7
-art_painting/person/pic_292.jpg 7
-art_painting/person/pic_291.jpg 7
-art_painting/person/pic_301.jpg 7
-art_painting/person/pic_300.jpg 7
-art_painting/person/pic_305.jpg 7
-art_painting/person/pic_303.jpg 7
-art_painting/person/pic_304.jpg 7
-art_painting/person/pic_336.jpg 7
-art_painting/person/pic_325.jpg 7
-art_painting/person/pic_324.jpg 7
-art_painting/person/pic_006.jpg 7
-art_painting/person/pic_007.jpg 7
-art_painting/person/pic_008.jpg 7
-art_painting/person/pic_009.jpg 7
-art_painting/person/pic_010.jpg 7
-art_painting/person/pic_011.jpg 7
-art_painting/person/pic_012.jpg 7
-art_painting/person/pic_013.jpg 7
-art_painting/person/pic_014.jpg 7
-art_painting/person/pic_015.jpg 7
-art_painting/person/pic_016.jpg 7
-art_painting/person/pic_042.jpg 7
-art_painting/person/pic_033.jpg 7
-art_painting/person/pic_018.jpg 7
-art_painting/person/pic_036.jpg 7
-art_painting/person/pic_017.jpg 7
-art_painting/person/pic_037.jpg 7
-art_painting/person/pic_028.jpg 7
-art_painting/person/pic_043.jpg 7
-art_painting/person/pic_035.jpg 7
-art_painting/person/pic_327.jpg 7
-art_painting/person/pic_175.jpg 7
-art_painting/person/pic_328.jpg 7
-art_painting/person/pic_326.jpg 7
-art_painting/person/pic_174.jpg 7
-art_painting/person/pic_172.jpg 7
-art_painting/person/pic_329.jpg 7
-art_painting/person/pic_173.jpg 7
-art_painting/person/pic_178.jpg 7
-art_painting/person/pic_334.jpg 7
-art_painting/person/pic_335.jpg 7
-art_painting/person/pic_342.jpg 7
-art_painting/person/pic_181.jpg 7
-art_painting/person/pic_343.jpg 7
-art_painting/person/pic_180.jpg 7
-art_painting/person/pic_340.jpg 7
-art_painting/person/pic_359.jpg 7
-art_painting/person/pic_064.jpg 7
-art_painting/person/pic_062.jpg 7
-art_painting/person/pic_059.jpg 7
-art_painting/person/pic_060.jpg 7
-art_painting/person/pic_066.jpg 7
-art_painting/person/pic_063.jpg 7
-art_painting/person/pic_071.jpg 7
-art_painting/person/pic_070.jpg 7
-art_painting/person/pic_069.jpg 7
-art_painting/person/pic_072.jpg 7
-art_painting/person/pic_076.jpg 7
-art_painting/person/pic_074.jpg 7
-art_painting/person/pic_077.jpg 7
-art_painting/person/pic_078.jpg 7
-art_painting/person/pic_079.jpg 7
-art_painting/person/pic_080.jpg 7
-art_painting/person/pic_081.jpg 7
-art_painting/person/pic_082.jpg 7
-art_painting/person/pic_083.jpg 7
-art_painting/person/pic_094.jpg 7
-art_painting/person/pic_093.jpg 7
-art_painting/person/pic_089.jpg 7
-art_painting/person/pic_090.jpg 7
-art_painting/person/pic_086.jpg 7
-art_painting/person/pic_097.jpg 7
-art_painting/person/pic_124.jpg 7
-art_painting/person/pic_128.jpg 7
-art_painting/person/pic_127.jpg 7
-art_painting/person/pic_126.jpg 7
-art_painting/person/pic_115.jpg 7
-art_painting/person/pic_114.jpg 7
-art_painting/person/pic_463.jpg 7
-art_painting/person/pic_458.jpg 7
-art_painting/person/pic_444.jpg 7
-art_painting/person/pic_445.jpg 7
-art_painting/person/pic_466.jpg 7
-art_painting/person/pic_465.jpg 7
-art_painting/person/pic_493.jpg 7
-art_painting/person/pic_490.jpg 7
-art_painting/person/pic_487.jpg 7
-art_painting/person/pic_481.jpg 7
-art_painting/person/pic_474.jpg 7
-art_painting/person/pic_468.jpg 7
-art_painting/person/pic_492.jpg 7
-art_painting/person/pic_473.jpg 7
-art_painting/person/pic_511.jpg 7
-art_painting/person/pic_510.jpg 7
-art_painting/person/pic_502.jpg 7
-art_painting/person/pic_187.jpg 7
-art_painting/person/pic_441.jpg 7
-art_painting/person/pic_440.jpg 7
-art_painting/person/pic_188.jpg 7
-art_painting/person/pic_450.jpg 7
-art_painting/person/pic_449.jpg 7
-art_painting/person/pic_448.jpg 7
-art_painting/person/pic_447.jpg 7
-art_painting/person/pic_190.jpg 7
-art_painting/person/pic_454.jpg 7
-art_painting/person/pic_455.jpg 7
-art_painting/person/pic_199.jpg 7
-art_painting/person/pic_197.jpg 7
-art_painting/person/pic_198.jpg 7
-art_painting/person/pic_196.jpg 7
-art_painting/person/pic_191.jpg 7
-art_painting/person/pic_358.jpg 7
-art_painting/person/pic_361.jpg 7
-art_painting/person/pic_362.jpg 7
-art_painting/person/pic_382.jpg 7
-art_painting/person/pic_380.jpg 7
-art_painting/person/pic_381.jpg 7
-art_painting/person/pic_383.jpg 7
-art_painting/person/pic_398.jpg 7
-art_painting/person/pic_395.jpg 7
-art_painting/person/pic_394.jpg 7
-art_painting/person/pic_396.jpg 7
-art_painting/person/pic_397.jpg 7
-art_painting/person/pic_402.jpg 7
-art_painting/person/pic_404.jpg 7
-art_painting/person/pic_405.jpg 7
-art_painting/person/pic_412.jpg 7
-art_painting/person/pic_414.jpg 7
-art_painting/person/pic_413.jpg 7
diff --git a/data/pacs_split/art_painting_train_kfold.txt b/data/pacs_split/art_painting_train_kfold.txt
deleted file mode 100644
index 8b5405715..000000000
--- a/data/pacs_split/art_painting_train_kfold.txt
+++ /dev/null
@@ -1,1840 +0,0 @@
-art_painting/dog/pic_333.jpg 1
-art_painting/dog/pic_376.jpg 1
-art_painting/dog/pic_259.jpg 1
-art_painting/dog/pic_261.jpg 1
-art_painting/dog/pic_256.jpg 1
-art_painting/dog/pic_253.jpg 1
-art_painting/dog/pic_265.jpg 1
-art_painting/dog/pic_258.jpg 1
-art_painting/dog/pic_279.jpg 1
-art_painting/dog/pic_324.jpg 1
-art_painting/dog/pic_325.jpg 1
-art_painting/dog/pic_332.jpg 1
-art_painting/dog/pic_251.jpg 1
-art_painting/dog/pic_275.jpg 1
-art_painting/dog/pic_276.jpg 1
-art_painting/dog/pic_269.jpg 1
-art_painting/dog/pic_267.jpg 1
-art_painting/dog/pic_334.jpg 1
-art_painting/dog/pic_278.jpg 1
-art_painting/dog/pic_266.jpg 1
-art_painting/dog/pic_340.jpg 1
-art_painting/dog/pic_198.jpg 1
-art_painting/dog/pic_166.jpg 1
-art_painting/dog/pic_196.jpg 1
-art_painting/dog/pic_268.jpg 1
-art_painting/dog/pic_192.jpg 1
-art_painting/dog/pic_272.jpg 1
-art_painting/dog/pic_274.jpg 1
-art_painting/dog/pic_209.jpg 1
-art_painting/dog/pic_201.jpg 1
-art_painting/dog/pic_205.jpg 1
-art_painting/dog/pic_208.jpg 1
-art_painting/dog/pic_210.jpg 1
-art_painting/dog/pic_226.jpg 1
-art_painting/dog/pic_221.jpg 1
-art_painting/dog/pic_281.jpg 1
-art_painting/dog/pic_193.jpg 1
-art_painting/dog/pic_199.jpg 1
-art_painting/dog/pic_188.jpg 1
-art_painting/dog/pic_234.jpg 1
-art_painting/dog/pic_009.jpg 1
-art_painting/dog/pic_010.jpg 1
-art_painting/dog/pic_011.jpg 1
-art_painting/dog/pic_012.jpg 1
-art_painting/dog/pic_013.jpg 1
-art_painting/dog/pic_014.jpg 1
-art_painting/dog/pic_015.jpg 1
-art_painting/dog/pic_016.jpg 1
-art_painting/dog/pic_017.jpg 1
-art_painting/dog/pic_018.jpg 1
-art_painting/dog/pic_019.jpg 1
-art_painting/dog/pic_023.jpg 1
-art_painting/dog/pic_020.jpg 1
-art_painting/dog/pic_022.jpg 1
-art_painting/dog/pic_031.jpg 1
-art_painting/dog/pic_026.jpg 1
-art_painting/dog/pic_029.jpg 1
-art_painting/dog/pic_028.jpg 1
-art_painting/dog/pic_025.jpg 1
-art_painting/dog/pic_032.jpg 1
-art_painting/dog/pic_113.jpg 1
-art_painting/dog/pic_116.jpg 1
-art_painting/dog/pic_121.jpg 1
-art_painting/dog/pic_118.jpg 1
-art_painting/dog/pic_132.jpg 1
-art_painting/dog/pic_105.jpg 1
-art_painting/dog/pic_114.jpg 1
-art_painting/dog/pic_237.jpg 1
-art_painting/dog/pic_239.jpg 1
-art_painting/dog/pic_177.jpg 1
-art_painting/dog/pic_172.jpg 1
-art_painting/dog/pic_170.jpg 1
-art_painting/dog/pic_169.jpg 1
-art_painting/dog/pic_240.jpg 1
-art_painting/dog/pic_244.jpg 1
-art_painting/dog/pic_243.jpg 1
-art_painting/dog/pic_127.jpg 1
-art_painting/dog/pic_146.jpg 1
-art_painting/dog/pic_130.jpg 1
-art_painting/dog/pic_143.jpg 1
-art_painting/dog/pic_148.jpg 1
-art_painting/dog/pic_140.jpg 1
-art_painting/dog/pic_246.jpg 1
-art_painting/dog/pic_147.jpg 1
-art_painting/dog/pic_139.jpg 1
-art_painting/dog/pic_144.jpg 1
-art_painting/dog/pic_176.jpg 1
-art_painting/dog/pic_153.jpg 1
-art_painting/dog/pic_187.jpg 1
-art_painting/dog/pic_165.jpg 1
-art_painting/dog/pic_163.jpg 1
-art_painting/dog/pic_167.jpg 1
-art_painting/dog/pic_164.jpg 1
-art_painting/dog/pic_181.jpg 1
-art_painting/dog/pic_183.jpg 1
-art_painting/dog/pic_401.jpg 1
-art_painting/dog/pic_395.jpg 1
-art_painting/dog/pic_412.jpg 1
-art_painting/dog/pic_409.jpg 1
-art_painting/dog/pic_414.jpg 1
-art_painting/dog/pic_407.jpg 1
-art_painting/dog/pic_404.jpg 1
-art_painting/dog/pic_415.jpg 1
-art_painting/dog/pic_410.jpg 1
-art_painting/dog/pic_413.jpg 1
-art_painting/dog/pic_408.jpg 1
-art_painting/dog/pic_382.jpg 1
-art_painting/dog/pic_342.jpg 1
-art_painting/dog/pic_343.jpg 1
-art_painting/dog/pic_271.jpg 1
-art_painting/dog/pic_280.jpg 1
-art_painting/dog/pic_303.jpg 1
-art_painting/dog/pic_349.jpg 1
-art_painting/dog/pic_290.jpg 1
-art_painting/dog/pic_289.jpg 1
-art_painting/dog/pic_287.jpg 1
-art_painting/dog/pic_284.jpg 1
-art_painting/dog/pic_283.jpg 1
-art_painting/dog/pic_286.jpg 1
-art_painting/dog/pic_307.jpg 1
-art_painting/dog/pic_293.jpg 1
-art_painting/dog/pic_299.jpg 1
-art_painting/dog/pic_288.jpg 1
-art_painting/dog/pic_354.jpg 1
-art_painting/dog/pic_358.jpg 1
-art_painting/dog/pic_295.jpg 1
-art_painting/dog/pic_292.jpg 1
-art_painting/dog/pic_400.jpg 1
-art_painting/dog/pic_351.jpg 1
-art_painting/dog/pic_350.jpg 1
-art_painting/dog/pic_348.jpg 1
-art_painting/dog/pic_346.jpg 1
-art_painting/dog/pic_405.jpg 1
-art_painting/dog/pic_411.jpg 1
-art_painting/dog/pic_406.jpg 1
-art_painting/dog/pic_357.jpg 1
-art_painting/dog/pic_359.jpg 1
-art_painting/dog/pic_369.jpg 1
-art_painting/dog/pic_355.jpg 1
-art_painting/dog/pic_360.jpg 1
-art_painting/dog/pic_377.jpg 1
-art_painting/dog/pic_361.jpg 1
-art_painting/dog/pic_367.jpg 1
-art_painting/dog/pic_362.jpg 1
-art_painting/dog/pic_372.jpg 1
-art_painting/dog/pic_370.jpg 1
-art_painting/dog/pic_366.jpg 1
-art_painting/dog/pic_375.jpg 1
-art_painting/dog/pic_374.jpg 1
-art_painting/dog/pic_368.jpg 1
-art_painting/dog/pic_392.jpg 1
-art_painting/dog/pic_380.jpg 1
-art_painting/dog/pic_381.jpg 1
-art_painting/dog/pic_386.jpg 1
-art_painting/dog/pic_385.jpg 1
-art_painting/dog/pic_384.jpg 1
-art_painting/dog/pic_378.jpg 1
-art_painting/dog/pic_383.jpg 1
-art_painting/dog/pic_393.jpg 1
-art_painting/dog/pic_388.jpg 1
-art_painting/dog/pic_394.jpg 1
-art_painting/dog/pic_391.jpg 1
-art_painting/dog/pic_390.jpg 1
-art_painting/dog/pic_399.jpg 1
-art_painting/dog/pic_396.jpg 1
-art_painting/dog/pic_110.jpg 1
-art_painting/dog/pic_120.jpg 1
-art_painting/dog/pic_123.jpg 1
-art_painting/dog/pic_112.jpg 1
-art_painting/dog/pic_126.jpg 1
-art_painting/dog/pic_065.jpg 1
-art_painting/dog/pic_064.jpg 1
-art_painting/dog/pic_066.jpg 1
-art_painting/dog/pic_062.jpg 1
-art_painting/dog/pic_070.jpg 1
-art_painting/dog/pic_131.jpg 1
-art_painting/dog/pic_133.jpg 1
-art_painting/dog/pic_136.jpg 1
-art_painting/dog/pic_145.jpg 1
-art_painting/dog/pic_149.jpg 1
-art_painting/dog/pic_152.jpg 1
-art_painting/dog/pic_151.jpg 1
-art_painting/dog/pic_179.jpg 1
-art_painting/dog/pic_178.jpg 1
-art_painting/dog/pic_182.jpg 1
-art_painting/dog/pic_109.jpg 1
-art_painting/dog/pic_107.jpg 1
-art_painting/dog/pic_185.jpg 1
-art_painting/dog/pic_106.jpg 1
-art_painting/dog/pic_083.jpg 1
-art_painting/dog/pic_088.jpg 1
-art_painting/dog/pic_087.jpg 1
-art_painting/dog/pic_089.jpg 1
-art_painting/dog/pic_103.jpg 1
-art_painting/dog/pic_124.jpg 1
-art_painting/dog/pic_150.jpg 1
-art_painting/dog/pic_137.jpg 1
-art_painting/dog/pic_092.jpg 1
-art_painting/dog/pic_085.jpg 1
-art_painting/dog/pic_001.jpg 1
-art_painting/dog/pic_002.jpg 1
-art_painting/dog/pic_003.jpg 1
-art_painting/dog/pic_004.jpg 1
-art_painting/dog/pic_005.jpg 1
-art_painting/dog/pic_006.jpg 1
-art_painting/dog/pic_007.jpg 1
-art_painting/dog/pic_008.jpg 1
-art_painting/dog/pic_055.jpg 1
-art_painting/dog/pic_048.jpg 1
-art_painting/dog/pic_047.jpg 1
-art_painting/dog/pic_052.jpg 1
-art_painting/dog/pic_050.jpg 1
-art_painting/dog/pic_046.jpg 1
-art_painting/dog/pic_075.jpg 1
-art_painting/dog/pic_076.jpg 1
-art_painting/dog/pic_090.jpg 1
-art_painting/dog/pic_097.jpg 1
-art_painting/dog/pic_099.jpg 1
-art_painting/dog/pic_061.jpg 1
-art_painting/dog/pic_058.jpg 1
-art_painting/dog/pic_056.jpg 1
-art_painting/dog/pic_063.jpg 1
-art_painting/dog/pic_057.jpg 1
-art_painting/dog/pic_060.jpg 1
-art_painting/dog/pic_059.jpg 1
-art_painting/dog/pic_104.jpg 1
-art_painting/dog/pic_108.jpg 1
-art_painting/dog/pic_173.jpg 1
-art_painting/dog/pic_174.jpg 1
-art_painting/dog/pic_254.jpg 1
-art_painting/dog/pic_184.jpg 1
-art_painting/dog/pic_191.jpg 1
-art_painting/dog/pic_194.jpg 1
-art_painting/dog/pic_189.jpg 1
-art_painting/dog/pic_262.jpg 1
-art_painting/dog/pic_195.jpg 1
-art_painting/dog/pic_214.jpg 1
-art_painting/dog/pic_213.jpg 1
-art_painting/dog/pic_263.jpg 1
-art_painting/dog/pic_264.jpg 1
-art_painting/dog/pic_186.jpg 1
-art_painting/dog/pic_168.jpg 1
-art_painting/dog/pic_206.jpg 1
-art_painting/dog/pic_202.jpg 1
-art_painting/dog/pic_180.jpg 1
-art_painting/dog/pic_204.jpg 1
-art_painting/dog/pic_154.jpg 1
-art_painting/dog/pic_072.jpg 1
-art_painting/dog/pic_074.jpg 1
-art_painting/dog/pic_073.jpg 1
-art_painting/dog/pic_086.jpg 1
-art_painting/dog/pic_082.jpg 1
-art_painting/dog/pic_067.jpg 1
-art_painting/dog/pic_158.jpg 1
-art_painting/dog/pic_079.jpg 1
-art_painting/dog/pic_077.jpg 1
-art_painting/dog/pic_161.jpg 1
-art_painting/dog/pic_096.jpg 1
-art_painting/dog/pic_095.jpg 1
-art_painting/dog/pic_080.jpg 1
-art_painting/dog/pic_100.jpg 1
-art_painting/dog/pic_102.jpg 1
-art_painting/dog/pic_091.jpg 1
-art_painting/dog/pic_135.jpg 1
-art_painting/dog/pic_033.jpg 1
-art_painting/dog/pic_034.jpg 1
-art_painting/dog/pic_024.jpg 1
-art_painting/dog/pic_021.jpg 1
-art_painting/dog/pic_027.jpg 1
-art_painting/dog/pic_035.jpg 1
-art_painting/dog/pic_037.jpg 1
-art_painting/dog/pic_039.jpg 1
-art_painting/dog/pic_036.jpg 1
-art_painting/dog/pic_041.jpg 1
-art_painting/dog/pic_042.jpg 1
-art_painting/dog/pic_038.jpg 1
-art_painting/dog/pic_045.jpg 1
-art_painting/dog/pic_043.jpg 1
-art_painting/dog/pic_044.jpg 1
-art_painting/dog/pic_049.jpg 1
-art_painting/dog/pic_040.jpg 1
-art_painting/dog/pic_051.jpg 1
-art_painting/dog/pic_054.jpg 1
-art_painting/dog/pic_053.jpg 1
-art_painting/dog/pic_344.jpg 1
-art_painting/dog/pic_328.jpg 1
-art_painting/dog/pic_321.jpg 1
-art_painting/dog/pic_320.jpg 1
-art_painting/dog/pic_326.jpg 1
-art_painting/dog/pic_327.jpg 1
-art_painting/dog/pic_318.jpg 1
-art_painting/dog/pic_387.jpg 1
-art_painting/dog/pic_319.jpg 1
-art_painting/dog/pic_341.jpg 1
-art_painting/dog/pic_331.jpg 1
-art_painting/dog/pic_337.jpg 1
-art_painting/dog/pic_335.jpg 1
-art_painting/dog/pic_338.jpg 1
-art_painting/dog/pic_336.jpg 1
-art_painting/dog/pic_353.jpg 1
-art_painting/dog/pic_352.jpg 1
-art_painting/dog/pic_397.jpg 1
-art_painting/dog/pic_345.jpg 1
-art_painting/dog/pic_398.jpg 1
-art_painting/dog/pic_098.jpg 1
-art_painting/dog/pic_094.jpg 1
-art_painting/dog/pic_081.jpg 1
-art_painting/dog/pic_101.jpg 1
-art_painting/dog/pic_078.jpg 1
-art_painting/dog/pic_084.jpg 1
-art_painting/dog/pic_211.jpg 1
-art_painting/dog/pic_138.jpg 1
-art_painting/dog/pic_155.jpg 1
-art_painting/dog/pic_156.jpg 1
-art_painting/dog/pic_157.jpg 1
-art_painting/dog/pic_222.jpg 1
-art_painting/dog/pic_217.jpg 1
-art_painting/dog/pic_223.jpg 1
-art_painting/dog/pic_229.jpg 1
-art_painting/dog/pic_134.jpg 1
-art_painting/dog/pic_117.jpg 1
-art_painting/dog/pic_235.jpg 1
-art_painting/dog/pic_200.jpg 1
-art_painting/dog/pic_245.jpg 1
-art_painting/dog/pic_285.jpg 1
-art_painting/dog/pic_212.jpg 1
-art_painting/dog/pic_197.jpg 1
-art_painting/dog/pic_294.jpg 1
-art_painting/dog/pic_215.jpg 1
-art_painting/dog/pic_203.jpg 1
-art_painting/dog/pic_297.jpg 1
-art_painting/dog/pic_231.jpg 1
-art_painting/dog/pic_233.jpg 1
-art_painting/dog/pic_224.jpg 1
-art_painting/dog/pic_227.jpg 1
-art_painting/dog/pic_230.jpg 1
-art_painting/dog/pic_228.jpg 1
-art_painting/dog/pic_232.jpg 1
-art_painting/dog/pic_238.jpg 1
-art_painting/dog/pic_220.jpg 1
-art_painting/dog/pic_304.jpg 1
-art_painting/elephant/pic_085.jpg 2
-art_painting/elephant/pic_090.jpg 2
-art_painting/elephant/pic_089.jpg 2
-art_painting/elephant/pic_099.jpg 2
-art_painting/elephant/pic_111.jpg 2
-art_painting/elephant/pic_108.jpg 2
-art_painting/elephant/pic_114.jpg 2
-art_painting/elephant/pic_116.jpg 2
-art_painting/elephant/pic_123.jpg 2
-art_painting/elephant/pic_133.jpg 2
-art_painting/elephant/pic_131.jpg 2
-art_painting/elephant/pic_122.jpg 2
-art_painting/elephant/pic_113.jpg 2
-art_painting/elephant/pic_115.jpg 2
-art_painting/elephant/pic_112.jpg 2
-art_painting/elephant/pic_251.jpg 2
-art_painting/elephant/pic_250.jpg 2
-art_painting/elephant/pic_242.jpg 2
-art_painting/elephant/pic_246.jpg 2
-art_painting/elephant/pic_257.jpg 2
-art_painting/elephant/pic_249.jpg 2
-art_painting/elephant/pic_261.jpg 2
-art_painting/elephant/pic_260.jpg 2
-art_painting/elephant/pic_259.jpg 2
-art_painting/elephant/pic_039.jpg 2
-art_painting/elephant/pic_033.jpg 2
-art_painting/elephant/pic_041.jpg 2
-art_painting/elephant/pic_049.jpg 2
-art_painting/elephant/pic_048.jpg 2
-art_painting/elephant/pic_030.jpg 2
-art_painting/elephant/pic_026.jpg 2
-art_painting/elephant/pic_052.jpg 2
-art_painting/elephant/pic_053.jpg 2
-art_painting/elephant/pic_050.jpg 2
-art_painting/elephant/pic_054.jpg 2
-art_painting/elephant/pic_058.jpg 2
-art_painting/elephant/pic_056.jpg 2
-art_painting/elephant/pic_057.jpg 2
-art_painting/elephant/pic_055.jpg 2
-art_painting/elephant/pic_059.jpg 2
-art_painting/elephant/pic_060.jpg 2
-art_painting/elephant/pic_065.jpg 2
-art_painting/elephant/pic_063.jpg 2
-art_painting/elephant/pic_064.jpg 2
-art_painting/elephant/pic_061.jpg 2
-art_painting/elephant/pic_193.jpg 2
-art_painting/elephant/pic_192.jpg 2
-art_painting/elephant/pic_198.jpg 2
-art_painting/elephant/pic_201.jpg 2
-art_painting/elephant/pic_199.jpg 2
-art_painting/elephant/pic_212.jpg 2
-art_painting/elephant/pic_211.jpg 2
-art_painting/elephant/pic_210.jpg 2
-art_painting/elephant/pic_209.jpg 2
-art_painting/elephant/pic_208.jpg 2
-art_painting/elephant/pic_206.jpg 2
-art_painting/elephant/pic_207.jpg 2
-art_painting/elephant/pic_205.jpg 2
-art_painting/elephant/pic_203.jpg 2
-art_painting/elephant/pic_204.jpg 2
-art_painting/elephant/pic_222.jpg 2
-art_painting/elephant/pic_221.jpg 2
-art_painting/elephant/pic_218.jpg 2
-art_painting/elephant/pic_215.jpg 2
-art_painting/elephant/pic_213.jpg 2
-art_painting/elephant/pic_035.jpg 2
-art_painting/elephant/pic_036.jpg 2
-art_painting/elephant/pic_031.jpg 2
-art_painting/elephant/pic_034.jpg 2
-art_painting/elephant/pic_027.jpg 2
-art_painting/elephant/pic_040.jpg 2
-art_painting/elephant/pic_044.jpg 2
-art_painting/elephant/pic_043.jpg 2
-art_painting/elephant/pic_029.jpg 2
-art_painting/elephant/pic_023.jpg 2
-art_painting/elephant/pic_037.jpg 2
-art_painting/elephant/pic_045.jpg 2
-art_painting/elephant/pic_024.jpg 2
-art_painting/elephant/pic_046.jpg 2
-art_painting/elephant/pic_022.jpg 2
-art_painting/elephant/pic_047.jpg 2
-art_painting/elephant/pic_025.jpg 2
-art_painting/elephant/pic_021.jpg 2
-art_painting/elephant/pic_020.jpg 2
-art_painting/elephant/pic_174.jpg 2
-art_painting/elephant/pic_182.jpg 2
-art_painting/elephant/pic_181.jpg 2
-art_painting/elephant/pic_180.jpg 2
-art_painting/elephant/pic_178.jpg 2
-art_painting/elephant/pic_177.jpg 2
-art_painting/elephant/pic_188.jpg 2
-art_painting/elephant/pic_187.jpg 2
-art_painting/elephant/pic_185.jpg 2
-art_painting/elephant/pic_186.jpg 2
-art_painting/elephant/pic_184.jpg 2
-art_painting/elephant/pic_183.jpg 2
-art_painting/elephant/pic_191.jpg 2
-art_painting/elephant/pic_190.jpg 2
-art_painting/elephant/pic_189.jpg 2
-art_painting/elephant/pic_202.jpg 2
-art_painting/elephant/pic_200.jpg 2
-art_painting/elephant/pic_196.jpg 2
-art_painting/elephant/pic_197.jpg 2
-art_painting/elephant/pic_194.jpg 2
-art_painting/elephant/pic_195.jpg 2
-art_painting/elephant/pic_110.jpg 2
-art_painting/elephant/pic_106.jpg 2
-art_painting/elephant/pic_105.jpg 2
-art_painting/elephant/pic_102.jpg 2
-art_painting/elephant/pic_101.jpg 2
-art_painting/elephant/pic_100.jpg 2
-art_painting/elephant/pic_097.jpg 2
-art_painting/elephant/pic_095.jpg 2
-art_painting/elephant/pic_096.jpg 2
-art_painting/elephant/pic_127.jpg 2
-art_painting/elephant/pic_150.jpg 2
-art_painting/elephant/pic_130.jpg 2
-art_painting/elephant/pic_119.jpg 2
-art_painting/elephant/pic_109.jpg 2
-art_painting/elephant/pic_104.jpg 2
-art_painting/elephant/pic_129.jpg 2
-art_painting/elephant/pic_128.jpg 2
-art_painting/elephant/pic_103.jpg 2
-art_painting/elephant/pic_098.jpg 2
-art_painting/elephant/pic_214.jpg 2
-art_painting/elephant/pic_217.jpg 2
-art_painting/elephant/pic_232.jpg 2
-art_painting/elephant/pic_231.jpg 2
-art_painting/elephant/pic_230.jpg 2
-art_painting/elephant/pic_229.jpg 2
-art_painting/elephant/pic_226.jpg 2
-art_painting/elephant/pic_224.jpg 2
-art_painting/elephant/pic_225.jpg 2
-art_painting/elephant/pic_223.jpg 2
-art_painting/elephant/pic_227.jpg 2
-art_painting/elephant/pic_228.jpg 2
-art_painting/elephant/pic_235.jpg 2
-art_painting/elephant/pic_236.jpg 2
-art_painting/elephant/pic_234.jpg 2
-art_painting/elephant/pic_241.jpg 2
-art_painting/elephant/pic_258.jpg 2
-art_painting/elephant/pic_256.jpg 2
-art_painting/elephant/pic_254.jpg 2
-art_painting/elephant/pic_255.jpg 2
-art_painting/elephant/pic_253.jpg 2
-art_painting/elephant/pic_004.jpg 2
-art_painting/elephant/pic_005.jpg 2
-art_painting/elephant/pic_006.jpg 2
-art_painting/elephant/pic_007.jpg 2
-art_painting/elephant/pic_008.jpg 2
-art_painting/elephant/pic_009.jpg 2
-art_painting/elephant/pic_010.jpg 2
-art_painting/elephant/pic_011.jpg 2
-art_painting/elephant/pic_012.jpg 2
-art_painting/elephant/pic_014.jpg 2
-art_painting/elephant/pic_015.jpg 2
-art_painting/elephant/pic_016.jpg 2
-art_painting/elephant/pic_017.jpg 2
-art_painting/elephant/pic_018.jpg 2
-art_painting/elephant/pic_019.jpg 2
-art_painting/elephant/pic_051.jpg 2
-art_painting/elephant/pic_042.jpg 2
-art_painting/elephant/pic_028.jpg 2
-art_painting/elephant/pic_032.jpg 2
-art_painting/elephant/pic_001.jpg 2
-art_painting/elephant/pic_002.jpg 2
-art_painting/elephant/pic_003.jpg 2
-art_painting/elephant/pic_107.jpg 2
-art_painting/elephant/pic_117.jpg 2
-art_painting/elephant/pic_120.jpg 2
-art_painting/elephant/pic_118.jpg 2
-art_painting/elephant/pic_121.jpg 2
-art_painting/elephant/pic_125.jpg 2
-art_painting/elephant/pic_124.jpg 2
-art_painting/elephant/pic_126.jpg 2
-art_painting/elephant/pic_132.jpg 2
-art_painting/elephant/pic_151.jpg 2
-art_painting/elephant/pic_138.jpg 2
-art_painting/elephant/pic_139.jpg 2
-art_painting/elephant/pic_136.jpg 2
-art_painting/elephant/pic_137.jpg 2
-art_painting/elephant/pic_179.jpg 2
-art_painting/elephant/pic_134.jpg 2
-art_painting/elephant/pic_164.jpg 2
-art_painting/elephant/pic_163.jpg 2
-art_painting/elephant/pic_135.jpg 2
-art_painting/elephant/pic_165.jpg 2
-art_painting/elephant/pic_219.jpg 2
-art_painting/elephant/pic_062.jpg 2
-art_painting/elephant/pic_066.jpg 2
-art_painting/elephant/pic_067.jpg 2
-art_painting/elephant/pic_068.jpg 2
-art_painting/elephant/pic_069.jpg 2
-art_painting/elephant/pic_070.jpg 2
-art_painting/elephant/pic_071.jpg 2
-art_painting/elephant/pic_072.jpg 2
-art_painting/elephant/pic_073.jpg 2
-art_painting/elephant/pic_074.jpg 2
-art_painting/elephant/pic_075.jpg 2
-art_painting/elephant/pic_076.jpg 2
-art_painting/elephant/pic_077.jpg 2
-art_painting/elephant/pic_094.jpg 2
-art_painting/elephant/pic_092.jpg 2
-art_painting/elephant/pic_091.jpg 2
-art_painting/elephant/pic_088.jpg 2
-art_painting/elephant/pic_087.jpg 2
-art_painting/elephant/pic_086.jpg 2
-art_painting/elephant/pic_084.jpg 2
-art_painting/elephant/pic_083.jpg 2
-art_painting/elephant/pic_146.jpg 2
-art_painting/elephant/pic_142.jpg 2
-art_painting/elephant/pic_144.jpg 2
-art_painting/elephant/pic_143.jpg 2
-art_painting/elephant/pic_140.jpg 2
-art_painting/elephant/pic_141.jpg 2
-art_painting/elephant/pic_145.jpg 2
-art_painting/elephant/pic_149.jpg 2
-art_painting/elephant/pic_233.jpg 2
-art_painting/elephant/pic_148.jpg 2
-art_painting/elephant/pic_147.jpg 2
-art_painting/elephant/pic_220.jpg 2
-art_painting/elephant/pic_153.jpg 2
-art_painting/elephant/pic_237.jpg 2
-art_painting/elephant/pic_152.jpg 2
-art_painting/elephant/pic_238.jpg 2
-art_painting/elephant/pic_155.jpg 2
-art_painting/elephant/pic_252.jpg 2
-art_painting/elephant/pic_244.jpg 2
-art_painting/elephant/pic_240.jpg 2
-art_painting/giraffe/pic_308.jpg 3
-art_painting/giraffe/pic_307.jpg 3
-art_painting/giraffe/pic_276.jpg 3
-art_painting/giraffe/pic_298.jpg 3
-art_painting/giraffe/pic_244.jpg 3
-art_painting/giraffe/pic_242.jpg 3
-art_painting/giraffe/pic_240.jpg 3
-art_painting/giraffe/pic_234.jpg 3
-art_painting/giraffe/pic_206.jpg 3
-art_painting/giraffe/pic_204.jpg 3
-art_painting/giraffe/pic_193.jpg 3
-art_painting/giraffe/pic_190.jpg 3
-art_painting/giraffe/pic_188.jpg 3
-art_painting/giraffe/pic_186.jpg 3
-art_painting/giraffe/pic_280.jpg 3
-art_painting/giraffe/pic_177.jpg 3
-art_painting/giraffe/pic_264.jpg 3
-art_painting/giraffe/pic_263.jpg 3
-art_painting/giraffe/pic_282.jpg 3
-art_painting/giraffe/pic_077.jpg 3
-art_painting/giraffe/pic_075.jpg 3
-art_painting/giraffe/pic_083.jpg 3
-art_painting/giraffe/pic_090.jpg 3
-art_painting/giraffe/pic_089.jpg 3
-art_painting/giraffe/pic_088.jpg 3
-art_painting/giraffe/pic_087.jpg 3
-art_painting/giraffe/pic_086.jpg 3
-art_painting/giraffe/pic_085.jpg 3
-art_painting/giraffe/pic_084.jpg 3
-art_painting/giraffe/pic_092.jpg 3
-art_painting/giraffe/pic_091.jpg 3
-art_painting/giraffe/pic_097.jpg 3
-art_painting/giraffe/pic_096.jpg 3
-art_painting/giraffe/pic_095.jpg 3
-art_painting/giraffe/pic_093.jpg 3
-art_painting/giraffe/pic_094.jpg 3
-art_painting/giraffe/pic_100.jpg 3
-art_painting/giraffe/pic_107.jpg 3
-art_painting/giraffe/pic_106.jpg 3
-art_painting/giraffe/pic_247.jpg 3
-art_painting/giraffe/pic_252.jpg 3
-art_painting/giraffe/pic_266.jpg 3
-art_painting/giraffe/pic_246.jpg 3
-art_painting/giraffe/pic_241.jpg 3
-art_painting/giraffe/pic_248.jpg 3
-art_painting/giraffe/pic_271.jpg 3
-art_painting/giraffe/pic_283.jpg 3
-art_painting/giraffe/pic_258.jpg 3
-art_painting/giraffe/pic_279.jpg 3
-art_painting/giraffe/pic_297.jpg 3
-art_painting/giraffe/pic_300.jpg 3
-art_painting/giraffe/pic_257.jpg 3
-art_painting/giraffe/pic_249.jpg 3
-art_painting/giraffe/pic_254.jpg 3
-art_painting/giraffe/pic_253.jpg 3
-art_painting/giraffe/pic_245.jpg 3
-art_painting/giraffe/pic_236.jpg 3
-art_painting/giraffe/pic_164.jpg 3
-art_painting/giraffe/pic_166.jpg 3
-art_painting/giraffe/pic_200.jpg 3
-art_painting/giraffe/pic_147.jpg 3
-art_painting/giraffe/pic_210.jpg 3
-art_painting/giraffe/pic_170.jpg 3
-art_painting/giraffe/pic_168.jpg 3
-art_painting/giraffe/pic_223.jpg 3
-art_painting/giraffe/pic_213.jpg 3
-art_painting/giraffe/pic_207.jpg 3
-art_painting/giraffe/pic_171.jpg 3
-art_painting/giraffe/pic_232.jpg 3
-art_painting/giraffe/pic_211.jpg 3
-art_painting/giraffe/pic_221.jpg 3
-art_painting/giraffe/pic_230.jpg 3
-art_painting/giraffe/pic_235.jpg 3
-art_painting/giraffe/pic_212.jpg 3
-art_painting/giraffe/pic_231.jpg 3
-art_painting/giraffe/pic_021.jpg 3
-art_painting/giraffe/pic_033.jpg 3
-art_painting/giraffe/pic_050.jpg 3
-art_painting/giraffe/pic_046.jpg 3
-art_painting/giraffe/pic_045.jpg 3
-art_painting/giraffe/pic_030.jpg 3
-art_painting/giraffe/pic_037.jpg 3
-art_painting/giraffe/pic_024.jpg 3
-art_painting/giraffe/pic_042.jpg 3
-art_painting/giraffe/pic_028.jpg 3
-art_painting/giraffe/pic_051.jpg 3
-art_painting/giraffe/pic_025.jpg 3
-art_painting/giraffe/pic_043.jpg 3
-art_painting/giraffe/pic_052.jpg 3
-art_painting/giraffe/pic_049.jpg 3
-art_painting/giraffe/pic_044.jpg 3
-art_painting/giraffe/pic_023.jpg 3
-art_painting/giraffe/pic_053.jpg 3
-art_painting/giraffe/pic_056.jpg 3
-art_painting/giraffe/pic_068.jpg 3
-art_painting/giraffe/pic_063.jpg 3
-art_painting/giraffe/pic_182.jpg 3
-art_painting/giraffe/pic_173.jpg 3
-art_painting/giraffe/pic_165.jpg 3
-art_painting/giraffe/pic_154.jpg 3
-art_painting/giraffe/pic_138.jpg 3
-art_painting/giraffe/pic_137.jpg 3
-art_painting/giraffe/pic_136.jpg 3
-art_painting/giraffe/pic_062.jpg 3
-art_painting/giraffe/pic_061.jpg 3
-art_painting/giraffe/pic_059.jpg 3
-art_painting/giraffe/pic_060.jpg 3
-art_painting/giraffe/pic_058.jpg 3
-art_painting/giraffe/pic_057.jpg 3
-art_painting/giraffe/pic_069.jpg 3
-art_painting/giraffe/pic_066.jpg 3
-art_painting/giraffe/pic_065.jpg 3
-art_painting/giraffe/pic_070.jpg 3
-art_painting/giraffe/pic_072.jpg 3
-art_painting/giraffe/pic_071.jpg 3
-art_painting/giraffe/pic_074.jpg 3
-art_painting/giraffe/pic_073.jpg 3
-art_painting/giraffe/pic_081.jpg 3
-art_painting/giraffe/pic_082.jpg 3
-art_painting/giraffe/pic_080.jpg 3
-art_painting/giraffe/pic_078.jpg 3
-art_painting/giraffe/pic_079.jpg 3
-art_painting/giraffe/pic_001.jpg 3
-art_painting/giraffe/pic_002.jpg 3
-art_painting/giraffe/pic_003.jpg 3
-art_painting/giraffe/pic_004.jpg 3
-art_painting/giraffe/pic_005.jpg 3
-art_painting/giraffe/pic_007.jpg 3
-art_painting/giraffe/pic_008.jpg 3
-art_painting/giraffe/pic_009.jpg 3
-art_painting/giraffe/pic_010.jpg 3
-art_painting/giraffe/pic_011.jpg 3
-art_painting/giraffe/pic_012.jpg 3
-art_painting/giraffe/pic_013.jpg 3
-art_painting/giraffe/pic_014.jpg 3
-art_painting/giraffe/pic_015.jpg 3
-art_painting/giraffe/pic_016.jpg 3
-art_painting/giraffe/pic_140.jpg 3
-art_painting/giraffe/pic_150.jpg 3
-art_painting/giraffe/pic_159.jpg 3
-art_painting/giraffe/pic_135.jpg 3
-art_painting/giraffe/pic_224.jpg 3
-art_painting/giraffe/pic_153.jpg 3
-art_painting/giraffe/pic_227.jpg 3
-art_painting/giraffe/pic_226.jpg 3
-art_painting/giraffe/pic_162.jpg 3
-art_painting/giraffe/pic_175.jpg 3
-art_painting/giraffe/pic_225.jpg 3
-art_painting/giraffe/pic_229.jpg 3
-art_painting/giraffe/pic_167.jpg 3
-art_painting/giraffe/pic_174.jpg 3
-art_painting/giraffe/pic_161.jpg 3
-art_painting/giraffe/pic_184.jpg 3
-art_painting/giraffe/pic_141.jpg 3
-art_painting/giraffe/pic_201.jpg 3
-art_painting/giraffe/pic_237.jpg 3
-art_painting/giraffe/pic_163.jpg 3
-art_painting/giraffe/pic_133.jpg 3
-art_painting/giraffe/pic_132.jpg 3
-art_painting/giraffe/pic_130.jpg 3
-art_painting/giraffe/pic_125.jpg 3
-art_painting/giraffe/pic_123.jpg 3
-art_painting/giraffe/pic_121.jpg 3
-art_painting/giraffe/pic_122.jpg 3
-art_painting/giraffe/pic_119.jpg 3
-art_painting/giraffe/pic_120.jpg 3
-art_painting/giraffe/pic_118.jpg 3
-art_painting/giraffe/pic_208.jpg 3
-art_painting/giraffe/pic_217.jpg 3
-art_painting/giraffe/pic_172.jpg 3
-art_painting/giraffe/pic_157.jpg 3
-art_painting/giraffe/pic_152.jpg 3
-art_painting/giraffe/pic_143.jpg 3
-art_painting/giraffe/pic_176.jpg 3
-art_painting/giraffe/pic_146.jpg 3
-art_painting/giraffe/pic_139.jpg 3
-art_painting/giraffe/pic_142.jpg 3
-art_painting/giraffe/pic_105.jpg 3
-art_painting/giraffe/pic_104.jpg 3
-art_painting/giraffe/pic_102.jpg 3
-art_painting/giraffe/pic_101.jpg 3
-art_painting/giraffe/pic_099.jpg 3
-art_painting/giraffe/pic_098.jpg 3
-art_painting/giraffe/pic_103.jpg 3
-art_painting/giraffe/pic_115.jpg 3
-art_painting/giraffe/pic_117.jpg 3
-art_painting/giraffe/pic_116.jpg 3
-art_painting/giraffe/pic_110.jpg 3
-art_painting/giraffe/pic_113.jpg 3
-art_painting/giraffe/pic_111.jpg 3
-art_painting/giraffe/pic_112.jpg 3
-art_painting/giraffe/pic_109.jpg 3
-art_painting/giraffe/pic_108.jpg 3
-art_painting/giraffe/pic_114.jpg 3
-art_painting/giraffe/pic_126.jpg 3
-art_painting/giraffe/pic_128.jpg 3
-art_painting/giraffe/pic_218.jpg 3
-art_painting/giraffe/pic_178.jpg 3
-art_painting/giraffe/pic_191.jpg 3
-art_painting/giraffe/pic_285.jpg 3
-art_painting/giraffe/pic_270.jpg 3
-art_painting/giraffe/pic_267.jpg 3
-art_painting/giraffe/pic_288.jpg 3
-art_painting/giraffe/pic_261.jpg 3
-art_painting/giraffe/pic_305.jpg 3
-art_painting/giraffe/pic_274.jpg 3
-art_painting/giraffe/pic_251.jpg 3
-art_painting/giraffe/pic_291.jpg 3
-art_painting/giraffe/pic_259.jpg 3
-art_painting/giraffe/pic_262.jpg 3
-art_painting/giraffe/pic_304.jpg 3
-art_painting/giraffe/pic_268.jpg 3
-art_painting/giraffe/pic_256.jpg 3
-art_painting/giraffe/pic_281.jpg 3
-art_painting/giraffe/pic_292.jpg 3
-art_painting/giraffe/pic_293.jpg 3
-art_painting/giraffe/pic_277.jpg 3
-art_painting/giraffe/pic_017.jpg 3
-art_painting/giraffe/pic_018.jpg 3
-art_painting/giraffe/pic_019.jpg 3
-art_painting/giraffe/pic_022.jpg 3
-art_painting/giraffe/pic_027.jpg 3
-art_painting/giraffe/pic_034.jpg 3
-art_painting/giraffe/pic_035.jpg 3
-art_painting/giraffe/pic_029.jpg 3
-art_painting/giraffe/pic_055.jpg 3
-art_painting/giraffe/pic_054.jpg 3
-art_painting/giraffe/pic_048.jpg 3
-art_painting/giraffe/pic_047.jpg 3
-art_painting/giraffe/pic_031.jpg 3
-art_painting/giraffe/pic_032.jpg 3
-art_painting/giraffe/pic_041.jpg 3
-art_painting/giraffe/pic_036.jpg 3
-art_painting/giraffe/pic_040.jpg 3
-art_painting/giraffe/pic_038.jpg 3
-art_painting/giraffe/pic_039.jpg 3
-art_painting/giraffe/pic_020.jpg 3
-art_painting/giraffe/pic_026.jpg 3
-art_painting/giraffe/pic_243.jpg 3
-art_painting/giraffe/pic_278.jpg 3
-art_painting/giraffe/pic_272.jpg 3
-art_painting/giraffe/pic_306.jpg 3
-art_painting/giraffe/pic_290.jpg 3
-art_painting/giraffe/pic_265.jpg 3
-art_painting/giraffe/pic_255.jpg 3
-art_painting/giraffe/pic_194.jpg 3
-art_painting/giraffe/pic_216.jpg 3
-art_painting/giraffe/pic_215.jpg 3
-art_painting/giraffe/pic_233.jpg 3
-art_painting/giraffe/pic_203.jpg 3
-art_painting/giraffe/pic_192.jpg 3
-art_painting/giraffe/pic_214.jpg 3
-art_painting/giraffe/pic_239.jpg 3
-art_painting/giraffe/pic_205.jpg 3
-art_painting/giraffe/pic_180.jpg 3
-art_painting/giraffe/pic_195.jpg 3
-art_painting/guitar/pic_055.jpg 4
-art_painting/guitar/pic_059.jpg 4
-art_painting/guitar/pic_061.jpg 4
-art_painting/guitar/pic_060.jpg 4
-art_painting/guitar/pic_062.jpg 4
-art_painting/guitar/pic_063.jpg 4
-art_painting/guitar/pic_064.jpg 4
-art_painting/guitar/pic_067.jpg 4
-art_painting/guitar/pic_069.jpg 4
-art_painting/guitar/pic_077.jpg 4
-art_painting/guitar/pic_076.jpg 4
-art_painting/guitar/pic_075.jpg 4
-art_painting/guitar/pic_073.jpg 4
-art_painting/guitar/pic_072.jpg 4
-art_painting/guitar/pic_071.jpg 4
-art_painting/guitar/pic_070.jpg 4
-art_painting/guitar/pic_078.jpg 4
-art_painting/guitar/pic_111.jpg 4
-art_painting/guitar/pic_101.jpg 4
-art_painting/guitar/pic_130.jpg 4
-art_painting/guitar/pic_113.jpg 4
-art_painting/guitar/pic_182.jpg 4
-art_painting/guitar/pic_115.jpg 4
-art_painting/guitar/pic_100.jpg 4
-art_painting/guitar/pic_104.jpg 4
-art_painting/guitar/pic_098.jpg 4
-art_painting/guitar/pic_155.jpg 4
-art_painting/guitar/pic_149.jpg 4
-art_painting/guitar/pic_144.jpg 4
-art_painting/guitar/pic_143.jpg 4
-art_painting/guitar/pic_120.jpg 4
-art_painting/guitar/pic_152.jpg 4
-art_painting/guitar/pic_170.jpg 4
-art_painting/guitar/pic_157.jpg 4
-art_painting/guitar/pic_107.jpg 4
-art_painting/guitar/pic_173.jpg 4
-art_painting/guitar/pic_128.jpg 4
-art_painting/guitar/pic_074.jpg 4
-art_painting/guitar/pic_088.jpg 4
-art_painting/guitar/pic_087.jpg 4
-art_painting/guitar/pic_086.jpg 4
-art_painting/guitar/pic_084.jpg 4
-art_painting/guitar/pic_082.jpg 4
-art_painting/guitar/pic_083.jpg 4
-art_painting/guitar/pic_081.jpg 4
-art_painting/guitar/pic_079.jpg 4
-art_painting/guitar/pic_080.jpg 4
-art_painting/guitar/pic_089.jpg 4
-art_painting/guitar/pic_085.jpg 4
-art_painting/guitar/pic_142.jpg 4
-art_painting/guitar/pic_134.jpg 4
-art_painting/guitar/pic_133.jpg 4
-art_painting/guitar/pic_129.jpg 4
-art_painting/guitar/pic_127.jpg 4
-art_painting/guitar/pic_118.jpg 4
-art_painting/guitar/pic_109.jpg 4
-art_painting/guitar/pic_106.jpg 4
-art_painting/guitar/pic_103.jpg 4
-art_painting/guitar/pic_001.jpg 4
-art_painting/guitar/pic_002.jpg 4
-art_painting/guitar/pic_003.jpg 4
-art_painting/guitar/pic_004.jpg 4
-art_painting/guitar/pic_005.jpg 4
-art_painting/guitar/pic_006.jpg 4
-art_painting/guitar/pic_007.jpg 4
-art_painting/guitar/pic_008.jpg 4
-art_painting/guitar/pic_009.jpg 4
-art_painting/guitar/pic_010.jpg 4
-art_painting/guitar/pic_011.jpg 4
-art_painting/guitar/pic_012.jpg 4
-art_painting/guitar/pic_013.jpg 4
-art_painting/guitar/pic_014.jpg 4
-art_painting/guitar/pic_015.jpg 4
-art_painting/guitar/pic_020.jpg 4
-art_painting/guitar/pic_018.jpg 4
-art_painting/guitar/pic_017.jpg 4
-art_painting/guitar/pic_016.jpg 4
-art_painting/guitar/pic_026.jpg 4
-art_painting/guitar/pic_025.jpg 4
-art_painting/guitar/pic_024.jpg 4
-art_painting/guitar/pic_023.jpg 4
-art_painting/guitar/pic_021.jpg 4
-art_painting/guitar/pic_019.jpg 4
-art_painting/guitar/pic_022.jpg 4
-art_painting/guitar/pic_028.jpg 4
-art_painting/guitar/pic_027.jpg 4
-art_painting/guitar/pic_035.jpg 4
-art_painting/guitar/pic_047.jpg 4
-art_painting/guitar/pic_042.jpg 4
-art_painting/guitar/pic_043.jpg 4
-art_painting/guitar/pic_041.jpg 4
-art_painting/guitar/pic_040.jpg 4
-art_painting/guitar/pic_038.jpg 4
-art_painting/guitar/pic_037.jpg 4
-art_painting/guitar/pic_036.jpg 4
-art_painting/guitar/pic_034.jpg 4
-art_painting/guitar/pic_032.jpg 4
-art_painting/guitar/pic_031.jpg 4
-art_painting/guitar/pic_029.jpg 4
-art_painting/guitar/pic_044.jpg 4
-art_painting/guitar/pic_039.jpg 4
-art_painting/guitar/pic_048.jpg 4
-art_painting/guitar/pic_030.jpg 4
-art_painting/guitar/pic_049.jpg 4
-art_painting/guitar/pic_033.jpg 4
-art_painting/guitar/pic_053.jpg 4
-art_painting/guitar/pic_052.jpg 4
-art_painting/guitar/pic_051.jpg 4
-art_painting/guitar/pic_050.jpg 4
-art_painting/guitar/pic_058.jpg 4
-art_painting/guitar/pic_056.jpg 4
-art_painting/guitar/pic_175.jpg 4
-art_painting/guitar/pic_167.jpg 4
-art_painting/guitar/pic_196.jpg 4
-art_painting/guitar/pic_197.jpg 4
-art_painting/guitar/pic_199.jpg 4
-art_painting/guitar/pic_192.jpg 4
-art_painting/guitar/pic_194.jpg 4
-art_painting/guitar/pic_190.jpg 4
-art_painting/guitar/pic_189.jpg 4
-art_painting/guitar/pic_188.jpg 4
-art_painting/guitar/pic_195.jpg 4
-art_painting/guitar/pic_201.jpg 4
-art_painting/guitar/pic_191.jpg 4
-art_painting/guitar/pic_193.jpg 4
-art_painting/guitar/pic_131.jpg 4
-art_painting/guitar/pic_114.jpg 4
-art_painting/guitar/pic_141.jpg 4
-art_painting/guitar/pic_105.jpg 4
-art_painting/guitar/pic_117.jpg 4
-art_painting/guitar/pic_178.jpg 4
-art_painting/guitar/pic_171.jpg 4
-art_painting/guitar/pic_169.jpg 4
-art_painting/guitar/pic_156.jpg 4
-art_painting/guitar/pic_148.jpg 4
-art_painting/guitar/pic_123.jpg 4
-art_painting/guitar/pic_163.jpg 4
-art_painting/guitar/pic_110.jpg 4
-art_painting/guitar/pic_138.jpg 4
-art_painting/guitar/pic_116.jpg 4
-art_painting/guitar/pic_145.jpg 4
-art_painting/guitar/pic_121.jpg 4
-art_painting/guitar/pic_160.jpg 4
-art_painting/guitar/pic_177.jpg 4
-art_painting/guitar/pic_166.jpg 4
-art_painting/guitar/pic_159.jpg 4
-art_painting/guitar/pic_102.jpg 4
-art_painting/guitar/pic_099.jpg 4
-art_painting/guitar/pic_097.jpg 4
-art_painting/guitar/pic_095.jpg 4
-art_painting/guitar/pic_092.jpg 4
-art_painting/guitar/pic_094.jpg 4
-art_painting/guitar/pic_093.jpg 4
-art_painting/guitar/pic_091.jpg 4
-art_painting/guitar/pic_090.jpg 4
-art_painting/guitar/pic_140.jpg 4
-art_painting/guitar/pic_153.jpg 4
-art_painting/guitar/pic_158.jpg 4
-art_painting/guitar/pic_132.jpg 4
-art_painting/guitar/pic_135.jpg 4
-art_painting/guitar/pic_119.jpg 4
-art_painting/guitar/pic_122.jpg 4
-art_painting/guitar/pic_108.jpg 4
-art_painting/guitar/pic_136.jpg 4
-art_painting/guitar/pic_112.jpg 4
-art_painting/horse/pic_005.jpg 5
-art_painting/horse/pic_096.jpg 5
-art_painting/horse/pic_103.jpg 5
-art_painting/horse/pic_110.jpg 5
-art_painting/horse/pic_098.jpg 5
-art_painting/horse/pic_116.jpg 5
-art_painting/horse/pic_120.jpg 5
-art_painting/horse/pic_112.jpg 5
-art_painting/horse/pic_106.jpg 5
-art_painting/horse/pic_123.jpg 5
-art_painting/horse/pic_117.jpg 5
-art_painting/horse/pic_181.jpg 5
-art_painting/horse/pic_141.jpg 5
-art_painting/horse/pic_145.jpg 5
-art_painting/horse/pic_139.jpg 5
-art_painting/horse/pic_138.jpg 5
-art_painting/horse/pic_137.jpg 5
-art_painting/horse/pic_134.jpg 5
-art_painting/horse/pic_135.jpg 5
-art_painting/horse/pic_073.jpg 5
-art_painting/horse/pic_071.jpg 5
-art_painting/horse/pic_072.jpg 5
-art_painting/horse/pic_076.jpg 5
-art_painting/horse/pic_079.jpg 5
-art_painting/horse/pic_081.jpg 5
-art_painting/horse/pic_078.jpg 5
-art_painting/horse/pic_074.jpg 5
-art_painting/horse/pic_077.jpg 5
-art_painting/horse/pic_080.jpg 5
-art_painting/horse/pic_109.jpg 5
-art_painting/horse/pic_104.jpg 5
-art_painting/horse/pic_101.jpg 5
-art_painting/horse/pic_100.jpg 5
-art_painting/horse/pic_097.jpg 5
-art_painting/horse/pic_089.jpg 5
-art_painting/horse/pic_090.jpg 5
-art_painting/horse/pic_091.jpg 5
-art_painting/horse/pic_088.jpg 5
-art_painting/horse/pic_087.jpg 5
-art_painting/horse/pic_083.jpg 5
-art_painting/horse/pic_047.jpg 5
-art_painting/horse/pic_048.jpg 5
-art_painting/horse/pic_049.jpg 5
-art_painting/horse/pic_050.jpg 5
-art_painting/horse/pic_006.jpg 5
-art_painting/horse/pic_007.jpg 5
-art_painting/horse/pic_008.jpg 5
-art_painting/horse/pic_010.jpg 5
-art_painting/horse/pic_011.jpg 5
-art_painting/horse/pic_012.jpg 5
-art_painting/horse/pic_014.jpg 5
-art_painting/horse/pic_015.jpg 5
-art_painting/horse/pic_017.jpg 5
-art_painting/horse/pic_027.jpg 5
-art_painting/horse/pic_019.jpg 5
-art_painting/horse/pic_032.jpg 5
-art_painting/horse/pic_035.jpg 5
-art_painting/horse/pic_024.jpg 5
-art_painting/horse/pic_036.jpg 5
-art_painting/horse/pic_031.jpg 5
-art_painting/horse/pic_160.jpg 5
-art_painting/horse/pic_169.jpg 5
-art_painting/horse/pic_184.jpg 5
-art_painting/horse/pic_179.jpg 5
-art_painting/horse/pic_177.jpg 5
-art_painting/horse/pic_178.jpg 5
-art_painting/horse/pic_176.jpg 5
-art_painting/horse/pic_172.jpg 5
-art_painting/horse/pic_174.jpg 5
-art_painting/horse/pic_173.jpg 5
-art_painting/horse/pic_171.jpg 5
-art_painting/horse/pic_186.jpg 5
-art_painting/horse/pic_199.jpg 5
-art_painting/horse/pic_198.jpg 5
-art_painting/horse/pic_197.jpg 5
-art_painting/horse/pic_191.jpg 5
-art_painting/horse/pic_189.jpg 5
-art_painting/horse/pic_053.jpg 5
-art_painting/horse/pic_051.jpg 5
-art_painting/horse/pic_054.jpg 5
-art_painting/horse/pic_052.jpg 5
-art_painting/horse/pic_057.jpg 5
-art_painting/horse/pic_056.jpg 5
-art_painting/horse/pic_059.jpg 5
-art_painting/horse/pic_060.jpg 5
-art_painting/horse/pic_062.jpg 5
-art_painting/horse/pic_063.jpg 5
-art_painting/horse/pic_061.jpg 5
-art_painting/horse/pic_067.jpg 5
-art_painting/horse/pic_069.jpg 5
-art_painting/horse/pic_066.jpg 5
-art_painting/horse/pic_064.jpg 5
-art_painting/horse/pic_065.jpg 5
-art_painting/horse/pic_070.jpg 5
-art_painting/horse/pic_075.jpg 5
-art_painting/horse/pic_086.jpg 5
-art_painting/horse/pic_082.jpg 5
-art_painting/horse/pic_105.jpg 5
-art_painting/horse/pic_108.jpg 5
-art_painting/horse/pic_107.jpg 5
-art_painting/horse/pic_084.jpg 5
-art_painting/horse/pic_093.jpg 5
-art_painting/horse/pic_099.jpg 5
-art_painting/horse/pic_092.jpg 5
-art_painting/horse/pic_095.jpg 5
-art_painting/horse/pic_121.jpg 5
-art_painting/horse/pic_114.jpg 5
-art_painting/horse/pic_085.jpg 5
-art_painting/horse/pic_113.jpg 5
-art_painting/horse/pic_122.jpg 5
-art_painting/horse/pic_115.jpg 5
-art_painting/horse/pic_102.jpg 5
-art_painting/horse/pic_119.jpg 5
-art_painting/horse/pic_227.jpg 5
-art_painting/horse/pic_226.jpg 5
-art_painting/horse/pic_224.jpg 5
-art_painting/horse/pic_223.jpg 5
-art_painting/horse/pic_222.jpg 5
-art_painting/horse/pic_220.jpg 5
-art_painting/horse/pic_218.jpg 5
-art_painting/horse/pic_217.jpg 5
-art_painting/horse/pic_228.jpg 5
-art_painting/horse/pic_221.jpg 5
-art_painting/horse/pic_219.jpg 5
-art_painting/horse/pic_232.jpg 5
-art_painting/horse/pic_229.jpg 5
-art_painting/horse/pic_193.jpg 5
-art_painting/horse/pic_192.jpg 5
-art_painting/horse/pic_196.jpg 5
-art_painting/horse/pic_200.jpg 5
-art_painting/horse/pic_208.jpg 5
-art_painting/horse/pic_206.jpg 5
-art_painting/horse/pic_203.jpg 5
-art_painting/horse/pic_202.jpg 5
-art_painting/horse/pic_201.jpg 5
-art_painting/horse/pic_209.jpg 5
-art_painting/horse/pic_207.jpg 5
-art_painting/horse/pic_205.jpg 5
-art_painting/horse/pic_210.jpg 5
-art_painting/horse/pic_215.jpg 5
-art_painting/horse/pic_216.jpg 5
-art_painting/horse/pic_212.jpg 5
-art_painting/horse/pic_213.jpg 5
-art_painting/horse/pic_214.jpg 5
-art_painting/horse/pic_225.jpg 5
-art_painting/horse/pic_133.jpg 5
-art_painting/horse/pic_131.jpg 5
-art_painting/horse/pic_125.jpg 5
-art_painting/horse/pic_127.jpg 5
-art_painting/horse/pic_126.jpg 5
-art_painting/horse/pic_156.jpg 5
-art_painting/horse/pic_143.jpg 5
-art_painting/horse/pic_147.jpg 5
-art_painting/horse/pic_144.jpg 5
-art_painting/horse/pic_146.jpg 5
-art_painting/horse/pic_155.jpg 5
-art_painting/horse/pic_142.jpg 5
-art_painting/horse/pic_136.jpg 5
-art_painting/horse/pic_148.jpg 5
-art_painting/horse/pic_162.jpg 5
-art_painting/horse/pic_163.jpg 5
-art_painting/horse/pic_128.jpg 5
-art_painting/horse/pic_154.jpg 5
-art_painting/horse/pic_150.jpg 5
-art_painting/horse/pic_151.jpg 5
-art_painting/horse/pic_152.jpg 5
-art_painting/horse/pic_182.jpg 5
-art_painting/horse/pic_157.jpg 5
-art_painting/horse/pic_130.jpg 5
-art_painting/horse/pic_180.jpg 5
-art_painting/horse/pic_158.jpg 5
-art_painting/horse/pic_204.jpg 5
-art_painting/horse/pic_195.jpg 5
-art_painting/horse/pic_188.jpg 5
-art_painting/horse/pic_159.jpg 5
-art_painting/horse/pic_170.jpg 5
-art_painting/horse/pic_168.jpg 5
-art_painting/horse/pic_165.jpg 5
-art_painting/horse/pic_164.jpg 5
-art_painting/horse/pic_161.jpg 5
-art_painting/house/pic_032.jpg 6
-art_painting/house/pic_019.jpg 6
-art_painting/house/pic_016.jpg 6
-art_painting/house/pic_034.jpg 6
-art_painting/house/pic_022.jpg 6
-art_painting/house/pic_023.jpg 6
-art_painting/house/pic_014.jpg 6
-art_painting/house/pic_025.jpg 6
-art_painting/house/pic_024.jpg 6
-art_painting/house/pic_037.jpg 6
-art_painting/house/pic_018.jpg 6
-art_painting/house/pic_031.jpg 6
-art_painting/house/pic_027.jpg 6
-art_painting/house/pic_029.jpg 6
-art_painting/house/pic_274.jpg 6
-art_painting/house/pic_162.jpg 6
-art_painting/house/pic_160.jpg 6
-art_painting/house/pic_272.jpg 6
-art_painting/house/pic_159.jpg 6
-art_painting/house/pic_161.jpg 6
-art_painting/house/pic_276.jpg 6
-art_painting/house/pic_295.jpg 6
-art_painting/house/pic_165.jpg 6
-art_painting/house/pic_294.jpg 6
-art_painting/house/pic_293.jpg 6
-art_painting/house/pic_163.jpg 6
-art_painting/house/pic_282.jpg 6
-art_painting/house/pic_166.jpg 6
-art_painting/house/pic_164.jpg 6
-art_painting/house/pic_281.jpg 6
-art_painting/house/pic_171.jpg 6
-art_painting/house/pic_311.jpg 6
-art_painting/house/pic_237.jpg 6
-art_painting/house/pic_235.jpg 6
-art_painting/house/pic_234.jpg 6
-art_painting/house/pic_232.jpg 6
-art_painting/house/pic_240.jpg 6
-art_painting/house/pic_251.jpg 6
-art_painting/house/pic_248.jpg 6
-art_painting/house/pic_247.jpg 6
-art_painting/house/pic_246.jpg 6
-art_painting/house/pic_245.jpg 6
-art_painting/house/pic_243.jpg 6
-art_painting/house/pic_242.jpg 6
-art_painting/house/pic_250.jpg 6
-art_painting/house/pic_270.jpg 6
-art_painting/house/pic_269.jpg 6
-art_painting/house/pic_264.jpg 6
-art_painting/house/pic_329.jpg 6
-art_painting/house/pic_297.jpg 6
-art_painting/house/pic_304.jpg 6
-art_painting/house/pic_303.jpg 6
-art_painting/house/pic_302.jpg 6
-art_painting/house/pic_319.jpg 6
-art_painting/house/pic_318.jpg 6
-art_painting/house/pic_317.jpg 6
-art_painting/house/pic_315.jpg 6
-art_painting/house/pic_309.jpg 6
-art_painting/house/pic_306.jpg 6
-art_painting/house/pic_305.jpg 6
-art_painting/house/pic_323.jpg 6
-art_painting/house/pic_324.jpg 6
-art_painting/house/pic_336.jpg 6
-art_painting/house/pic_330.jpg 6
-art_painting/house/pic_327.jpg 6
-art_painting/house/pic_129.jpg 6
-art_painting/house/pic_130.jpg 6
-art_painting/house/pic_131.jpg 6
-art_painting/house/pic_255.jpg 6
-art_painting/house/pic_253.jpg 6
-art_painting/house/pic_133.jpg 6
-art_painting/house/pic_132.jpg 6
-art_painting/house/pic_256.jpg 6
-art_painting/house/pic_134.jpg 6
-art_painting/house/pic_257.jpg 6
-art_painting/house/pic_137.jpg 6
-art_painting/house/pic_258.jpg 6
-art_painting/house/pic_136.jpg 6
-art_painting/house/pic_140.jpg 6
-art_painting/house/pic_142.jpg 6
-art_painting/house/pic_259.jpg 6
-art_painting/house/pic_141.jpg 6
-art_painting/house/pic_146.jpg 6
-art_painting/house/pic_147.jpg 6
-art_painting/house/pic_145.jpg 6
-art_painting/house/pic_254.jpg 6
-art_painting/house/pic_263.jpg 6
-art_painting/house/pic_278.jpg 6
-art_painting/house/pic_277.jpg 6
-art_painting/house/pic_279.jpg 6
-art_painting/house/pic_280.jpg 6
-art_painting/house/pic_283.jpg 6
-art_painting/house/pic_284.jpg 6
-art_painting/house/pic_285.jpg 6
-art_painting/house/pic_287.jpg 6
-art_painting/house/pic_296.jpg 6
-art_painting/house/pic_292.jpg 6
-art_painting/house/pic_289.jpg 6
-art_painting/house/pic_290.jpg 6
-art_painting/house/pic_291.jpg 6
-art_painting/house/pic_301.jpg 6
-art_painting/house/pic_299.jpg 6
-art_painting/house/pic_298.jpg 6
-art_painting/house/pic_189.jpg 6
-art_painting/house/pic_187.jpg 6
-art_painting/house/pic_194.jpg 6
-art_painting/house/pic_206.jpg 6
-art_painting/house/pic_205.jpg 6
-art_painting/house/pic_201.jpg 6
-art_painting/house/pic_200.jpg 6
-art_painting/house/pic_198.jpg 6
-art_painting/house/pic_196.jpg 6
-art_painting/house/pic_197.jpg 6
-art_painting/house/pic_195.jpg 6
-art_painting/house/pic_199.jpg 6
-art_painting/house/pic_203.jpg 6
-art_painting/house/pic_221.jpg 6
-art_painting/house/pic_219.jpg 6
-art_painting/house/pic_217.jpg 6
-art_painting/house/pic_216.jpg 6
-art_painting/house/pic_184.jpg 6
-art_painting/house/pic_181.jpg 6
-art_painting/house/pic_180.jpg 6
-art_painting/house/pic_182.jpg 6
-art_painting/house/pic_335.jpg 6
-art_painting/house/pic_340.jpg 6
-art_painting/house/pic_348.jpg 6
-art_painting/house/pic_185.jpg 6
-art_painting/house/pic_346.jpg 6
-art_painting/house/pic_345.jpg 6
-art_painting/house/pic_344.jpg 6
-art_painting/house/pic_343.jpg 6
-art_painting/house/pic_193.jpg 6
-art_painting/house/pic_192.jpg 6
-art_painting/house/pic_191.jpg 6
-art_painting/house/pic_074.jpg 6
-art_painting/house/pic_076.jpg 6
-art_painting/house/pic_075.jpg 6
-art_painting/house/pic_077.jpg 6
-art_painting/house/pic_087.jpg 6
-art_painting/house/pic_085.jpg 6
-art_painting/house/pic_084.jpg 6
-art_painting/house/pic_083.jpg 6
-art_painting/house/pic_080.jpg 6
-art_painting/house/pic_079.jpg 6
-art_painting/house/pic_078.jpg 6
-art_painting/house/pic_088.jpg 6
-art_painting/house/pic_082.jpg 6
-art_painting/house/pic_086.jpg 6
-art_painting/house/pic_123.jpg 6
-art_painting/house/pic_122.jpg 6
-art_painting/house/pic_119.jpg 6
-art_painting/house/pic_111.jpg 6
-art_painting/house/pic_108.jpg 6
-art_painting/house/pic_104.jpg 6
-art_painting/house/pic_215.jpg 6
-art_painting/house/pic_211.jpg 6
-art_painting/house/pic_209.jpg 6
-art_painting/house/pic_208.jpg 6
-art_painting/house/pic_207.jpg 6
-art_painting/house/pic_218.jpg 6
-art_painting/house/pic_210.jpg 6
-art_painting/house/pic_228.jpg 6
-art_painting/house/pic_227.jpg 6
-art_painting/house/pic_225.jpg 6
-art_painting/house/pic_224.jpg 6
-art_painting/house/pic_223.jpg 6
-art_painting/house/pic_222.jpg 6
-art_painting/house/pic_226.jpg 6
-art_painting/house/pic_230.jpg 6
-art_painting/house/pic_229.jpg 6
-art_painting/house/pic_231.jpg 6
-art_painting/house/pic_241.jpg 6
-art_painting/house/pic_144.jpg 6
-art_painting/house/pic_143.jpg 6
-art_painting/house/pic_149.jpg 6
-art_painting/house/pic_150.jpg 6
-art_painting/house/pic_151.jpg 6
-art_painting/house/pic_148.jpg 6
-art_painting/house/pic_260.jpg 6
-art_painting/house/pic_153.jpg 6
-art_painting/house/pic_152.jpg 6
-art_painting/house/pic_261.jpg 6
-art_painting/house/pic_262.jpg 6
-art_painting/house/pic_268.jpg 6
-art_painting/house/pic_156.jpg 6
-art_painting/house/pic_158.jpg 6
-art_painting/house/pic_157.jpg 6
-art_painting/house/pic_266.jpg 6
-art_painting/house/pic_267.jpg 6
-art_painting/house/pic_273.jpg 6
-art_painting/house/pic_097.jpg 6
-art_painting/house/pic_118.jpg 6
-art_painting/house/pic_114.jpg 6
-art_painting/house/pic_094.jpg 6
-art_painting/house/pic_101.jpg 6
-art_painting/house/pic_125.jpg 6
-art_painting/house/pic_113.jpg 6
-art_painting/house/pic_109.jpg 6
-art_painting/house/pic_098.jpg 6
-art_painting/house/pic_116.jpg 6
-art_painting/house/pic_127.jpg 6
-art_painting/house/pic_120.jpg 6
-art_painting/house/pic_138.jpg 6
-art_painting/house/pic_176.jpg 6
-art_painting/house/pic_177.jpg 6
-art_painting/house/pic_212.jpg 6
-art_painting/house/pic_213.jpg 6
-art_painting/house/pic_238.jpg 6
-art_painting/house/pic_128.jpg 6
-art_painting/house/pic_053.jpg 6
-art_painting/house/pic_055.jpg 6
-art_painting/house/pic_054.jpg 6
-art_painting/house/pic_057.jpg 6
-art_painting/house/pic_056.jpg 6
-art_painting/house/pic_058.jpg 6
-art_painting/house/pic_059.jpg 6
-art_painting/house/pic_061.jpg 6
-art_painting/house/pic_060.jpg 6
-art_painting/house/pic_062.jpg 6
-art_painting/house/pic_063.jpg 6
-art_painting/house/pic_067.jpg 6
-art_painting/house/pic_069.jpg 6
-art_painting/house/pic_068.jpg 6
-art_painting/house/pic_066.jpg 6
-art_painting/house/pic_071.jpg 6
-art_painting/house/pic_070.jpg 6
-art_painting/house/pic_072.jpg 6
-art_painting/house/pic_106.jpg 6
-art_painting/house/pic_107.jpg 6
-art_painting/house/pic_099.jpg 6
-art_painting/house/pic_100.jpg 6
-art_painting/house/pic_035.jpg 6
-art_painting/house/pic_095.jpg 6
-art_painting/house/pic_093.jpg 6
-art_painting/house/pic_090.jpg 6
-art_painting/house/pic_092.jpg 6
-art_painting/house/pic_091.jpg 6
-art_painting/house/pic_103.jpg 6
-art_painting/house/pic_124.jpg 6
-art_painting/house/pic_110.jpg 6
-art_painting/house/pic_117.jpg 6
-art_painting/house/pic_105.jpg 6
-art_painting/house/pic_121.jpg 6
-art_painting/house/pic_115.jpg 6
-art_painting/house/pic_028.jpg 6
-art_painting/house/pic_017.jpg 6
-art_painting/house/pic_038.jpg 6
-art_painting/house/pic_048.jpg 6
-art_painting/house/pic_047.jpg 6
-art_painting/house/pic_036.jpg 6
-art_painting/house/pic_043.jpg 6
-art_painting/house/pic_041.jpg 6
-art_painting/house/pic_040.jpg 6
-art_painting/house/pic_039.jpg 6
-art_painting/house/pic_021.jpg 6
-art_painting/house/pic_020.jpg 6
-art_painting/house/pic_026.jpg 6
-art_painting/house/pic_046.jpg 6
-art_painting/house/pic_044.jpg 6
-art_painting/house/pic_045.jpg 6
-art_painting/house/pic_042.jpg 6
-art_painting/house/pic_049.jpg 6
-art_painting/house/pic_050.jpg 6
-art_painting/house/pic_051.jpg 6
-art_painting/person/pic_436.jpg 7
-art_painting/person/pic_437.jpg 7
-art_painting/person/pic_438.jpg 7
-art_painting/person/pic_184.jpg 7
-art_painting/person/pic_186.jpg 7
-art_painting/person/pic_388.jpg 7
-art_painting/person/pic_410.jpg 7
-art_painting/person/pic_400.jpg 7
-art_painting/person/pic_391.jpg 7
-art_painting/person/pic_406.jpg 7
-art_painting/person/pic_407.jpg 7
-art_painting/person/pic_417.jpg 7
-art_painting/person/pic_435.jpg 7
-art_painting/person/pic_433.jpg 7
-art_painting/person/pic_431.jpg 7
-art_painting/person/pic_467.jpg 7
-art_painting/person/pic_247.jpg 7
-art_painting/person/pic_249.jpg 7
-art_painting/person/pic_252.jpg 7
-art_painting/person/pic_255.jpg 7
-art_painting/person/pic_531.jpg 7
-art_painting/person/pic_530.jpg 7
-art_painting/person/pic_264.jpg 7
-art_painting/person/pic_262.jpg 7
-art_painting/person/pic_549.jpg 7
-art_painting/person/pic_260.jpg 7
-art_painting/person/pic_548.jpg 7
-art_painting/person/pic_501.jpg 7
-art_painting/person/pic_495.jpg 7
-art_painting/person/pic_494.jpg 7
-art_painting/person/pic_506.jpg 7
-art_painting/person/pic_532.jpg 7
-art_painting/person/pic_527.jpg 7
-art_painting/person/pic_525.jpg 7
-art_painting/person/pic_519.jpg 7
-art_painting/person/pic_523.jpg 7
-art_painting/person/pic_521.jpg 7
-art_painting/person/pic_520.jpg 7
-art_painting/person/pic_512.jpg 7
-art_painting/person/pic_528.jpg 7
-art_painting/person/pic_526.jpg 7
-art_painting/person/pic_518.jpg 7
-art_painting/person/pic_534.jpg 7
-art_painting/person/pic_538.jpg 7
-art_painting/person/pic_026.jpg 7
-art_painting/person/pic_047.jpg 7
-art_painting/person/pic_030.jpg 7
-art_painting/person/pic_022.jpg 7
-art_painting/person/pic_032.jpg 7
-art_painting/person/pic_024.jpg 7
-art_painting/person/pic_044.jpg 7
-art_painting/person/pic_038.jpg 7
-art_painting/person/pic_027.jpg 7
-art_painting/person/pic_019.jpg 7
-art_painting/person/pic_034.jpg 7
-art_painting/person/pic_045.jpg 7
-art_painting/person/pic_023.jpg 7
-art_painting/person/pic_029.jpg 7
-art_painting/person/pic_025.jpg 7
-art_painting/person/pic_041.jpg 7
-art_painting/person/pic_039.jpg 7
-art_painting/person/pic_031.jpg 7
-art_painting/person/pic_046.jpg 7
-art_painting/person/pic_020.jpg 7
-art_painting/person/pic_040.jpg 7
-art_painting/person/pic_226.jpg 7
-art_painting/person/pic_229.jpg 7
-art_painting/person/pic_228.jpg 7
-art_painting/person/pic_484.jpg 7
-art_painting/person/pic_234.jpg 7
-art_painting/person/pic_231.jpg 7
-art_painting/person/pic_232.jpg 7
-art_painting/person/pic_235.jpg 7
-art_painting/person/pic_505.jpg 7
-art_painting/person/pic_243.jpg 7
-art_painting/person/pic_237.jpg 7
-art_painting/person/pic_456.jpg 7
-art_painting/person/pic_200.jpg 7
-art_painting/person/pic_459.jpg 7
-art_painting/person/pic_460.jpg 7
-art_painting/person/pic_203.jpg 7
-art_painting/person/pic_206.jpg 7
-art_painting/person/pic_204.jpg 7
-art_painting/person/pic_202.jpg 7
-art_painting/person/pic_201.jpg 7
-art_painting/person/pic_462.jpg 7
-art_painting/person/pic_205.jpg 7
-art_painting/person/pic_213.jpg 7
-art_painting/person/pic_470.jpg 7
-art_painting/person/pic_469.jpg 7
-art_painting/person/pic_464.jpg 7
-art_painting/person/pic_209.jpg 7
-art_painting/person/pic_208.jpg 7
-art_painting/person/pic_210.jpg 7
-art_painting/person/pic_497.jpg 7
-art_painting/person/pic_236.jpg 7
-art_painting/person/pic_496.jpg 7
-art_painting/person/pic_503.jpg 7
-art_painting/person/pic_238.jpg 7
-art_painting/person/pic_508.jpg 7
-art_painting/person/pic_507.jpg 7
-art_painting/person/pic_504.jpg 7
-art_painting/person/pic_245.jpg 7
-art_painting/person/pic_254.jpg 7
-art_painting/person/pic_253.jpg 7
-art_painting/person/pic_522.jpg 7
-art_painting/person/pic_248.jpg 7
-art_painting/person/pic_514.jpg 7
-art_painting/person/pic_513.jpg 7
-art_painting/person/pic_246.jpg 7
-art_painting/person/pic_250.jpg 7
-art_painting/person/pic_132.jpg 7
-art_painting/person/pic_116.jpg 7
-art_painting/person/pic_104.jpg 7
-art_painting/person/pic_112.jpg 7
-art_painting/person/pic_100.jpg 7
-art_painting/person/pic_117.jpg 7
-art_painting/person/pic_122.jpg 7
-art_painting/person/pic_121.jpg 7
-art_painting/person/pic_129.jpg 7
-art_painting/person/pic_136.jpg 7
-art_painting/person/pic_193.jpg 7
-art_painting/person/pic_194.jpg 7
-art_painting/person/pic_192.jpg 7
-art_painting/person/pic_195.jpg 7
-art_painting/person/pic_241.jpg 7
-art_painting/person/pic_242.jpg 7
-art_painting/person/pic_240.jpg 7
-art_painting/person/pic_152.jpg 7
-art_painting/person/pic_170.jpg 7
-art_painting/person/pic_171.jpg 7
-art_painting/person/pic_168.jpg 7
-art_painting/person/pic_167.jpg 7
-art_painting/person/pic_320.jpg 7
-art_painting/person/pic_319.jpg 7
-art_painting/person/pic_318.jpg 7
-art_painting/person/pic_164.jpg 7
-art_painting/person/pic_163.jpg 7
-art_painting/person/pic_162.jpg 7
-art_painting/person/pic_161.jpg 7
-art_painting/person/pic_316.jpg 7
-art_painting/person/pic_160.jpg 7
-art_painting/person/pic_321.jpg 7
-art_painting/person/pic_165.jpg 7
-art_painting/person/pic_317.jpg 7
-art_painting/person/pic_166.jpg 7
-art_painting/person/pic_169.jpg 7
-art_painting/person/pic_535.jpg 7
-art_painting/person/pic_543.jpg 7
-art_painting/person/pic_540.jpg 7
-art_painting/person/pic_539.jpg 7
-art_painting/person/pic_542.jpg 7
-art_painting/person/pic_545.jpg 7
-art_painting/person/pic_559.jpg 7
-art_painting/person/pic_555.jpg 7
-art_painting/person/pic_553.jpg 7
-art_painting/person/pic_551.jpg 7
-art_painting/person/pic_552.jpg 7
-art_painting/person/pic_550.jpg 7
-art_painting/person/pic_546.jpg 7
-art_painting/person/pic_556.jpg 7
-art_painting/person/pic_558.jpg 7
-art_painting/person/pic_572.jpg 7
-art_painting/person/pic_571.jpg 7
-art_painting/person/pic_570.jpg 7
-art_painting/person/pic_564.jpg 7
-art_painting/person/pic_563.jpg 7
-art_painting/person/pic_560.jpg 7
-art_painting/person/pic_561.jpg 7
-art_painting/person/pic_577.jpg 7
-art_painting/person/pic_259.jpg 7
-art_painting/person/pic_547.jpg 7
-art_painting/person/pic_257.jpg 7
-art_painting/person/pic_256.jpg 7
-art_painting/person/pic_537.jpg 7
-art_painting/person/pic_536.jpg 7
-art_painting/person/pic_263.jpg 7
-art_painting/person/pic_051.jpg 7
-art_painting/person/pic_268.jpg 7
-art_painting/person/pic_574.jpg 7
-art_painting/person/pic_573.jpg 7
-art_painting/person/pic_267.jpg 7
-art_painting/person/pic_266.jpg 7
-art_painting/person/pic_265.jpg 7
-art_painting/person/pic_272.jpg 7
-art_painting/person/pic_568.jpg 7
-art_painting/person/pic_569.jpg 7
-art_painting/person/pic_271.jpg 7
-art_painting/person/pic_113.jpg 7
-art_painting/person/pic_111.jpg 7
-art_painting/person/pic_109.jpg 7
-art_painting/person/pic_107.jpg 7
-art_painting/person/pic_106.jpg 7
-art_painting/person/pic_105.jpg 7
-art_painting/person/pic_101.jpg 7
-art_painting/person/pic_099.jpg 7
-art_painting/person/pic_131.jpg 7
-art_painting/person/pic_120.jpg 7
-art_painting/person/pic_110.jpg 7
-art_painting/person/pic_123.jpg 7
-art_painting/person/pic_108.jpg 7
-art_painting/person/pic_098.jpg 7
-art_painting/person/pic_364.jpg 7
-art_painting/person/pic_363.jpg 7
-art_painting/person/pic_356.jpg 7
-art_painting/person/pic_357.jpg 7
-art_painting/person/pic_366.jpg 7
-art_painting/person/pic_372.jpg 7
-art_painting/person/pic_377.jpg 7
-art_painting/person/pic_378.jpg 7
-art_painting/person/pic_376.jpg 7
-art_painting/person/pic_371.jpg 7
-art_painting/person/pic_375.jpg 7
-art_painting/person/pic_389.jpg 7
-art_painting/person/pic_387.jpg 7
-art_painting/person/pic_386.jpg 7
-art_painting/person/pic_385.jpg 7
-art_painting/person/pic_379.jpg 7
-art_painting/person/pic_214.jpg 7
-art_painting/person/pic_211.jpg 7
-art_painting/person/pic_471.jpg 7
-art_painting/person/pic_475.jpg 7
-art_painting/person/pic_220.jpg 7
-art_painting/person/pic_218.jpg 7
-art_painting/person/pic_216.jpg 7
-art_painting/person/pic_215.jpg 7
-art_painting/person/pic_221.jpg 7
-art_painting/person/pic_217.jpg 7
-art_painting/person/pic_219.jpg 7
-art_painting/person/pic_227.jpg 7
-art_painting/person/pic_480.jpg 7
-art_painting/person/pic_479.jpg 7
-art_painting/person/pic_476.jpg 7
-art_painting/person/pic_224.jpg 7
-art_painting/person/pic_223.jpg 7
-art_painting/person/pic_222.jpg 7
-art_painting/person/pic_322.jpg 7
-art_painting/person/pic_306.jpg 7
-art_painting/person/pic_333.jpg 7
-art_painting/person/pic_346.jpg 7
-art_painting/person/pic_354.jpg 7
-art_painting/person/pic_353.jpg 7
-art_painting/person/pic_352.jpg 7
-art_painting/person/pic_351.jpg 7
-art_painting/person/pic_349.jpg 7
-art_painting/person/pic_347.jpg 7
-art_painting/person/pic_345.jpg 7
-art_painting/person/pic_338.jpg 7
-art_painting/person/pic_337.jpg 7
-art_painting/person/pic_350.jpg 7
-art_painting/person/pic_339.jpg 7
-art_painting/person/pic_368.jpg 7
-art_painting/person/pic_308.jpg 7
-art_painting/person/pic_151.jpg 7
-art_painting/person/pic_150.jpg 7
-art_painting/person/pic_149.jpg 7
-art_painting/person/pic_313.jpg 7
-art_painting/person/pic_148.jpg 7
-art_painting/person/pic_146.jpg 7
-art_painting/person/pic_311.jpg 7
-art_painting/person/pic_143.jpg 7
-art_painting/person/pic_144.jpg 7
-art_painting/person/pic_147.jpg 7
-art_painting/person/pic_145.jpg 7
-art_painting/person/pic_312.jpg 7
-art_painting/person/pic_314.jpg 7
-art_painting/person/pic_158.jpg 7
-art_painting/person/pic_157.jpg 7
-art_painting/person/pic_156.jpg 7
-art_painting/person/pic_155.jpg 7
-art_painting/person/pic_290.jpg 7
-art_painting/person/pic_288.jpg 7
-art_painting/person/pic_287.jpg 7
-art_painting/person/pic_294.jpg 7
-art_painting/person/pic_293.jpg 7
-art_painting/person/pic_292.jpg 7
-art_painting/person/pic_291.jpg 7
-art_painting/person/pic_301.jpg 7
-art_painting/person/pic_300.jpg 7
-art_painting/person/pic_305.jpg 7
-art_painting/person/pic_303.jpg 7
-art_painting/person/pic_304.jpg 7
-art_painting/person/pic_336.jpg 7
-art_painting/person/pic_325.jpg 7
-art_painting/person/pic_324.jpg 7
-art_painting/person/pic_006.jpg 7
-art_painting/person/pic_007.jpg 7
-art_painting/person/pic_008.jpg 7
-art_painting/person/pic_009.jpg 7
-art_painting/person/pic_010.jpg 7
-art_painting/person/pic_011.jpg 7
-art_painting/person/pic_012.jpg 7
-art_painting/person/pic_013.jpg 7
-art_painting/person/pic_014.jpg 7
-art_painting/person/pic_015.jpg 7
-art_painting/person/pic_016.jpg 7
-art_painting/person/pic_042.jpg 7
-art_painting/person/pic_033.jpg 7
-art_painting/person/pic_018.jpg 7
-art_painting/person/pic_036.jpg 7
-art_painting/person/pic_017.jpg 7
-art_painting/person/pic_037.jpg 7
-art_painting/person/pic_028.jpg 7
-art_painting/person/pic_043.jpg 7
-art_painting/person/pic_035.jpg 7
-art_painting/person/pic_327.jpg 7
-art_painting/person/pic_175.jpg 7
-art_painting/person/pic_328.jpg 7
-art_painting/person/pic_326.jpg 7
-art_painting/person/pic_174.jpg 7
-art_painting/person/pic_172.jpg 7
-art_painting/person/pic_329.jpg 7
-art_painting/person/pic_173.jpg 7
-art_painting/person/pic_178.jpg 7
-art_painting/person/pic_334.jpg 7
-art_painting/person/pic_335.jpg 7
-art_painting/person/pic_342.jpg 7
-art_painting/person/pic_181.jpg 7
-art_painting/person/pic_343.jpg 7
-art_painting/person/pic_180.jpg 7
-art_painting/person/pic_340.jpg 7
-art_painting/person/pic_359.jpg 7
-art_painting/person/pic_064.jpg 7
-art_painting/person/pic_062.jpg 7
-art_painting/person/pic_059.jpg 7
-art_painting/person/pic_060.jpg 7
-art_painting/person/pic_066.jpg 7
-art_painting/person/pic_063.jpg 7
-art_painting/person/pic_071.jpg 7
-art_painting/person/pic_070.jpg 7
-art_painting/person/pic_069.jpg 7
-art_painting/person/pic_072.jpg 7
-art_painting/person/pic_076.jpg 7
-art_painting/person/pic_074.jpg 7
-art_painting/person/pic_077.jpg 7
-art_painting/person/pic_078.jpg 7
-art_painting/person/pic_079.jpg 7
-art_painting/person/pic_080.jpg 7
-art_painting/person/pic_081.jpg 7
-art_painting/person/pic_082.jpg 7
-art_painting/person/pic_083.jpg 7
-art_painting/person/pic_094.jpg 7
-art_painting/person/pic_093.jpg 7
-art_painting/person/pic_089.jpg 7
-art_painting/person/pic_090.jpg 7
-art_painting/person/pic_086.jpg 7
-art_painting/person/pic_097.jpg 7
-art_painting/person/pic_124.jpg 7
-art_painting/person/pic_128.jpg 7
-art_painting/person/pic_127.jpg 7
-art_painting/person/pic_126.jpg 7
-art_painting/person/pic_115.jpg 7
-art_painting/person/pic_114.jpg 7
-art_painting/person/pic_463.jpg 7
-art_painting/person/pic_458.jpg 7
-art_painting/person/pic_444.jpg 7
-art_painting/person/pic_445.jpg 7
-art_painting/person/pic_466.jpg 7
-art_painting/person/pic_465.jpg 7
-art_painting/person/pic_493.jpg 7
-art_painting/person/pic_490.jpg 7
-art_painting/person/pic_487.jpg 7
-art_painting/person/pic_481.jpg 7
-art_painting/person/pic_474.jpg 7
-art_painting/person/pic_468.jpg 7
-art_painting/person/pic_492.jpg 7
-art_painting/person/pic_473.jpg 7
-art_painting/person/pic_511.jpg 7
-art_painting/person/pic_510.jpg 7
-art_painting/person/pic_502.jpg 7
-art_painting/person/pic_187.jpg 7
-art_painting/person/pic_441.jpg 7
-art_painting/person/pic_440.jpg 7
-art_painting/person/pic_188.jpg 7
-art_painting/person/pic_450.jpg 7
-art_painting/person/pic_449.jpg 7
-art_painting/person/pic_448.jpg 7
-art_painting/person/pic_447.jpg 7
-art_painting/person/pic_190.jpg 7
-art_painting/person/pic_454.jpg 7
-art_painting/person/pic_455.jpg 7
-art_painting/person/pic_199.jpg 7
-art_painting/person/pic_197.jpg 7
-art_painting/person/pic_198.jpg 7
-art_painting/person/pic_196.jpg 7
-art_painting/person/pic_191.jpg 7
-art_painting/person/pic_358.jpg 7
-art_painting/person/pic_361.jpg 7
-art_painting/person/pic_362.jpg 7
-art_painting/person/pic_382.jpg 7
-art_painting/person/pic_380.jpg 7
-art_painting/person/pic_381.jpg 7
-art_painting/person/pic_383.jpg 7
-art_painting/person/pic_398.jpg 7
-art_painting/person/pic_395.jpg 7
-art_painting/person/pic_394.jpg 7
-art_painting/person/pic_396.jpg 7
-art_painting/person/pic_397.jpg 7
-art_painting/person/pic_402.jpg 7
-art_painting/person/pic_404.jpg 7
-art_painting/person/pic_405.jpg 7
-art_painting/person/pic_412.jpg 7
-art_painting/person/pic_414.jpg 7
-art_painting/person/pic_413.jpg 7
diff --git a/data/pacs_split/cartoon_10.txt b/data/pacs_split/cartoon_10.txt
deleted file mode 100644
index 9c90dce46..000000000
--- a/data/pacs_split/cartoon_10.txt
+++ /dev/null
@@ -1,10 +0,0 @@
-cartoon/person/pic_180.jpg 7
-cartoon/dog/pic_112.jpg 1
-cartoon/giraffe/pic_377.jpg 3
-cartoon/person/pic_111.jpg 7
-cartoon/giraffe/pic_382.jpg 3
-cartoon/horse/pic_064.jpg 5
-cartoon/dog/pic_137.jpg 1
-cartoon/house/pic_040.jpg 6
-cartoon/dog/pic_219.jpg 1
-cartoon/elephant/pic_332.jpg 2
diff --git a/data/pacs_split/cartoon_100.txt b/data/pacs_split/cartoon_100.txt
deleted file mode 100644
index 678652e4c..000000000
--- a/data/pacs_split/cartoon_100.txt
+++ /dev/null
@@ -1,100 +0,0 @@
-cartoon/house/pic_032.jpg 6
-cartoon/giraffe/pic_286.jpg 3
-cartoon/giraffe/pic_147.jpg 3
-cartoon/horse/pic_303.jpg 5
-cartoon/giraffe/pic_193.jpg 3
-cartoon/elephant/pic_496.jpg 2
-cartoon/giraffe/pic_275.jpg 3
-cartoon/dog/pic_423.jpg 1
-cartoon/person/pic_340.jpg 7
-cartoon/dog/pic_332.jpg 1
-cartoon/elephant/pic_328.jpg 2
-cartoon/horse/pic_276.jpg 5
-cartoon/guitar/pic_081.jpg 4
-cartoon/person/pic_045.jpg 7
-cartoon/dog/pic_279.jpg 1
-cartoon/elephant/pic_065.jpg 2
-cartoon/guitar/pic_026.jpg 4
-cartoon/house/pic_176.jpg 6
-cartoon/guitar/pic_103.jpg 4
-cartoon/horse/pic_300.jpg 5
-cartoon/dog/pic_363.jpg 1
-cartoon/dog/pic_213.jpg 1
-cartoon/person/pic_276.jpg 7
-cartoon/dog/pic_195.jpg 1
-cartoon/giraffe/pic_262.jpg 3
-cartoon/person/pic_380.jpg 7
-cartoon/elephant/pic_179.jpg 2
-cartoon/person/pic_399.jpg 7
-cartoon/horse/pic_057.jpg 5
-cartoon/giraffe/pic_071.jpg 3
-cartoon/horse/pic_103.jpg 5
-cartoon/elephant/pic_101.jpg 2
-cartoon/elephant/pic_294.jpg 2
-cartoon/house/pic_188.jpg 6
-cartoon/giraffe/pic_361.jpg 3
-cartoon/giraffe/pic_139.jpg 3
-cartoon/horse/pic_056.jpg 5
-cartoon/elephant/pic_427.jpg 2
-cartoon/giraffe/pic_051.jpg 3
-cartoon/horse/pic_258.jpg 5
-cartoon/giraffe/pic_241.jpg 3
-cartoon/dog/pic_244.jpg 1
-cartoon/person/pic_303.jpg 7
-cartoon/giraffe/pic_368.jpg 3
-cartoon/house/pic_065.jpg 6
-cartoon/person/pic_080.jpg 7
-cartoon/person/pic_410.jpg 7
-cartoon/house/pic_264.jpg 6
-cartoon/elephant/pic_197.jpg 2
-cartoon/giraffe/pic_208.jpg 3
-cartoon/horse/pic_254.jpg 5
-cartoon/giraffe/pic_116.jpg 3
-cartoon/person/pic_229.jpg 7
-cartoon/elephant/pic_042.jpg 2
-cartoon/house/pic_147.jpg 6
-cartoon/dog/pic_102.jpg 1
-cartoon/horse/pic_160.jpg 5
-cartoon/elephant/pic_203.jpg 2
-cartoon/dog/pic_008.jpg 1
-cartoon/dog/pic_132.jpg 1
-cartoon/elephant/pic_059.jpg 2
-cartoon/elephant/pic_501.jpg 2
-cartoon/elephant/pic_254.jpg 2
-cartoon/giraffe/pic_200.jpg 3
-cartoon/elephant/pic_419.jpg 2
-cartoon/giraffe/pic_224.jpg 3
-cartoon/person/pic_146.jpg 7
-cartoon/giraffe/pic_129.jpg 3
-cartoon/giraffe/pic_370.jpg 3
-cartoon/guitar/pic_147.jpg 4
-cartoon/dog/pic_387.jpg 1
-cartoon/person/pic_390.jpg 7
-cartoon/horse/pic_356.jpg 5
-cartoon/guitar/pic_057.jpg 4
-cartoon/person/pic_219.jpg 7
-cartoon/elephant/pic_266.jpg 2
-cartoon/horse/pic_142.jpg 5
-cartoon/guitar/pic_037.jpg 4
-cartoon/dog/pic_112.jpg 1
-cartoon/house/pic_231.jpg 6
-cartoon/dog/pic_178.jpg 1
-cartoon/person/pic_033.jpg 7
-cartoon/dog/pic_007.jpg 1
-cartoon/dog/pic_062.jpg 1
-cartoon/house/pic_158.jpg 6
-cartoon/house/pic_301.jpg 6
-cartoon/horse/pic_137.jpg 5
-cartoon/dog/pic_338.jpg 1
-cartoon/giraffe/pic_165.jpg 3
-cartoon/elephant/pic_216.jpg 2
-cartoon/horse/pic_307.jpg 5
-cartoon/person/pic_026.jpg 7
-cartoon/person/pic_429.jpg 7
-cartoon/giraffe/pic_222.jpg 3
-cartoon/elephant/pic_461.jpg 2
-cartoon/horse/pic_298.jpg 5
-cartoon/person/pic_375.jpg 7
-cartoon/person/pic_373.jpg 7
-cartoon/house/pic_118.jpg 6
-cartoon/giraffe/pic_047.jpg 3
diff --git a/data/pacs_split/cartoon_crossval_kfold.txt b/data/pacs_split/cartoon_crossval_kfold.txt
deleted file mode 100644
index e8374913b..000000000
--- a/data/pacs_split/cartoon_crossval_kfold.txt
+++ /dev/null
@@ -1,237 +0,0 @@
-cartoon/dog/pic_383.jpg 1
-cartoon/dog/pic_382.jpg 1
-cartoon/dog/pic_386.jpg 1
-cartoon/dog/pic_384.jpg 1
-cartoon/dog/pic_385.jpg 1
-cartoon/dog/pic_391.jpg 1
-cartoon/dog/pic_390.jpg 1
-cartoon/dog/pic_392.jpg 1
-cartoon/dog/pic_393.jpg 1
-cartoon/dog/pic_405.jpg 1
-cartoon/dog/pic_403.jpg 1
-cartoon/dog/pic_417.jpg 1
-cartoon/dog/pic_416.jpg 1
-cartoon/dog/pic_415.jpg 1
-cartoon/dog/pic_150.jpg 1
-cartoon/dog/pic_233.jpg 1
-cartoon/dog/pic_232.jpg 1
-cartoon/dog/pic_227.jpg 1
-cartoon/dog/pic_228.jpg 1
-cartoon/dog/pic_229.jpg 1
-cartoon/dog/pic_226.jpg 1
-cartoon/dog/pic_230.jpg 1
-cartoon/dog/pic_286.jpg 1
-cartoon/dog/pic_285.jpg 1
-cartoon/dog/pic_276.jpg 1
-cartoon/dog/pic_262.jpg 1
-cartoon/dog/pic_259.jpg 1
-cartoon/dog/pic_257.jpg 1
-cartoon/dog/pic_254.jpg 1
-cartoon/dog/pic_252.jpg 1
-cartoon/dog/pic_249.jpg 1
-cartoon/dog/pic_001.jpg 1
-cartoon/dog/pic_003.jpg 1
-cartoon/dog/pic_004.jpg 1
-cartoon/dog/pic_005.jpg 1
-cartoon/dog/pic_006.jpg 1
-cartoon/dog/pic_031.jpg 1
-cartoon/dog/pic_043.jpg 1
-cartoon/dog/pic_025.jpg 1
-cartoon/elephant/pic_211.jpg 2
-cartoon/elephant/pic_154.jpg 2
-cartoon/elephant/pic_153.jpg 2
-cartoon/elephant/pic_237.jpg 2
-cartoon/elephant/pic_227.jpg 2
-cartoon/elephant/pic_226.jpg 2
-cartoon/elephant/pic_225.jpg 2
-cartoon/elephant/pic_155.jpg 2
-cartoon/elephant/pic_165.jpg 2
-cartoon/elephant/pic_164.jpg 2
-cartoon/elephant/pic_162.jpg 2
-cartoon/elephant/pic_157.jpg 2
-cartoon/elephant/pic_156.jpg 2
-cartoon/elephant/pic_166.jpg 2
-cartoon/elephant/pic_168.jpg 2
-cartoon/elephant/pic_167.jpg 2
-cartoon/elephant/pic_169.jpg 2
-cartoon/elephant/pic_171.jpg 2
-cartoon/elephant/pic_170.jpg 2
-cartoon/elephant/pic_240.jpg 2
-cartoon/elephant/pic_243.jpg 2
-cartoon/elephant/pic_242.jpg 2
-cartoon/elephant/pic_244.jpg 2
-cartoon/elephant/pic_172.jpg 2
-cartoon/elephant/pic_247.jpg 2
-cartoon/elephant/pic_248.jpg 2
-cartoon/elephant/pic_251.jpg 2
-cartoon/elephant/pic_250.jpg 2
-cartoon/elephant/pic_249.jpg 2
-cartoon/elephant/pic_252.jpg 2
-cartoon/elephant/pic_258.jpg 2
-cartoon/elephant/pic_257.jpg 2
-cartoon/elephant/pic_173.jpg 2
-cartoon/elephant/pic_412.jpg 2
-cartoon/elephant/pic_411.jpg 2
-cartoon/elephant/pic_408.jpg 2
-cartoon/elephant/pic_409.jpg 2
-cartoon/elephant/pic_413.jpg 2
-cartoon/elephant/pic_410.jpg 2
-cartoon/elephant/pic_431.jpg 2
-cartoon/elephant/pic_430.jpg 2
-cartoon/elephant/pic_428.jpg 2
-cartoon/elephant/pic_425.jpg 2
-cartoon/elephant/pic_423.jpg 2
-cartoon/elephant/pic_424.jpg 2
-cartoon/elephant/pic_420.jpg 2
-cartoon/giraffe/pic_005.jpg 3
-cartoon/giraffe/pic_006.jpg 3
-cartoon/giraffe/pic_007.jpg 3
-cartoon/giraffe/pic_008.jpg 3
-cartoon/giraffe/pic_009.jpg 3
-cartoon/giraffe/pic_010.jpg 3
-cartoon/giraffe/pic_011.jpg 3
-cartoon/giraffe/pic_012.jpg 3
-cartoon/giraffe/pic_013.jpg 3
-cartoon/giraffe/pic_014.jpg 3
-cartoon/giraffe/pic_015.jpg 3
-cartoon/giraffe/pic_016.jpg 3
-cartoon/giraffe/pic_017.jpg 3
-cartoon/giraffe/pic_018.jpg 3
-cartoon/giraffe/pic_019.jpg 3
-cartoon/giraffe/pic_020.jpg 3
-cartoon/giraffe/pic_022.jpg 3
-cartoon/giraffe/pic_025.jpg 3
-cartoon/giraffe/pic_024.jpg 3
-cartoon/giraffe/pic_091.jpg 3
-cartoon/giraffe/pic_090.jpg 3
-cartoon/giraffe/pic_087.jpg 3
-cartoon/giraffe/pic_086.jpg 3
-cartoon/giraffe/pic_085.jpg 3
-cartoon/giraffe/pic_095.jpg 3
-cartoon/giraffe/pic_096.jpg 3
-cartoon/giraffe/pic_093.jpg 3
-cartoon/giraffe/pic_094.jpg 3
-cartoon/giraffe/pic_106.jpg 3
-cartoon/giraffe/pic_108.jpg 3
-cartoon/giraffe/pic_104.jpg 3
-cartoon/giraffe/pic_103.jpg 3
-cartoon/giraffe/pic_101.jpg 3
-cartoon/giraffe/pic_100.jpg 3
-cartoon/giraffe/pic_099.jpg 3
-cartoon/guitar/pic_072.jpg 4
-cartoon/guitar/pic_003.jpg 4
-cartoon/guitar/pic_004.jpg 4
-cartoon/guitar/pic_005.jpg 4
-cartoon/guitar/pic_006.jpg 4
-cartoon/guitar/pic_007.jpg 4
-cartoon/guitar/pic_009.jpg 4
-cartoon/guitar/pic_010.jpg 4
-cartoon/guitar/pic_011.jpg 4
-cartoon/guitar/pic_012.jpg 4
-cartoon/guitar/pic_013.jpg 4
-cartoon/guitar/pic_016.jpg 4
-cartoon/guitar/pic_017.jpg 4
-cartoon/guitar/pic_020.jpg 4
-cartoon/horse/pic_329.jpg 5
-cartoon/horse/pic_317.jpg 5
-cartoon/horse/pic_331.jpg 5
-cartoon/horse/pic_333.jpg 5
-cartoon/horse/pic_332.jpg 5
-cartoon/horse/pic_334.jpg 5
-cartoon/horse/pic_324.jpg 5
-cartoon/horse/pic_318.jpg 5
-cartoon/horse/pic_338.jpg 5
-cartoon/horse/pic_337.jpg 5
-cartoon/horse/pic_341.jpg 5
-cartoon/horse/pic_340.jpg 5
-cartoon/horse/pic_335.jpg 5
-cartoon/horse/pic_342.jpg 5
-cartoon/horse/pic_347.jpg 5
-cartoon/horse/pic_346.jpg 5
-cartoon/horse/pic_343.jpg 5
-cartoon/horse/pic_336.jpg 5
-cartoon/horse/pic_348.jpg 5
-cartoon/horse/pic_339.jpg 5
-cartoon/horse/pic_349.jpg 5
-cartoon/horse/pic_139.jpg 5
-cartoon/horse/pic_132.jpg 5
-cartoon/horse/pic_141.jpg 5
-cartoon/horse/pic_133.jpg 5
-cartoon/horse/pic_162.jpg 5
-cartoon/horse/pic_155.jpg 5
-cartoon/horse/pic_159.jpg 5
-cartoon/horse/pic_156.jpg 5
-cartoon/horse/pic_151.jpg 5
-cartoon/horse/pic_149.jpg 5
-cartoon/horse/pic_147.jpg 5
-cartoon/horse/pic_161.jpg 5
-cartoon/house/pic_103.jpg 6
-cartoon/house/pic_091.jpg 6
-cartoon/house/pic_089.jpg 6
-cartoon/house/pic_092.jpg 6
-cartoon/house/pic_093.jpg 6
-cartoon/house/pic_107.jpg 6
-cartoon/house/pic_104.jpg 6
-cartoon/house/pic_114.jpg 6
-cartoon/house/pic_112.jpg 6
-cartoon/house/pic_109.jpg 6
-cartoon/house/pic_108.jpg 6
-cartoon/house/pic_102.jpg 6
-cartoon/house/pic_099.jpg 6
-cartoon/house/pic_098.jpg 6
-cartoon/house/pic_097.jpg 6
-cartoon/house/pic_111.jpg 6
-cartoon/house/pic_320.jpg 6
-cartoon/house/pic_321.jpg 6
-cartoon/house/pic_315.jpg 6
-cartoon/house/pic_322.jpg 6
-cartoon/house/pic_323.jpg 6
-cartoon/house/pic_311.jpg 6
-cartoon/house/pic_324.jpg 6
-cartoon/house/pic_327.jpg 6
-cartoon/house/pic_312.jpg 6
-cartoon/house/pic_314.jpg 6
-cartoon/house/pic_328.jpg 6
-cartoon/house/pic_069.jpg 6
-cartoon/house/pic_079.jpg 6
-cartoon/person/pic_308.jpg 7
-cartoon/person/pic_307.jpg 7
-cartoon/person/pic_306.jpg 7
-cartoon/person/pic_313.jpg 7
-cartoon/person/pic_323.jpg 7
-cartoon/person/pic_319.jpg 7
-cartoon/person/pic_320.jpg 7
-cartoon/person/pic_321.jpg 7
-cartoon/person/pic_318.jpg 7
-cartoon/person/pic_317.jpg 7
-cartoon/person/pic_316.jpg 7
-cartoon/person/pic_324.jpg 7
-cartoon/person/pic_334.jpg 7
-cartoon/person/pic_331.jpg 7
-cartoon/person/pic_332.jpg 7
-cartoon/person/pic_333.jpg 7
-cartoon/person/pic_144.jpg 7
-cartoon/person/pic_145.jpg 7
-cartoon/person/pic_143.jpg 7
-cartoon/person/pic_138.jpg 7
-cartoon/person/pic_154.jpg 7
-cartoon/person/pic_151.jpg 7
-cartoon/person/pic_152.jpg 7
-cartoon/person/pic_148.jpg 7
-cartoon/person/pic_149.jpg 7
-cartoon/person/pic_155.jpg 7
-cartoon/person/pic_157.jpg 7
-cartoon/person/pic_159.jpg 7
-cartoon/person/pic_176.jpg 7
-cartoon/person/pic_171.jpg 7
-cartoon/person/pic_168.jpg 7
-cartoon/person/pic_169.jpg 7
-cartoon/person/pic_167.jpg 7
-cartoon/person/pic_056.jpg 7
-cartoon/person/pic_071.jpg 7
-cartoon/person/pic_070.jpg 7
-cartoon/person/pic_069.jpg 7
-cartoon/person/pic_073.jpg 7
-cartoon/person/pic_075.jpg 7
-cartoon/person/pic_076.jpg 7
-cartoon/person/pic_068.jpg 7
diff --git a/data/pacs_split/cartoon_test_kfold.txt b/data/pacs_split/cartoon_test_kfold.txt
deleted file mode 100644
index 5daf9281e..000000000
--- a/data/pacs_split/cartoon_test_kfold.txt
+++ /dev/null
@@ -1,2344 +0,0 @@
-cartoon/dog/pic_383.jpg 1
-cartoon/dog/pic_382.jpg 1
-cartoon/dog/pic_386.jpg 1
-cartoon/dog/pic_384.jpg 1
-cartoon/dog/pic_385.jpg 1
-cartoon/dog/pic_391.jpg 1
-cartoon/dog/pic_390.jpg 1
-cartoon/dog/pic_392.jpg 1
-cartoon/dog/pic_393.jpg 1
-cartoon/dog/pic_405.jpg 1
-cartoon/dog/pic_403.jpg 1
-cartoon/dog/pic_417.jpg 1
-cartoon/dog/pic_416.jpg 1
-cartoon/dog/pic_415.jpg 1
-cartoon/dog/pic_150.jpg 1
-cartoon/dog/pic_233.jpg 1
-cartoon/dog/pic_232.jpg 1
-cartoon/dog/pic_227.jpg 1
-cartoon/dog/pic_228.jpg 1
-cartoon/dog/pic_229.jpg 1
-cartoon/dog/pic_226.jpg 1
-cartoon/dog/pic_230.jpg 1
-cartoon/dog/pic_286.jpg 1
-cartoon/dog/pic_285.jpg 1
-cartoon/dog/pic_276.jpg 1
-cartoon/dog/pic_262.jpg 1
-cartoon/dog/pic_259.jpg 1
-cartoon/dog/pic_257.jpg 1
-cartoon/dog/pic_254.jpg 1
-cartoon/dog/pic_252.jpg 1
-cartoon/dog/pic_249.jpg 1
-cartoon/dog/pic_001.jpg 1
-cartoon/dog/pic_003.jpg 1
-cartoon/dog/pic_004.jpg 1
-cartoon/dog/pic_005.jpg 1
-cartoon/dog/pic_006.jpg 1
-cartoon/dog/pic_031.jpg 1
-cartoon/dog/pic_043.jpg 1
-cartoon/dog/pic_025.jpg 1
-cartoon/dog/pic_056.jpg 1
-cartoon/dog/pic_052.jpg 1
-cartoon/dog/pic_049.jpg 1
-cartoon/dog/pic_019.jpg 1
-cartoon/dog/pic_023.jpg 1
-cartoon/dog/pic_048.jpg 1
-cartoon/dog/pic_044.jpg 1
-cartoon/dog/pic_042.jpg 1
-cartoon/dog/pic_038.jpg 1
-cartoon/dog/pic_033.jpg 1
-cartoon/dog/pic_040.jpg 1
-cartoon/dog/pic_055.jpg 1
-cartoon/dog/pic_053.jpg 1
-cartoon/dog/pic_041.jpg 1
-cartoon/dog/pic_039.jpg 1
-cartoon/dog/pic_111.jpg 1
-cartoon/dog/pic_109.jpg 1
-cartoon/dog/pic_114.jpg 1
-cartoon/dog/pic_140.jpg 1
-cartoon/dog/pic_142.jpg 1
-cartoon/dog/pic_138.jpg 1
-cartoon/dog/pic_135.jpg 1
-cartoon/dog/pic_129.jpg 1
-cartoon/dog/pic_125.jpg 1
-cartoon/dog/pic_122.jpg 1
-cartoon/dog/pic_121.jpg 1
-cartoon/dog/pic_117.jpg 1
-cartoon/dog/pic_115.jpg 1
-cartoon/dog/pic_112.jpg 1
-cartoon/dog/pic_120.jpg 1
-cartoon/dog/pic_143.jpg 1
-cartoon/dog/pic_346.jpg 1
-cartoon/dog/pic_349.jpg 1
-cartoon/dog/pic_347.jpg 1
-cartoon/dog/pic_340.jpg 1
-cartoon/dog/pic_332.jpg 1
-cartoon/dog/pic_358.jpg 1
-cartoon/dog/pic_351.jpg 1
-cartoon/dog/pic_361.jpg 1
-cartoon/dog/pic_360.jpg 1
-cartoon/dog/pic_446.jpg 1
-cartoon/dog/pic_430.jpg 1
-cartoon/dog/pic_427.jpg 1
-cartoon/dog/pic_381.jpg 1
-cartoon/dog/pic_379.jpg 1
-cartoon/dog/pic_373.jpg 1
-cartoon/dog/pic_400.jpg 1
-cartoon/dog/pic_429.jpg 1
-cartoon/dog/pic_442.jpg 1
-cartoon/dog/pic_134.jpg 1
-cartoon/dog/pic_137.jpg 1
-cartoon/dog/pic_136.jpg 1
-cartoon/dog/pic_118.jpg 1
-cartoon/dog/pic_126.jpg 1
-cartoon/dog/pic_133.jpg 1
-cartoon/dog/pic_124.jpg 1
-cartoon/dog/pic_127.jpg 1
-cartoon/dog/pic_139.jpg 1
-cartoon/dog/pic_145.jpg 1
-cartoon/dog/pic_132.jpg 1
-cartoon/dog/pic_141.jpg 1
-cartoon/dog/pic_152.jpg 1
-cartoon/dog/pic_151.jpg 1
-cartoon/dog/pic_153.jpg 1
-cartoon/dog/pic_155.jpg 1
-cartoon/dog/pic_217.jpg 1
-cartoon/dog/pic_218.jpg 1
-cartoon/dog/pic_244.jpg 1
-cartoon/dog/pic_246.jpg 1
-cartoon/dog/pic_245.jpg 1
-cartoon/dog/pic_243.jpg 1
-cartoon/dog/pic_241.jpg 1
-cartoon/dog/pic_296.jpg 1
-cartoon/dog/pic_300.jpg 1
-cartoon/dog/pic_277.jpg 1
-cartoon/dog/pic_290.jpg 1
-cartoon/dog/pic_284.jpg 1
-cartoon/dog/pic_256.jpg 1
-cartoon/dog/pic_255.jpg 1
-cartoon/dog/pic_261.jpg 1
-cartoon/dog/pic_294.jpg 1
-cartoon/dog/pic_247.jpg 1
-cartoon/dog/pic_267.jpg 1
-cartoon/dog/pic_265.jpg 1
-cartoon/dog/pic_208.jpg 1
-cartoon/dog/pic_205.jpg 1
-cartoon/dog/pic_207.jpg 1
-cartoon/dog/pic_206.jpg 1
-cartoon/dog/pic_209.jpg 1
-cartoon/dog/pic_224.jpg 1
-cartoon/dog/pic_223.jpg 1
-cartoon/dog/pic_222.jpg 1
-cartoon/dog/pic_215.jpg 1
-cartoon/dog/pic_221.jpg 1
-cartoon/dog/pic_214.jpg 1
-cartoon/dog/pic_212.jpg 1
-cartoon/dog/pic_211.jpg 1
-cartoon/dog/pic_210.jpg 1
-cartoon/dog/pic_213.jpg 1
-cartoon/dog/pic_239.jpg 1
-cartoon/dog/pic_237.jpg 1
-cartoon/dog/pic_234.jpg 1
-cartoon/dog/pic_235.jpg 1
-cartoon/dog/pic_007.jpg 1
-cartoon/dog/pic_008.jpg 1
-cartoon/dog/pic_009.jpg 1
-cartoon/dog/pic_010.jpg 1
-cartoon/dog/pic_011.jpg 1
-cartoon/dog/pic_012.jpg 1
-cartoon/dog/pic_013.jpg 1
-cartoon/dog/pic_014.jpg 1
-cartoon/dog/pic_015.jpg 1
-cartoon/dog/pic_016.jpg 1
-cartoon/dog/pic_017.jpg 1
-cartoon/dog/pic_018.jpg 1
-cartoon/dog/pic_032.jpg 1
-cartoon/dog/pic_030.jpg 1
-cartoon/dog/pic_021.jpg 1
-cartoon/dog/pic_024.jpg 1
-cartoon/dog/pic_028.jpg 1
-cartoon/dog/pic_026.jpg 1
-cartoon/dog/pic_022.jpg 1
-cartoon/dog/pic_447.jpg 1
-cartoon/dog/pic_449.jpg 1
-cartoon/dog/pic_450.jpg 1
-cartoon/dog/pic_166.jpg 1
-cartoon/dog/pic_171.jpg 1
-cartoon/dog/pic_167.jpg 1
-cartoon/dog/pic_168.jpg 1
-cartoon/dog/pic_172.jpg 1
-cartoon/dog/pic_170.jpg 1
-cartoon/dog/pic_169.jpg 1
-cartoon/dog/pic_173.jpg 1
-cartoon/dog/pic_176.jpg 1
-cartoon/dog/pic_175.jpg 1
-cartoon/dog/pic_180.jpg 1
-cartoon/dog/pic_179.jpg 1
-cartoon/dog/pic_178.jpg 1
-cartoon/dog/pic_177.jpg 1
-cartoon/dog/pic_183.jpg 1
-cartoon/dog/pic_184.jpg 1
-cartoon/dog/pic_182.jpg 1
-cartoon/dog/pic_220.jpg 1
-cartoon/dog/pic_219.jpg 1
-cartoon/dog/pic_216.jpg 1
-cartoon/dog/pic_273.jpg 1
-cartoon/dog/pic_272.jpg 1
-cartoon/dog/pic_275.jpg 1
-cartoon/dog/pic_274.jpg 1
-cartoon/dog/pic_280.jpg 1
-cartoon/dog/pic_279.jpg 1
-cartoon/dog/pic_281.jpg 1
-cartoon/dog/pic_282.jpg 1
-cartoon/dog/pic_327.jpg 1
-cartoon/dog/pic_329.jpg 1
-cartoon/dog/pic_326.jpg 1
-cartoon/dog/pic_328.jpg 1
-cartoon/dog/pic_335.jpg 1
-cartoon/dog/pic_338.jpg 1
-cartoon/dog/pic_339.jpg 1
-cartoon/dog/pic_337.jpg 1
-cartoon/dog/pic_374.jpg 1
-cartoon/dog/pic_372.jpg 1
-cartoon/dog/pic_371.jpg 1
-cartoon/dog/pic_369.jpg 1
-cartoon/dog/pic_368.jpg 1
-cartoon/dog/pic_367.jpg 1
-cartoon/dog/pic_366.jpg 1
-cartoon/dog/pic_365.jpg 1
-cartoon/dog/pic_364.jpg 1
-cartoon/dog/pic_437.jpg 1
-cartoon/dog/pic_431.jpg 1
-cartoon/dog/pic_413.jpg 1
-cartoon/dog/pic_394.jpg 1
-cartoon/dog/pic_428.jpg 1
-cartoon/dog/pic_387.jpg 1
-cartoon/dog/pic_380.jpg 1
-cartoon/dog/pic_376.jpg 1
-cartoon/dog/pic_425.jpg 1
-cartoon/dog/pic_414.jpg 1
-cartoon/dog/pic_398.jpg 1
-cartoon/dog/pic_317.jpg 1
-cartoon/dog/pic_318.jpg 1
-cartoon/dog/pic_323.jpg 1
-cartoon/dog/pic_363.jpg 1
-cartoon/dog/pic_357.jpg 1
-cartoon/dog/pic_356.jpg 1
-cartoon/dog/pic_354.jpg 1
-cartoon/dog/pic_352.jpg 1
-cartoon/dog/pic_353.jpg 1
-cartoon/dog/pic_348.jpg 1
-cartoon/dog/pic_345.jpg 1
-cartoon/dog/pic_344.jpg 1
-cartoon/dog/pic_343.jpg 1
-cartoon/dog/pic_341.jpg 1
-cartoon/dog/pic_333.jpg 1
-cartoon/dog/pic_334.jpg 1
-cartoon/dog/pic_331.jpg 1
-cartoon/dog/pic_350.jpg 1
-cartoon/dog/pic_181.jpg 1
-cartoon/dog/pic_188.jpg 1
-cartoon/dog/pic_190.jpg 1
-cartoon/dog/pic_186.jpg 1
-cartoon/dog/pic_185.jpg 1
-cartoon/dog/pic_189.jpg 1
-cartoon/dog/pic_192.jpg 1
-cartoon/dog/pic_191.jpg 1
-cartoon/dog/pic_193.jpg 1
-cartoon/dog/pic_195.jpg 1
-cartoon/dog/pic_201.jpg 1
-cartoon/dog/pic_200.jpg 1
-cartoon/dog/pic_197.jpg 1
-cartoon/dog/pic_198.jpg 1
-cartoon/dog/pic_196.jpg 1
-cartoon/dog/pic_202.jpg 1
-cartoon/dog/pic_204.jpg 1
-cartoon/dog/pic_203.jpg 1
-cartoon/dog/pic_034.jpg 1
-cartoon/dog/pic_027.jpg 1
-cartoon/dog/pic_029.jpg 1
-cartoon/dog/pic_050.jpg 1
-cartoon/dog/pic_035.jpg 1
-cartoon/dog/pic_037.jpg 1
-cartoon/dog/pic_051.jpg 1
-cartoon/dog/pic_045.jpg 1
-cartoon/dog/pic_058.jpg 1
-cartoon/dog/pic_057.jpg 1
-cartoon/dog/pic_059.jpg 1
-cartoon/dog/pic_062.jpg 1
-cartoon/dog/pic_063.jpg 1
-cartoon/dog/pic_060.jpg 1
-cartoon/dog/pic_061.jpg 1
-cartoon/dog/pic_065.jpg 1
-cartoon/dog/pic_064.jpg 1
-cartoon/dog/pic_068.jpg 1
-cartoon/dog/pic_067.jpg 1
-cartoon/dog/pic_432.jpg 1
-cartoon/dog/pic_424.jpg 1
-cartoon/dog/pic_445.jpg 1
-cartoon/dog/pic_397.jpg 1
-cartoon/dog/pic_389.jpg 1
-cartoon/dog/pic_395.jpg 1
-cartoon/dog/pic_435.jpg 1
-cartoon/dog/pic_399.jpg 1
-cartoon/dog/pic_411.jpg 1
-cartoon/dog/pic_434.jpg 1
-cartoon/dog/pic_444.jpg 1
-cartoon/dog/pic_401.jpg 1
-cartoon/dog/pic_396.jpg 1
-cartoon/dog/pic_426.jpg 1
-cartoon/dog/pic_433.jpg 1
-cartoon/dog/pic_443.jpg 1
-cartoon/dog/pic_412.jpg 1
-cartoon/dog/pic_148.jpg 1
-cartoon/dog/pic_146.jpg 1
-cartoon/dog/pic_418.jpg 1
-cartoon/dog/pic_156.jpg 1
-cartoon/dog/pic_149.jpg 1
-cartoon/dog/pic_160.jpg 1
-cartoon/dog/pic_161.jpg 1
-cartoon/dog/pic_163.jpg 1
-cartoon/dog/pic_165.jpg 1
-cartoon/dog/pic_164.jpg 1
-cartoon/dog/pic_419.jpg 1
-cartoon/dog/pic_422.jpg 1
-cartoon/dog/pic_420.jpg 1
-cartoon/dog/pic_421.jpg 1
-cartoon/dog/pic_423.jpg 1
-cartoon/dog/pic_439.jpg 1
-cartoon/dog/pic_438.jpg 1
-cartoon/dog/pic_441.jpg 1
-cartoon/dog/pic_440.jpg 1
-cartoon/dog/pic_242.jpg 1
-cartoon/dog/pic_260.jpg 1
-cartoon/dog/pic_293.jpg 1
-cartoon/dog/pic_278.jpg 1
-cartoon/dog/pic_269.jpg 1
-cartoon/dog/pic_292.jpg 1
-cartoon/dog/pic_268.jpg 1
-cartoon/dog/pic_291.jpg 1
-cartoon/dog/pic_289.jpg 1
-cartoon/dog/pic_266.jpg 1
-cartoon/dog/pic_258.jpg 1
-cartoon/dog/pic_264.jpg 1
-cartoon/dog/pic_287.jpg 1
-cartoon/dog/pic_298.jpg 1
-cartoon/dog/pic_288.jpg 1
-cartoon/dog/pic_295.jpg 1
-cartoon/dog/pic_299.jpg 1
-cartoon/dog/pic_306.jpg 1
-cartoon/dog/pic_305.jpg 1
-cartoon/dog/pic_304.jpg 1
-cartoon/dog/pic_302.jpg 1
-cartoon/dog/pic_303.jpg 1
-cartoon/dog/pic_308.jpg 1
-cartoon/dog/pic_309.jpg 1
-cartoon/dog/pic_330.jpg 1
-cartoon/dog/pic_324.jpg 1
-cartoon/dog/pic_322.jpg 1
-cartoon/dog/pic_319.jpg 1
-cartoon/dog/pic_320.jpg 1
-cartoon/dog/pic_315.jpg 1
-cartoon/dog/pic_313.jpg 1
-cartoon/dog/pic_314.jpg 1
-cartoon/dog/pic_310.jpg 1
-cartoon/dog/pic_325.jpg 1
-cartoon/dog/pic_316.jpg 1
-cartoon/dog/pic_321.jpg 1
-cartoon/dog/pic_312.jpg 1
-cartoon/dog/pic_069.jpg 1
-cartoon/dog/pic_066.jpg 1
-cartoon/dog/pic_082.jpg 1
-cartoon/dog/pic_078.jpg 1
-cartoon/dog/pic_076.jpg 1
-cartoon/dog/pic_077.jpg 1
-cartoon/dog/pic_074.jpg 1
-cartoon/dog/pic_073.jpg 1
-cartoon/dog/pic_072.jpg 1
-cartoon/dog/pic_071.jpg 1
-cartoon/dog/pic_079.jpg 1
-cartoon/dog/pic_080.jpg 1
-cartoon/dog/pic_083.jpg 1
-cartoon/dog/pic_081.jpg 1
-cartoon/dog/pic_084.jpg 1
-cartoon/dog/pic_085.jpg 1
-cartoon/dog/pic_086.jpg 1
-cartoon/dog/pic_087.jpg 1
-cartoon/dog/pic_088.jpg 1
-cartoon/dog/pic_089.jpg 1
-cartoon/dog/pic_090.jpg 1
-cartoon/dog/pic_094.jpg 1
-cartoon/dog/pic_093.jpg 1
-cartoon/dog/pic_091.jpg 1
-cartoon/dog/pic_092.jpg 1
-cartoon/dog/pic_108.jpg 1
-cartoon/dog/pic_105.jpg 1
-cartoon/dog/pic_104.jpg 1
-cartoon/dog/pic_103.jpg 1
-cartoon/dog/pic_099.jpg 1
-cartoon/dog/pic_101.jpg 1
-cartoon/dog/pic_098.jpg 1
-cartoon/dog/pic_097.jpg 1
-cartoon/dog/pic_096.jpg 1
-cartoon/dog/pic_095.jpg 1
-cartoon/dog/pic_102.jpg 1
-cartoon/dog/pic_106.jpg 1
-cartoon/dog/pic_107.jpg 1
-cartoon/dog/pic_100.jpg 1
-cartoon/dog/pic_113.jpg 1
-cartoon/dog/pic_110.jpg 1
-cartoon/elephant/pic_211.jpg 2
-cartoon/elephant/pic_154.jpg 2
-cartoon/elephant/pic_153.jpg 2
-cartoon/elephant/pic_237.jpg 2
-cartoon/elephant/pic_227.jpg 2
-cartoon/elephant/pic_226.jpg 2
-cartoon/elephant/pic_225.jpg 2
-cartoon/elephant/pic_155.jpg 2
-cartoon/elephant/pic_165.jpg 2
-cartoon/elephant/pic_164.jpg 2
-cartoon/elephant/pic_162.jpg 2
-cartoon/elephant/pic_157.jpg 2
-cartoon/elephant/pic_156.jpg 2
-cartoon/elephant/pic_166.jpg 2
-cartoon/elephant/pic_168.jpg 2
-cartoon/elephant/pic_167.jpg 2
-cartoon/elephant/pic_169.jpg 2
-cartoon/elephant/pic_171.jpg 2
-cartoon/elephant/pic_170.jpg 2
-cartoon/elephant/pic_240.jpg 2
-cartoon/elephant/pic_243.jpg 2
-cartoon/elephant/pic_242.jpg 2
-cartoon/elephant/pic_244.jpg 2
-cartoon/elephant/pic_172.jpg 2
-cartoon/elephant/pic_247.jpg 2
-cartoon/elephant/pic_248.jpg 2
-cartoon/elephant/pic_251.jpg 2
-cartoon/elephant/pic_250.jpg 2
-cartoon/elephant/pic_249.jpg 2
-cartoon/elephant/pic_252.jpg 2
-cartoon/elephant/pic_258.jpg 2
-cartoon/elephant/pic_257.jpg 2
-cartoon/elephant/pic_173.jpg 2
-cartoon/elephant/pic_412.jpg 2
-cartoon/elephant/pic_411.jpg 2
-cartoon/elephant/pic_408.jpg 2
-cartoon/elephant/pic_409.jpg 2
-cartoon/elephant/pic_413.jpg 2
-cartoon/elephant/pic_410.jpg 2
-cartoon/elephant/pic_431.jpg 2
-cartoon/elephant/pic_430.jpg 2
-cartoon/elephant/pic_428.jpg 2
-cartoon/elephant/pic_425.jpg 2
-cartoon/elephant/pic_423.jpg 2
-cartoon/elephant/pic_424.jpg 2
-cartoon/elephant/pic_420.jpg 2
-cartoon/elephant/pic_421.jpg 2
-cartoon/elephant/pic_419.jpg 2
-cartoon/elephant/pic_418.jpg 2
-cartoon/elephant/pic_026.jpg 2
-cartoon/elephant/pic_028.jpg 2
-cartoon/elephant/pic_024.jpg 2
-cartoon/elephant/pic_027.jpg 2
-cartoon/elephant/pic_021.jpg 2
-cartoon/elephant/pic_030.jpg 2
-cartoon/elephant/pic_036.jpg 2
-cartoon/elephant/pic_037.jpg 2
-cartoon/elephant/pic_033.jpg 2
-cartoon/elephant/pic_056.jpg 2
-cartoon/elephant/pic_052.jpg 2
-cartoon/elephant/pic_048.jpg 2
-cartoon/elephant/pic_040.jpg 2
-cartoon/elephant/pic_046.jpg 2
-cartoon/elephant/pic_045.jpg 2
-cartoon/elephant/pic_043.jpg 2
-cartoon/elephant/pic_044.jpg 2
-cartoon/elephant/pic_042.jpg 2
-cartoon/elephant/pic_034.jpg 2
-cartoon/elephant/pic_025.jpg 2
-cartoon/elephant/pic_325.jpg 2
-cartoon/elephant/pic_328.jpg 2
-cartoon/elephant/pic_329.jpg 2
-cartoon/elephant/pic_330.jpg 2
-cartoon/elephant/pic_331.jpg 2
-cartoon/elephant/pic_332.jpg 2
-cartoon/elephant/pic_333.jpg 2
-cartoon/elephant/pic_338.jpg 2
-cartoon/elephant/pic_336.jpg 2
-cartoon/elephant/pic_337.jpg 2
-cartoon/elephant/pic_335.jpg 2
-cartoon/elephant/pic_334.jpg 2
-cartoon/elephant/pic_342.jpg 2
-cartoon/elephant/pic_339.jpg 2
-cartoon/elephant/pic_340.jpg 2
-cartoon/elephant/pic_341.jpg 2
-cartoon/elephant/pic_343.jpg 2
-cartoon/elephant/pic_351.jpg 2
-cartoon/elephant/pic_345.jpg 2
-cartoon/elephant/pic_350.jpg 2
-cartoon/elephant/pic_280.jpg 2
-cartoon/elephant/pic_203.jpg 2
-cartoon/elephant/pic_204.jpg 2
-cartoon/elephant/pic_215.jpg 2
-cartoon/elephant/pic_207.jpg 2
-cartoon/elephant/pic_208.jpg 2
-cartoon/elephant/pic_206.jpg 2
-cartoon/elephant/pic_205.jpg 2
-cartoon/elephant/pic_216.jpg 2
-cartoon/elephant/pic_223.jpg 2
-cartoon/elephant/pic_222.jpg 2
-cartoon/elephant/pic_221.jpg 2
-cartoon/elephant/pic_285.jpg 2
-cartoon/elephant/pic_282.jpg 2
-cartoon/elephant/pic_218.jpg 2
-cartoon/elephant/pic_217.jpg 2
-cartoon/elephant/pic_224.jpg 2
-cartoon/elephant/pic_286.jpg 2
-cartoon/elephant/pic_392.jpg 2
-cartoon/elephant/pic_390.jpg 2
-cartoon/elephant/pic_395.jpg 2
-cartoon/elephant/pic_393.jpg 2
-cartoon/elephant/pic_391.jpg 2
-cartoon/elephant/pic_394.jpg 2
-cartoon/elephant/pic_403.jpg 2
-cartoon/elephant/pic_401.jpg 2
-cartoon/elephant/pic_400.jpg 2
-cartoon/elephant/pic_399.jpg 2
-cartoon/elephant/pic_396.jpg 2
-cartoon/elephant/pic_397.jpg 2
-cartoon/elephant/pic_398.jpg 2
-cartoon/elephant/pic_402.jpg 2
-cartoon/elephant/pic_407.jpg 2
-cartoon/elephant/pic_406.jpg 2
-cartoon/elephant/pic_405.jpg 2
-cartoon/elephant/pic_404.jpg 2
-cartoon/elephant/pic_415.jpg 2
-cartoon/elephant/pic_416.jpg 2
-cartoon/elephant/pic_349.jpg 2
-cartoon/elephant/pic_348.jpg 2
-cartoon/elephant/pic_347.jpg 2
-cartoon/elephant/pic_346.jpg 2
-cartoon/elephant/pic_344.jpg 2
-cartoon/elephant/pic_356.jpg 2
-cartoon/elephant/pic_355.jpg 2
-cartoon/elephant/pic_354.jpg 2
-cartoon/elephant/pic_352.jpg 2
-cartoon/elephant/pic_359.jpg 2
-cartoon/elephant/pic_357.jpg 2
-cartoon/elephant/pic_362.jpg 2
-cartoon/elephant/pic_360.jpg 2
-cartoon/elephant/pic_366.jpg 2
-cartoon/elephant/pic_365.jpg 2
-cartoon/elephant/pic_364.jpg 2
-cartoon/elephant/pic_363.jpg 2
-cartoon/elephant/pic_367.jpg 2
-cartoon/elephant/pic_064.jpg 2
-cartoon/elephant/pic_063.jpg 2
-cartoon/elephant/pic_062.jpg 2
-cartoon/elephant/pic_061.jpg 2
-cartoon/elephant/pic_118.jpg 2
-cartoon/elephant/pic_111.jpg 2
-cartoon/elephant/pic_100.jpg 2
-cartoon/elephant/pic_098.jpg 2
-cartoon/elephant/pic_096.jpg 2
-cartoon/elephant/pic_092.jpg 2
-cartoon/elephant/pic_088.jpg 2
-cartoon/elephant/pic_086.jpg 2
-cartoon/elephant/pic_083.jpg 2
-cartoon/elephant/pic_080.jpg 2
-cartoon/elephant/pic_079.jpg 2
-cartoon/elephant/pic_078.jpg 2
-cartoon/elephant/pic_076.jpg 2
-cartoon/elephant/pic_068.jpg 2
-cartoon/elephant/pic_072.jpg 2
-cartoon/elephant/pic_074.jpg 2
-cartoon/elephant/pic_071.jpg 2
-cartoon/elephant/pic_001.jpg 2
-cartoon/elephant/pic_002.jpg 2
-cartoon/elephant/pic_003.jpg 2
-cartoon/elephant/pic_004.jpg 2
-cartoon/elephant/pic_005.jpg 2
-cartoon/elephant/pic_007.jpg 2
-cartoon/elephant/pic_008.jpg 2
-cartoon/elephant/pic_009.jpg 2
-cartoon/elephant/pic_010.jpg 2
-cartoon/elephant/pic_011.jpg 2
-cartoon/elephant/pic_012.jpg 2
-cartoon/elephant/pic_013.jpg 2
-cartoon/elephant/pic_014.jpg 2
-cartoon/elephant/pic_015.jpg 2
-cartoon/elephant/pic_016.jpg 2
-cartoon/elephant/pic_017.jpg 2
-cartoon/elephant/pic_019.jpg 2
-cartoon/elephant/pic_020.jpg 2
-cartoon/elephant/pic_038.jpg 2
-cartoon/elephant/pic_220.jpg 2
-cartoon/elephant/pic_219.jpg 2
-cartoon/elephant/pic_284.jpg 2
-cartoon/elephant/pic_233.jpg 2
-cartoon/elephant/pic_232.jpg 2
-cartoon/elephant/pic_290.jpg 2
-cartoon/elephant/pic_292.jpg 2
-cartoon/elephant/pic_231.jpg 2
-cartoon/elephant/pic_228.jpg 2
-cartoon/elephant/pic_230.jpg 2
-cartoon/elephant/pic_229.jpg 2
-cartoon/elephant/pic_289.jpg 2
-cartoon/elephant/pic_291.jpg 2
-cartoon/elephant/pic_236.jpg 2
-cartoon/elephant/pic_235.jpg 2
-cartoon/elephant/pic_294.jpg 2
-cartoon/elephant/pic_239.jpg 2
-cartoon/elephant/pic_238.jpg 2
-cartoon/elephant/pic_295.jpg 2
-cartoon/elephant/pic_296.jpg 2
-cartoon/elephant/pic_183.jpg 2
-cartoon/elephant/pic_182.jpg 2
-cartoon/elephant/pic_190.jpg 2
-cartoon/elephant/pic_198.jpg 2
-cartoon/elephant/pic_197.jpg 2
-cartoon/elephant/pic_196.jpg 2
-cartoon/elephant/pic_273.jpg 2
-cartoon/elephant/pic_194.jpg 2
-cartoon/elephant/pic_272.jpg 2
-cartoon/elephant/pic_195.jpg 2
-cartoon/elephant/pic_192.jpg 2
-cartoon/elephant/pic_276.jpg 2
-cartoon/elephant/pic_279.jpg 2
-cartoon/elephant/pic_202.jpg 2
-cartoon/elephant/pic_275.jpg 2
-cartoon/elephant/pic_274.jpg 2
-cartoon/elephant/pic_200.jpg 2
-cartoon/elephant/pic_201.jpg 2
-cartoon/elephant/pic_199.jpg 2
-cartoon/elephant/pic_433.jpg 2
-cartoon/elephant/pic_434.jpg 2
-cartoon/elephant/pic_435.jpg 2
-cartoon/elephant/pic_432.jpg 2
-cartoon/elephant/pic_439.jpg 2
-cartoon/elephant/pic_427.jpg 2
-cartoon/elephant/pic_440.jpg 2
-cartoon/elephant/pic_438.jpg 2
-cartoon/elephant/pic_426.jpg 2
-cartoon/elephant/pic_449.jpg 2
-cartoon/elephant/pic_447.jpg 2
-cartoon/elephant/pic_448.jpg 2
-cartoon/elephant/pic_444.jpg 2
-cartoon/elephant/pic_443.jpg 2
-cartoon/elephant/pic_442.jpg 2
-cartoon/elephant/pic_446.jpg 2
-cartoon/elephant/pic_464.jpg 2
-cartoon/elephant/pic_368.jpg 2
-cartoon/elephant/pic_370.jpg 2
-cartoon/elephant/pic_372.jpg 2
-cartoon/elephant/pic_373.jpg 2
-cartoon/elephant/pic_374.jpg 2
-cartoon/elephant/pic_376.jpg 2
-cartoon/elephant/pic_375.jpg 2
-cartoon/elephant/pic_378.jpg 2
-cartoon/elephant/pic_377.jpg 2
-cartoon/elephant/pic_381.jpg 2
-cartoon/elephant/pic_382.jpg 2
-cartoon/elephant/pic_383.jpg 2
-cartoon/elephant/pic_384.jpg 2
-cartoon/elephant/pic_385.jpg 2
-cartoon/elephant/pic_389.jpg 2
-cartoon/elephant/pic_388.jpg 2
-cartoon/elephant/pic_387.jpg 2
-cartoon/elephant/pic_023.jpg 2
-cartoon/elephant/pic_022.jpg 2
-cartoon/elephant/pic_039.jpg 2
-cartoon/elephant/pic_053.jpg 2
-cartoon/elephant/pic_049.jpg 2
-cartoon/elephant/pic_047.jpg 2
-cartoon/elephant/pic_041.jpg 2
-cartoon/elephant/pic_050.jpg 2
-cartoon/elephant/pic_035.jpg 2
-cartoon/elephant/pic_057.jpg 2
-cartoon/elephant/pic_032.jpg 2
-cartoon/elephant/pic_055.jpg 2
-cartoon/elephant/pic_058.jpg 2
-cartoon/elephant/pic_029.jpg 2
-cartoon/elephant/pic_051.jpg 2
-cartoon/elephant/pic_054.jpg 2
-cartoon/elephant/pic_059.jpg 2
-cartoon/elephant/pic_060.jpg 2
-cartoon/elephant/pic_066.jpg 2
-cartoon/elephant/pic_065.jpg 2
-cartoon/elephant/pic_085.jpg 2
-cartoon/elephant/pic_094.jpg 2
-cartoon/elephant/pic_091.jpg 2
-cartoon/elephant/pic_110.jpg 2
-cartoon/elephant/pic_147.jpg 2
-cartoon/elephant/pic_149.jpg 2
-cartoon/elephant/pic_140.jpg 2
-cartoon/elephant/pic_135.jpg 2
-cartoon/elephant/pic_115.jpg 2
-cartoon/elephant/pic_089.jpg 2
-cartoon/elephant/pic_107.jpg 2
-cartoon/elephant/pic_104.jpg 2
-cartoon/elephant/pic_095.jpg 2
-cartoon/elephant/pic_142.jpg 2
-cartoon/elephant/pic_081.jpg 2
-cartoon/elephant/pic_090.jpg 2
-cartoon/elephant/pic_097.jpg 2
-cartoon/elephant/pic_106.jpg 2
-cartoon/elephant/pic_151.jpg 2
-cartoon/elephant/pic_129.jpg 2
-cartoon/elephant/pic_121.jpg 2
-cartoon/elephant/pic_259.jpg 2
-cartoon/elephant/pic_174.jpg 2
-cartoon/elephant/pic_260.jpg 2
-cartoon/elephant/pic_180.jpg 2
-cartoon/elephant/pic_178.jpg 2
-cartoon/elephant/pic_177.jpg 2
-cartoon/elephant/pic_176.jpg 2
-cartoon/elephant/pic_264.jpg 2
-cartoon/elephant/pic_175.jpg 2
-cartoon/elephant/pic_263.jpg 2
-cartoon/elephant/pic_262.jpg 2
-cartoon/elephant/pic_261.jpg 2
-cartoon/elephant/pic_181.jpg 2
-cartoon/elephant/pic_268.jpg 2
-cartoon/elephant/pic_179.jpg 2
-cartoon/elephant/pic_269.jpg 2
-cartoon/elephant/pic_191.jpg 2
-cartoon/elephant/pic_271.jpg 2
-cartoon/elephant/pic_184.jpg 2
-cartoon/elephant/pic_185.jpg 2
-cartoon/elephant/pic_270.jpg 2
-cartoon/elephant/pic_070.jpg 2
-cartoon/elephant/pic_067.jpg 2
-cartoon/elephant/pic_069.jpg 2
-cartoon/elephant/pic_137.jpg 2
-cartoon/elephant/pic_136.jpg 2
-cartoon/elephant/pic_108.jpg 2
-cartoon/elephant/pic_116.jpg 2
-cartoon/elephant/pic_117.jpg 2
-cartoon/elephant/pic_103.jpg 2
-cartoon/elephant/pic_093.jpg 2
-cartoon/elephant/pic_099.jpg 2
-cartoon/elephant/pic_084.jpg 2
-cartoon/elephant/pic_102.jpg 2
-cartoon/elephant/pic_087.jpg 2
-cartoon/elephant/pic_082.jpg 2
-cartoon/elephant/pic_073.jpg 2
-cartoon/elephant/pic_075.jpg 2
-cartoon/elephant/pic_077.jpg 2
-cartoon/elephant/pic_473.jpg 2
-cartoon/elephant/pic_475.jpg 2
-cartoon/elephant/pic_474.jpg 2
-cartoon/elephant/pic_476.jpg 2
-cartoon/elephant/pic_481.jpg 2
-cartoon/elephant/pic_480.jpg 2
-cartoon/elephant/pic_478.jpg 2
-cartoon/elephant/pic_479.jpg 2
-cartoon/elephant/pic_477.jpg 2
-cartoon/elephant/pic_482.jpg 2
-cartoon/elephant/pic_485.jpg 2
-cartoon/elephant/pic_484.jpg 2
-cartoon/elephant/pic_483.jpg 2
-cartoon/elephant/pic_486.jpg 2
-cartoon/elephant/pic_487.jpg 2
-cartoon/elephant/pic_491.jpg 2
-cartoon/elephant/pic_493.jpg 2
-cartoon/elephant/pic_305.jpg 2
-cartoon/elephant/pic_307.jpg 2
-cartoon/elephant/pic_311.jpg 2
-cartoon/elephant/pic_308.jpg 2
-cartoon/elephant/pic_312.jpg 2
-cartoon/elephant/pic_310.jpg 2
-cartoon/elephant/pic_313.jpg 2
-cartoon/elephant/pic_309.jpg 2
-cartoon/elephant/pic_314.jpg 2
-cartoon/elephant/pic_316.jpg 2
-cartoon/elephant/pic_319.jpg 2
-cartoon/elephant/pic_318.jpg 2
-cartoon/elephant/pic_322.jpg 2
-cartoon/elephant/pic_320.jpg 2
-cartoon/elephant/pic_324.jpg 2
-cartoon/elephant/pic_323.jpg 2
-cartoon/elephant/pic_327.jpg 2
-cartoon/elephant/pic_326.jpg 2
-cartoon/elephant/pic_114.jpg 2
-cartoon/elephant/pic_146.jpg 2
-cartoon/elephant/pic_131.jpg 2
-cartoon/elephant/pic_132.jpg 2
-cartoon/elephant/pic_213.jpg 2
-cartoon/elephant/pic_210.jpg 2
-cartoon/elephant/pic_186.jpg 2
-cartoon/elephant/pic_188.jpg 2
-cartoon/elephant/pic_214.jpg 2
-cartoon/elephant/pic_152.jpg 2
-cartoon/elephant/pic_119.jpg 2
-cartoon/elephant/pic_133.jpg 2
-cartoon/elephant/pic_139.jpg 2
-cartoon/elephant/pic_212.jpg 2
-cartoon/elephant/pic_209.jpg 2
-cartoon/elephant/pic_126.jpg 2
-cartoon/elephant/pic_130.jpg 2
-cartoon/elephant/pic_187.jpg 2
-cartoon/elephant/pic_159.jpg 2
-cartoon/elephant/pic_462.jpg 2
-cartoon/elephant/pic_463.jpg 2
-cartoon/elephant/pic_460.jpg 2
-cartoon/elephant/pic_461.jpg 2
-cartoon/elephant/pic_458.jpg 2
-cartoon/elephant/pic_456.jpg 2
-cartoon/elephant/pic_454.jpg 2
-cartoon/elephant/pic_453.jpg 2
-cartoon/elephant/pic_452.jpg 2
-cartoon/elephant/pic_450.jpg 2
-cartoon/elephant/pic_468.jpg 2
-cartoon/elephant/pic_459.jpg 2
-cartoon/elephant/pic_455.jpg 2
-cartoon/elephant/pic_457.jpg 2
-cartoon/elephant/pic_466.jpg 2
-cartoon/elephant/pic_465.jpg 2
-cartoon/elephant/pic_471.jpg 2
-cartoon/elephant/pic_469.jpg 2
-cartoon/elephant/pic_496.jpg 2
-cartoon/elephant/pic_495.jpg 2
-cartoon/elephant/pic_497.jpg 2
-cartoon/elephant/pic_498.jpg 2
-cartoon/elephant/pic_499.jpg 2
-cartoon/elephant/pic_502.jpg 2
-cartoon/elephant/pic_504.jpg 2
-cartoon/elephant/pic_501.jpg 2
-cartoon/elephant/pic_505.jpg 2
-cartoon/elephant/pic_245.jpg 2
-cartoon/elephant/pic_246.jpg 2
-cartoon/elephant/pic_253.jpg 2
-cartoon/elephant/pic_299.jpg 2
-cartoon/elephant/pic_278.jpg 2
-cartoon/elephant/pic_288.jpg 2
-cartoon/elephant/pic_304.jpg 2
-cartoon/elephant/pic_303.jpg 2
-cartoon/elephant/pic_266.jpg 2
-cartoon/elephant/pic_265.jpg 2
-cartoon/elephant/pic_256.jpg 2
-cartoon/elephant/pic_254.jpg 2
-cartoon/elephant/pic_255.jpg 2
-cartoon/elephant/pic_306.jpg 2
-cartoon/elephant/pic_293.jpg 2
-cartoon/elephant/pic_302.jpg 2
-cartoon/elephant/pic_301.jpg 2
-cartoon/elephant/pic_300.jpg 2
-cartoon/elephant/pic_138.jpg 2
-cartoon/elephant/pic_125.jpg 2
-cartoon/elephant/pic_112.jpg 2
-cartoon/elephant/pic_144.jpg 2
-cartoon/elephant/pic_101.jpg 2
-cartoon/elephant/pic_122.jpg 2
-cartoon/elephant/pic_120.jpg 2
-cartoon/elephant/pic_105.jpg 2
-cartoon/elephant/pic_189.jpg 2
-cartoon/elephant/pic_141.jpg 2
-cartoon/elephant/pic_143.jpg 2
-cartoon/elephant/pic_160.jpg 2
-cartoon/elephant/pic_113.jpg 2
-cartoon/elephant/pic_145.jpg 2
-cartoon/elephant/pic_109.jpg 2
-cartoon/elephant/pic_148.jpg 2
-cartoon/elephant/pic_128.jpg 2
-cartoon/elephant/pic_127.jpg 2
-cartoon/elephant/pic_150.jpg 2
-cartoon/elephant/pic_124.jpg 2
-cartoon/giraffe/pic_005.jpg 3
-cartoon/giraffe/pic_006.jpg 3
-cartoon/giraffe/pic_007.jpg 3
-cartoon/giraffe/pic_008.jpg 3
-cartoon/giraffe/pic_009.jpg 3
-cartoon/giraffe/pic_010.jpg 3
-cartoon/giraffe/pic_011.jpg 3
-cartoon/giraffe/pic_012.jpg 3
-cartoon/giraffe/pic_013.jpg 3
-cartoon/giraffe/pic_014.jpg 3
-cartoon/giraffe/pic_015.jpg 3
-cartoon/giraffe/pic_016.jpg 3
-cartoon/giraffe/pic_017.jpg 3
-cartoon/giraffe/pic_018.jpg 3
-cartoon/giraffe/pic_019.jpg 3
-cartoon/giraffe/pic_020.jpg 3
-cartoon/giraffe/pic_022.jpg 3
-cartoon/giraffe/pic_025.jpg 3
-cartoon/giraffe/pic_024.jpg 3
-cartoon/giraffe/pic_091.jpg 3
-cartoon/giraffe/pic_090.jpg 3
-cartoon/giraffe/pic_087.jpg 3
-cartoon/giraffe/pic_086.jpg 3
-cartoon/giraffe/pic_085.jpg 3
-cartoon/giraffe/pic_095.jpg 3
-cartoon/giraffe/pic_096.jpg 3
-cartoon/giraffe/pic_093.jpg 3
-cartoon/giraffe/pic_094.jpg 3
-cartoon/giraffe/pic_106.jpg 3
-cartoon/giraffe/pic_108.jpg 3
-cartoon/giraffe/pic_104.jpg 3
-cartoon/giraffe/pic_103.jpg 3
-cartoon/giraffe/pic_101.jpg 3
-cartoon/giraffe/pic_100.jpg 3
-cartoon/giraffe/pic_099.jpg 3
-cartoon/giraffe/pic_098.jpg 3
-cartoon/giraffe/pic_097.jpg 3
-cartoon/giraffe/pic_107.jpg 3
-cartoon/giraffe/pic_109.jpg 3
-cartoon/giraffe/pic_285.jpg 3
-cartoon/giraffe/pic_282.jpg 3
-cartoon/giraffe/pic_284.jpg 3
-cartoon/giraffe/pic_287.jpg 3
-cartoon/giraffe/pic_286.jpg 3
-cartoon/giraffe/pic_298.jpg 3
-cartoon/giraffe/pic_296.jpg 3
-cartoon/giraffe/pic_294.jpg 3
-cartoon/giraffe/pic_293.jpg 3
-cartoon/giraffe/pic_292.jpg 3
-cartoon/giraffe/pic_290.jpg 3
-cartoon/giraffe/pic_288.jpg 3
-cartoon/giraffe/pic_291.jpg 3
-cartoon/giraffe/pic_320.jpg 3
-cartoon/giraffe/pic_313.jpg 3
-cartoon/giraffe/pic_305.jpg 3
-cartoon/giraffe/pic_307.jpg 3
-cartoon/giraffe/pic_306.jpg 3
-cartoon/giraffe/pic_303.jpg 3
-cartoon/giraffe/pic_152.jpg 3
-cartoon/giraffe/pic_153.jpg 3
-cartoon/giraffe/pic_151.jpg 3
-cartoon/giraffe/pic_155.jpg 3
-cartoon/giraffe/pic_156.jpg 3
-cartoon/giraffe/pic_157.jpg 3
-cartoon/giraffe/pic_159.jpg 3
-cartoon/giraffe/pic_160.jpg 3
-cartoon/giraffe/pic_161.jpg 3
-cartoon/giraffe/pic_162.jpg 3
-cartoon/giraffe/pic_158.jpg 3
-cartoon/giraffe/pic_163.jpg 3
-cartoon/giraffe/pic_164.jpg 3
-cartoon/giraffe/pic_165.jpg 3
-cartoon/giraffe/pic_166.jpg 3
-cartoon/giraffe/pic_167.jpg 3
-cartoon/giraffe/pic_168.jpg 3
-cartoon/giraffe/pic_170.jpg 3
-cartoon/giraffe/pic_369.jpg 3
-cartoon/giraffe/pic_368.jpg 3
-cartoon/giraffe/pic_367.jpg 3
-cartoon/giraffe/pic_365.jpg 3
-cartoon/giraffe/pic_364.jpg 3
-cartoon/giraffe/pic_363.jpg 3
-cartoon/giraffe/pic_373.jpg 3
-cartoon/giraffe/pic_370.jpg 3
-cartoon/giraffe/pic_376.jpg 3
-cartoon/giraffe/pic_375.jpg 3
-cartoon/giraffe/pic_377.jpg 3
-cartoon/giraffe/pic_379.jpg 3
-cartoon/giraffe/pic_381.jpg 3
-cartoon/giraffe/pic_382.jpg 3
-cartoon/giraffe/pic_380.jpg 3
-cartoon/giraffe/pic_383.jpg 3
-cartoon/giraffe/pic_385.jpg 3
-cartoon/giraffe/pic_384.jpg 3
-cartoon/giraffe/pic_386.jpg 3
-cartoon/giraffe/pic_031.jpg 3
-cartoon/giraffe/pic_030.jpg 3
-cartoon/giraffe/pic_029.jpg 3
-cartoon/giraffe/pic_027.jpg 3
-cartoon/giraffe/pic_023.jpg 3
-cartoon/giraffe/pic_026.jpg 3
-cartoon/giraffe/pic_033.jpg 3
-cartoon/giraffe/pic_028.jpg 3
-cartoon/giraffe/pic_032.jpg 3
-cartoon/giraffe/pic_043.jpg 3
-cartoon/giraffe/pic_042.jpg 3
-cartoon/giraffe/pic_041.jpg 3
-cartoon/giraffe/pic_039.jpg 3
-cartoon/giraffe/pic_038.jpg 3
-cartoon/giraffe/pic_036.jpg 3
-cartoon/giraffe/pic_035.jpg 3
-cartoon/giraffe/pic_037.jpg 3
-cartoon/giraffe/pic_040.jpg 3
-cartoon/giraffe/pic_051.jpg 3
-cartoon/giraffe/pic_050.jpg 3
-cartoon/giraffe/pic_048.jpg 3
-cartoon/giraffe/pic_047.jpg 3
-cartoon/giraffe/pic_045.jpg 3
-cartoon/giraffe/pic_044.jpg 3
-cartoon/giraffe/pic_053.jpg 3
-cartoon/giraffe/pic_052.jpg 3
-cartoon/giraffe/pic_054.jpg 3
-cartoon/giraffe/pic_056.jpg 3
-cartoon/giraffe/pic_055.jpg 3
-cartoon/giraffe/pic_057.jpg 3
-cartoon/giraffe/pic_059.jpg 3
-cartoon/giraffe/pic_060.jpg 3
-cartoon/giraffe/pic_058.jpg 3
-cartoon/giraffe/pic_062.jpg 3
-cartoon/giraffe/pic_061.jpg 3
-cartoon/giraffe/pic_067.jpg 3
-cartoon/giraffe/pic_064.jpg 3
-cartoon/giraffe/pic_065.jpg 3
-cartoon/giraffe/pic_066.jpg 3
-cartoon/giraffe/pic_233.jpg 3
-cartoon/giraffe/pic_235.jpg 3
-cartoon/giraffe/pic_236.jpg 3
-cartoon/giraffe/pic_238.jpg 3
-cartoon/giraffe/pic_237.jpg 3
-cartoon/giraffe/pic_239.jpg 3
-cartoon/giraffe/pic_130.jpg 3
-cartoon/giraffe/pic_131.jpg 3
-cartoon/giraffe/pic_134.jpg 3
-cartoon/giraffe/pic_133.jpg 3
-cartoon/giraffe/pic_132.jpg 3
-cartoon/giraffe/pic_136.jpg 3
-cartoon/giraffe/pic_138.jpg 3
-cartoon/giraffe/pic_139.jpg 3
-cartoon/giraffe/pic_141.jpg 3
-cartoon/giraffe/pic_143.jpg 3
-cartoon/giraffe/pic_145.jpg 3
-cartoon/giraffe/pic_147.jpg 3
-cartoon/giraffe/pic_144.jpg 3
-cartoon/giraffe/pic_146.jpg 3
-cartoon/giraffe/pic_149.jpg 3
-cartoon/giraffe/pic_148.jpg 3
-cartoon/giraffe/pic_343.jpg 3
-cartoon/giraffe/pic_346.jpg 3
-cartoon/giraffe/pic_352.jpg 3
-cartoon/giraffe/pic_355.jpg 3
-cartoon/giraffe/pic_354.jpg 3
-cartoon/giraffe/pic_351.jpg 3
-cartoon/giraffe/pic_350.jpg 3
-cartoon/giraffe/pic_353.jpg 3
-cartoon/giraffe/pic_349.jpg 3
-cartoon/giraffe/pic_359.jpg 3
-cartoon/giraffe/pic_360.jpg 3
-cartoon/giraffe/pic_361.jpg 3
-cartoon/giraffe/pic_358.jpg 3
-cartoon/giraffe/pic_356.jpg 3
-cartoon/giraffe/pic_374.jpg 3
-cartoon/giraffe/pic_372.jpg 3
-cartoon/giraffe/pic_371.jpg 3
-cartoon/giraffe/pic_174.jpg 3
-cartoon/giraffe/pic_172.jpg 3
-cartoon/giraffe/pic_173.jpg 3
-cartoon/giraffe/pic_177.jpg 3
-cartoon/giraffe/pic_175.jpg 3
-cartoon/giraffe/pic_176.jpg 3
-cartoon/giraffe/pic_178.jpg 3
-cartoon/giraffe/pic_179.jpg 3
-cartoon/giraffe/pic_180.jpg 3
-cartoon/giraffe/pic_181.jpg 3
-cartoon/giraffe/pic_182.jpg 3
-cartoon/giraffe/pic_185.jpg 3
-cartoon/giraffe/pic_183.jpg 3
-cartoon/giraffe/pic_186.jpg 3
-cartoon/giraffe/pic_187.jpg 3
-cartoon/giraffe/pic_188.jpg 3
-cartoon/giraffe/pic_189.jpg 3
-cartoon/giraffe/pic_190.jpg 3
-cartoon/giraffe/pic_192.jpg 3
-cartoon/giraffe/pic_262.jpg 3
-cartoon/giraffe/pic_265.jpg 3
-cartoon/giraffe/pic_266.jpg 3
-cartoon/giraffe/pic_264.jpg 3
-cartoon/giraffe/pic_267.jpg 3
-cartoon/giraffe/pic_268.jpg 3
-cartoon/giraffe/pic_269.jpg 3
-cartoon/giraffe/pic_270.jpg 3
-cartoon/giraffe/pic_272.jpg 3
-cartoon/giraffe/pic_271.jpg 3
-cartoon/giraffe/pic_275.jpg 3
-cartoon/giraffe/pic_274.jpg 3
-cartoon/giraffe/pic_273.jpg 3
-cartoon/giraffe/pic_276.jpg 3
-cartoon/giraffe/pic_279.jpg 3
-cartoon/giraffe/pic_277.jpg 3
-cartoon/giraffe/pic_278.jpg 3
-cartoon/giraffe/pic_280.jpg 3
-cartoon/giraffe/pic_063.jpg 3
-cartoon/giraffe/pic_068.jpg 3
-cartoon/giraffe/pic_080.jpg 3
-cartoon/giraffe/pic_082.jpg 3
-cartoon/giraffe/pic_079.jpg 3
-cartoon/giraffe/pic_077.jpg 3
-cartoon/giraffe/pic_078.jpg 3
-cartoon/giraffe/pic_074.jpg 3
-cartoon/giraffe/pic_075.jpg 3
-cartoon/giraffe/pic_073.jpg 3
-cartoon/giraffe/pic_072.jpg 3
-cartoon/giraffe/pic_071.jpg 3
-cartoon/giraffe/pic_069.jpg 3
-cartoon/giraffe/pic_083.jpg 3
-cartoon/giraffe/pic_084.jpg 3
-cartoon/giraffe/pic_076.jpg 3
-cartoon/giraffe/pic_089.jpg 3
-cartoon/giraffe/pic_088.jpg 3
-cartoon/giraffe/pic_194.jpg 3
-cartoon/giraffe/pic_193.jpg 3
-cartoon/giraffe/pic_195.jpg 3
-cartoon/giraffe/pic_196.jpg 3
-cartoon/giraffe/pic_197.jpg 3
-cartoon/giraffe/pic_198.jpg 3
-cartoon/giraffe/pic_199.jpg 3
-cartoon/giraffe/pic_200.jpg 3
-cartoon/giraffe/pic_201.jpg 3
-cartoon/giraffe/pic_202.jpg 3
-cartoon/giraffe/pic_203.jpg 3
-cartoon/giraffe/pic_204.jpg 3
-cartoon/giraffe/pic_205.jpg 3
-cartoon/giraffe/pic_206.jpg 3
-cartoon/giraffe/pic_209.jpg 3
-cartoon/giraffe/pic_208.jpg 3
-cartoon/giraffe/pic_210.jpg 3
-cartoon/giraffe/pic_212.jpg 3
-cartoon/giraffe/pic_211.jpg 3
-cartoon/giraffe/pic_216.jpg 3
-cartoon/giraffe/pic_102.jpg 3
-cartoon/giraffe/pic_105.jpg 3
-cartoon/giraffe/pic_121.jpg 3
-cartoon/giraffe/pic_124.jpg 3
-cartoon/giraffe/pic_122.jpg 3
-cartoon/giraffe/pic_119.jpg 3
-cartoon/giraffe/pic_118.jpg 3
-cartoon/giraffe/pic_117.jpg 3
-cartoon/giraffe/pic_115.jpg 3
-cartoon/giraffe/pic_116.jpg 3
-cartoon/giraffe/pic_114.jpg 3
-cartoon/giraffe/pic_112.jpg 3
-cartoon/giraffe/pic_111.jpg 3
-cartoon/giraffe/pic_123.jpg 3
-cartoon/giraffe/pic_113.jpg 3
-cartoon/giraffe/pic_120.jpg 3
-cartoon/giraffe/pic_127.jpg 3
-cartoon/giraffe/pic_126.jpg 3
-cartoon/giraffe/pic_125.jpg 3
-cartoon/giraffe/pic_129.jpg 3
-cartoon/giraffe/pic_128.jpg 3
-cartoon/giraffe/pic_001.jpg 3
-cartoon/giraffe/pic_002.jpg 3
-cartoon/giraffe/pic_003.jpg 3
-cartoon/giraffe/pic_004.jpg 3
-cartoon/giraffe/pic_215.jpg 3
-cartoon/giraffe/pic_214.jpg 3
-cartoon/giraffe/pic_213.jpg 3
-cartoon/giraffe/pic_218.jpg 3
-cartoon/giraffe/pic_219.jpg 3
-cartoon/giraffe/pic_217.jpg 3
-cartoon/giraffe/pic_220.jpg 3
-cartoon/giraffe/pic_221.jpg 3
-cartoon/giraffe/pic_222.jpg 3
-cartoon/giraffe/pic_224.jpg 3
-cartoon/giraffe/pic_225.jpg 3
-cartoon/giraffe/pic_226.jpg 3
-cartoon/giraffe/pic_227.jpg 3
-cartoon/giraffe/pic_228.jpg 3
-cartoon/giraffe/pic_229.jpg 3
-cartoon/giraffe/pic_230.jpg 3
-cartoon/giraffe/pic_231.jpg 3
-cartoon/giraffe/pic_232.jpg 3
-cartoon/giraffe/pic_344.jpg 3
-cartoon/giraffe/pic_345.jpg 3
-cartoon/giraffe/pic_342.jpg 3
-cartoon/giraffe/pic_334.jpg 3
-cartoon/giraffe/pic_335.jpg 3
-cartoon/giraffe/pic_327.jpg 3
-cartoon/giraffe/pic_330.jpg 3
-cartoon/giraffe/pic_333.jpg 3
-cartoon/giraffe/pic_328.jpg 3
-cartoon/giraffe/pic_331.jpg 3
-cartoon/giraffe/pic_326.jpg 3
-cartoon/giraffe/pic_324.jpg 3
-cartoon/giraffe/pic_323.jpg 3
-cartoon/giraffe/pic_347.jpg 3
-cartoon/giraffe/pic_341.jpg 3
-cartoon/giraffe/pic_336.jpg 3
-cartoon/giraffe/pic_339.jpg 3
-cartoon/giraffe/pic_337.jpg 3
-cartoon/giraffe/pic_304.jpg 3
-cartoon/giraffe/pic_302.jpg 3
-cartoon/giraffe/pic_297.jpg 3
-cartoon/giraffe/pic_295.jpg 3
-cartoon/giraffe/pic_299.jpg 3
-cartoon/giraffe/pic_316.jpg 3
-cartoon/giraffe/pic_312.jpg 3
-cartoon/giraffe/pic_318.jpg 3
-cartoon/giraffe/pic_319.jpg 3
-cartoon/giraffe/pic_308.jpg 3
-cartoon/giraffe/pic_310.jpg 3
-cartoon/giraffe/pic_309.jpg 3
-cartoon/giraffe/pic_301.jpg 3
-cartoon/giraffe/pic_311.jpg 3
-cartoon/giraffe/pic_322.jpg 3
-cartoon/giraffe/pic_321.jpg 3
-cartoon/giraffe/pic_300.jpg 3
-cartoon/giraffe/pic_317.jpg 3
-cartoon/giraffe/pic_340.jpg 3
-cartoon/giraffe/pic_242.jpg 3
-cartoon/giraffe/pic_241.jpg 3
-cartoon/giraffe/pic_243.jpg 3
-cartoon/giraffe/pic_244.jpg 3
-cartoon/giraffe/pic_245.jpg 3
-cartoon/giraffe/pic_246.jpg 3
-cartoon/giraffe/pic_247.jpg 3
-cartoon/giraffe/pic_249.jpg 3
-cartoon/giraffe/pic_248.jpg 3
-cartoon/giraffe/pic_251.jpg 3
-cartoon/giraffe/pic_252.jpg 3
-cartoon/giraffe/pic_253.jpg 3
-cartoon/giraffe/pic_254.jpg 3
-cartoon/giraffe/pic_256.jpg 3
-cartoon/giraffe/pic_257.jpg 3
-cartoon/giraffe/pic_259.jpg 3
-cartoon/giraffe/pic_260.jpg 3
-cartoon/giraffe/pic_261.jpg 3
-cartoon/guitar/pic_072.jpg 4
-cartoon/guitar/pic_003.jpg 4
-cartoon/guitar/pic_004.jpg 4
-cartoon/guitar/pic_005.jpg 4
-cartoon/guitar/pic_006.jpg 4
-cartoon/guitar/pic_007.jpg 4
-cartoon/guitar/pic_009.jpg 4
-cartoon/guitar/pic_010.jpg 4
-cartoon/guitar/pic_011.jpg 4
-cartoon/guitar/pic_012.jpg 4
-cartoon/guitar/pic_013.jpg 4
-cartoon/guitar/pic_016.jpg 4
-cartoon/guitar/pic_017.jpg 4
-cartoon/guitar/pic_020.jpg 4
-cartoon/guitar/pic_019.jpg 4
-cartoon/guitar/pic_022.jpg 4
-cartoon/guitar/pic_028.jpg 4
-cartoon/guitar/pic_025.jpg 4
-cartoon/guitar/pic_069.jpg 4
-cartoon/guitar/pic_067.jpg 4
-cartoon/guitar/pic_068.jpg 4
-cartoon/guitar/pic_063.jpg 4
-cartoon/guitar/pic_066.jpg 4
-cartoon/guitar/pic_064.jpg 4
-cartoon/guitar/pic_071.jpg 4
-cartoon/guitar/pic_070.jpg 4
-cartoon/guitar/pic_076.jpg 4
-cartoon/guitar/pic_074.jpg 4
-cartoon/guitar/pic_077.jpg 4
-cartoon/guitar/pic_075.jpg 4
-cartoon/guitar/pic_079.jpg 4
-cartoon/guitar/pic_078.jpg 4
-cartoon/guitar/pic_112.jpg 4
-cartoon/guitar/pic_135.jpg 4
-cartoon/guitar/pic_151.jpg 4
-cartoon/guitar/pic_133.jpg 4
-cartoon/guitar/pic_128.jpg 4
-cartoon/guitar/pic_122.jpg 4
-cartoon/guitar/pic_024.jpg 4
-cartoon/guitar/pic_023.jpg 4
-cartoon/guitar/pic_027.jpg 4
-cartoon/guitar/pic_034.jpg 4
-cartoon/guitar/pic_032.jpg 4
-cartoon/guitar/pic_031.jpg 4
-cartoon/guitar/pic_030.jpg 4
-cartoon/guitar/pic_029.jpg 4
-cartoon/guitar/pic_037.jpg 4
-cartoon/guitar/pic_036.jpg 4
-cartoon/guitar/pic_038.jpg 4
-cartoon/guitar/pic_040.jpg 4
-cartoon/guitar/pic_048.jpg 4
-cartoon/guitar/pic_045.jpg 4
-cartoon/guitar/pic_044.jpg 4
-cartoon/guitar/pic_043.jpg 4
-cartoon/guitar/pic_042.jpg 4
-cartoon/guitar/pic_021.jpg 4
-cartoon/guitar/pic_018.jpg 4
-cartoon/guitar/pic_039.jpg 4
-cartoon/guitar/pic_026.jpg 4
-cartoon/guitar/pic_104.jpg 4
-cartoon/guitar/pic_098.jpg 4
-cartoon/guitar/pic_146.jpg 4
-cartoon/guitar/pic_131.jpg 4
-cartoon/guitar/pic_106.jpg 4
-cartoon/guitar/pic_124.jpg 4
-cartoon/guitar/pic_137.jpg 4
-cartoon/guitar/pic_092.jpg 4
-cartoon/guitar/pic_096.jpg 4
-cartoon/guitar/pic_086.jpg 4
-cartoon/guitar/pic_145.jpg 4
-cartoon/guitar/pic_123.jpg 4
-cartoon/guitar/pic_111.jpg 4
-cartoon/guitar/pic_116.jpg 4
-cartoon/guitar/pic_150.jpg 4
-cartoon/guitar/pic_113.jpg 4
-cartoon/guitar/pic_107.jpg 4
-cartoon/guitar/pic_103.jpg 4
-cartoon/guitar/pic_097.jpg 4
-cartoon/guitar/pic_090.jpg 4
-cartoon/guitar/pic_088.jpg 4
-cartoon/guitar/pic_085.jpg 4
-cartoon/guitar/pic_083.jpg 4
-cartoon/guitar/pic_084.jpg 4
-cartoon/guitar/pic_082.jpg 4
-cartoon/guitar/pic_081.jpg 4
-cartoon/guitar/pic_080.jpg 4
-cartoon/guitar/pic_139.jpg 4
-cartoon/guitar/pic_140.jpg 4
-cartoon/guitar/pic_125.jpg 4
-cartoon/guitar/pic_117.jpg 4
-cartoon/guitar/pic_033.jpg 4
-cartoon/guitar/pic_035.jpg 4
-cartoon/guitar/pic_047.jpg 4
-cartoon/guitar/pic_046.jpg 4
-cartoon/guitar/pic_049.jpg 4
-cartoon/guitar/pic_052.jpg 4
-cartoon/guitar/pic_051.jpg 4
-cartoon/guitar/pic_053.jpg 4
-cartoon/guitar/pic_050.jpg 4
-cartoon/guitar/pic_054.jpg 4
-cartoon/guitar/pic_056.jpg 4
-cartoon/guitar/pic_055.jpg 4
-cartoon/guitar/pic_057.jpg 4
-cartoon/guitar/pic_060.jpg 4
-cartoon/guitar/pic_058.jpg 4
-cartoon/guitar/pic_059.jpg 4
-cartoon/guitar/pic_061.jpg 4
-cartoon/guitar/pic_065.jpg 4
-cartoon/guitar/pic_062.jpg 4
-cartoon/guitar/pic_073.jpg 4
-cartoon/guitar/pic_105.jpg 4
-cartoon/guitar/pic_136.jpg 4
-cartoon/guitar/pic_129.jpg 4
-cartoon/guitar/pic_110.jpg 4
-cartoon/guitar/pic_142.jpg 4
-cartoon/guitar/pic_089.jpg 4
-cartoon/guitar/pic_127.jpg 4
-cartoon/guitar/pic_148.jpg 4
-cartoon/guitar/pic_093.jpg 4
-cartoon/guitar/pic_100.jpg 4
-cartoon/guitar/pic_144.jpg 4
-cartoon/guitar/pic_149.jpg 4
-cartoon/guitar/pic_119.jpg 4
-cartoon/guitar/pic_121.jpg 4
-cartoon/guitar/pic_130.jpg 4
-cartoon/guitar/pic_094.jpg 4
-cartoon/guitar/pic_147.jpg 4
-cartoon/guitar/pic_099.jpg 4
-cartoon/guitar/pic_101.jpg 4
-cartoon/guitar/pic_132.jpg 4
-cartoon/guitar/pic_152.jpg 4
-cartoon/guitar/pic_134.jpg 4
-cartoon/guitar/pic_118.jpg 4
-cartoon/guitar/pic_001.jpg 4
-cartoon/guitar/pic_002.jpg 4
-cartoon/horse/pic_329.jpg 5
-cartoon/horse/pic_317.jpg 5
-cartoon/horse/pic_331.jpg 5
-cartoon/horse/pic_333.jpg 5
-cartoon/horse/pic_332.jpg 5
-cartoon/horse/pic_334.jpg 5
-cartoon/horse/pic_324.jpg 5
-cartoon/horse/pic_318.jpg 5
-cartoon/horse/pic_338.jpg 5
-cartoon/horse/pic_337.jpg 5
-cartoon/horse/pic_341.jpg 5
-cartoon/horse/pic_340.jpg 5
-cartoon/horse/pic_335.jpg 5
-cartoon/horse/pic_342.jpg 5
-cartoon/horse/pic_347.jpg 5
-cartoon/horse/pic_346.jpg 5
-cartoon/horse/pic_343.jpg 5
-cartoon/horse/pic_336.jpg 5
-cartoon/horse/pic_348.jpg 5
-cartoon/horse/pic_339.jpg 5
-cartoon/horse/pic_349.jpg 5
-cartoon/horse/pic_139.jpg 5
-cartoon/horse/pic_132.jpg 5
-cartoon/horse/pic_141.jpg 5
-cartoon/horse/pic_133.jpg 5
-cartoon/horse/pic_162.jpg 5
-cartoon/horse/pic_155.jpg 5
-cartoon/horse/pic_159.jpg 5
-cartoon/horse/pic_156.jpg 5
-cartoon/horse/pic_151.jpg 5
-cartoon/horse/pic_149.jpg 5
-cartoon/horse/pic_147.jpg 5
-cartoon/horse/pic_161.jpg 5
-cartoon/horse/pic_153.jpg 5
-cartoon/horse/pic_158.jpg 5
-cartoon/horse/pic_157.jpg 5
-cartoon/horse/pic_010.jpg 5
-cartoon/horse/pic_011.jpg 5
-cartoon/horse/pic_012.jpg 5
-cartoon/horse/pic_013.jpg 5
-cartoon/horse/pic_014.jpg 5
-cartoon/horse/pic_015.jpg 5
-cartoon/horse/pic_016.jpg 5
-cartoon/horse/pic_017.jpg 5
-cartoon/horse/pic_018.jpg 5
-cartoon/horse/pic_019.jpg 5
-cartoon/horse/pic_020.jpg 5
-cartoon/horse/pic_022.jpg 5
-cartoon/horse/pic_021.jpg 5
-cartoon/horse/pic_023.jpg 5
-cartoon/horse/pic_024.jpg 5
-cartoon/horse/pic_025.jpg 5
-cartoon/horse/pic_026.jpg 5
-cartoon/horse/pic_027.jpg 5
-cartoon/horse/pic_028.jpg 5
-cartoon/horse/pic_029.jpg 5
-cartoon/horse/pic_030.jpg 5
-cartoon/horse/pic_267.jpg 5
-cartoon/horse/pic_266.jpg 5
-cartoon/horse/pic_271.jpg 5
-cartoon/horse/pic_270.jpg 5
-cartoon/horse/pic_261.jpg 5
-cartoon/horse/pic_273.jpg 5
-cartoon/horse/pic_272.jpg 5
-cartoon/horse/pic_274.jpg 5
-cartoon/horse/pic_275.jpg 5
-cartoon/horse/pic_277.jpg 5
-cartoon/horse/pic_276.jpg 5
-cartoon/horse/pic_278.jpg 5
-cartoon/horse/pic_279.jpg 5
-cartoon/horse/pic_283.jpg 5
-cartoon/horse/pic_284.jpg 5
-cartoon/horse/pic_287.jpg 5
-cartoon/horse/pic_286.jpg 5
-cartoon/horse/pic_288.jpg 5
-cartoon/horse/pic_289.jpg 5
-cartoon/horse/pic_062.jpg 5
-cartoon/horse/pic_067.jpg 5
-cartoon/horse/pic_064.jpg 5
-cartoon/horse/pic_059.jpg 5
-cartoon/horse/pic_057.jpg 5
-cartoon/horse/pic_056.jpg 5
-cartoon/horse/pic_031.jpg 5
-cartoon/horse/pic_032.jpg 5
-cartoon/horse/pic_033.jpg 5
-cartoon/horse/pic_307.jpg 5
-cartoon/horse/pic_309.jpg 5
-cartoon/horse/pic_299.jpg 5
-cartoon/horse/pic_311.jpg 5
-cartoon/horse/pic_312.jpg 5
-cartoon/horse/pic_313.jpg 5
-cartoon/horse/pic_314.jpg 5
-cartoon/horse/pic_315.jpg 5
-cartoon/horse/pic_316.jpg 5
-cartoon/horse/pic_319.jpg 5
-cartoon/horse/pic_310.jpg 5
-cartoon/horse/pic_323.jpg 5
-cartoon/horse/pic_322.jpg 5
-cartoon/horse/pic_320.jpg 5
-cartoon/horse/pic_328.jpg 5
-cartoon/horse/pic_327.jpg 5
-cartoon/horse/pic_330.jpg 5
-cartoon/horse/pic_089.jpg 5
-cartoon/horse/pic_118.jpg 5
-cartoon/horse/pic_114.jpg 5
-cartoon/horse/pic_113.jpg 5
-cartoon/horse/pic_112.jpg 5
-cartoon/horse/pic_103.jpg 5
-cartoon/horse/pic_105.jpg 5
-cartoon/horse/pic_104.jpg 5
-cartoon/horse/pic_100.jpg 5
-cartoon/horse/pic_101.jpg 5
-cartoon/horse/pic_119.jpg 5
-cartoon/horse/pic_115.jpg 5
-cartoon/horse/pic_110.jpg 5
-cartoon/horse/pic_126.jpg 5
-cartoon/horse/pic_106.jpg 5
-cartoon/horse/pic_120.jpg 5
-cartoon/horse/pic_054.jpg 5
-cartoon/horse/pic_055.jpg 5
-cartoon/horse/pic_053.jpg 5
-cartoon/horse/pic_052.jpg 5
-cartoon/horse/pic_051.jpg 5
-cartoon/horse/pic_050.jpg 5
-cartoon/horse/pic_049.jpg 5
-cartoon/horse/pic_076.jpg 5
-cartoon/horse/pic_066.jpg 5
-cartoon/horse/pic_081.jpg 5
-cartoon/horse/pic_079.jpg 5
-cartoon/horse/pic_060.jpg 5
-cartoon/horse/pic_058.jpg 5
-cartoon/horse/pic_069.jpg 5
-cartoon/horse/pic_074.jpg 5
-cartoon/horse/pic_065.jpg 5
-cartoon/horse/pic_075.jpg 5
-cartoon/horse/pic_078.jpg 5
-cartoon/horse/pic_070.jpg 5
-cartoon/horse/pic_072.jpg 5
-cartoon/horse/pic_291.jpg 5
-cartoon/horse/pic_282.jpg 5
-cartoon/horse/pic_293.jpg 5
-cartoon/horse/pic_294.jpg 5
-cartoon/horse/pic_295.jpg 5
-cartoon/horse/pic_297.jpg 5
-cartoon/horse/pic_268.jpg 5
-cartoon/horse/pic_296.jpg 5
-cartoon/horse/pic_298.jpg 5
-cartoon/horse/pic_300.jpg 5
-cartoon/horse/pic_302.jpg 5
-cartoon/horse/pic_280.jpg 5
-cartoon/horse/pic_304.jpg 5
-cartoon/horse/pic_303.jpg 5
-cartoon/horse/pic_305.jpg 5
-cartoon/horse/pic_308.jpg 5
-cartoon/horse/pic_183.jpg 5
-cartoon/horse/pic_184.jpg 5
-cartoon/horse/pic_185.jpg 5
-cartoon/horse/pic_188.jpg 5
-cartoon/horse/pic_186.jpg 5
-cartoon/horse/pic_187.jpg 5
-cartoon/horse/pic_189.jpg 5
-cartoon/horse/pic_178.jpg 5
-cartoon/horse/pic_191.jpg 5
-cartoon/horse/pic_193.jpg 5
-cartoon/horse/pic_190.jpg 5
-cartoon/horse/pic_200.jpg 5
-cartoon/horse/pic_196.jpg 5
-cartoon/horse/pic_195.jpg 5
-cartoon/horse/pic_201.jpg 5
-cartoon/horse/pic_198.jpg 5
-cartoon/horse/pic_204.jpg 5
-cartoon/horse/pic_245.jpg 5
-cartoon/horse/pic_250.jpg 5
-cartoon/horse/pic_252.jpg 5
-cartoon/horse/pic_255.jpg 5
-cartoon/horse/pic_254.jpg 5
-cartoon/horse/pic_235.jpg 5
-cartoon/horse/pic_256.jpg 5
-cartoon/horse/pic_258.jpg 5
-cartoon/horse/pic_257.jpg 5
-cartoon/horse/pic_253.jpg 5
-cartoon/horse/pic_240.jpg 5
-cartoon/horse/pic_243.jpg 5
-cartoon/horse/pic_260.jpg 5
-cartoon/horse/pic_246.jpg 5
-cartoon/horse/pic_262.jpg 5
-cartoon/horse/pic_251.jpg 5
-cartoon/horse/pic_264.jpg 5
-cartoon/horse/pic_263.jpg 5
-cartoon/horse/pic_265.jpg 5
-cartoon/horse/pic_259.jpg 5
-cartoon/horse/pic_269.jpg 5
-cartoon/horse/pic_001.jpg 5
-cartoon/horse/pic_002.jpg 5
-cartoon/horse/pic_003.jpg 5
-cartoon/horse/pic_004.jpg 5
-cartoon/horse/pic_005.jpg 5
-cartoon/horse/pic_006.jpg 5
-cartoon/horse/pic_007.jpg 5
-cartoon/horse/pic_008.jpg 5
-cartoon/horse/pic_009.jpg 5
-cartoon/horse/pic_116.jpg 5
-cartoon/horse/pic_108.jpg 5
-cartoon/horse/pic_111.jpg 5
-cartoon/horse/pic_128.jpg 5
-cartoon/horse/pic_124.jpg 5
-cartoon/horse/pic_130.jpg 5
-cartoon/horse/pic_131.jpg 5
-cartoon/horse/pic_129.jpg 5
-cartoon/horse/pic_125.jpg 5
-cartoon/horse/pic_121.jpg 5
-cartoon/horse/pic_127.jpg 5
-cartoon/horse/pic_123.jpg 5
-cartoon/horse/pic_143.jpg 5
-cartoon/horse/pic_135.jpg 5
-cartoon/horse/pic_134.jpg 5
-cartoon/horse/pic_140.jpg 5
-cartoon/horse/pic_145.jpg 5
-cartoon/horse/pic_146.jpg 5
-cartoon/horse/pic_142.jpg 5
-cartoon/horse/pic_137.jpg 5
-cartoon/horse/pic_350.jpg 5
-cartoon/horse/pic_351.jpg 5
-cartoon/horse/pic_352.jpg 5
-cartoon/horse/pic_353.jpg 5
-cartoon/horse/pic_354.jpg 5
-cartoon/horse/pic_355.jpg 5
-cartoon/horse/pic_345.jpg 5
-cartoon/horse/pic_357.jpg 5
-cartoon/horse/pic_359.jpg 5
-cartoon/horse/pic_358.jpg 5
-cartoon/horse/pic_361.jpg 5
-cartoon/horse/pic_362.jpg 5
-cartoon/horse/pic_364.jpg 5
-cartoon/horse/pic_356.jpg 5
-cartoon/horse/pic_363.jpg 5
-cartoon/horse/pic_160.jpg 5
-cartoon/horse/pic_173.jpg 5
-cartoon/horse/pic_172.jpg 5
-cartoon/horse/pic_169.jpg 5
-cartoon/horse/pic_167.jpg 5
-cartoon/horse/pic_166.jpg 5
-cartoon/horse/pic_164.jpg 5
-cartoon/horse/pic_163.jpg 5
-cartoon/horse/pic_152.jpg 5
-cartoon/horse/pic_174.jpg 5
-cartoon/horse/pic_171.jpg 5
-cartoon/horse/pic_177.jpg 5
-cartoon/horse/pic_176.jpg 5
-cartoon/horse/pic_181.jpg 5
-cartoon/horse/pic_180.jpg 5
-cartoon/horse/pic_179.jpg 5
-cartoon/horse/pic_084.jpg 5
-cartoon/horse/pic_083.jpg 5
-cartoon/horse/pic_071.jpg 5
-cartoon/horse/pic_096.jpg 5
-cartoon/horse/pic_094.jpg 5
-cartoon/horse/pic_098.jpg 5
-cartoon/horse/pic_095.jpg 5
-cartoon/horse/pic_093.jpg 5
-cartoon/horse/pic_092.jpg 5
-cartoon/horse/pic_091.jpg 5
-cartoon/horse/pic_090.jpg 5
-cartoon/horse/pic_088.jpg 5
-cartoon/horse/pic_086.jpg 5
-cartoon/horse/pic_097.jpg 5
-cartoon/horse/pic_087.jpg 5
-cartoon/horse/pic_203.jpg 5
-cartoon/horse/pic_205.jpg 5
-cartoon/horse/pic_209.jpg 5
-cartoon/horse/pic_212.jpg 5
-cartoon/horse/pic_213.jpg 5
-cartoon/horse/pic_192.jpg 5
-cartoon/horse/pic_211.jpg 5
-cartoon/horse/pic_214.jpg 5
-cartoon/horse/pic_218.jpg 5
-cartoon/horse/pic_215.jpg 5
-cartoon/horse/pic_217.jpg 5
-cartoon/horse/pic_220.jpg 5
-cartoon/horse/pic_219.jpg 5
-cartoon/horse/pic_221.jpg 5
-cartoon/horse/pic_223.jpg 5
-cartoon/horse/pic_224.jpg 5
-cartoon/horse/pic_208.jpg 5
-cartoon/horse/pic_035.jpg 5
-cartoon/horse/pic_034.jpg 5
-cartoon/horse/pic_037.jpg 5
-cartoon/horse/pic_036.jpg 5
-cartoon/horse/pic_044.jpg 5
-cartoon/horse/pic_047.jpg 5
-cartoon/horse/pic_045.jpg 5
-cartoon/horse/pic_043.jpg 5
-cartoon/horse/pic_042.jpg 5
-cartoon/horse/pic_040.jpg 5
-cartoon/horse/pic_041.jpg 5
-cartoon/horse/pic_038.jpg 5
-cartoon/horse/pic_039.jpg 5
-cartoon/horse/pic_048.jpg 5
-cartoon/horse/pic_046.jpg 5
-cartoon/horse/pic_061.jpg 5
-cartoon/horse/pic_073.jpg 5
-cartoon/horse/pic_077.jpg 5
-cartoon/horse/pic_080.jpg 5
-cartoon/horse/pic_082.jpg 5
-cartoon/horse/pic_225.jpg 5
-cartoon/horse/pic_228.jpg 5
-cartoon/horse/pic_207.jpg 5
-cartoon/horse/pic_227.jpg 5
-cartoon/horse/pic_226.jpg 5
-cartoon/horse/pic_231.jpg 5
-cartoon/horse/pic_232.jpg 5
-cartoon/horse/pic_234.jpg 5
-cartoon/horse/pic_236.jpg 5
-cartoon/horse/pic_237.jpg 5
-cartoon/horse/pic_239.jpg 5
-cartoon/horse/pic_238.jpg 5
-cartoon/horse/pic_229.jpg 5
-cartoon/horse/pic_241.jpg 5
-cartoon/horse/pic_242.jpg 5
-cartoon/horse/pic_244.jpg 5
-cartoon/horse/pic_233.jpg 5
-cartoon/horse/pic_249.jpg 5
-cartoon/horse/pic_248.jpg 5
-cartoon/horse/pic_247.jpg 5
-cartoon/house/pic_103.jpg 6
-cartoon/house/pic_091.jpg 6
-cartoon/house/pic_089.jpg 6
-cartoon/house/pic_092.jpg 6
-cartoon/house/pic_093.jpg 6
-cartoon/house/pic_107.jpg 6
-cartoon/house/pic_104.jpg 6
-cartoon/house/pic_114.jpg 6
-cartoon/house/pic_112.jpg 6
-cartoon/house/pic_109.jpg 6
-cartoon/house/pic_108.jpg 6
-cartoon/house/pic_102.jpg 6
-cartoon/house/pic_099.jpg 6
-cartoon/house/pic_098.jpg 6
-cartoon/house/pic_097.jpg 6
-cartoon/house/pic_111.jpg 6
-cartoon/house/pic_320.jpg 6
-cartoon/house/pic_321.jpg 6
-cartoon/house/pic_315.jpg 6
-cartoon/house/pic_322.jpg 6
-cartoon/house/pic_323.jpg 6
-cartoon/house/pic_311.jpg 6
-cartoon/house/pic_324.jpg 6
-cartoon/house/pic_327.jpg 6
-cartoon/house/pic_312.jpg 6
-cartoon/house/pic_314.jpg 6
-cartoon/house/pic_328.jpg 6
-cartoon/house/pic_069.jpg 6
-cartoon/house/pic_079.jpg 6
-cartoon/house/pic_071.jpg 6
-cartoon/house/pic_072.jpg 6
-cartoon/house/pic_074.jpg 6
-cartoon/house/pic_077.jpg 6
-cartoon/house/pic_081.jpg 6
-cartoon/house/pic_088.jpg 6
-cartoon/house/pic_082.jpg 6
-cartoon/house/pic_080.jpg 6
-cartoon/house/pic_090.jpg 6
-cartoon/house/pic_100.jpg 6
-cartoon/house/pic_084.jpg 6
-cartoon/house/pic_085.jpg 6
-cartoon/house/pic_083.jpg 6
-cartoon/house/pic_087.jpg 6
-cartoon/house/pic_094.jpg 6
-cartoon/house/pic_157.jpg 6
-cartoon/house/pic_169.jpg 6
-cartoon/house/pic_172.jpg 6
-cartoon/house/pic_173.jpg 6
-cartoon/house/pic_171.jpg 6
-cartoon/house/pic_176.jpg 6
-cartoon/house/pic_180.jpg 6
-cartoon/house/pic_182.jpg 6
-cartoon/house/pic_185.jpg 6
-cartoon/house/pic_184.jpg 6
-cartoon/house/pic_187.jpg 6
-cartoon/house/pic_188.jpg 6
-cartoon/house/pic_189.jpg 6
-cartoon/house/pic_191.jpg 6
-cartoon/house/pic_174.jpg 6
-cartoon/house/pic_179.jpg 6
-cartoon/house/pic_237.jpg 6
-cartoon/house/pic_258.jpg 6
-cartoon/house/pic_260.jpg 6
-cartoon/house/pic_242.jpg 6
-cartoon/house/pic_262.jpg 6
-cartoon/house/pic_263.jpg 6
-cartoon/house/pic_249.jpg 6
-cartoon/house/pic_253.jpg 6
-cartoon/house/pic_257.jpg 6
-cartoon/house/pic_265.jpg 6
-cartoon/house/pic_267.jpg 6
-cartoon/house/pic_268.jpg 6
-cartoon/house/pic_269.jpg 6
-cartoon/house/pic_272.jpg 6
-cartoon/house/pic_264.jpg 6
-cartoon/house/pic_274.jpg 6
-cartoon/house/pic_270.jpg 6
-cartoon/house/pic_177.jpg 6
-cartoon/house/pic_192.jpg 6
-cartoon/house/pic_193.jpg 6
-cartoon/house/pic_178.jpg 6
-cartoon/house/pic_181.jpg 6
-cartoon/house/pic_194.jpg 6
-cartoon/house/pic_196.jpg 6
-cartoon/house/pic_197.jpg 6
-cartoon/house/pic_198.jpg 6
-cartoon/house/pic_199.jpg 6
-cartoon/house/pic_200.jpg 6
-cartoon/house/pic_201.jpg 6
-cartoon/house/pic_202.jpg 6
-cartoon/house/pic_203.jpg 6
-cartoon/house/pic_205.jpg 6
-cartoon/house/pic_195.jpg 6
-cartoon/house/pic_207.jpg 6
-cartoon/house/pic_206.jpg 6
-cartoon/house/pic_204.jpg 6
-cartoon/house/pic_209.jpg 6
-cartoon/house/pic_234.jpg 6
-cartoon/house/pic_239.jpg 6
-cartoon/house/pic_241.jpg 6
-cartoon/house/pic_240.jpg 6
-cartoon/house/pic_224.jpg 6
-cartoon/house/pic_243.jpg 6
-cartoon/house/pic_246.jpg 6
-cartoon/house/pic_245.jpg 6
-cartoon/house/pic_244.jpg 6
-cartoon/house/pic_250.jpg 6
-cartoon/house/pic_230.jpg 6
-cartoon/house/pic_238.jpg 6
-cartoon/house/pic_252.jpg 6
-cartoon/house/pic_254.jpg 6
-cartoon/house/pic_255.jpg 6
-cartoon/house/pic_256.jpg 6
-cartoon/house/pic_008.jpg 6
-cartoon/house/pic_009.jpg 6
-cartoon/house/pic_010.jpg 6
-cartoon/house/pic_011.jpg 6
-cartoon/house/pic_012.jpg 6
-cartoon/house/pic_013.jpg 6
-cartoon/house/pic_014.jpg 6
-cartoon/house/pic_016.jpg 6
-cartoon/house/pic_017.jpg 6
-cartoon/house/pic_020.jpg 6
-cartoon/house/pic_022.jpg 6
-cartoon/house/pic_026.jpg 6
-cartoon/house/pic_024.jpg 6
-cartoon/house/pic_027.jpg 6
-cartoon/house/pic_028.jpg 6
-cartoon/house/pic_032.jpg 6
-cartoon/house/pic_029.jpg 6
-cartoon/house/pic_001.jpg 6
-cartoon/house/pic_002.jpg 6
-cartoon/house/pic_003.jpg 6
-cartoon/house/pic_004.jpg 6
-cartoon/house/pic_005.jpg 6
-cartoon/house/pic_006.jpg 6
-cartoon/house/pic_007.jpg 6
-cartoon/house/pic_158.jpg 6
-cartoon/house/pic_160.jpg 6
-cartoon/house/pic_161.jpg 6
-cartoon/house/pic_162.jpg 6
-cartoon/house/pic_151.jpg 6
-cartoon/house/pic_164.jpg 6
-cartoon/house/pic_165.jpg 6
-cartoon/house/pic_156.jpg 6
-cartoon/house/pic_166.jpg 6
-cartoon/house/pic_167.jpg 6
-cartoon/house/pic_168.jpg 6
-cartoon/house/pic_163.jpg 6
-cartoon/house/pic_318.jpg 6
-cartoon/house/pic_331.jpg 6
-cartoon/house/pic_333.jpg 6
-cartoon/house/pic_334.jpg 6
-cartoon/house/pic_337.jpg 6
-cartoon/house/pic_335.jpg 6
-cartoon/house/pic_338.jpg 6
-cartoon/house/pic_341.jpg 6
-cartoon/house/pic_343.jpg 6
-cartoon/house/pic_344.jpg 6
-cartoon/house/pic_330.jpg 6
-cartoon/house/pic_346.jpg 6
-cartoon/house/pic_348.jpg 6
-cartoon/house/pic_340.jpg 6
-cartoon/house/pic_349.jpg 6
-cartoon/house/pic_347.jpg 6
-cartoon/house/pic_336.jpg 6
-cartoon/house/pic_355.jpg 6
-cartoon/house/pic_356.jpg 6
-cartoon/house/pic_357.jpg 6
-cartoon/house/pic_358.jpg 6
-cartoon/house/pic_360.jpg 6
-cartoon/house/pic_345.jpg 6
-cartoon/house/pic_354.jpg 6
-cartoon/house/pic_353.jpg 6
-cartoon/house/pic_359.jpg 6
-cartoon/house/pic_212.jpg 6
-cartoon/house/pic_211.jpg 6
-cartoon/house/pic_221.jpg 6
-cartoon/house/pic_219.jpg 6
-cartoon/house/pic_218.jpg 6
-cartoon/house/pic_215.jpg 6
-cartoon/house/pic_217.jpg 6
-cartoon/house/pic_220.jpg 6
-cartoon/house/pic_222.jpg 6
-cartoon/house/pic_223.jpg 6
-cartoon/house/pic_216.jpg 6
-cartoon/house/pic_208.jpg 6
-cartoon/house/pic_225.jpg 6
-cartoon/house/pic_226.jpg 6
-cartoon/house/pic_214.jpg 6
-cartoon/house/pic_231.jpg 6
-cartoon/house/pic_233.jpg 6
-cartoon/house/pic_228.jpg 6
-cartoon/house/pic_235.jpg 6
-cartoon/house/pic_273.jpg 6
-cartoon/house/pic_279.jpg 6
-cartoon/house/pic_278.jpg 6
-cartoon/house/pic_283.jpg 6
-cartoon/house/pic_280.jpg 6
-cartoon/house/pic_266.jpg 6
-cartoon/house/pic_281.jpg 6
-cartoon/house/pic_286.jpg 6
-cartoon/house/pic_276.jpg 6
-cartoon/house/pic_277.jpg 6
-cartoon/house/pic_288.jpg 6
-cartoon/house/pic_289.jpg 6
-cartoon/house/pic_282.jpg 6
-cartoon/house/pic_290.jpg 6
-cartoon/house/pic_292.jpg 6
-cartoon/house/pic_285.jpg 6
-cartoon/house/pic_295.jpg 6
-cartoon/house/pic_047.jpg 6
-cartoon/house/pic_049.jpg 6
-cartoon/house/pic_048.jpg 6
-cartoon/house/pic_050.jpg 6
-cartoon/house/pic_053.jpg 6
-cartoon/house/pic_056.jpg 6
-cartoon/house/pic_054.jpg 6
-cartoon/house/pic_059.jpg 6
-cartoon/house/pic_057.jpg 6
-cartoon/house/pic_067.jpg 6
-cartoon/house/pic_062.jpg 6
-cartoon/house/pic_060.jpg 6
-cartoon/house/pic_063.jpg 6
-cartoon/house/pic_066.jpg 6
-cartoon/house/pic_064.jpg 6
-cartoon/house/pic_065.jpg 6
-cartoon/house/pic_284.jpg 6
-cartoon/house/pic_297.jpg 6
-cartoon/house/pic_296.jpg 6
-cartoon/house/pic_298.jpg 6
-cartoon/house/pic_301.jpg 6
-cartoon/house/pic_302.jpg 6
-cartoon/house/pic_304.jpg 6
-cartoon/house/pic_305.jpg 6
-cartoon/house/pic_306.jpg 6
-cartoon/house/pic_291.jpg 6
-cartoon/house/pic_309.jpg 6
-cartoon/house/pic_308.jpg 6
-cartoon/house/pic_310.jpg 6
-cartoon/house/pic_299.jpg 6
-cartoon/house/pic_300.jpg 6
-cartoon/house/pic_303.jpg 6
-cartoon/house/pic_316.jpg 6
-cartoon/house/pic_317.jpg 6
-cartoon/house/pic_319.jpg 6
-cartoon/house/pic_039.jpg 6
-cartoon/house/pic_030.jpg 6
-cartoon/house/pic_034.jpg 6
-cartoon/house/pic_031.jpg 6
-cartoon/house/pic_038.jpg 6
-cartoon/house/pic_025.jpg 6
-cartoon/house/pic_051.jpg 6
-cartoon/house/pic_036.jpg 6
-cartoon/house/pic_041.jpg 6
-cartoon/house/pic_023.jpg 6
-cartoon/house/pic_046.jpg 6
-cartoon/house/pic_052.jpg 6
-cartoon/house/pic_040.jpg 6
-cartoon/house/pic_045.jpg 6
-cartoon/house/pic_044.jpg 6
-cartoon/house/pic_043.jpg 6
-cartoon/house/pic_042.jpg 6
-cartoon/house/pic_138.jpg 6
-cartoon/house/pic_140.jpg 6
-cartoon/house/pic_130.jpg 6
-cartoon/house/pic_143.jpg 6
-cartoon/house/pic_145.jpg 6
-cartoon/house/pic_146.jpg 6
-cartoon/house/pic_148.jpg 6
-cartoon/house/pic_147.jpg 6
-cartoon/house/pic_149.jpg 6
-cartoon/house/pic_152.jpg 6
-cartoon/house/pic_139.jpg 6
-cartoon/house/pic_153.jpg 6
-cartoon/house/pic_113.jpg 6
-cartoon/house/pic_116.jpg 6
-cartoon/house/pic_110.jpg 6
-cartoon/house/pic_122.jpg 6
-cartoon/house/pic_121.jpg 6
-cartoon/house/pic_120.jpg 6
-cartoon/house/pic_119.jpg 6
-cartoon/house/pic_118.jpg 6
-cartoon/house/pic_126.jpg 6
-cartoon/house/pic_123.jpg 6
-cartoon/house/pic_131.jpg 6
-cartoon/house/pic_132.jpg 6
-cartoon/house/pic_134.jpg 6
-cartoon/person/pic_308.jpg 7
-cartoon/person/pic_307.jpg 7
-cartoon/person/pic_306.jpg 7
-cartoon/person/pic_313.jpg 7
-cartoon/person/pic_323.jpg 7
-cartoon/person/pic_319.jpg 7
-cartoon/person/pic_320.jpg 7
-cartoon/person/pic_321.jpg 7
-cartoon/person/pic_318.jpg 7
-cartoon/person/pic_317.jpg 7
-cartoon/person/pic_316.jpg 7
-cartoon/person/pic_324.jpg 7
-cartoon/person/pic_334.jpg 7
-cartoon/person/pic_331.jpg 7
-cartoon/person/pic_332.jpg 7
-cartoon/person/pic_333.jpg 7
-cartoon/person/pic_144.jpg 7
-cartoon/person/pic_145.jpg 7
-cartoon/person/pic_143.jpg 7
-cartoon/person/pic_138.jpg 7
-cartoon/person/pic_154.jpg 7
-cartoon/person/pic_151.jpg 7
-cartoon/person/pic_152.jpg 7
-cartoon/person/pic_148.jpg 7
-cartoon/person/pic_149.jpg 7
-cartoon/person/pic_155.jpg 7
-cartoon/person/pic_157.jpg 7
-cartoon/person/pic_159.jpg 7
-cartoon/person/pic_176.jpg 7
-cartoon/person/pic_171.jpg 7
-cartoon/person/pic_168.jpg 7
-cartoon/person/pic_169.jpg 7
-cartoon/person/pic_167.jpg 7
-cartoon/person/pic_056.jpg 7
-cartoon/person/pic_071.jpg 7
-cartoon/person/pic_070.jpg 7
-cartoon/person/pic_069.jpg 7
-cartoon/person/pic_073.jpg 7
-cartoon/person/pic_075.jpg 7
-cartoon/person/pic_076.jpg 7
-cartoon/person/pic_068.jpg 7
-cartoon/person/pic_074.jpg 7
-cartoon/person/pic_072.jpg 7
-cartoon/person/pic_077.jpg 7
-cartoon/person/pic_094.jpg 7
-cartoon/person/pic_123.jpg 7
-cartoon/person/pic_110.jpg 7
-cartoon/person/pic_109.jpg 7
-cartoon/person/pic_100.jpg 7
-cartoon/person/pic_095.jpg 7
-cartoon/person/pic_087.jpg 7
-cartoon/person/pic_089.jpg 7
-cartoon/person/pic_365.jpg 7
-cartoon/person/pic_373.jpg 7
-cartoon/person/pic_381.jpg 7
-cartoon/person/pic_379.jpg 7
-cartoon/person/pic_370.jpg 7
-cartoon/person/pic_374.jpg 7
-cartoon/person/pic_377.jpg 7
-cartoon/person/pic_380.jpg 7
-cartoon/person/pic_393.jpg 7
-cartoon/person/pic_392.jpg 7
-cartoon/person/pic_391.jpg 7
-cartoon/person/pic_389.jpg 7
-cartoon/person/pic_390.jpg 7
-cartoon/person/pic_387.jpg 7
-cartoon/person/pic_386.jpg 7
-cartoon/person/pic_385.jpg 7
-cartoon/person/pic_384.jpg 7
-cartoon/person/pic_383.jpg 7
-cartoon/person/pic_382.jpg 7
-cartoon/person/pic_001.jpg 7
-cartoon/person/pic_002.jpg 7
-cartoon/person/pic_003.jpg 7
-cartoon/person/pic_004.jpg 7
-cartoon/person/pic_085.jpg 7
-cartoon/person/pic_084.jpg 7
-cartoon/person/pic_083.jpg 7
-cartoon/person/pic_082.jpg 7
-cartoon/person/pic_081.jpg 7
-cartoon/person/pic_079.jpg 7
-cartoon/person/pic_078.jpg 7
-cartoon/person/pic_121.jpg 7
-cartoon/person/pic_117.jpg 7
-cartoon/person/pic_120.jpg 7
-cartoon/person/pic_105.jpg 7
-cartoon/person/pic_027.jpg 7
-cartoon/person/pic_025.jpg 7
-cartoon/person/pic_026.jpg 7
-cartoon/person/pic_022.jpg 7
-cartoon/person/pic_019.jpg 7
-cartoon/person/pic_030.jpg 7
-cartoon/person/pic_037.jpg 7
-cartoon/person/pic_036.jpg 7
-cartoon/person/pic_035.jpg 7
-cartoon/person/pic_032.jpg 7
-cartoon/person/pic_033.jpg 7
-cartoon/person/pic_031.jpg 7
-cartoon/person/pic_034.jpg 7
-cartoon/person/pic_038.jpg 7
-cartoon/person/pic_039.jpg 7
-cartoon/person/pic_040.jpg 7
-cartoon/person/pic_042.jpg 7
-cartoon/person/pic_043.jpg 7
-cartoon/person/pic_041.jpg 7
-cartoon/person/pic_049.jpg 7
-cartoon/person/pic_048.jpg 7
-cartoon/person/pic_415.jpg 7
-cartoon/person/pic_427.jpg 7
-cartoon/person/pic_429.jpg 7
-cartoon/person/pic_420.jpg 7
-cartoon/person/pic_423.jpg 7
-cartoon/person/pic_438.jpg 7
-cartoon/person/pic_434.jpg 7
-cartoon/person/pic_436.jpg 7
-cartoon/person/pic_432.jpg 7
-cartoon/person/pic_433.jpg 7
-cartoon/person/pic_431.jpg 7
-cartoon/person/pic_430.jpg 7
-cartoon/person/pic_439.jpg 7
-cartoon/person/pic_435.jpg 7
-cartoon/person/pic_445.jpg 7
-cartoon/person/pic_444.jpg 7
-cartoon/person/pic_441.jpg 7
-cartoon/person/pic_442.jpg 7
-cartoon/person/pic_443.jpg 7
-cartoon/person/pic_440.jpg 7
-cartoon/person/pic_005.jpg 7
-cartoon/person/pic_007.jpg 7
-cartoon/person/pic_008.jpg 7
-cartoon/person/pic_009.jpg 7
-cartoon/person/pic_010.jpg 7
-cartoon/person/pic_011.jpg 7
-cartoon/person/pic_012.jpg 7
-cartoon/person/pic_013.jpg 7
-cartoon/person/pic_014.jpg 7
-cartoon/person/pic_015.jpg 7
-cartoon/person/pic_021.jpg 7
-cartoon/person/pic_024.jpg 7
-cartoon/person/pic_023.jpg 7
-cartoon/person/pic_020.jpg 7
-cartoon/person/pic_018.jpg 7
-cartoon/person/pic_016.jpg 7
-cartoon/person/pic_017.jpg 7
-cartoon/person/pic_029.jpg 7
-cartoon/person/pic_028.jpg 7
-cartoon/person/pic_165.jpg 7
-cartoon/person/pic_164.jpg 7
-cartoon/person/pic_162.jpg 7
-cartoon/person/pic_158.jpg 7
-cartoon/person/pic_160.jpg 7
-cartoon/person/pic_172.jpg 7
-cartoon/person/pic_173.jpg 7
-cartoon/person/pic_170.jpg 7
-cartoon/person/pic_174.jpg 7
-cartoon/person/pic_161.jpg 7
-cartoon/person/pic_163.jpg 7
-cartoon/person/pic_175.jpg 7
-cartoon/person/pic_177.jpg 7
-cartoon/person/pic_180.jpg 7
-cartoon/person/pic_179.jpg 7
-cartoon/person/pic_181.jpg 7
-cartoon/person/pic_184.jpg 7
-cartoon/person/pic_185.jpg 7
-cartoon/person/pic_127.jpg 7
-cartoon/person/pic_113.jpg 7
-cartoon/person/pic_106.jpg 7
-cartoon/person/pic_129.jpg 7
-cartoon/person/pic_119.jpg 7
-cartoon/person/pic_125.jpg 7
-cartoon/person/pic_124.jpg 7
-cartoon/person/pic_147.jpg 7
-cartoon/person/pic_141.jpg 7
-cartoon/person/pic_140.jpg 7
-cartoon/person/pic_136.jpg 7
-cartoon/person/pic_137.jpg 7
-cartoon/person/pic_135.jpg 7
-cartoon/person/pic_133.jpg 7
-cartoon/person/pic_134.jpg 7
-cartoon/person/pic_132.jpg 7
-cartoon/person/pic_131.jpg 7
-cartoon/person/pic_146.jpg 7
-cartoon/person/pic_388.jpg 7
-cartoon/person/pic_400.jpg 7
-cartoon/person/pic_399.jpg 7
-cartoon/person/pic_402.jpg 7
-cartoon/person/pic_401.jpg 7
-cartoon/person/pic_394.jpg 7
-cartoon/person/pic_396.jpg 7
-cartoon/person/pic_395.jpg 7
-cartoon/person/pic_397.jpg 7
-cartoon/person/pic_398.jpg 7
-cartoon/person/pic_408.jpg 7
-cartoon/person/pic_403.jpg 7
-cartoon/person/pic_206.jpg 7
-cartoon/person/pic_209.jpg 7
-cartoon/person/pic_208.jpg 7
-cartoon/person/pic_207.jpg 7
-cartoon/person/pic_204.jpg 7
-cartoon/person/pic_216.jpg 7
-cartoon/person/pic_212.jpg 7
-cartoon/person/pic_210.jpg 7
-cartoon/person/pic_218.jpg 7
-cartoon/person/pic_221.jpg 7
-cartoon/person/pic_220.jpg 7
-cartoon/person/pic_222.jpg 7
-cartoon/person/pic_224.jpg 7
-cartoon/person/pic_225.jpg 7
-cartoon/person/pic_219.jpg 7
-cartoon/person/pic_226.jpg 7
-cartoon/person/pic_227.jpg 7
-cartoon/person/pic_451.jpg 7
-cartoon/person/pic_449.jpg 7
-cartoon/person/pic_450.jpg 7
-cartoon/person/pic_447.jpg 7
-cartoon/person/pic_448.jpg 7
-cartoon/person/pic_446.jpg 7
-cartoon/person/pic_453.jpg 7
-cartoon/person/pic_454.jpg 7
-cartoon/person/pic_452.jpg 7
-cartoon/person/pic_456.jpg 7
-cartoon/person/pic_458.jpg 7
-cartoon/person/pic_455.jpg 7
-cartoon/person/pic_457.jpg 7
-cartoon/person/pic_329.jpg 7
-cartoon/person/pic_330.jpg 7
-cartoon/person/pic_326.jpg 7
-cartoon/person/pic_327.jpg 7
-cartoon/person/pic_325.jpg 7
-cartoon/person/pic_328.jpg 7
-cartoon/person/pic_336.jpg 7
-cartoon/person/pic_338.jpg 7
-cartoon/person/pic_337.jpg 7
-cartoon/person/pic_340.jpg 7
-cartoon/person/pic_339.jpg 7
-cartoon/person/pic_342.jpg 7
-cartoon/person/pic_341.jpg 7
-cartoon/person/pic_343.jpg 7
-cartoon/person/pic_344.jpg 7
-cartoon/person/pic_347.jpg 7
-cartoon/person/pic_348.jpg 7
-cartoon/person/pic_350.jpg 7
-cartoon/person/pic_352.jpg 7
-cartoon/person/pic_047.jpg 7
-cartoon/person/pic_044.jpg 7
-cartoon/person/pic_045.jpg 7
-cartoon/person/pic_046.jpg 7
-cartoon/person/pic_052.jpg 7
-cartoon/person/pic_050.jpg 7
-cartoon/person/pic_053.jpg 7
-cartoon/person/pic_051.jpg 7
-cartoon/person/pic_067.jpg 7
-cartoon/person/pic_064.jpg 7
-cartoon/person/pic_063.jpg 7
-cartoon/person/pic_065.jpg 7
-cartoon/person/pic_060.jpg 7
-cartoon/person/pic_061.jpg 7
-cartoon/person/pic_059.jpg 7
-cartoon/person/pic_062.jpg 7
-cartoon/person/pic_055.jpg 7
-cartoon/person/pic_058.jpg 7
-cartoon/person/pic_054.jpg 7
-cartoon/person/pic_057.jpg 7
-cartoon/person/pic_093.jpg 7
-cartoon/person/pic_103.jpg 7
-cartoon/person/pic_104.jpg 7
-cartoon/person/pic_092.jpg 7
-cartoon/person/pic_090.jpg 7
-cartoon/person/pic_097.jpg 7
-cartoon/person/pic_080.jpg 7
-cartoon/person/pic_091.jpg 7
-cartoon/person/pic_122.jpg 7
-cartoon/person/pic_126.jpg 7
-cartoon/person/pic_112.jpg 7
-cartoon/person/pic_111.jpg 7
-cartoon/person/pic_101.jpg 7
-cartoon/person/pic_096.jpg 7
-cartoon/person/pic_130.jpg 7
-cartoon/person/pic_098.jpg 7
-cartoon/person/pic_102.jpg 7
-cartoon/person/pic_108.jpg 7
-cartoon/person/pic_114.jpg 7
-cartoon/person/pic_183.jpg 7
-cartoon/person/pic_186.jpg 7
-cartoon/person/pic_194.jpg 7
-cartoon/person/pic_188.jpg 7
-cartoon/person/pic_190.jpg 7
-cartoon/person/pic_193.jpg 7
-cartoon/person/pic_195.jpg 7
-cartoon/person/pic_199.jpg 7
-cartoon/person/pic_197.jpg 7
-cartoon/person/pic_200.jpg 7
-cartoon/person/pic_201.jpg 7
-cartoon/person/pic_203.jpg 7
-cartoon/person/pic_202.jpg 7
-cartoon/person/pic_217.jpg 7
-cartoon/person/pic_214.jpg 7
-cartoon/person/pic_215.jpg 7
-cartoon/person/pic_229.jpg 7
-cartoon/person/pic_228.jpg 7
-cartoon/person/pic_230.jpg 7
-cartoon/person/pic_236.jpg 7
-cartoon/person/pic_233.jpg 7
-cartoon/person/pic_232.jpg 7
-cartoon/person/pic_234.jpg 7
-cartoon/person/pic_231.jpg 7
-cartoon/person/pic_235.jpg 7
-cartoon/person/pic_240.jpg 7
-cartoon/person/pic_239.jpg 7
-cartoon/person/pic_237.jpg 7
-cartoon/person/pic_243.jpg 7
-cartoon/person/pic_242.jpg 7
-cartoon/person/pic_241.jpg 7
-cartoon/person/pic_244.jpg 7
-cartoon/person/pic_245.jpg 7
-cartoon/person/pic_246.jpg 7
-cartoon/person/pic_256.jpg 7
-cartoon/person/pic_254.jpg 7
-cartoon/person/pic_260.jpg 7
-cartoon/person/pic_270.jpg 7
-cartoon/person/pic_271.jpg 7
-cartoon/person/pic_273.jpg 7
-cartoon/person/pic_274.jpg 7
-cartoon/person/pic_275.jpg 7
-cartoon/person/pic_272.jpg 7
-cartoon/person/pic_276.jpg 7
-cartoon/person/pic_278.jpg 7
-cartoon/person/pic_297.jpg 7
-cartoon/person/pic_291.jpg 7
-cartoon/person/pic_293.jpg 7
-cartoon/person/pic_292.jpg 7
-cartoon/person/pic_289.jpg 7
-cartoon/person/pic_285.jpg 7
-cartoon/person/pic_283.jpg 7
-cartoon/person/pic_282.jpg 7
-cartoon/person/pic_286.jpg 7
-cartoon/person/pic_281.jpg 7
-cartoon/person/pic_280.jpg 7
-cartoon/person/pic_279.jpg 7
-cartoon/person/pic_277.jpg 7
-cartoon/person/pic_301.jpg 7
-cartoon/person/pic_298.jpg 7
-cartoon/person/pic_302.jpg 7
-cartoon/person/pic_294.jpg 7
-cartoon/person/pic_299.jpg 7
-cartoon/person/pic_284.jpg 7
-cartoon/person/pic_287.jpg 7
-cartoon/person/pic_305.jpg 7
-cartoon/person/pic_296.jpg 7
-cartoon/person/pic_300.jpg 7
-cartoon/person/pic_295.jpg 7
-cartoon/person/pic_303.jpg 7
-cartoon/person/pic_315.jpg 7
-cartoon/person/pic_314.jpg 7
-cartoon/person/pic_310.jpg 7
-cartoon/person/pic_405.jpg 7
-cartoon/person/pic_404.jpg 7
-cartoon/person/pic_406.jpg 7
-cartoon/person/pic_413.jpg 7
-cartoon/person/pic_411.jpg 7
-cartoon/person/pic_410.jpg 7
-cartoon/person/pic_409.jpg 7
-cartoon/person/pic_412.jpg 7
-cartoon/person/pic_426.jpg 7
-cartoon/person/pic_428.jpg 7
-cartoon/person/pic_425.jpg 7
-cartoon/person/pic_424.jpg 7
-cartoon/person/pic_421.jpg 7
-cartoon/person/pic_417.jpg 7
-cartoon/person/pic_419.jpg 7
-cartoon/person/pic_418.jpg 7
-cartoon/person/pic_416.jpg 7
-cartoon/person/pic_351.jpg 7
-cartoon/person/pic_349.jpg 7
-cartoon/person/pic_363.jpg 7
-cartoon/person/pic_358.jpg 7
-cartoon/person/pic_357.jpg 7
-cartoon/person/pic_354.jpg 7
-cartoon/person/pic_353.jpg 7
-cartoon/person/pic_360.jpg 7
-cartoon/person/pic_362.jpg 7
-cartoon/person/pic_359.jpg 7
-cartoon/person/pic_366.jpg 7
-cartoon/person/pic_375.jpg 7
-cartoon/person/pic_376.jpg 7
-cartoon/person/pic_372.jpg 7
-cartoon/person/pic_371.jpg 7
-cartoon/person/pic_369.jpg 7
-cartoon/person/pic_368.jpg 7
-cartoon/person/pic_364.jpg 7
-cartoon/person/pic_251.jpg 7
-cartoon/person/pic_250.jpg 7
-cartoon/person/pic_252.jpg 7
-cartoon/person/pic_248.jpg 7
-cartoon/person/pic_247.jpg 7
-cartoon/person/pic_249.jpg 7
-cartoon/person/pic_257.jpg 7
-cartoon/person/pic_253.jpg 7
-cartoon/person/pic_259.jpg 7
-cartoon/person/pic_268.jpg 7
-cartoon/person/pic_264.jpg 7
-cartoon/person/pic_265.jpg 7
-cartoon/person/pic_262.jpg 7
-cartoon/person/pic_261.jpg 7
-cartoon/person/pic_255.jpg 7
diff --git a/data/pacs_split/cartoon_train_kfold.txt b/data/pacs_split/cartoon_train_kfold.txt
deleted file mode 100644
index 48ceb2f88..000000000
--- a/data/pacs_split/cartoon_train_kfold.txt
+++ /dev/null
@@ -1,2107 +0,0 @@
-cartoon/dog/pic_056.jpg 1
-cartoon/dog/pic_052.jpg 1
-cartoon/dog/pic_049.jpg 1
-cartoon/dog/pic_019.jpg 1
-cartoon/dog/pic_023.jpg 1
-cartoon/dog/pic_048.jpg 1
-cartoon/dog/pic_044.jpg 1
-cartoon/dog/pic_042.jpg 1
-cartoon/dog/pic_038.jpg 1
-cartoon/dog/pic_033.jpg 1
-cartoon/dog/pic_040.jpg 1
-cartoon/dog/pic_055.jpg 1
-cartoon/dog/pic_053.jpg 1
-cartoon/dog/pic_041.jpg 1
-cartoon/dog/pic_039.jpg 1
-cartoon/dog/pic_111.jpg 1
-cartoon/dog/pic_109.jpg 1
-cartoon/dog/pic_114.jpg 1
-cartoon/dog/pic_140.jpg 1
-cartoon/dog/pic_142.jpg 1
-cartoon/dog/pic_138.jpg 1
-cartoon/dog/pic_135.jpg 1
-cartoon/dog/pic_129.jpg 1
-cartoon/dog/pic_125.jpg 1
-cartoon/dog/pic_122.jpg 1
-cartoon/dog/pic_121.jpg 1
-cartoon/dog/pic_117.jpg 1
-cartoon/dog/pic_115.jpg 1
-cartoon/dog/pic_112.jpg 1
-cartoon/dog/pic_120.jpg 1
-cartoon/dog/pic_143.jpg 1
-cartoon/dog/pic_346.jpg 1
-cartoon/dog/pic_349.jpg 1
-cartoon/dog/pic_347.jpg 1
-cartoon/dog/pic_340.jpg 1
-cartoon/dog/pic_332.jpg 1
-cartoon/dog/pic_358.jpg 1
-cartoon/dog/pic_351.jpg 1
-cartoon/dog/pic_361.jpg 1
-cartoon/dog/pic_360.jpg 1
-cartoon/dog/pic_446.jpg 1
-cartoon/dog/pic_430.jpg 1
-cartoon/dog/pic_427.jpg 1
-cartoon/dog/pic_381.jpg 1
-cartoon/dog/pic_379.jpg 1
-cartoon/dog/pic_373.jpg 1
-cartoon/dog/pic_400.jpg 1
-cartoon/dog/pic_429.jpg 1
-cartoon/dog/pic_442.jpg 1
-cartoon/dog/pic_134.jpg 1
-cartoon/dog/pic_137.jpg 1
-cartoon/dog/pic_136.jpg 1
-cartoon/dog/pic_118.jpg 1
-cartoon/dog/pic_126.jpg 1
-cartoon/dog/pic_133.jpg 1
-cartoon/dog/pic_124.jpg 1
-cartoon/dog/pic_127.jpg 1
-cartoon/dog/pic_139.jpg 1
-cartoon/dog/pic_145.jpg 1
-cartoon/dog/pic_132.jpg 1
-cartoon/dog/pic_141.jpg 1
-cartoon/dog/pic_152.jpg 1
-cartoon/dog/pic_151.jpg 1
-cartoon/dog/pic_153.jpg 1
-cartoon/dog/pic_155.jpg 1
-cartoon/dog/pic_217.jpg 1
-cartoon/dog/pic_218.jpg 1
-cartoon/dog/pic_244.jpg 1
-cartoon/dog/pic_246.jpg 1
-cartoon/dog/pic_245.jpg 1
-cartoon/dog/pic_243.jpg 1
-cartoon/dog/pic_241.jpg 1
-cartoon/dog/pic_296.jpg 1
-cartoon/dog/pic_300.jpg 1
-cartoon/dog/pic_277.jpg 1
-cartoon/dog/pic_290.jpg 1
-cartoon/dog/pic_284.jpg 1
-cartoon/dog/pic_256.jpg 1
-cartoon/dog/pic_255.jpg 1
-cartoon/dog/pic_261.jpg 1
-cartoon/dog/pic_294.jpg 1
-cartoon/dog/pic_247.jpg 1
-cartoon/dog/pic_267.jpg 1
-cartoon/dog/pic_265.jpg 1
-cartoon/dog/pic_208.jpg 1
-cartoon/dog/pic_205.jpg 1
-cartoon/dog/pic_207.jpg 1
-cartoon/dog/pic_206.jpg 1
-cartoon/dog/pic_209.jpg 1
-cartoon/dog/pic_224.jpg 1
-cartoon/dog/pic_223.jpg 1
-cartoon/dog/pic_222.jpg 1
-cartoon/dog/pic_215.jpg 1
-cartoon/dog/pic_221.jpg 1
-cartoon/dog/pic_214.jpg 1
-cartoon/dog/pic_212.jpg 1
-cartoon/dog/pic_211.jpg 1
-cartoon/dog/pic_210.jpg 1
-cartoon/dog/pic_213.jpg 1
-cartoon/dog/pic_239.jpg 1
-cartoon/dog/pic_237.jpg 1
-cartoon/dog/pic_234.jpg 1
-cartoon/dog/pic_235.jpg 1
-cartoon/dog/pic_007.jpg 1
-cartoon/dog/pic_008.jpg 1
-cartoon/dog/pic_009.jpg 1
-cartoon/dog/pic_010.jpg 1
-cartoon/dog/pic_011.jpg 1
-cartoon/dog/pic_012.jpg 1
-cartoon/dog/pic_013.jpg 1
-cartoon/dog/pic_014.jpg 1
-cartoon/dog/pic_015.jpg 1
-cartoon/dog/pic_016.jpg 1
-cartoon/dog/pic_017.jpg 1
-cartoon/dog/pic_018.jpg 1
-cartoon/dog/pic_032.jpg 1
-cartoon/dog/pic_030.jpg 1
-cartoon/dog/pic_021.jpg 1
-cartoon/dog/pic_024.jpg 1
-cartoon/dog/pic_028.jpg 1
-cartoon/dog/pic_026.jpg 1
-cartoon/dog/pic_022.jpg 1
-cartoon/dog/pic_447.jpg 1
-cartoon/dog/pic_449.jpg 1
-cartoon/dog/pic_450.jpg 1
-cartoon/dog/pic_166.jpg 1
-cartoon/dog/pic_171.jpg 1
-cartoon/dog/pic_167.jpg 1
-cartoon/dog/pic_168.jpg 1
-cartoon/dog/pic_172.jpg 1
-cartoon/dog/pic_170.jpg 1
-cartoon/dog/pic_169.jpg 1
-cartoon/dog/pic_173.jpg 1
-cartoon/dog/pic_176.jpg 1
-cartoon/dog/pic_175.jpg 1
-cartoon/dog/pic_180.jpg 1
-cartoon/dog/pic_179.jpg 1
-cartoon/dog/pic_178.jpg 1
-cartoon/dog/pic_177.jpg 1
-cartoon/dog/pic_183.jpg 1
-cartoon/dog/pic_184.jpg 1
-cartoon/dog/pic_182.jpg 1
-cartoon/dog/pic_220.jpg 1
-cartoon/dog/pic_219.jpg 1
-cartoon/dog/pic_216.jpg 1
-cartoon/dog/pic_273.jpg 1
-cartoon/dog/pic_272.jpg 1
-cartoon/dog/pic_275.jpg 1
-cartoon/dog/pic_274.jpg 1
-cartoon/dog/pic_280.jpg 1
-cartoon/dog/pic_279.jpg 1
-cartoon/dog/pic_281.jpg 1
-cartoon/dog/pic_282.jpg 1
-cartoon/dog/pic_327.jpg 1
-cartoon/dog/pic_329.jpg 1
-cartoon/dog/pic_326.jpg 1
-cartoon/dog/pic_328.jpg 1
-cartoon/dog/pic_335.jpg 1
-cartoon/dog/pic_338.jpg 1
-cartoon/dog/pic_339.jpg 1
-cartoon/dog/pic_337.jpg 1
-cartoon/dog/pic_374.jpg 1
-cartoon/dog/pic_372.jpg 1
-cartoon/dog/pic_371.jpg 1
-cartoon/dog/pic_369.jpg 1
-cartoon/dog/pic_368.jpg 1
-cartoon/dog/pic_367.jpg 1
-cartoon/dog/pic_366.jpg 1
-cartoon/dog/pic_365.jpg 1
-cartoon/dog/pic_364.jpg 1
-cartoon/dog/pic_437.jpg 1
-cartoon/dog/pic_431.jpg 1
-cartoon/dog/pic_413.jpg 1
-cartoon/dog/pic_394.jpg 1
-cartoon/dog/pic_428.jpg 1
-cartoon/dog/pic_387.jpg 1
-cartoon/dog/pic_380.jpg 1
-cartoon/dog/pic_376.jpg 1
-cartoon/dog/pic_425.jpg 1
-cartoon/dog/pic_414.jpg 1
-cartoon/dog/pic_398.jpg 1
-cartoon/dog/pic_317.jpg 1
-cartoon/dog/pic_318.jpg 1
-cartoon/dog/pic_323.jpg 1
-cartoon/dog/pic_363.jpg 1
-cartoon/dog/pic_357.jpg 1
-cartoon/dog/pic_356.jpg 1
-cartoon/dog/pic_354.jpg 1
-cartoon/dog/pic_352.jpg 1
-cartoon/dog/pic_353.jpg 1
-cartoon/dog/pic_348.jpg 1
-cartoon/dog/pic_345.jpg 1
-cartoon/dog/pic_344.jpg 1
-cartoon/dog/pic_343.jpg 1
-cartoon/dog/pic_341.jpg 1
-cartoon/dog/pic_333.jpg 1
-cartoon/dog/pic_334.jpg 1
-cartoon/dog/pic_331.jpg 1
-cartoon/dog/pic_350.jpg 1
-cartoon/dog/pic_181.jpg 1
-cartoon/dog/pic_188.jpg 1
-cartoon/dog/pic_190.jpg 1
-cartoon/dog/pic_186.jpg 1
-cartoon/dog/pic_185.jpg 1
-cartoon/dog/pic_189.jpg 1
-cartoon/dog/pic_192.jpg 1
-cartoon/dog/pic_191.jpg 1
-cartoon/dog/pic_193.jpg 1
-cartoon/dog/pic_195.jpg 1
-cartoon/dog/pic_201.jpg 1
-cartoon/dog/pic_200.jpg 1
-cartoon/dog/pic_197.jpg 1
-cartoon/dog/pic_198.jpg 1
-cartoon/dog/pic_196.jpg 1
-cartoon/dog/pic_202.jpg 1
-cartoon/dog/pic_204.jpg 1
-cartoon/dog/pic_203.jpg 1
-cartoon/dog/pic_034.jpg 1
-cartoon/dog/pic_027.jpg 1
-cartoon/dog/pic_029.jpg 1
-cartoon/dog/pic_050.jpg 1
-cartoon/dog/pic_035.jpg 1
-cartoon/dog/pic_037.jpg 1
-cartoon/dog/pic_051.jpg 1
-cartoon/dog/pic_045.jpg 1
-cartoon/dog/pic_058.jpg 1
-cartoon/dog/pic_057.jpg 1
-cartoon/dog/pic_059.jpg 1
-cartoon/dog/pic_062.jpg 1
-cartoon/dog/pic_063.jpg 1
-cartoon/dog/pic_060.jpg 1
-cartoon/dog/pic_061.jpg 1
-cartoon/dog/pic_065.jpg 1
-cartoon/dog/pic_064.jpg 1
-cartoon/dog/pic_068.jpg 1
-cartoon/dog/pic_067.jpg 1
-cartoon/dog/pic_432.jpg 1
-cartoon/dog/pic_424.jpg 1
-cartoon/dog/pic_445.jpg 1
-cartoon/dog/pic_397.jpg 1
-cartoon/dog/pic_389.jpg 1
-cartoon/dog/pic_395.jpg 1
-cartoon/dog/pic_435.jpg 1
-cartoon/dog/pic_399.jpg 1
-cartoon/dog/pic_411.jpg 1
-cartoon/dog/pic_434.jpg 1
-cartoon/dog/pic_444.jpg 1
-cartoon/dog/pic_401.jpg 1
-cartoon/dog/pic_396.jpg 1
-cartoon/dog/pic_426.jpg 1
-cartoon/dog/pic_433.jpg 1
-cartoon/dog/pic_443.jpg 1
-cartoon/dog/pic_412.jpg 1
-cartoon/dog/pic_148.jpg 1
-cartoon/dog/pic_146.jpg 1
-cartoon/dog/pic_418.jpg 1
-cartoon/dog/pic_156.jpg 1
-cartoon/dog/pic_149.jpg 1
-cartoon/dog/pic_160.jpg 1
-cartoon/dog/pic_161.jpg 1
-cartoon/dog/pic_163.jpg 1
-cartoon/dog/pic_165.jpg 1
-cartoon/dog/pic_164.jpg 1
-cartoon/dog/pic_419.jpg 1
-cartoon/dog/pic_422.jpg 1
-cartoon/dog/pic_420.jpg 1
-cartoon/dog/pic_421.jpg 1
-cartoon/dog/pic_423.jpg 1
-cartoon/dog/pic_439.jpg 1
-cartoon/dog/pic_438.jpg 1
-cartoon/dog/pic_441.jpg 1
-cartoon/dog/pic_440.jpg 1
-cartoon/dog/pic_242.jpg 1
-cartoon/dog/pic_260.jpg 1
-cartoon/dog/pic_293.jpg 1
-cartoon/dog/pic_278.jpg 1
-cartoon/dog/pic_269.jpg 1
-cartoon/dog/pic_292.jpg 1
-cartoon/dog/pic_268.jpg 1
-cartoon/dog/pic_291.jpg 1
-cartoon/dog/pic_289.jpg 1
-cartoon/dog/pic_266.jpg 1
-cartoon/dog/pic_258.jpg 1
-cartoon/dog/pic_264.jpg 1
-cartoon/dog/pic_287.jpg 1
-cartoon/dog/pic_298.jpg 1
-cartoon/dog/pic_288.jpg 1
-cartoon/dog/pic_295.jpg 1
-cartoon/dog/pic_299.jpg 1
-cartoon/dog/pic_306.jpg 1
-cartoon/dog/pic_305.jpg 1
-cartoon/dog/pic_304.jpg 1
-cartoon/dog/pic_302.jpg 1
-cartoon/dog/pic_303.jpg 1
-cartoon/dog/pic_308.jpg 1
-cartoon/dog/pic_309.jpg 1
-cartoon/dog/pic_330.jpg 1
-cartoon/dog/pic_324.jpg 1
-cartoon/dog/pic_322.jpg 1
-cartoon/dog/pic_319.jpg 1
-cartoon/dog/pic_320.jpg 1
-cartoon/dog/pic_315.jpg 1
-cartoon/dog/pic_313.jpg 1
-cartoon/dog/pic_314.jpg 1
-cartoon/dog/pic_310.jpg 1
-cartoon/dog/pic_325.jpg 1
-cartoon/dog/pic_316.jpg 1
-cartoon/dog/pic_321.jpg 1
-cartoon/dog/pic_312.jpg 1
-cartoon/dog/pic_069.jpg 1
-cartoon/dog/pic_066.jpg 1
-cartoon/dog/pic_082.jpg 1
-cartoon/dog/pic_078.jpg 1
-cartoon/dog/pic_076.jpg 1
-cartoon/dog/pic_077.jpg 1
-cartoon/dog/pic_074.jpg 1
-cartoon/dog/pic_073.jpg 1
-cartoon/dog/pic_072.jpg 1
-cartoon/dog/pic_071.jpg 1
-cartoon/dog/pic_079.jpg 1
-cartoon/dog/pic_080.jpg 1
-cartoon/dog/pic_083.jpg 1
-cartoon/dog/pic_081.jpg 1
-cartoon/dog/pic_084.jpg 1
-cartoon/dog/pic_085.jpg 1
-cartoon/dog/pic_086.jpg 1
-cartoon/dog/pic_087.jpg 1
-cartoon/dog/pic_088.jpg 1
-cartoon/dog/pic_089.jpg 1
-cartoon/dog/pic_090.jpg 1
-cartoon/dog/pic_094.jpg 1
-cartoon/dog/pic_093.jpg 1
-cartoon/dog/pic_091.jpg 1
-cartoon/dog/pic_092.jpg 1
-cartoon/dog/pic_108.jpg 1
-cartoon/dog/pic_105.jpg 1
-cartoon/dog/pic_104.jpg 1
-cartoon/dog/pic_103.jpg 1
-cartoon/dog/pic_099.jpg 1
-cartoon/dog/pic_101.jpg 1
-cartoon/dog/pic_098.jpg 1
-cartoon/dog/pic_097.jpg 1
-cartoon/dog/pic_096.jpg 1
-cartoon/dog/pic_095.jpg 1
-cartoon/dog/pic_102.jpg 1
-cartoon/dog/pic_106.jpg 1
-cartoon/dog/pic_107.jpg 1
-cartoon/dog/pic_100.jpg 1
-cartoon/dog/pic_113.jpg 1
-cartoon/dog/pic_110.jpg 1
-cartoon/elephant/pic_421.jpg 2
-cartoon/elephant/pic_419.jpg 2
-cartoon/elephant/pic_418.jpg 2
-cartoon/elephant/pic_026.jpg 2
-cartoon/elephant/pic_028.jpg 2
-cartoon/elephant/pic_024.jpg 2
-cartoon/elephant/pic_027.jpg 2
-cartoon/elephant/pic_021.jpg 2
-cartoon/elephant/pic_030.jpg 2
-cartoon/elephant/pic_036.jpg 2
-cartoon/elephant/pic_037.jpg 2
-cartoon/elephant/pic_033.jpg 2
-cartoon/elephant/pic_056.jpg 2
-cartoon/elephant/pic_052.jpg 2
-cartoon/elephant/pic_048.jpg 2
-cartoon/elephant/pic_040.jpg 2
-cartoon/elephant/pic_046.jpg 2
-cartoon/elephant/pic_045.jpg 2
-cartoon/elephant/pic_043.jpg 2
-cartoon/elephant/pic_044.jpg 2
-cartoon/elephant/pic_042.jpg 2
-cartoon/elephant/pic_034.jpg 2
-cartoon/elephant/pic_025.jpg 2
-cartoon/elephant/pic_325.jpg 2
-cartoon/elephant/pic_328.jpg 2
-cartoon/elephant/pic_329.jpg 2
-cartoon/elephant/pic_330.jpg 2
-cartoon/elephant/pic_331.jpg 2
-cartoon/elephant/pic_332.jpg 2
-cartoon/elephant/pic_333.jpg 2
-cartoon/elephant/pic_338.jpg 2
-cartoon/elephant/pic_336.jpg 2
-cartoon/elephant/pic_337.jpg 2
-cartoon/elephant/pic_335.jpg 2
-cartoon/elephant/pic_334.jpg 2
-cartoon/elephant/pic_342.jpg 2
-cartoon/elephant/pic_339.jpg 2
-cartoon/elephant/pic_340.jpg 2
-cartoon/elephant/pic_341.jpg 2
-cartoon/elephant/pic_343.jpg 2
-cartoon/elephant/pic_351.jpg 2
-cartoon/elephant/pic_345.jpg 2
-cartoon/elephant/pic_350.jpg 2
-cartoon/elephant/pic_280.jpg 2
-cartoon/elephant/pic_203.jpg 2
-cartoon/elephant/pic_204.jpg 2
-cartoon/elephant/pic_215.jpg 2
-cartoon/elephant/pic_207.jpg 2
-cartoon/elephant/pic_208.jpg 2
-cartoon/elephant/pic_206.jpg 2
-cartoon/elephant/pic_205.jpg 2
-cartoon/elephant/pic_216.jpg 2
-cartoon/elephant/pic_223.jpg 2
-cartoon/elephant/pic_222.jpg 2
-cartoon/elephant/pic_221.jpg 2
-cartoon/elephant/pic_285.jpg 2
-cartoon/elephant/pic_282.jpg 2
-cartoon/elephant/pic_218.jpg 2
-cartoon/elephant/pic_217.jpg 2
-cartoon/elephant/pic_224.jpg 2
-cartoon/elephant/pic_286.jpg 2
-cartoon/elephant/pic_392.jpg 2
-cartoon/elephant/pic_390.jpg 2
-cartoon/elephant/pic_395.jpg 2
-cartoon/elephant/pic_393.jpg 2
-cartoon/elephant/pic_391.jpg 2
-cartoon/elephant/pic_394.jpg 2
-cartoon/elephant/pic_403.jpg 2
-cartoon/elephant/pic_401.jpg 2
-cartoon/elephant/pic_400.jpg 2
-cartoon/elephant/pic_399.jpg 2
-cartoon/elephant/pic_396.jpg 2
-cartoon/elephant/pic_397.jpg 2
-cartoon/elephant/pic_398.jpg 2
-cartoon/elephant/pic_402.jpg 2
-cartoon/elephant/pic_407.jpg 2
-cartoon/elephant/pic_406.jpg 2
-cartoon/elephant/pic_405.jpg 2
-cartoon/elephant/pic_404.jpg 2
-cartoon/elephant/pic_415.jpg 2
-cartoon/elephant/pic_416.jpg 2
-cartoon/elephant/pic_349.jpg 2
-cartoon/elephant/pic_348.jpg 2
-cartoon/elephant/pic_347.jpg 2
-cartoon/elephant/pic_346.jpg 2
-cartoon/elephant/pic_344.jpg 2
-cartoon/elephant/pic_356.jpg 2
-cartoon/elephant/pic_355.jpg 2
-cartoon/elephant/pic_354.jpg 2
-cartoon/elephant/pic_352.jpg 2
-cartoon/elephant/pic_359.jpg 2
-cartoon/elephant/pic_357.jpg 2
-cartoon/elephant/pic_362.jpg 2
-cartoon/elephant/pic_360.jpg 2
-cartoon/elephant/pic_366.jpg 2
-cartoon/elephant/pic_365.jpg 2
-cartoon/elephant/pic_364.jpg 2
-cartoon/elephant/pic_363.jpg 2
-cartoon/elephant/pic_367.jpg 2
-cartoon/elephant/pic_064.jpg 2
-cartoon/elephant/pic_063.jpg 2
-cartoon/elephant/pic_062.jpg 2
-cartoon/elephant/pic_061.jpg 2
-cartoon/elephant/pic_118.jpg 2
-cartoon/elephant/pic_111.jpg 2
-cartoon/elephant/pic_100.jpg 2
-cartoon/elephant/pic_098.jpg 2
-cartoon/elephant/pic_096.jpg 2
-cartoon/elephant/pic_092.jpg 2
-cartoon/elephant/pic_088.jpg 2
-cartoon/elephant/pic_086.jpg 2
-cartoon/elephant/pic_083.jpg 2
-cartoon/elephant/pic_080.jpg 2
-cartoon/elephant/pic_079.jpg 2
-cartoon/elephant/pic_078.jpg 2
-cartoon/elephant/pic_076.jpg 2
-cartoon/elephant/pic_068.jpg 2
-cartoon/elephant/pic_072.jpg 2
-cartoon/elephant/pic_074.jpg 2
-cartoon/elephant/pic_071.jpg 2
-cartoon/elephant/pic_001.jpg 2
-cartoon/elephant/pic_002.jpg 2
-cartoon/elephant/pic_003.jpg 2
-cartoon/elephant/pic_004.jpg 2
-cartoon/elephant/pic_005.jpg 2
-cartoon/elephant/pic_007.jpg 2
-cartoon/elephant/pic_008.jpg 2
-cartoon/elephant/pic_009.jpg 2
-cartoon/elephant/pic_010.jpg 2
-cartoon/elephant/pic_011.jpg 2
-cartoon/elephant/pic_012.jpg 2
-cartoon/elephant/pic_013.jpg 2
-cartoon/elephant/pic_014.jpg 2
-cartoon/elephant/pic_015.jpg 2
-cartoon/elephant/pic_016.jpg 2
-cartoon/elephant/pic_017.jpg 2
-cartoon/elephant/pic_019.jpg 2
-cartoon/elephant/pic_020.jpg 2
-cartoon/elephant/pic_038.jpg 2
-cartoon/elephant/pic_220.jpg 2
-cartoon/elephant/pic_219.jpg 2
-cartoon/elephant/pic_284.jpg 2
-cartoon/elephant/pic_233.jpg 2
-cartoon/elephant/pic_232.jpg 2
-cartoon/elephant/pic_290.jpg 2
-cartoon/elephant/pic_292.jpg 2
-cartoon/elephant/pic_231.jpg 2
-cartoon/elephant/pic_228.jpg 2
-cartoon/elephant/pic_230.jpg 2
-cartoon/elephant/pic_229.jpg 2
-cartoon/elephant/pic_289.jpg 2
-cartoon/elephant/pic_291.jpg 2
-cartoon/elephant/pic_236.jpg 2
-cartoon/elephant/pic_235.jpg 2
-cartoon/elephant/pic_294.jpg 2
-cartoon/elephant/pic_239.jpg 2
-cartoon/elephant/pic_238.jpg 2
-cartoon/elephant/pic_295.jpg 2
-cartoon/elephant/pic_296.jpg 2
-cartoon/elephant/pic_183.jpg 2
-cartoon/elephant/pic_182.jpg 2
-cartoon/elephant/pic_190.jpg 2
-cartoon/elephant/pic_198.jpg 2
-cartoon/elephant/pic_197.jpg 2
-cartoon/elephant/pic_196.jpg 2
-cartoon/elephant/pic_273.jpg 2
-cartoon/elephant/pic_194.jpg 2
-cartoon/elephant/pic_272.jpg 2
-cartoon/elephant/pic_195.jpg 2
-cartoon/elephant/pic_192.jpg 2
-cartoon/elephant/pic_276.jpg 2
-cartoon/elephant/pic_279.jpg 2
-cartoon/elephant/pic_202.jpg 2
-cartoon/elephant/pic_275.jpg 2
-cartoon/elephant/pic_274.jpg 2
-cartoon/elephant/pic_200.jpg 2
-cartoon/elephant/pic_201.jpg 2
-cartoon/elephant/pic_199.jpg 2
-cartoon/elephant/pic_433.jpg 2
-cartoon/elephant/pic_434.jpg 2
-cartoon/elephant/pic_435.jpg 2
-cartoon/elephant/pic_432.jpg 2
-cartoon/elephant/pic_439.jpg 2
-cartoon/elephant/pic_427.jpg 2
-cartoon/elephant/pic_440.jpg 2
-cartoon/elephant/pic_438.jpg 2
-cartoon/elephant/pic_426.jpg 2
-cartoon/elephant/pic_449.jpg 2
-cartoon/elephant/pic_447.jpg 2
-cartoon/elephant/pic_448.jpg 2
-cartoon/elephant/pic_444.jpg 2
-cartoon/elephant/pic_443.jpg 2
-cartoon/elephant/pic_442.jpg 2
-cartoon/elephant/pic_446.jpg 2
-cartoon/elephant/pic_464.jpg 2
-cartoon/elephant/pic_368.jpg 2
-cartoon/elephant/pic_370.jpg 2
-cartoon/elephant/pic_372.jpg 2
-cartoon/elephant/pic_373.jpg 2
-cartoon/elephant/pic_374.jpg 2
-cartoon/elephant/pic_376.jpg 2
-cartoon/elephant/pic_375.jpg 2
-cartoon/elephant/pic_378.jpg 2
-cartoon/elephant/pic_377.jpg 2
-cartoon/elephant/pic_381.jpg 2
-cartoon/elephant/pic_382.jpg 2
-cartoon/elephant/pic_383.jpg 2
-cartoon/elephant/pic_384.jpg 2
-cartoon/elephant/pic_385.jpg 2
-cartoon/elephant/pic_389.jpg 2
-cartoon/elephant/pic_388.jpg 2
-cartoon/elephant/pic_387.jpg 2
-cartoon/elephant/pic_023.jpg 2
-cartoon/elephant/pic_022.jpg 2
-cartoon/elephant/pic_039.jpg 2
-cartoon/elephant/pic_053.jpg 2
-cartoon/elephant/pic_049.jpg 2
-cartoon/elephant/pic_047.jpg 2
-cartoon/elephant/pic_041.jpg 2
-cartoon/elephant/pic_050.jpg 2
-cartoon/elephant/pic_035.jpg 2
-cartoon/elephant/pic_057.jpg 2
-cartoon/elephant/pic_032.jpg 2
-cartoon/elephant/pic_055.jpg 2
-cartoon/elephant/pic_058.jpg 2
-cartoon/elephant/pic_029.jpg 2
-cartoon/elephant/pic_051.jpg 2
-cartoon/elephant/pic_054.jpg 2
-cartoon/elephant/pic_059.jpg 2
-cartoon/elephant/pic_060.jpg 2
-cartoon/elephant/pic_066.jpg 2
-cartoon/elephant/pic_065.jpg 2
-cartoon/elephant/pic_085.jpg 2
-cartoon/elephant/pic_094.jpg 2
-cartoon/elephant/pic_091.jpg 2
-cartoon/elephant/pic_110.jpg 2
-cartoon/elephant/pic_147.jpg 2
-cartoon/elephant/pic_149.jpg 2
-cartoon/elephant/pic_140.jpg 2
-cartoon/elephant/pic_135.jpg 2
-cartoon/elephant/pic_115.jpg 2
-cartoon/elephant/pic_089.jpg 2
-cartoon/elephant/pic_107.jpg 2
-cartoon/elephant/pic_104.jpg 2
-cartoon/elephant/pic_095.jpg 2
-cartoon/elephant/pic_142.jpg 2
-cartoon/elephant/pic_081.jpg 2
-cartoon/elephant/pic_090.jpg 2
-cartoon/elephant/pic_097.jpg 2
-cartoon/elephant/pic_106.jpg 2
-cartoon/elephant/pic_151.jpg 2
-cartoon/elephant/pic_129.jpg 2
-cartoon/elephant/pic_121.jpg 2
-cartoon/elephant/pic_259.jpg 2
-cartoon/elephant/pic_174.jpg 2
-cartoon/elephant/pic_260.jpg 2
-cartoon/elephant/pic_180.jpg 2
-cartoon/elephant/pic_178.jpg 2
-cartoon/elephant/pic_177.jpg 2
-cartoon/elephant/pic_176.jpg 2
-cartoon/elephant/pic_264.jpg 2
-cartoon/elephant/pic_175.jpg 2
-cartoon/elephant/pic_263.jpg 2
-cartoon/elephant/pic_262.jpg 2
-cartoon/elephant/pic_261.jpg 2
-cartoon/elephant/pic_181.jpg 2
-cartoon/elephant/pic_268.jpg 2
-cartoon/elephant/pic_179.jpg 2
-cartoon/elephant/pic_269.jpg 2
-cartoon/elephant/pic_191.jpg 2
-cartoon/elephant/pic_271.jpg 2
-cartoon/elephant/pic_184.jpg 2
-cartoon/elephant/pic_185.jpg 2
-cartoon/elephant/pic_270.jpg 2
-cartoon/elephant/pic_070.jpg 2
-cartoon/elephant/pic_067.jpg 2
-cartoon/elephant/pic_069.jpg 2
-cartoon/elephant/pic_137.jpg 2
-cartoon/elephant/pic_136.jpg 2
-cartoon/elephant/pic_108.jpg 2
-cartoon/elephant/pic_116.jpg 2
-cartoon/elephant/pic_117.jpg 2
-cartoon/elephant/pic_103.jpg 2
-cartoon/elephant/pic_093.jpg 2
-cartoon/elephant/pic_099.jpg 2
-cartoon/elephant/pic_084.jpg 2
-cartoon/elephant/pic_102.jpg 2
-cartoon/elephant/pic_087.jpg 2
-cartoon/elephant/pic_082.jpg 2
-cartoon/elephant/pic_073.jpg 2
-cartoon/elephant/pic_075.jpg 2
-cartoon/elephant/pic_077.jpg 2
-cartoon/elephant/pic_473.jpg 2
-cartoon/elephant/pic_475.jpg 2
-cartoon/elephant/pic_474.jpg 2
-cartoon/elephant/pic_476.jpg 2
-cartoon/elephant/pic_481.jpg 2
-cartoon/elephant/pic_480.jpg 2
-cartoon/elephant/pic_478.jpg 2
-cartoon/elephant/pic_479.jpg 2
-cartoon/elephant/pic_477.jpg 2
-cartoon/elephant/pic_482.jpg 2
-cartoon/elephant/pic_485.jpg 2
-cartoon/elephant/pic_484.jpg 2
-cartoon/elephant/pic_483.jpg 2
-cartoon/elephant/pic_486.jpg 2
-cartoon/elephant/pic_487.jpg 2
-cartoon/elephant/pic_491.jpg 2
-cartoon/elephant/pic_493.jpg 2
-cartoon/elephant/pic_305.jpg 2
-cartoon/elephant/pic_307.jpg 2
-cartoon/elephant/pic_311.jpg 2
-cartoon/elephant/pic_308.jpg 2
-cartoon/elephant/pic_312.jpg 2
-cartoon/elephant/pic_310.jpg 2
-cartoon/elephant/pic_313.jpg 2
-cartoon/elephant/pic_309.jpg 2
-cartoon/elephant/pic_314.jpg 2
-cartoon/elephant/pic_316.jpg 2
-cartoon/elephant/pic_319.jpg 2
-cartoon/elephant/pic_318.jpg 2
-cartoon/elephant/pic_322.jpg 2
-cartoon/elephant/pic_320.jpg 2
-cartoon/elephant/pic_324.jpg 2
-cartoon/elephant/pic_323.jpg 2
-cartoon/elephant/pic_327.jpg 2
-cartoon/elephant/pic_326.jpg 2
-cartoon/elephant/pic_114.jpg 2
-cartoon/elephant/pic_146.jpg 2
-cartoon/elephant/pic_131.jpg 2
-cartoon/elephant/pic_132.jpg 2
-cartoon/elephant/pic_213.jpg 2
-cartoon/elephant/pic_210.jpg 2
-cartoon/elephant/pic_186.jpg 2
-cartoon/elephant/pic_188.jpg 2
-cartoon/elephant/pic_214.jpg 2
-cartoon/elephant/pic_152.jpg 2
-cartoon/elephant/pic_119.jpg 2
-cartoon/elephant/pic_133.jpg 2
-cartoon/elephant/pic_139.jpg 2
-cartoon/elephant/pic_212.jpg 2
-cartoon/elephant/pic_209.jpg 2
-cartoon/elephant/pic_126.jpg 2
-cartoon/elephant/pic_130.jpg 2
-cartoon/elephant/pic_187.jpg 2
-cartoon/elephant/pic_159.jpg 2
-cartoon/elephant/pic_462.jpg 2
-cartoon/elephant/pic_463.jpg 2
-cartoon/elephant/pic_460.jpg 2
-cartoon/elephant/pic_461.jpg 2
-cartoon/elephant/pic_458.jpg 2
-cartoon/elephant/pic_456.jpg 2
-cartoon/elephant/pic_454.jpg 2
-cartoon/elephant/pic_453.jpg 2
-cartoon/elephant/pic_452.jpg 2
-cartoon/elephant/pic_450.jpg 2
-cartoon/elephant/pic_468.jpg 2
-cartoon/elephant/pic_459.jpg 2
-cartoon/elephant/pic_455.jpg 2
-cartoon/elephant/pic_457.jpg 2
-cartoon/elephant/pic_466.jpg 2
-cartoon/elephant/pic_465.jpg 2
-cartoon/elephant/pic_471.jpg 2
-cartoon/elephant/pic_469.jpg 2
-cartoon/elephant/pic_496.jpg 2
-cartoon/elephant/pic_495.jpg 2
-cartoon/elephant/pic_497.jpg 2
-cartoon/elephant/pic_498.jpg 2
-cartoon/elephant/pic_499.jpg 2
-cartoon/elephant/pic_502.jpg 2
-cartoon/elephant/pic_504.jpg 2
-cartoon/elephant/pic_501.jpg 2
-cartoon/elephant/pic_505.jpg 2
-cartoon/elephant/pic_245.jpg 2
-cartoon/elephant/pic_246.jpg 2
-cartoon/elephant/pic_253.jpg 2
-cartoon/elephant/pic_299.jpg 2
-cartoon/elephant/pic_278.jpg 2
-cartoon/elephant/pic_288.jpg 2
-cartoon/elephant/pic_304.jpg 2
-cartoon/elephant/pic_303.jpg 2
-cartoon/elephant/pic_266.jpg 2
-cartoon/elephant/pic_265.jpg 2
-cartoon/elephant/pic_256.jpg 2
-cartoon/elephant/pic_254.jpg 2
-cartoon/elephant/pic_255.jpg 2
-cartoon/elephant/pic_306.jpg 2
-cartoon/elephant/pic_293.jpg 2
-cartoon/elephant/pic_302.jpg 2
-cartoon/elephant/pic_301.jpg 2
-cartoon/elephant/pic_300.jpg 2
-cartoon/elephant/pic_138.jpg 2
-cartoon/elephant/pic_125.jpg 2
-cartoon/elephant/pic_112.jpg 2
-cartoon/elephant/pic_144.jpg 2
-cartoon/elephant/pic_101.jpg 2
-cartoon/elephant/pic_122.jpg 2
-cartoon/elephant/pic_120.jpg 2
-cartoon/elephant/pic_105.jpg 2
-cartoon/elephant/pic_189.jpg 2
-cartoon/elephant/pic_141.jpg 2
-cartoon/elephant/pic_143.jpg 2
-cartoon/elephant/pic_160.jpg 2
-cartoon/elephant/pic_113.jpg 2
-cartoon/elephant/pic_145.jpg 2
-cartoon/elephant/pic_109.jpg 2
-cartoon/elephant/pic_148.jpg 2
-cartoon/elephant/pic_128.jpg 2
-cartoon/elephant/pic_127.jpg 2
-cartoon/elephant/pic_150.jpg 2
-cartoon/elephant/pic_124.jpg 2
-cartoon/giraffe/pic_098.jpg 3
-cartoon/giraffe/pic_097.jpg 3
-cartoon/giraffe/pic_107.jpg 3
-cartoon/giraffe/pic_109.jpg 3
-cartoon/giraffe/pic_285.jpg 3
-cartoon/giraffe/pic_282.jpg 3
-cartoon/giraffe/pic_284.jpg 3
-cartoon/giraffe/pic_287.jpg 3
-cartoon/giraffe/pic_286.jpg 3
-cartoon/giraffe/pic_298.jpg 3
-cartoon/giraffe/pic_296.jpg 3
-cartoon/giraffe/pic_294.jpg 3
-cartoon/giraffe/pic_293.jpg 3
-cartoon/giraffe/pic_292.jpg 3
-cartoon/giraffe/pic_290.jpg 3
-cartoon/giraffe/pic_288.jpg 3
-cartoon/giraffe/pic_291.jpg 3
-cartoon/giraffe/pic_320.jpg 3
-cartoon/giraffe/pic_313.jpg 3
-cartoon/giraffe/pic_305.jpg 3
-cartoon/giraffe/pic_307.jpg 3
-cartoon/giraffe/pic_306.jpg 3
-cartoon/giraffe/pic_303.jpg 3
-cartoon/giraffe/pic_152.jpg 3
-cartoon/giraffe/pic_153.jpg 3
-cartoon/giraffe/pic_151.jpg 3
-cartoon/giraffe/pic_155.jpg 3
-cartoon/giraffe/pic_156.jpg 3
-cartoon/giraffe/pic_157.jpg 3
-cartoon/giraffe/pic_159.jpg 3
-cartoon/giraffe/pic_160.jpg 3
-cartoon/giraffe/pic_161.jpg 3
-cartoon/giraffe/pic_162.jpg 3
-cartoon/giraffe/pic_158.jpg 3
-cartoon/giraffe/pic_163.jpg 3
-cartoon/giraffe/pic_164.jpg 3
-cartoon/giraffe/pic_165.jpg 3
-cartoon/giraffe/pic_166.jpg 3
-cartoon/giraffe/pic_167.jpg 3
-cartoon/giraffe/pic_168.jpg 3
-cartoon/giraffe/pic_170.jpg 3
-cartoon/giraffe/pic_369.jpg 3
-cartoon/giraffe/pic_368.jpg 3
-cartoon/giraffe/pic_367.jpg 3
-cartoon/giraffe/pic_365.jpg 3
-cartoon/giraffe/pic_364.jpg 3
-cartoon/giraffe/pic_363.jpg 3
-cartoon/giraffe/pic_373.jpg 3
-cartoon/giraffe/pic_370.jpg 3
-cartoon/giraffe/pic_376.jpg 3
-cartoon/giraffe/pic_375.jpg 3
-cartoon/giraffe/pic_377.jpg 3
-cartoon/giraffe/pic_379.jpg 3
-cartoon/giraffe/pic_381.jpg 3
-cartoon/giraffe/pic_382.jpg 3
-cartoon/giraffe/pic_380.jpg 3
-cartoon/giraffe/pic_383.jpg 3
-cartoon/giraffe/pic_385.jpg 3
-cartoon/giraffe/pic_384.jpg 3
-cartoon/giraffe/pic_386.jpg 3
-cartoon/giraffe/pic_031.jpg 3
-cartoon/giraffe/pic_030.jpg 3
-cartoon/giraffe/pic_029.jpg 3
-cartoon/giraffe/pic_027.jpg 3
-cartoon/giraffe/pic_023.jpg 3
-cartoon/giraffe/pic_026.jpg 3
-cartoon/giraffe/pic_033.jpg 3
-cartoon/giraffe/pic_028.jpg 3
-cartoon/giraffe/pic_032.jpg 3
-cartoon/giraffe/pic_043.jpg 3
-cartoon/giraffe/pic_042.jpg 3
-cartoon/giraffe/pic_041.jpg 3
-cartoon/giraffe/pic_039.jpg 3
-cartoon/giraffe/pic_038.jpg 3
-cartoon/giraffe/pic_036.jpg 3
-cartoon/giraffe/pic_035.jpg 3
-cartoon/giraffe/pic_037.jpg 3
-cartoon/giraffe/pic_040.jpg 3
-cartoon/giraffe/pic_051.jpg 3
-cartoon/giraffe/pic_050.jpg 3
-cartoon/giraffe/pic_048.jpg 3
-cartoon/giraffe/pic_047.jpg 3
-cartoon/giraffe/pic_045.jpg 3
-cartoon/giraffe/pic_044.jpg 3
-cartoon/giraffe/pic_053.jpg 3
-cartoon/giraffe/pic_052.jpg 3
-cartoon/giraffe/pic_054.jpg 3
-cartoon/giraffe/pic_056.jpg 3
-cartoon/giraffe/pic_055.jpg 3
-cartoon/giraffe/pic_057.jpg 3
-cartoon/giraffe/pic_059.jpg 3
-cartoon/giraffe/pic_060.jpg 3
-cartoon/giraffe/pic_058.jpg 3
-cartoon/giraffe/pic_062.jpg 3
-cartoon/giraffe/pic_061.jpg 3
-cartoon/giraffe/pic_067.jpg 3
-cartoon/giraffe/pic_064.jpg 3
-cartoon/giraffe/pic_065.jpg 3
-cartoon/giraffe/pic_066.jpg 3
-cartoon/giraffe/pic_233.jpg 3
-cartoon/giraffe/pic_235.jpg 3
-cartoon/giraffe/pic_236.jpg 3
-cartoon/giraffe/pic_238.jpg 3
-cartoon/giraffe/pic_237.jpg 3
-cartoon/giraffe/pic_239.jpg 3
-cartoon/giraffe/pic_130.jpg 3
-cartoon/giraffe/pic_131.jpg 3
-cartoon/giraffe/pic_134.jpg 3
-cartoon/giraffe/pic_133.jpg 3
-cartoon/giraffe/pic_132.jpg 3
-cartoon/giraffe/pic_136.jpg 3
-cartoon/giraffe/pic_138.jpg 3
-cartoon/giraffe/pic_139.jpg 3
-cartoon/giraffe/pic_141.jpg 3
-cartoon/giraffe/pic_143.jpg 3
-cartoon/giraffe/pic_145.jpg 3
-cartoon/giraffe/pic_147.jpg 3
-cartoon/giraffe/pic_144.jpg 3
-cartoon/giraffe/pic_146.jpg 3
-cartoon/giraffe/pic_149.jpg 3
-cartoon/giraffe/pic_148.jpg 3
-cartoon/giraffe/pic_343.jpg 3
-cartoon/giraffe/pic_346.jpg 3
-cartoon/giraffe/pic_352.jpg 3
-cartoon/giraffe/pic_355.jpg 3
-cartoon/giraffe/pic_354.jpg 3
-cartoon/giraffe/pic_351.jpg 3
-cartoon/giraffe/pic_350.jpg 3
-cartoon/giraffe/pic_353.jpg 3
-cartoon/giraffe/pic_349.jpg 3
-cartoon/giraffe/pic_359.jpg 3
-cartoon/giraffe/pic_360.jpg 3
-cartoon/giraffe/pic_361.jpg 3
-cartoon/giraffe/pic_358.jpg 3
-cartoon/giraffe/pic_356.jpg 3
-cartoon/giraffe/pic_374.jpg 3
-cartoon/giraffe/pic_372.jpg 3
-cartoon/giraffe/pic_371.jpg 3
-cartoon/giraffe/pic_174.jpg 3
-cartoon/giraffe/pic_172.jpg 3
-cartoon/giraffe/pic_173.jpg 3
-cartoon/giraffe/pic_177.jpg 3
-cartoon/giraffe/pic_175.jpg 3
-cartoon/giraffe/pic_176.jpg 3
-cartoon/giraffe/pic_178.jpg 3
-cartoon/giraffe/pic_179.jpg 3
-cartoon/giraffe/pic_180.jpg 3
-cartoon/giraffe/pic_181.jpg 3
-cartoon/giraffe/pic_182.jpg 3
-cartoon/giraffe/pic_185.jpg 3
-cartoon/giraffe/pic_183.jpg 3
-cartoon/giraffe/pic_186.jpg 3
-cartoon/giraffe/pic_187.jpg 3
-cartoon/giraffe/pic_188.jpg 3
-cartoon/giraffe/pic_189.jpg 3
-cartoon/giraffe/pic_190.jpg 3
-cartoon/giraffe/pic_192.jpg 3
-cartoon/giraffe/pic_262.jpg 3
-cartoon/giraffe/pic_265.jpg 3
-cartoon/giraffe/pic_266.jpg 3
-cartoon/giraffe/pic_264.jpg 3
-cartoon/giraffe/pic_267.jpg 3
-cartoon/giraffe/pic_268.jpg 3
-cartoon/giraffe/pic_269.jpg 3
-cartoon/giraffe/pic_270.jpg 3
-cartoon/giraffe/pic_272.jpg 3
-cartoon/giraffe/pic_271.jpg 3
-cartoon/giraffe/pic_275.jpg 3
-cartoon/giraffe/pic_274.jpg 3
-cartoon/giraffe/pic_273.jpg 3
-cartoon/giraffe/pic_276.jpg 3
-cartoon/giraffe/pic_279.jpg 3
-cartoon/giraffe/pic_277.jpg 3
-cartoon/giraffe/pic_278.jpg 3
-cartoon/giraffe/pic_280.jpg 3
-cartoon/giraffe/pic_063.jpg 3
-cartoon/giraffe/pic_068.jpg 3
-cartoon/giraffe/pic_080.jpg 3
-cartoon/giraffe/pic_082.jpg 3
-cartoon/giraffe/pic_079.jpg 3
-cartoon/giraffe/pic_077.jpg 3
-cartoon/giraffe/pic_078.jpg 3
-cartoon/giraffe/pic_074.jpg 3
-cartoon/giraffe/pic_075.jpg 3
-cartoon/giraffe/pic_073.jpg 3
-cartoon/giraffe/pic_072.jpg 3
-cartoon/giraffe/pic_071.jpg 3
-cartoon/giraffe/pic_069.jpg 3
-cartoon/giraffe/pic_083.jpg 3
-cartoon/giraffe/pic_084.jpg 3
-cartoon/giraffe/pic_076.jpg 3
-cartoon/giraffe/pic_089.jpg 3
-cartoon/giraffe/pic_088.jpg 3
-cartoon/giraffe/pic_194.jpg 3
-cartoon/giraffe/pic_193.jpg 3
-cartoon/giraffe/pic_195.jpg 3
-cartoon/giraffe/pic_196.jpg 3
-cartoon/giraffe/pic_197.jpg 3
-cartoon/giraffe/pic_198.jpg 3
-cartoon/giraffe/pic_199.jpg 3
-cartoon/giraffe/pic_200.jpg 3
-cartoon/giraffe/pic_201.jpg 3
-cartoon/giraffe/pic_202.jpg 3
-cartoon/giraffe/pic_203.jpg 3
-cartoon/giraffe/pic_204.jpg 3
-cartoon/giraffe/pic_205.jpg 3
-cartoon/giraffe/pic_206.jpg 3
-cartoon/giraffe/pic_209.jpg 3
-cartoon/giraffe/pic_208.jpg 3
-cartoon/giraffe/pic_210.jpg 3
-cartoon/giraffe/pic_212.jpg 3
-cartoon/giraffe/pic_211.jpg 3
-cartoon/giraffe/pic_216.jpg 3
-cartoon/giraffe/pic_102.jpg 3
-cartoon/giraffe/pic_105.jpg 3
-cartoon/giraffe/pic_121.jpg 3
-cartoon/giraffe/pic_124.jpg 3
-cartoon/giraffe/pic_122.jpg 3
-cartoon/giraffe/pic_119.jpg 3
-cartoon/giraffe/pic_118.jpg 3
-cartoon/giraffe/pic_117.jpg 3
-cartoon/giraffe/pic_115.jpg 3
-cartoon/giraffe/pic_116.jpg 3
-cartoon/giraffe/pic_114.jpg 3
-cartoon/giraffe/pic_112.jpg 3
-cartoon/giraffe/pic_111.jpg 3
-cartoon/giraffe/pic_123.jpg 3
-cartoon/giraffe/pic_113.jpg 3
-cartoon/giraffe/pic_120.jpg 3
-cartoon/giraffe/pic_127.jpg 3
-cartoon/giraffe/pic_126.jpg 3
-cartoon/giraffe/pic_125.jpg 3
-cartoon/giraffe/pic_129.jpg 3
-cartoon/giraffe/pic_128.jpg 3
-cartoon/giraffe/pic_001.jpg 3
-cartoon/giraffe/pic_002.jpg 3
-cartoon/giraffe/pic_003.jpg 3
-cartoon/giraffe/pic_004.jpg 3
-cartoon/giraffe/pic_215.jpg 3
-cartoon/giraffe/pic_214.jpg 3
-cartoon/giraffe/pic_213.jpg 3
-cartoon/giraffe/pic_218.jpg 3
-cartoon/giraffe/pic_219.jpg 3
-cartoon/giraffe/pic_217.jpg 3
-cartoon/giraffe/pic_220.jpg 3
-cartoon/giraffe/pic_221.jpg 3
-cartoon/giraffe/pic_222.jpg 3
-cartoon/giraffe/pic_224.jpg 3
-cartoon/giraffe/pic_225.jpg 3
-cartoon/giraffe/pic_226.jpg 3
-cartoon/giraffe/pic_227.jpg 3
-cartoon/giraffe/pic_228.jpg 3
-cartoon/giraffe/pic_229.jpg 3
-cartoon/giraffe/pic_230.jpg 3
-cartoon/giraffe/pic_231.jpg 3
-cartoon/giraffe/pic_232.jpg 3
-cartoon/giraffe/pic_344.jpg 3
-cartoon/giraffe/pic_345.jpg 3
-cartoon/giraffe/pic_342.jpg 3
-cartoon/giraffe/pic_334.jpg 3
-cartoon/giraffe/pic_335.jpg 3
-cartoon/giraffe/pic_327.jpg 3
-cartoon/giraffe/pic_330.jpg 3
-cartoon/giraffe/pic_333.jpg 3
-cartoon/giraffe/pic_328.jpg 3
-cartoon/giraffe/pic_331.jpg 3
-cartoon/giraffe/pic_326.jpg 3
-cartoon/giraffe/pic_324.jpg 3
-cartoon/giraffe/pic_323.jpg 3
-cartoon/giraffe/pic_347.jpg 3
-cartoon/giraffe/pic_341.jpg 3
-cartoon/giraffe/pic_336.jpg 3
-cartoon/giraffe/pic_339.jpg 3
-cartoon/giraffe/pic_337.jpg 3
-cartoon/giraffe/pic_304.jpg 3
-cartoon/giraffe/pic_302.jpg 3
-cartoon/giraffe/pic_297.jpg 3
-cartoon/giraffe/pic_295.jpg 3
-cartoon/giraffe/pic_299.jpg 3
-cartoon/giraffe/pic_316.jpg 3
-cartoon/giraffe/pic_312.jpg 3
-cartoon/giraffe/pic_318.jpg 3
-cartoon/giraffe/pic_319.jpg 3
-cartoon/giraffe/pic_308.jpg 3
-cartoon/giraffe/pic_310.jpg 3
-cartoon/giraffe/pic_309.jpg 3
-cartoon/giraffe/pic_301.jpg 3
-cartoon/giraffe/pic_311.jpg 3
-cartoon/giraffe/pic_322.jpg 3
-cartoon/giraffe/pic_321.jpg 3
-cartoon/giraffe/pic_300.jpg 3
-cartoon/giraffe/pic_317.jpg 3
-cartoon/giraffe/pic_340.jpg 3
-cartoon/giraffe/pic_242.jpg 3
-cartoon/giraffe/pic_241.jpg 3
-cartoon/giraffe/pic_243.jpg 3
-cartoon/giraffe/pic_244.jpg 3
-cartoon/giraffe/pic_245.jpg 3
-cartoon/giraffe/pic_246.jpg 3
-cartoon/giraffe/pic_247.jpg 3
-cartoon/giraffe/pic_249.jpg 3
-cartoon/giraffe/pic_248.jpg 3
-cartoon/giraffe/pic_251.jpg 3
-cartoon/giraffe/pic_252.jpg 3
-cartoon/giraffe/pic_253.jpg 3
-cartoon/giraffe/pic_254.jpg 3
-cartoon/giraffe/pic_256.jpg 3
-cartoon/giraffe/pic_257.jpg 3
-cartoon/giraffe/pic_259.jpg 3
-cartoon/giraffe/pic_260.jpg 3
-cartoon/giraffe/pic_261.jpg 3
-cartoon/guitar/pic_019.jpg 4
-cartoon/guitar/pic_022.jpg 4
-cartoon/guitar/pic_028.jpg 4
-cartoon/guitar/pic_025.jpg 4
-cartoon/guitar/pic_069.jpg 4
-cartoon/guitar/pic_067.jpg 4
-cartoon/guitar/pic_068.jpg 4
-cartoon/guitar/pic_063.jpg 4
-cartoon/guitar/pic_066.jpg 4
-cartoon/guitar/pic_064.jpg 4
-cartoon/guitar/pic_071.jpg 4
-cartoon/guitar/pic_070.jpg 4
-cartoon/guitar/pic_076.jpg 4
-cartoon/guitar/pic_074.jpg 4
-cartoon/guitar/pic_077.jpg 4
-cartoon/guitar/pic_075.jpg 4
-cartoon/guitar/pic_079.jpg 4
-cartoon/guitar/pic_078.jpg 4
-cartoon/guitar/pic_112.jpg 4
-cartoon/guitar/pic_135.jpg 4
-cartoon/guitar/pic_151.jpg 4
-cartoon/guitar/pic_133.jpg 4
-cartoon/guitar/pic_128.jpg 4
-cartoon/guitar/pic_122.jpg 4
-cartoon/guitar/pic_024.jpg 4
-cartoon/guitar/pic_023.jpg 4
-cartoon/guitar/pic_027.jpg 4
-cartoon/guitar/pic_034.jpg 4
-cartoon/guitar/pic_032.jpg 4
-cartoon/guitar/pic_031.jpg 4
-cartoon/guitar/pic_030.jpg 4
-cartoon/guitar/pic_029.jpg 4
-cartoon/guitar/pic_037.jpg 4
-cartoon/guitar/pic_036.jpg 4
-cartoon/guitar/pic_038.jpg 4
-cartoon/guitar/pic_040.jpg 4
-cartoon/guitar/pic_048.jpg 4
-cartoon/guitar/pic_045.jpg 4
-cartoon/guitar/pic_044.jpg 4
-cartoon/guitar/pic_043.jpg 4
-cartoon/guitar/pic_042.jpg 4
-cartoon/guitar/pic_021.jpg 4
-cartoon/guitar/pic_018.jpg 4
-cartoon/guitar/pic_039.jpg 4
-cartoon/guitar/pic_026.jpg 4
-cartoon/guitar/pic_104.jpg 4
-cartoon/guitar/pic_098.jpg 4
-cartoon/guitar/pic_146.jpg 4
-cartoon/guitar/pic_131.jpg 4
-cartoon/guitar/pic_106.jpg 4
-cartoon/guitar/pic_124.jpg 4
-cartoon/guitar/pic_137.jpg 4
-cartoon/guitar/pic_092.jpg 4
-cartoon/guitar/pic_096.jpg 4
-cartoon/guitar/pic_086.jpg 4
-cartoon/guitar/pic_145.jpg 4
-cartoon/guitar/pic_123.jpg 4
-cartoon/guitar/pic_111.jpg 4
-cartoon/guitar/pic_116.jpg 4
-cartoon/guitar/pic_150.jpg 4
-cartoon/guitar/pic_113.jpg 4
-cartoon/guitar/pic_107.jpg 4
-cartoon/guitar/pic_103.jpg 4
-cartoon/guitar/pic_097.jpg 4
-cartoon/guitar/pic_090.jpg 4
-cartoon/guitar/pic_088.jpg 4
-cartoon/guitar/pic_085.jpg 4
-cartoon/guitar/pic_083.jpg 4
-cartoon/guitar/pic_084.jpg 4
-cartoon/guitar/pic_082.jpg 4
-cartoon/guitar/pic_081.jpg 4
-cartoon/guitar/pic_080.jpg 4
-cartoon/guitar/pic_139.jpg 4
-cartoon/guitar/pic_140.jpg 4
-cartoon/guitar/pic_125.jpg 4
-cartoon/guitar/pic_117.jpg 4
-cartoon/guitar/pic_033.jpg 4
-cartoon/guitar/pic_035.jpg 4
-cartoon/guitar/pic_047.jpg 4
-cartoon/guitar/pic_046.jpg 4
-cartoon/guitar/pic_049.jpg 4
-cartoon/guitar/pic_052.jpg 4
-cartoon/guitar/pic_051.jpg 4
-cartoon/guitar/pic_053.jpg 4
-cartoon/guitar/pic_050.jpg 4
-cartoon/guitar/pic_054.jpg 4
-cartoon/guitar/pic_056.jpg 4
-cartoon/guitar/pic_055.jpg 4
-cartoon/guitar/pic_057.jpg 4
-cartoon/guitar/pic_060.jpg 4
-cartoon/guitar/pic_058.jpg 4
-cartoon/guitar/pic_059.jpg 4
-cartoon/guitar/pic_061.jpg 4
-cartoon/guitar/pic_065.jpg 4
-cartoon/guitar/pic_062.jpg 4
-cartoon/guitar/pic_073.jpg 4
-cartoon/guitar/pic_105.jpg 4
-cartoon/guitar/pic_136.jpg 4
-cartoon/guitar/pic_129.jpg 4
-cartoon/guitar/pic_110.jpg 4
-cartoon/guitar/pic_142.jpg 4
-cartoon/guitar/pic_089.jpg 4
-cartoon/guitar/pic_127.jpg 4
-cartoon/guitar/pic_148.jpg 4
-cartoon/guitar/pic_093.jpg 4
-cartoon/guitar/pic_100.jpg 4
-cartoon/guitar/pic_144.jpg 4
-cartoon/guitar/pic_149.jpg 4
-cartoon/guitar/pic_119.jpg 4
-cartoon/guitar/pic_121.jpg 4
-cartoon/guitar/pic_130.jpg 4
-cartoon/guitar/pic_094.jpg 4
-cartoon/guitar/pic_147.jpg 4
-cartoon/guitar/pic_099.jpg 4
-cartoon/guitar/pic_101.jpg 4
-cartoon/guitar/pic_132.jpg 4
-cartoon/guitar/pic_152.jpg 4
-cartoon/guitar/pic_134.jpg 4
-cartoon/guitar/pic_118.jpg 4
-cartoon/guitar/pic_001.jpg 4
-cartoon/guitar/pic_002.jpg 4
-cartoon/horse/pic_153.jpg 5
-cartoon/horse/pic_158.jpg 5
-cartoon/horse/pic_157.jpg 5
-cartoon/horse/pic_010.jpg 5
-cartoon/horse/pic_011.jpg 5
-cartoon/horse/pic_012.jpg 5
-cartoon/horse/pic_013.jpg 5
-cartoon/horse/pic_014.jpg 5
-cartoon/horse/pic_015.jpg 5
-cartoon/horse/pic_016.jpg 5
-cartoon/horse/pic_017.jpg 5
-cartoon/horse/pic_018.jpg 5
-cartoon/horse/pic_019.jpg 5
-cartoon/horse/pic_020.jpg 5
-cartoon/horse/pic_022.jpg 5
-cartoon/horse/pic_021.jpg 5
-cartoon/horse/pic_023.jpg 5
-cartoon/horse/pic_024.jpg 5
-cartoon/horse/pic_025.jpg 5
-cartoon/horse/pic_026.jpg 5
-cartoon/horse/pic_027.jpg 5
-cartoon/horse/pic_028.jpg 5
-cartoon/horse/pic_029.jpg 5
-cartoon/horse/pic_030.jpg 5
-cartoon/horse/pic_267.jpg 5
-cartoon/horse/pic_266.jpg 5
-cartoon/horse/pic_271.jpg 5
-cartoon/horse/pic_270.jpg 5
-cartoon/horse/pic_261.jpg 5
-cartoon/horse/pic_273.jpg 5
-cartoon/horse/pic_272.jpg 5
-cartoon/horse/pic_274.jpg 5
-cartoon/horse/pic_275.jpg 5
-cartoon/horse/pic_277.jpg 5
-cartoon/horse/pic_276.jpg 5
-cartoon/horse/pic_278.jpg 5
-cartoon/horse/pic_279.jpg 5
-cartoon/horse/pic_283.jpg 5
-cartoon/horse/pic_284.jpg 5
-cartoon/horse/pic_287.jpg 5
-cartoon/horse/pic_286.jpg 5
-cartoon/horse/pic_288.jpg 5
-cartoon/horse/pic_289.jpg 5
-cartoon/horse/pic_062.jpg 5
-cartoon/horse/pic_067.jpg 5
-cartoon/horse/pic_064.jpg 5
-cartoon/horse/pic_059.jpg 5
-cartoon/horse/pic_057.jpg 5
-cartoon/horse/pic_056.jpg 5
-cartoon/horse/pic_031.jpg 5
-cartoon/horse/pic_032.jpg 5
-cartoon/horse/pic_033.jpg 5
-cartoon/horse/pic_307.jpg 5
-cartoon/horse/pic_309.jpg 5
-cartoon/horse/pic_299.jpg 5
-cartoon/horse/pic_311.jpg 5
-cartoon/horse/pic_312.jpg 5
-cartoon/horse/pic_313.jpg 5
-cartoon/horse/pic_314.jpg 5
-cartoon/horse/pic_315.jpg 5
-cartoon/horse/pic_316.jpg 5
-cartoon/horse/pic_319.jpg 5
-cartoon/horse/pic_310.jpg 5
-cartoon/horse/pic_323.jpg 5
-cartoon/horse/pic_322.jpg 5
-cartoon/horse/pic_320.jpg 5
-cartoon/horse/pic_328.jpg 5
-cartoon/horse/pic_327.jpg 5
-cartoon/horse/pic_330.jpg 5
-cartoon/horse/pic_089.jpg 5
-cartoon/horse/pic_118.jpg 5
-cartoon/horse/pic_114.jpg 5
-cartoon/horse/pic_113.jpg 5
-cartoon/horse/pic_112.jpg 5
-cartoon/horse/pic_103.jpg 5
-cartoon/horse/pic_105.jpg 5
-cartoon/horse/pic_104.jpg 5
-cartoon/horse/pic_100.jpg 5
-cartoon/horse/pic_101.jpg 5
-cartoon/horse/pic_119.jpg 5
-cartoon/horse/pic_115.jpg 5
-cartoon/horse/pic_110.jpg 5
-cartoon/horse/pic_126.jpg 5
-cartoon/horse/pic_106.jpg 5
-cartoon/horse/pic_120.jpg 5
-cartoon/horse/pic_054.jpg 5
-cartoon/horse/pic_055.jpg 5
-cartoon/horse/pic_053.jpg 5
-cartoon/horse/pic_052.jpg 5
-cartoon/horse/pic_051.jpg 5
-cartoon/horse/pic_050.jpg 5
-cartoon/horse/pic_049.jpg 5
-cartoon/horse/pic_076.jpg 5
-cartoon/horse/pic_066.jpg 5
-cartoon/horse/pic_081.jpg 5
-cartoon/horse/pic_079.jpg 5
-cartoon/horse/pic_060.jpg 5
-cartoon/horse/pic_058.jpg 5
-cartoon/horse/pic_069.jpg 5
-cartoon/horse/pic_074.jpg 5
-cartoon/horse/pic_065.jpg 5
-cartoon/horse/pic_075.jpg 5
-cartoon/horse/pic_078.jpg 5
-cartoon/horse/pic_070.jpg 5
-cartoon/horse/pic_072.jpg 5
-cartoon/horse/pic_291.jpg 5
-cartoon/horse/pic_282.jpg 5
-cartoon/horse/pic_293.jpg 5
-cartoon/horse/pic_294.jpg 5
-cartoon/horse/pic_295.jpg 5
-cartoon/horse/pic_297.jpg 5
-cartoon/horse/pic_268.jpg 5
-cartoon/horse/pic_296.jpg 5
-cartoon/horse/pic_298.jpg 5
-cartoon/horse/pic_300.jpg 5
-cartoon/horse/pic_302.jpg 5
-cartoon/horse/pic_280.jpg 5
-cartoon/horse/pic_304.jpg 5
-cartoon/horse/pic_303.jpg 5
-cartoon/horse/pic_305.jpg 5
-cartoon/horse/pic_308.jpg 5
-cartoon/horse/pic_183.jpg 5
-cartoon/horse/pic_184.jpg 5
-cartoon/horse/pic_185.jpg 5
-cartoon/horse/pic_188.jpg 5
-cartoon/horse/pic_186.jpg 5
-cartoon/horse/pic_187.jpg 5
-cartoon/horse/pic_189.jpg 5
-cartoon/horse/pic_178.jpg 5
-cartoon/horse/pic_191.jpg 5
-cartoon/horse/pic_193.jpg 5
-cartoon/horse/pic_190.jpg 5
-cartoon/horse/pic_200.jpg 5
-cartoon/horse/pic_196.jpg 5
-cartoon/horse/pic_195.jpg 5
-cartoon/horse/pic_201.jpg 5
-cartoon/horse/pic_198.jpg 5
-cartoon/horse/pic_204.jpg 5
-cartoon/horse/pic_245.jpg 5
-cartoon/horse/pic_250.jpg 5
-cartoon/horse/pic_252.jpg 5
-cartoon/horse/pic_255.jpg 5
-cartoon/horse/pic_254.jpg 5
-cartoon/horse/pic_235.jpg 5
-cartoon/horse/pic_256.jpg 5
-cartoon/horse/pic_258.jpg 5
-cartoon/horse/pic_257.jpg 5
-cartoon/horse/pic_253.jpg 5
-cartoon/horse/pic_240.jpg 5
-cartoon/horse/pic_243.jpg 5
-cartoon/horse/pic_260.jpg 5
-cartoon/horse/pic_246.jpg 5
-cartoon/horse/pic_262.jpg 5
-cartoon/horse/pic_251.jpg 5
-cartoon/horse/pic_264.jpg 5
-cartoon/horse/pic_263.jpg 5
-cartoon/horse/pic_265.jpg 5
-cartoon/horse/pic_259.jpg 5
-cartoon/horse/pic_269.jpg 5
-cartoon/horse/pic_001.jpg 5
-cartoon/horse/pic_002.jpg 5
-cartoon/horse/pic_003.jpg 5
-cartoon/horse/pic_004.jpg 5
-cartoon/horse/pic_005.jpg 5
-cartoon/horse/pic_006.jpg 5
-cartoon/horse/pic_007.jpg 5
-cartoon/horse/pic_008.jpg 5
-cartoon/horse/pic_009.jpg 5
-cartoon/horse/pic_116.jpg 5
-cartoon/horse/pic_108.jpg 5
-cartoon/horse/pic_111.jpg 5
-cartoon/horse/pic_128.jpg 5
-cartoon/horse/pic_124.jpg 5
-cartoon/horse/pic_130.jpg 5
-cartoon/horse/pic_131.jpg 5
-cartoon/horse/pic_129.jpg 5
-cartoon/horse/pic_125.jpg 5
-cartoon/horse/pic_121.jpg 5
-cartoon/horse/pic_127.jpg 5
-cartoon/horse/pic_123.jpg 5
-cartoon/horse/pic_143.jpg 5
-cartoon/horse/pic_135.jpg 5
-cartoon/horse/pic_134.jpg 5
-cartoon/horse/pic_140.jpg 5
-cartoon/horse/pic_145.jpg 5
-cartoon/horse/pic_146.jpg 5
-cartoon/horse/pic_142.jpg 5
-cartoon/horse/pic_137.jpg 5
-cartoon/horse/pic_350.jpg 5
-cartoon/horse/pic_351.jpg 5
-cartoon/horse/pic_352.jpg 5
-cartoon/horse/pic_353.jpg 5
-cartoon/horse/pic_354.jpg 5
-cartoon/horse/pic_355.jpg 5
-cartoon/horse/pic_345.jpg 5
-cartoon/horse/pic_357.jpg 5
-cartoon/horse/pic_359.jpg 5
-cartoon/horse/pic_358.jpg 5
-cartoon/horse/pic_361.jpg 5
-cartoon/horse/pic_362.jpg 5
-cartoon/horse/pic_364.jpg 5
-cartoon/horse/pic_356.jpg 5
-cartoon/horse/pic_363.jpg 5
-cartoon/horse/pic_160.jpg 5
-cartoon/horse/pic_173.jpg 5
-cartoon/horse/pic_172.jpg 5
-cartoon/horse/pic_169.jpg 5
-cartoon/horse/pic_167.jpg 5
-cartoon/horse/pic_166.jpg 5
-cartoon/horse/pic_164.jpg 5
-cartoon/horse/pic_163.jpg 5
-cartoon/horse/pic_152.jpg 5
-cartoon/horse/pic_174.jpg 5
-cartoon/horse/pic_171.jpg 5
-cartoon/horse/pic_177.jpg 5
-cartoon/horse/pic_176.jpg 5
-cartoon/horse/pic_181.jpg 5
-cartoon/horse/pic_180.jpg 5
-cartoon/horse/pic_179.jpg 5
-cartoon/horse/pic_084.jpg 5
-cartoon/horse/pic_083.jpg 5
-cartoon/horse/pic_071.jpg 5
-cartoon/horse/pic_096.jpg 5
-cartoon/horse/pic_094.jpg 5
-cartoon/horse/pic_098.jpg 5
-cartoon/horse/pic_095.jpg 5
-cartoon/horse/pic_093.jpg 5
-cartoon/horse/pic_092.jpg 5
-cartoon/horse/pic_091.jpg 5
-cartoon/horse/pic_090.jpg 5
-cartoon/horse/pic_088.jpg 5
-cartoon/horse/pic_086.jpg 5
-cartoon/horse/pic_097.jpg 5
-cartoon/horse/pic_087.jpg 5
-cartoon/horse/pic_203.jpg 5
-cartoon/horse/pic_205.jpg 5
-cartoon/horse/pic_209.jpg 5
-cartoon/horse/pic_212.jpg 5
-cartoon/horse/pic_213.jpg 5
-cartoon/horse/pic_192.jpg 5
-cartoon/horse/pic_211.jpg 5
-cartoon/horse/pic_214.jpg 5
-cartoon/horse/pic_218.jpg 5
-cartoon/horse/pic_215.jpg 5
-cartoon/horse/pic_217.jpg 5
-cartoon/horse/pic_220.jpg 5
-cartoon/horse/pic_219.jpg 5
-cartoon/horse/pic_221.jpg 5
-cartoon/horse/pic_223.jpg 5
-cartoon/horse/pic_224.jpg 5
-cartoon/horse/pic_208.jpg 5
-cartoon/horse/pic_035.jpg 5
-cartoon/horse/pic_034.jpg 5
-cartoon/horse/pic_037.jpg 5
-cartoon/horse/pic_036.jpg 5
-cartoon/horse/pic_044.jpg 5
-cartoon/horse/pic_047.jpg 5
-cartoon/horse/pic_045.jpg 5
-cartoon/horse/pic_043.jpg 5
-cartoon/horse/pic_042.jpg 5
-cartoon/horse/pic_040.jpg 5
-cartoon/horse/pic_041.jpg 5
-cartoon/horse/pic_038.jpg 5
-cartoon/horse/pic_039.jpg 5
-cartoon/horse/pic_048.jpg 5
-cartoon/horse/pic_046.jpg 5
-cartoon/horse/pic_061.jpg 5
-cartoon/horse/pic_073.jpg 5
-cartoon/horse/pic_077.jpg 5
-cartoon/horse/pic_080.jpg 5
-cartoon/horse/pic_082.jpg 5
-cartoon/horse/pic_225.jpg 5
-cartoon/horse/pic_228.jpg 5
-cartoon/horse/pic_207.jpg 5
-cartoon/horse/pic_227.jpg 5
-cartoon/horse/pic_226.jpg 5
-cartoon/horse/pic_231.jpg 5
-cartoon/horse/pic_232.jpg 5
-cartoon/horse/pic_234.jpg 5
-cartoon/horse/pic_236.jpg 5
-cartoon/horse/pic_237.jpg 5
-cartoon/horse/pic_239.jpg 5
-cartoon/horse/pic_238.jpg 5
-cartoon/horse/pic_229.jpg 5
-cartoon/horse/pic_241.jpg 5
-cartoon/horse/pic_242.jpg 5
-cartoon/horse/pic_244.jpg 5
-cartoon/horse/pic_233.jpg 5
-cartoon/horse/pic_249.jpg 5
-cartoon/horse/pic_248.jpg 5
-cartoon/horse/pic_247.jpg 5
-cartoon/house/pic_071.jpg 6
-cartoon/house/pic_072.jpg 6
-cartoon/house/pic_074.jpg 6
-cartoon/house/pic_077.jpg 6
-cartoon/house/pic_081.jpg 6
-cartoon/house/pic_088.jpg 6
-cartoon/house/pic_082.jpg 6
-cartoon/house/pic_080.jpg 6
-cartoon/house/pic_090.jpg 6
-cartoon/house/pic_100.jpg 6
-cartoon/house/pic_084.jpg 6
-cartoon/house/pic_085.jpg 6
-cartoon/house/pic_083.jpg 6
-cartoon/house/pic_087.jpg 6
-cartoon/house/pic_094.jpg 6
-cartoon/house/pic_157.jpg 6
-cartoon/house/pic_169.jpg 6
-cartoon/house/pic_172.jpg 6
-cartoon/house/pic_173.jpg 6
-cartoon/house/pic_171.jpg 6
-cartoon/house/pic_176.jpg 6
-cartoon/house/pic_180.jpg 6
-cartoon/house/pic_182.jpg 6
-cartoon/house/pic_185.jpg 6
-cartoon/house/pic_184.jpg 6
-cartoon/house/pic_187.jpg 6
-cartoon/house/pic_188.jpg 6
-cartoon/house/pic_189.jpg 6
-cartoon/house/pic_191.jpg 6
-cartoon/house/pic_174.jpg 6
-cartoon/house/pic_179.jpg 6
-cartoon/house/pic_237.jpg 6
-cartoon/house/pic_258.jpg 6
-cartoon/house/pic_260.jpg 6
-cartoon/house/pic_242.jpg 6
-cartoon/house/pic_262.jpg 6
-cartoon/house/pic_263.jpg 6
-cartoon/house/pic_249.jpg 6
-cartoon/house/pic_253.jpg 6
-cartoon/house/pic_257.jpg 6
-cartoon/house/pic_265.jpg 6
-cartoon/house/pic_267.jpg 6
-cartoon/house/pic_268.jpg 6
-cartoon/house/pic_269.jpg 6
-cartoon/house/pic_272.jpg 6
-cartoon/house/pic_264.jpg 6
-cartoon/house/pic_274.jpg 6
-cartoon/house/pic_270.jpg 6
-cartoon/house/pic_177.jpg 6
-cartoon/house/pic_192.jpg 6
-cartoon/house/pic_193.jpg 6
-cartoon/house/pic_178.jpg 6
-cartoon/house/pic_181.jpg 6
-cartoon/house/pic_194.jpg 6
-cartoon/house/pic_196.jpg 6
-cartoon/house/pic_197.jpg 6
-cartoon/house/pic_198.jpg 6
-cartoon/house/pic_199.jpg 6
-cartoon/house/pic_200.jpg 6
-cartoon/house/pic_201.jpg 6
-cartoon/house/pic_202.jpg 6
-cartoon/house/pic_203.jpg 6
-cartoon/house/pic_205.jpg 6
-cartoon/house/pic_195.jpg 6
-cartoon/house/pic_207.jpg 6
-cartoon/house/pic_206.jpg 6
-cartoon/house/pic_204.jpg 6
-cartoon/house/pic_209.jpg 6
-cartoon/house/pic_234.jpg 6
-cartoon/house/pic_239.jpg 6
-cartoon/house/pic_241.jpg 6
-cartoon/house/pic_240.jpg 6
-cartoon/house/pic_224.jpg 6
-cartoon/house/pic_243.jpg 6
-cartoon/house/pic_246.jpg 6
-cartoon/house/pic_245.jpg 6
-cartoon/house/pic_244.jpg 6
-cartoon/house/pic_250.jpg 6
-cartoon/house/pic_230.jpg 6
-cartoon/house/pic_238.jpg 6
-cartoon/house/pic_252.jpg 6
-cartoon/house/pic_254.jpg 6
-cartoon/house/pic_255.jpg 6
-cartoon/house/pic_256.jpg 6
-cartoon/house/pic_008.jpg 6
-cartoon/house/pic_009.jpg 6
-cartoon/house/pic_010.jpg 6
-cartoon/house/pic_011.jpg 6
-cartoon/house/pic_012.jpg 6
-cartoon/house/pic_013.jpg 6
-cartoon/house/pic_014.jpg 6
-cartoon/house/pic_016.jpg 6
-cartoon/house/pic_017.jpg 6
-cartoon/house/pic_020.jpg 6
-cartoon/house/pic_022.jpg 6
-cartoon/house/pic_026.jpg 6
-cartoon/house/pic_024.jpg 6
-cartoon/house/pic_027.jpg 6
-cartoon/house/pic_028.jpg 6
-cartoon/house/pic_032.jpg 6
-cartoon/house/pic_029.jpg 6
-cartoon/house/pic_001.jpg 6
-cartoon/house/pic_002.jpg 6
-cartoon/house/pic_003.jpg 6
-cartoon/house/pic_004.jpg 6
-cartoon/house/pic_005.jpg 6
-cartoon/house/pic_006.jpg 6
-cartoon/house/pic_007.jpg 6
-cartoon/house/pic_158.jpg 6
-cartoon/house/pic_160.jpg 6
-cartoon/house/pic_161.jpg 6
-cartoon/house/pic_162.jpg 6
-cartoon/house/pic_151.jpg 6
-cartoon/house/pic_164.jpg 6
-cartoon/house/pic_165.jpg 6
-cartoon/house/pic_156.jpg 6
-cartoon/house/pic_166.jpg 6
-cartoon/house/pic_167.jpg 6
-cartoon/house/pic_168.jpg 6
-cartoon/house/pic_163.jpg 6
-cartoon/house/pic_318.jpg 6
-cartoon/house/pic_331.jpg 6
-cartoon/house/pic_333.jpg 6
-cartoon/house/pic_334.jpg 6
-cartoon/house/pic_337.jpg 6
-cartoon/house/pic_335.jpg 6
-cartoon/house/pic_338.jpg 6
-cartoon/house/pic_341.jpg 6
-cartoon/house/pic_343.jpg 6
-cartoon/house/pic_344.jpg 6
-cartoon/house/pic_330.jpg 6
-cartoon/house/pic_346.jpg 6
-cartoon/house/pic_348.jpg 6
-cartoon/house/pic_340.jpg 6
-cartoon/house/pic_349.jpg 6
-cartoon/house/pic_347.jpg 6
-cartoon/house/pic_336.jpg 6
-cartoon/house/pic_355.jpg 6
-cartoon/house/pic_356.jpg 6
-cartoon/house/pic_357.jpg 6
-cartoon/house/pic_358.jpg 6
-cartoon/house/pic_360.jpg 6
-cartoon/house/pic_345.jpg 6
-cartoon/house/pic_354.jpg 6
-cartoon/house/pic_353.jpg 6
-cartoon/house/pic_359.jpg 6
-cartoon/house/pic_212.jpg 6
-cartoon/house/pic_211.jpg 6
-cartoon/house/pic_221.jpg 6
-cartoon/house/pic_219.jpg 6
-cartoon/house/pic_218.jpg 6
-cartoon/house/pic_215.jpg 6
-cartoon/house/pic_217.jpg 6
-cartoon/house/pic_220.jpg 6
-cartoon/house/pic_222.jpg 6
-cartoon/house/pic_223.jpg 6
-cartoon/house/pic_216.jpg 6
-cartoon/house/pic_208.jpg 6
-cartoon/house/pic_225.jpg 6
-cartoon/house/pic_226.jpg 6
-cartoon/house/pic_214.jpg 6
-cartoon/house/pic_231.jpg 6
-cartoon/house/pic_233.jpg 6
-cartoon/house/pic_228.jpg 6
-cartoon/house/pic_235.jpg 6
-cartoon/house/pic_273.jpg 6
-cartoon/house/pic_279.jpg 6
-cartoon/house/pic_278.jpg 6
-cartoon/house/pic_283.jpg 6
-cartoon/house/pic_280.jpg 6
-cartoon/house/pic_266.jpg 6
-cartoon/house/pic_281.jpg 6
-cartoon/house/pic_286.jpg 6
-cartoon/house/pic_276.jpg 6
-cartoon/house/pic_277.jpg 6
-cartoon/house/pic_288.jpg 6
-cartoon/house/pic_289.jpg 6
-cartoon/house/pic_282.jpg 6
-cartoon/house/pic_290.jpg 6
-cartoon/house/pic_292.jpg 6
-cartoon/house/pic_285.jpg 6
-cartoon/house/pic_295.jpg 6
-cartoon/house/pic_047.jpg 6
-cartoon/house/pic_049.jpg 6
-cartoon/house/pic_048.jpg 6
-cartoon/house/pic_050.jpg 6
-cartoon/house/pic_053.jpg 6
-cartoon/house/pic_056.jpg 6
-cartoon/house/pic_054.jpg 6
-cartoon/house/pic_059.jpg 6
-cartoon/house/pic_057.jpg 6
-cartoon/house/pic_067.jpg 6
-cartoon/house/pic_062.jpg 6
-cartoon/house/pic_060.jpg 6
-cartoon/house/pic_063.jpg 6
-cartoon/house/pic_066.jpg 6
-cartoon/house/pic_064.jpg 6
-cartoon/house/pic_065.jpg 6
-cartoon/house/pic_284.jpg 6
-cartoon/house/pic_297.jpg 6
-cartoon/house/pic_296.jpg 6
-cartoon/house/pic_298.jpg 6
-cartoon/house/pic_301.jpg 6
-cartoon/house/pic_302.jpg 6
-cartoon/house/pic_304.jpg 6
-cartoon/house/pic_305.jpg 6
-cartoon/house/pic_306.jpg 6
-cartoon/house/pic_291.jpg 6
-cartoon/house/pic_309.jpg 6
-cartoon/house/pic_308.jpg 6
-cartoon/house/pic_310.jpg 6
-cartoon/house/pic_299.jpg 6
-cartoon/house/pic_300.jpg 6
-cartoon/house/pic_303.jpg 6
-cartoon/house/pic_316.jpg 6
-cartoon/house/pic_317.jpg 6
-cartoon/house/pic_319.jpg 6
-cartoon/house/pic_039.jpg 6
-cartoon/house/pic_030.jpg 6
-cartoon/house/pic_034.jpg 6
-cartoon/house/pic_031.jpg 6
-cartoon/house/pic_038.jpg 6
-cartoon/house/pic_025.jpg 6
-cartoon/house/pic_051.jpg 6
-cartoon/house/pic_036.jpg 6
-cartoon/house/pic_041.jpg 6
-cartoon/house/pic_023.jpg 6
-cartoon/house/pic_046.jpg 6
-cartoon/house/pic_052.jpg 6
-cartoon/house/pic_040.jpg 6
-cartoon/house/pic_045.jpg 6
-cartoon/house/pic_044.jpg 6
-cartoon/house/pic_043.jpg 6
-cartoon/house/pic_042.jpg 6
-cartoon/house/pic_138.jpg 6
-cartoon/house/pic_140.jpg 6
-cartoon/house/pic_130.jpg 6
-cartoon/house/pic_143.jpg 6
-cartoon/house/pic_145.jpg 6
-cartoon/house/pic_146.jpg 6
-cartoon/house/pic_148.jpg 6
-cartoon/house/pic_147.jpg 6
-cartoon/house/pic_149.jpg 6
-cartoon/house/pic_152.jpg 6
-cartoon/house/pic_139.jpg 6
-cartoon/house/pic_153.jpg 6
-cartoon/house/pic_113.jpg 6
-cartoon/house/pic_116.jpg 6
-cartoon/house/pic_110.jpg 6
-cartoon/house/pic_122.jpg 6
-cartoon/house/pic_121.jpg 6
-cartoon/house/pic_120.jpg 6
-cartoon/house/pic_119.jpg 6
-cartoon/house/pic_118.jpg 6
-cartoon/house/pic_126.jpg 6
-cartoon/house/pic_123.jpg 6
-cartoon/house/pic_131.jpg 6
-cartoon/house/pic_132.jpg 6
-cartoon/house/pic_134.jpg 6
-cartoon/person/pic_074.jpg 7
-cartoon/person/pic_072.jpg 7
-cartoon/person/pic_077.jpg 7
-cartoon/person/pic_094.jpg 7
-cartoon/person/pic_123.jpg 7
-cartoon/person/pic_110.jpg 7
-cartoon/person/pic_109.jpg 7
-cartoon/person/pic_100.jpg 7
-cartoon/person/pic_095.jpg 7
-cartoon/person/pic_087.jpg 7
-cartoon/person/pic_089.jpg 7
-cartoon/person/pic_365.jpg 7
-cartoon/person/pic_373.jpg 7
-cartoon/person/pic_381.jpg 7
-cartoon/person/pic_379.jpg 7
-cartoon/person/pic_370.jpg 7
-cartoon/person/pic_374.jpg 7
-cartoon/person/pic_377.jpg 7
-cartoon/person/pic_380.jpg 7
-cartoon/person/pic_393.jpg 7
-cartoon/person/pic_392.jpg 7
-cartoon/person/pic_391.jpg 7
-cartoon/person/pic_389.jpg 7
-cartoon/person/pic_390.jpg 7
-cartoon/person/pic_387.jpg 7
-cartoon/person/pic_386.jpg 7
-cartoon/person/pic_385.jpg 7
-cartoon/person/pic_384.jpg 7
-cartoon/person/pic_383.jpg 7
-cartoon/person/pic_382.jpg 7
-cartoon/person/pic_001.jpg 7
-cartoon/person/pic_002.jpg 7
-cartoon/person/pic_003.jpg 7
-cartoon/person/pic_004.jpg 7
-cartoon/person/pic_085.jpg 7
-cartoon/person/pic_084.jpg 7
-cartoon/person/pic_083.jpg 7
-cartoon/person/pic_082.jpg 7
-cartoon/person/pic_081.jpg 7
-cartoon/person/pic_079.jpg 7
-cartoon/person/pic_078.jpg 7
-cartoon/person/pic_121.jpg 7
-cartoon/person/pic_117.jpg 7
-cartoon/person/pic_120.jpg 7
-cartoon/person/pic_105.jpg 7
-cartoon/person/pic_027.jpg 7
-cartoon/person/pic_025.jpg 7
-cartoon/person/pic_026.jpg 7
-cartoon/person/pic_022.jpg 7
-cartoon/person/pic_019.jpg 7
-cartoon/person/pic_030.jpg 7
-cartoon/person/pic_037.jpg 7
-cartoon/person/pic_036.jpg 7
-cartoon/person/pic_035.jpg 7
-cartoon/person/pic_032.jpg 7
-cartoon/person/pic_033.jpg 7
-cartoon/person/pic_031.jpg 7
-cartoon/person/pic_034.jpg 7
-cartoon/person/pic_038.jpg 7
-cartoon/person/pic_039.jpg 7
-cartoon/person/pic_040.jpg 7
-cartoon/person/pic_042.jpg 7
-cartoon/person/pic_043.jpg 7
-cartoon/person/pic_041.jpg 7
-cartoon/person/pic_049.jpg 7
-cartoon/person/pic_048.jpg 7
-cartoon/person/pic_415.jpg 7
-cartoon/person/pic_427.jpg 7
-cartoon/person/pic_429.jpg 7
-cartoon/person/pic_420.jpg 7
-cartoon/person/pic_423.jpg 7
-cartoon/person/pic_438.jpg 7
-cartoon/person/pic_434.jpg 7
-cartoon/person/pic_436.jpg 7
-cartoon/person/pic_432.jpg 7
-cartoon/person/pic_433.jpg 7
-cartoon/person/pic_431.jpg 7
-cartoon/person/pic_430.jpg 7
-cartoon/person/pic_439.jpg 7
-cartoon/person/pic_435.jpg 7
-cartoon/person/pic_445.jpg 7
-cartoon/person/pic_444.jpg 7
-cartoon/person/pic_441.jpg 7
-cartoon/person/pic_442.jpg 7
-cartoon/person/pic_443.jpg 7
-cartoon/person/pic_440.jpg 7
-cartoon/person/pic_005.jpg 7
-cartoon/person/pic_007.jpg 7
-cartoon/person/pic_008.jpg 7
-cartoon/person/pic_009.jpg 7
-cartoon/person/pic_010.jpg 7
-cartoon/person/pic_011.jpg 7
-cartoon/person/pic_012.jpg 7
-cartoon/person/pic_013.jpg 7
-cartoon/person/pic_014.jpg 7
-cartoon/person/pic_015.jpg 7
-cartoon/person/pic_021.jpg 7
-cartoon/person/pic_024.jpg 7
-cartoon/person/pic_023.jpg 7
-cartoon/person/pic_020.jpg 7
-cartoon/person/pic_018.jpg 7
-cartoon/person/pic_016.jpg 7
-cartoon/person/pic_017.jpg 7
-cartoon/person/pic_029.jpg 7
-cartoon/person/pic_028.jpg 7
-cartoon/person/pic_165.jpg 7
-cartoon/person/pic_164.jpg 7
-cartoon/person/pic_162.jpg 7
-cartoon/person/pic_158.jpg 7
-cartoon/person/pic_160.jpg 7
-cartoon/person/pic_172.jpg 7
-cartoon/person/pic_173.jpg 7
-cartoon/person/pic_170.jpg 7
-cartoon/person/pic_174.jpg 7
-cartoon/person/pic_161.jpg 7
-cartoon/person/pic_163.jpg 7
-cartoon/person/pic_175.jpg 7
-cartoon/person/pic_177.jpg 7
-cartoon/person/pic_180.jpg 7
-cartoon/person/pic_179.jpg 7
-cartoon/person/pic_181.jpg 7
-cartoon/person/pic_184.jpg 7
-cartoon/person/pic_185.jpg 7
-cartoon/person/pic_127.jpg 7
-cartoon/person/pic_113.jpg 7
-cartoon/person/pic_106.jpg 7
-cartoon/person/pic_129.jpg 7
-cartoon/person/pic_119.jpg 7
-cartoon/person/pic_125.jpg 7
-cartoon/person/pic_124.jpg 7
-cartoon/person/pic_147.jpg 7
-cartoon/person/pic_141.jpg 7
-cartoon/person/pic_140.jpg 7
-cartoon/person/pic_136.jpg 7
-cartoon/person/pic_137.jpg 7
-cartoon/person/pic_135.jpg 7
-cartoon/person/pic_133.jpg 7
-cartoon/person/pic_134.jpg 7
-cartoon/person/pic_132.jpg 7
-cartoon/person/pic_131.jpg 7
-cartoon/person/pic_146.jpg 7
-cartoon/person/pic_388.jpg 7
-cartoon/person/pic_400.jpg 7
-cartoon/person/pic_399.jpg 7
-cartoon/person/pic_402.jpg 7
-cartoon/person/pic_401.jpg 7
-cartoon/person/pic_394.jpg 7
-cartoon/person/pic_396.jpg 7
-cartoon/person/pic_395.jpg 7
-cartoon/person/pic_397.jpg 7
-cartoon/person/pic_398.jpg 7
-cartoon/person/pic_408.jpg 7
-cartoon/person/pic_403.jpg 7
-cartoon/person/pic_206.jpg 7
-cartoon/person/pic_209.jpg 7
-cartoon/person/pic_208.jpg 7
-cartoon/person/pic_207.jpg 7
-cartoon/person/pic_204.jpg 7
-cartoon/person/pic_216.jpg 7
-cartoon/person/pic_212.jpg 7
-cartoon/person/pic_210.jpg 7
-cartoon/person/pic_218.jpg 7
-cartoon/person/pic_221.jpg 7
-cartoon/person/pic_220.jpg 7
-cartoon/person/pic_222.jpg 7
-cartoon/person/pic_224.jpg 7
-cartoon/person/pic_225.jpg 7
-cartoon/person/pic_219.jpg 7
-cartoon/person/pic_226.jpg 7
-cartoon/person/pic_227.jpg 7
-cartoon/person/pic_451.jpg 7
-cartoon/person/pic_449.jpg 7
-cartoon/person/pic_450.jpg 7
-cartoon/person/pic_447.jpg 7
-cartoon/person/pic_448.jpg 7
-cartoon/person/pic_446.jpg 7
-cartoon/person/pic_453.jpg 7
-cartoon/person/pic_454.jpg 7
-cartoon/person/pic_452.jpg 7
-cartoon/person/pic_456.jpg 7
-cartoon/person/pic_458.jpg 7
-cartoon/person/pic_455.jpg 7
-cartoon/person/pic_457.jpg 7
-cartoon/person/pic_329.jpg 7
-cartoon/person/pic_330.jpg 7
-cartoon/person/pic_326.jpg 7
-cartoon/person/pic_327.jpg 7
-cartoon/person/pic_325.jpg 7
-cartoon/person/pic_328.jpg 7
-cartoon/person/pic_336.jpg 7
-cartoon/person/pic_338.jpg 7
-cartoon/person/pic_337.jpg 7
-cartoon/person/pic_340.jpg 7
-cartoon/person/pic_339.jpg 7
-cartoon/person/pic_342.jpg 7
-cartoon/person/pic_341.jpg 7
-cartoon/person/pic_343.jpg 7
-cartoon/person/pic_344.jpg 7
-cartoon/person/pic_347.jpg 7
-cartoon/person/pic_348.jpg 7
-cartoon/person/pic_350.jpg 7
-cartoon/person/pic_352.jpg 7
-cartoon/person/pic_047.jpg 7
-cartoon/person/pic_044.jpg 7
-cartoon/person/pic_045.jpg 7
-cartoon/person/pic_046.jpg 7
-cartoon/person/pic_052.jpg 7
-cartoon/person/pic_050.jpg 7
-cartoon/person/pic_053.jpg 7
-cartoon/person/pic_051.jpg 7
-cartoon/person/pic_067.jpg 7
-cartoon/person/pic_064.jpg 7
-cartoon/person/pic_063.jpg 7
-cartoon/person/pic_065.jpg 7
-cartoon/person/pic_060.jpg 7
-cartoon/person/pic_061.jpg 7
-cartoon/person/pic_059.jpg 7
-cartoon/person/pic_062.jpg 7
-cartoon/person/pic_055.jpg 7
-cartoon/person/pic_058.jpg 7
-cartoon/person/pic_054.jpg 7
-cartoon/person/pic_057.jpg 7
-cartoon/person/pic_093.jpg 7
-cartoon/person/pic_103.jpg 7
-cartoon/person/pic_104.jpg 7
-cartoon/person/pic_092.jpg 7
-cartoon/person/pic_090.jpg 7
-cartoon/person/pic_097.jpg 7
-cartoon/person/pic_080.jpg 7
-cartoon/person/pic_091.jpg 7
-cartoon/person/pic_122.jpg 7
-cartoon/person/pic_126.jpg 7
-cartoon/person/pic_112.jpg 7
-cartoon/person/pic_111.jpg 7
-cartoon/person/pic_101.jpg 7
-cartoon/person/pic_096.jpg 7
-cartoon/person/pic_130.jpg 7
-cartoon/person/pic_098.jpg 7
-cartoon/person/pic_102.jpg 7
-cartoon/person/pic_108.jpg 7
-cartoon/person/pic_114.jpg 7
-cartoon/person/pic_183.jpg 7
-cartoon/person/pic_186.jpg 7
-cartoon/person/pic_194.jpg 7
-cartoon/person/pic_188.jpg 7
-cartoon/person/pic_190.jpg 7
-cartoon/person/pic_193.jpg 7
-cartoon/person/pic_195.jpg 7
-cartoon/person/pic_199.jpg 7
-cartoon/person/pic_197.jpg 7
-cartoon/person/pic_200.jpg 7
-cartoon/person/pic_201.jpg 7
-cartoon/person/pic_203.jpg 7
-cartoon/person/pic_202.jpg 7
-cartoon/person/pic_217.jpg 7
-cartoon/person/pic_214.jpg 7
-cartoon/person/pic_215.jpg 7
-cartoon/person/pic_229.jpg 7
-cartoon/person/pic_228.jpg 7
-cartoon/person/pic_230.jpg 7
-cartoon/person/pic_236.jpg 7
-cartoon/person/pic_233.jpg 7
-cartoon/person/pic_232.jpg 7
-cartoon/person/pic_234.jpg 7
-cartoon/person/pic_231.jpg 7
-cartoon/person/pic_235.jpg 7
-cartoon/person/pic_240.jpg 7
-cartoon/person/pic_239.jpg 7
-cartoon/person/pic_237.jpg 7
-cartoon/person/pic_243.jpg 7
-cartoon/person/pic_242.jpg 7
-cartoon/person/pic_241.jpg 7
-cartoon/person/pic_244.jpg 7
-cartoon/person/pic_245.jpg 7
-cartoon/person/pic_246.jpg 7
-cartoon/person/pic_256.jpg 7
-cartoon/person/pic_254.jpg 7
-cartoon/person/pic_260.jpg 7
-cartoon/person/pic_270.jpg 7
-cartoon/person/pic_271.jpg 7
-cartoon/person/pic_273.jpg 7
-cartoon/person/pic_274.jpg 7
-cartoon/person/pic_275.jpg 7
-cartoon/person/pic_272.jpg 7
-cartoon/person/pic_276.jpg 7
-cartoon/person/pic_278.jpg 7
-cartoon/person/pic_297.jpg 7
-cartoon/person/pic_291.jpg 7
-cartoon/person/pic_293.jpg 7
-cartoon/person/pic_292.jpg 7
-cartoon/person/pic_289.jpg 7
-cartoon/person/pic_285.jpg 7
-cartoon/person/pic_283.jpg 7
-cartoon/person/pic_282.jpg 7
-cartoon/person/pic_286.jpg 7
-cartoon/person/pic_281.jpg 7
-cartoon/person/pic_280.jpg 7
-cartoon/person/pic_279.jpg 7
-cartoon/person/pic_277.jpg 7
-cartoon/person/pic_301.jpg 7
-cartoon/person/pic_298.jpg 7
-cartoon/person/pic_302.jpg 7
-cartoon/person/pic_294.jpg 7
-cartoon/person/pic_299.jpg 7
-cartoon/person/pic_284.jpg 7
-cartoon/person/pic_287.jpg 7
-cartoon/person/pic_305.jpg 7
-cartoon/person/pic_296.jpg 7
-cartoon/person/pic_300.jpg 7
-cartoon/person/pic_295.jpg 7
-cartoon/person/pic_303.jpg 7
-cartoon/person/pic_315.jpg 7
-cartoon/person/pic_314.jpg 7
-cartoon/person/pic_310.jpg 7
-cartoon/person/pic_405.jpg 7
-cartoon/person/pic_404.jpg 7
-cartoon/person/pic_406.jpg 7
-cartoon/person/pic_413.jpg 7
-cartoon/person/pic_411.jpg 7
-cartoon/person/pic_410.jpg 7
-cartoon/person/pic_409.jpg 7
-cartoon/person/pic_412.jpg 7
-cartoon/person/pic_426.jpg 7
-cartoon/person/pic_428.jpg 7
-cartoon/person/pic_425.jpg 7
-cartoon/person/pic_424.jpg 7
-cartoon/person/pic_421.jpg 7
-cartoon/person/pic_417.jpg 7
-cartoon/person/pic_419.jpg 7
-cartoon/person/pic_418.jpg 7
-cartoon/person/pic_416.jpg 7
-cartoon/person/pic_351.jpg 7
-cartoon/person/pic_349.jpg 7
-cartoon/person/pic_363.jpg 7
-cartoon/person/pic_358.jpg 7
-cartoon/person/pic_357.jpg 7
-cartoon/person/pic_354.jpg 7
-cartoon/person/pic_353.jpg 7
-cartoon/person/pic_360.jpg 7
-cartoon/person/pic_362.jpg 7
-cartoon/person/pic_359.jpg 7
-cartoon/person/pic_366.jpg 7
-cartoon/person/pic_375.jpg 7
-cartoon/person/pic_376.jpg 7
-cartoon/person/pic_372.jpg 7
-cartoon/person/pic_371.jpg 7
-cartoon/person/pic_369.jpg 7
-cartoon/person/pic_368.jpg 7
-cartoon/person/pic_364.jpg 7
-cartoon/person/pic_251.jpg 7
-cartoon/person/pic_250.jpg 7
-cartoon/person/pic_252.jpg 7
-cartoon/person/pic_248.jpg 7
-cartoon/person/pic_247.jpg 7
-cartoon/person/pic_249.jpg 7
-cartoon/person/pic_257.jpg 7
-cartoon/person/pic_253.jpg 7
-cartoon/person/pic_259.jpg 7
-cartoon/person/pic_268.jpg 7
-cartoon/person/pic_264.jpg 7
-cartoon/person/pic_265.jpg 7
-cartoon/person/pic_262.jpg 7
-cartoon/person/pic_261.jpg 7
-cartoon/person/pic_255.jpg 7
diff --git a/data/pacs_split/photo_10.txt b/data/pacs_split/photo_10.txt
deleted file mode 100644
index 59ba86d76..000000000
--- a/data/pacs_split/photo_10.txt
+++ /dev/null
@@ -1,10 +0,0 @@
-photo/house/pic_218.jpg 6
-photo/horse/105_0223.jpg 5
-photo/house/pic_046.jpg 6
-photo/house/pic_110.jpg 6
-photo/elephant/n02503517_6232.jpg 2
-photo/dog/n02103406_1011.jpg 1
-photo/house/pic_146.jpg 6
-photo/guitar/n02676566_7830.jpg 4
-photo/person/253_0221.jpg 7
-photo/person/253_0297.jpg 7
diff --git a/data/pacs_split/photo_100.txt b/data/pacs_split/photo_100.txt
deleted file mode 100644
index 9a0951918..000000000
--- a/data/pacs_split/photo_100.txt
+++ /dev/null
@@ -1,100 +0,0 @@
-photo/horse/105_0120.jpg 5
-photo/giraffe/084_0074.jpg 3
-photo/person/253_0089.jpg 7
-photo/dog/056_0041.jpg 1
-photo/horse/n02374451_12254.jpg 5
-photo/horse/n02374451_18909.jpg 5
-photo/person/253_0366.jpg 7
-photo/guitar/n03467517_11020.jpg 4
-photo/dog/n02103406_3056.jpg 1
-photo/elephant/064_0065.jpg 2
-photo/guitar/063_0067.jpg 4
-photo/giraffe/n02439033_221.jpg 3
-photo/person/253_0166.jpg 7
-photo/guitar/063_0071.jpg 4
-photo/elephant/n02503517_1292.jpg 2
-photo/house/pic_043.jpg 6
-photo/elephant/n02503517_5527.jpg 2
-photo/person/253_0098.jpg 7
-photo/horse/105_0185.jpg 5
-photo/guitar/n02676566_12344.jpg 4
-photo/person/253_0108.jpg 7
-photo/elephant/n02503517_6396.jpg 2
-photo/person/253_0349.jpg 7
-photo/guitar/063_0050.jpg 4
-photo/house/pic_111.jpg 6
-photo/dog/056_0085.jpg 1
-photo/horse/105_0066.jpg 5
-photo/house/pic_044.jpg 6
-photo/house/pic_113.jpg 6
-photo/person/253_0258.jpg 7
-photo/elephant/n02503517_10275.jpg 2
-photo/horse/n02374451_4553.jpg 5
-photo/person/253_0186.jpg 7
-photo/elephant/064_0055.jpg 2
-photo/person/253_0266.jpg 7
-photo/person/253_0205.jpg 7
-photo/person/253_0246.jpg 7
-photo/house/pic_181.jpg 6
-photo/elephant/064_0080.jpg 2
-photo/person/253_0236.jpg 7
-photo/elephant/n02503517_3879.jpg 2
-photo/person/253_0331.jpg 7
-photo/house/pic_071.jpg 6
-photo/house/pic_061.jpg 6
-photo/dog/056_0050.jpg 1
-photo/house/pic_067.jpg 6
-photo/person/253_0057.jpg 7
-photo/elephant/064_0022.jpg 2
-photo/person/253_0175.jpg 7
-photo/person/253_0143.jpg 7
-photo/house/pic_193.jpg 6
-photo/elephant/n02503517_86.jpg 2
-photo/elephant/064_0049.jpg 2
-photo/house/pic_099.jpg 6
-photo/house/pic_229.jpg 6
-photo/person/253_0323.jpg 7
-photo/giraffe/084_0075.jpg 3
-photo/guitar/063_0092.jpg 4
-photo/dog/056_0064.jpg 1
-photo/giraffe/n02439033_11487.jpg 3
-photo/house/pic_006.jpg 6
-photo/guitar/n03467517_24525.jpg 4
-photo/house/pic_265.jpg 6
-photo/person/253_0097.jpg 7
-photo/guitar/n03272010_6809.jpg 4
-photo/elephant/n02503517_5909.jpg 2
-photo/guitar/n02676566_659.jpg 4
-photo/elephant/064_0125.jpg 2
-photo/house/pic_263.jpg 6
-photo/house/pic_073.jpg 6
-photo/person/253_0383.jpg 7
-photo/giraffe/084_0064.jpg 3
-photo/person/253_0421.jpg 7
-photo/guitar/063_0052.jpg 4
-photo/house/pic_030.jpg 6
-photo/person/253_0156.jpg 7
-photo/person/253_0053.jpg 7
-photo/giraffe/n02439033_10453.jpg 3
-photo/house/pic_096.jpg 6
-photo/giraffe/n02439033_13384.jpg 3
-photo/house/pic_233.jpg 6
-photo/horse/105_0059.jpg 5
-photo/person/253_0219.jpg 7
-photo/person/253_0283.jpg 7
-photo/horse/n02374451_13159.jpg 5
-photo/guitar/n03272010_6799.jpg 4
-photo/elephant/n02503517_7393.jpg 2
-photo/horse/n02374451_777.jpg 5
-photo/giraffe/084_0072.jpg 3
-photo/person/253_0427.jpg 7
-photo/person/253_0405.jpg 7
-photo/horse/105_0056.jpg 5
-photo/guitar/063_0085.jpg 4
-photo/horse/n02374451_2248.jpg 5
-photo/person/253_0377.jpg 7
-photo/horse/n02374451_1443.jpg 5
-photo/guitar/063_0121.jpg 4
-photo/elephant/064_0038.jpg 2
-photo/elephant/064_0078.jpg 2
-photo/elephant/064_0079.jpg 2
diff --git a/data/pacs_split/photo_crossval_kfold.txt b/data/pacs_split/photo_crossval_kfold.txt
deleted file mode 100644
index e001ac79e..000000000
--- a/data/pacs_split/photo_crossval_kfold.txt
+++ /dev/null
@@ -1,171 +0,0 @@
-photo/dog/056_0001.jpg 1
-photo/dog/056_0002.jpg 1
-photo/dog/056_0003.jpg 1
-photo/dog/056_0004.jpg 1
-photo/dog/056_0005.jpg 1
-photo/dog/056_0006.jpg 1
-photo/dog/056_0007.jpg 1
-photo/dog/056_0009.jpg 1
-photo/dog/056_0010.jpg 1
-photo/dog/056_0011.jpg 1
-photo/dog/056_0012.jpg 1
-photo/dog/056_0013.jpg 1
-photo/dog/056_0014.jpg 1
-photo/dog/056_0015.jpg 1
-photo/dog/056_0016.jpg 1
-photo/dog/056_0017.jpg 1
-photo/dog/056_0018.jpg 1
-photo/dog/056_0020.jpg 1
-photo/dog/056_0021.jpg 1
-photo/elephant/064_0001.jpg 2
-photo/elephant/064_0002.jpg 2
-photo/elephant/064_0003.jpg 2
-photo/elephant/064_0004.jpg 2
-photo/elephant/064_0005.jpg 2
-photo/elephant/064_0006.jpg 2
-photo/elephant/064_0007.jpg 2
-photo/elephant/064_0008.jpg 2
-photo/elephant/064_0009.jpg 2
-photo/elephant/064_0010.jpg 2
-photo/elephant/064_0011.jpg 2
-photo/elephant/064_0012.jpg 2
-photo/elephant/064_0013.jpg 2
-photo/elephant/064_0014.jpg 2
-photo/elephant/064_0015.jpg 2
-photo/elephant/064_0016.jpg 2
-photo/elephant/064_0017.jpg 2
-photo/elephant/064_0018.jpg 2
-photo/elephant/064_0019.jpg 2
-photo/elephant/064_0020.jpg 2
-photo/elephant/064_0021.jpg 2
-photo/giraffe/084_0001.jpg 3
-photo/giraffe/084_0002.jpg 3
-photo/giraffe/084_0003.jpg 3
-photo/giraffe/084_0004.jpg 3
-photo/giraffe/084_0005.jpg 3
-photo/giraffe/084_0006.jpg 3
-photo/giraffe/084_0007.jpg 3
-photo/giraffe/084_0008.jpg 3
-photo/giraffe/084_0009.jpg 3
-photo/giraffe/084_0010.jpg 3
-photo/giraffe/084_0011.jpg 3
-photo/giraffe/084_0012.jpg 3
-photo/giraffe/084_0013.jpg 3
-photo/giraffe/084_0014.jpg 3
-photo/giraffe/084_0015.jpg 3
-photo/giraffe/084_0016.jpg 3
-photo/giraffe/084_0017.jpg 3
-photo/giraffe/084_0018.jpg 3
-photo/giraffe/084_0019.jpg 3
-photo/guitar/063_0001.jpg 4
-photo/guitar/063_0002.jpg 4
-photo/guitar/063_0003.jpg 4
-photo/guitar/063_0004.jpg 4
-photo/guitar/063_0005.jpg 4
-photo/guitar/063_0006.jpg 4
-photo/guitar/063_0007.jpg 4
-photo/guitar/063_0008.jpg 4
-photo/guitar/063_0009.jpg 4
-photo/guitar/063_0010.jpg 4
-photo/guitar/063_0012.jpg 4
-photo/guitar/063_0013.jpg 4
-photo/guitar/063_0016.jpg 4
-photo/guitar/063_0018.jpg 4
-photo/guitar/063_0019.jpg 4
-photo/guitar/063_0020.jpg 4
-photo/guitar/063_0021.jpg 4
-photo/guitar/063_0022.jpg 4
-photo/guitar/063_0023.jpg 4
-photo/horse/105_0002.jpg 5
-photo/horse/105_0003.jpg 5
-photo/horse/105_0007.jpg 5
-photo/horse/105_0008.jpg 5
-photo/horse/105_0009.jpg 5
-photo/horse/105_0010.jpg 5
-photo/horse/105_0012.jpg 5
-photo/horse/105_0013.jpg 5
-photo/horse/105_0022.jpg 5
-photo/horse/105_0025.jpg 5
-photo/horse/105_0028.jpg 5
-photo/horse/105_0029.jpg 5
-photo/horse/105_0030.jpg 5
-photo/horse/105_0033.jpg 5
-photo/horse/105_0037.jpg 5
-photo/horse/105_0038.jpg 5
-photo/horse/105_0041.jpg 5
-photo/horse/105_0042.jpg 5
-photo/horse/105_0047.jpg 5
-photo/horse/105_0048.jpg 5
-photo/house/pic_010.jpg 6
-photo/house/pic_011.jpg 6
-photo/house/pic_012.jpg 6
-photo/house/pic_013.jpg 6
-photo/house/pic_014.jpg 6
-photo/house/pic_015.jpg 6
-photo/house/pic_016.jpg 6
-photo/house/pic_017.jpg 6
-photo/house/pic_018.jpg 6
-photo/house/pic_021.jpg 6
-photo/house/pic_019.jpg 6
-photo/house/pic_022.jpg 6
-photo/house/pic_020.jpg 6
-photo/house/pic_023.jpg 6
-photo/house/pic_024.jpg 6
-photo/house/pic_026.jpg 6
-photo/house/pic_025.jpg 6
-photo/house/pic_027.jpg 6
-photo/house/pic_028.jpg 6
-photo/house/pic_029.jpg 6
-photo/house/pic_031.jpg 6
-photo/house/pic_239.jpg 6
-photo/house/pic_240.jpg 6
-photo/house/pic_241.jpg 6
-photo/house/pic_242.jpg 6
-photo/house/pic_248.jpg 6
-photo/house/pic_246.jpg 6
-photo/house/pic_247.jpg 6
-photo/house/pic_244.jpg 6
-photo/person/253_0001.jpg 7
-photo/person/253_0002.jpg 7
-photo/person/253_0003.jpg 7
-photo/person/253_0004.jpg 7
-photo/person/253_0005.jpg 7
-photo/person/253_0006.jpg 7
-photo/person/253_0007.jpg 7
-photo/person/253_0008.jpg 7
-photo/person/253_0009.jpg 7
-photo/person/253_0010.jpg 7
-photo/person/253_0011.jpg 7
-photo/person/253_0012.jpg 7
-photo/person/253_0013.jpg 7
-photo/person/253_0014.jpg 7
-photo/person/253_0015.jpg 7
-photo/person/253_0016.jpg 7
-photo/person/253_0017.jpg 7
-photo/person/253_0018.jpg 7
-photo/person/253_0019.jpg 7
-photo/person/253_0020.jpg 7
-photo/person/253_0021.jpg 7
-photo/person/253_0022.jpg 7
-photo/person/253_0023.jpg 7
-photo/person/253_0024.jpg 7
-photo/person/253_0025.jpg 7
-photo/person/253_0026.jpg 7
-photo/person/253_0027.jpg 7
-photo/person/253_0028.jpg 7
-photo/person/253_0029.jpg 7
-photo/person/253_0030.jpg 7
-photo/person/253_0031.jpg 7
-photo/person/253_0032.jpg 7
-photo/person/253_0033.jpg 7
-photo/person/253_0034.jpg 7
-photo/person/253_0035.jpg 7
-photo/person/253_0036.jpg 7
-photo/person/253_0037.jpg 7
-photo/person/253_0038.jpg 7
-photo/person/253_0039.jpg 7
-photo/person/253_0040.jpg 7
-photo/person/253_0041.jpg 7
-photo/person/253_0042.jpg 7
-photo/person/253_0043.jpg 7
-photo/person/253_0044.jpg 7
diff --git a/data/pacs_split/photo_test_kfold.txt b/data/pacs_split/photo_test_kfold.txt
deleted file mode 100644
index 643ed4aa8..000000000
--- a/data/pacs_split/photo_test_kfold.txt
+++ /dev/null
@@ -1,1670 +0,0 @@
-photo/dog/056_0001.jpg 1
-photo/dog/056_0002.jpg 1
-photo/dog/056_0003.jpg 1
-photo/dog/056_0004.jpg 1
-photo/dog/056_0005.jpg 1
-photo/dog/056_0006.jpg 1
-photo/dog/056_0007.jpg 1
-photo/dog/056_0009.jpg 1
-photo/dog/056_0010.jpg 1
-photo/dog/056_0011.jpg 1
-photo/dog/056_0012.jpg 1
-photo/dog/056_0013.jpg 1
-photo/dog/056_0014.jpg 1
-photo/dog/056_0015.jpg 1
-photo/dog/056_0016.jpg 1
-photo/dog/056_0017.jpg 1
-photo/dog/056_0018.jpg 1
-photo/dog/056_0020.jpg 1
-photo/dog/056_0021.jpg 1
-photo/dog/056_0022.jpg 1
-photo/dog/056_0023.jpg 1
-photo/dog/056_0024.jpg 1
-photo/dog/056_0026.jpg 1
-photo/dog/056_0027.jpg 1
-photo/dog/056_0028.jpg 1
-photo/dog/056_0029.jpg 1
-photo/dog/056_0030.jpg 1
-photo/dog/056_0031.jpg 1
-photo/dog/056_0032.jpg 1
-photo/dog/056_0033.jpg 1
-photo/dog/056_0034.jpg 1
-photo/dog/056_0035.jpg 1
-photo/dog/056_0036.jpg 1
-photo/dog/056_0037.jpg 1
-photo/dog/056_0038.jpg 1
-photo/dog/056_0039.jpg 1
-photo/dog/056_0040.jpg 1
-photo/dog/056_0041.jpg 1
-photo/dog/056_0042.jpg 1
-photo/dog/056_0043.jpg 1
-photo/dog/056_0045.jpg 1
-photo/dog/056_0046.jpg 1
-photo/dog/056_0047.jpg 1
-photo/dog/056_0048.jpg 1
-photo/dog/056_0049.jpg 1
-photo/dog/056_0050.jpg 1
-photo/dog/056_0051.jpg 1
-photo/dog/056_0052.jpg 1
-photo/dog/056_0053.jpg 1
-photo/dog/056_0054.jpg 1
-photo/dog/056_0055.jpg 1
-photo/dog/056_0056.jpg 1
-photo/dog/056_0057.jpg 1
-photo/dog/056_0058.jpg 1
-photo/dog/056_0059.jpg 1
-photo/dog/056_0060.jpg 1
-photo/dog/056_0062.jpg 1
-photo/dog/056_0063.jpg 1
-photo/dog/056_0064.jpg 1
-photo/dog/056_0065.jpg 1
-photo/dog/056_0066.jpg 1
-photo/dog/056_0067.jpg 1
-photo/dog/056_0068.jpg 1
-photo/dog/056_0069.jpg 1
-photo/dog/056_0070.jpg 1
-photo/dog/056_0071.jpg 1
-photo/dog/056_0072.jpg 1
-photo/dog/056_0073.jpg 1
-photo/dog/056_0074.jpg 1
-photo/dog/056_0075.jpg 1
-photo/dog/056_0076.jpg 1
-photo/dog/056_0077.jpg 1
-photo/dog/056_0078.jpg 1
-photo/dog/056_0079.jpg 1
-photo/dog/056_0080.jpg 1
-photo/dog/056_0081.jpg 1
-photo/dog/056_0082.jpg 1
-photo/dog/056_0083.jpg 1
-photo/dog/056_0084.jpg 1
-photo/dog/056_0085.jpg 1
-photo/dog/056_0086.jpg 1
-photo/dog/056_0087.jpg 1
-photo/dog/056_0088.jpg 1
-photo/dog/056_0089.jpg 1
-photo/dog/056_0090.jpg 1
-photo/dog/056_0091.jpg 1
-photo/dog/056_0092.jpg 1
-photo/dog/056_0093.jpg 1
-photo/dog/056_0095.jpg 1
-photo/dog/056_0097.jpg 1
-photo/dog/056_0098.jpg 1
-photo/dog/056_0099.jpg 1
-photo/dog/056_0101.jpg 1
-photo/dog/056_0102.jpg 1
-photo/dog/n02103406_343.jpg 1
-photo/dog/n02103406_346.jpg 1
-photo/dog/n02103406_371.jpg 1
-photo/dog/n02103406_865.jpg 1
-photo/dog/n02103406_936.jpg 1
-photo/dog/n02103406_995.jpg 1
-photo/dog/n02103406_1011.jpg 1
-photo/dog/n02103406_1138.jpg 1
-photo/dog/n02103406_1170.jpg 1
-photo/dog/n02103406_1247.jpg 1
-photo/dog/n02103406_1599.jpg 1
-photo/dog/n02103406_1754.jpg 1
-photo/dog/n02103406_2209.jpg 1
-photo/dog/n02103406_2706.jpg 1
-photo/dog/n02103406_2954.jpg 1
-photo/dog/n02103406_3056.jpg 1
-photo/dog/n02103406_3108.jpg 1
-photo/dog/n02103406_3132.jpg 1
-photo/dog/n02103406_3255.jpg 1
-photo/dog/n02103406_3299.jpg 1
-photo/dog/n02103406_3326.jpg 1
-photo/dog/n02103406_3401.jpg 1
-photo/dog/n02103406_3538.jpg 1
-photo/dog/n02103406_3743.jpg 1
-photo/dog/n02103406_3750.jpg 1
-photo/dog/n02103406_3964.jpg 1
-photo/dog/n02103406_4068.jpg 1
-photo/dog/n02103406_4849.jpg 1
-photo/dog/n02103406_4916.jpg 1
-photo/dog/n02103406_5035.jpg 1
-photo/dog/n02103406_5216.jpg 1
-photo/dog/n02103406_5224.jpg 1
-photo/dog/n02103406_5456.jpg 1
-photo/dog/n02103406_5505.jpg 1
-photo/dog/n02103406_5563.jpg 1
-photo/dog/n02103406_5601.jpg 1
-photo/dog/n02103406_6274.jpg 1
-photo/dog/n02103406_6461.jpg 1
-photo/dog/n02103406_6530.jpg 1
-photo/dog/n02103406_6857.jpg 1
-photo/dog/n02103406_7201.jpg 1
-photo/dog/n02103406_7368.jpg 1
-photo/dog/n02103406_7521.jpg 1
-photo/dog/n02103406_7708.jpg 1
-photo/dog/n02103406_8004.jpg 1
-photo/dog/n02103406_8280.jpg 1
-photo/dog/n02103406_8362.jpg 1
-photo/dog/n02103406_8421.jpg 1
-photo/dog/n02103406_13049.jpg 1
-photo/dog/n02106662_466.jpg 1
-photo/dog/n02106662_928.jpg 1
-photo/dog/n02106662_1874.jpg 1
-photo/dog/n02106662_1922.jpg 1
-photo/dog/n02106662_2101.jpg 1
-photo/dog/n02106662_2157.jpg 1
-photo/dog/n02106662_2377.jpg 1
-photo/dog/n02106662_2740.jpg 1
-photo/dog/n02106662_5001.jpg 1
-photo/dog/n02106662_7885.jpg 1
-photo/dog/n02106662_7960.jpg 1
-photo/dog/n02106662_8511.jpg 1
-photo/dog/n02106662_8870.jpg 1
-photo/dog/n02106662_10406.jpg 1
-photo/dog/n02106662_11133.jpg 1
-photo/dog/n02106662_13178.jpg 1
-photo/dog/n02106662_13912.jpg 1
-photo/dog/n02106662_15858.jpg 1
-photo/dog/n02106662_18402.jpg 1
-photo/dog/n02106662_18405.jpg 1
-photo/dog/n02106662_18922.jpg 1
-photo/dog/n02106662_18953.jpg 1
-photo/dog/n02106662_24019.jpg 1
-photo/dog/n02106662_24577.jpg 1
-photo/dog/n02106662_24786.jpg 1
-photo/dog/n02106662_25917.jpg 1
-photo/dog/n02106662_26549.jpg 1
-photo/dog/n02106662_27393.jpg 1
-photo/dog/n02109525_704.jpg 1
-photo/dog/n02109525_1893.jpg 1
-photo/dog/n02109525_3202.jpg 1
-photo/dog/n02109525_3782.jpg 1
-photo/dog/n02109525_5013.jpg 1
-photo/dog/n02109525_5583.jpg 1
-photo/dog/n02109525_5966.jpg 1
-photo/dog/n02109525_6693.jpg 1
-photo/dog/n02109525_7874.jpg 1
-photo/dog/n02109525_8211.jpg 1
-photo/dog/n02109525_8457.jpg 1
-photo/dog/n02109525_9037.jpg 1
-photo/dog/n02109525_10297.jpg 1
-photo/dog/n02109525_11444.jpg 1
-photo/dog/n02109525_12875.jpg 1
-photo/dog/n02109525_13700.jpg 1
-photo/dog/n02109525_16346.jpg 1
-photo/dog/n02109525_18347.jpg 1
-photo/elephant/064_0001.jpg 2
-photo/elephant/064_0002.jpg 2
-photo/elephant/064_0003.jpg 2
-photo/elephant/064_0004.jpg 2
-photo/elephant/064_0005.jpg 2
-photo/elephant/064_0006.jpg 2
-photo/elephant/064_0007.jpg 2
-photo/elephant/064_0008.jpg 2
-photo/elephant/064_0009.jpg 2
-photo/elephant/064_0010.jpg 2
-photo/elephant/064_0011.jpg 2
-photo/elephant/064_0012.jpg 2
-photo/elephant/064_0013.jpg 2
-photo/elephant/064_0014.jpg 2
-photo/elephant/064_0015.jpg 2
-photo/elephant/064_0016.jpg 2
-photo/elephant/064_0017.jpg 2
-photo/elephant/064_0018.jpg 2
-photo/elephant/064_0019.jpg 2
-photo/elephant/064_0020.jpg 2
-photo/elephant/064_0021.jpg 2
-photo/elephant/064_0022.jpg 2
-photo/elephant/064_0023.jpg 2
-photo/elephant/064_0024.jpg 2
-photo/elephant/064_0025.jpg 2
-photo/elephant/064_0030.jpg 2
-photo/elephant/064_0031.jpg 2
-photo/elephant/064_0032.jpg 2
-photo/elephant/064_0033.jpg 2
-photo/elephant/064_0034.jpg 2
-photo/elephant/064_0035.jpg 2
-photo/elephant/064_0036.jpg 2
-photo/elephant/064_0037.jpg 2
-photo/elephant/064_0038.jpg 2
-photo/elephant/064_0039.jpg 2
-photo/elephant/064_0040.jpg 2
-photo/elephant/064_0041.jpg 2
-photo/elephant/064_0042.jpg 2
-photo/elephant/064_0043.jpg 2
-photo/elephant/064_0044.jpg 2
-photo/elephant/064_0045.jpg 2
-photo/elephant/064_0047.jpg 2
-photo/elephant/064_0048.jpg 2
-photo/elephant/064_0049.jpg 2
-photo/elephant/064_0051.jpg 2
-photo/elephant/064_0052.jpg 2
-photo/elephant/064_0053.jpg 2
-photo/elephant/064_0054.jpg 2
-photo/elephant/064_0055.jpg 2
-photo/elephant/064_0056.jpg 2
-photo/elephant/064_0057.jpg 2
-photo/elephant/064_0058.jpg 2
-photo/elephant/064_0059.jpg 2
-photo/elephant/064_0060.jpg 2
-photo/elephant/064_0061.jpg 2
-photo/elephant/064_0062.jpg 2
-photo/elephant/064_0063.jpg 2
-photo/elephant/064_0064.jpg 2
-photo/elephant/064_0065.jpg 2
-photo/elephant/064_0066.jpg 2
-photo/elephant/064_0067.jpg 2
-photo/elephant/064_0068.jpg 2
-photo/elephant/064_0070.jpg 2
-photo/elephant/064_0071.jpg 2
-photo/elephant/064_0072.jpg 2
-photo/elephant/064_0073.jpg 2
-photo/elephant/064_0074.jpg 2
-photo/elephant/064_0075.jpg 2
-photo/elephant/064_0076.jpg 2
-photo/elephant/064_0077.jpg 2
-photo/elephant/064_0078.jpg 2
-photo/elephant/064_0079.jpg 2
-photo/elephant/064_0080.jpg 2
-photo/elephant/064_0081.jpg 2
-photo/elephant/064_0084.jpg 2
-photo/elephant/064_0085.jpg 2
-photo/elephant/064_0086.jpg 2
-photo/elephant/064_0087.jpg 2
-photo/elephant/064_0088.jpg 2
-photo/elephant/064_0089.jpg 2
-photo/elephant/064_0090.jpg 2
-photo/elephant/064_0092.jpg 2
-photo/elephant/064_0093.jpg 2
-photo/elephant/064_0094.jpg 2
-photo/elephant/064_0095.jpg 2
-photo/elephant/064_0096.jpg 2
-photo/elephant/064_0097.jpg 2
-photo/elephant/064_0098.jpg 2
-photo/elephant/064_0099.jpg 2
-photo/elephant/064_0100.jpg 2
-photo/elephant/064_0101.jpg 2
-photo/elephant/064_0102.jpg 2
-photo/elephant/064_0105.jpg 2
-photo/elephant/064_0106.jpg 2
-photo/elephant/064_0107.jpg 2
-photo/elephant/064_0108.jpg 2
-photo/elephant/064_0109.jpg 2
-photo/elephant/064_0110.jpg 2
-photo/elephant/064_0111.jpg 2
-photo/elephant/064_0112.jpg 2
-photo/elephant/064_0113.jpg 2
-photo/elephant/064_0114.jpg 2
-photo/elephant/064_0115.jpg 2
-photo/elephant/064_0116.jpg 2
-photo/elephant/064_0117.jpg 2
-photo/elephant/064_0118.jpg 2
-photo/elephant/064_0119.jpg 2
-photo/elephant/064_0120.jpg 2
-photo/elephant/064_0121.jpg 2
-photo/elephant/064_0122.jpg 2
-photo/elephant/064_0123.jpg 2
-photo/elephant/064_0124.jpg 2
-photo/elephant/064_0125.jpg 2
-photo/elephant/064_0126.jpg 2
-photo/elephant/064_0127.jpg 2
-photo/elephant/064_0129.jpg 2
-photo/elephant/064_0130.jpg 2
-photo/elephant/064_0131.jpg 2
-photo/elephant/n02503517_79.jpg 2
-photo/elephant/n02503517_86.jpg 2
-photo/elephant/n02503517_184.jpg 2
-photo/elephant/n02503517_194.jpg 2
-photo/elephant/n02503517_564.jpg 2
-photo/elephant/n02503517_753.jpg 2
-photo/elephant/n02503517_759.jpg 2
-photo/elephant/n02503517_792.jpg 2
-photo/elephant/n02503517_1292.jpg 2
-photo/elephant/n02503517_1359.jpg 2
-photo/elephant/n02503517_1383.jpg 2
-photo/elephant/n02503517_1415.jpg 2
-photo/elephant/n02503517_1453.jpg 2
-photo/elephant/n02503517_1583.jpg 2
-photo/elephant/n02503517_1829.jpg 2
-photo/elephant/n02503517_2061.jpg 2
-photo/elephant/n02503517_2444.jpg 2
-photo/elephant/n02503517_2547.jpg 2
-photo/elephant/n02503517_2802.jpg 2
-photo/elephant/n02503517_2804.jpg 2
-photo/elephant/n02503517_2925.jpg 2
-photo/elephant/n02503517_2993.jpg 2
-photo/elephant/n02503517_3037.jpg 2
-photo/elephant/n02503517_3072.jpg 2
-photo/elephant/n02503517_3108.jpg 2
-photo/elephant/n02503517_3799.jpg 2
-photo/elephant/n02503517_3803.jpg 2
-photo/elephant/n02503517_3808.jpg 2
-photo/elephant/n02503517_3879.jpg 2
-photo/elephant/n02503517_4221.jpg 2
-photo/elephant/n02503517_4247.jpg 2
-photo/elephant/n02503517_4253.jpg 2
-photo/elephant/n02503517_4413.jpg 2
-photo/elephant/n02503517_4605.jpg 2
-photo/elephant/n02503517_5117.jpg 2
-photo/elephant/n02503517_5287.jpg 2
-photo/elephant/n02503517_5418.jpg 2
-photo/elephant/n02503517_5420.jpg 2
-photo/elephant/n02503517_5527.jpg 2
-photo/elephant/n02503517_5892.jpg 2
-photo/elephant/n02503517_5909.jpg 2
-photo/elephant/n02503517_6032.jpg 2
-photo/elephant/n02503517_6232.jpg 2
-photo/elephant/n02503517_6396.jpg 2
-photo/elephant/n02503517_6479.jpg 2
-photo/elephant/n02503517_6611.jpg 2
-photo/elephant/n02503517_6624.jpg 2
-photo/elephant/n02503517_6661.jpg 2
-photo/elephant/n02503517_6784.jpg 2
-photo/elephant/n02503517_6880.jpg 2
-photo/elephant/n02503517_7020.jpg 2
-photo/elephant/n02503517_7031.jpg 2
-photo/elephant/n02503517_7083.jpg 2
-photo/elephant/n02503517_7173.jpg 2
-photo/elephant/n02503517_7211.jpg 2
-photo/elephant/n02503517_7393.jpg 2
-photo/elephant/n02503517_8137.jpg 2
-photo/elephant/n02503517_8205.jpg 2
-photo/elephant/n02503517_8222.jpg 2
-photo/elephant/n02503517_8265.jpg 2
-photo/elephant/n02503517_8292.jpg 2
-photo/elephant/n02503517_8518.jpg 2
-photo/elephant/n02503517_8571.jpg 2
-photo/elephant/n02503517_8757.jpg 2
-photo/elephant/n02503517_8901.jpg 2
-photo/elephant/n02503517_8904.jpg 2
-photo/elephant/n02503517_8938.jpg 2
-photo/elephant/n02503517_9043.jpg 2
-photo/elephant/n02503517_9154.jpg 2
-photo/elephant/n02503517_9241.jpg 2
-photo/elephant/n02503517_9270.jpg 2
-photo/elephant/n02503517_9827.jpg 2
-photo/elephant/n02503517_10036.jpg 2
-photo/elephant/n02503517_10075.jpg 2
-photo/elephant/n02503517_10193.jpg 2
-photo/elephant/n02503517_10275.jpg 2
-photo/elephant/n02503517_10300.jpg 2
-photo/elephant/n02503517_10439.jpg 2
-photo/elephant/n02503517_10440.jpg 2
-photo/elephant/n02503517_10528.jpg 2
-photo/elephant/n02503517_10558.jpg 2
-photo/elephant/n02503517_10778.jpg 2
-photo/elephant/n02503517_11873.jpg 2
-photo/elephant/n02503517_12688.jpg 2
-photo/giraffe/084_0001.jpg 3
-photo/giraffe/084_0002.jpg 3
-photo/giraffe/084_0003.jpg 3
-photo/giraffe/084_0004.jpg 3
-photo/giraffe/084_0005.jpg 3
-photo/giraffe/084_0006.jpg 3
-photo/giraffe/084_0007.jpg 3
-photo/giraffe/084_0008.jpg 3
-photo/giraffe/084_0009.jpg 3
-photo/giraffe/084_0010.jpg 3
-photo/giraffe/084_0011.jpg 3
-photo/giraffe/084_0012.jpg 3
-photo/giraffe/084_0013.jpg 3
-photo/giraffe/084_0014.jpg 3
-photo/giraffe/084_0015.jpg 3
-photo/giraffe/084_0016.jpg 3
-photo/giraffe/084_0017.jpg 3
-photo/giraffe/084_0018.jpg 3
-photo/giraffe/084_0019.jpg 3
-photo/giraffe/084_0020.jpg 3
-photo/giraffe/084_0021.jpg 3
-photo/giraffe/084_0022.jpg 3
-photo/giraffe/084_0023.jpg 3
-photo/giraffe/084_0024.jpg 3
-photo/giraffe/084_0025.jpg 3
-photo/giraffe/084_0026.jpg 3
-photo/giraffe/084_0027.jpg 3
-photo/giraffe/084_0028.jpg 3
-photo/giraffe/084_0029.jpg 3
-photo/giraffe/084_0030.jpg 3
-photo/giraffe/084_0031.jpg 3
-photo/giraffe/084_0032.jpg 3
-photo/giraffe/084_0033.jpg 3
-photo/giraffe/084_0034.jpg 3
-photo/giraffe/084_0035.jpg 3
-photo/giraffe/084_0036.jpg 3
-photo/giraffe/084_0038.jpg 3
-photo/giraffe/084_0039.jpg 3
-photo/giraffe/084_0040.jpg 3
-photo/giraffe/084_0041.jpg 3
-photo/giraffe/084_0042.jpg 3
-photo/giraffe/084_0043.jpg 3
-photo/giraffe/084_0044.jpg 3
-photo/giraffe/084_0045.jpg 3
-photo/giraffe/084_0046.jpg 3
-photo/giraffe/084_0047.jpg 3
-photo/giraffe/084_0048.jpg 3
-photo/giraffe/084_0049.jpg 3
-photo/giraffe/084_0050.jpg 3
-photo/giraffe/084_0051.jpg 3
-photo/giraffe/084_0052.jpg 3
-photo/giraffe/084_0053.jpg 3
-photo/giraffe/084_0054.jpg 3
-photo/giraffe/084_0055.jpg 3
-photo/giraffe/084_0056.jpg 3
-photo/giraffe/084_0057.jpg 3
-photo/giraffe/084_0058.jpg 3
-photo/giraffe/084_0059.jpg 3
-photo/giraffe/084_0060.jpg 3
-photo/giraffe/084_0061.jpg 3
-photo/giraffe/084_0062.jpg 3
-photo/giraffe/084_0063.jpg 3
-photo/giraffe/084_0064.jpg 3
-photo/giraffe/084_0065.jpg 3
-photo/giraffe/084_0066.jpg 3
-photo/giraffe/084_0067.jpg 3
-photo/giraffe/084_0068.jpg 3
-photo/giraffe/084_0069.jpg 3
-photo/giraffe/084_0070.jpg 3
-photo/giraffe/084_0071.jpg 3
-photo/giraffe/084_0072.jpg 3
-photo/giraffe/084_0073.jpg 3
-photo/giraffe/084_0074.jpg 3
-photo/giraffe/084_0075.jpg 3
-photo/giraffe/084_0076.jpg 3
-photo/giraffe/084_0077.jpg 3
-photo/giraffe/084_0078.jpg 3
-photo/giraffe/084_0079.jpg 3
-photo/giraffe/084_0080.jpg 3
-photo/giraffe/084_0081.jpg 3
-photo/giraffe/084_0082.jpg 3
-photo/giraffe/084_0083.jpg 3
-photo/giraffe/084_0084.jpg 3
-photo/giraffe/n02439033_67.jpg 3
-photo/giraffe/n02439033_221.jpg 3
-photo/giraffe/n02439033_376.jpg 3
-photo/giraffe/n02439033_569.jpg 3
-photo/giraffe/n02439033_628.jpg 3
-photo/giraffe/n02439033_866.jpg 3
-photo/giraffe/n02439033_991.jpg 3
-photo/giraffe/n02439033_1327.jpg 3
-photo/giraffe/n02439033_1508.jpg 3
-photo/giraffe/n02439033_2486.jpg 3
-photo/giraffe/n02439033_2500.jpg 3
-photo/giraffe/n02439033_2677.jpg 3
-photo/giraffe/n02439033_3944.jpg 3
-photo/giraffe/n02439033_4601.jpg 3
-photo/giraffe/n02439033_5004.jpg 3
-photo/giraffe/n02439033_5652.jpg 3
-photo/giraffe/n02439033_6552.jpg 3
-photo/giraffe/n02439033_8789.jpg 3
-photo/giraffe/n02439033_8846.jpg 3
-photo/giraffe/n02439033_8875.jpg 3
-photo/giraffe/n02439033_9257.jpg 3
-photo/giraffe/n02439033_9261.jpg 3
-photo/giraffe/n02439033_9398.jpg 3
-photo/giraffe/n02439033_9472.jpg 3
-photo/giraffe/n02439033_9598.jpg 3
-photo/giraffe/n02439033_9604.jpg 3
-photo/giraffe/n02439033_9679.jpg 3
-photo/giraffe/n02439033_9719.jpg 3
-photo/giraffe/n02439033_10130.jpg 3
-photo/giraffe/n02439033_10164.jpg 3
-photo/giraffe/n02439033_10279.jpg 3
-photo/giraffe/n02439033_10295.jpg 3
-photo/giraffe/n02439033_10453.jpg 3
-photo/giraffe/n02439033_10491.jpg 3
-photo/giraffe/n02439033_10541.jpg 3
-photo/giraffe/n02439033_10616.jpg 3
-photo/giraffe/n02439033_10802.jpg 3
-photo/giraffe/n02439033_10803.jpg 3
-photo/giraffe/n02439033_10811.jpg 3
-photo/giraffe/n02439033_10839.jpg 3
-photo/giraffe/n02439033_10919.jpg 3
-photo/giraffe/n02439033_11059.jpg 3
-photo/giraffe/n02439033_11114.jpg 3
-photo/giraffe/n02439033_11130.jpg 3
-photo/giraffe/n02439033_11215.jpg 3
-photo/giraffe/n02439033_11273.jpg 3
-photo/giraffe/n02439033_11328.jpg 3
-photo/giraffe/n02439033_11458.jpg 3
-photo/giraffe/n02439033_11486.jpg 3
-photo/giraffe/n02439033_11487.jpg 3
-photo/giraffe/n02439033_11504.jpg 3
-photo/giraffe/n02439033_11599.jpg 3
-photo/giraffe/n02439033_11627.jpg 3
-photo/giraffe/n02439033_11666.jpg 3
-photo/giraffe/n02439033_11683.jpg 3
-photo/giraffe/n02439033_11715.jpg 3
-photo/giraffe/n02439033_11845.jpg 3
-photo/giraffe/n02439033_11894.jpg 3
-photo/giraffe/n02439033_12059.jpg 3
-photo/giraffe/n02439033_12413.jpg 3
-photo/giraffe/n02439033_12485.jpg 3
-photo/giraffe/n02439033_12680.jpg 3
-photo/giraffe/n02439033_12930.jpg 3
-photo/giraffe/n02439033_12939.jpg 3
-photo/giraffe/n02439033_12987.jpg 3
-photo/giraffe/n02439033_13236.jpg 3
-photo/giraffe/n02439033_13384.jpg 3
-photo/giraffe/n02439033_13430.jpg 3
-photo/giraffe/n02439033_13602.jpg 3
-photo/giraffe/n02439033_13868.jpg 3
-photo/giraffe/n02439033_14040.jpg 3
-photo/giraffe/n02439033_14060.jpg 3
-photo/giraffe/n02439033_14121.jpg 3
-photo/giraffe/n02439033_14148.jpg 3
-photo/giraffe/n02439033_14184.jpg 3
-photo/giraffe/n02439033_14322.jpg 3
-photo/giraffe/n02439033_14497.jpg 3
-photo/giraffe/n02439033_14554.jpg 3
-photo/giraffe/n02439033_14580.jpg 3
-photo/giraffe/n02439033_14600.jpg 3
-photo/giraffe/n02439033_14609.jpg 3
-photo/giraffe/n02439033_14724.jpg 3
-photo/giraffe/n02439033_14764.jpg 3
-photo/giraffe/n02439033_14781.jpg 3
-photo/giraffe/n02439033_14784.jpg 3
-photo/giraffe/n02439033_14846.jpg 3
-photo/giraffe/n02439033_14872.jpg 3
-photo/giraffe/n02439033_14962.jpg 3
-photo/giraffe/n02439033_15005.jpg 3
-photo/giraffe/n02439033_15384.jpg 3
-photo/giraffe/n02439033_15401.jpg 3
-photo/giraffe/n02439033_15453.jpg 3
-photo/giraffe/n02439033_15479.jpg 3
-photo/giraffe/n02439033_15540.jpg 3
-photo/giraffe/n02439033_15555.jpg 3
-photo/giraffe/n02439033_15936.jpg 3
-photo/giraffe/n02439033_16085.jpg 3
-photo/giraffe/n02439033_16356.jpg 3
-photo/giraffe/n02439033_16483.jpg 3
-photo/guitar/063_0001.jpg 4
-photo/guitar/063_0002.jpg 4
-photo/guitar/063_0003.jpg 4
-photo/guitar/063_0004.jpg 4
-photo/guitar/063_0005.jpg 4
-photo/guitar/063_0006.jpg 4
-photo/guitar/063_0007.jpg 4
-photo/guitar/063_0008.jpg 4
-photo/guitar/063_0009.jpg 4
-photo/guitar/063_0010.jpg 4
-photo/guitar/063_0012.jpg 4
-photo/guitar/063_0013.jpg 4
-photo/guitar/063_0016.jpg 4
-photo/guitar/063_0018.jpg 4
-photo/guitar/063_0019.jpg 4
-photo/guitar/063_0020.jpg 4
-photo/guitar/063_0021.jpg 4
-photo/guitar/063_0022.jpg 4
-photo/guitar/063_0023.jpg 4
-photo/guitar/063_0024.jpg 4
-photo/guitar/063_0025.jpg 4
-photo/guitar/063_0026.jpg 4
-photo/guitar/063_0027.jpg 4
-photo/guitar/063_0028.jpg 4
-photo/guitar/063_0029.jpg 4
-photo/guitar/063_0030.jpg 4
-photo/guitar/063_0031.jpg 4
-photo/guitar/063_0032.jpg 4
-photo/guitar/063_0035.jpg 4
-photo/guitar/063_0036.jpg 4
-photo/guitar/063_0037.jpg 4
-photo/guitar/063_0038.jpg 4
-photo/guitar/063_0039.jpg 4
-photo/guitar/063_0040.jpg 4
-photo/guitar/063_0041.jpg 4
-photo/guitar/063_0042.jpg 4
-photo/guitar/063_0043.jpg 4
-photo/guitar/063_0045.jpg 4
-photo/guitar/063_0046.jpg 4
-photo/guitar/063_0047.jpg 4
-photo/guitar/063_0048.jpg 4
-photo/guitar/063_0049.jpg 4
-photo/guitar/063_0050.jpg 4
-photo/guitar/063_0051.jpg 4
-photo/guitar/063_0052.jpg 4
-photo/guitar/063_0053.jpg 4
-photo/guitar/063_0054.jpg 4
-photo/guitar/063_0055.jpg 4
-photo/guitar/063_0056.jpg 4
-photo/guitar/063_0059.jpg 4
-photo/guitar/063_0061.jpg 4
-photo/guitar/063_0062.jpg 4
-photo/guitar/063_0065.jpg 4
-photo/guitar/063_0067.jpg 4
-photo/guitar/063_0068.jpg 4
-photo/guitar/063_0069.jpg 4
-photo/guitar/063_0071.jpg 4
-photo/guitar/063_0072.jpg 4
-photo/guitar/063_0073.jpg 4
-photo/guitar/063_0074.jpg 4
-photo/guitar/063_0075.jpg 4
-photo/guitar/063_0076.jpg 4
-photo/guitar/063_0077.jpg 4
-photo/guitar/063_0078.jpg 4
-photo/guitar/063_0079.jpg 4
-photo/guitar/063_0080.jpg 4
-photo/guitar/063_0081.jpg 4
-photo/guitar/063_0082.jpg 4
-photo/guitar/063_0084.jpg 4
-photo/guitar/063_0085.jpg 4
-photo/guitar/063_0086.jpg 4
-photo/guitar/063_0087.jpg 4
-photo/guitar/063_0088.jpg 4
-photo/guitar/063_0089.jpg 4
-photo/guitar/063_0090.jpg 4
-photo/guitar/063_0091.jpg 4
-photo/guitar/063_0092.jpg 4
-photo/guitar/063_0093.jpg 4
-photo/guitar/063_0094.jpg 4
-photo/guitar/063_0095.jpg 4
-photo/guitar/063_0096.jpg 4
-photo/guitar/063_0097.jpg 4
-photo/guitar/063_0098.jpg 4
-photo/guitar/063_0099.jpg 4
-photo/guitar/063_0100.jpg 4
-photo/guitar/063_0101.jpg 4
-photo/guitar/063_0102.jpg 4
-photo/guitar/063_0103.jpg 4
-photo/guitar/063_0104.jpg 4
-photo/guitar/063_0105.jpg 4
-photo/guitar/063_0106.jpg 4
-photo/guitar/063_0107.jpg 4
-photo/guitar/063_0108.jpg 4
-photo/guitar/063_0109.jpg 4
-photo/guitar/063_0110.jpg 4
-photo/guitar/063_0111.jpg 4
-photo/guitar/063_0112.jpg 4
-photo/guitar/063_0113.jpg 4
-photo/guitar/063_0114.jpg 4
-photo/guitar/063_0115.jpg 4
-photo/guitar/063_0116.jpg 4
-photo/guitar/063_0117.jpg 4
-photo/guitar/063_0118.jpg 4
-photo/guitar/063_0119.jpg 4
-photo/guitar/063_0120.jpg 4
-photo/guitar/063_0121.jpg 4
-photo/guitar/063_0122.jpg 4
-photo/guitar/n02676566_307.jpg 4
-photo/guitar/n02676566_330.jpg 4
-photo/guitar/n02676566_659.jpg 4
-photo/guitar/n02676566_1324.jpg 4
-photo/guitar/n02676566_2380.jpg 4
-photo/guitar/n02676566_3360.jpg 4
-photo/guitar/n02676566_4058.jpg 4
-photo/guitar/n02676566_4189.jpg 4
-photo/guitar/n02676566_4469.jpg 4
-photo/guitar/n02676566_4605.jpg 4
-photo/guitar/n02676566_4699.jpg 4
-photo/guitar/n02676566_5489.jpg 4
-photo/guitar/n02676566_5735.jpg 4
-photo/guitar/n02676566_6150.jpg 4
-photo/guitar/n02676566_6402.jpg 4
-photo/guitar/n02676566_6430.jpg 4
-photo/guitar/n02676566_6560.jpg 4
-photo/guitar/n02676566_6631.jpg 4
-photo/guitar/n02676566_6704.jpg 4
-photo/guitar/n02676566_6914.jpg 4
-photo/guitar/n02676566_6948.jpg 4
-photo/guitar/n02676566_7385.jpg 4
-photo/guitar/n02676566_7770.jpg 4
-photo/guitar/n02676566_7830.jpg 4
-photo/guitar/n02676566_7844.jpg 4
-photo/guitar/n02676566_7927.jpg 4
-photo/guitar/n02676566_8268.jpg 4
-photo/guitar/n02676566_8309.jpg 4
-photo/guitar/n02676566_8467.jpg 4
-photo/guitar/n02676566_8618.jpg 4
-photo/guitar/n02676566_8820.jpg 4
-photo/guitar/n02676566_8859.jpg 4
-photo/guitar/n02676566_8997.jpg 4
-photo/guitar/n02676566_9062.jpg 4
-photo/guitar/n02676566_9243.jpg 4
-photo/guitar/n02676566_9254.jpg 4
-photo/guitar/n02676566_9451.jpg 4
-photo/guitar/n02676566_9577.jpg 4
-photo/guitar/n02676566_9661.jpg 4
-photo/guitar/n02676566_9936.jpg 4
-photo/guitar/n02676566_11573.jpg 4
-photo/guitar/n02676566_12344.jpg 4
-photo/guitar/n03272010_392.jpg 4
-photo/guitar/n03272010_446.jpg 4
-photo/guitar/n03272010_1708.jpg 4
-photo/guitar/n03272010_3732.jpg 4
-photo/guitar/n03272010_5483.jpg 4
-photo/guitar/n03272010_5887.jpg 4
-photo/guitar/n03272010_6255.jpg 4
-photo/guitar/n03272010_6291.jpg 4
-photo/guitar/n03272010_6662.jpg 4
-photo/guitar/n03272010_6727.jpg 4
-photo/guitar/n03272010_6737.jpg 4
-photo/guitar/n03272010_6799.jpg 4
-photo/guitar/n03272010_6809.jpg 4
-photo/guitar/n03272010_6820.jpg 4
-photo/guitar/n03272010_6926.jpg 4
-photo/guitar/n03272010_7092.jpg 4
-photo/guitar/n03272010_7390.jpg 4
-photo/guitar/n03272010_7729.jpg 4
-photo/guitar/n03272010_9557.jpg 4
-photo/guitar/n03272010_9858.jpg 4
-photo/guitar/n03272010_9899.jpg 4
-photo/guitar/n03272010_10441.jpg 4
-photo/guitar/n03272010_10795.jpg 4
-photo/guitar/n03272010_12151.jpg 4
-photo/guitar/n03272010_12468.jpg 4
-photo/guitar/n03467517_6423.jpg 4
-photo/guitar/n03467517_7007.jpg 4
-photo/guitar/n03467517_8929.jpg 4
-photo/guitar/n03467517_11020.jpg 4
-photo/guitar/n03467517_12925.jpg 4
-photo/guitar/n03467517_17233.jpg 4
-photo/guitar/n03467517_19701.jpg 4
-photo/guitar/n03467517_21884.jpg 4
-photo/guitar/n03467517_22246.jpg 4
-photo/guitar/n03467517_22785.jpg 4
-photo/guitar/n03467517_23229.jpg 4
-photo/guitar/n03467517_24525.jpg 4
-photo/horse/105_0002.jpg 5
-photo/horse/105_0003.jpg 5
-photo/horse/105_0007.jpg 5
-photo/horse/105_0008.jpg 5
-photo/horse/105_0009.jpg 5
-photo/horse/105_0010.jpg 5
-photo/horse/105_0012.jpg 5
-photo/horse/105_0013.jpg 5
-photo/horse/105_0018.jpg 5
-photo/horse/105_0022.jpg 5
-photo/horse/105_0025.jpg 5
-photo/horse/105_0028.jpg 5
-photo/horse/105_0029.jpg 5
-photo/horse/105_0030.jpg 5
-photo/horse/105_0033.jpg 5
-photo/horse/105_0037.jpg 5
-photo/horse/105_0038.jpg 5
-photo/horse/105_0041.jpg 5
-photo/horse/105_0042.jpg 5
-photo/horse/105_0047.jpg 5
-photo/horse/105_0048.jpg 5
-photo/horse/105_0050.jpg 5
-photo/horse/105_0053.jpg 5
-photo/horse/105_0056.jpg 5
-photo/horse/105_0058.jpg 5
-photo/horse/105_0059.jpg 5
-photo/horse/105_0063.jpg 5
-photo/horse/105_0066.jpg 5
-photo/horse/105_0067.jpg 5
-photo/horse/105_0070.jpg 5
-photo/horse/105_0071.jpg 5
-photo/horse/105_0072.jpg 5
-photo/horse/105_0073.jpg 5
-photo/horse/105_0074.jpg 5
-photo/horse/105_0075.jpg 5
-photo/horse/105_0076.jpg 5
-photo/horse/105_0077.jpg 5
-photo/horse/105_0081.jpg 5
-photo/horse/105_0083.jpg 5
-photo/horse/105_0084.jpg 5
-photo/horse/105_0086.jpg 5
-photo/horse/105_0088.jpg 5
-photo/horse/105_0089.jpg 5
-photo/horse/105_0090.jpg 5
-photo/horse/105_0091.jpg 5
-photo/horse/105_0092.jpg 5
-photo/horse/105_0099.jpg 5
-photo/horse/105_0101.jpg 5
-photo/horse/105_0103.jpg 5
-photo/horse/105_0104.jpg 5
-photo/horse/105_0105.jpg 5
-photo/horse/105_0106.jpg 5
-photo/horse/105_0108.jpg 5
-photo/horse/105_0109.jpg 5
-photo/horse/105_0111.jpg 5
-photo/horse/105_0115.jpg 5
-photo/horse/105_0116.jpg 5
-photo/horse/105_0118.jpg 5
-photo/horse/105_0120.jpg 5
-photo/horse/105_0121.jpg 5
-photo/horse/105_0123.jpg 5
-photo/horse/105_0124.jpg 5
-photo/horse/105_0125.jpg 5
-photo/horse/105_0130.jpg 5
-photo/horse/105_0131.jpg 5
-photo/horse/105_0134.jpg 5
-photo/horse/105_0135.jpg 5
-photo/horse/105_0137.jpg 5
-photo/horse/105_0138.jpg 5
-photo/horse/105_0139.jpg 5
-photo/horse/105_0140.jpg 5
-photo/horse/105_0143.jpg 5
-photo/horse/105_0146.jpg 5
-photo/horse/105_0147.jpg 5
-photo/horse/105_0149.jpg 5
-photo/horse/105_0150.jpg 5
-photo/horse/105_0154.jpg 5
-photo/horse/105_0156.jpg 5
-photo/horse/105_0157.jpg 5
-photo/horse/105_0161.jpg 5
-photo/horse/105_0164.jpg 5
-photo/horse/105_0165.jpg 5
-photo/horse/105_0172.jpg 5
-photo/horse/105_0173.jpg 5
-photo/horse/105_0174.jpg 5
-photo/horse/105_0175.jpg 5
-photo/horse/105_0176.jpg 5
-photo/horse/105_0177.jpg 5
-photo/horse/105_0180.jpg 5
-photo/horse/105_0181.jpg 5
-photo/horse/105_0182.jpg 5
-photo/horse/105_0183.jpg 5
-photo/horse/105_0184.jpg 5
-photo/horse/105_0185.jpg 5
-photo/horse/105_0193.jpg 5
-photo/horse/105_0194.jpg 5
-photo/horse/105_0196.jpg 5
-photo/horse/105_0199.jpg 5
-photo/horse/105_0203.jpg 5
-photo/horse/105_0205.jpg 5
-photo/horse/105_0206.jpg 5
-photo/horse/105_0207.jpg 5
-photo/horse/105_0208.jpg 5
-photo/horse/105_0210.jpg 5
-photo/horse/105_0215.jpg 5
-photo/horse/105_0223.jpg 5
-photo/horse/105_0229.jpg 5
-photo/horse/105_0230.jpg 5
-photo/horse/105_0232.jpg 5
-photo/horse/105_0236.jpg 5
-photo/horse/105_0240.jpg 5
-photo/horse/105_0241.jpg 5
-photo/horse/105_0249.jpg 5
-photo/horse/105_0253.jpg 5
-photo/horse/105_0255.jpg 5
-photo/horse/105_0257.jpg 5
-photo/horse/105_0260.jpg 5
-photo/horse/105_0264.jpg 5
-photo/horse/105_0265.jpg 5
-photo/horse/105_0266.jpg 5
-photo/horse/105_0269.jpg 5
-photo/horse/105_0270.jpg 5
-photo/horse/n02374451_54.jpg 5
-photo/horse/n02374451_245.jpg 5
-photo/horse/n02374451_257.jpg 5
-photo/horse/n02374451_262.jpg 5
-photo/horse/n02374451_388.jpg 5
-photo/horse/n02374451_468.jpg 5
-photo/horse/n02374451_490.jpg 5
-photo/horse/n02374451_503.jpg 5
-photo/horse/n02374451_597.jpg 5
-photo/horse/n02374451_777.jpg 5
-photo/horse/n02374451_779.jpg 5
-photo/horse/n02374451_916.jpg 5
-photo/horse/n02374451_925.jpg 5
-photo/horse/n02374451_929.jpg 5
-photo/horse/n02374451_1189.jpg 5
-photo/horse/n02374451_1234.jpg 5
-photo/horse/n02374451_1443.jpg 5
-photo/horse/n02374451_2248.jpg 5
-photo/horse/n02374451_2372.jpg 5
-photo/horse/n02374451_2478.jpg 5
-photo/horse/n02374451_2616.jpg 5
-photo/horse/n02374451_2733.jpg 5
-photo/horse/n02374451_2743.jpg 5
-photo/horse/n02374451_2825.jpg 5
-photo/horse/n02374451_3388.jpg 5
-photo/horse/n02374451_4538.jpg 5
-photo/horse/n02374451_4553.jpg 5
-photo/horse/n02374451_4795.jpg 5
-photo/horse/n02374451_4818.jpg 5
-photo/horse/n02374451_4963.jpg 5
-photo/horse/n02374451_6192.jpg 5
-photo/horse/n02374451_7631.jpg 5
-photo/horse/n02374451_8065.jpg 5
-photo/horse/n02374451_8526.jpg 5
-photo/horse/n02374451_8718.jpg 5
-photo/horse/n02374451_8744.jpg 5
-photo/horse/n02374451_9064.jpg 5
-photo/horse/n02374451_9443.jpg 5
-photo/horse/n02374451_9892.jpg 5
-photo/horse/n02374451_10081.jpg 5
-photo/horse/n02374451_10098.jpg 5
-photo/horse/n02374451_10331.jpg 5
-photo/horse/n02374451_10669.jpg 5
-photo/horse/n02374451_10761.jpg 5
-photo/horse/n02374451_10809.jpg 5
-photo/horse/n02374451_11479.jpg 5
-photo/horse/n02374451_11483.jpg 5
-photo/horse/n02374451_11492.jpg 5
-photo/horse/n02374451_11894.jpg 5
-photo/horse/n02374451_12128.jpg 5
-photo/horse/n02374451_12174.jpg 5
-photo/horse/n02374451_12225.jpg 5
-photo/horse/n02374451_12230.jpg 5
-photo/horse/n02374451_12250.jpg 5
-photo/horse/n02374451_12254.jpg 5
-photo/horse/n02374451_12418.jpg 5
-photo/horse/n02374451_12792.jpg 5
-photo/horse/n02374451_12847.jpg 5
-photo/horse/n02374451_13159.jpg 5
-photo/horse/n02374451_13718.jpg 5
-photo/horse/n02374451_14119.jpg 5
-photo/horse/n02374451_14233.jpg 5
-photo/horse/n02374451_14399.jpg 5
-photo/horse/n02374451_14425.jpg 5
-photo/horse/n02374451_14738.jpg 5
-photo/horse/n02374451_14846.jpg 5
-photo/horse/n02374451_15307.jpg 5
-photo/horse/n02374451_15440.jpg 5
-photo/horse/n02374451_15453.jpg 5
-photo/horse/n02374451_15669.jpg 5
-photo/horse/n02374451_16358.jpg 5
-photo/horse/n02374451_17384.jpg 5
-photo/horse/n02374451_17474.jpg 5
-photo/horse/n02374451_17634.jpg 5
-photo/horse/n02374451_18192.jpg 5
-photo/horse/n02374451_18570.jpg 5
-photo/horse/n02374451_18909.jpg 5
-photo/house/pic_010.jpg 6
-photo/house/pic_011.jpg 6
-photo/house/pic_012.jpg 6
-photo/house/pic_013.jpg 6
-photo/house/pic_014.jpg 6
-photo/house/pic_015.jpg 6
-photo/house/pic_016.jpg 6
-photo/house/pic_017.jpg 6
-photo/house/pic_018.jpg 6
-photo/house/pic_021.jpg 6
-photo/house/pic_019.jpg 6
-photo/house/pic_022.jpg 6
-photo/house/pic_020.jpg 6
-photo/house/pic_023.jpg 6
-photo/house/pic_024.jpg 6
-photo/house/pic_026.jpg 6
-photo/house/pic_025.jpg 6
-photo/house/pic_027.jpg 6
-photo/house/pic_028.jpg 6
-photo/house/pic_029.jpg 6
-photo/house/pic_031.jpg 6
-photo/house/pic_239.jpg 6
-photo/house/pic_240.jpg 6
-photo/house/pic_241.jpg 6
-photo/house/pic_242.jpg 6
-photo/house/pic_248.jpg 6
-photo/house/pic_246.jpg 6
-photo/house/pic_247.jpg 6
-photo/house/pic_244.jpg 6
-photo/house/pic_243.jpg 6
-photo/house/pic_250.jpg 6
-photo/house/pic_249.jpg 6
-photo/house/pic_251.jpg 6
-photo/house/pic_252.jpg 6
-photo/house/pic_253.jpg 6
-photo/house/pic_256.jpg 6
-photo/house/pic_255.jpg 6
-photo/house/pic_257.jpg 6
-photo/house/pic_260.jpg 6
-photo/house/pic_032.jpg 6
-photo/house/pic_030.jpg 6
-photo/house/pic_033.jpg 6
-photo/house/pic_034.jpg 6
-photo/house/pic_035.jpg 6
-photo/house/pic_036.jpg 6
-photo/house/pic_037.jpg 6
-photo/house/pic_038.jpg 6
-photo/house/pic_039.jpg 6
-photo/house/pic_042.jpg 6
-photo/house/pic_041.jpg 6
-photo/house/pic_040.jpg 6
-photo/house/pic_045.jpg 6
-photo/house/pic_046.jpg 6
-photo/house/pic_044.jpg 6
-photo/house/pic_043.jpg 6
-photo/house/pic_047.jpg 6
-photo/house/pic_048.jpg 6
-photo/house/pic_049.jpg 6
-photo/house/pic_050.jpg 6
-photo/house/pic_058.jpg 6
-photo/house/pic_216.jpg 6
-photo/house/pic_217.jpg 6
-photo/house/pic_220.jpg 6
-photo/house/pic_221.jpg 6
-photo/house/pic_222.jpg 6
-photo/house/pic_223.jpg 6
-photo/house/pic_224.jpg 6
-photo/house/pic_225.jpg 6
-photo/house/pic_226.jpg 6
-photo/house/pic_228.jpg 6
-photo/house/pic_229.jpg 6
-photo/house/pic_230.jpg 6
-photo/house/pic_231.jpg 6
-photo/house/pic_232.jpg 6
-photo/house/pic_233.jpg 6
-photo/house/pic_234.jpg 6
-photo/house/pic_235.jpg 6
-photo/house/pic_236.jpg 6
-photo/house/pic_238.jpg 6
-photo/house/pic_237.jpg 6
-photo/house/pic_067.jpg 6
-photo/house/pic_062.jpg 6
-photo/house/pic_075.jpg 6
-photo/house/pic_078.jpg 6
-photo/house/pic_079.jpg 6
-photo/house/pic_070.jpg 6
-photo/house/pic_066.jpg 6
-photo/house/pic_088.jpg 6
-photo/house/pic_081.jpg 6
-photo/house/pic_091.jpg 6
-photo/house/pic_072.jpg 6
-photo/house/pic_093.jpg 6
-photo/house/pic_086.jpg 6
-photo/house/pic_098.jpg 6
-photo/house/pic_096.jpg 6
-photo/house/pic_095.jpg 6
-photo/house/pic_094.jpg 6
-photo/house/pic_092.jpg 6
-photo/house/pic_090.jpg 6
-photo/house/pic_097.jpg 6
-photo/house/pic_061.jpg 6
-photo/house/pic_060.jpg 6
-photo/house/pic_057.jpg 6
-photo/house/pic_051.jpg 6
-photo/house/pic_054.jpg 6
-photo/house/pic_053.jpg 6
-photo/house/pic_052.jpg 6
-photo/house/pic_063.jpg 6
-photo/house/pic_059.jpg 6
-photo/house/pic_055.jpg 6
-photo/house/pic_056.jpg 6
-photo/house/pic_082.jpg 6
-photo/house/pic_080.jpg 6
-photo/house/pic_077.jpg 6
-photo/house/pic_076.jpg 6
-photo/house/pic_074.jpg 6
-photo/house/pic_073.jpg 6
-photo/house/pic_071.jpg 6
-photo/house/pic_069.jpg 6
-photo/house/pic_068.jpg 6
-photo/house/pic_065.jpg 6
-photo/house/pic_153.jpg 6
-photo/house/pic_156.jpg 6
-photo/house/pic_157.jpg 6
-photo/house/pic_158.jpg 6
-photo/house/pic_159.jpg 6
-photo/house/pic_160.jpg 6
-photo/house/pic_162.jpg 6
-photo/house/pic_161.jpg 6
-photo/house/pic_166.jpg 6
-photo/house/pic_165.jpg 6
-photo/house/pic_163.jpg 6
-photo/house/pic_164.jpg 6
-photo/house/pic_167.jpg 6
-photo/house/pic_168.jpg 6
-photo/house/pic_170.jpg 6
-photo/house/pic_169.jpg 6
-photo/house/pic_171.jpg 6
-photo/house/pic_172.jpg 6
-photo/house/pic_174.jpg 6
-photo/house/pic_175.jpg 6
-photo/house/pic_173.jpg 6
-photo/house/pic_134.jpg 6
-photo/house/pic_135.jpg 6
-photo/house/pic_136.jpg 6
-photo/house/pic_138.jpg 6
-photo/house/pic_139.jpg 6
-photo/house/pic_137.jpg 6
-photo/house/pic_140.jpg 6
-photo/house/pic_141.jpg 6
-photo/house/pic_143.jpg 6
-photo/house/pic_142.jpg 6
-photo/house/pic_144.jpg 6
-photo/house/pic_146.jpg 6
-photo/house/pic_145.jpg 6
-photo/house/pic_147.jpg 6
-photo/house/pic_148.jpg 6
-photo/house/pic_149.jpg 6
-photo/house/pic_150.jpg 6
-photo/house/pic_151.jpg 6
-photo/house/pic_154.jpg 6
-photo/house/pic_155.jpg 6
-photo/house/pic_197.jpg 6
-photo/house/pic_199.jpg 6
-photo/house/pic_200.jpg 6
-photo/house/pic_198.jpg 6
-photo/house/pic_202.jpg 6
-photo/house/pic_201.jpg 6
-photo/house/pic_204.jpg 6
-photo/house/pic_205.jpg 6
-photo/house/pic_203.jpg 6
-photo/house/pic_207.jpg 6
-photo/house/pic_206.jpg 6
-photo/house/pic_209.jpg 6
-photo/house/pic_208.jpg 6
-photo/house/pic_210.jpg 6
-photo/house/pic_211.jpg 6
-photo/house/pic_214.jpg 6
-photo/house/pic_213.jpg 6
-photo/house/pic_215.jpg 6
-photo/house/pic_219.jpg 6
-photo/house/pic_218.jpg 6
-photo/house/pic_280.jpg 6
-photo/house/pic_276.jpg 6
-photo/house/pic_287.jpg 6
-photo/house/pic_282.jpg 6
-photo/house/pic_283.jpg 6
-photo/house/pic_288.jpg 6
-photo/house/pic_289.jpg 6
-photo/house/pic_290.jpg 6
-photo/house/pic_281.jpg 6
-photo/house/pic_284.jpg 6
-photo/house/pic_089.jpg 6
-photo/house/pic_084.jpg 6
-photo/house/pic_085.jpg 6
-photo/house/pic_083.jpg 6
-photo/house/pic_099.jpg 6
-photo/house/pic_087.jpg 6
-photo/house/pic_106.jpg 6
-photo/house/pic_104.jpg 6
-photo/house/pic_103.jpg 6
-photo/house/pic_102.jpg 6
-photo/house/pic_101.jpg 6
-photo/house/pic_100.jpg 6
-photo/house/pic_110.jpg 6
-photo/house/pic_109.jpg 6
-photo/house/pic_108.jpg 6
-photo/house/pic_107.jpg 6
-photo/house/pic_111.jpg 6
-photo/house/pic_112.jpg 6
-photo/house/pic_113.jpg 6
-photo/house/pic_114.jpg 6
-photo/house/pic_262.jpg 6
-photo/house/pic_259.jpg 6
-photo/house/pic_264.jpg 6
-photo/house/pic_263.jpg 6
-photo/house/pic_265.jpg 6
-photo/house/pic_261.jpg 6
-photo/house/pic_266.jpg 6
-photo/house/pic_267.jpg 6
-photo/house/pic_269.jpg 6
-photo/house/pic_270.jpg 6
-photo/house/pic_268.jpg 6
-photo/house/pic_279.jpg 6
-photo/house/pic_278.jpg 6
-photo/house/pic_277.jpg 6
-photo/house/pic_275.jpg 6
-photo/house/pic_272.jpg 6
-photo/house/pic_274.jpg 6
-photo/house/pic_273.jpg 6
-photo/house/pic_271.jpg 6
-photo/house/pic_286.jpg 6
-photo/house/pic_285.jpg 6
-photo/house/pic_116.jpg 6
-photo/house/pic_115.jpg 6
-photo/house/pic_117.jpg 6
-photo/house/pic_118.jpg 6
-photo/house/pic_120.jpg 6
-photo/house/pic_119.jpg 6
-photo/house/pic_121.jpg 6
-photo/house/pic_122.jpg 6
-photo/house/pic_124.jpg 6
-photo/house/pic_123.jpg 6
-photo/house/pic_125.jpg 6
-photo/house/pic_126.jpg 6
-photo/house/pic_127.jpg 6
-photo/house/pic_128.jpg 6
-photo/house/pic_129.jpg 6
-photo/house/pic_130.jpg 6
-photo/house/pic_131.jpg 6
-photo/house/pic_132.jpg 6
-photo/house/pic_133.jpg 6
-photo/house/pic_001.jpg 6
-photo/house/pic_002.jpg 6
-photo/house/pic_003.jpg 6
-photo/house/pic_004.jpg 6
-photo/house/pic_005.jpg 6
-photo/house/pic_006.jpg 6
-photo/house/pic_007.jpg 6
-photo/house/pic_008.jpg 6
-photo/house/pic_178.jpg 6
-photo/house/pic_177.jpg 6
-photo/house/pic_176.jpg 6
-photo/house/pic_179.jpg 6
-photo/house/pic_181.jpg 6
-photo/house/pic_180.jpg 6
-photo/house/pic_185.jpg 6
-photo/house/pic_183.jpg 6
-photo/house/pic_184.jpg 6
-photo/house/pic_190.jpg 6
-photo/house/pic_188.jpg 6
-photo/house/pic_189.jpg 6
-photo/house/pic_186.jpg 6
-photo/house/pic_187.jpg 6
-photo/house/pic_191.jpg 6
-photo/house/pic_192.jpg 6
-photo/house/pic_194.jpg 6
-photo/house/pic_193.jpg 6
-photo/house/pic_195.jpg 6
-photo/house/pic_196.jpg 6
-photo/person/253_0001.jpg 7
-photo/person/253_0002.jpg 7
-photo/person/253_0003.jpg 7
-photo/person/253_0004.jpg 7
-photo/person/253_0005.jpg 7
-photo/person/253_0006.jpg 7
-photo/person/253_0007.jpg 7
-photo/person/253_0008.jpg 7
-photo/person/253_0009.jpg 7
-photo/person/253_0010.jpg 7
-photo/person/253_0011.jpg 7
-photo/person/253_0012.jpg 7
-photo/person/253_0013.jpg 7
-photo/person/253_0014.jpg 7
-photo/person/253_0015.jpg 7
-photo/person/253_0016.jpg 7
-photo/person/253_0017.jpg 7
-photo/person/253_0018.jpg 7
-photo/person/253_0019.jpg 7
-photo/person/253_0020.jpg 7
-photo/person/253_0021.jpg 7
-photo/person/253_0022.jpg 7
-photo/person/253_0023.jpg 7
-photo/person/253_0024.jpg 7
-photo/person/253_0025.jpg 7
-photo/person/253_0026.jpg 7
-photo/person/253_0027.jpg 7
-photo/person/253_0028.jpg 7
-photo/person/253_0029.jpg 7
-photo/person/253_0030.jpg 7
-photo/person/253_0031.jpg 7
-photo/person/253_0032.jpg 7
-photo/person/253_0033.jpg 7
-photo/person/253_0034.jpg 7
-photo/person/253_0035.jpg 7
-photo/person/253_0036.jpg 7
-photo/person/253_0037.jpg 7
-photo/person/253_0038.jpg 7
-photo/person/253_0039.jpg 7
-photo/person/253_0040.jpg 7
-photo/person/253_0041.jpg 7
-photo/person/253_0042.jpg 7
-photo/person/253_0043.jpg 7
-photo/person/253_0044.jpg 7
-photo/person/253_0045.jpg 7
-photo/person/253_0046.jpg 7
-photo/person/253_0047.jpg 7
-photo/person/253_0048.jpg 7
-photo/person/253_0049.jpg 7
-photo/person/253_0050.jpg 7
-photo/person/253_0051.jpg 7
-photo/person/253_0052.jpg 7
-photo/person/253_0053.jpg 7
-photo/person/253_0054.jpg 7
-photo/person/253_0055.jpg 7
-photo/person/253_0056.jpg 7
-photo/person/253_0057.jpg 7
-photo/person/253_0058.jpg 7
-photo/person/253_0059.jpg 7
-photo/person/253_0060.jpg 7
-photo/person/253_0061.jpg 7
-photo/person/253_0062.jpg 7
-photo/person/253_0063.jpg 7
-photo/person/253_0064.jpg 7
-photo/person/253_0065.jpg 7
-photo/person/253_0066.jpg 7
-photo/person/253_0067.jpg 7
-photo/person/253_0068.jpg 7
-photo/person/253_0069.jpg 7
-photo/person/253_0070.jpg 7
-photo/person/253_0071.jpg 7
-photo/person/253_0072.jpg 7
-photo/person/253_0073.jpg 7
-photo/person/253_0074.jpg 7
-photo/person/253_0075.jpg 7
-photo/person/253_0076.jpg 7
-photo/person/253_0077.jpg 7
-photo/person/253_0078.jpg 7
-photo/person/253_0079.jpg 7
-photo/person/253_0080.jpg 7
-photo/person/253_0081.jpg 7
-photo/person/253_0082.jpg 7
-photo/person/253_0083.jpg 7
-photo/person/253_0084.jpg 7
-photo/person/253_0085.jpg 7
-photo/person/253_0086.jpg 7
-photo/person/253_0087.jpg 7
-photo/person/253_0088.jpg 7
-photo/person/253_0089.jpg 7
-photo/person/253_0090.jpg 7
-photo/person/253_0091.jpg 7
-photo/person/253_0092.jpg 7
-photo/person/253_0093.jpg 7
-photo/person/253_0094.jpg 7
-photo/person/253_0095.jpg 7
-photo/person/253_0096.jpg 7
-photo/person/253_0097.jpg 7
-photo/person/253_0098.jpg 7
-photo/person/253_0099.jpg 7
-photo/person/253_0100.jpg 7
-photo/person/253_0101.jpg 7
-photo/person/253_0102.jpg 7
-photo/person/253_0103.jpg 7
-photo/person/253_0104.jpg 7
-photo/person/253_0105.jpg 7
-photo/person/253_0106.jpg 7
-photo/person/253_0107.jpg 7
-photo/person/253_0108.jpg 7
-photo/person/253_0109.jpg 7
-photo/person/253_0110.jpg 7
-photo/person/253_0111.jpg 7
-photo/person/253_0112.jpg 7
-photo/person/253_0113.jpg 7
-photo/person/253_0114.jpg 7
-photo/person/253_0115.jpg 7
-photo/person/253_0116.jpg 7
-photo/person/253_0117.jpg 7
-photo/person/253_0118.jpg 7
-photo/person/253_0119.jpg 7
-photo/person/253_0120.jpg 7
-photo/person/253_0121.jpg 7
-photo/person/253_0122.jpg 7
-photo/person/253_0123.jpg 7
-photo/person/253_0124.jpg 7
-photo/person/253_0125.jpg 7
-photo/person/253_0126.jpg 7
-photo/person/253_0127.jpg 7
-photo/person/253_0128.jpg 7
-photo/person/253_0129.jpg 7
-photo/person/253_0130.jpg 7
-photo/person/253_0131.jpg 7
-photo/person/253_0132.jpg 7
-photo/person/253_0133.jpg 7
-photo/person/253_0134.jpg 7
-photo/person/253_0135.jpg 7
-photo/person/253_0136.jpg 7
-photo/person/253_0137.jpg 7
-photo/person/253_0138.jpg 7
-photo/person/253_0139.jpg 7
-photo/person/253_0140.jpg 7
-photo/person/253_0141.jpg 7
-photo/person/253_0142.jpg 7
-photo/person/253_0143.jpg 7
-photo/person/253_0144.jpg 7
-photo/person/253_0145.jpg 7
-photo/person/253_0146.jpg 7
-photo/person/253_0147.jpg 7
-photo/person/253_0148.jpg 7
-photo/person/253_0149.jpg 7
-photo/person/253_0150.jpg 7
-photo/person/253_0151.jpg 7
-photo/person/253_0152.jpg 7
-photo/person/253_0153.jpg 7
-photo/person/253_0154.jpg 7
-photo/person/253_0155.jpg 7
-photo/person/253_0156.jpg 7
-photo/person/253_0157.jpg 7
-photo/person/253_0158.jpg 7
-photo/person/253_0159.jpg 7
-photo/person/253_0160.jpg 7
-photo/person/253_0161.jpg 7
-photo/person/253_0162.jpg 7
-photo/person/253_0163.jpg 7
-photo/person/253_0164.jpg 7
-photo/person/253_0165.jpg 7
-photo/person/253_0166.jpg 7
-photo/person/253_0167.jpg 7
-photo/person/253_0168.jpg 7
-photo/person/253_0169.jpg 7
-photo/person/253_0170.jpg 7
-photo/person/253_0171.jpg 7
-photo/person/253_0172.jpg 7
-photo/person/253_0173.jpg 7
-photo/person/253_0174.jpg 7
-photo/person/253_0175.jpg 7
-photo/person/253_0176.jpg 7
-photo/person/253_0177.jpg 7
-photo/person/253_0178.jpg 7
-photo/person/253_0179.jpg 7
-photo/person/253_0180.jpg 7
-photo/person/253_0181.jpg 7
-photo/person/253_0182.jpg 7
-photo/person/253_0183.jpg 7
-photo/person/253_0184.jpg 7
-photo/person/253_0185.jpg 7
-photo/person/253_0186.jpg 7
-photo/person/253_0187.jpg 7
-photo/person/253_0188.jpg 7
-photo/person/253_0189.jpg 7
-photo/person/253_0190.jpg 7
-photo/person/253_0191.jpg 7
-photo/person/253_0192.jpg 7
-photo/person/253_0193.jpg 7
-photo/person/253_0194.jpg 7
-photo/person/253_0195.jpg 7
-photo/person/253_0196.jpg 7
-photo/person/253_0197.jpg 7
-photo/person/253_0198.jpg 7
-photo/person/253_0199.jpg 7
-photo/person/253_0200.jpg 7
-photo/person/253_0201.jpg 7
-photo/person/253_0202.jpg 7
-photo/person/253_0203.jpg 7
-photo/person/253_0204.jpg 7
-photo/person/253_0205.jpg 7
-photo/person/253_0206.jpg 7
-photo/person/253_0207.jpg 7
-photo/person/253_0208.jpg 7
-photo/person/253_0209.jpg 7
-photo/person/253_0210.jpg 7
-photo/person/253_0211.jpg 7
-photo/person/253_0212.jpg 7
-photo/person/253_0213.jpg 7
-photo/person/253_0214.jpg 7
-photo/person/253_0215.jpg 7
-photo/person/253_0216.jpg 7
-photo/person/253_0217.jpg 7
-photo/person/253_0218.jpg 7
-photo/person/253_0219.jpg 7
-photo/person/253_0220.jpg 7
-photo/person/253_0221.jpg 7
-photo/person/253_0222.jpg 7
-photo/person/253_0223.jpg 7
-photo/person/253_0224.jpg 7
-photo/person/253_0225.jpg 7
-photo/person/253_0226.jpg 7
-photo/person/253_0227.jpg 7
-photo/person/253_0228.jpg 7
-photo/person/253_0229.jpg 7
-photo/person/253_0230.jpg 7
-photo/person/253_0231.jpg 7
-photo/person/253_0232.jpg 7
-photo/person/253_0233.jpg 7
-photo/person/253_0234.jpg 7
-photo/person/253_0235.jpg 7
-photo/person/253_0236.jpg 7
-photo/person/253_0237.jpg 7
-photo/person/253_0238.jpg 7
-photo/person/253_0239.jpg 7
-photo/person/253_0240.jpg 7
-photo/person/253_0241.jpg 7
-photo/person/253_0242.jpg 7
-photo/person/253_0243.jpg 7
-photo/person/253_0244.jpg 7
-photo/person/253_0245.jpg 7
-photo/person/253_0246.jpg 7
-photo/person/253_0247.jpg 7
-photo/person/253_0248.jpg 7
-photo/person/253_0249.jpg 7
-photo/person/253_0250.jpg 7
-photo/person/253_0251.jpg 7
-photo/person/253_0252.jpg 7
-photo/person/253_0253.jpg 7
-photo/person/253_0254.jpg 7
-photo/person/253_0255.jpg 7
-photo/person/253_0256.jpg 7
-photo/person/253_0257.jpg 7
-photo/person/253_0258.jpg 7
-photo/person/253_0259.jpg 7
-photo/person/253_0260.jpg 7
-photo/person/253_0261.jpg 7
-photo/person/253_0262.jpg 7
-photo/person/253_0263.jpg 7
-photo/person/253_0264.jpg 7
-photo/person/253_0265.jpg 7
-photo/person/253_0266.jpg 7
-photo/person/253_0267.jpg 7
-photo/person/253_0268.jpg 7
-photo/person/253_0269.jpg 7
-photo/person/253_0270.jpg 7
-photo/person/253_0271.jpg 7
-photo/person/253_0272.jpg 7
-photo/person/253_0273.jpg 7
-photo/person/253_0274.jpg 7
-photo/person/253_0275.jpg 7
-photo/person/253_0276.jpg 7
-photo/person/253_0277.jpg 7
-photo/person/253_0278.jpg 7
-photo/person/253_0279.jpg 7
-photo/person/253_0280.jpg 7
-photo/person/253_0281.jpg 7
-photo/person/253_0282.jpg 7
-photo/person/253_0283.jpg 7
-photo/person/253_0284.jpg 7
-photo/person/253_0285.jpg 7
-photo/person/253_0286.jpg 7
-photo/person/253_0287.jpg 7
-photo/person/253_0288.jpg 7
-photo/person/253_0289.jpg 7
-photo/person/253_0290.jpg 7
-photo/person/253_0291.jpg 7
-photo/person/253_0292.jpg 7
-photo/person/253_0293.jpg 7
-photo/person/253_0294.jpg 7
-photo/person/253_0295.jpg 7
-photo/person/253_0296.jpg 7
-photo/person/253_0297.jpg 7
-photo/person/253_0298.jpg 7
-photo/person/253_0299.jpg 7
-photo/person/253_0300.jpg 7
-photo/person/253_0301.jpg 7
-photo/person/253_0302.jpg 7
-photo/person/253_0303.jpg 7
-photo/person/253_0304.jpg 7
-photo/person/253_0305.jpg 7
-photo/person/253_0306.jpg 7
-photo/person/253_0307.jpg 7
-photo/person/253_0308.jpg 7
-photo/person/253_0309.jpg 7
-photo/person/253_0310.jpg 7
-photo/person/253_0311.jpg 7
-photo/person/253_0312.jpg 7
-photo/person/253_0313.jpg 7
-photo/person/253_0314.jpg 7
-photo/person/253_0315.jpg 7
-photo/person/253_0316.jpg 7
-photo/person/253_0317.jpg 7
-photo/person/253_0318.jpg 7
-photo/person/253_0319.jpg 7
-photo/person/253_0320.jpg 7
-photo/person/253_0321.jpg 7
-photo/person/253_0322.jpg 7
-photo/person/253_0323.jpg 7
-photo/person/253_0324.jpg 7
-photo/person/253_0325.jpg 7
-photo/person/253_0326.jpg 7
-photo/person/253_0327.jpg 7
-photo/person/253_0328.jpg 7
-photo/person/253_0329.jpg 7
-photo/person/253_0330.jpg 7
-photo/person/253_0331.jpg 7
-photo/person/253_0332.jpg 7
-photo/person/253_0333.jpg 7
-photo/person/253_0334.jpg 7
-photo/person/253_0335.jpg 7
-photo/person/253_0336.jpg 7
-photo/person/253_0337.jpg 7
-photo/person/253_0338.jpg 7
-photo/person/253_0339.jpg 7
-photo/person/253_0340.jpg 7
-photo/person/253_0341.jpg 7
-photo/person/253_0342.jpg 7
-photo/person/253_0343.jpg 7
-photo/person/253_0344.jpg 7
-photo/person/253_0345.jpg 7
-photo/person/253_0346.jpg 7
-photo/person/253_0347.jpg 7
-photo/person/253_0348.jpg 7
-photo/person/253_0349.jpg 7
-photo/person/253_0350.jpg 7
-photo/person/253_0351.jpg 7
-photo/person/253_0352.jpg 7
-photo/person/253_0353.jpg 7
-photo/person/253_0354.jpg 7
-photo/person/253_0355.jpg 7
-photo/person/253_0356.jpg 7
-photo/person/253_0357.jpg 7
-photo/person/253_0358.jpg 7
-photo/person/253_0359.jpg 7
-photo/person/253_0360.jpg 7
-photo/person/253_0361.jpg 7
-photo/person/253_0362.jpg 7
-photo/person/253_0363.jpg 7
-photo/person/253_0364.jpg 7
-photo/person/253_0365.jpg 7
-photo/person/253_0366.jpg 7
-photo/person/253_0367.jpg 7
-photo/person/253_0368.jpg 7
-photo/person/253_0369.jpg 7
-photo/person/253_0370.jpg 7
-photo/person/253_0371.jpg 7
-photo/person/253_0372.jpg 7
-photo/person/253_0373.jpg 7
-photo/person/253_0374.jpg 7
-photo/person/253_0375.jpg 7
-photo/person/253_0376.jpg 7
-photo/person/253_0377.jpg 7
-photo/person/253_0378.jpg 7
-photo/person/253_0379.jpg 7
-photo/person/253_0380.jpg 7
-photo/person/253_0381.jpg 7
-photo/person/253_0382.jpg 7
-photo/person/253_0383.jpg 7
-photo/person/253_0384.jpg 7
-photo/person/253_0385.jpg 7
-photo/person/253_0386.jpg 7
-photo/person/253_0387.jpg 7
-photo/person/253_0388.jpg 7
-photo/person/253_0390.jpg 7
-photo/person/253_0393.jpg 7
-photo/person/253_0394.jpg 7
-photo/person/253_0395.jpg 7
-photo/person/253_0396.jpg 7
-photo/person/253_0397.jpg 7
-photo/person/253_0398.jpg 7
-photo/person/253_0399.jpg 7
-photo/person/253_0400.jpg 7
-photo/person/253_0401.jpg 7
-photo/person/253_0402.jpg 7
-photo/person/253_0403.jpg 7
-photo/person/253_0404.jpg 7
-photo/person/253_0405.jpg 7
-photo/person/253_0406.jpg 7
-photo/person/253_0407.jpg 7
-photo/person/253_0408.jpg 7
-photo/person/253_0409.jpg 7
-photo/person/253_0410.jpg 7
-photo/person/253_0411.jpg 7
-photo/person/253_0412.jpg 7
-photo/person/253_0413.jpg 7
-photo/person/253_0414.jpg 7
-photo/person/253_0415.jpg 7
-photo/person/253_0416.jpg 7
-photo/person/253_0417.jpg 7
-photo/person/253_0418.jpg 7
-photo/person/253_0419.jpg 7
-photo/person/253_0420.jpg 7
-photo/person/253_0421.jpg 7
-photo/person/253_0422.jpg 7
-photo/person/253_0423.jpg 7
-photo/person/253_0424.jpg 7
-photo/person/253_0425.jpg 7
-photo/person/253_0426.jpg 7
-photo/person/253_0427.jpg 7
-photo/person/253_0428.jpg 7
-photo/person/253_0429.jpg 7
-photo/person/253_0430.jpg 7
-photo/person/253_0431.jpg 7
-photo/person/253_0432.jpg 7
-photo/person/253_0433.jpg 7
-photo/person/253_0434.jpg 7
-photo/person/253_0435.jpg 7
diff --git a/data/pacs_split/photo_train_kfold.txt b/data/pacs_split/photo_train_kfold.txt
deleted file mode 100644
index 5edd1d10a..000000000
--- a/data/pacs_split/photo_train_kfold.txt
+++ /dev/null
@@ -1,1499 +0,0 @@
-photo/dog/056_0022.jpg 1
-photo/dog/056_0023.jpg 1
-photo/dog/056_0024.jpg 1
-photo/dog/056_0026.jpg 1
-photo/dog/056_0027.jpg 1
-photo/dog/056_0028.jpg 1
-photo/dog/056_0029.jpg 1
-photo/dog/056_0030.jpg 1
-photo/dog/056_0031.jpg 1
-photo/dog/056_0032.jpg 1
-photo/dog/056_0033.jpg 1
-photo/dog/056_0034.jpg 1
-photo/dog/056_0035.jpg 1
-photo/dog/056_0036.jpg 1
-photo/dog/056_0037.jpg 1
-photo/dog/056_0038.jpg 1
-photo/dog/056_0039.jpg 1
-photo/dog/056_0040.jpg 1
-photo/dog/056_0041.jpg 1
-photo/dog/056_0042.jpg 1
-photo/dog/056_0043.jpg 1
-photo/dog/056_0045.jpg 1
-photo/dog/056_0046.jpg 1
-photo/dog/056_0047.jpg 1
-photo/dog/056_0048.jpg 1
-photo/dog/056_0049.jpg 1
-photo/dog/056_0050.jpg 1
-photo/dog/056_0051.jpg 1
-photo/dog/056_0052.jpg 1
-photo/dog/056_0053.jpg 1
-photo/dog/056_0054.jpg 1
-photo/dog/056_0055.jpg 1
-photo/dog/056_0056.jpg 1
-photo/dog/056_0057.jpg 1
-photo/dog/056_0058.jpg 1
-photo/dog/056_0059.jpg 1
-photo/dog/056_0060.jpg 1
-photo/dog/056_0062.jpg 1
-photo/dog/056_0063.jpg 1
-photo/dog/056_0064.jpg 1
-photo/dog/056_0065.jpg 1
-photo/dog/056_0066.jpg 1
-photo/dog/056_0067.jpg 1
-photo/dog/056_0068.jpg 1
-photo/dog/056_0069.jpg 1
-photo/dog/056_0070.jpg 1
-photo/dog/056_0071.jpg 1
-photo/dog/056_0072.jpg 1
-photo/dog/056_0073.jpg 1
-photo/dog/056_0074.jpg 1
-photo/dog/056_0075.jpg 1
-photo/dog/056_0076.jpg 1
-photo/dog/056_0077.jpg 1
-photo/dog/056_0078.jpg 1
-photo/dog/056_0079.jpg 1
-photo/dog/056_0080.jpg 1
-photo/dog/056_0081.jpg 1
-photo/dog/056_0082.jpg 1
-photo/dog/056_0083.jpg 1
-photo/dog/056_0084.jpg 1
-photo/dog/056_0085.jpg 1
-photo/dog/056_0086.jpg 1
-photo/dog/056_0087.jpg 1
-photo/dog/056_0088.jpg 1
-photo/dog/056_0089.jpg 1
-photo/dog/056_0090.jpg 1
-photo/dog/056_0091.jpg 1
-photo/dog/056_0092.jpg 1
-photo/dog/056_0093.jpg 1
-photo/dog/056_0095.jpg 1
-photo/dog/056_0097.jpg 1
-photo/dog/056_0098.jpg 1
-photo/dog/056_0099.jpg 1
-photo/dog/056_0101.jpg 1
-photo/dog/056_0102.jpg 1
-photo/dog/n02103406_343.jpg 1
-photo/dog/n02103406_346.jpg 1
-photo/dog/n02103406_371.jpg 1
-photo/dog/n02103406_865.jpg 1
-photo/dog/n02103406_936.jpg 1
-photo/dog/n02103406_995.jpg 1
-photo/dog/n02103406_1011.jpg 1
-photo/dog/n02103406_1138.jpg 1
-photo/dog/n02103406_1170.jpg 1
-photo/dog/n02103406_1247.jpg 1
-photo/dog/n02103406_1599.jpg 1
-photo/dog/n02103406_1754.jpg 1
-photo/dog/n02103406_2209.jpg 1
-photo/dog/n02103406_2706.jpg 1
-photo/dog/n02103406_2954.jpg 1
-photo/dog/n02103406_3056.jpg 1
-photo/dog/n02103406_3108.jpg 1
-photo/dog/n02103406_3132.jpg 1
-photo/dog/n02103406_3255.jpg 1
-photo/dog/n02103406_3299.jpg 1
-photo/dog/n02103406_3326.jpg 1
-photo/dog/n02103406_3401.jpg 1
-photo/dog/n02103406_3538.jpg 1
-photo/dog/n02103406_3743.jpg 1
-photo/dog/n02103406_3750.jpg 1
-photo/dog/n02103406_3964.jpg 1
-photo/dog/n02103406_4068.jpg 1
-photo/dog/n02103406_4849.jpg 1
-photo/dog/n02103406_4916.jpg 1
-photo/dog/n02103406_5035.jpg 1
-photo/dog/n02103406_5216.jpg 1
-photo/dog/n02103406_5224.jpg 1
-photo/dog/n02103406_5456.jpg 1
-photo/dog/n02103406_5505.jpg 1
-photo/dog/n02103406_5563.jpg 1
-photo/dog/n02103406_5601.jpg 1
-photo/dog/n02103406_6274.jpg 1
-photo/dog/n02103406_6461.jpg 1
-photo/dog/n02103406_6530.jpg 1
-photo/dog/n02103406_6857.jpg 1
-photo/dog/n02103406_7201.jpg 1
-photo/dog/n02103406_7368.jpg 1
-photo/dog/n02103406_7521.jpg 1
-photo/dog/n02103406_7708.jpg 1
-photo/dog/n02103406_8004.jpg 1
-photo/dog/n02103406_8280.jpg 1
-photo/dog/n02103406_8362.jpg 1
-photo/dog/n02103406_8421.jpg 1
-photo/dog/n02103406_13049.jpg 1
-photo/dog/n02106662_466.jpg 1
-photo/dog/n02106662_928.jpg 1
-photo/dog/n02106662_1874.jpg 1
-photo/dog/n02106662_1922.jpg 1
-photo/dog/n02106662_2101.jpg 1
-photo/dog/n02106662_2157.jpg 1
-photo/dog/n02106662_2377.jpg 1
-photo/dog/n02106662_2740.jpg 1
-photo/dog/n02106662_5001.jpg 1
-photo/dog/n02106662_7885.jpg 1
-photo/dog/n02106662_7960.jpg 1
-photo/dog/n02106662_8511.jpg 1
-photo/dog/n02106662_8870.jpg 1
-photo/dog/n02106662_10406.jpg 1
-photo/dog/n02106662_11133.jpg 1
-photo/dog/n02106662_13178.jpg 1
-photo/dog/n02106662_13912.jpg 1
-photo/dog/n02106662_15858.jpg 1
-photo/dog/n02106662_18402.jpg 1
-photo/dog/n02106662_18405.jpg 1
-photo/dog/n02106662_18922.jpg 1
-photo/dog/n02106662_18953.jpg 1
-photo/dog/n02106662_24019.jpg 1
-photo/dog/n02106662_24577.jpg 1
-photo/dog/n02106662_24786.jpg 1
-photo/dog/n02106662_25917.jpg 1
-photo/dog/n02106662_26549.jpg 1
-photo/dog/n02106662_27393.jpg 1
-photo/dog/n02109525_704.jpg 1
-photo/dog/n02109525_1893.jpg 1
-photo/dog/n02109525_3202.jpg 1
-photo/dog/n02109525_3782.jpg 1
-photo/dog/n02109525_5013.jpg 1
-photo/dog/n02109525_5583.jpg 1
-photo/dog/n02109525_5966.jpg 1
-photo/dog/n02109525_6693.jpg 1
-photo/dog/n02109525_7874.jpg 1
-photo/dog/n02109525_8211.jpg 1
-photo/dog/n02109525_8457.jpg 1
-photo/dog/n02109525_9037.jpg 1
-photo/dog/n02109525_10297.jpg 1
-photo/dog/n02109525_11444.jpg 1
-photo/dog/n02109525_12875.jpg 1
-photo/dog/n02109525_13700.jpg 1
-photo/dog/n02109525_16346.jpg 1
-photo/dog/n02109525_18347.jpg 1
-photo/elephant/064_0022.jpg 2
-photo/elephant/064_0023.jpg 2
-photo/elephant/064_0024.jpg 2
-photo/elephant/064_0025.jpg 2
-photo/elephant/064_0030.jpg 2
-photo/elephant/064_0031.jpg 2
-photo/elephant/064_0032.jpg 2
-photo/elephant/064_0033.jpg 2
-photo/elephant/064_0034.jpg 2
-photo/elephant/064_0035.jpg 2
-photo/elephant/064_0036.jpg 2
-photo/elephant/064_0037.jpg 2
-photo/elephant/064_0038.jpg 2
-photo/elephant/064_0039.jpg 2
-photo/elephant/064_0040.jpg 2
-photo/elephant/064_0041.jpg 2
-photo/elephant/064_0042.jpg 2
-photo/elephant/064_0043.jpg 2
-photo/elephant/064_0044.jpg 2
-photo/elephant/064_0045.jpg 2
-photo/elephant/064_0047.jpg 2
-photo/elephant/064_0048.jpg 2
-photo/elephant/064_0049.jpg 2
-photo/elephant/064_0051.jpg 2
-photo/elephant/064_0052.jpg 2
-photo/elephant/064_0053.jpg 2
-photo/elephant/064_0054.jpg 2
-photo/elephant/064_0055.jpg 2
-photo/elephant/064_0056.jpg 2
-photo/elephant/064_0057.jpg 2
-photo/elephant/064_0058.jpg 2
-photo/elephant/064_0059.jpg 2
-photo/elephant/064_0060.jpg 2
-photo/elephant/064_0061.jpg 2
-photo/elephant/064_0062.jpg 2
-photo/elephant/064_0063.jpg 2
-photo/elephant/064_0064.jpg 2
-photo/elephant/064_0065.jpg 2
-photo/elephant/064_0066.jpg 2
-photo/elephant/064_0067.jpg 2
-photo/elephant/064_0068.jpg 2
-photo/elephant/064_0070.jpg 2
-photo/elephant/064_0071.jpg 2
-photo/elephant/064_0072.jpg 2
-photo/elephant/064_0073.jpg 2
-photo/elephant/064_0074.jpg 2
-photo/elephant/064_0075.jpg 2
-photo/elephant/064_0076.jpg 2
-photo/elephant/064_0077.jpg 2
-photo/elephant/064_0078.jpg 2
-photo/elephant/064_0079.jpg 2
-photo/elephant/064_0080.jpg 2
-photo/elephant/064_0081.jpg 2
-photo/elephant/064_0084.jpg 2
-photo/elephant/064_0085.jpg 2
-photo/elephant/064_0086.jpg 2
-photo/elephant/064_0087.jpg 2
-photo/elephant/064_0088.jpg 2
-photo/elephant/064_0089.jpg 2
-photo/elephant/064_0090.jpg 2
-photo/elephant/064_0092.jpg 2
-photo/elephant/064_0093.jpg 2
-photo/elephant/064_0094.jpg 2
-photo/elephant/064_0095.jpg 2
-photo/elephant/064_0096.jpg 2
-photo/elephant/064_0097.jpg 2
-photo/elephant/064_0098.jpg 2
-photo/elephant/064_0099.jpg 2
-photo/elephant/064_0100.jpg 2
-photo/elephant/064_0101.jpg 2
-photo/elephant/064_0102.jpg 2
-photo/elephant/064_0105.jpg 2
-photo/elephant/064_0106.jpg 2
-photo/elephant/064_0107.jpg 2
-photo/elephant/064_0108.jpg 2
-photo/elephant/064_0109.jpg 2
-photo/elephant/064_0110.jpg 2
-photo/elephant/064_0111.jpg 2
-photo/elephant/064_0112.jpg 2
-photo/elephant/064_0113.jpg 2
-photo/elephant/064_0114.jpg 2
-photo/elephant/064_0115.jpg 2
-photo/elephant/064_0116.jpg 2
-photo/elephant/064_0117.jpg 2
-photo/elephant/064_0118.jpg 2
-photo/elephant/064_0119.jpg 2
-photo/elephant/064_0120.jpg 2
-photo/elephant/064_0121.jpg 2
-photo/elephant/064_0122.jpg 2
-photo/elephant/064_0123.jpg 2
-photo/elephant/064_0124.jpg 2
-photo/elephant/064_0125.jpg 2
-photo/elephant/064_0126.jpg 2
-photo/elephant/064_0127.jpg 2
-photo/elephant/064_0129.jpg 2
-photo/elephant/064_0130.jpg 2
-photo/elephant/064_0131.jpg 2
-photo/elephant/n02503517_79.jpg 2
-photo/elephant/n02503517_86.jpg 2
-photo/elephant/n02503517_184.jpg 2
-photo/elephant/n02503517_194.jpg 2
-photo/elephant/n02503517_564.jpg 2
-photo/elephant/n02503517_753.jpg 2
-photo/elephant/n02503517_759.jpg 2
-photo/elephant/n02503517_792.jpg 2
-photo/elephant/n02503517_1292.jpg 2
-photo/elephant/n02503517_1359.jpg 2
-photo/elephant/n02503517_1383.jpg 2
-photo/elephant/n02503517_1415.jpg 2
-photo/elephant/n02503517_1453.jpg 2
-photo/elephant/n02503517_1583.jpg 2
-photo/elephant/n02503517_1829.jpg 2
-photo/elephant/n02503517_2061.jpg 2
-photo/elephant/n02503517_2444.jpg 2
-photo/elephant/n02503517_2547.jpg 2
-photo/elephant/n02503517_2802.jpg 2
-photo/elephant/n02503517_2804.jpg 2
-photo/elephant/n02503517_2925.jpg 2
-photo/elephant/n02503517_2993.jpg 2
-photo/elephant/n02503517_3037.jpg 2
-photo/elephant/n02503517_3072.jpg 2
-photo/elephant/n02503517_3108.jpg 2
-photo/elephant/n02503517_3799.jpg 2
-photo/elephant/n02503517_3803.jpg 2
-photo/elephant/n02503517_3808.jpg 2
-photo/elephant/n02503517_3879.jpg 2
-photo/elephant/n02503517_4221.jpg 2
-photo/elephant/n02503517_4247.jpg 2
-photo/elephant/n02503517_4253.jpg 2
-photo/elephant/n02503517_4413.jpg 2
-photo/elephant/n02503517_4605.jpg 2
-photo/elephant/n02503517_5117.jpg 2
-photo/elephant/n02503517_5287.jpg 2
-photo/elephant/n02503517_5418.jpg 2
-photo/elephant/n02503517_5420.jpg 2
-photo/elephant/n02503517_5527.jpg 2
-photo/elephant/n02503517_5892.jpg 2
-photo/elephant/n02503517_5909.jpg 2
-photo/elephant/n02503517_6032.jpg 2
-photo/elephant/n02503517_6232.jpg 2
-photo/elephant/n02503517_6396.jpg 2
-photo/elephant/n02503517_6479.jpg 2
-photo/elephant/n02503517_6611.jpg 2
-photo/elephant/n02503517_6624.jpg 2
-photo/elephant/n02503517_6661.jpg 2
-photo/elephant/n02503517_6784.jpg 2
-photo/elephant/n02503517_6880.jpg 2
-photo/elephant/n02503517_7020.jpg 2
-photo/elephant/n02503517_7031.jpg 2
-photo/elephant/n02503517_7083.jpg 2
-photo/elephant/n02503517_7173.jpg 2
-photo/elephant/n02503517_7211.jpg 2
-photo/elephant/n02503517_7393.jpg 2
-photo/elephant/n02503517_8137.jpg 2
-photo/elephant/n02503517_8205.jpg 2
-photo/elephant/n02503517_8222.jpg 2
-photo/elephant/n02503517_8265.jpg 2
-photo/elephant/n02503517_8292.jpg 2
-photo/elephant/n02503517_8518.jpg 2
-photo/elephant/n02503517_8571.jpg 2
-photo/elephant/n02503517_8757.jpg 2
-photo/elephant/n02503517_8901.jpg 2
-photo/elephant/n02503517_8904.jpg 2
-photo/elephant/n02503517_8938.jpg 2
-photo/elephant/n02503517_9043.jpg 2
-photo/elephant/n02503517_9154.jpg 2
-photo/elephant/n02503517_9241.jpg 2
-photo/elephant/n02503517_9270.jpg 2
-photo/elephant/n02503517_9827.jpg 2
-photo/elephant/n02503517_10036.jpg 2
-photo/elephant/n02503517_10075.jpg 2
-photo/elephant/n02503517_10193.jpg 2
-photo/elephant/n02503517_10275.jpg 2
-photo/elephant/n02503517_10300.jpg 2
-photo/elephant/n02503517_10439.jpg 2
-photo/elephant/n02503517_10440.jpg 2
-photo/elephant/n02503517_10528.jpg 2
-photo/elephant/n02503517_10558.jpg 2
-photo/elephant/n02503517_10778.jpg 2
-photo/elephant/n02503517_11873.jpg 2
-photo/elephant/n02503517_12688.jpg 2
-photo/giraffe/084_0020.jpg 3
-photo/giraffe/084_0021.jpg 3
-photo/giraffe/084_0022.jpg 3
-photo/giraffe/084_0023.jpg 3
-photo/giraffe/084_0024.jpg 3
-photo/giraffe/084_0025.jpg 3
-photo/giraffe/084_0026.jpg 3
-photo/giraffe/084_0027.jpg 3
-photo/giraffe/084_0028.jpg 3
-photo/giraffe/084_0029.jpg 3
-photo/giraffe/084_0030.jpg 3
-photo/giraffe/084_0031.jpg 3
-photo/giraffe/084_0032.jpg 3
-photo/giraffe/084_0033.jpg 3
-photo/giraffe/084_0034.jpg 3
-photo/giraffe/084_0035.jpg 3
-photo/giraffe/084_0036.jpg 3
-photo/giraffe/084_0038.jpg 3
-photo/giraffe/084_0039.jpg 3
-photo/giraffe/084_0040.jpg 3
-photo/giraffe/084_0041.jpg 3
-photo/giraffe/084_0042.jpg 3
-photo/giraffe/084_0043.jpg 3
-photo/giraffe/084_0044.jpg 3
-photo/giraffe/084_0045.jpg 3
-photo/giraffe/084_0046.jpg 3
-photo/giraffe/084_0047.jpg 3
-photo/giraffe/084_0048.jpg 3
-photo/giraffe/084_0049.jpg 3
-photo/giraffe/084_0050.jpg 3
-photo/giraffe/084_0051.jpg 3
-photo/giraffe/084_0052.jpg 3
-photo/giraffe/084_0053.jpg 3
-photo/giraffe/084_0054.jpg 3
-photo/giraffe/084_0055.jpg 3
-photo/giraffe/084_0056.jpg 3
-photo/giraffe/084_0057.jpg 3
-photo/giraffe/084_0058.jpg 3
-photo/giraffe/084_0059.jpg 3
-photo/giraffe/084_0060.jpg 3
-photo/giraffe/084_0061.jpg 3
-photo/giraffe/084_0062.jpg 3
-photo/giraffe/084_0063.jpg 3
-photo/giraffe/084_0064.jpg 3
-photo/giraffe/084_0065.jpg 3
-photo/giraffe/084_0066.jpg 3
-photo/giraffe/084_0067.jpg 3
-photo/giraffe/084_0068.jpg 3
-photo/giraffe/084_0069.jpg 3
-photo/giraffe/084_0070.jpg 3
-photo/giraffe/084_0071.jpg 3
-photo/giraffe/084_0072.jpg 3
-photo/giraffe/084_0073.jpg 3
-photo/giraffe/084_0074.jpg 3
-photo/giraffe/084_0075.jpg 3
-photo/giraffe/084_0076.jpg 3
-photo/giraffe/084_0077.jpg 3
-photo/giraffe/084_0078.jpg 3
-photo/giraffe/084_0079.jpg 3
-photo/giraffe/084_0080.jpg 3
-photo/giraffe/084_0081.jpg 3
-photo/giraffe/084_0082.jpg 3
-photo/giraffe/084_0083.jpg 3
-photo/giraffe/084_0084.jpg 3
-photo/giraffe/n02439033_67.jpg 3
-photo/giraffe/n02439033_221.jpg 3
-photo/giraffe/n02439033_376.jpg 3
-photo/giraffe/n02439033_569.jpg 3
-photo/giraffe/n02439033_628.jpg 3
-photo/giraffe/n02439033_866.jpg 3
-photo/giraffe/n02439033_991.jpg 3
-photo/giraffe/n02439033_1327.jpg 3
-photo/giraffe/n02439033_1508.jpg 3
-photo/giraffe/n02439033_2486.jpg 3
-photo/giraffe/n02439033_2500.jpg 3
-photo/giraffe/n02439033_2677.jpg 3
-photo/giraffe/n02439033_3944.jpg 3
-photo/giraffe/n02439033_4601.jpg 3
-photo/giraffe/n02439033_5004.jpg 3
-photo/giraffe/n02439033_5652.jpg 3
-photo/giraffe/n02439033_6552.jpg 3
-photo/giraffe/n02439033_8789.jpg 3
-photo/giraffe/n02439033_8846.jpg 3
-photo/giraffe/n02439033_8875.jpg 3
-photo/giraffe/n02439033_9257.jpg 3
-photo/giraffe/n02439033_9261.jpg 3
-photo/giraffe/n02439033_9398.jpg 3
-photo/giraffe/n02439033_9472.jpg 3
-photo/giraffe/n02439033_9598.jpg 3
-photo/giraffe/n02439033_9604.jpg 3
-photo/giraffe/n02439033_9679.jpg 3
-photo/giraffe/n02439033_9719.jpg 3
-photo/giraffe/n02439033_10130.jpg 3
-photo/giraffe/n02439033_10164.jpg 3
-photo/giraffe/n02439033_10279.jpg 3
-photo/giraffe/n02439033_10295.jpg 3
-photo/giraffe/n02439033_10453.jpg 3
-photo/giraffe/n02439033_10491.jpg 3
-photo/giraffe/n02439033_10541.jpg 3
-photo/giraffe/n02439033_10616.jpg 3
-photo/giraffe/n02439033_10802.jpg 3
-photo/giraffe/n02439033_10803.jpg 3
-photo/giraffe/n02439033_10811.jpg 3
-photo/giraffe/n02439033_10839.jpg 3
-photo/giraffe/n02439033_10919.jpg 3
-photo/giraffe/n02439033_11059.jpg 3
-photo/giraffe/n02439033_11114.jpg 3
-photo/giraffe/n02439033_11130.jpg 3
-photo/giraffe/n02439033_11215.jpg 3
-photo/giraffe/n02439033_11273.jpg 3
-photo/giraffe/n02439033_11328.jpg 3
-photo/giraffe/n02439033_11458.jpg 3
-photo/giraffe/n02439033_11486.jpg 3
-photo/giraffe/n02439033_11487.jpg 3
-photo/giraffe/n02439033_11504.jpg 3
-photo/giraffe/n02439033_11599.jpg 3
-photo/giraffe/n02439033_11627.jpg 3
-photo/giraffe/n02439033_11666.jpg 3
-photo/giraffe/n02439033_11683.jpg 3
-photo/giraffe/n02439033_11715.jpg 3
-photo/giraffe/n02439033_11845.jpg 3
-photo/giraffe/n02439033_11894.jpg 3
-photo/giraffe/n02439033_12059.jpg 3
-photo/giraffe/n02439033_12413.jpg 3
-photo/giraffe/n02439033_12485.jpg 3
-photo/giraffe/n02439033_12680.jpg 3
-photo/giraffe/n02439033_12930.jpg 3
-photo/giraffe/n02439033_12939.jpg 3
-photo/giraffe/n02439033_12987.jpg 3
-photo/giraffe/n02439033_13236.jpg 3
-photo/giraffe/n02439033_13384.jpg 3
-photo/giraffe/n02439033_13430.jpg 3
-photo/giraffe/n02439033_13602.jpg 3
-photo/giraffe/n02439033_13868.jpg 3
-photo/giraffe/n02439033_14040.jpg 3
-photo/giraffe/n02439033_14060.jpg 3
-photo/giraffe/n02439033_14121.jpg 3
-photo/giraffe/n02439033_14148.jpg 3
-photo/giraffe/n02439033_14184.jpg 3
-photo/giraffe/n02439033_14322.jpg 3
-photo/giraffe/n02439033_14497.jpg 3
-photo/giraffe/n02439033_14554.jpg 3
-photo/giraffe/n02439033_14580.jpg 3
-photo/giraffe/n02439033_14600.jpg 3
-photo/giraffe/n02439033_14609.jpg 3
-photo/giraffe/n02439033_14724.jpg 3
-photo/giraffe/n02439033_14764.jpg 3
-photo/giraffe/n02439033_14781.jpg 3
-photo/giraffe/n02439033_14784.jpg 3
-photo/giraffe/n02439033_14846.jpg 3
-photo/giraffe/n02439033_14872.jpg 3
-photo/giraffe/n02439033_14962.jpg 3
-photo/giraffe/n02439033_15005.jpg 3
-photo/giraffe/n02439033_15384.jpg 3
-photo/giraffe/n02439033_15401.jpg 3
-photo/giraffe/n02439033_15453.jpg 3
-photo/giraffe/n02439033_15479.jpg 3
-photo/giraffe/n02439033_15540.jpg 3
-photo/giraffe/n02439033_15555.jpg 3
-photo/giraffe/n02439033_15936.jpg 3
-photo/giraffe/n02439033_16085.jpg 3
-photo/giraffe/n02439033_16356.jpg 3
-photo/giraffe/n02439033_16483.jpg 3
-photo/guitar/063_0024.jpg 4
-photo/guitar/063_0025.jpg 4
-photo/guitar/063_0026.jpg 4
-photo/guitar/063_0027.jpg 4
-photo/guitar/063_0028.jpg 4
-photo/guitar/063_0029.jpg 4
-photo/guitar/063_0030.jpg 4
-photo/guitar/063_0031.jpg 4
-photo/guitar/063_0032.jpg 4
-photo/guitar/063_0035.jpg 4
-photo/guitar/063_0036.jpg 4
-photo/guitar/063_0037.jpg 4
-photo/guitar/063_0038.jpg 4
-photo/guitar/063_0039.jpg 4
-photo/guitar/063_0040.jpg 4
-photo/guitar/063_0041.jpg 4
-photo/guitar/063_0042.jpg 4
-photo/guitar/063_0043.jpg 4
-photo/guitar/063_0045.jpg 4
-photo/guitar/063_0046.jpg 4
-photo/guitar/063_0047.jpg 4
-photo/guitar/063_0048.jpg 4
-photo/guitar/063_0049.jpg 4
-photo/guitar/063_0050.jpg 4
-photo/guitar/063_0051.jpg 4
-photo/guitar/063_0052.jpg 4
-photo/guitar/063_0053.jpg 4
-photo/guitar/063_0054.jpg 4
-photo/guitar/063_0055.jpg 4
-photo/guitar/063_0056.jpg 4
-photo/guitar/063_0059.jpg 4
-photo/guitar/063_0061.jpg 4
-photo/guitar/063_0062.jpg 4
-photo/guitar/063_0065.jpg 4
-photo/guitar/063_0067.jpg 4
-photo/guitar/063_0068.jpg 4
-photo/guitar/063_0069.jpg 4
-photo/guitar/063_0071.jpg 4
-photo/guitar/063_0072.jpg 4
-photo/guitar/063_0073.jpg 4
-photo/guitar/063_0074.jpg 4
-photo/guitar/063_0075.jpg 4
-photo/guitar/063_0076.jpg 4
-photo/guitar/063_0077.jpg 4
-photo/guitar/063_0078.jpg 4
-photo/guitar/063_0079.jpg 4
-photo/guitar/063_0080.jpg 4
-photo/guitar/063_0081.jpg 4
-photo/guitar/063_0082.jpg 4
-photo/guitar/063_0084.jpg 4
-photo/guitar/063_0085.jpg 4
-photo/guitar/063_0086.jpg 4
-photo/guitar/063_0087.jpg 4
-photo/guitar/063_0088.jpg 4
-photo/guitar/063_0089.jpg 4
-photo/guitar/063_0090.jpg 4
-photo/guitar/063_0091.jpg 4
-photo/guitar/063_0092.jpg 4
-photo/guitar/063_0093.jpg 4
-photo/guitar/063_0094.jpg 4
-photo/guitar/063_0095.jpg 4
-photo/guitar/063_0096.jpg 4
-photo/guitar/063_0097.jpg 4
-photo/guitar/063_0098.jpg 4
-photo/guitar/063_0099.jpg 4
-photo/guitar/063_0100.jpg 4
-photo/guitar/063_0101.jpg 4
-photo/guitar/063_0102.jpg 4
-photo/guitar/063_0103.jpg 4
-photo/guitar/063_0104.jpg 4
-photo/guitar/063_0105.jpg 4
-photo/guitar/063_0106.jpg 4
-photo/guitar/063_0107.jpg 4
-photo/guitar/063_0108.jpg 4
-photo/guitar/063_0109.jpg 4
-photo/guitar/063_0110.jpg 4
-photo/guitar/063_0111.jpg 4
-photo/guitar/063_0112.jpg 4
-photo/guitar/063_0113.jpg 4
-photo/guitar/063_0114.jpg 4
-photo/guitar/063_0115.jpg 4
-photo/guitar/063_0116.jpg 4
-photo/guitar/063_0117.jpg 4
-photo/guitar/063_0118.jpg 4
-photo/guitar/063_0119.jpg 4
-photo/guitar/063_0120.jpg 4
-photo/guitar/063_0121.jpg 4
-photo/guitar/063_0122.jpg 4
-photo/guitar/n02676566_307.jpg 4
-photo/guitar/n02676566_330.jpg 4
-photo/guitar/n02676566_659.jpg 4
-photo/guitar/n02676566_1324.jpg 4
-photo/guitar/n02676566_2380.jpg 4
-photo/guitar/n02676566_3360.jpg 4
-photo/guitar/n02676566_4058.jpg 4
-photo/guitar/n02676566_4189.jpg 4
-photo/guitar/n02676566_4469.jpg 4
-photo/guitar/n02676566_4605.jpg 4
-photo/guitar/n02676566_4699.jpg 4
-photo/guitar/n02676566_5489.jpg 4
-photo/guitar/n02676566_5735.jpg 4
-photo/guitar/n02676566_6150.jpg 4
-photo/guitar/n02676566_6402.jpg 4
-photo/guitar/n02676566_6430.jpg 4
-photo/guitar/n02676566_6560.jpg 4
-photo/guitar/n02676566_6631.jpg 4
-photo/guitar/n02676566_6704.jpg 4
-photo/guitar/n02676566_6914.jpg 4
-photo/guitar/n02676566_6948.jpg 4
-photo/guitar/n02676566_7385.jpg 4
-photo/guitar/n02676566_7770.jpg 4
-photo/guitar/n02676566_7830.jpg 4
-photo/guitar/n02676566_7844.jpg 4
-photo/guitar/n02676566_7927.jpg 4
-photo/guitar/n02676566_8268.jpg 4
-photo/guitar/n02676566_8309.jpg 4
-photo/guitar/n02676566_8467.jpg 4
-photo/guitar/n02676566_8618.jpg 4
-photo/guitar/n02676566_8820.jpg 4
-photo/guitar/n02676566_8859.jpg 4
-photo/guitar/n02676566_8997.jpg 4
-photo/guitar/n02676566_9062.jpg 4
-photo/guitar/n02676566_9243.jpg 4
-photo/guitar/n02676566_9254.jpg 4
-photo/guitar/n02676566_9451.jpg 4
-photo/guitar/n02676566_9577.jpg 4
-photo/guitar/n02676566_9661.jpg 4
-photo/guitar/n02676566_9936.jpg 4
-photo/guitar/n02676566_11573.jpg 4
-photo/guitar/n02676566_12344.jpg 4
-photo/guitar/n03272010_392.jpg 4
-photo/guitar/n03272010_446.jpg 4
-photo/guitar/n03272010_1708.jpg 4
-photo/guitar/n03272010_3732.jpg 4
-photo/guitar/n03272010_5483.jpg 4
-photo/guitar/n03272010_5887.jpg 4
-photo/guitar/n03272010_6255.jpg 4
-photo/guitar/n03272010_6291.jpg 4
-photo/guitar/n03272010_6662.jpg 4
-photo/guitar/n03272010_6727.jpg 4
-photo/guitar/n03272010_6737.jpg 4
-photo/guitar/n03272010_6799.jpg 4
-photo/guitar/n03272010_6809.jpg 4
-photo/guitar/n03272010_6820.jpg 4
-photo/guitar/n03272010_6926.jpg 4
-photo/guitar/n03272010_7092.jpg 4
-photo/guitar/n03272010_7390.jpg 4
-photo/guitar/n03272010_7729.jpg 4
-photo/guitar/n03272010_9557.jpg 4
-photo/guitar/n03272010_9858.jpg 4
-photo/guitar/n03272010_9899.jpg 4
-photo/guitar/n03272010_10441.jpg 4
-photo/guitar/n03272010_10795.jpg 4
-photo/guitar/n03272010_12151.jpg 4
-photo/guitar/n03272010_12468.jpg 4
-photo/guitar/n03467517_6423.jpg 4
-photo/guitar/n03467517_7007.jpg 4
-photo/guitar/n03467517_8929.jpg 4
-photo/guitar/n03467517_11020.jpg 4
-photo/guitar/n03467517_12925.jpg 4
-photo/guitar/n03467517_17233.jpg 4
-photo/guitar/n03467517_19701.jpg 4
-photo/guitar/n03467517_21884.jpg 4
-photo/guitar/n03467517_22246.jpg 4
-photo/guitar/n03467517_22785.jpg 4
-photo/guitar/n03467517_23229.jpg 4
-photo/guitar/n03467517_24525.jpg 4
-photo/horse/105_0018.jpg 5
-photo/horse/105_0050.jpg 5
-photo/horse/105_0053.jpg 5
-photo/horse/105_0056.jpg 5
-photo/horse/105_0058.jpg 5
-photo/horse/105_0059.jpg 5
-photo/horse/105_0063.jpg 5
-photo/horse/105_0066.jpg 5
-photo/horse/105_0067.jpg 5
-photo/horse/105_0070.jpg 5
-photo/horse/105_0071.jpg 5
-photo/horse/105_0072.jpg 5
-photo/horse/105_0073.jpg 5
-photo/horse/105_0074.jpg 5
-photo/horse/105_0075.jpg 5
-photo/horse/105_0076.jpg 5
-photo/horse/105_0077.jpg 5
-photo/horse/105_0081.jpg 5
-photo/horse/105_0083.jpg 5
-photo/horse/105_0084.jpg 5
-photo/horse/105_0086.jpg 5
-photo/horse/105_0088.jpg 5
-photo/horse/105_0089.jpg 5
-photo/horse/105_0090.jpg 5
-photo/horse/105_0091.jpg 5
-photo/horse/105_0092.jpg 5
-photo/horse/105_0099.jpg 5
-photo/horse/105_0101.jpg 5
-photo/horse/105_0103.jpg 5
-photo/horse/105_0104.jpg 5
-photo/horse/105_0105.jpg 5
-photo/horse/105_0106.jpg 5
-photo/horse/105_0108.jpg 5
-photo/horse/105_0109.jpg 5
-photo/horse/105_0111.jpg 5
-photo/horse/105_0115.jpg 5
-photo/horse/105_0116.jpg 5
-photo/horse/105_0118.jpg 5
-photo/horse/105_0120.jpg 5
-photo/horse/105_0121.jpg 5
-photo/horse/105_0123.jpg 5
-photo/horse/105_0124.jpg 5
-photo/horse/105_0125.jpg 5
-photo/horse/105_0130.jpg 5
-photo/horse/105_0131.jpg 5
-photo/horse/105_0134.jpg 5
-photo/horse/105_0135.jpg 5
-photo/horse/105_0137.jpg 5
-photo/horse/105_0138.jpg 5
-photo/horse/105_0139.jpg 5
-photo/horse/105_0140.jpg 5
-photo/horse/105_0143.jpg 5
-photo/horse/105_0146.jpg 5
-photo/horse/105_0147.jpg 5
-photo/horse/105_0149.jpg 5
-photo/horse/105_0150.jpg 5
-photo/horse/105_0154.jpg 5
-photo/horse/105_0156.jpg 5
-photo/horse/105_0157.jpg 5
-photo/horse/105_0161.jpg 5
-photo/horse/105_0164.jpg 5
-photo/horse/105_0165.jpg 5
-photo/horse/105_0172.jpg 5
-photo/horse/105_0173.jpg 5
-photo/horse/105_0174.jpg 5
-photo/horse/105_0175.jpg 5
-photo/horse/105_0176.jpg 5
-photo/horse/105_0177.jpg 5
-photo/horse/105_0180.jpg 5
-photo/horse/105_0181.jpg 5
-photo/horse/105_0182.jpg 5
-photo/horse/105_0183.jpg 5
-photo/horse/105_0184.jpg 5
-photo/horse/105_0185.jpg 5
-photo/horse/105_0193.jpg 5
-photo/horse/105_0194.jpg 5
-photo/horse/105_0196.jpg 5
-photo/horse/105_0199.jpg 5
-photo/horse/105_0203.jpg 5
-photo/horse/105_0205.jpg 5
-photo/horse/105_0206.jpg 5
-photo/horse/105_0207.jpg 5
-photo/horse/105_0208.jpg 5
-photo/horse/105_0210.jpg 5
-photo/horse/105_0215.jpg 5
-photo/horse/105_0223.jpg 5
-photo/horse/105_0229.jpg 5
-photo/horse/105_0230.jpg 5
-photo/horse/105_0232.jpg 5
-photo/horse/105_0236.jpg 5
-photo/horse/105_0240.jpg 5
-photo/horse/105_0241.jpg 5
-photo/horse/105_0249.jpg 5
-photo/horse/105_0253.jpg 5
-photo/horse/105_0255.jpg 5
-photo/horse/105_0257.jpg 5
-photo/horse/105_0260.jpg 5
-photo/horse/105_0264.jpg 5
-photo/horse/105_0265.jpg 5
-photo/horse/105_0266.jpg 5
-photo/horse/105_0269.jpg 5
-photo/horse/105_0270.jpg 5
-photo/horse/n02374451_54.jpg 5
-photo/horse/n02374451_245.jpg 5
-photo/horse/n02374451_257.jpg 5
-photo/horse/n02374451_262.jpg 5
-photo/horse/n02374451_388.jpg 5
-photo/horse/n02374451_468.jpg 5
-photo/horse/n02374451_490.jpg 5
-photo/horse/n02374451_503.jpg 5
-photo/horse/n02374451_597.jpg 5
-photo/horse/n02374451_777.jpg 5
-photo/horse/n02374451_779.jpg 5
-photo/horse/n02374451_916.jpg 5
-photo/horse/n02374451_925.jpg 5
-photo/horse/n02374451_929.jpg 5
-photo/horse/n02374451_1189.jpg 5
-photo/horse/n02374451_1234.jpg 5
-photo/horse/n02374451_1443.jpg 5
-photo/horse/n02374451_2248.jpg 5
-photo/horse/n02374451_2372.jpg 5
-photo/horse/n02374451_2478.jpg 5
-photo/horse/n02374451_2616.jpg 5
-photo/horse/n02374451_2733.jpg 5
-photo/horse/n02374451_2743.jpg 5
-photo/horse/n02374451_2825.jpg 5
-photo/horse/n02374451_3388.jpg 5
-photo/horse/n02374451_4538.jpg 5
-photo/horse/n02374451_4553.jpg 5
-photo/horse/n02374451_4795.jpg 5
-photo/horse/n02374451_4818.jpg 5
-photo/horse/n02374451_4963.jpg 5
-photo/horse/n02374451_6192.jpg 5
-photo/horse/n02374451_7631.jpg 5
-photo/horse/n02374451_8065.jpg 5
-photo/horse/n02374451_8526.jpg 5
-photo/horse/n02374451_8718.jpg 5
-photo/horse/n02374451_8744.jpg 5
-photo/horse/n02374451_9064.jpg 5
-photo/horse/n02374451_9443.jpg 5
-photo/horse/n02374451_9892.jpg 5
-photo/horse/n02374451_10081.jpg 5
-photo/horse/n02374451_10098.jpg 5
-photo/horse/n02374451_10331.jpg 5
-photo/horse/n02374451_10669.jpg 5
-photo/horse/n02374451_10761.jpg 5
-photo/horse/n02374451_10809.jpg 5
-photo/horse/n02374451_11479.jpg 5
-photo/horse/n02374451_11483.jpg 5
-photo/horse/n02374451_11492.jpg 5
-photo/horse/n02374451_11894.jpg 5
-photo/horse/n02374451_12128.jpg 5
-photo/horse/n02374451_12174.jpg 5
-photo/horse/n02374451_12225.jpg 5
-photo/horse/n02374451_12230.jpg 5
-photo/horse/n02374451_12250.jpg 5
-photo/horse/n02374451_12254.jpg 5
-photo/horse/n02374451_12418.jpg 5
-photo/horse/n02374451_12792.jpg 5
-photo/horse/n02374451_12847.jpg 5
-photo/horse/n02374451_13159.jpg 5
-photo/horse/n02374451_13718.jpg 5
-photo/horse/n02374451_14119.jpg 5
-photo/horse/n02374451_14233.jpg 5
-photo/horse/n02374451_14399.jpg 5
-photo/horse/n02374451_14425.jpg 5
-photo/horse/n02374451_14738.jpg 5
-photo/horse/n02374451_14846.jpg 5
-photo/horse/n02374451_15307.jpg 5
-photo/horse/n02374451_15440.jpg 5
-photo/horse/n02374451_15453.jpg 5
-photo/horse/n02374451_15669.jpg 5
-photo/horse/n02374451_16358.jpg 5
-photo/horse/n02374451_17384.jpg 5
-photo/horse/n02374451_17474.jpg 5
-photo/horse/n02374451_17634.jpg 5
-photo/horse/n02374451_18192.jpg 5
-photo/horse/n02374451_18570.jpg 5
-photo/horse/n02374451_18909.jpg 5
-photo/house/pic_243.jpg 6
-photo/house/pic_250.jpg 6
-photo/house/pic_249.jpg 6
-photo/house/pic_251.jpg 6
-photo/house/pic_252.jpg 6
-photo/house/pic_253.jpg 6
-photo/house/pic_256.jpg 6
-photo/house/pic_255.jpg 6
-photo/house/pic_257.jpg 6
-photo/house/pic_260.jpg 6
-photo/house/pic_032.jpg 6
-photo/house/pic_030.jpg 6
-photo/house/pic_033.jpg 6
-photo/house/pic_034.jpg 6
-photo/house/pic_035.jpg 6
-photo/house/pic_036.jpg 6
-photo/house/pic_037.jpg 6
-photo/house/pic_038.jpg 6
-photo/house/pic_039.jpg 6
-photo/house/pic_042.jpg 6
-photo/house/pic_041.jpg 6
-photo/house/pic_040.jpg 6
-photo/house/pic_045.jpg 6
-photo/house/pic_046.jpg 6
-photo/house/pic_044.jpg 6
-photo/house/pic_043.jpg 6
-photo/house/pic_047.jpg 6
-photo/house/pic_048.jpg 6
-photo/house/pic_049.jpg 6
-photo/house/pic_050.jpg 6
-photo/house/pic_058.jpg 6
-photo/house/pic_216.jpg 6
-photo/house/pic_217.jpg 6
-photo/house/pic_220.jpg 6
-photo/house/pic_221.jpg 6
-photo/house/pic_222.jpg 6
-photo/house/pic_223.jpg 6
-photo/house/pic_224.jpg 6
-photo/house/pic_225.jpg 6
-photo/house/pic_226.jpg 6
-photo/house/pic_228.jpg 6
-photo/house/pic_229.jpg 6
-photo/house/pic_230.jpg 6
-photo/house/pic_231.jpg 6
-photo/house/pic_232.jpg 6
-photo/house/pic_233.jpg 6
-photo/house/pic_234.jpg 6
-photo/house/pic_235.jpg 6
-photo/house/pic_236.jpg 6
-photo/house/pic_238.jpg 6
-photo/house/pic_237.jpg 6
-photo/house/pic_067.jpg 6
-photo/house/pic_062.jpg 6
-photo/house/pic_075.jpg 6
-photo/house/pic_078.jpg 6
-photo/house/pic_079.jpg 6
-photo/house/pic_070.jpg 6
-photo/house/pic_066.jpg 6
-photo/house/pic_088.jpg 6
-photo/house/pic_081.jpg 6
-photo/house/pic_091.jpg 6
-photo/house/pic_072.jpg 6
-photo/house/pic_093.jpg 6
-photo/house/pic_086.jpg 6
-photo/house/pic_098.jpg 6
-photo/house/pic_096.jpg 6
-photo/house/pic_095.jpg 6
-photo/house/pic_094.jpg 6
-photo/house/pic_092.jpg 6
-photo/house/pic_090.jpg 6
-photo/house/pic_097.jpg 6
-photo/house/pic_061.jpg 6
-photo/house/pic_060.jpg 6
-photo/house/pic_057.jpg 6
-photo/house/pic_051.jpg 6
-photo/house/pic_054.jpg 6
-photo/house/pic_053.jpg 6
-photo/house/pic_052.jpg 6
-photo/house/pic_063.jpg 6
-photo/house/pic_059.jpg 6
-photo/house/pic_055.jpg 6
-photo/house/pic_056.jpg 6
-photo/house/pic_082.jpg 6
-photo/house/pic_080.jpg 6
-photo/house/pic_077.jpg 6
-photo/house/pic_076.jpg 6
-photo/house/pic_074.jpg 6
-photo/house/pic_073.jpg 6
-photo/house/pic_071.jpg 6
-photo/house/pic_069.jpg 6
-photo/house/pic_068.jpg 6
-photo/house/pic_065.jpg 6
-photo/house/pic_153.jpg 6
-photo/house/pic_156.jpg 6
-photo/house/pic_157.jpg 6
-photo/house/pic_158.jpg 6
-photo/house/pic_159.jpg 6
-photo/house/pic_160.jpg 6
-photo/house/pic_162.jpg 6
-photo/house/pic_161.jpg 6
-photo/house/pic_166.jpg 6
-photo/house/pic_165.jpg 6
-photo/house/pic_163.jpg 6
-photo/house/pic_164.jpg 6
-photo/house/pic_167.jpg 6
-photo/house/pic_168.jpg 6
-photo/house/pic_170.jpg 6
-photo/house/pic_169.jpg 6
-photo/house/pic_171.jpg 6
-photo/house/pic_172.jpg 6
-photo/house/pic_174.jpg 6
-photo/house/pic_175.jpg 6
-photo/house/pic_173.jpg 6
-photo/house/pic_134.jpg 6
-photo/house/pic_135.jpg 6
-photo/house/pic_136.jpg 6
-photo/house/pic_138.jpg 6
-photo/house/pic_139.jpg 6
-photo/house/pic_137.jpg 6
-photo/house/pic_140.jpg 6
-photo/house/pic_141.jpg 6
-photo/house/pic_143.jpg 6
-photo/house/pic_142.jpg 6
-photo/house/pic_144.jpg 6
-photo/house/pic_146.jpg 6
-photo/house/pic_145.jpg 6
-photo/house/pic_147.jpg 6
-photo/house/pic_148.jpg 6
-photo/house/pic_149.jpg 6
-photo/house/pic_150.jpg 6
-photo/house/pic_151.jpg 6
-photo/house/pic_154.jpg 6
-photo/house/pic_155.jpg 6
-photo/house/pic_197.jpg 6
-photo/house/pic_199.jpg 6
-photo/house/pic_200.jpg 6
-photo/house/pic_198.jpg 6
-photo/house/pic_202.jpg 6
-photo/house/pic_201.jpg 6
-photo/house/pic_204.jpg 6
-photo/house/pic_205.jpg 6
-photo/house/pic_203.jpg 6
-photo/house/pic_207.jpg 6
-photo/house/pic_206.jpg 6
-photo/house/pic_209.jpg 6
-photo/house/pic_208.jpg 6
-photo/house/pic_210.jpg 6
-photo/house/pic_211.jpg 6
-photo/house/pic_214.jpg 6
-photo/house/pic_213.jpg 6
-photo/house/pic_215.jpg 6
-photo/house/pic_219.jpg 6
-photo/house/pic_218.jpg 6
-photo/house/pic_280.jpg 6
-photo/house/pic_276.jpg 6
-photo/house/pic_287.jpg 6
-photo/house/pic_282.jpg 6
-photo/house/pic_283.jpg 6
-photo/house/pic_288.jpg 6
-photo/house/pic_289.jpg 6
-photo/house/pic_290.jpg 6
-photo/house/pic_281.jpg 6
-photo/house/pic_284.jpg 6
-photo/house/pic_089.jpg 6
-photo/house/pic_084.jpg 6
-photo/house/pic_085.jpg 6
-photo/house/pic_083.jpg 6
-photo/house/pic_099.jpg 6
-photo/house/pic_087.jpg 6
-photo/house/pic_106.jpg 6
-photo/house/pic_104.jpg 6
-photo/house/pic_103.jpg 6
-photo/house/pic_102.jpg 6
-photo/house/pic_101.jpg 6
-photo/house/pic_100.jpg 6
-photo/house/pic_110.jpg 6
-photo/house/pic_109.jpg 6
-photo/house/pic_108.jpg 6
-photo/house/pic_107.jpg 6
-photo/house/pic_111.jpg 6
-photo/house/pic_112.jpg 6
-photo/house/pic_113.jpg 6
-photo/house/pic_114.jpg 6
-photo/house/pic_262.jpg 6
-photo/house/pic_259.jpg 6
-photo/house/pic_264.jpg 6
-photo/house/pic_263.jpg 6
-photo/house/pic_265.jpg 6
-photo/house/pic_261.jpg 6
-photo/house/pic_266.jpg 6
-photo/house/pic_267.jpg 6
-photo/house/pic_269.jpg 6
-photo/house/pic_270.jpg 6
-photo/house/pic_268.jpg 6
-photo/house/pic_279.jpg 6
-photo/house/pic_278.jpg 6
-photo/house/pic_277.jpg 6
-photo/house/pic_275.jpg 6
-photo/house/pic_272.jpg 6
-photo/house/pic_274.jpg 6
-photo/house/pic_273.jpg 6
-photo/house/pic_271.jpg 6
-photo/house/pic_286.jpg 6
-photo/house/pic_285.jpg 6
-photo/house/pic_116.jpg 6
-photo/house/pic_115.jpg 6
-photo/house/pic_117.jpg 6
-photo/house/pic_118.jpg 6
-photo/house/pic_120.jpg 6
-photo/house/pic_119.jpg 6
-photo/house/pic_121.jpg 6
-photo/house/pic_122.jpg 6
-photo/house/pic_124.jpg 6
-photo/house/pic_123.jpg 6
-photo/house/pic_125.jpg 6
-photo/house/pic_126.jpg 6
-photo/house/pic_127.jpg 6
-photo/house/pic_128.jpg 6
-photo/house/pic_129.jpg 6
-photo/house/pic_130.jpg 6
-photo/house/pic_131.jpg 6
-photo/house/pic_132.jpg 6
-photo/house/pic_133.jpg 6
-photo/house/pic_001.jpg 6
-photo/house/pic_002.jpg 6
-photo/house/pic_003.jpg 6
-photo/house/pic_004.jpg 6
-photo/house/pic_005.jpg 6
-photo/house/pic_006.jpg 6
-photo/house/pic_007.jpg 6
-photo/house/pic_008.jpg 6
-photo/house/pic_178.jpg 6
-photo/house/pic_177.jpg 6
-photo/house/pic_176.jpg 6
-photo/house/pic_179.jpg 6
-photo/house/pic_181.jpg 6
-photo/house/pic_180.jpg 6
-photo/house/pic_185.jpg 6
-photo/house/pic_183.jpg 6
-photo/house/pic_184.jpg 6
-photo/house/pic_190.jpg 6
-photo/house/pic_188.jpg 6
-photo/house/pic_189.jpg 6
-photo/house/pic_186.jpg 6
-photo/house/pic_187.jpg 6
-photo/house/pic_191.jpg 6
-photo/house/pic_192.jpg 6
-photo/house/pic_194.jpg 6
-photo/house/pic_193.jpg 6
-photo/house/pic_195.jpg 6
-photo/house/pic_196.jpg 6
-photo/person/253_0045.jpg 7
-photo/person/253_0046.jpg 7
-photo/person/253_0047.jpg 7
-photo/person/253_0048.jpg 7
-photo/person/253_0049.jpg 7
-photo/person/253_0050.jpg 7
-photo/person/253_0051.jpg 7
-photo/person/253_0052.jpg 7
-photo/person/253_0053.jpg 7
-photo/person/253_0054.jpg 7
-photo/person/253_0055.jpg 7
-photo/person/253_0056.jpg 7
-photo/person/253_0057.jpg 7
-photo/person/253_0058.jpg 7
-photo/person/253_0059.jpg 7
-photo/person/253_0060.jpg 7
-photo/person/253_0061.jpg 7
-photo/person/253_0062.jpg 7
-photo/person/253_0063.jpg 7
-photo/person/253_0064.jpg 7
-photo/person/253_0065.jpg 7
-photo/person/253_0066.jpg 7
-photo/person/253_0067.jpg 7
-photo/person/253_0068.jpg 7
-photo/person/253_0069.jpg 7
-photo/person/253_0070.jpg 7
-photo/person/253_0071.jpg 7
-photo/person/253_0072.jpg 7
-photo/person/253_0073.jpg 7
-photo/person/253_0074.jpg 7
-photo/person/253_0075.jpg 7
-photo/person/253_0076.jpg 7
-photo/person/253_0077.jpg 7
-photo/person/253_0078.jpg 7
-photo/person/253_0079.jpg 7
-photo/person/253_0080.jpg 7
-photo/person/253_0081.jpg 7
-photo/person/253_0082.jpg 7
-photo/person/253_0083.jpg 7
-photo/person/253_0084.jpg 7
-photo/person/253_0085.jpg 7
-photo/person/253_0086.jpg 7
-photo/person/253_0087.jpg 7
-photo/person/253_0088.jpg 7
-photo/person/253_0089.jpg 7
-photo/person/253_0090.jpg 7
-photo/person/253_0091.jpg 7
-photo/person/253_0092.jpg 7
-photo/person/253_0093.jpg 7
-photo/person/253_0094.jpg 7
-photo/person/253_0095.jpg 7
-photo/person/253_0096.jpg 7
-photo/person/253_0097.jpg 7
-photo/person/253_0098.jpg 7
-photo/person/253_0099.jpg 7
-photo/person/253_0100.jpg 7
-photo/person/253_0101.jpg 7
-photo/person/253_0102.jpg 7
-photo/person/253_0103.jpg 7
-photo/person/253_0104.jpg 7
-photo/person/253_0105.jpg 7
-photo/person/253_0106.jpg 7
-photo/person/253_0107.jpg 7
-photo/person/253_0108.jpg 7
-photo/person/253_0109.jpg 7
-photo/person/253_0110.jpg 7
-photo/person/253_0111.jpg 7
-photo/person/253_0112.jpg 7
-photo/person/253_0113.jpg 7
-photo/person/253_0114.jpg 7
-photo/person/253_0115.jpg 7
-photo/person/253_0116.jpg 7
-photo/person/253_0117.jpg 7
-photo/person/253_0118.jpg 7
-photo/person/253_0119.jpg 7
-photo/person/253_0120.jpg 7
-photo/person/253_0121.jpg 7
-photo/person/253_0122.jpg 7
-photo/person/253_0123.jpg 7
-photo/person/253_0124.jpg 7
-photo/person/253_0125.jpg 7
-photo/person/253_0126.jpg 7
-photo/person/253_0127.jpg 7
-photo/person/253_0128.jpg 7
-photo/person/253_0129.jpg 7
-photo/person/253_0130.jpg 7
-photo/person/253_0131.jpg 7
-photo/person/253_0132.jpg 7
-photo/person/253_0133.jpg 7
-photo/person/253_0134.jpg 7
-photo/person/253_0135.jpg 7
-photo/person/253_0136.jpg 7
-photo/person/253_0137.jpg 7
-photo/person/253_0138.jpg 7
-photo/person/253_0139.jpg 7
-photo/person/253_0140.jpg 7
-photo/person/253_0141.jpg 7
-photo/person/253_0142.jpg 7
-photo/person/253_0143.jpg 7
-photo/person/253_0144.jpg 7
-photo/person/253_0145.jpg 7
-photo/person/253_0146.jpg 7
-photo/person/253_0147.jpg 7
-photo/person/253_0148.jpg 7
-photo/person/253_0149.jpg 7
-photo/person/253_0150.jpg 7
-photo/person/253_0151.jpg 7
-photo/person/253_0152.jpg 7
-photo/person/253_0153.jpg 7
-photo/person/253_0154.jpg 7
-photo/person/253_0155.jpg 7
-photo/person/253_0156.jpg 7
-photo/person/253_0157.jpg 7
-photo/person/253_0158.jpg 7
-photo/person/253_0159.jpg 7
-photo/person/253_0160.jpg 7
-photo/person/253_0161.jpg 7
-photo/person/253_0162.jpg 7
-photo/person/253_0163.jpg 7
-photo/person/253_0164.jpg 7
-photo/person/253_0165.jpg 7
-photo/person/253_0166.jpg 7
-photo/person/253_0167.jpg 7
-photo/person/253_0168.jpg 7
-photo/person/253_0169.jpg 7
-photo/person/253_0170.jpg 7
-photo/person/253_0171.jpg 7
-photo/person/253_0172.jpg 7
-photo/person/253_0173.jpg 7
-photo/person/253_0174.jpg 7
-photo/person/253_0175.jpg 7
-photo/person/253_0176.jpg 7
-photo/person/253_0177.jpg 7
-photo/person/253_0178.jpg 7
-photo/person/253_0179.jpg 7
-photo/person/253_0180.jpg 7
-photo/person/253_0181.jpg 7
-photo/person/253_0182.jpg 7
-photo/person/253_0183.jpg 7
-photo/person/253_0184.jpg 7
-photo/person/253_0185.jpg 7
-photo/person/253_0186.jpg 7
-photo/person/253_0187.jpg 7
-photo/person/253_0188.jpg 7
-photo/person/253_0189.jpg 7
-photo/person/253_0190.jpg 7
-photo/person/253_0191.jpg 7
-photo/person/253_0192.jpg 7
-photo/person/253_0193.jpg 7
-photo/person/253_0194.jpg 7
-photo/person/253_0195.jpg 7
-photo/person/253_0196.jpg 7
-photo/person/253_0197.jpg 7
-photo/person/253_0198.jpg 7
-photo/person/253_0199.jpg 7
-photo/person/253_0200.jpg 7
-photo/person/253_0201.jpg 7
-photo/person/253_0202.jpg 7
-photo/person/253_0203.jpg 7
-photo/person/253_0204.jpg 7
-photo/person/253_0205.jpg 7
-photo/person/253_0206.jpg 7
-photo/person/253_0207.jpg 7
-photo/person/253_0208.jpg 7
-photo/person/253_0209.jpg 7
-photo/person/253_0210.jpg 7
-photo/person/253_0211.jpg 7
-photo/person/253_0212.jpg 7
-photo/person/253_0213.jpg 7
-photo/person/253_0214.jpg 7
-photo/person/253_0215.jpg 7
-photo/person/253_0216.jpg 7
-photo/person/253_0217.jpg 7
-photo/person/253_0218.jpg 7
-photo/person/253_0219.jpg 7
-photo/person/253_0220.jpg 7
-photo/person/253_0221.jpg 7
-photo/person/253_0222.jpg 7
-photo/person/253_0223.jpg 7
-photo/person/253_0224.jpg 7
-photo/person/253_0225.jpg 7
-photo/person/253_0226.jpg 7
-photo/person/253_0227.jpg 7
-photo/person/253_0228.jpg 7
-photo/person/253_0229.jpg 7
-photo/person/253_0230.jpg 7
-photo/person/253_0231.jpg 7
-photo/person/253_0232.jpg 7
-photo/person/253_0233.jpg 7
-photo/person/253_0234.jpg 7
-photo/person/253_0235.jpg 7
-photo/person/253_0236.jpg 7
-photo/person/253_0237.jpg 7
-photo/person/253_0238.jpg 7
-photo/person/253_0239.jpg 7
-photo/person/253_0240.jpg 7
-photo/person/253_0241.jpg 7
-photo/person/253_0242.jpg 7
-photo/person/253_0243.jpg 7
-photo/person/253_0244.jpg 7
-photo/person/253_0245.jpg 7
-photo/person/253_0246.jpg 7
-photo/person/253_0247.jpg 7
-photo/person/253_0248.jpg 7
-photo/person/253_0249.jpg 7
-photo/person/253_0250.jpg 7
-photo/person/253_0251.jpg 7
-photo/person/253_0252.jpg 7
-photo/person/253_0253.jpg 7
-photo/person/253_0254.jpg 7
-photo/person/253_0255.jpg 7
-photo/person/253_0256.jpg 7
-photo/person/253_0257.jpg 7
-photo/person/253_0258.jpg 7
-photo/person/253_0259.jpg 7
-photo/person/253_0260.jpg 7
-photo/person/253_0261.jpg 7
-photo/person/253_0262.jpg 7
-photo/person/253_0263.jpg 7
-photo/person/253_0264.jpg 7
-photo/person/253_0265.jpg 7
-photo/person/253_0266.jpg 7
-photo/person/253_0267.jpg 7
-photo/person/253_0268.jpg 7
-photo/person/253_0269.jpg 7
-photo/person/253_0270.jpg 7
-photo/person/253_0271.jpg 7
-photo/person/253_0272.jpg 7
-photo/person/253_0273.jpg 7
-photo/person/253_0274.jpg 7
-photo/person/253_0275.jpg 7
-photo/person/253_0276.jpg 7
-photo/person/253_0277.jpg 7
-photo/person/253_0278.jpg 7
-photo/person/253_0279.jpg 7
-photo/person/253_0280.jpg 7
-photo/person/253_0281.jpg 7
-photo/person/253_0282.jpg 7
-photo/person/253_0283.jpg 7
-photo/person/253_0284.jpg 7
-photo/person/253_0285.jpg 7
-photo/person/253_0286.jpg 7
-photo/person/253_0287.jpg 7
-photo/person/253_0288.jpg 7
-photo/person/253_0289.jpg 7
-photo/person/253_0290.jpg 7
-photo/person/253_0291.jpg 7
-photo/person/253_0292.jpg 7
-photo/person/253_0293.jpg 7
-photo/person/253_0294.jpg 7
-photo/person/253_0295.jpg 7
-photo/person/253_0296.jpg 7
-photo/person/253_0297.jpg 7
-photo/person/253_0298.jpg 7
-photo/person/253_0299.jpg 7
-photo/person/253_0300.jpg 7
-photo/person/253_0301.jpg 7
-photo/person/253_0302.jpg 7
-photo/person/253_0303.jpg 7
-photo/person/253_0304.jpg 7
-photo/person/253_0305.jpg 7
-photo/person/253_0306.jpg 7
-photo/person/253_0307.jpg 7
-photo/person/253_0308.jpg 7
-photo/person/253_0309.jpg 7
-photo/person/253_0310.jpg 7
-photo/person/253_0311.jpg 7
-photo/person/253_0312.jpg 7
-photo/person/253_0313.jpg 7
-photo/person/253_0314.jpg 7
-photo/person/253_0315.jpg 7
-photo/person/253_0316.jpg 7
-photo/person/253_0317.jpg 7
-photo/person/253_0318.jpg 7
-photo/person/253_0319.jpg 7
-photo/person/253_0320.jpg 7
-photo/person/253_0321.jpg 7
-photo/person/253_0322.jpg 7
-photo/person/253_0323.jpg 7
-photo/person/253_0324.jpg 7
-photo/person/253_0325.jpg 7
-photo/person/253_0326.jpg 7
-photo/person/253_0327.jpg 7
-photo/person/253_0328.jpg 7
-photo/person/253_0329.jpg 7
-photo/person/253_0330.jpg 7
-photo/person/253_0331.jpg 7
-photo/person/253_0332.jpg 7
-photo/person/253_0333.jpg 7
-photo/person/253_0334.jpg 7
-photo/person/253_0335.jpg 7
-photo/person/253_0336.jpg 7
-photo/person/253_0337.jpg 7
-photo/person/253_0338.jpg 7
-photo/person/253_0339.jpg 7
-photo/person/253_0340.jpg 7
-photo/person/253_0341.jpg 7
-photo/person/253_0342.jpg 7
-photo/person/253_0343.jpg 7
-photo/person/253_0344.jpg 7
-photo/person/253_0345.jpg 7
-photo/person/253_0346.jpg 7
-photo/person/253_0347.jpg 7
-photo/person/253_0348.jpg 7
-photo/person/253_0349.jpg 7
-photo/person/253_0350.jpg 7
-photo/person/253_0351.jpg 7
-photo/person/253_0352.jpg 7
-photo/person/253_0353.jpg 7
-photo/person/253_0354.jpg 7
-photo/person/253_0355.jpg 7
-photo/person/253_0356.jpg 7
-photo/person/253_0357.jpg 7
-photo/person/253_0358.jpg 7
-photo/person/253_0359.jpg 7
-photo/person/253_0360.jpg 7
-photo/person/253_0361.jpg 7
-photo/person/253_0362.jpg 7
-photo/person/253_0363.jpg 7
-photo/person/253_0364.jpg 7
-photo/person/253_0365.jpg 7
-photo/person/253_0366.jpg 7
-photo/person/253_0367.jpg 7
-photo/person/253_0368.jpg 7
-photo/person/253_0369.jpg 7
-photo/person/253_0370.jpg 7
-photo/person/253_0371.jpg 7
-photo/person/253_0372.jpg 7
-photo/person/253_0373.jpg 7
-photo/person/253_0374.jpg 7
-photo/person/253_0375.jpg 7
-photo/person/253_0376.jpg 7
-photo/person/253_0377.jpg 7
-photo/person/253_0378.jpg 7
-photo/person/253_0379.jpg 7
-photo/person/253_0380.jpg 7
-photo/person/253_0381.jpg 7
-photo/person/253_0382.jpg 7
-photo/person/253_0383.jpg 7
-photo/person/253_0384.jpg 7
-photo/person/253_0385.jpg 7
-photo/person/253_0386.jpg 7
-photo/person/253_0387.jpg 7
-photo/person/253_0388.jpg 7
-photo/person/253_0390.jpg 7
-photo/person/253_0393.jpg 7
-photo/person/253_0394.jpg 7
-photo/person/253_0395.jpg 7
-photo/person/253_0396.jpg 7
-photo/person/253_0397.jpg 7
-photo/person/253_0398.jpg 7
-photo/person/253_0399.jpg 7
-photo/person/253_0400.jpg 7
-photo/person/253_0401.jpg 7
-photo/person/253_0402.jpg 7
-photo/person/253_0403.jpg 7
-photo/person/253_0404.jpg 7
-photo/person/253_0405.jpg 7
-photo/person/253_0406.jpg 7
-photo/person/253_0407.jpg 7
-photo/person/253_0408.jpg 7
-photo/person/253_0409.jpg 7
-photo/person/253_0410.jpg 7
-photo/person/253_0411.jpg 7
-photo/person/253_0412.jpg 7
-photo/person/253_0413.jpg 7
-photo/person/253_0414.jpg 7
-photo/person/253_0415.jpg 7
-photo/person/253_0416.jpg 7
-photo/person/253_0417.jpg 7
-photo/person/253_0418.jpg 7
-photo/person/253_0419.jpg 7
-photo/person/253_0420.jpg 7
-photo/person/253_0421.jpg 7
-photo/person/253_0422.jpg 7
-photo/person/253_0423.jpg 7
-photo/person/253_0424.jpg 7
-photo/person/253_0425.jpg 7
-photo/person/253_0426.jpg 7
-photo/person/253_0427.jpg 7
-photo/person/253_0428.jpg 7
-photo/person/253_0429.jpg 7
-photo/person/253_0430.jpg 7
-photo/person/253_0431.jpg 7
-photo/person/253_0432.jpg 7
-photo/person/253_0433.jpg 7
-photo/person/253_0434.jpg 7
-photo/person/253_0435.jpg 7
diff --git a/data/pacs_split/readme.txt b/data/pacs_split/readme.txt
deleted file mode 100644
index 36a00efc7..000000000
--- a/data/pacs_split/readme.txt
+++ /dev/null
@@ -1,10 +0,0 @@
-
-1. The h5py files was pre-read using cv2, so it is BGR channel order.
-2. This benckmark is sensitive to the different train val splits, so please use this train val splits for the fair comparisons.
-
-https://drive.google.com/uc?id=1JFr8f805nMUelQWWmfnJR3y4_SYoN5Pd
-
-[https://drive.google.com/uc?id=1JFr8f805nMUelQWWmfnJR3y4_SYoN5Pd](https://drive.google.com/uc?id=1JFr8f805nMUelQWWmfnJR3y4_SYoN5Pd)
-
-
-https://github.com/facebookresearch/DomainBed/blob/4294ec699df761b46a1505734f6be16ef009cad9/domainbed/scripts/download.py#L29
diff --git a/data/pacs_split/sketch_10.txt b/data/pacs_split/sketch_10.txt
deleted file mode 100644
index 79f855d52..000000000
--- a/data/pacs_split/sketch_10.txt
+++ /dev/null
@@ -1,10 +0,0 @@
-sketch/house/8873.png 6
-sketch/guitar/n03467517_6423-3.png 4
-sketch/elephant/5981.png 2
-sketch/dog/n02103406_3255-6.png 1
-sketch/horse/n02374451_779-1.png 5
-sketch/guitar/n02676566_8618-2.png 4
-sketch/elephant/n02503517_12688-4.png 2
-sketch/dog/5302.png 1
-sketch/giraffe/n02439033_13384-2.png 3
-sketch/dog/5317.png 1
diff --git a/data/pacs_split/sketch_100.txt b/data/pacs_split/sketch_100.txt
deleted file mode 100644
index 2856e053f..000000000
--- a/data/pacs_split/sketch_100.txt
+++ /dev/null
@@ -1,100 +0,0 @@
-sketch/guitar/n02676566_6704-1.png 4
-sketch/dog/5356.png 1
-sketch/dog/n02103406_3743-4.png 1
-sketch/person/12197.png 7
-sketch/person/12198.png 7
-sketch/person/12133.png 7
-sketch/elephant/n02503517_6937-1.png 2
-sketch/horse/8537.png 5
-sketch/horse/8527.png 5
-sketch/horse/n02374451_14425-8.png 5
-sketch/giraffe/n02439033_8875-1.png 3
-sketch/dog/n02106662_466-2.png 1
-sketch/guitar/n03272010_1708-4.png 4
-sketch/dog/n02103406_6688-9.png 1
-sketch/horse/n02374451_3388-8.png 5
-sketch/elephant/n02503517_4253-3.png 2
-sketch/giraffe/n02439033_14600-1.png 3
-sketch/elephant/n02503517_9241-3.png 2
-sketch/giraffe/n02439033_11215-2.png 3
-sketch/elephant/n02503517_1415-2.png 2
-sketch/dog/n02106662_2157-2.png 1
-sketch/elephant/n02503517_4253-5.png 2
-sketch/giraffe/n02439033_14040-4.png 3
-sketch/elephant/n02503517_5905-8.png 2
-sketch/guitar/n03272010_6255-5.png 4
-sketch/horse/n02374451_10809-5.png 5
-sketch/giraffe/n02439033_8846-4.png 3
-sketch/person/12171.png 7
-sketch/elephant/n02503517_5267-3.png 2
-sketch/giraffe/n02439033_11504-4.png 3
-sketch/person/12131.png 7
-sketch/dog/n02109525_18347-4.png 1
-sketch/horse/n02374451_17634-1.png 5
-sketch/elephant/n02503517_8757-1.png 2
-sketch/guitar/n03467517_19701-2.png 4
-sketch/dog/n02106662_27393-2.png 1
-sketch/horse/n02374451_8065-4.png 5
-sketch/guitar/n02676566_6864-1.png 4
-sketch/elephant/n02503517_8901-2.png 2
-sketch/horse/n02374451_9892-3.png 5
-sketch/dog/n02106662_7960-1.png 1
-sketch/guitar/n03272010_9858-1.png 4
-sketch/guitar/n02676566_8467-1.png 4
-sketch/dog/n02103406_3108-6.png 1
-sketch/giraffe/n02439033_14781-3.png 3
-sketch/horse/8499.png 5
-sketch/guitar/n02676566_4469-2.png 4
-sketch/dog/n02109525_704-6.png 1
-sketch/dog/n02106662_24786-5.png 1
-sketch/guitar/n03467517_8929-1.png 4
-sketch/guitar/n03272010_6725-1.png 4
-sketch/giraffe/n02439033_11683-7.png 3
-sketch/elephant/n02503517_5117-1.png 2
-sketch/dog/n02106662_2101-9.png 1
-sketch/elephant/n02503517_10193-9.png 2
-sketch/horse/n02374451_18909-6.png 5
-sketch/guitar/n02676566_9254-1.png 4
-sketch/elephant/n02503517_2993-2.png 2
-sketch/horse/n02374451_1443-4.png 5
-sketch/elephant/n02503517_4413-3.png 2
-sketch/horse/n02374451_16948-1.png 5
-sketch/dog/n02106662_10406-3.png 1
-sketch/giraffe/n02439033_10164-2.png 3
-sketch/person/12210.png 7
-sketch/dog/n02106662_26549-6.png 1
-sketch/elephant/n02503517_10259-6.png 2
-sketch/elephant/n02503517_10558-4.png 2
-sketch/elephant/n02503517_3108-3.png 2
-sketch/giraffe/n02439033_13602-6.png 3
-sketch/elephant/n02503517_6429-3.png 2
-sketch/guitar/n02676566_2866-3.png 4
-sketch/horse/n02374451_12174-3.png 5
-sketch/dog/n02103406_3056-1.png 1
-sketch/giraffe/7410.png 3
-sketch/guitar/n02676566_6914-1.png 4
-sketch/giraffe/n02439033_11130-5.png 3
-sketch/giraffe/7425.png 3
-sketch/horse/n02374451_12418-10.png 5
-sketch/horse/n02374451_12847-5.png 5
-sketch/dog/n02106662_15858-1.png 1
-sketch/elephant/n02503517_8571-6.png 2
-sketch/giraffe/n02439033_14580-1.png 3
-sketch/giraffe/n02439033_11666-5.png 3
-sketch/guitar/n03272010_7383-4.png 4
-sketch/guitar/n02676566_3360-2.png 4
-sketch/guitar/n03272010_5483-1.png 4
-sketch/elephant/n02503517_10193-1.png 2
-sketch/giraffe/7440.png 3
-sketch/guitar/n03272010_7390-4.png 4
-sketch/dog/n02103406_2209-6.png 1
-sketch/elephant/n02503517_5892-4.png 2
-sketch/guitar/n02676566_6430-1.png 4
-sketch/giraffe/n02439033_9472-7.png 3
-sketch/guitar/n02676566_8618-6.png 4
-sketch/person/12134.png 7
-sketch/giraffe/n02439033_11627-5.png 3
-sketch/giraffe/n02439033_11059-8.png 3
-sketch/giraffe/n02439033_3944-10.png 3
-sketch/dog/n02103406_1754-3.png 1
-sketch/house/8812.png 6
diff --git a/data/pacs_split/sketch_crossval_kfold.txt b/data/pacs_split/sketch_crossval_kfold.txt
deleted file mode 100644
index 63c0f2050..000000000
--- a/data/pacs_split/sketch_crossval_kfold.txt
+++ /dev/null
@@ -1,398 +0,0 @@
-sketch/dog/n02103406_343-1.png 1
-sketch/dog/n02103406_343-2.png 1
-sketch/dog/n02103406_343-3.png 1
-sketch/dog/n02103406_343-4.png 1
-sketch/dog/n02103406_343-5.png 1
-sketch/dog/n02103406_343-6.png 1
-sketch/dog/n02103406_343-7.png 1
-sketch/dog/n02103406_343-8.png 1
-sketch/dog/n02103406_343-9.png 1
-sketch/dog/n02103406_346-1.png 1
-sketch/dog/n02103406_346-2.png 1
-sketch/dog/n02103406_346-3.png 1
-sketch/dog/n02103406_346-4.png 1
-sketch/dog/n02103406_346-5.png 1
-sketch/dog/n02103406_346-6.png 1
-sketch/dog/n02103406_346-7.png 1
-sketch/dog/n02103406_371-1.png 1
-sketch/dog/n02103406_371-2.png 1
-sketch/dog/n02103406_371-3.png 1
-sketch/dog/n02103406_371-4.png 1
-sketch/dog/n02103406_371-5.png 1
-sketch/dog/n02103406_371-6.png 1
-sketch/dog/n02103406_371-7.png 1
-sketch/dog/n02103406_371-8.png 1
-sketch/dog/n02103406_371-9.png 1
-sketch/dog/n02103406_371-10.png 1
-sketch/dog/n02103406_371-11.png 1
-sketch/dog/n02103406_651-1.png 1
-sketch/dog/n02103406_651-2.png 1
-sketch/dog/n02103406_651-3.png 1
-sketch/dog/n02103406_651-4.png 1
-sketch/dog/n02103406_651-5.png 1
-sketch/dog/n02103406_651-6.png 1
-sketch/dog/n02103406_651-7.png 1
-sketch/dog/n02103406_865-1.png 1
-sketch/dog/n02103406_865-2.png 1
-sketch/dog/n02103406_865-3.png 1
-sketch/dog/n02103406_865-4.png 1
-sketch/dog/n02103406_865-5.png 1
-sketch/dog/n02103406_865-6.png 1
-sketch/dog/n02103406_865-7.png 1
-sketch/dog/n02103406_865-8.png 1
-sketch/dog/n02103406_865-9.png 1
-sketch/dog/n02103406_865-10.png 1
-sketch/dog/n02103406_865-11.png 1
-sketch/dog/n02103406_936-1.png 1
-sketch/dog/n02103406_936-2.png 1
-sketch/dog/n02103406_936-3.png 1
-sketch/dog/n02103406_936-4.png 1
-sketch/dog/n02103406_936-5.png 1
-sketch/dog/n02103406_936-6.png 1
-sketch/dog/n02103406_936-7.png 1
-sketch/dog/n02103406_936-8.png 1
-sketch/dog/n02103406_936-9.png 1
-sketch/dog/n02103406_995-1.png 1
-sketch/dog/n02103406_995-2.png 1
-sketch/dog/n02103406_995-3.png 1
-sketch/dog/n02103406_995-4.png 1
-sketch/dog/n02103406_995-5.png 1
-sketch/dog/n02103406_995-6.png 1
-sketch/dog/n02103406_1011-1.png 1
-sketch/dog/n02103406_1011-2.png 1
-sketch/dog/n02103406_1011-3.png 1
-sketch/dog/n02103406_1011-4.png 1
-sketch/dog/n02103406_1011-5.png 1
-sketch/dog/n02103406_1138-1.png 1
-sketch/dog/n02103406_1138-2.png 1
-sketch/dog/n02103406_1138-3.png 1
-sketch/dog/n02103406_1138-4.png 1
-sketch/dog/n02103406_1138-5.png 1
-sketch/dog/n02103406_1138-6.png 1
-sketch/dog/n02103406_1138-7.png 1
-sketch/dog/n02103406_1138-8.png 1
-sketch/dog/n02103406_1170-1.png 1
-sketch/dog/n02103406_1170-2.png 1
-sketch/dog/n02103406_1170-3.png 1
-sketch/dog/n02103406_1170-4.png 1
-sketch/dog/n02103406_1170-5.png 1
-sketch/elephant/n02503517_79-1.png 2
-sketch/elephant/n02503517_79-2.png 2
-sketch/elephant/n02503517_79-3.png 2
-sketch/elephant/n02503517_79-4.png 2
-sketch/elephant/n02503517_79-5.png 2
-sketch/elephant/n02503517_86-1.png 2
-sketch/elephant/n02503517_86-2.png 2
-sketch/elephant/n02503517_86-3.png 2
-sketch/elephant/n02503517_86-4.png 2
-sketch/elephant/n02503517_86-5.png 2
-sketch/elephant/n02503517_86-6.png 2
-sketch/elephant/n02503517_184-1.png 2
-sketch/elephant/n02503517_184-2.png 2
-sketch/elephant/n02503517_184-3.png 2
-sketch/elephant/n02503517_184-4.png 2
-sketch/elephant/n02503517_184-5.png 2
-sketch/elephant/n02503517_184-6.png 2
-sketch/elephant/n02503517_184-7.png 2
-sketch/elephant/n02503517_184-8.png 2
-sketch/elephant/n02503517_184-9.png 2
-sketch/elephant/n02503517_194-1.png 2
-sketch/elephant/n02503517_194-2.png 2
-sketch/elephant/n02503517_194-3.png 2
-sketch/elephant/n02503517_194-4.png 2
-sketch/elephant/n02503517_194-5.png 2
-sketch/elephant/n02503517_194-6.png 2
-sketch/elephant/n02503517_311-1.png 2
-sketch/elephant/n02503517_311-2.png 2
-sketch/elephant/n02503517_311-3.png 2
-sketch/elephant/n02503517_311-4.png 2
-sketch/elephant/n02503517_311-5.png 2
-sketch/elephant/n02503517_311-6.png 2
-sketch/elephant/n02503517_564-1.png 2
-sketch/elephant/n02503517_564-2.png 2
-sketch/elephant/n02503517_564-3.png 2
-sketch/elephant/n02503517_564-4.png 2
-sketch/elephant/n02503517_564-5.png 2
-sketch/elephant/n02503517_753-1.png 2
-sketch/elephant/n02503517_753-2.png 2
-sketch/elephant/n02503517_753-3.png 2
-sketch/elephant/n02503517_753-4.png 2
-sketch/elephant/n02503517_753-5.png 2
-sketch/elephant/n02503517_753-6.png 2
-sketch/elephant/n02503517_759-1.png 2
-sketch/elephant/n02503517_759-2.png 2
-sketch/elephant/n02503517_759-3.png 2
-sketch/elephant/n02503517_759-4.png 2
-sketch/elephant/n02503517_759-5.png 2
-sketch/elephant/n02503517_759-6.png 2
-sketch/elephant/n02503517_759-7.png 2
-sketch/elephant/n02503517_759-8.png 2
-sketch/elephant/n02503517_792-1.png 2
-sketch/elephant/n02503517_792-2.png 2
-sketch/elephant/n02503517_792-3.png 2
-sketch/elephant/n02503517_792-4.png 2
-sketch/elephant/n02503517_792-5.png 2
-sketch/elephant/n02503517_1292-1.png 2
-sketch/elephant/n02503517_1292-2.png 2
-sketch/elephant/n02503517_1292-3.png 2
-sketch/elephant/n02503517_1292-4.png 2
-sketch/elephant/n02503517_1292-5.png 2
-sketch/elephant/n02503517_1292-6.png 2
-sketch/elephant/n02503517_1292-7.png 2
-sketch/elephant/n02503517_1359-1.png 2
-sketch/elephant/n02503517_1359-2.png 2
-sketch/elephant/n02503517_1359-3.png 2
-sketch/elephant/n02503517_1359-4.png 2
-sketch/elephant/n02503517_1359-5.png 2
-sketch/elephant/n02503517_1359-6.png 2
-sketch/elephant/n02503517_1383-1.png 2
-sketch/elephant/n02503517_1383-2.png 2
-sketch/elephant/n02503517_1383-3.png 2
-sketch/elephant/n02503517_1383-4.png 2
-sketch/elephant/n02503517_1383-5.png 2
-sketch/elephant/n02503517_1383-6.png 2
-sketch/giraffe/n02439033_67-1.png 3
-sketch/giraffe/n02439033_67-2.png 3
-sketch/giraffe/n02439033_67-3.png 3
-sketch/giraffe/n02439033_67-4.png 3
-sketch/giraffe/n02439033_67-5.png 3
-sketch/giraffe/n02439033_67-6.png 3
-sketch/giraffe/n02439033_67-7.png 3
-sketch/giraffe/n02439033_221-1.png 3
-sketch/giraffe/n02439033_221-2.png 3
-sketch/giraffe/n02439033_221-3.png 3
-sketch/giraffe/n02439033_221-4.png 3
-sketch/giraffe/n02439033_221-5.png 3
-sketch/giraffe/n02439033_221-6.png 3
-sketch/giraffe/n02439033_376-1.png 3
-sketch/giraffe/n02439033_376-2.png 3
-sketch/giraffe/n02439033_376-3.png 3
-sketch/giraffe/n02439033_376-4.png 3
-sketch/giraffe/n02439033_376-5.png 3
-sketch/giraffe/n02439033_569-1.png 3
-sketch/giraffe/n02439033_569-2.png 3
-sketch/giraffe/n02439033_569-3.png 3
-sketch/giraffe/n02439033_569-4.png 3
-sketch/giraffe/n02439033_569-5.png 3
-sketch/giraffe/n02439033_628-1.png 3
-sketch/giraffe/n02439033_628-2.png 3
-sketch/giraffe/n02439033_628-3.png 3
-sketch/giraffe/n02439033_628-4.png 3
-sketch/giraffe/n02439033_628-5.png 3
-sketch/giraffe/n02439033_628-6.png 3
-sketch/giraffe/n02439033_628-7.png 3
-sketch/giraffe/n02439033_628-8.png 3
-sketch/giraffe/n02439033_628-9.png 3
-sketch/giraffe/n02439033_628-10.png 3
-sketch/giraffe/n02439033_866-1.png 3
-sketch/giraffe/n02439033_866-2.png 3
-sketch/giraffe/n02439033_866-3.png 3
-sketch/giraffe/n02439033_866-4.png 3
-sketch/giraffe/n02439033_866-5.png 3
-sketch/giraffe/n02439033_866-6.png 3
-sketch/giraffe/n02439033_991-1.png 3
-sketch/giraffe/n02439033_991-2.png 3
-sketch/giraffe/n02439033_991-3.png 3
-sketch/giraffe/n02439033_991-4.png 3
-sketch/giraffe/n02439033_991-5.png 3
-sketch/giraffe/n02439033_991-6.png 3
-sketch/giraffe/n02439033_991-7.png 3
-sketch/giraffe/n02439033_991-8.png 3
-sketch/giraffe/n02439033_991-9.png 3
-sketch/giraffe/n02439033_1327-1.png 3
-sketch/giraffe/n02439033_1327-2.png 3
-sketch/giraffe/n02439033_1327-3.png 3
-sketch/giraffe/n02439033_1327-4.png 3
-sketch/giraffe/n02439033_1327-5.png 3
-sketch/giraffe/n02439033_1508-1.png 3
-sketch/giraffe/n02439033_1508-2.png 3
-sketch/giraffe/n02439033_1508-3.png 3
-sketch/giraffe/n02439033_1508-4.png 3
-sketch/giraffe/n02439033_1508-5.png 3
-sketch/giraffe/n02439033_1508-6.png 3
-sketch/giraffe/n02439033_1508-7.png 3
-sketch/giraffe/n02439033_1508-8.png 3
-sketch/giraffe/n02439033_1508-9.png 3
-sketch/giraffe/n02439033_2486-1.png 3
-sketch/giraffe/n02439033_2486-2.png 3
-sketch/giraffe/n02439033_2486-3.png 3
-sketch/giraffe/n02439033_2486-4.png 3
-sketch/giraffe/n02439033_2486-5.png 3
-sketch/giraffe/n02439033_2486-6.png 3
-sketch/giraffe/n02439033_2500-1.png 3
-sketch/giraffe/n02439033_2500-2.png 3
-sketch/giraffe/n02439033_2500-3.png 3
-sketch/giraffe/n02439033_2500-4.png 3
-sketch/giraffe/n02439033_2500-5.png 3
-sketch/giraffe/n02439033_2500-6.png 3
-sketch/giraffe/n02439033_2677-1.png 3
-sketch/giraffe/n02439033_2677-2.png 3
-sketch/guitar/7601.png 4
-sketch/guitar/7602.png 4
-sketch/guitar/7603.png 4
-sketch/guitar/7604.png 4
-sketch/guitar/7605.png 4
-sketch/guitar/7606.png 4
-sketch/guitar/7607.png 4
-sketch/guitar/7608.png 4
-sketch/guitar/7609.png 4
-sketch/guitar/7610.png 4
-sketch/guitar/7611.png 4
-sketch/guitar/7612.png 4
-sketch/guitar/7613.png 4
-sketch/guitar/7614.png 4
-sketch/guitar/7615.png 4
-sketch/guitar/7616.png 4
-sketch/guitar/7617.png 4
-sketch/guitar/7618.png 4
-sketch/guitar/7619.png 4
-sketch/guitar/7620.png 4
-sketch/guitar/7621.png 4
-sketch/guitar/7622.png 4
-sketch/guitar/7623.png 4
-sketch/guitar/7624.png 4
-sketch/guitar/7625.png 4
-sketch/guitar/7626.png 4
-sketch/guitar/7627.png 4
-sketch/guitar/7628.png 4
-sketch/guitar/7629.png 4
-sketch/guitar/7630.png 4
-sketch/guitar/7631.png 4
-sketch/guitar/7632.png 4
-sketch/guitar/7633.png 4
-sketch/guitar/7634.png 4
-sketch/guitar/7635.png 4
-sketch/guitar/7636.png 4
-sketch/guitar/7637.png 4
-sketch/guitar/7638.png 4
-sketch/guitar/7639.png 4
-sketch/guitar/7640.png 4
-sketch/guitar/7641.png 4
-sketch/guitar/7642.png 4
-sketch/guitar/7643.png 4
-sketch/guitar/7644.png 4
-sketch/guitar/7645.png 4
-sketch/guitar/7646.png 4
-sketch/guitar/7647.png 4
-sketch/guitar/7648.png 4
-sketch/guitar/7649.png 4
-sketch/guitar/7650.png 4
-sketch/guitar/7651.png 4
-sketch/guitar/7652.png 4
-sketch/guitar/7653.png 4
-sketch/guitar/7654.png 4
-sketch/guitar/7655.png 4
-sketch/guitar/7656.png 4
-sketch/guitar/7657.png 4
-sketch/guitar/7658.png 4
-sketch/guitar/7659.png 4
-sketch/guitar/7660.png 4
-sketch/guitar/7661.png 4
-sketch/horse/n02374451_54-1.png 5
-sketch/horse/n02374451_54-2.png 5
-sketch/horse/n02374451_54-3.png 5
-sketch/horse/n02374451_54-4.png 5
-sketch/horse/n02374451_54-5.png 5
-sketch/horse/n02374451_54-6.png 5
-sketch/horse/n02374451_54-7.png 5
-sketch/horse/n02374451_54-8.png 5
-sketch/horse/n02374451_54-9.png 5
-sketch/horse/n02374451_54-10.png 5
-sketch/horse/n02374451_245-1.png 5
-sketch/horse/n02374451_245-2.png 5
-sketch/horse/n02374451_245-3.png 5
-sketch/horse/n02374451_245-4.png 5
-sketch/horse/n02374451_245-5.png 5
-sketch/horse/n02374451_245-6.png 5
-sketch/horse/n02374451_257-1.png 5
-sketch/horse/n02374451_257-2.png 5
-sketch/horse/n02374451_257-3.png 5
-sketch/horse/n02374451_257-4.png 5
-sketch/horse/n02374451_257-5.png 5
-sketch/horse/n02374451_257-6.png 5
-sketch/horse/n02374451_257-7.png 5
-sketch/horse/n02374451_262-1.png 5
-sketch/horse/n02374451_262-2.png 5
-sketch/horse/n02374451_262-3.png 5
-sketch/horse/n02374451_262-4.png 5
-sketch/horse/n02374451_262-5.png 5
-sketch/horse/n02374451_262-6.png 5
-sketch/horse/n02374451_262-7.png 5
-sketch/horse/n02374451_262-8.png 5
-sketch/horse/n02374451_262-9.png 5
-sketch/horse/n02374451_262-10.png 5
-sketch/horse/n02374451_262-11.png 5
-sketch/horse/n02374451_262-12.png 5
-sketch/horse/n02374451_276-1.png 5
-sketch/horse/n02374451_276-2.png 5
-sketch/horse/n02374451_276-3.png 5
-sketch/horse/n02374451_276-4.png 5
-sketch/horse/n02374451_276-5.png 5
-sketch/horse/n02374451_276-6.png 5
-sketch/horse/n02374451_276-7.png 5
-sketch/horse/n02374451_276-8.png 5
-sketch/horse/n02374451_276-9.png 5
-sketch/horse/n02374451_276-10.png 5
-sketch/horse/n02374451_388-2.png 5
-sketch/horse/n02374451_388-3.png 5
-sketch/horse/n02374451_388-4.png 5
-sketch/horse/n02374451_388-5.png 5
-sketch/horse/n02374451_388-6.png 5
-sketch/horse/n02374451_388-7.png 5
-sketch/horse/n02374451_388-8.png 5
-sketch/horse/n02374451_388-9.png 5
-sketch/horse/n02374451_388-10.png 5
-sketch/horse/n02374451_468-1.png 5
-sketch/horse/n02374451_468-2.png 5
-sketch/horse/n02374451_468-3.png 5
-sketch/horse/n02374451_468-4.png 5
-sketch/horse/n02374451_468-5.png 5
-sketch/horse/n02374451_468-6.png 5
-sketch/horse/n02374451_468-7.png 5
-sketch/horse/n02374451_468-8.png 5
-sketch/horse/n02374451_468-9.png 5
-sketch/horse/n02374451_468-10.png 5
-sketch/horse/n02374451_490-1.png 5
-sketch/horse/n02374451_490-2.png 5
-sketch/horse/n02374451_490-3.png 5
-sketch/horse/n02374451_490-4.png 5
-sketch/horse/n02374451_490-5.png 5
-sketch/horse/n02374451_490-6.png 5
-sketch/horse/n02374451_490-7.png 5
-sketch/horse/n02374451_503-1.png 5
-sketch/horse/n02374451_503-2.png 5
-sketch/horse/n02374451_503-3.png 5
-sketch/horse/n02374451_503-4.png 5
-sketch/horse/n02374451_503-5.png 5
-sketch/horse/n02374451_503-6.png 5
-sketch/horse/n02374451_557-1.png 5
-sketch/horse/n02374451_557-2.png 5
-sketch/horse/n02374451_557-3.png 5
-sketch/horse/n02374451_557-4.png 5
-sketch/horse/n02374451_557-5.png 5
-sketch/house/8801.png 6
-sketch/house/8802.png 6
-sketch/house/8803.png 6
-sketch/house/8804.png 6
-sketch/house/8805.png 6
-sketch/house/8806.png 6
-sketch/house/8807.png 6
-sketch/house/8808.png 6
-sketch/house/8809.png 6
-sketch/person/12081.png 7
-sketch/person/12082.png 7
-sketch/person/12083.png 7
-sketch/person/12084.png 7
-sketch/person/12085.png 7
-sketch/person/12086.png 7
-sketch/person/12087.png 7
-sketch/person/12088.png 7
-sketch/person/12089.png 7
-sketch/person/12090.png 7
-sketch/person/12091.png 7
-sketch/person/12092.png 7
-sketch/person/12093.png 7
-sketch/person/12094.png 7
-sketch/person/12095.png 7
-sketch/person/12096.png 7
-sketch/person/12097.png 7
diff --git a/data/pacs_split/sketch_test_kfold.txt b/data/pacs_split/sketch_test_kfold.txt
deleted file mode 100644
index c27970b06..000000000
--- a/data/pacs_split/sketch_test_kfold.txt
+++ /dev/null
@@ -1,3929 +0,0 @@
-sketch/dog/n02103406_343-1.png 1
-sketch/dog/n02103406_343-2.png 1
-sketch/dog/n02103406_343-3.png 1
-sketch/dog/n02103406_343-4.png 1
-sketch/dog/n02103406_343-5.png 1
-sketch/dog/n02103406_343-6.png 1
-sketch/dog/n02103406_343-7.png 1
-sketch/dog/n02103406_343-8.png 1
-sketch/dog/n02103406_343-9.png 1
-sketch/dog/n02103406_346-1.png 1
-sketch/dog/n02103406_346-2.png 1
-sketch/dog/n02103406_346-3.png 1
-sketch/dog/n02103406_346-4.png 1
-sketch/dog/n02103406_346-5.png 1
-sketch/dog/n02103406_346-6.png 1
-sketch/dog/n02103406_346-7.png 1
-sketch/dog/n02103406_371-1.png 1
-sketch/dog/n02103406_371-2.png 1
-sketch/dog/n02103406_371-3.png 1
-sketch/dog/n02103406_371-4.png 1
-sketch/dog/n02103406_371-5.png 1
-sketch/dog/n02103406_371-6.png 1
-sketch/dog/n02103406_371-7.png 1
-sketch/dog/n02103406_371-8.png 1
-sketch/dog/n02103406_371-9.png 1
-sketch/dog/n02103406_371-10.png 1
-sketch/dog/n02103406_371-11.png 1
-sketch/dog/n02103406_651-1.png 1
-sketch/dog/n02103406_651-2.png 1
-sketch/dog/n02103406_651-3.png 1
-sketch/dog/n02103406_651-4.png 1
-sketch/dog/n02103406_651-5.png 1
-sketch/dog/n02103406_651-6.png 1
-sketch/dog/n02103406_651-7.png 1
-sketch/dog/n02103406_865-1.png 1
-sketch/dog/n02103406_865-2.png 1
-sketch/dog/n02103406_865-3.png 1
-sketch/dog/n02103406_865-4.png 1
-sketch/dog/n02103406_865-5.png 1
-sketch/dog/n02103406_865-6.png 1
-sketch/dog/n02103406_865-7.png 1
-sketch/dog/n02103406_865-8.png 1
-sketch/dog/n02103406_865-9.png 1
-sketch/dog/n02103406_865-10.png 1
-sketch/dog/n02103406_865-11.png 1
-sketch/dog/n02103406_936-1.png 1
-sketch/dog/n02103406_936-2.png 1
-sketch/dog/n02103406_936-3.png 1
-sketch/dog/n02103406_936-4.png 1
-sketch/dog/n02103406_936-5.png 1
-sketch/dog/n02103406_936-6.png 1
-sketch/dog/n02103406_936-7.png 1
-sketch/dog/n02103406_936-8.png 1
-sketch/dog/n02103406_936-9.png 1
-sketch/dog/n02103406_995-1.png 1
-sketch/dog/n02103406_995-2.png 1
-sketch/dog/n02103406_995-3.png 1
-sketch/dog/n02103406_995-4.png 1
-sketch/dog/n02103406_995-5.png 1
-sketch/dog/n02103406_995-6.png 1
-sketch/dog/n02103406_1011-1.png 1
-sketch/dog/n02103406_1011-2.png 1
-sketch/dog/n02103406_1011-3.png 1
-sketch/dog/n02103406_1011-4.png 1
-sketch/dog/n02103406_1011-5.png 1
-sketch/dog/n02103406_1138-1.png 1
-sketch/dog/n02103406_1138-2.png 1
-sketch/dog/n02103406_1138-3.png 1
-sketch/dog/n02103406_1138-4.png 1
-sketch/dog/n02103406_1138-5.png 1
-sketch/dog/n02103406_1138-6.png 1
-sketch/dog/n02103406_1138-7.png 1
-sketch/dog/n02103406_1138-8.png 1
-sketch/dog/n02103406_1170-1.png 1
-sketch/dog/n02103406_1170-2.png 1
-sketch/dog/n02103406_1170-3.png 1
-sketch/dog/n02103406_1170-4.png 1
-sketch/dog/n02103406_1170-5.png 1
-sketch/dog/n02103406_1170-6.png 1
-sketch/dog/n02103406_1247-1.png 1
-sketch/dog/n02103406_1247-2.png 1
-sketch/dog/n02103406_1247-3.png 1
-sketch/dog/n02103406_1247-4.png 1
-sketch/dog/n02103406_1247-5.png 1
-sketch/dog/n02103406_1247-6.png 1
-sketch/dog/n02103406_1247-7.png 1
-sketch/dog/n02103406_1599-1.png 1
-sketch/dog/n02103406_1599-2.png 1
-sketch/dog/n02103406_1599-3.png 1
-sketch/dog/n02103406_1599-4.png 1
-sketch/dog/n02103406_1599-5.png 1
-sketch/dog/n02103406_1754-1.png 1
-sketch/dog/n02103406_1754-2.png 1
-sketch/dog/n02103406_1754-3.png 1
-sketch/dog/n02103406_1754-4.png 1
-sketch/dog/n02103406_1754-5.png 1
-sketch/dog/n02103406_2209-1.png 1
-sketch/dog/n02103406_2209-2.png 1
-sketch/dog/n02103406_2209-3.png 1
-sketch/dog/n02103406_2209-4.png 1
-sketch/dog/n02103406_2209-5.png 1
-sketch/dog/n02103406_2209-6.png 1
-sketch/dog/n02103406_2209-7.png 1
-sketch/dog/n02103406_2209-8.png 1
-sketch/dog/n02103406_2706-1.png 1
-sketch/dog/n02103406_2706-2.png 1
-sketch/dog/n02103406_2706-3.png 1
-sketch/dog/n02103406_2706-4.png 1
-sketch/dog/n02103406_2706-5.png 1
-sketch/dog/n02103406_2706-6.png 1
-sketch/dog/n02103406_2706-7.png 1
-sketch/dog/n02103406_2706-8.png 1
-sketch/dog/n02103406_2706-9.png 1
-sketch/dog/n02103406_2954-1.png 1
-sketch/dog/n02103406_2954-2.png 1
-sketch/dog/n02103406_2954-3.png 1
-sketch/dog/n02103406_2954-4.png 1
-sketch/dog/n02103406_2954-5.png 1
-sketch/dog/n02103406_2954-6.png 1
-sketch/dog/n02103406_2976-1.png 1
-sketch/dog/n02103406_2976-2.png 1
-sketch/dog/n02103406_2976-3.png 1
-sketch/dog/n02103406_2976-4.png 1
-sketch/dog/n02103406_2976-5.png 1
-sketch/dog/n02103406_2976-6.png 1
-sketch/dog/n02103406_2976-7.png 1
-sketch/dog/n02103406_3056-1.png 1
-sketch/dog/n02103406_3056-2.png 1
-sketch/dog/n02103406_3056-3.png 1
-sketch/dog/n02103406_3056-4.png 1
-sketch/dog/n02103406_3056-5.png 1
-sketch/dog/n02103406_3108-1.png 1
-sketch/dog/n02103406_3108-2.png 1
-sketch/dog/n02103406_3108-3.png 1
-sketch/dog/n02103406_3108-4.png 1
-sketch/dog/n02103406_3108-5.png 1
-sketch/dog/n02103406_3108-6.png 1
-sketch/dog/n02103406_3132-1.png 1
-sketch/dog/n02103406_3132-2.png 1
-sketch/dog/n02103406_3132-3.png 1
-sketch/dog/n02103406_3132-4.png 1
-sketch/dog/n02103406_3132-5.png 1
-sketch/dog/n02103406_3132-6.png 1
-sketch/dog/n02103406_3132-7.png 1
-sketch/dog/n02103406_3255-1.png 1
-sketch/dog/n02103406_3255-2.png 1
-sketch/dog/n02103406_3255-3.png 1
-sketch/dog/n02103406_3255-4.png 1
-sketch/dog/n02103406_3255-5.png 1
-sketch/dog/n02103406_3255-6.png 1
-sketch/dog/n02103406_3255-7.png 1
-sketch/dog/n02103406_3255-8.png 1
-sketch/dog/n02103406_3255-9.png 1
-sketch/dog/n02103406_3255-10.png 1
-sketch/dog/n02103406_3255-11.png 1
-sketch/dog/n02103406_3299-1.png 1
-sketch/dog/n02103406_3299-2.png 1
-sketch/dog/n02103406_3299-3.png 1
-sketch/dog/n02103406_3299-4.png 1
-sketch/dog/n02103406_3299-5.png 1
-sketch/dog/n02103406_3299-6.png 1
-sketch/dog/n02103406_3299-7.png 1
-sketch/dog/n02103406_3299-8.png 1
-sketch/dog/n02103406_3299-9.png 1
-sketch/dog/n02103406_3326-1.png 1
-sketch/dog/n02103406_3326-2.png 1
-sketch/dog/n02103406_3326-3.png 1
-sketch/dog/n02103406_3326-4.png 1
-sketch/dog/n02103406_3326-5.png 1
-sketch/dog/n02103406_3326-6.png 1
-sketch/dog/n02103406_3326-7.png 1
-sketch/dog/n02103406_3326-8.png 1
-sketch/dog/n02103406_3326-9.png 1
-sketch/dog/n02103406_3326-10.png 1
-sketch/dog/n02103406_3326-11.png 1
-sketch/dog/n02103406_3326-12.png 1
-sketch/dog/n02103406_3326-13.png 1
-sketch/dog/n02103406_3401-1.png 1
-sketch/dog/n02103406_3401-2.png 1
-sketch/dog/n02103406_3401-3.png 1
-sketch/dog/n02103406_3401-4.png 1
-sketch/dog/n02103406_3401-5.png 1
-sketch/dog/n02103406_3401-6.png 1
-sketch/dog/n02103406_3538-1.png 1
-sketch/dog/n02103406_3538-2.png 1
-sketch/dog/n02103406_3538-3.png 1
-sketch/dog/n02103406_3538-4.png 1
-sketch/dog/n02103406_3538-5.png 1
-sketch/dog/n02103406_3538-6.png 1
-sketch/dog/n02103406_3538-7.png 1
-sketch/dog/n02103406_3743-1.png 1
-sketch/dog/n02103406_3743-2.png 1
-sketch/dog/n02103406_3743-3.png 1
-sketch/dog/n02103406_3743-4.png 1
-sketch/dog/n02103406_3743-5.png 1
-sketch/dog/n02103406_3743-6.png 1
-sketch/dog/n02103406_3743-7.png 1
-sketch/dog/n02103406_3743-8.png 1
-sketch/dog/n02103406_3743-9.png 1
-sketch/dog/n02103406_3743-10.png 1
-sketch/dog/n02103406_3750-1.png 1
-sketch/dog/n02103406_3750-2.png 1
-sketch/dog/n02103406_3750-3.png 1
-sketch/dog/n02103406_3750-4.png 1
-sketch/dog/n02103406_3750-5.png 1
-sketch/dog/n02103406_3750-6.png 1
-sketch/dog/n02103406_3964-1.png 1
-sketch/dog/n02103406_3964-2.png 1
-sketch/dog/n02103406_3964-3.png 1
-sketch/dog/n02103406_3964-4.png 1
-sketch/dog/n02103406_3964-5.png 1
-sketch/dog/n02103406_4068-1.png 1
-sketch/dog/n02103406_4068-2.png 1
-sketch/dog/n02103406_4068-3.png 1
-sketch/dog/n02103406_4068-4.png 1
-sketch/dog/n02103406_4068-5.png 1
-sketch/dog/n02103406_4068-6.png 1
-sketch/dog/n02103406_4068-7.png 1
-sketch/dog/n02103406_4068-8.png 1
-sketch/dog/n02103406_4068-9.png 1
-sketch/dog/n02103406_4068-10.png 1
-sketch/dog/n02103406_4068-11.png 1
-sketch/dog/n02103406_4068-12.png 1
-sketch/dog/n02103406_4582-1.png 1
-sketch/dog/n02103406_4582-2.png 1
-sketch/dog/n02103406_4582-3.png 1
-sketch/dog/n02103406_4582-4.png 1
-sketch/dog/n02103406_4582-5.png 1
-sketch/dog/n02103406_4849-1.png 1
-sketch/dog/n02103406_4849-2.png 1
-sketch/dog/n02103406_4849-3.png 1
-sketch/dog/n02103406_4849-4.png 1
-sketch/dog/n02103406_4849-5.png 1
-sketch/dog/n02103406_4849-6.png 1
-sketch/dog/n02103406_4849-7.png 1
-sketch/dog/n02103406_4849-8.png 1
-sketch/dog/n02103406_4849-9.png 1
-sketch/dog/n02103406_4916-1.png 1
-sketch/dog/n02103406_4916-2.png 1
-sketch/dog/n02103406_4916-3.png 1
-sketch/dog/n02103406_4916-4.png 1
-sketch/dog/n02103406_4916-5.png 1
-sketch/dog/n02103406_5035-1.png 1
-sketch/dog/n02103406_5035-2.png 1
-sketch/dog/n02103406_5035-3.png 1
-sketch/dog/n02103406_5035-4.png 1
-sketch/dog/n02103406_5035-5.png 1
-sketch/dog/n02103406_5035-6.png 1
-sketch/dog/n02103406_5216-1.png 1
-sketch/dog/n02103406_5216-2.png 1
-sketch/dog/n02103406_5216-3.png 1
-sketch/dog/n02103406_5216-4.png 1
-sketch/dog/n02103406_5216-5.png 1
-sketch/dog/n02103406_5224-1.png 1
-sketch/dog/n02103406_5224-2.png 1
-sketch/dog/n02103406_5224-3.png 1
-sketch/dog/n02103406_5224-4.png 1
-sketch/dog/n02103406_5224-5.png 1
-sketch/dog/n02103406_5224-6.png 1
-sketch/dog/n02103406_5456-1.png 1
-sketch/dog/n02103406_5456-2.png 1
-sketch/dog/n02103406_5456-3.png 1
-sketch/dog/n02103406_5456-4.png 1
-sketch/dog/n02103406_5456-5.png 1
-sketch/dog/n02103406_5456-6.png 1
-sketch/dog/n02103406_5456-7.png 1
-sketch/dog/n02103406_5456-8.png 1
-sketch/dog/n02103406_5456-9.png 1
-sketch/dog/n02103406_5505-1.png 1
-sketch/dog/n02103406_5505-2.png 1
-sketch/dog/n02103406_5505-3.png 1
-sketch/dog/n02103406_5505-4.png 1
-sketch/dog/n02103406_5505-5.png 1
-sketch/dog/n02103406_5505-6.png 1
-sketch/dog/n02103406_5563-1.png 1
-sketch/dog/n02103406_5563-2.png 1
-sketch/dog/n02103406_5563-3.png 1
-sketch/dog/n02103406_5563-4.png 1
-sketch/dog/n02103406_5563-5.png 1
-sketch/dog/n02103406_5563-6.png 1
-sketch/dog/n02103406_5563-7.png 1
-sketch/dog/n02103406_5601-1.png 1
-sketch/dog/n02103406_5601-2.png 1
-sketch/dog/n02103406_5601-3.png 1
-sketch/dog/n02103406_5601-4.png 1
-sketch/dog/n02103406_5601-5.png 1
-sketch/dog/n02103406_5601-6.png 1
-sketch/dog/n02103406_6274-1.png 1
-sketch/dog/n02103406_6274-2.png 1
-sketch/dog/n02103406_6274-3.png 1
-sketch/dog/n02103406_6274-4.png 1
-sketch/dog/n02103406_6274-5.png 1
-sketch/dog/n02103406_6461-1.png 1
-sketch/dog/n02103406_6461-2.png 1
-sketch/dog/n02103406_6461-3.png 1
-sketch/dog/n02103406_6461-4.png 1
-sketch/dog/n02103406_6461-5.png 1
-sketch/dog/n02103406_6461-6.png 1
-sketch/dog/n02103406_6461-7.png 1
-sketch/dog/n02103406_6530-1.png 1
-sketch/dog/n02103406_6530-2.png 1
-sketch/dog/n02103406_6530-3.png 1
-sketch/dog/n02103406_6530-4.png 1
-sketch/dog/n02103406_6530-5.png 1
-sketch/dog/n02103406_6530-6.png 1
-sketch/dog/n02103406_6530-7.png 1
-sketch/dog/n02103406_6688-1.png 1
-sketch/dog/n02103406_6688-2.png 1
-sketch/dog/n02103406_6688-3.png 1
-sketch/dog/n02103406_6688-4.png 1
-sketch/dog/n02103406_6688-5.png 1
-sketch/dog/n02103406_6688-6.png 1
-sketch/dog/n02103406_6688-7.png 1
-sketch/dog/n02103406_6688-8.png 1
-sketch/dog/n02103406_6688-9.png 1
-sketch/dog/n02103406_6852-1.png 1
-sketch/dog/n02103406_6852-2.png 1
-sketch/dog/n02103406_6852-3.png 1
-sketch/dog/n02103406_6852-4.png 1
-sketch/dog/n02103406_6852-5.png 1
-sketch/dog/n02103406_6852-6.png 1
-sketch/dog/n02103406_6852-7.png 1
-sketch/dog/n02103406_6852-8.png 1
-sketch/dog/n02103406_6852-9.png 1
-sketch/dog/n02103406_6857-1.png 1
-sketch/dog/n02103406_6857-2.png 1
-sketch/dog/n02103406_6857-3.png 1
-sketch/dog/n02103406_6857-4.png 1
-sketch/dog/n02103406_6857-5.png 1
-sketch/dog/n02103406_6857-6.png 1
-sketch/dog/n02103406_6857-7.png 1
-sketch/dog/n02103406_6857-8.png 1
-sketch/dog/n02103406_7201-1.png 1
-sketch/dog/n02103406_7201-2.png 1
-sketch/dog/n02103406_7201-3.png 1
-sketch/dog/n02103406_7201-4.png 1
-sketch/dog/n02103406_7201-5.png 1
-sketch/dog/n02103406_7201-6.png 1
-sketch/dog/n02103406_7368-1.png 1
-sketch/dog/n02103406_7368-2.png 1
-sketch/dog/n02103406_7368-3.png 1
-sketch/dog/n02103406_7368-4.png 1
-sketch/dog/n02103406_7368-5.png 1
-sketch/dog/n02103406_7368-6.png 1
-sketch/dog/n02103406_7368-7.png 1
-sketch/dog/n02103406_7368-8.png 1
-sketch/dog/n02103406_7368-9.png 1
-sketch/dog/n02103406_7368-10.png 1
-sketch/dog/n02103406_7521-1.png 1
-sketch/dog/n02103406_7521-2.png 1
-sketch/dog/n02103406_7521-3.png 1
-sketch/dog/n02103406_7521-4.png 1
-sketch/dog/n02103406_7521-5.png 1
-sketch/dog/n02103406_7521-6.png 1
-sketch/dog/n02103406_7521-7.png 1
-sketch/dog/n02103406_7521-8.png 1
-sketch/dog/n02103406_7708-1.png 1
-sketch/dog/n02103406_7708-2.png 1
-sketch/dog/n02103406_7708-3.png 1
-sketch/dog/n02103406_7708-4.png 1
-sketch/dog/n02103406_7708-5.png 1
-sketch/dog/n02103406_7708-6.png 1
-sketch/dog/n02103406_7708-7.png 1
-sketch/dog/n02103406_7708-8.png 1
-sketch/dog/n02103406_7708-9.png 1
-sketch/dog/n02103406_7708-10.png 1
-sketch/dog/n02103406_8004-1.png 1
-sketch/dog/n02103406_8004-2.png 1
-sketch/dog/n02103406_8004-3.png 1
-sketch/dog/n02103406_8004-4.png 1
-sketch/dog/n02103406_8004-5.png 1
-sketch/dog/n02103406_8004-6.png 1
-sketch/dog/n02103406_8004-7.png 1
-sketch/dog/n02103406_8004-8.png 1
-sketch/dog/n02103406_8004-9.png 1
-sketch/dog/n02103406_8280-1.png 1
-sketch/dog/n02103406_8280-2.png 1
-sketch/dog/n02103406_8280-3.png 1
-sketch/dog/n02103406_8280-4.png 1
-sketch/dog/n02103406_8280-5.png 1
-sketch/dog/n02103406_8280-6.png 1
-sketch/dog/n02103406_8362-1.png 1
-sketch/dog/n02103406_8362-2.png 1
-sketch/dog/n02103406_8362-3.png 1
-sketch/dog/n02103406_8362-4.png 1
-sketch/dog/n02103406_8362-5.png 1
-sketch/dog/n02103406_8362-6.png 1
-sketch/dog/n02103406_8362-7.png 1
-sketch/dog/n02103406_8362-8.png 1
-sketch/dog/n02103406_8362-9.png 1
-sketch/dog/n02103406_8362-10.png 1
-sketch/dog/n02103406_8421-1.png 1
-sketch/dog/n02103406_8421-2.png 1
-sketch/dog/n02103406_8421-3.png 1
-sketch/dog/n02103406_8421-4.png 1
-sketch/dog/n02103406_8421-5.png 1
-sketch/dog/n02103406_8421-6.png 1
-sketch/dog/n02103406_13049-1.png 1
-sketch/dog/n02103406_13049-2.png 1
-sketch/dog/n02103406_13049-3.png 1
-sketch/dog/n02103406_13049-4.png 1
-sketch/dog/n02103406_13049-5.png 1
-sketch/dog/n02103406_13049-6.png 1
-sketch/dog/n02106662_466-1.png 1
-sketch/dog/n02106662_466-2.png 1
-sketch/dog/n02106662_466-3.png 1
-sketch/dog/n02106662_466-4.png 1
-sketch/dog/n02106662_466-5.png 1
-sketch/dog/n02106662_466-6.png 1
-sketch/dog/n02106662_466-7.png 1
-sketch/dog/n02106662_928-1.png 1
-sketch/dog/n02106662_928-2.png 1
-sketch/dog/n02106662_928-3.png 1
-sketch/dog/n02106662_928-4.png 1
-sketch/dog/n02106662_928-5.png 1
-sketch/dog/n02106662_928-6.png 1
-sketch/dog/n02106662_928-7.png 1
-sketch/dog/n02106662_928-8.png 1
-sketch/dog/n02106662_928-9.png 1
-sketch/dog/n02106662_928-10.png 1
-sketch/dog/n02106662_928-11.png 1
-sketch/dog/n02106662_1874-1.png 1
-sketch/dog/n02106662_1874-2.png 1
-sketch/dog/n02106662_1874-3.png 1
-sketch/dog/n02106662_1874-4.png 1
-sketch/dog/n02106662_1874-5.png 1
-sketch/dog/n02106662_1922-1.png 1
-sketch/dog/n02106662_1922-2.png 1
-sketch/dog/n02106662_1922-3.png 1
-sketch/dog/n02106662_1922-4.png 1
-sketch/dog/n02106662_1922-5.png 1
-sketch/dog/n02106662_2101-1.png 1
-sketch/dog/n02106662_2101-2.png 1
-sketch/dog/n02106662_2101-3.png 1
-sketch/dog/n02106662_2101-4.png 1
-sketch/dog/n02106662_2101-5.png 1
-sketch/dog/n02106662_2101-6.png 1
-sketch/dog/n02106662_2101-7.png 1
-sketch/dog/n02106662_2101-8.png 1
-sketch/dog/n02106662_2101-9.png 1
-sketch/dog/n02106662_2157-1.png 1
-sketch/dog/n02106662_2157-2.png 1
-sketch/dog/n02106662_2157-3.png 1
-sketch/dog/n02106662_2157-4.png 1
-sketch/dog/n02106662_2157-5.png 1
-sketch/dog/n02106662_2157-6.png 1
-sketch/dog/n02106662_2377-1.png 1
-sketch/dog/n02106662_2377-2.png 1
-sketch/dog/n02106662_2377-3.png 1
-sketch/dog/n02106662_2377-4.png 1
-sketch/dog/n02106662_2377-5.png 1
-sketch/dog/n02106662_2377-6.png 1
-sketch/dog/n02106662_2740-1.png 1
-sketch/dog/n02106662_2740-2.png 1
-sketch/dog/n02106662_2740-3.png 1
-sketch/dog/n02106662_2740-4.png 1
-sketch/dog/n02106662_2740-5.png 1
-sketch/dog/n02106662_5001-1.png 1
-sketch/dog/n02106662_5001-2.png 1
-sketch/dog/n02106662_5001-3.png 1
-sketch/dog/n02106662_5001-4.png 1
-sketch/dog/n02106662_5001-5.png 1
-sketch/dog/n02106662_5001-6.png 1
-sketch/dog/n02106662_5001-7.png 1
-sketch/dog/n02106662_7885-1.png 1
-sketch/dog/n02106662_7885-2.png 1
-sketch/dog/n02106662_7885-3.png 1
-sketch/dog/n02106662_7885-4.png 1
-sketch/dog/n02106662_7885-5.png 1
-sketch/dog/n02106662_7960-1.png 1
-sketch/dog/n02106662_7960-2.png 1
-sketch/dog/n02106662_7960-3.png 1
-sketch/dog/n02106662_7960-4.png 1
-sketch/dog/n02106662_7960-5.png 1
-sketch/dog/n02106662_7960-6.png 1
-sketch/dog/n02106662_8511-1.png 1
-sketch/dog/n02106662_8511-2.png 1
-sketch/dog/n02106662_8511-3.png 1
-sketch/dog/n02106662_8511-4.png 1
-sketch/dog/n02106662_8511-5.png 1
-sketch/dog/n02106662_8511-6.png 1
-sketch/dog/n02106662_8870-1.png 1
-sketch/dog/n02106662_8870-2.png 1
-sketch/dog/n02106662_8870-3.png 1
-sketch/dog/n02106662_8870-4.png 1
-sketch/dog/n02106662_8870-5.png 1
-sketch/dog/n02106662_8870-6.png 1
-sketch/dog/n02106662_8870-7.png 1
-sketch/dog/n02106662_10406-1.png 1
-sketch/dog/n02106662_10406-2.png 1
-sketch/dog/n02106662_10406-3.png 1
-sketch/dog/n02106662_10406-4.png 1
-sketch/dog/n02106662_10406-5.png 1
-sketch/dog/n02106662_10406-6.png 1
-sketch/dog/n02106662_11133-1.png 1
-sketch/dog/n02106662_11133-2.png 1
-sketch/dog/n02106662_11133-3.png 1
-sketch/dog/n02106662_11133-4.png 1
-sketch/dog/n02106662_11133-5.png 1
-sketch/dog/n02106662_13178-1.png 1
-sketch/dog/n02106662_13178-2.png 1
-sketch/dog/n02106662_13178-3.png 1
-sketch/dog/n02106662_13178-4.png 1
-sketch/dog/n02106662_13178-5.png 1
-sketch/dog/n02106662_13912-1.png 1
-sketch/dog/n02106662_13912-2.png 1
-sketch/dog/n02106662_13912-3.png 1
-sketch/dog/n02106662_13912-4.png 1
-sketch/dog/n02106662_13912-5.png 1
-sketch/dog/n02106662_15858-1.png 1
-sketch/dog/n02106662_15858-2.png 1
-sketch/dog/n02106662_15858-3.png 1
-sketch/dog/n02106662_15858-4.png 1
-sketch/dog/n02106662_15858-5.png 1
-sketch/dog/n02106662_15858-6.png 1
-sketch/dog/n02106662_18402-1.png 1
-sketch/dog/n02106662_18402-2.png 1
-sketch/dog/n02106662_18402-3.png 1
-sketch/dog/n02106662_18402-4.png 1
-sketch/dog/n02106662_18402-5.png 1
-sketch/dog/n02106662_18405-1.png 1
-sketch/dog/n02106662_18405-2.png 1
-sketch/dog/n02106662_18405-3.png 1
-sketch/dog/n02106662_18405-4.png 1
-sketch/dog/n02106662_18405-5.png 1
-sketch/dog/n02106662_18922-1.png 1
-sketch/dog/n02106662_18922-2.png 1
-sketch/dog/n02106662_18922-3.png 1
-sketch/dog/n02106662_18922-4.png 1
-sketch/dog/n02106662_18922-5.png 1
-sketch/dog/n02106662_18922-6.png 1
-sketch/dog/n02106662_18922-7.png 1
-sketch/dog/n02106662_18922-8.png 1
-sketch/dog/n02106662_18922-9.png 1
-sketch/dog/n02106662_18922-10.png 1
-sketch/dog/n02106662_18922-11.png 1
-sketch/dog/n02106662_18953-1.png 1
-sketch/dog/n02106662_18953-2.png 1
-sketch/dog/n02106662_18953-3.png 1
-sketch/dog/n02106662_18953-4.png 1
-sketch/dog/n02106662_18953-5.png 1
-sketch/dog/n02106662_18953-6.png 1
-sketch/dog/n02106662_18953-7.png 1
-sketch/dog/n02106662_24019-1.png 1
-sketch/dog/n02106662_24019-2.png 1
-sketch/dog/n02106662_24019-3.png 1
-sketch/dog/n02106662_24019-4.png 1
-sketch/dog/n02106662_24019-5.png 1
-sketch/dog/n02106662_24019-6.png 1
-sketch/dog/n02106662_24019-7.png 1
-sketch/dog/n02106662_24019-8.png 1
-sketch/dog/n02106662_24577-1.png 1
-sketch/dog/n02106662_24577-2.png 1
-sketch/dog/n02106662_24577-3.png 1
-sketch/dog/n02106662_24577-4.png 1
-sketch/dog/n02106662_24577-5.png 1
-sketch/dog/n02106662_24786-1.png 1
-sketch/dog/n02106662_24786-2.png 1
-sketch/dog/n02106662_24786-3.png 1
-sketch/dog/n02106662_24786-4.png 1
-sketch/dog/n02106662_24786-5.png 1
-sketch/dog/n02106662_24786-6.png 1
-sketch/dog/n02106662_24786-7.png 1
-sketch/dog/n02106662_25917-1.png 1
-sketch/dog/n02106662_25917-2.png 1
-sketch/dog/n02106662_25917-3.png 1
-sketch/dog/n02106662_25917-4.png 1
-sketch/dog/n02106662_25917-5.png 1
-sketch/dog/n02106662_25917-6.png 1
-sketch/dog/n02106662_25917-7.png 1
-sketch/dog/n02106662_26549-1.png 1
-sketch/dog/n02106662_26549-2.png 1
-sketch/dog/n02106662_26549-3.png 1
-sketch/dog/n02106662_26549-4.png 1
-sketch/dog/n02106662_26549-5.png 1
-sketch/dog/n02106662_26549-6.png 1
-sketch/dog/n02106662_27393-1.png 1
-sketch/dog/n02106662_27393-2.png 1
-sketch/dog/n02106662_27393-3.png 1
-sketch/dog/n02106662_27393-4.png 1
-sketch/dog/n02106662_27393-5.png 1
-sketch/dog/n02109525_704-1.png 1
-sketch/dog/n02109525_704-2.png 1
-sketch/dog/n02109525_704-3.png 1
-sketch/dog/n02109525_704-4.png 1
-sketch/dog/n02109525_704-5.png 1
-sketch/dog/n02109525_704-6.png 1
-sketch/dog/n02109525_1893-1.png 1
-sketch/dog/n02109525_1893-2.png 1
-sketch/dog/n02109525_1893-3.png 1
-sketch/dog/n02109525_1893-4.png 1
-sketch/dog/n02109525_1893-5.png 1
-sketch/dog/n02109525_1893-6.png 1
-sketch/dog/n02109525_1893-7.png 1
-sketch/dog/n02109525_3202-1.png 1
-sketch/dog/n02109525_3202-2.png 1
-sketch/dog/n02109525_3202-3.png 1
-sketch/dog/n02109525_3202-4.png 1
-sketch/dog/n02109525_3202-5.png 1
-sketch/dog/n02109525_3202-6.png 1
-sketch/dog/n02109525_3782-1.png 1
-sketch/dog/n02109525_3782-2.png 1
-sketch/dog/n02109525_3782-3.png 1
-sketch/dog/n02109525_3782-4.png 1
-sketch/dog/n02109525_3782-5.png 1
-sketch/dog/n02109525_3782-6.png 1
-sketch/dog/n02109525_3782-7.png 1
-sketch/dog/n02109525_3782-8.png 1
-sketch/dog/n02109525_3782-9.png 1
-sketch/dog/n02109525_3782-10.png 1
-sketch/dog/n02109525_5013-1.png 1
-sketch/dog/n02109525_5013-2.png 1
-sketch/dog/n02109525_5013-3.png 1
-sketch/dog/n02109525_5013-4.png 1
-sketch/dog/n02109525_5013-5.png 1
-sketch/dog/n02109525_5013-6.png 1
-sketch/dog/n02109525_5583-1.png 1
-sketch/dog/n02109525_5583-2.png 1
-sketch/dog/n02109525_5583-3.png 1
-sketch/dog/n02109525_5583-4.png 1
-sketch/dog/n02109525_5583-5.png 1
-sketch/dog/n02109525_5583-6.png 1
-sketch/dog/n02109525_5583-7.png 1
-sketch/dog/n02109525_5966-1.png 1
-sketch/dog/n02109525_5966-2.png 1
-sketch/dog/n02109525_5966-3.png 1
-sketch/dog/n02109525_5966-4.png 1
-sketch/dog/n02109525_5966-5.png 1
-sketch/dog/n02109525_6693-1.png 1
-sketch/dog/n02109525_6693-2.png 1
-sketch/dog/n02109525_6693-3.png 1
-sketch/dog/n02109525_6693-4.png 1
-sketch/dog/n02109525_6693-5.png 1
-sketch/dog/n02109525_7874-1.png 1
-sketch/dog/n02109525_7874-2.png 1
-sketch/dog/n02109525_7874-3.png 1
-sketch/dog/n02109525_7874-4.png 1
-sketch/dog/n02109525_7874-5.png 1
-sketch/dog/n02109525_7874-6.png 1
-sketch/dog/n02109525_8211-1.png 1
-sketch/dog/n02109525_8211-2.png 1
-sketch/dog/n02109525_8211-3.png 1
-sketch/dog/n02109525_8211-4.png 1
-sketch/dog/n02109525_8211-5.png 1
-sketch/dog/n02109525_8457-1.png 1
-sketch/dog/n02109525_8457-2.png 1
-sketch/dog/n02109525_8457-3.png 1
-sketch/dog/n02109525_8457-4.png 1
-sketch/dog/n02109525_8457-5.png 1
-sketch/dog/n02109525_9037-1.png 1
-sketch/dog/n02109525_9037-2.png 1
-sketch/dog/n02109525_9037-3.png 1
-sketch/dog/n02109525_9037-4.png 1
-sketch/dog/n02109525_9037-5.png 1
-sketch/dog/n02109525_9037-6.png 1
-sketch/dog/n02109525_9037-7.png 1
-sketch/dog/n02109525_10297-1.png 1
-sketch/dog/n02109525_10297-2.png 1
-sketch/dog/n02109525_10297-3.png 1
-sketch/dog/n02109525_10297-4.png 1
-sketch/dog/n02109525_10297-5.png 1
-sketch/dog/n02109525_11444-1.png 1
-sketch/dog/n02109525_11444-2.png 1
-sketch/dog/n02109525_11444-3.png 1
-sketch/dog/n02109525_11444-4.png 1
-sketch/dog/n02109525_11444-5.png 1
-sketch/dog/n02109525_12875-1.png 1
-sketch/dog/n02109525_12875-2.png 1
-sketch/dog/n02109525_12875-3.png 1
-sketch/dog/n02109525_12875-4.png 1
-sketch/dog/n02109525_12875-5.png 1
-sketch/dog/n02109525_12875-6.png 1
-sketch/dog/n02109525_13700-1.png 1
-sketch/dog/n02109525_13700-2.png 1
-sketch/dog/n02109525_13700-3.png 1
-sketch/dog/n02109525_13700-4.png 1
-sketch/dog/n02109525_13700-5.png 1
-sketch/dog/n02109525_16346-1.png 1
-sketch/dog/n02109525_16346-2.png 1
-sketch/dog/n02109525_16346-3.png 1
-sketch/dog/n02109525_16346-4.png 1
-sketch/dog/n02109525_16346-5.png 1
-sketch/dog/n02109525_16346-6.png 1
-sketch/dog/n02109525_16346-7.png 1
-sketch/dog/n02109525_16346-8.png 1
-sketch/dog/n02109525_18347-1.png 1
-sketch/dog/n02109525_18347-2.png 1
-sketch/dog/n02109525_18347-3.png 1
-sketch/dog/n02109525_18347-4.png 1
-sketch/dog/n02109525_18347-5.png 1
-sketch/dog/n02109525_18347-6.png 1
-sketch/dog/n02109525_18347-7.png 1
-sketch/dog/5281.png 1
-sketch/dog/5282.png 1
-sketch/dog/5283.png 1
-sketch/dog/5284.png 1
-sketch/dog/5285.png 1
-sketch/dog/5286.png 1
-sketch/dog/5287.png 1
-sketch/dog/5288.png 1
-sketch/dog/5289.png 1
-sketch/dog/5290.png 1
-sketch/dog/5291.png 1
-sketch/dog/5292.png 1
-sketch/dog/5293.png 1
-sketch/dog/5294.png 1
-sketch/dog/5295.png 1
-sketch/dog/5296.png 1
-sketch/dog/5297.png 1
-sketch/dog/5298.png 1
-sketch/dog/5299.png 1
-sketch/dog/5300.png 1
-sketch/dog/5301.png 1
-sketch/dog/5302.png 1
-sketch/dog/5303.png 1
-sketch/dog/5304.png 1
-sketch/dog/5305.png 1
-sketch/dog/5306.png 1
-sketch/dog/5307.png 1
-sketch/dog/5308.png 1
-sketch/dog/5309.png 1
-sketch/dog/5310.png 1
-sketch/dog/5311.png 1
-sketch/dog/5312.png 1
-sketch/dog/5313.png 1
-sketch/dog/5314.png 1
-sketch/dog/5315.png 1
-sketch/dog/5316.png 1
-sketch/dog/5317.png 1
-sketch/dog/5318.png 1
-sketch/dog/5319.png 1
-sketch/dog/5320.png 1
-sketch/dog/5321.png 1
-sketch/dog/5322.png 1
-sketch/dog/5323.png 1
-sketch/dog/5324.png 1
-sketch/dog/5325.png 1
-sketch/dog/5326.png 1
-sketch/dog/5327.png 1
-sketch/dog/5328.png 1
-sketch/dog/5329.png 1
-sketch/dog/5330.png 1
-sketch/dog/5331.png 1
-sketch/dog/5332.png 1
-sketch/dog/5333.png 1
-sketch/dog/5334.png 1
-sketch/dog/5335.png 1
-sketch/dog/5336.png 1
-sketch/dog/5337.png 1
-sketch/dog/5338.png 1
-sketch/dog/5339.png 1
-sketch/dog/5340.png 1
-sketch/dog/5341.png 1
-sketch/dog/5342.png 1
-sketch/dog/5343.png 1
-sketch/dog/5344.png 1
-sketch/dog/5345.png 1
-sketch/dog/5346.png 1
-sketch/dog/5347.png 1
-sketch/dog/5348.png 1
-sketch/dog/5349.png 1
-sketch/dog/5350.png 1
-sketch/dog/5351.png 1
-sketch/dog/5352.png 1
-sketch/dog/5353.png 1
-sketch/dog/5354.png 1
-sketch/dog/5355.png 1
-sketch/dog/5356.png 1
-sketch/dog/5357.png 1
-sketch/dog/5358.png 1
-sketch/dog/5359.png 1
-sketch/dog/5360.png 1
-sketch/elephant/n02503517_79-1.png 2
-sketch/elephant/n02503517_79-2.png 2
-sketch/elephant/n02503517_79-3.png 2
-sketch/elephant/n02503517_79-4.png 2
-sketch/elephant/n02503517_79-5.png 2
-sketch/elephant/n02503517_86-1.png 2
-sketch/elephant/n02503517_86-2.png 2
-sketch/elephant/n02503517_86-3.png 2
-sketch/elephant/n02503517_86-4.png 2
-sketch/elephant/n02503517_86-5.png 2
-sketch/elephant/n02503517_86-6.png 2
-sketch/elephant/n02503517_184-1.png 2
-sketch/elephant/n02503517_184-2.png 2
-sketch/elephant/n02503517_184-3.png 2
-sketch/elephant/n02503517_184-4.png 2
-sketch/elephant/n02503517_184-5.png 2
-sketch/elephant/n02503517_184-6.png 2
-sketch/elephant/n02503517_184-7.png 2
-sketch/elephant/n02503517_184-8.png 2
-sketch/elephant/n02503517_184-9.png 2
-sketch/elephant/n02503517_194-1.png 2
-sketch/elephant/n02503517_194-2.png 2
-sketch/elephant/n02503517_194-3.png 2
-sketch/elephant/n02503517_194-4.png 2
-sketch/elephant/n02503517_194-5.png 2
-sketch/elephant/n02503517_194-6.png 2
-sketch/elephant/n02503517_311-1.png 2
-sketch/elephant/n02503517_311-2.png 2
-sketch/elephant/n02503517_311-3.png 2
-sketch/elephant/n02503517_311-4.png 2
-sketch/elephant/n02503517_311-5.png 2
-sketch/elephant/n02503517_311-6.png 2
-sketch/elephant/n02503517_564-1.png 2
-sketch/elephant/n02503517_564-2.png 2
-sketch/elephant/n02503517_564-3.png 2
-sketch/elephant/n02503517_564-4.png 2
-sketch/elephant/n02503517_564-5.png 2
-sketch/elephant/n02503517_753-1.png 2
-sketch/elephant/n02503517_753-2.png 2
-sketch/elephant/n02503517_753-3.png 2
-sketch/elephant/n02503517_753-4.png 2
-sketch/elephant/n02503517_753-5.png 2
-sketch/elephant/n02503517_753-6.png 2
-sketch/elephant/n02503517_759-1.png 2
-sketch/elephant/n02503517_759-2.png 2
-sketch/elephant/n02503517_759-3.png 2
-sketch/elephant/n02503517_759-4.png 2
-sketch/elephant/n02503517_759-5.png 2
-sketch/elephant/n02503517_759-6.png 2
-sketch/elephant/n02503517_759-7.png 2
-sketch/elephant/n02503517_759-8.png 2
-sketch/elephant/n02503517_792-1.png 2
-sketch/elephant/n02503517_792-2.png 2
-sketch/elephant/n02503517_792-3.png 2
-sketch/elephant/n02503517_792-4.png 2
-sketch/elephant/n02503517_792-5.png 2
-sketch/elephant/n02503517_1292-1.png 2
-sketch/elephant/n02503517_1292-2.png 2
-sketch/elephant/n02503517_1292-3.png 2
-sketch/elephant/n02503517_1292-4.png 2
-sketch/elephant/n02503517_1292-5.png 2
-sketch/elephant/n02503517_1292-6.png 2
-sketch/elephant/n02503517_1292-7.png 2
-sketch/elephant/n02503517_1359-1.png 2
-sketch/elephant/n02503517_1359-2.png 2
-sketch/elephant/n02503517_1359-3.png 2
-sketch/elephant/n02503517_1359-4.png 2
-sketch/elephant/n02503517_1359-5.png 2
-sketch/elephant/n02503517_1359-6.png 2
-sketch/elephant/n02503517_1383-1.png 2
-sketch/elephant/n02503517_1383-2.png 2
-sketch/elephant/n02503517_1383-3.png 2
-sketch/elephant/n02503517_1383-4.png 2
-sketch/elephant/n02503517_1383-5.png 2
-sketch/elephant/n02503517_1383-6.png 2
-sketch/elephant/n02503517_1415-1.png 2
-sketch/elephant/n02503517_1415-2.png 2
-sketch/elephant/n02503517_1415-3.png 2
-sketch/elephant/n02503517_1415-4.png 2
-sketch/elephant/n02503517_1415-5.png 2
-sketch/elephant/n02503517_1453-1.png 2
-sketch/elephant/n02503517_1453-2.png 2
-sketch/elephant/n02503517_1453-3.png 2
-sketch/elephant/n02503517_1453-4.png 2
-sketch/elephant/n02503517_1453-5.png 2
-sketch/elephant/n02503517_1453-6.png 2
-sketch/elephant/n02503517_1583-1.png 2
-sketch/elephant/n02503517_1583-2.png 2
-sketch/elephant/n02503517_1583-3.png 2
-sketch/elephant/n02503517_1583-4.png 2
-sketch/elephant/n02503517_1583-5.png 2
-sketch/elephant/n02503517_1583-6.png 2
-sketch/elephant/n02503517_1829-1.png 2
-sketch/elephant/n02503517_1829-2.png 2
-sketch/elephant/n02503517_1829-3.png 2
-sketch/elephant/n02503517_1829-4.png 2
-sketch/elephant/n02503517_1829-5.png 2
-sketch/elephant/n02503517_1852-1.png 2
-sketch/elephant/n02503517_1852-2.png 2
-sketch/elephant/n02503517_1852-3.png 2
-sketch/elephant/n02503517_1852-4.png 2
-sketch/elephant/n02503517_1852-5.png 2
-sketch/elephant/n02503517_1963-1.png 2
-sketch/elephant/n02503517_1963-2.png 2
-sketch/elephant/n02503517_1963-3.png 2
-sketch/elephant/n02503517_1963-4.png 2
-sketch/elephant/n02503517_1963-5.png 2
-sketch/elephant/n02503517_1984-1.png 2
-sketch/elephant/n02503517_1984-2.png 2
-sketch/elephant/n02503517_1984-3.png 2
-sketch/elephant/n02503517_1984-4.png 2
-sketch/elephant/n02503517_1984-5.png 2
-sketch/elephant/n02503517_2061-1.png 2
-sketch/elephant/n02503517_2061-2.png 2
-sketch/elephant/n02503517_2061-3.png 2
-sketch/elephant/n02503517_2061-4.png 2
-sketch/elephant/n02503517_2061-5.png 2
-sketch/elephant/n02503517_2444-1.png 2
-sketch/elephant/n02503517_2444-2.png 2
-sketch/elephant/n02503517_2444-3.png 2
-sketch/elephant/n02503517_2444-4.png 2
-sketch/elephant/n02503517_2444-5.png 2
-sketch/elephant/n02503517_2547-1.png 2
-sketch/elephant/n02503517_2547-2.png 2
-sketch/elephant/n02503517_2547-3.png 2
-sketch/elephant/n02503517_2547-4.png 2
-sketch/elephant/n02503517_2547-5.png 2
-sketch/elephant/n02503517_2547-6.png 2
-sketch/elephant/n02503517_2547-7.png 2
-sketch/elephant/n02503517_2547-8.png 2
-sketch/elephant/n02503517_2547-9.png 2
-sketch/elephant/n02503517_2547-10.png 2
-sketch/elephant/n02503517_2802-1.png 2
-sketch/elephant/n02503517_2802-2.png 2
-sketch/elephant/n02503517_2802-3.png 2
-sketch/elephant/n02503517_2802-4.png 2
-sketch/elephant/n02503517_2802-5.png 2
-sketch/elephant/n02503517_2802-6.png 2
-sketch/elephant/n02503517_2804-1.png 2
-sketch/elephant/n02503517_2804-2.png 2
-sketch/elephant/n02503517_2804-3.png 2
-sketch/elephant/n02503517_2804-4.png 2
-sketch/elephant/n02503517_2804-5.png 2
-sketch/elephant/n02503517_2925-1.png 2
-sketch/elephant/n02503517_2925-2.png 2
-sketch/elephant/n02503517_2925-3.png 2
-sketch/elephant/n02503517_2925-4.png 2
-sketch/elephant/n02503517_2925-5.png 2
-sketch/elephant/n02503517_2925-6.png 2
-sketch/elephant/n02503517_2925-7.png 2
-sketch/elephant/n02503517_2925-8.png 2
-sketch/elephant/n02503517_2925-9.png 2
-sketch/elephant/n02503517_2925-10.png 2
-sketch/elephant/n02503517_2993-1.png 2
-sketch/elephant/n02503517_2993-2.png 2
-sketch/elephant/n02503517_2993-3.png 2
-sketch/elephant/n02503517_2993-4.png 2
-sketch/elephant/n02503517_2993-5.png 2
-sketch/elephant/n02503517_2993-6.png 2
-sketch/elephant/n02503517_2993-7.png 2
-sketch/elephant/n02503517_2993-8.png 2
-sketch/elephant/n02503517_2993-9.png 2
-sketch/elephant/n02503517_2993-10.png 2
-sketch/elephant/n02503517_3037-1.png 2
-sketch/elephant/n02503517_3037-2.png 2
-sketch/elephant/n02503517_3037-3.png 2
-sketch/elephant/n02503517_3037-4.png 2
-sketch/elephant/n02503517_3037-5.png 2
-sketch/elephant/n02503517_3037-6.png 2
-sketch/elephant/n02503517_3037-7.png 2
-sketch/elephant/n02503517_3037-8.png 2
-sketch/elephant/n02503517_3072-1.png 2
-sketch/elephant/n02503517_3072-2.png 2
-sketch/elephant/n02503517_3072-3.png 2
-sketch/elephant/n02503517_3072-4.png 2
-sketch/elephant/n02503517_3072-5.png 2
-sketch/elephant/n02503517_3072-6.png 2
-sketch/elephant/n02503517_3108-1.png 2
-sketch/elephant/n02503517_3108-2.png 2
-sketch/elephant/n02503517_3108-3.png 2
-sketch/elephant/n02503517_3108-4.png 2
-sketch/elephant/n02503517_3108-5.png 2
-sketch/elephant/n02503517_3108-6.png 2
-sketch/elephant/n02503517_3108-7.png 2
-sketch/elephant/n02503517_3108-8.png 2
-sketch/elephant/n02503517_3108-9.png 2
-sketch/elephant/n02503517_3799-1.png 2
-sketch/elephant/n02503517_3799-2.png 2
-sketch/elephant/n02503517_3799-3.png 2
-sketch/elephant/n02503517_3799-4.png 2
-sketch/elephant/n02503517_3799-5.png 2
-sketch/elephant/n02503517_3803-1.png 2
-sketch/elephant/n02503517_3803-2.png 2
-sketch/elephant/n02503517_3803-3.png 2
-sketch/elephant/n02503517_3803-4.png 2
-sketch/elephant/n02503517_3803-5.png 2
-sketch/elephant/n02503517_3803-6.png 2
-sketch/elephant/n02503517_3808-1.png 2
-sketch/elephant/n02503517_3808-2.png 2
-sketch/elephant/n02503517_3808-3.png 2
-sketch/elephant/n02503517_3808-4.png 2
-sketch/elephant/n02503517_3808-5.png 2
-sketch/elephant/n02503517_3808-6.png 2
-sketch/elephant/n02503517_3808-7.png 2
-sketch/elephant/n02503517_3808-8.png 2
-sketch/elephant/n02503517_3808-9.png 2
-sketch/elephant/n02503517_3808-10.png 2
-sketch/elephant/n02503517_3879-1.png 2
-sketch/elephant/n02503517_3879-2.png 2
-sketch/elephant/n02503517_3879-3.png 2
-sketch/elephant/n02503517_3879-4.png 2
-sketch/elephant/n02503517_3879-5.png 2
-sketch/elephant/n02503517_3879-6.png 2
-sketch/elephant/n02503517_3879-7.png 2
-sketch/elephant/n02503517_4221-1.png 2
-sketch/elephant/n02503517_4221-2.png 2
-sketch/elephant/n02503517_4221-3.png 2
-sketch/elephant/n02503517_4221-4.png 2
-sketch/elephant/n02503517_4221-5.png 2
-sketch/elephant/n02503517_4221-6.png 2
-sketch/elephant/n02503517_4221-7.png 2
-sketch/elephant/n02503517_4247-1.png 2
-sketch/elephant/n02503517_4247-2.png 2
-sketch/elephant/n02503517_4247-3.png 2
-sketch/elephant/n02503517_4247-4.png 2
-sketch/elephant/n02503517_4247-5.png 2
-sketch/elephant/n02503517_4247-6.png 2
-sketch/elephant/n02503517_4247-7.png 2
-sketch/elephant/n02503517_4247-8.png 2
-sketch/elephant/n02503517_4247-9.png 2
-sketch/elephant/n02503517_4247-10.png 2
-sketch/elephant/n02503517_4253-1.png 2
-sketch/elephant/n02503517_4253-2.png 2
-sketch/elephant/n02503517_4253-3.png 2
-sketch/elephant/n02503517_4253-4.png 2
-sketch/elephant/n02503517_4253-5.png 2
-sketch/elephant/n02503517_4413-1.png 2
-sketch/elephant/n02503517_4413-2.png 2
-sketch/elephant/n02503517_4413-3.png 2
-sketch/elephant/n02503517_4413-4.png 2
-sketch/elephant/n02503517_4413-5.png 2
-sketch/elephant/n02503517_4413-6.png 2
-sketch/elephant/n02503517_4413-7.png 2
-sketch/elephant/n02503517_4413-8.png 2
-sketch/elephant/n02503517_4413-9.png 2
-sketch/elephant/n02503517_4413-10.png 2
-sketch/elephant/n02503517_4605-1.png 2
-sketch/elephant/n02503517_4605-2.png 2
-sketch/elephant/n02503517_4605-3.png 2
-sketch/elephant/n02503517_4605-4.png 2
-sketch/elephant/n02503517_4605-5.png 2
-sketch/elephant/n02503517_4687-1.png 2
-sketch/elephant/n02503517_4687-2.png 2
-sketch/elephant/n02503517_4687-3.png 2
-sketch/elephant/n02503517_4687-4.png 2
-sketch/elephant/n02503517_4687-5.png 2
-sketch/elephant/n02503517_4687-6.png 2
-sketch/elephant/n02503517_5117-1.png 2
-sketch/elephant/n02503517_5117-2.png 2
-sketch/elephant/n02503517_5117-3.png 2
-sketch/elephant/n02503517_5117-4.png 2
-sketch/elephant/n02503517_5117-5.png 2
-sketch/elephant/n02503517_5117-6.png 2
-sketch/elephant/n02503517_5267-1.png 2
-sketch/elephant/n02503517_5267-2.png 2
-sketch/elephant/n02503517_5267-3.png 2
-sketch/elephant/n02503517_5267-4.png 2
-sketch/elephant/n02503517_5267-5.png 2
-sketch/elephant/n02503517_5267-6.png 2
-sketch/elephant/n02503517_5267-7.png 2
-sketch/elephant/n02503517_5287-1.png 2
-sketch/elephant/n02503517_5287-2.png 2
-sketch/elephant/n02503517_5287-3.png 2
-sketch/elephant/n02503517_5287-4.png 2
-sketch/elephant/n02503517_5287-5.png 2
-sketch/elephant/n02503517_5418-1.png 2
-sketch/elephant/n02503517_5418-2.png 2
-sketch/elephant/n02503517_5418-3.png 2
-sketch/elephant/n02503517_5418-4.png 2
-sketch/elephant/n02503517_5418-5.png 2
-sketch/elephant/n02503517_5418-6.png 2
-sketch/elephant/n02503517_5418-7.png 2
-sketch/elephant/n02503517_5418-8.png 2
-sketch/elephant/n02503517_5418-9.png 2
-sketch/elephant/n02503517_5418-10.png 2
-sketch/elephant/n02503517_5420-1.png 2
-sketch/elephant/n02503517_5420-2.png 2
-sketch/elephant/n02503517_5420-3.png 2
-sketch/elephant/n02503517_5420-4.png 2
-sketch/elephant/n02503517_5420-5.png 2
-sketch/elephant/n02503517_5420-6.png 2
-sketch/elephant/n02503517_5420-7.png 2
-sketch/elephant/n02503517_5527-1.png 2
-sketch/elephant/n02503517_5527-2.png 2
-sketch/elephant/n02503517_5527-3.png 2
-sketch/elephant/n02503517_5527-4.png 2
-sketch/elephant/n02503517_5527-5.png 2
-sketch/elephant/n02503517_5527-6.png 2
-sketch/elephant/n02503517_5892-1.png 2
-sketch/elephant/n02503517_5892-2.png 2
-sketch/elephant/n02503517_5892-3.png 2
-sketch/elephant/n02503517_5892-4.png 2
-sketch/elephant/n02503517_5892-5.png 2
-sketch/elephant/n02503517_5892-6.png 2
-sketch/elephant/n02503517_5892-7.png 2
-sketch/elephant/n02503517_5905-2.png 2
-sketch/elephant/n02503517_5905-3.png 2
-sketch/elephant/n02503517_5905-4.png 2
-sketch/elephant/n02503517_5905-5.png 2
-sketch/elephant/n02503517_5905-6.png 2
-sketch/elephant/n02503517_5905-7.png 2
-sketch/elephant/n02503517_5905-8.png 2
-sketch/elephant/n02503517_5905-9.png 2
-sketch/elephant/n02503517_5905-10.png 2
-sketch/elephant/n02503517_5905-11.png 2
-sketch/elephant/n02503517_5909-1.png 2
-sketch/elephant/n02503517_5909-2.png 2
-sketch/elephant/n02503517_5909-3.png 2
-sketch/elephant/n02503517_5909-4.png 2
-sketch/elephant/n02503517_5909-5.png 2
-sketch/elephant/n02503517_6032-1.png 2
-sketch/elephant/n02503517_6032-2.png 2
-sketch/elephant/n02503517_6032-3.png 2
-sketch/elephant/n02503517_6032-4.png 2
-sketch/elephant/n02503517_6032-5.png 2
-sketch/elephant/n02503517_6032-6.png 2
-sketch/elephant/n02503517_6043-1.png 2
-sketch/elephant/n02503517_6043-2.png 2
-sketch/elephant/n02503517_6043-3.png 2
-sketch/elephant/n02503517_6043-4.png 2
-sketch/elephant/n02503517_6043-5.png 2
-sketch/elephant/n02503517_6043-6.png 2
-sketch/elephant/n02503517_6232-1.png 2
-sketch/elephant/n02503517_6232-2.png 2
-sketch/elephant/n02503517_6232-3.png 2
-sketch/elephant/n02503517_6232-4.png 2
-sketch/elephant/n02503517_6232-5.png 2
-sketch/elephant/n02503517_6232-6.png 2
-sketch/elephant/n02503517_6232-7.png 2
-sketch/elephant/n02503517_6396-1.png 2
-sketch/elephant/n02503517_6396-2.png 2
-sketch/elephant/n02503517_6396-3.png 2
-sketch/elephant/n02503517_6396-4.png 2
-sketch/elephant/n02503517_6396-5.png 2
-sketch/elephant/n02503517_6429-1.png 2
-sketch/elephant/n02503517_6429-2.png 2
-sketch/elephant/n02503517_6429-3.png 2
-sketch/elephant/n02503517_6429-4.png 2
-sketch/elephant/n02503517_6429-5.png 2
-sketch/elephant/n02503517_6479-1.png 2
-sketch/elephant/n02503517_6479-2.png 2
-sketch/elephant/n02503517_6479-3.png 2
-sketch/elephant/n02503517_6479-4.png 2
-sketch/elephant/n02503517_6479-5.png 2
-sketch/elephant/n02503517_6479-6.png 2
-sketch/elephant/n02503517_6479-7.png 2
-sketch/elephant/n02503517_6479-8.png 2
-sketch/elephant/n02503517_6511-1.png 2
-sketch/elephant/n02503517_6511-2.png 2
-sketch/elephant/n02503517_6511-3.png 2
-sketch/elephant/n02503517_6511-4.png 2
-sketch/elephant/n02503517_6511-5.png 2
-sketch/elephant/n02503517_6611-1.png 2
-sketch/elephant/n02503517_6611-2.png 2
-sketch/elephant/n02503517_6611-3.png 2
-sketch/elephant/n02503517_6611-4.png 2
-sketch/elephant/n02503517_6611-5.png 2
-sketch/elephant/n02503517_6611-6.png 2
-sketch/elephant/n02503517_6611-7.png 2
-sketch/elephant/n02503517_6611-8.png 2
-sketch/elephant/n02503517_6611-9.png 2
-sketch/elephant/n02503517_6611-10.png 2
-sketch/elephant/n02503517_6613-1.png 2
-sketch/elephant/n02503517_6613-2.png 2
-sketch/elephant/n02503517_6613-3.png 2
-sketch/elephant/n02503517_6613-4.png 2
-sketch/elephant/n02503517_6613-5.png 2
-sketch/elephant/n02503517_6624-1.png 2
-sketch/elephant/n02503517_6624-2.png 2
-sketch/elephant/n02503517_6624-3.png 2
-sketch/elephant/n02503517_6624-4.png 2
-sketch/elephant/n02503517_6624-5.png 2
-sketch/elephant/n02503517_6624-6.png 2
-sketch/elephant/n02503517_6661-1.png 2
-sketch/elephant/n02503517_6661-2.png 2
-sketch/elephant/n02503517_6661-3.png 2
-sketch/elephant/n02503517_6661-4.png 2
-sketch/elephant/n02503517_6661-5.png 2
-sketch/elephant/n02503517_6784-1.png 2
-sketch/elephant/n02503517_6784-2.png 2
-sketch/elephant/n02503517_6784-3.png 2
-sketch/elephant/n02503517_6784-4.png 2
-sketch/elephant/n02503517_6784-5.png 2
-sketch/elephant/n02503517_6880-1.png 2
-sketch/elephant/n02503517_6880-2.png 2
-sketch/elephant/n02503517_6880-3.png 2
-sketch/elephant/n02503517_6880-4.png 2
-sketch/elephant/n02503517_6880-5.png 2
-sketch/elephant/n02503517_6937-1.png 2
-sketch/elephant/n02503517_6937-2.png 2
-sketch/elephant/n02503517_6937-3.png 2
-sketch/elephant/n02503517_6937-4.png 2
-sketch/elephant/n02503517_6937-5.png 2
-sketch/elephant/n02503517_6937-6.png 2
-sketch/elephant/n02503517_7020-1.png 2
-sketch/elephant/n02503517_7020-2.png 2
-sketch/elephant/n02503517_7020-3.png 2
-sketch/elephant/n02503517_7020-4.png 2
-sketch/elephant/n02503517_7020-5.png 2
-sketch/elephant/n02503517_7020-6.png 2
-sketch/elephant/n02503517_7031-1.png 2
-sketch/elephant/n02503517_7031-2.png 2
-sketch/elephant/n02503517_7031-3.png 2
-sketch/elephant/n02503517_7031-4.png 2
-sketch/elephant/n02503517_7031-5.png 2
-sketch/elephant/n02503517_7031-6.png 2
-sketch/elephant/n02503517_7031-7.png 2
-sketch/elephant/n02503517_7031-8.png 2
-sketch/elephant/n02503517_7031-9.png 2
-sketch/elephant/n02503517_7031-10.png 2
-sketch/elephant/n02503517_7083-1.png 2
-sketch/elephant/n02503517_7083-2.png 2
-sketch/elephant/n02503517_7083-3.png 2
-sketch/elephant/n02503517_7083-4.png 2
-sketch/elephant/n02503517_7083-5.png 2
-sketch/elephant/n02503517_7173-1.png 2
-sketch/elephant/n02503517_7173-2.png 2
-sketch/elephant/n02503517_7173-3.png 2
-sketch/elephant/n02503517_7173-4.png 2
-sketch/elephant/n02503517_7173-5.png 2
-sketch/elephant/n02503517_7211-1.png 2
-sketch/elephant/n02503517_7211-2.png 2
-sketch/elephant/n02503517_7211-3.png 2
-sketch/elephant/n02503517_7211-4.png 2
-sketch/elephant/n02503517_7211-5.png 2
-sketch/elephant/n02503517_7393-1.png 2
-sketch/elephant/n02503517_7393-2.png 2
-sketch/elephant/n02503517_7393-3.png 2
-sketch/elephant/n02503517_7393-4.png 2
-sketch/elephant/n02503517_7393-5.png 2
-sketch/elephant/n02503517_7393-6.png 2
-sketch/elephant/n02503517_7393-7.png 2
-sketch/elephant/n02503517_7592-1.png 2
-sketch/elephant/n02503517_7592-2.png 2
-sketch/elephant/n02503517_7592-3.png 2
-sketch/elephant/n02503517_7592-4.png 2
-sketch/elephant/n02503517_7592-5.png 2
-sketch/elephant/n02503517_7592-6.png 2
-sketch/elephant/n02503517_7592-7.png 2
-sketch/elephant/n02503517_7592-8.png 2
-sketch/elephant/n02503517_8137-1.png 2
-sketch/elephant/n02503517_8137-2.png 2
-sketch/elephant/n02503517_8137-3.png 2
-sketch/elephant/n02503517_8137-4.png 2
-sketch/elephant/n02503517_8137-5.png 2
-sketch/elephant/n02503517_8205-1.png 2
-sketch/elephant/n02503517_8205-2.png 2
-sketch/elephant/n02503517_8205-3.png 2
-sketch/elephant/n02503517_8205-4.png 2
-sketch/elephant/n02503517_8205-5.png 2
-sketch/elephant/n02503517_8222-1.png 2
-sketch/elephant/n02503517_8222-2.png 2
-sketch/elephant/n02503517_8222-3.png 2
-sketch/elephant/n02503517_8222-4.png 2
-sketch/elephant/n02503517_8222-5.png 2
-sketch/elephant/n02503517_8265-1.png 2
-sketch/elephant/n02503517_8265-2.png 2
-sketch/elephant/n02503517_8265-3.png 2
-sketch/elephant/n02503517_8265-4.png 2
-sketch/elephant/n02503517_8265-5.png 2
-sketch/elephant/n02503517_8292-1.png 2
-sketch/elephant/n02503517_8292-2.png 2
-sketch/elephant/n02503517_8292-3.png 2
-sketch/elephant/n02503517_8292-4.png 2
-sketch/elephant/n02503517_8292-5.png 2
-sketch/elephant/n02503517_8292-6.png 2
-sketch/elephant/n02503517_8518-1.png 2
-sketch/elephant/n02503517_8518-2.png 2
-sketch/elephant/n02503517_8518-3.png 2
-sketch/elephant/n02503517_8518-4.png 2
-sketch/elephant/n02503517_8518-5.png 2
-sketch/elephant/n02503517_8518-6.png 2
-sketch/elephant/n02503517_8571-1.png 2
-sketch/elephant/n02503517_8571-2.png 2
-sketch/elephant/n02503517_8571-3.png 2
-sketch/elephant/n02503517_8571-4.png 2
-sketch/elephant/n02503517_8571-5.png 2
-sketch/elephant/n02503517_8571-6.png 2
-sketch/elephant/n02503517_8757-1.png 2
-sketch/elephant/n02503517_8757-2.png 2
-sketch/elephant/n02503517_8757-3.png 2
-sketch/elephant/n02503517_8757-4.png 2
-sketch/elephant/n02503517_8757-5.png 2
-sketch/elephant/n02503517_8757-6.png 2
-sketch/elephant/n02503517_8901-1.png 2
-sketch/elephant/n02503517_8901-2.png 2
-sketch/elephant/n02503517_8901-3.png 2
-sketch/elephant/n02503517_8901-4.png 2
-sketch/elephant/n02503517_8901-5.png 2
-sketch/elephant/n02503517_8901-6.png 2
-sketch/elephant/n02503517_8901-7.png 2
-sketch/elephant/n02503517_8904-1.png 2
-sketch/elephant/n02503517_8904-2.png 2
-sketch/elephant/n02503517_8904-3.png 2
-sketch/elephant/n02503517_8904-4.png 2
-sketch/elephant/n02503517_8904-5.png 2
-sketch/elephant/n02503517_8904-6.png 2
-sketch/elephant/n02503517_8938-1.png 2
-sketch/elephant/n02503517_8938-2.png 2
-sketch/elephant/n02503517_8938-3.png 2
-sketch/elephant/n02503517_8938-4.png 2
-sketch/elephant/n02503517_8938-5.png 2
-sketch/elephant/n02503517_8938-6.png 2
-sketch/elephant/n02503517_9043-1.png 2
-sketch/elephant/n02503517_9043-2.png 2
-sketch/elephant/n02503517_9043-3.png 2
-sketch/elephant/n02503517_9043-4.png 2
-sketch/elephant/n02503517_9043-5.png 2
-sketch/elephant/n02503517_9043-6.png 2
-sketch/elephant/n02503517_9043-7.png 2
-sketch/elephant/n02503517_9043-8.png 2
-sketch/elephant/n02503517_9043-9.png 2
-sketch/elephant/n02503517_9043-10.png 2
-sketch/elephant/n02503517_9154-1.png 2
-sketch/elephant/n02503517_9154-2.png 2
-sketch/elephant/n02503517_9154-3.png 2
-sketch/elephant/n02503517_9154-4.png 2
-sketch/elephant/n02503517_9154-5.png 2
-sketch/elephant/n02503517_9154-6.png 2
-sketch/elephant/n02503517_9237-1.png 2
-sketch/elephant/n02503517_9237-2.png 2
-sketch/elephant/n02503517_9237-3.png 2
-sketch/elephant/n02503517_9237-4.png 2
-sketch/elephant/n02503517_9237-5.png 2
-sketch/elephant/n02503517_9237-6.png 2
-sketch/elephant/n02503517_9237-7.png 2
-sketch/elephant/n02503517_9241-1.png 2
-sketch/elephant/n02503517_9241-2.png 2
-sketch/elephant/n02503517_9241-3.png 2
-sketch/elephant/n02503517_9241-4.png 2
-sketch/elephant/n02503517_9241-5.png 2
-sketch/elephant/n02503517_9270-1.png 2
-sketch/elephant/n02503517_9270-2.png 2
-sketch/elephant/n02503517_9270-3.png 2
-sketch/elephant/n02503517_9270-4.png 2
-sketch/elephant/n02503517_9270-5.png 2
-sketch/elephant/n02503517_9270-6.png 2
-sketch/elephant/n02503517_9270-7.png 2
-sketch/elephant/n02503517_9270-8.png 2
-sketch/elephant/n02503517_9270-9.png 2
-sketch/elephant/n02503517_9270-10.png 2
-sketch/elephant/n02503517_9421-1.png 2
-sketch/elephant/n02503517_9421-2.png 2
-sketch/elephant/n02503517_9421-3.png 2
-sketch/elephant/n02503517_9421-4.png 2
-sketch/elephant/n02503517_9421-5.png 2
-sketch/elephant/n02503517_9421-6.png 2
-sketch/elephant/n02503517_9421-7.png 2
-sketch/elephant/n02503517_9421-8.png 2
-sketch/elephant/n02503517_9421-9.png 2
-sketch/elephant/n02503517_9827-1.png 2
-sketch/elephant/n02503517_9827-2.png 2
-sketch/elephant/n02503517_9827-3.png 2
-sketch/elephant/n02503517_9827-4.png 2
-sketch/elephant/n02503517_9827-5.png 2
-sketch/elephant/n02503517_9827-6.png 2
-sketch/elephant/n02503517_9827-7.png 2
-sketch/elephant/n02503517_9827-8.png 2
-sketch/elephant/n02503517_10036-1.png 2
-sketch/elephant/n02503517_10036-2.png 2
-sketch/elephant/n02503517_10036-3.png 2
-sketch/elephant/n02503517_10036-4.png 2
-sketch/elephant/n02503517_10036-5.png 2
-sketch/elephant/n02503517_10036-6.png 2
-sketch/elephant/n02503517_10036-7.png 2
-sketch/elephant/n02503517_10036-8.png 2
-sketch/elephant/n02503517_10036-9.png 2
-sketch/elephant/n02503517_10036-10.png 2
-sketch/elephant/n02503517_10075-1.png 2
-sketch/elephant/n02503517_10075-2.png 2
-sketch/elephant/n02503517_10075-3.png 2
-sketch/elephant/n02503517_10075-4.png 2
-sketch/elephant/n02503517_10075-5.png 2
-sketch/elephant/n02503517_10193-1.png 2
-sketch/elephant/n02503517_10193-2.png 2
-sketch/elephant/n02503517_10193-3.png 2
-sketch/elephant/n02503517_10193-4.png 2
-sketch/elephant/n02503517_10193-5.png 2
-sketch/elephant/n02503517_10193-6.png 2
-sketch/elephant/n02503517_10193-7.png 2
-sketch/elephant/n02503517_10193-8.png 2
-sketch/elephant/n02503517_10193-9.png 2
-sketch/elephant/n02503517_10193-10.png 2
-sketch/elephant/n02503517_10259-1.png 2
-sketch/elephant/n02503517_10259-2.png 2
-sketch/elephant/n02503517_10259-3.png 2
-sketch/elephant/n02503517_10259-4.png 2
-sketch/elephant/n02503517_10259-5.png 2
-sketch/elephant/n02503517_10259-6.png 2
-sketch/elephant/n02503517_10259-7.png 2
-sketch/elephant/n02503517_10259-8.png 2
-sketch/elephant/n02503517_10259-9.png 2
-sketch/elephant/n02503517_10275-1.png 2
-sketch/elephant/n02503517_10275-2.png 2
-sketch/elephant/n02503517_10275-3.png 2
-sketch/elephant/n02503517_10275-4.png 2
-sketch/elephant/n02503517_10275-5.png 2
-sketch/elephant/n02503517_10275-6.png 2
-sketch/elephant/n02503517_10300-1.png 2
-sketch/elephant/n02503517_10300-2.png 2
-sketch/elephant/n02503517_10300-3.png 2
-sketch/elephant/n02503517_10300-4.png 2
-sketch/elephant/n02503517_10300-5.png 2
-sketch/elephant/n02503517_10439-1.png 2
-sketch/elephant/n02503517_10439-2.png 2
-sketch/elephant/n02503517_10439-3.png 2
-sketch/elephant/n02503517_10439-4.png 2
-sketch/elephant/n02503517_10439-5.png 2
-sketch/elephant/n02503517_10439-6.png 2
-sketch/elephant/n02503517_10439-7.png 2
-sketch/elephant/n02503517_10439-8.png 2
-sketch/elephant/n02503517_10440-1.png 2
-sketch/elephant/n02503517_10440-2.png 2
-sketch/elephant/n02503517_10440-3.png 2
-sketch/elephant/n02503517_10440-4.png 2
-sketch/elephant/n02503517_10440-5.png 2
-sketch/elephant/n02503517_10440-6.png 2
-sketch/elephant/n02503517_10440-7.png 2
-sketch/elephant/n02503517_10440-8.png 2
-sketch/elephant/n02503517_10440-9.png 2
-sketch/elephant/n02503517_10528-1.png 2
-sketch/elephant/n02503517_10528-2.png 2
-sketch/elephant/n02503517_10528-3.png 2
-sketch/elephant/n02503517_10528-4.png 2
-sketch/elephant/n02503517_10528-5.png 2
-sketch/elephant/n02503517_10558-1.png 2
-sketch/elephant/n02503517_10558-2.png 2
-sketch/elephant/n02503517_10558-3.png 2
-sketch/elephant/n02503517_10558-4.png 2
-sketch/elephant/n02503517_10558-5.png 2
-sketch/elephant/n02503517_10778-1.png 2
-sketch/elephant/n02503517_10778-2.png 2
-sketch/elephant/n02503517_10778-3.png 2
-sketch/elephant/n02503517_10778-4.png 2
-sketch/elephant/n02503517_10778-5.png 2
-sketch/elephant/n02503517_10778-6.png 2
-sketch/elephant/n02503517_11873-1.png 2
-sketch/elephant/n02503517_11873-2.png 2
-sketch/elephant/n02503517_11873-3.png 2
-sketch/elephant/n02503517_11873-4.png 2
-sketch/elephant/n02503517_11873-5.png 2
-sketch/elephant/n02503517_11873-6.png 2
-sketch/elephant/n02503517_11873-7.png 2
-sketch/elephant/n02503517_11873-8.png 2
-sketch/elephant/n02503517_11873-9.png 2
-sketch/elephant/n02503517_12688-1.png 2
-sketch/elephant/n02503517_12688-2.png 2
-sketch/elephant/n02503517_12688-3.png 2
-sketch/elephant/n02503517_12688-4.png 2
-sketch/elephant/n02503517_12688-5.png 2
-sketch/elephant/5921.png 2
-sketch/elephant/5922.png 2
-sketch/elephant/5923.png 2
-sketch/elephant/5924.png 2
-sketch/elephant/5925.png 2
-sketch/elephant/5926.png 2
-sketch/elephant/5927.png 2
-sketch/elephant/5928.png 2
-sketch/elephant/5929.png 2
-sketch/elephant/5930.png 2
-sketch/elephant/5931.png 2
-sketch/elephant/5932.png 2
-sketch/elephant/5933.png 2
-sketch/elephant/5934.png 2
-sketch/elephant/5935.png 2
-sketch/elephant/5936.png 2
-sketch/elephant/5937.png 2
-sketch/elephant/5938.png 2
-sketch/elephant/5939.png 2
-sketch/elephant/5940.png 2
-sketch/elephant/5941.png 2
-sketch/elephant/5942.png 2
-sketch/elephant/5943.png 2
-sketch/elephant/5944.png 2
-sketch/elephant/5945.png 2
-sketch/elephant/5946.png 2
-sketch/elephant/5947.png 2
-sketch/elephant/5948.png 2
-sketch/elephant/5949.png 2
-sketch/elephant/5950.png 2
-sketch/elephant/5951.png 2
-sketch/elephant/5952.png 2
-sketch/elephant/5953.png 2
-sketch/elephant/5954.png 2
-sketch/elephant/5955.png 2
-sketch/elephant/5956.png 2
-sketch/elephant/5957.png 2
-sketch/elephant/5958.png 2
-sketch/elephant/5959.png 2
-sketch/elephant/5960.png 2
-sketch/elephant/5961.png 2
-sketch/elephant/5962.png 2
-sketch/elephant/5963.png 2
-sketch/elephant/5964.png 2
-sketch/elephant/5965.png 2
-sketch/elephant/5966.png 2
-sketch/elephant/5967.png 2
-sketch/elephant/5968.png 2
-sketch/elephant/5969.png 2
-sketch/elephant/5970.png 2
-sketch/elephant/5971.png 2
-sketch/elephant/5972.png 2
-sketch/elephant/5973.png 2
-sketch/elephant/5974.png 2
-sketch/elephant/5975.png 2
-sketch/elephant/5976.png 2
-sketch/elephant/5977.png 2
-sketch/elephant/5978.png 2
-sketch/elephant/5979.png 2
-sketch/elephant/5980.png 2
-sketch/elephant/5981.png 2
-sketch/elephant/5982.png 2
-sketch/elephant/5983.png 2
-sketch/elephant/5984.png 2
-sketch/elephant/5985.png 2
-sketch/elephant/5986.png 2
-sketch/elephant/5987.png 2
-sketch/elephant/5988.png 2
-sketch/elephant/5989.png 2
-sketch/elephant/5990.png 2
-sketch/elephant/5991.png 2
-sketch/elephant/5992.png 2
-sketch/elephant/5993.png 2
-sketch/elephant/5994.png 2
-sketch/elephant/5995.png 2
-sketch/elephant/5996.png 2
-sketch/elephant/5997.png 2
-sketch/elephant/5998.png 2
-sketch/elephant/5999.png 2
-sketch/elephant/6000.png 2
-sketch/giraffe/n02439033_67-1.png 3
-sketch/giraffe/n02439033_67-2.png 3
-sketch/giraffe/n02439033_67-3.png 3
-sketch/giraffe/n02439033_67-4.png 3
-sketch/giraffe/n02439033_67-5.png 3
-sketch/giraffe/n02439033_67-6.png 3
-sketch/giraffe/n02439033_67-7.png 3
-sketch/giraffe/n02439033_221-1.png 3
-sketch/giraffe/n02439033_221-2.png 3
-sketch/giraffe/n02439033_221-3.png 3
-sketch/giraffe/n02439033_221-4.png 3
-sketch/giraffe/n02439033_221-5.png 3
-sketch/giraffe/n02439033_221-6.png 3
-sketch/giraffe/n02439033_376-1.png 3
-sketch/giraffe/n02439033_376-2.png 3
-sketch/giraffe/n02439033_376-3.png 3
-sketch/giraffe/n02439033_376-4.png 3
-sketch/giraffe/n02439033_376-5.png 3
-sketch/giraffe/n02439033_569-1.png 3
-sketch/giraffe/n02439033_569-2.png 3
-sketch/giraffe/n02439033_569-3.png 3
-sketch/giraffe/n02439033_569-4.png 3
-sketch/giraffe/n02439033_569-5.png 3
-sketch/giraffe/n02439033_628-1.png 3
-sketch/giraffe/n02439033_628-2.png 3
-sketch/giraffe/n02439033_628-3.png 3
-sketch/giraffe/n02439033_628-4.png 3
-sketch/giraffe/n02439033_628-5.png 3
-sketch/giraffe/n02439033_628-6.png 3
-sketch/giraffe/n02439033_628-7.png 3
-sketch/giraffe/n02439033_628-8.png 3
-sketch/giraffe/n02439033_628-9.png 3
-sketch/giraffe/n02439033_628-10.png 3
-sketch/giraffe/n02439033_866-1.png 3
-sketch/giraffe/n02439033_866-2.png 3
-sketch/giraffe/n02439033_866-3.png 3
-sketch/giraffe/n02439033_866-4.png 3
-sketch/giraffe/n02439033_866-5.png 3
-sketch/giraffe/n02439033_866-6.png 3
-sketch/giraffe/n02439033_991-1.png 3
-sketch/giraffe/n02439033_991-2.png 3
-sketch/giraffe/n02439033_991-3.png 3
-sketch/giraffe/n02439033_991-4.png 3
-sketch/giraffe/n02439033_991-5.png 3
-sketch/giraffe/n02439033_991-6.png 3
-sketch/giraffe/n02439033_991-7.png 3
-sketch/giraffe/n02439033_991-8.png 3
-sketch/giraffe/n02439033_991-9.png 3
-sketch/giraffe/n02439033_1327-1.png 3
-sketch/giraffe/n02439033_1327-2.png 3
-sketch/giraffe/n02439033_1327-3.png 3
-sketch/giraffe/n02439033_1327-4.png 3
-sketch/giraffe/n02439033_1327-5.png 3
-sketch/giraffe/n02439033_1508-1.png 3
-sketch/giraffe/n02439033_1508-2.png 3
-sketch/giraffe/n02439033_1508-3.png 3
-sketch/giraffe/n02439033_1508-4.png 3
-sketch/giraffe/n02439033_1508-5.png 3
-sketch/giraffe/n02439033_1508-6.png 3
-sketch/giraffe/n02439033_1508-7.png 3
-sketch/giraffe/n02439033_1508-8.png 3
-sketch/giraffe/n02439033_1508-9.png 3
-sketch/giraffe/n02439033_2486-1.png 3
-sketch/giraffe/n02439033_2486-2.png 3
-sketch/giraffe/n02439033_2486-3.png 3
-sketch/giraffe/n02439033_2486-4.png 3
-sketch/giraffe/n02439033_2486-5.png 3
-sketch/giraffe/n02439033_2486-6.png 3
-sketch/giraffe/n02439033_2500-1.png 3
-sketch/giraffe/n02439033_2500-2.png 3
-sketch/giraffe/n02439033_2500-3.png 3
-sketch/giraffe/n02439033_2500-4.png 3
-sketch/giraffe/n02439033_2500-5.png 3
-sketch/giraffe/n02439033_2500-6.png 3
-sketch/giraffe/n02439033_2677-1.png 3
-sketch/giraffe/n02439033_2677-2.png 3
-sketch/giraffe/n02439033_2677-3.png 3
-sketch/giraffe/n02439033_2677-4.png 3
-sketch/giraffe/n02439033_2677-5.png 3
-sketch/giraffe/n02439033_2677-6.png 3
-sketch/giraffe/n02439033_2677-7.png 3
-sketch/giraffe/n02439033_3944-1.png 3
-sketch/giraffe/n02439033_3944-2.png 3
-sketch/giraffe/n02439033_3944-3.png 3
-sketch/giraffe/n02439033_3944-4.png 3
-sketch/giraffe/n02439033_3944-5.png 3
-sketch/giraffe/n02439033_3944-6.png 3
-sketch/giraffe/n02439033_3944-7.png 3
-sketch/giraffe/n02439033_3944-8.png 3
-sketch/giraffe/n02439033_3944-9.png 3
-sketch/giraffe/n02439033_3944-10.png 3
-sketch/giraffe/n02439033_4601-1.png 3
-sketch/giraffe/n02439033_4601-2.png 3
-sketch/giraffe/n02439033_4601-3.png 3
-sketch/giraffe/n02439033_4601-4.png 3
-sketch/giraffe/n02439033_4601-5.png 3
-sketch/giraffe/n02439033_5004-1.png 3
-sketch/giraffe/n02439033_5004-2.png 3
-sketch/giraffe/n02439033_5004-3.png 3
-sketch/giraffe/n02439033_5004-4.png 3
-sketch/giraffe/n02439033_5004-5.png 3
-sketch/giraffe/n02439033_5004-6.png 3
-sketch/giraffe/n02439033_5004-7.png 3
-sketch/giraffe/n02439033_5004-8.png 3
-sketch/giraffe/n02439033_5652-1.png 3
-sketch/giraffe/n02439033_5652-2.png 3
-sketch/giraffe/n02439033_5652-3.png 3
-sketch/giraffe/n02439033_5652-4.png 3
-sketch/giraffe/n02439033_5652-5.png 3
-sketch/giraffe/n02439033_6552-1.png 3
-sketch/giraffe/n02439033_6552-2.png 3
-sketch/giraffe/n02439033_6552-3.png 3
-sketch/giraffe/n02439033_6552-4.png 3
-sketch/giraffe/n02439033_6552-5.png 3
-sketch/giraffe/n02439033_8789-1.png 3
-sketch/giraffe/n02439033_8789-2.png 3
-sketch/giraffe/n02439033_8789-3.png 3
-sketch/giraffe/n02439033_8789-4.png 3
-sketch/giraffe/n02439033_8789-5.png 3
-sketch/giraffe/n02439033_8846-1.png 3
-sketch/giraffe/n02439033_8846-2.png 3
-sketch/giraffe/n02439033_8846-3.png 3
-sketch/giraffe/n02439033_8846-4.png 3
-sketch/giraffe/n02439033_8846-5.png 3
-sketch/giraffe/n02439033_8846-6.png 3
-sketch/giraffe/n02439033_8846-7.png 3
-sketch/giraffe/n02439033_8846-8.png 3
-sketch/giraffe/n02439033_8846-9.png 3
-sketch/giraffe/n02439033_8846-10.png 3
-sketch/giraffe/n02439033_8846-11.png 3
-sketch/giraffe/n02439033_8846-12.png 3
-sketch/giraffe/n02439033_8846-13.png 3
-sketch/giraffe/n02439033_8875-1.png 3
-sketch/giraffe/n02439033_8875-2.png 3
-sketch/giraffe/n02439033_8875-3.png 3
-sketch/giraffe/n02439033_8875-4.png 3
-sketch/giraffe/n02439033_8875-5.png 3
-sketch/giraffe/n02439033_8875-6.png 3
-sketch/giraffe/n02439033_8875-7.png 3
-sketch/giraffe/n02439033_8875-8.png 3
-sketch/giraffe/n02439033_9257-1.png 3
-sketch/giraffe/n02439033_9257-2.png 3
-sketch/giraffe/n02439033_9257-3.png 3
-sketch/giraffe/n02439033_9257-4.png 3
-sketch/giraffe/n02439033_9257-5.png 3
-sketch/giraffe/n02439033_9257-6.png 3
-sketch/giraffe/n02439033_9261-1.png 3
-sketch/giraffe/n02439033_9261-2.png 3
-sketch/giraffe/n02439033_9261-3.png 3
-sketch/giraffe/n02439033_9261-4.png 3
-sketch/giraffe/n02439033_9261-5.png 3
-sketch/giraffe/n02439033_9398-1.png 3
-sketch/giraffe/n02439033_9398-2.png 3
-sketch/giraffe/n02439033_9398-3.png 3
-sketch/giraffe/n02439033_9398-4.png 3
-sketch/giraffe/n02439033_9398-5.png 3
-sketch/giraffe/n02439033_9398-6.png 3
-sketch/giraffe/n02439033_9472-1.png 3
-sketch/giraffe/n02439033_9472-2.png 3
-sketch/giraffe/n02439033_9472-3.png 3
-sketch/giraffe/n02439033_9472-4.png 3
-sketch/giraffe/n02439033_9472-5.png 3
-sketch/giraffe/n02439033_9472-6.png 3
-sketch/giraffe/n02439033_9472-7.png 3
-sketch/giraffe/n02439033_9472-8.png 3
-sketch/giraffe/n02439033_9472-9.png 3
-sketch/giraffe/n02439033_9472-10.png 3
-sketch/giraffe/n02439033_9598-1.png 3
-sketch/giraffe/n02439033_9598-2.png 3
-sketch/giraffe/n02439033_9598-3.png 3
-sketch/giraffe/n02439033_9598-4.png 3
-sketch/giraffe/n02439033_9598-5.png 3
-sketch/giraffe/n02439033_9598-6.png 3
-sketch/giraffe/n02439033_9598-7.png 3
-sketch/giraffe/n02439033_9598-8.png 3
-sketch/giraffe/n02439033_9598-9.png 3
-sketch/giraffe/n02439033_9598-10.png 3
-sketch/giraffe/n02439033_9604-1.png 3
-sketch/giraffe/n02439033_9604-2.png 3
-sketch/giraffe/n02439033_9604-3.png 3
-sketch/giraffe/n02439033_9604-4.png 3
-sketch/giraffe/n02439033_9604-5.png 3
-sketch/giraffe/n02439033_9679-1.png 3
-sketch/giraffe/n02439033_9679-2.png 3
-sketch/giraffe/n02439033_9679-3.png 3
-sketch/giraffe/n02439033_9679-4.png 3
-sketch/giraffe/n02439033_9679-5.png 3
-sketch/giraffe/n02439033_9719-1.png 3
-sketch/giraffe/n02439033_9719-2.png 3
-sketch/giraffe/n02439033_9719-3.png 3
-sketch/giraffe/n02439033_9719-4.png 3
-sketch/giraffe/n02439033_9719-5.png 3
-sketch/giraffe/n02439033_9719-6.png 3
-sketch/giraffe/n02439033_9719-7.png 3
-sketch/giraffe/n02439033_9719-8.png 3
-sketch/giraffe/n02439033_9719-9.png 3
-sketch/giraffe/n02439033_10130-1.png 3
-sketch/giraffe/n02439033_10130-2.png 3
-sketch/giraffe/n02439033_10130-3.png 3
-sketch/giraffe/n02439033_10130-4.png 3
-sketch/giraffe/n02439033_10130-5.png 3
-sketch/giraffe/n02439033_10130-6.png 3
-sketch/giraffe/n02439033_10130-7.png 3
-sketch/giraffe/n02439033_10164-1.png 3
-sketch/giraffe/n02439033_10164-2.png 3
-sketch/giraffe/n02439033_10164-3.png 3
-sketch/giraffe/n02439033_10164-4.png 3
-sketch/giraffe/n02439033_10164-5.png 3
-sketch/giraffe/n02439033_10164-6.png 3
-sketch/giraffe/n02439033_10164-7.png 3
-sketch/giraffe/n02439033_10164-8.png 3
-sketch/giraffe/n02439033_10164-9.png 3
-sketch/giraffe/n02439033_10164-10.png 3
-sketch/giraffe/n02439033_10279-1.png 3
-sketch/giraffe/n02439033_10279-2.png 3
-sketch/giraffe/n02439033_10279-3.png 3
-sketch/giraffe/n02439033_10279-4.png 3
-sketch/giraffe/n02439033_10279-5.png 3
-sketch/giraffe/n02439033_10279-6.png 3
-sketch/giraffe/n02439033_10295-1.png 3
-sketch/giraffe/n02439033_10295-2.png 3
-sketch/giraffe/n02439033_10295-3.png 3
-sketch/giraffe/n02439033_10295-4.png 3
-sketch/giraffe/n02439033_10295-5.png 3
-sketch/giraffe/n02439033_10453-1.png 3
-sketch/giraffe/n02439033_10453-2.png 3
-sketch/giraffe/n02439033_10453-3.png 3
-sketch/giraffe/n02439033_10453-4.png 3
-sketch/giraffe/n02439033_10453-5.png 3
-sketch/giraffe/n02439033_10453-6.png 3
-sketch/giraffe/n02439033_10491-1.png 3
-sketch/giraffe/n02439033_10491-2.png 3
-sketch/giraffe/n02439033_10491-3.png 3
-sketch/giraffe/n02439033_10491-4.png 3
-sketch/giraffe/n02439033_10491-5.png 3
-sketch/giraffe/n02439033_10491-6.png 3
-sketch/giraffe/n02439033_10541-1.png 3
-sketch/giraffe/n02439033_10541-2.png 3
-sketch/giraffe/n02439033_10541-3.png 3
-sketch/giraffe/n02439033_10541-4.png 3
-sketch/giraffe/n02439033_10541-5.png 3
-sketch/giraffe/n02439033_10541-6.png 3
-sketch/giraffe/n02439033_10616-1.png 3
-sketch/giraffe/n02439033_10616-2.png 3
-sketch/giraffe/n02439033_10616-3.png 3
-sketch/giraffe/n02439033_10616-4.png 3
-sketch/giraffe/n02439033_10616-5.png 3
-sketch/giraffe/n02439033_10802-1.png 3
-sketch/giraffe/n02439033_10802-2.png 3
-sketch/giraffe/n02439033_10802-3.png 3
-sketch/giraffe/n02439033_10802-4.png 3
-sketch/giraffe/n02439033_10802-5.png 3
-sketch/giraffe/n02439033_10802-6.png 3
-sketch/giraffe/n02439033_10802-7.png 3
-sketch/giraffe/n02439033_10802-8.png 3
-sketch/giraffe/n02439033_10803-1.png 3
-sketch/giraffe/n02439033_10803-2.png 3
-sketch/giraffe/n02439033_10803-3.png 3
-sketch/giraffe/n02439033_10803-4.png 3
-sketch/giraffe/n02439033_10803-5.png 3
-sketch/giraffe/n02439033_10811-1.png 3
-sketch/giraffe/n02439033_10811-2.png 3
-sketch/giraffe/n02439033_10811-3.png 3
-sketch/giraffe/n02439033_10811-4.png 3
-sketch/giraffe/n02439033_10811-5.png 3
-sketch/giraffe/n02439033_10811-6.png 3
-sketch/giraffe/n02439033_10811-7.png 3
-sketch/giraffe/n02439033_10839-1.png 3
-sketch/giraffe/n02439033_10839-2.png 3
-sketch/giraffe/n02439033_10839-3.png 3
-sketch/giraffe/n02439033_10839-4.png 3
-sketch/giraffe/n02439033_10839-5.png 3
-sketch/giraffe/n02439033_10839-6.png 3
-sketch/giraffe/n02439033_10839-7.png 3
-sketch/giraffe/n02439033_10919-1.png 3
-sketch/giraffe/n02439033_10919-2.png 3
-sketch/giraffe/n02439033_10919-3.png 3
-sketch/giraffe/n02439033_10919-4.png 3
-sketch/giraffe/n02439033_10919-5.png 3
-sketch/giraffe/n02439033_10919-6.png 3
-sketch/giraffe/n02439033_11059-1.png 3
-sketch/giraffe/n02439033_11059-2.png 3
-sketch/giraffe/n02439033_11059-3.png 3
-sketch/giraffe/n02439033_11059-4.png 3
-sketch/giraffe/n02439033_11059-5.png 3
-sketch/giraffe/n02439033_11059-6.png 3
-sketch/giraffe/n02439033_11059-7.png 3
-sketch/giraffe/n02439033_11059-8.png 3
-sketch/giraffe/n02439033_11059-9.png 3
-sketch/giraffe/n02439033_11114-1.png 3
-sketch/giraffe/n02439033_11114-2.png 3
-sketch/giraffe/n02439033_11114-3.png 3
-sketch/giraffe/n02439033_11114-4.png 3
-sketch/giraffe/n02439033_11114-5.png 3
-sketch/giraffe/n02439033_11130-1.png 3
-sketch/giraffe/n02439033_11130-2.png 3
-sketch/giraffe/n02439033_11130-3.png 3
-sketch/giraffe/n02439033_11130-4.png 3
-sketch/giraffe/n02439033_11130-5.png 3
-sketch/giraffe/n02439033_11130-6.png 3
-sketch/giraffe/n02439033_11215-1.png 3
-sketch/giraffe/n02439033_11215-2.png 3
-sketch/giraffe/n02439033_11215-3.png 3
-sketch/giraffe/n02439033_11215-4.png 3
-sketch/giraffe/n02439033_11215-5.png 3
-sketch/giraffe/n02439033_11273-1.png 3
-sketch/giraffe/n02439033_11273-2.png 3
-sketch/giraffe/n02439033_11273-3.png 3
-sketch/giraffe/n02439033_11273-4.png 3
-sketch/giraffe/n02439033_11273-5.png 3
-sketch/giraffe/n02439033_11273-6.png 3
-sketch/giraffe/n02439033_11328-1.png 3
-sketch/giraffe/n02439033_11328-2.png 3
-sketch/giraffe/n02439033_11328-3.png 3
-sketch/giraffe/n02439033_11328-4.png 3
-sketch/giraffe/n02439033_11328-5.png 3
-sketch/giraffe/n02439033_11328-6.png 3
-sketch/giraffe/n02439033_11458-1.png 3
-sketch/giraffe/n02439033_11458-2.png 3
-sketch/giraffe/n02439033_11458-3.png 3
-sketch/giraffe/n02439033_11458-4.png 3
-sketch/giraffe/n02439033_11458-5.png 3
-sketch/giraffe/n02439033_11458-6.png 3
-sketch/giraffe/n02439033_11486-1.png 3
-sketch/giraffe/n02439033_11486-2.png 3
-sketch/giraffe/n02439033_11486-3.png 3
-sketch/giraffe/n02439033_11486-4.png 3
-sketch/giraffe/n02439033_11486-5.png 3
-sketch/giraffe/n02439033_11487-1.png 3
-sketch/giraffe/n02439033_11487-2.png 3
-sketch/giraffe/n02439033_11487-3.png 3
-sketch/giraffe/n02439033_11487-4.png 3
-sketch/giraffe/n02439033_11487-5.png 3
-sketch/giraffe/n02439033_11487-6.png 3
-sketch/giraffe/n02439033_11487-7.png 3
-sketch/giraffe/n02439033_11504-1.png 3
-sketch/giraffe/n02439033_11504-2.png 3
-sketch/giraffe/n02439033_11504-3.png 3
-sketch/giraffe/n02439033_11504-4.png 3
-sketch/giraffe/n02439033_11504-5.png 3
-sketch/giraffe/n02439033_11504-6.png 3
-sketch/giraffe/n02439033_11504-7.png 3
-sketch/giraffe/n02439033_11599-1.png 3
-sketch/giraffe/n02439033_11599-2.png 3
-sketch/giraffe/n02439033_11599-3.png 3
-sketch/giraffe/n02439033_11599-4.png 3
-sketch/giraffe/n02439033_11599-5.png 3
-sketch/giraffe/n02439033_11599-6.png 3
-sketch/giraffe/n02439033_11599-7.png 3
-sketch/giraffe/n02439033_11599-8.png 3
-sketch/giraffe/n02439033_11627-1.png 3
-sketch/giraffe/n02439033_11627-2.png 3
-sketch/giraffe/n02439033_11627-3.png 3
-sketch/giraffe/n02439033_11627-4.png 3
-sketch/giraffe/n02439033_11627-5.png 3
-sketch/giraffe/n02439033_11627-6.png 3
-sketch/giraffe/n02439033_11627-7.png 3
-sketch/giraffe/n02439033_11666-1.png 3
-sketch/giraffe/n02439033_11666-2.png 3
-sketch/giraffe/n02439033_11666-3.png 3
-sketch/giraffe/n02439033_11666-4.png 3
-sketch/giraffe/n02439033_11666-5.png 3
-sketch/giraffe/n02439033_11666-6.png 3
-sketch/giraffe/n02439033_11666-7.png 3
-sketch/giraffe/n02439033_11683-1.png 3
-sketch/giraffe/n02439033_11683-2.png 3
-sketch/giraffe/n02439033_11683-3.png 3
-sketch/giraffe/n02439033_11683-4.png 3
-sketch/giraffe/n02439033_11683-5.png 3
-sketch/giraffe/n02439033_11683-6.png 3
-sketch/giraffe/n02439033_11683-7.png 3
-sketch/giraffe/n02439033_11715-1.png 3
-sketch/giraffe/n02439033_11715-2.png 3
-sketch/giraffe/n02439033_11715-3.png 3
-sketch/giraffe/n02439033_11715-4.png 3
-sketch/giraffe/n02439033_11715-5.png 3
-sketch/giraffe/n02439033_11715-6.png 3
-sketch/giraffe/n02439033_11845-1.png 3
-sketch/giraffe/n02439033_11845-2.png 3
-sketch/giraffe/n02439033_11845-3.png 3
-sketch/giraffe/n02439033_11845-4.png 3
-sketch/giraffe/n02439033_11845-5.png 3
-sketch/giraffe/n02439033_11845-6.png 3
-sketch/giraffe/n02439033_11845-7.png 3
-sketch/giraffe/n02439033_11845-8.png 3
-sketch/giraffe/n02439033_11845-9.png 3
-sketch/giraffe/n02439033_11845-10.png 3
-sketch/giraffe/n02439033_11894-1.png 3
-sketch/giraffe/n02439033_11894-2.png 3
-sketch/giraffe/n02439033_11894-3.png 3
-sketch/giraffe/n02439033_11894-4.png 3
-sketch/giraffe/n02439033_11894-5.png 3
-sketch/giraffe/n02439033_11894-6.png 3
-sketch/giraffe/n02439033_11894-7.png 3
-sketch/giraffe/n02439033_11894-8.png 3
-sketch/giraffe/n02439033_11894-9.png 3
-sketch/giraffe/n02439033_12059-1.png 3
-sketch/giraffe/n02439033_12059-2.png 3
-sketch/giraffe/n02439033_12059-3.png 3
-sketch/giraffe/n02439033_12059-4.png 3
-sketch/giraffe/n02439033_12059-5.png 3
-sketch/giraffe/n02439033_12413-1.png 3
-sketch/giraffe/n02439033_12413-2.png 3
-sketch/giraffe/n02439033_12413-3.png 3
-sketch/giraffe/n02439033_12413-4.png 3
-sketch/giraffe/n02439033_12413-5.png 3
-sketch/giraffe/n02439033_12413-6.png 3
-sketch/giraffe/n02439033_12413-7.png 3
-sketch/giraffe/n02439033_12485-1.png 3
-sketch/giraffe/n02439033_12485-2.png 3
-sketch/giraffe/n02439033_12485-3.png 3
-sketch/giraffe/n02439033_12485-4.png 3
-sketch/giraffe/n02439033_12485-5.png 3
-sketch/giraffe/n02439033_12485-6.png 3
-sketch/giraffe/n02439033_12680-1.png 3
-sketch/giraffe/n02439033_12680-2.png 3
-sketch/giraffe/n02439033_12680-3.png 3
-sketch/giraffe/n02439033_12680-4.png 3
-sketch/giraffe/n02439033_12680-5.png 3
-sketch/giraffe/n02439033_12930-1.png 3
-sketch/giraffe/n02439033_12930-2.png 3
-sketch/giraffe/n02439033_12930-3.png 3
-sketch/giraffe/n02439033_12930-4.png 3
-sketch/giraffe/n02439033_12930-5.png 3
-sketch/giraffe/n02439033_12939-1.png 3
-sketch/giraffe/n02439033_12939-2.png 3
-sketch/giraffe/n02439033_12939-3.png 3
-sketch/giraffe/n02439033_12939-4.png 3
-sketch/giraffe/n02439033_12939-5.png 3
-sketch/giraffe/n02439033_12939-6.png 3
-sketch/giraffe/n02439033_12939-7.png 3
-sketch/giraffe/n02439033_12939-8.png 3
-sketch/giraffe/n02439033_12987-1.png 3
-sketch/giraffe/n02439033_12987-2.png 3
-sketch/giraffe/n02439033_12987-3.png 3
-sketch/giraffe/n02439033_12987-4.png 3
-sketch/giraffe/n02439033_12987-5.png 3
-sketch/giraffe/n02439033_12987-6.png 3
-sketch/giraffe/n02439033_13236-1.png 3
-sketch/giraffe/n02439033_13236-2.png 3
-sketch/giraffe/n02439033_13236-3.png 3
-sketch/giraffe/n02439033_13236-4.png 3
-sketch/giraffe/n02439033_13236-5.png 3
-sketch/giraffe/n02439033_13236-6.png 3
-sketch/giraffe/n02439033_13384-1.png 3
-sketch/giraffe/n02439033_13384-2.png 3
-sketch/giraffe/n02439033_13384-3.png 3
-sketch/giraffe/n02439033_13384-4.png 3
-sketch/giraffe/n02439033_13384-5.png 3
-sketch/giraffe/n02439033_13384-6.png 3
-sketch/giraffe/n02439033_13430-1.png 3
-sketch/giraffe/n02439033_13430-2.png 3
-sketch/giraffe/n02439033_13430-3.png 3
-sketch/giraffe/n02439033_13430-4.png 3
-sketch/giraffe/n02439033_13430-5.png 3
-sketch/giraffe/n02439033_13602-1.png 3
-sketch/giraffe/n02439033_13602-2.png 3
-sketch/giraffe/n02439033_13602-3.png 3
-sketch/giraffe/n02439033_13602-4.png 3
-sketch/giraffe/n02439033_13602-5.png 3
-sketch/giraffe/n02439033_13602-6.png 3
-sketch/giraffe/n02439033_13602-7.png 3
-sketch/giraffe/n02439033_13868-1.png 3
-sketch/giraffe/n02439033_13868-2.png 3
-sketch/giraffe/n02439033_13868-3.png 3
-sketch/giraffe/n02439033_13868-4.png 3
-sketch/giraffe/n02439033_13868-5.png 3
-sketch/giraffe/n02439033_13868-6.png 3
-sketch/giraffe/n02439033_13868-7.png 3
-sketch/giraffe/n02439033_14040-1.png 3
-sketch/giraffe/n02439033_14040-2.png 3
-sketch/giraffe/n02439033_14040-3.png 3
-sketch/giraffe/n02439033_14040-4.png 3
-sketch/giraffe/n02439033_14040-5.png 3
-sketch/giraffe/n02439033_14040-6.png 3
-sketch/giraffe/n02439033_14060-1.png 3
-sketch/giraffe/n02439033_14060-2.png 3
-sketch/giraffe/n02439033_14060-3.png 3
-sketch/giraffe/n02439033_14060-4.png 3
-sketch/giraffe/n02439033_14060-5.png 3
-sketch/giraffe/n02439033_14060-6.png 3
-sketch/giraffe/n02439033_14060-7.png 3
-sketch/giraffe/n02439033_14060-8.png 3
-sketch/giraffe/n02439033_14121-1.png 3
-sketch/giraffe/n02439033_14121-2.png 3
-sketch/giraffe/n02439033_14121-3.png 3
-sketch/giraffe/n02439033_14121-4.png 3
-sketch/giraffe/n02439033_14121-5.png 3
-sketch/giraffe/n02439033_14121-6.png 3
-sketch/giraffe/n02439033_14121-7.png 3
-sketch/giraffe/n02439033_14121-8.png 3
-sketch/giraffe/n02439033_14121-9.png 3
-sketch/giraffe/n02439033_14121-10.png 3
-sketch/giraffe/n02439033_14148-1.png 3
-sketch/giraffe/n02439033_14148-2.png 3
-sketch/giraffe/n02439033_14148-3.png 3
-sketch/giraffe/n02439033_14148-4.png 3
-sketch/giraffe/n02439033_14148-5.png 3
-sketch/giraffe/n02439033_14148-6.png 3
-sketch/giraffe/n02439033_14148-7.png 3
-sketch/giraffe/n02439033_14148-8.png 3
-sketch/giraffe/n02439033_14148-9.png 3
-sketch/giraffe/n02439033_14148-10.png 3
-sketch/giraffe/n02439033_14184-1.png 3
-sketch/giraffe/n02439033_14184-2.png 3
-sketch/giraffe/n02439033_14184-3.png 3
-sketch/giraffe/7361.png 3
-sketch/giraffe/n02439033_14184-4.png 3
-sketch/giraffe/n02439033_14184-5.png 3
-sketch/giraffe/n02439033_14322-1.png 3
-sketch/giraffe/n02439033_14322-2.png 3
-sketch/giraffe/n02439033_14322-3.png 3
-sketch/giraffe/n02439033_14322-4.png 3
-sketch/giraffe/n02439033_14322-5.png 3
-sketch/giraffe/n02439033_14497-1.png 3
-sketch/giraffe/n02439033_14497-2.png 3
-sketch/giraffe/n02439033_14497-3.png 3
-sketch/giraffe/n02439033_14497-4.png 3
-sketch/giraffe/n02439033_14497-5.png 3
-sketch/giraffe/n02439033_14497-6.png 3
-sketch/giraffe/n02439033_14554-1.png 3
-sketch/giraffe/n02439033_14554-2.png 3
-sketch/giraffe/n02439033_14554-3.png 3
-sketch/giraffe/n02439033_14554-4.png 3
-sketch/giraffe/n02439033_14554-5.png 3
-sketch/giraffe/n02439033_14554-6.png 3
-sketch/giraffe/n02439033_14554-7.png 3
-sketch/giraffe/n02439033_14554-8.png 3
-sketch/giraffe/n02439033_14554-9.png 3
-sketch/giraffe/n02439033_14580-1.png 3
-sketch/giraffe/n02439033_14580-2.png 3
-sketch/giraffe/n02439033_14580-3.png 3
-sketch/giraffe/n02439033_14580-4.png 3
-sketch/giraffe/n02439033_14580-5.png 3
-sketch/giraffe/n02439033_14580-6.png 3
-sketch/giraffe/n02439033_14580-7.png 3
-sketch/giraffe/n02439033_14580-8.png 3
-sketch/giraffe/n02439033_14580-9.png 3
-sketch/giraffe/n02439033_14580-10.png 3
-sketch/giraffe/n02439033_14600-1.png 3
-sketch/giraffe/n02439033_14600-2.png 3
-sketch/giraffe/n02439033_14600-3.png 3
-sketch/giraffe/n02439033_14600-4.png 3
-sketch/giraffe/n02439033_14600-5.png 3
-sketch/giraffe/n02439033_14600-6.png 3
-sketch/giraffe/n02439033_14600-7.png 3
-sketch/giraffe/n02439033_14600-8.png 3
-sketch/giraffe/n02439033_14600-9.png 3
-sketch/giraffe/n02439033_14609-1.png 3
-sketch/giraffe/n02439033_14609-2.png 3
-sketch/giraffe/n02439033_14609-3.png 3
-sketch/giraffe/n02439033_14609-4.png 3
-sketch/giraffe/n02439033_14609-5.png 3
-sketch/giraffe/n02439033_14609-6.png 3
-sketch/giraffe/n02439033_14724-1.png 3
-sketch/giraffe/n02439033_14724-2.png 3
-sketch/giraffe/n02439033_14724-3.png 3
-sketch/giraffe/n02439033_14724-4.png 3
-sketch/giraffe/n02439033_14724-5.png 3
-sketch/giraffe/n02439033_14764-1.png 3
-sketch/giraffe/n02439033_14764-2.png 3
-sketch/giraffe/n02439033_14764-3.png 3
-sketch/giraffe/n02439033_14764-4.png 3
-sketch/giraffe/n02439033_14764-5.png 3
-sketch/giraffe/n02439033_14781-1.png 3
-sketch/giraffe/n02439033_14781-2.png 3
-sketch/giraffe/n02439033_14781-3.png 3
-sketch/giraffe/n02439033_14781-4.png 3
-sketch/giraffe/n02439033_14781-5.png 3
-sketch/giraffe/n02439033_14781-6.png 3
-sketch/giraffe/n02439033_14781-7.png 3
-sketch/giraffe/n02439033_14781-8.png 3
-sketch/giraffe/n02439033_14784-1.png 3
-sketch/giraffe/n02439033_14784-2.png 3
-sketch/giraffe/n02439033_14784-3.png 3
-sketch/giraffe/n02439033_14784-4.png 3
-sketch/giraffe/n02439033_14784-5.png 3
-sketch/giraffe/n02439033_14784-6.png 3
-sketch/giraffe/n02439033_14846-1.png 3
-sketch/giraffe/n02439033_14846-2.png 3
-sketch/giraffe/n02439033_14846-3.png 3
-sketch/giraffe/n02439033_14846-4.png 3
-sketch/giraffe/n02439033_14846-5.png 3
-sketch/giraffe/n02439033_14846-6.png 3
-sketch/giraffe/n02439033_14846-7.png 3
-sketch/giraffe/n02439033_14846-8.png 3
-sketch/giraffe/n02439033_14872-1.png 3
-sketch/giraffe/n02439033_14872-2.png 3
-sketch/giraffe/n02439033_14872-3.png 3
-sketch/giraffe/n02439033_14872-4.png 3
-sketch/giraffe/n02439033_14872-5.png 3
-sketch/giraffe/n02439033_14872-6.png 3
-sketch/giraffe/n02439033_14885-1.png 3
-sketch/giraffe/n02439033_14885-2.png 3
-sketch/giraffe/n02439033_14885-3.png 3
-sketch/giraffe/n02439033_14885-4.png 3
-sketch/giraffe/n02439033_14885-5.png 3
-sketch/giraffe/n02439033_14962-1.png 3
-sketch/giraffe/n02439033_14962-2.png 3
-sketch/giraffe/n02439033_14962-3.png 3
-sketch/giraffe/n02439033_14962-4.png 3
-sketch/giraffe/n02439033_14962-5.png 3
-sketch/giraffe/n02439033_14962-6.png 3
-sketch/giraffe/n02439033_14962-7.png 3
-sketch/giraffe/n02439033_15005-1.png 3
-sketch/giraffe/n02439033_15005-2.png 3
-sketch/giraffe/n02439033_15005-3.png 3
-sketch/giraffe/n02439033_15005-4.png 3
-sketch/giraffe/n02439033_15005-5.png 3
-sketch/giraffe/n02439033_15005-6.png 3
-sketch/giraffe/n02439033_15005-7.png 3
-sketch/giraffe/n02439033_15005-8.png 3
-sketch/giraffe/n02439033_15005-9.png 3
-sketch/giraffe/n02439033_15005-10.png 3
-sketch/giraffe/n02439033_15384-1.png 3
-sketch/giraffe/n02439033_15384-2.png 3
-sketch/giraffe/n02439033_15384-3.png 3
-sketch/giraffe/n02439033_15384-4.png 3
-sketch/giraffe/n02439033_15384-5.png 3
-sketch/giraffe/n02439033_15401-1.png 3
-sketch/giraffe/n02439033_15401-2.png 3
-sketch/giraffe/n02439033_15401-3.png 3
-sketch/giraffe/n02439033_15401-4.png 3
-sketch/giraffe/n02439033_15401-5.png 3
-sketch/giraffe/n02439033_15453-1.png 3
-sketch/giraffe/n02439033_15453-2.png 3
-sketch/giraffe/n02439033_15453-3.png 3
-sketch/giraffe/n02439033_15453-4.png 3
-sketch/giraffe/n02439033_15453-5.png 3
-sketch/giraffe/n02439033_15453-6.png 3
-sketch/giraffe/n02439033_15453-7.png 3
-sketch/giraffe/n02439033_15453-8.png 3
-sketch/giraffe/n02439033_15453-9.png 3
-sketch/giraffe/n02439033_15479-1.png 3
-sketch/giraffe/n02439033_15479-2.png 3
-sketch/giraffe/n02439033_15479-3.png 3
-sketch/giraffe/n02439033_15479-4.png 3
-sketch/giraffe/n02439033_15479-5.png 3
-sketch/giraffe/n02439033_15479-6.png 3
-sketch/giraffe/n02439033_15479-7.png 3
-sketch/giraffe/n02439033_15540-1.png 3
-sketch/giraffe/n02439033_15540-2.png 3
-sketch/giraffe/n02439033_15540-3.png 3
-sketch/giraffe/n02439033_15540-4.png 3
-sketch/giraffe/n02439033_15540-5.png 3
-sketch/giraffe/n02439033_15540-6.png 3
-sketch/giraffe/n02439033_15555-1.png 3
-sketch/giraffe/n02439033_15555-2.png 3
-sketch/giraffe/n02439033_15555-3.png 3
-sketch/giraffe/n02439033_15555-4.png 3
-sketch/giraffe/n02439033_15555-5.png 3
-sketch/giraffe/n02439033_15936-1.png 3
-sketch/giraffe/n02439033_15936-2.png 3
-sketch/giraffe/n02439033_15936-3.png 3
-sketch/giraffe/n02439033_15936-4.png 3
-sketch/giraffe/n02439033_15936-5.png 3
-sketch/giraffe/n02439033_15936-6.png 3
-sketch/giraffe/n02439033_15936-7.png 3
-sketch/giraffe/n02439033_16085-1.png 3
-sketch/giraffe/n02439033_16085-2.png 3
-sketch/giraffe/n02439033_16085-3.png 3
-sketch/giraffe/n02439033_16085-4.png 3
-sketch/giraffe/n02439033_16085-5.png 3
-sketch/giraffe/n02439033_16356-1.png 3
-sketch/giraffe/n02439033_16356-2.png 3
-sketch/giraffe/n02439033_16356-3.png 3
-sketch/giraffe/n02439033_16356-4.png 3
-sketch/giraffe/n02439033_16356-5.png 3
-sketch/giraffe/n02439033_16483-1.png 3
-sketch/giraffe/n02439033_16483-2.png 3
-sketch/giraffe/n02439033_16483-3.png 3
-sketch/giraffe/n02439033_16483-4.png 3
-sketch/giraffe/n02439033_16483-5.png 3
-sketch/giraffe/n02439033_16483-6.png 3
-sketch/giraffe/7362.png 3
-sketch/giraffe/7363.png 3
-sketch/giraffe/7364.png 3
-sketch/giraffe/7365.png 3
-sketch/giraffe/7366.png 3
-sketch/giraffe/7367.png 3
-sketch/giraffe/7368.png 3
-sketch/giraffe/7369.png 3
-sketch/giraffe/7370.png 3
-sketch/giraffe/7371.png 3
-sketch/giraffe/7372.png 3
-sketch/giraffe/7373.png 3
-sketch/giraffe/7374.png 3
-sketch/giraffe/7375.png 3
-sketch/giraffe/7376.png 3
-sketch/giraffe/7377.png 3
-sketch/giraffe/7378.png 3
-sketch/giraffe/7379.png 3
-sketch/giraffe/7380.png 3
-sketch/giraffe/7381.png 3
-sketch/giraffe/7382.png 3
-sketch/giraffe/7383.png 3
-sketch/giraffe/7384.png 3
-sketch/giraffe/7385.png 3
-sketch/giraffe/7386.png 3
-sketch/giraffe/7387.png 3
-sketch/giraffe/7388.png 3
-sketch/giraffe/7389.png 3
-sketch/giraffe/7390.png 3
-sketch/giraffe/7391.png 3
-sketch/giraffe/7392.png 3
-sketch/giraffe/7393.png 3
-sketch/giraffe/7394.png 3
-sketch/giraffe/7395.png 3
-sketch/giraffe/7396.png 3
-sketch/giraffe/7397.png 3
-sketch/giraffe/7398.png 3
-sketch/giraffe/7399.png 3
-sketch/giraffe/7400.png 3
-sketch/giraffe/7401.png 3
-sketch/giraffe/7402.png 3
-sketch/giraffe/7403.png 3
-sketch/giraffe/7404.png 3
-sketch/giraffe/7405.png 3
-sketch/giraffe/7406.png 3
-sketch/giraffe/7407.png 3
-sketch/giraffe/7408.png 3
-sketch/giraffe/7409.png 3
-sketch/giraffe/7410.png 3
-sketch/giraffe/7411.png 3
-sketch/giraffe/7412.png 3
-sketch/giraffe/7413.png 3
-sketch/giraffe/7414.png 3
-sketch/giraffe/7415.png 3
-sketch/giraffe/7416.png 3
-sketch/giraffe/7417.png 3
-sketch/giraffe/7418.png 3
-sketch/giraffe/7419.png 3
-sketch/giraffe/7420.png 3
-sketch/giraffe/7421.png 3
-sketch/giraffe/7422.png 3
-sketch/giraffe/7423.png 3
-sketch/giraffe/7424.png 3
-sketch/giraffe/7425.png 3
-sketch/giraffe/7426.png 3
-sketch/giraffe/7427.png 3
-sketch/giraffe/7428.png 3
-sketch/giraffe/7429.png 3
-sketch/giraffe/7430.png 3
-sketch/giraffe/7431.png 3
-sketch/giraffe/7432.png 3
-sketch/giraffe/7433.png 3
-sketch/giraffe/7434.png 3
-sketch/giraffe/7435.png 3
-sketch/giraffe/7436.png 3
-sketch/giraffe/7437.png 3
-sketch/giraffe/7438.png 3
-sketch/giraffe/7439.png 3
-sketch/giraffe/7440.png 3
-sketch/guitar/7601.png 4
-sketch/guitar/7602.png 4
-sketch/guitar/7603.png 4
-sketch/guitar/7604.png 4
-sketch/guitar/7605.png 4
-sketch/guitar/7606.png 4
-sketch/guitar/7607.png 4
-sketch/guitar/7608.png 4
-sketch/guitar/7609.png 4
-sketch/guitar/7610.png 4
-sketch/guitar/7611.png 4
-sketch/guitar/7612.png 4
-sketch/guitar/7613.png 4
-sketch/guitar/7614.png 4
-sketch/guitar/7615.png 4
-sketch/guitar/7616.png 4
-sketch/guitar/7617.png 4
-sketch/guitar/7618.png 4
-sketch/guitar/7619.png 4
-sketch/guitar/7620.png 4
-sketch/guitar/7621.png 4
-sketch/guitar/7622.png 4
-sketch/guitar/7623.png 4
-sketch/guitar/7624.png 4
-sketch/guitar/7625.png 4
-sketch/guitar/7626.png 4
-sketch/guitar/7627.png 4
-sketch/guitar/7628.png 4
-sketch/guitar/7629.png 4
-sketch/guitar/7630.png 4
-sketch/guitar/7631.png 4
-sketch/guitar/7632.png 4
-sketch/guitar/7633.png 4
-sketch/guitar/7634.png 4
-sketch/guitar/7635.png 4
-sketch/guitar/7636.png 4
-sketch/guitar/7637.png 4
-sketch/guitar/7638.png 4
-sketch/guitar/7639.png 4
-sketch/guitar/7640.png 4
-sketch/guitar/7641.png 4
-sketch/guitar/7642.png 4
-sketch/guitar/7643.png 4
-sketch/guitar/7644.png 4
-sketch/guitar/7645.png 4
-sketch/guitar/7646.png 4
-sketch/guitar/7647.png 4
-sketch/guitar/7648.png 4
-sketch/guitar/7649.png 4
-sketch/guitar/7650.png 4
-sketch/guitar/7651.png 4
-sketch/guitar/7652.png 4
-sketch/guitar/7653.png 4
-sketch/guitar/7654.png 4
-sketch/guitar/7655.png 4
-sketch/guitar/7656.png 4
-sketch/guitar/7657.png 4
-sketch/guitar/7658.png 4
-sketch/guitar/7659.png 4
-sketch/guitar/7660.png 4
-sketch/guitar/7661.png 4
-sketch/guitar/7662.png 4
-sketch/guitar/7663.png 4
-sketch/guitar/7664.png 4
-sketch/guitar/7665.png 4
-sketch/guitar/7666.png 4
-sketch/guitar/7667.png 4
-sketch/guitar/7668.png 4
-sketch/guitar/7669.png 4
-sketch/guitar/7670.png 4
-sketch/guitar/7671.png 4
-sketch/guitar/7672.png 4
-sketch/guitar/7673.png 4
-sketch/guitar/7674.png 4
-sketch/guitar/7675.png 4
-sketch/guitar/7676.png 4
-sketch/guitar/7677.png 4
-sketch/guitar/7678.png 4
-sketch/guitar/7679.png 4
-sketch/guitar/7680.png 4
-sketch/guitar/n02676566_307-1.png 4
-sketch/guitar/n02676566_307-2.png 4
-sketch/guitar/n02676566_307-3.png 4
-sketch/guitar/n02676566_307-4.png 4
-sketch/guitar/n02676566_307-5.png 4
-sketch/guitar/n02676566_330-1.png 4
-sketch/guitar/n02676566_330-2.png 4
-sketch/guitar/n02676566_330-3.png 4
-sketch/guitar/n02676566_330-4.png 4
-sketch/guitar/n02676566_330-5.png 4
-sketch/guitar/n02676566_330-6.png 4
-sketch/guitar/n02676566_659-1.png 4
-sketch/guitar/n02676566_659-2.png 4
-sketch/guitar/n02676566_659-3.png 4
-sketch/guitar/n02676566_659-4.png 4
-sketch/guitar/n02676566_659-5.png 4
-sketch/guitar/n02676566_970-1.png 4
-sketch/guitar/n02676566_970-2.png 4
-sketch/guitar/n02676566_970-3.png 4
-sketch/guitar/n02676566_970-4.png 4
-sketch/guitar/n02676566_970-5.png 4
-sketch/guitar/n02676566_970-6.png 4
-sketch/guitar/n02676566_1324-1.png 4
-sketch/guitar/n02676566_1324-2.png 4
-sketch/guitar/n02676566_1324-3.png 4
-sketch/guitar/n02676566_1324-4.png 4
-sketch/guitar/n02676566_1324-5.png 4
-sketch/guitar/n02676566_2380-1.png 4
-sketch/guitar/n02676566_2380-2.png 4
-sketch/guitar/n02676566_2380-3.png 4
-sketch/guitar/n02676566_2380-4.png 4
-sketch/guitar/n02676566_2380-5.png 4
-sketch/guitar/n02676566_2866-1.png 4
-sketch/guitar/n02676566_2866-2.png 4
-sketch/guitar/n02676566_2866-3.png 4
-sketch/guitar/n02676566_2866-4.png 4
-sketch/guitar/n02676566_2866-5.png 4
-sketch/guitar/n02676566_3360-1.png 4
-sketch/guitar/n02676566_3360-2.png 4
-sketch/guitar/n02676566_3360-3.png 4
-sketch/guitar/n02676566_3360-4.png 4
-sketch/guitar/n02676566_3360-5.png 4
-sketch/guitar/n02676566_3360-6.png 4
-sketch/guitar/n02676566_4058-1.png 4
-sketch/guitar/n02676566_4058-2.png 4
-sketch/guitar/n02676566_4058-3.png 4
-sketch/guitar/n02676566_4058-4.png 4
-sketch/guitar/n02676566_4058-5.png 4
-sketch/guitar/n02676566_4058-6.png 4
-sketch/guitar/n02676566_4189-1.png 4
-sketch/guitar/n02676566_4189-2.png 4
-sketch/guitar/n02676566_4189-3.png 4
-sketch/guitar/n02676566_4189-4.png 4
-sketch/guitar/n02676566_4189-5.png 4
-sketch/guitar/n02676566_4469-1.png 4
-sketch/guitar/n02676566_4469-2.png 4
-sketch/guitar/n02676566_4469-3.png 4
-sketch/guitar/n02676566_4469-4.png 4
-sketch/guitar/n02676566_4469-5.png 4
-sketch/guitar/n02676566_4605-1.png 4
-sketch/guitar/n02676566_4605-2.png 4
-sketch/guitar/n02676566_4605-3.png 4
-sketch/guitar/n02676566_4605-4.png 4
-sketch/guitar/n02676566_4605-5.png 4
-sketch/guitar/n02676566_4605-6.png 4
-sketch/guitar/n02676566_4699-1.png 4
-sketch/guitar/n02676566_4699-2.png 4
-sketch/guitar/n02676566_4699-3.png 4
-sketch/guitar/n02676566_4699-4.png 4
-sketch/guitar/n02676566_4699-5.png 4
-sketch/guitar/n02676566_5134-1.png 4
-sketch/guitar/n02676566_5134-2.png 4
-sketch/guitar/n02676566_5134-3.png 4
-sketch/guitar/n02676566_5134-4.png 4
-sketch/guitar/n02676566_5134-5.png 4
-sketch/guitar/n02676566_5489-1.png 4
-sketch/guitar/n02676566_5489-2.png 4
-sketch/guitar/n02676566_5489-3.png 4
-sketch/guitar/n02676566_5489-4.png 4
-sketch/guitar/n02676566_5489-5.png 4
-sketch/guitar/n02676566_5489-6.png 4
-sketch/guitar/n02676566_5489-7.png 4
-sketch/guitar/n02676566_5735-1.png 4
-sketch/guitar/n02676566_5735-2.png 4
-sketch/guitar/n02676566_5735-3.png 4
-sketch/guitar/n02676566_5735-4.png 4
-sketch/guitar/n02676566_5735-5.png 4
-sketch/guitar/n02676566_6150-1.png 4
-sketch/guitar/n02676566_6150-2.png 4
-sketch/guitar/n02676566_6150-3.png 4
-sketch/guitar/n02676566_6150-4.png 4
-sketch/guitar/n02676566_6150-5.png 4
-sketch/guitar/n02676566_6402-1.png 4
-sketch/guitar/n02676566_6402-2.png 4
-sketch/guitar/n02676566_6402-3.png 4
-sketch/guitar/n02676566_6402-4.png 4
-sketch/guitar/n02676566_6402-5.png 4
-sketch/guitar/n02676566_6430-1.png 4
-sketch/guitar/n02676566_6430-2.png 4
-sketch/guitar/n02676566_6430-3.png 4
-sketch/guitar/n02676566_6430-4.png 4
-sketch/guitar/n02676566_6430-5.png 4
-sketch/guitar/n02676566_6560-1.png 4
-sketch/guitar/n02676566_6560-2.png 4
-sketch/guitar/n02676566_6560-3.png 4
-sketch/guitar/n02676566_6560-4.png 4
-sketch/guitar/n02676566_6560-5.png 4
-sketch/guitar/n02676566_6631-1.png 4
-sketch/guitar/n02676566_6631-2.png 4
-sketch/guitar/n02676566_6631-3.png 4
-sketch/guitar/n02676566_6631-4.png 4
-sketch/guitar/n02676566_6631-5.png 4
-sketch/guitar/n02676566_6704-1.png 4
-sketch/guitar/n02676566_6704-2.png 4
-sketch/guitar/n02676566_6704-3.png 4
-sketch/guitar/n02676566_6704-4.png 4
-sketch/guitar/n02676566_6704-5.png 4
-sketch/guitar/n02676566_6864-1.png 4
-sketch/guitar/n02676566_6864-2.png 4
-sketch/guitar/n02676566_6864-3.png 4
-sketch/guitar/n02676566_6864-4.png 4
-sketch/guitar/n02676566_6864-5.png 4
-sketch/guitar/n02676566_6914-1.png 4
-sketch/guitar/n02676566_6914-2.png 4
-sketch/guitar/n02676566_6914-3.png 4
-sketch/guitar/n02676566_6914-4.png 4
-sketch/guitar/n02676566_6914-5.png 4
-sketch/guitar/n02676566_6948-1.png 4
-sketch/guitar/n02676566_6948-2.png 4
-sketch/guitar/n02676566_6948-3.png 4
-sketch/guitar/n02676566_6948-4.png 4
-sketch/guitar/n02676566_6948-5.png 4
-sketch/guitar/n02676566_6980-1.png 4
-sketch/guitar/n02676566_6980-2.png 4
-sketch/guitar/n02676566_6980-3.png 4
-sketch/guitar/n02676566_6980-4.png 4
-sketch/guitar/n02676566_6980-5.png 4
-sketch/guitar/n02676566_7385-1.png 4
-sketch/guitar/n02676566_7385-2.png 4
-sketch/guitar/n02676566_7385-3.png 4
-sketch/guitar/n02676566_7385-4.png 4
-sketch/guitar/n02676566_7385-5.png 4
-sketch/guitar/n02676566_7385-6.png 4
-sketch/guitar/n02676566_7770-1.png 4
-sketch/guitar/n02676566_7770-2.png 4
-sketch/guitar/n02676566_7770-3.png 4
-sketch/guitar/n02676566_7770-4.png 4
-sketch/guitar/n02676566_7770-5.png 4
-sketch/guitar/n02676566_7830-1.png 4
-sketch/guitar/n02676566_7830-2.png 4
-sketch/guitar/n02676566_7830-3.png 4
-sketch/guitar/n02676566_7830-4.png 4
-sketch/guitar/n02676566_7830-5.png 4
-sketch/guitar/n02676566_7844-1.png 4
-sketch/guitar/n02676566_7844-2.png 4
-sketch/guitar/n02676566_7844-3.png 4
-sketch/guitar/n02676566_7844-4.png 4
-sketch/guitar/n02676566_7844-5.png 4
-sketch/guitar/n02676566_7927-1.png 4
-sketch/guitar/n02676566_7927-2.png 4
-sketch/guitar/n02676566_7927-3.png 4
-sketch/guitar/n02676566_7927-4.png 4
-sketch/guitar/n02676566_7927-5.png 4
-sketch/guitar/n02676566_7927-6.png 4
-sketch/guitar/n02676566_8268-1.png 4
-sketch/guitar/n02676566_8268-2.png 4
-sketch/guitar/n02676566_8268-3.png 4
-sketch/guitar/n02676566_8268-4.png 4
-sketch/guitar/n02676566_8268-5.png 4
-sketch/guitar/n02676566_8309-1.png 4
-sketch/guitar/n02676566_8309-2.png 4
-sketch/guitar/n02676566_8309-3.png 4
-sketch/guitar/n02676566_8309-4.png 4
-sketch/guitar/n02676566_8309-5.png 4
-sketch/guitar/n02676566_8467-1.png 4
-sketch/guitar/n02676566_8467-2.png 4
-sketch/guitar/n02676566_8467-3.png 4
-sketch/guitar/n02676566_8467-4.png 4
-sketch/guitar/n02676566_8467-5.png 4
-sketch/guitar/n02676566_8618-1.png 4
-sketch/guitar/n02676566_8618-2.png 4
-sketch/guitar/n02676566_8618-3.png 4
-sketch/guitar/n02676566_8618-4.png 4
-sketch/guitar/n02676566_8618-5.png 4
-sketch/guitar/n02676566_8618-6.png 4
-sketch/guitar/n02676566_8820-1.png 4
-sketch/guitar/n02676566_8820-2.png 4
-sketch/guitar/n02676566_8820-3.png 4
-sketch/guitar/n02676566_8820-4.png 4
-sketch/guitar/n02676566_8820-5.png 4
-sketch/guitar/n02676566_8859-1.png 4
-sketch/guitar/n02676566_8859-2.png 4
-sketch/guitar/n02676566_8859-3.png 4
-sketch/guitar/n02676566_8859-4.png 4
-sketch/guitar/n02676566_8859-5.png 4
-sketch/guitar/n02676566_8859-6.png 4
-sketch/guitar/n02676566_8997-1.png 4
-sketch/guitar/n02676566_8997-2.png 4
-sketch/guitar/n02676566_8997-3.png 4
-sketch/guitar/n02676566_8997-4.png 4
-sketch/guitar/n02676566_8997-5.png 4
-sketch/guitar/n02676566_9062-1.png 4
-sketch/guitar/n02676566_9062-2.png 4
-sketch/guitar/n02676566_9062-3.png 4
-sketch/guitar/n02676566_9062-4.png 4
-sketch/guitar/n02676566_9062-5.png 4
-sketch/guitar/n02676566_9243-1.png 4
-sketch/guitar/n02676566_9243-2.png 4
-sketch/guitar/n02676566_9243-3.png 4
-sketch/guitar/n02676566_9243-4.png 4
-sketch/guitar/n02676566_9243-5.png 4
-sketch/guitar/n02676566_9243-6.png 4
-sketch/guitar/n02676566_9254-1.png 4
-sketch/guitar/n02676566_9254-2.png 4
-sketch/guitar/n02676566_9254-3.png 4
-sketch/guitar/n02676566_9254-4.png 4
-sketch/guitar/n02676566_9254-5.png 4
-sketch/guitar/n02676566_9451-1.png 4
-sketch/guitar/n02676566_9451-2.png 4
-sketch/guitar/n02676566_9451-3.png 4
-sketch/guitar/n02676566_9451-4.png 4
-sketch/guitar/n02676566_9451-5.png 4
-sketch/guitar/n02676566_9577-1.png 4
-sketch/guitar/n02676566_9577-2.png 4
-sketch/guitar/n02676566_9577-3.png 4
-sketch/guitar/n02676566_9577-4.png 4
-sketch/guitar/n02676566_9577-5.png 4
-sketch/guitar/n02676566_9577-6.png 4
-sketch/guitar/n02676566_9612-1.png 4
-sketch/guitar/n02676566_9612-2.png 4
-sketch/guitar/n02676566_9612-3.png 4
-sketch/guitar/n02676566_9612-4.png 4
-sketch/guitar/n02676566_9612-5.png 4
-sketch/guitar/n02676566_9661-1.png 4
-sketch/guitar/n02676566_9661-2.png 4
-sketch/guitar/n02676566_9661-3.png 4
-sketch/guitar/n02676566_9661-4.png 4
-sketch/guitar/n02676566_9661-5.png 4
-sketch/guitar/n02676566_9661-6.png 4
-sketch/guitar/n02676566_9936-1.png 4
-sketch/guitar/n02676566_9936-2.png 4
-sketch/guitar/n02676566_9936-3.png 4
-sketch/guitar/n02676566_9936-4.png 4
-sketch/guitar/n02676566_9936-5.png 4
-sketch/guitar/n02676566_11377-1.png 4
-sketch/guitar/n02676566_11377-2.png 4
-sketch/guitar/n02676566_11377-3.png 4
-sketch/guitar/n02676566_11377-4.png 4
-sketch/guitar/n02676566_11377-5.png 4
-sketch/guitar/n02676566_11573-1.png 4
-sketch/guitar/n02676566_11573-2.png 4
-sketch/guitar/n02676566_11573-3.png 4
-sketch/guitar/n02676566_11573-4.png 4
-sketch/guitar/n02676566_11573-5.png 4
-sketch/guitar/n02676566_12344-1.png 4
-sketch/guitar/n02676566_12344-2.png 4
-sketch/guitar/n02676566_12344-3.png 4
-sketch/guitar/n02676566_12344-4.png 4
-sketch/guitar/n02676566_12344-5.png 4
-sketch/guitar/n03272010_392-1.png 4
-sketch/guitar/n03272010_392-2.png 4
-sketch/guitar/n03272010_392-3.png 4
-sketch/guitar/n03272010_392-4.png 4
-sketch/guitar/n03272010_392-5.png 4
-sketch/guitar/n03272010_446-1.png 4
-sketch/guitar/n03272010_446-2.png 4
-sketch/guitar/n03272010_446-3.png 4
-sketch/guitar/n03272010_446-4.png 4
-sketch/guitar/n03272010_446-5.png 4
-sketch/guitar/n03272010_1708-1.png 4
-sketch/guitar/n03272010_1708-2.png 4
-sketch/guitar/n03272010_1708-3.png 4
-sketch/guitar/n03272010_1708-4.png 4
-sketch/guitar/n03272010_1708-5.png 4
-sketch/guitar/n03272010_1708-6.png 4
-sketch/guitar/n03272010_3732-1.png 4
-sketch/guitar/n03272010_3732-2.png 4
-sketch/guitar/n03272010_3732-3.png 4
-sketch/guitar/n03272010_3732-4.png 4
-sketch/guitar/n03272010_3732-5.png 4
-sketch/guitar/n03272010_3732-6.png 4
-sketch/guitar/n03272010_5483-1.png 4
-sketch/guitar/n03272010_5483-2.png 4
-sketch/guitar/n03272010_5483-3.png 4
-sketch/guitar/n03272010_5483-4.png 4
-sketch/guitar/n03272010_5483-5.png 4
-sketch/guitar/n03272010_5483-6.png 4
-sketch/guitar/n03272010_5875-1.png 4
-sketch/guitar/n03272010_5875-2.png 4
-sketch/guitar/n03272010_5875-3.png 4
-sketch/guitar/n03272010_5875-4.png 4
-sketch/guitar/n03272010_5875-5.png 4
-sketch/guitar/n03272010_5887-1.png 4
-sketch/guitar/n03272010_5887-2.png 4
-sketch/guitar/n03272010_5887-3.png 4
-sketch/guitar/n03272010_5887-4.png 4
-sketch/guitar/n03272010_5887-5.png 4
-sketch/guitar/n03272010_5887-6.png 4
-sketch/guitar/n03272010_5887-7.png 4
-sketch/guitar/n03272010_6152-1.png 4
-sketch/guitar/n03272010_6152-2.png 4
-sketch/guitar/n03272010_6152-3.png 4
-sketch/guitar/n03272010_6152-4.png 4
-sketch/guitar/n03272010_6152-5.png 4
-sketch/guitar/n03272010_6255-1.png 4
-sketch/guitar/n03272010_6255-2.png 4
-sketch/guitar/n03272010_6255-3.png 4
-sketch/guitar/n03272010_6255-4.png 4
-sketch/guitar/n03272010_6255-5.png 4
-sketch/guitar/n03272010_6291-1.png 4
-sketch/guitar/n03272010_6291-2.png 4
-sketch/guitar/n03272010_6291-3.png 4
-sketch/guitar/n03272010_6291-4.png 4
-sketch/guitar/n03272010_6291-5.png 4
-sketch/guitar/n03272010_6650-1.png 4
-sketch/guitar/n03272010_6650-2.png 4
-sketch/guitar/n03272010_6650-3.png 4
-sketch/guitar/n03272010_6650-4.png 4
-sketch/guitar/n03272010_6650-5.png 4
-sketch/guitar/n03272010_6650-6.png 4
-sketch/guitar/n03272010_6662-1.png 4
-sketch/guitar/n03272010_6662-2.png 4
-sketch/guitar/n03272010_6662-3.png 4
-sketch/guitar/n03272010_6662-4.png 4
-sketch/guitar/n03272010_6662-5.png 4
-sketch/guitar/n03272010_6662-6.png 4
-sketch/guitar/n03272010_6662-7.png 4
-sketch/guitar/n03272010_6718-1.png 4
-sketch/guitar/n03272010_6718-2.png 4
-sketch/guitar/n03272010_6718-3.png 4
-sketch/guitar/n03272010_6718-4.png 4
-sketch/guitar/n03272010_6718-5.png 4
-sketch/guitar/n03272010_6725-1.png 4
-sketch/guitar/n03272010_6725-2.png 4
-sketch/guitar/n03272010_6725-3.png 4
-sketch/guitar/n03272010_6725-4.png 4
-sketch/guitar/n03272010_6725-5.png 4
-sketch/guitar/n03272010_6727-1.png 4
-sketch/guitar/n03272010_6727-2.png 4
-sketch/guitar/n03272010_6727-3.png 4
-sketch/guitar/n03272010_6727-4.png 4
-sketch/guitar/n03272010_6727-5.png 4
-sketch/guitar/n03272010_6737-1.png 4
-sketch/guitar/n03272010_6737-2.png 4
-sketch/guitar/n03272010_6737-3.png 4
-sketch/guitar/n03272010_6737-4.png 4
-sketch/guitar/n03272010_6737-5.png 4
-sketch/guitar/n03272010_6737-6.png 4
-sketch/guitar/n03272010_6799-1.png 4
-sketch/guitar/n03272010_6799-2.png 4
-sketch/guitar/n03272010_6799-3.png 4
-sketch/guitar/n03272010_6799-4.png 4
-sketch/guitar/n03272010_6799-5.png 4
-sketch/guitar/n03272010_6809-1.png 4
-sketch/guitar/n03272010_6809-2.png 4
-sketch/guitar/n03272010_6809-3.png 4
-sketch/guitar/n03272010_6809-4.png 4
-sketch/guitar/n03272010_6809-5.png 4
-sketch/guitar/n03272010_6820-1.png 4
-sketch/guitar/n03272010_6820-2.png 4
-sketch/guitar/n03272010_6820-3.png 4
-sketch/guitar/n03272010_6820-4.png 4
-sketch/guitar/n03272010_6820-5.png 4
-sketch/guitar/n03272010_6926-1.png 4
-sketch/guitar/n03272010_6926-2.png 4
-sketch/guitar/n03272010_6926-3.png 4
-sketch/guitar/n03272010_6926-4.png 4
-sketch/guitar/n03272010_6926-5.png 4
-sketch/guitar/n03272010_7000-1.png 4
-sketch/guitar/n03272010_7000-2.png 4
-sketch/guitar/n03272010_7000-3.png 4
-sketch/guitar/n03272010_7000-4.png 4
-sketch/guitar/n03272010_7000-5.png 4
-sketch/guitar/n03272010_7092-1.png 4
-sketch/guitar/n03272010_7092-2.png 4
-sketch/guitar/n03272010_7092-3.png 4
-sketch/guitar/n03272010_7092-4.png 4
-sketch/guitar/n03272010_7092-5.png 4
-sketch/guitar/n03272010_7383-1.png 4
-sketch/guitar/n03272010_7383-2.png 4
-sketch/guitar/n03272010_7383-3.png 4
-sketch/guitar/n03272010_7383-4.png 4
-sketch/guitar/n03272010_7383-5.png 4
-sketch/guitar/n03272010_7390-1.png 4
-sketch/guitar/n03272010_7390-2.png 4
-sketch/guitar/n03272010_7390-3.png 4
-sketch/guitar/n03272010_7390-4.png 4
-sketch/guitar/n03272010_7390-5.png 4
-sketch/guitar/n03272010_7635-1.png 4
-sketch/guitar/n03272010_7635-2.png 4
-sketch/guitar/n03272010_7635-3.png 4
-sketch/guitar/n03272010_7635-4.png 4
-sketch/guitar/n03272010_7635-5.png 4
-sketch/guitar/n03272010_7729-1.png 4
-sketch/guitar/n03272010_7729-2.png 4
-sketch/guitar/n03272010_7729-3.png 4
-sketch/guitar/n03272010_7729-4.png 4
-sketch/guitar/n03272010_7729-5.png 4
-sketch/guitar/n03272010_9557-1.png 4
-sketch/guitar/n03272010_9557-2.png 4
-sketch/guitar/n03272010_9557-3.png 4
-sketch/guitar/n03272010_9557-4.png 4
-sketch/guitar/n03272010_9557-5.png 4
-sketch/guitar/n03272010_9557-6.png 4
-sketch/guitar/n03272010_9858-1.png 4
-sketch/guitar/n03272010_9858-2.png 4
-sketch/guitar/n03272010_9858-3.png 4
-sketch/guitar/n03272010_9858-4.png 4
-sketch/guitar/n03272010_9858-5.png 4
-sketch/guitar/n03272010_9899-1.png 4
-sketch/guitar/n03272010_9899-2.png 4
-sketch/guitar/n03272010_9899-3.png 4
-sketch/guitar/n03272010_9899-4.png 4
-sketch/guitar/n03272010_9899-5.png 4
-sketch/guitar/n03272010_10441-1.png 4
-sketch/guitar/n03272010_10441-2.png 4
-sketch/guitar/n03272010_10441-3.png 4
-sketch/guitar/n03272010_10441-4.png 4
-sketch/guitar/n03272010_10441-5.png 4
-sketch/guitar/n03272010_10795-1.png 4
-sketch/guitar/n03272010_10795-2.png 4
-sketch/guitar/n03272010_10795-3.png 4
-sketch/guitar/n03272010_10795-4.png 4
-sketch/guitar/n03272010_10795-5.png 4
-sketch/guitar/n03272010_11646-1.png 4
-sketch/guitar/n03272010_11646-2.png 4
-sketch/guitar/n03272010_11646-3.png 4
-sketch/guitar/n03272010_11646-4.png 4
-sketch/guitar/n03272010_11646-5.png 4
-sketch/guitar/n03272010_12151-1.png 4
-sketch/guitar/n03272010_12151-2.png 4
-sketch/guitar/n03272010_12151-3.png 4
-sketch/guitar/n03272010_12151-4.png 4
-sketch/guitar/n03272010_12151-5.png 4
-sketch/guitar/n03272010_12468-1.png 4
-sketch/guitar/n03272010_12468-2.png 4
-sketch/guitar/n03272010_12468-3.png 4
-sketch/guitar/n03272010_12468-4.png 4
-sketch/guitar/n03272010_12468-5.png 4
-sketch/guitar/n03467517_3203-1.png 4
-sketch/guitar/n03467517_3203-2.png 4
-sketch/guitar/n03467517_3203-3.png 4
-sketch/guitar/n03467517_3203-4.png 4
-sketch/guitar/n03467517_3203-5.png 4
-sketch/guitar/n03467517_6423-1.png 4
-sketch/guitar/n03467517_6423-2.png 4
-sketch/guitar/n03467517_6423-3.png 4
-sketch/guitar/n03467517_6423-4.png 4
-sketch/guitar/n03467517_6423-5.png 4
-sketch/guitar/n03467517_7007-1.png 4
-sketch/guitar/n03467517_7007-2.png 4
-sketch/guitar/n03467517_7007-3.png 4
-sketch/guitar/n03467517_7007-4.png 4
-sketch/guitar/n03467517_7007-5.png 4
-sketch/guitar/n03467517_7007-6.png 4
-sketch/guitar/n03467517_8929-1.png 4
-sketch/guitar/n03467517_8929-2.png 4
-sketch/guitar/n03467517_8929-3.png 4
-sketch/guitar/n03467517_8929-4.png 4
-sketch/guitar/n03467517_8929-5.png 4
-sketch/guitar/n03467517_11020-1.png 4
-sketch/guitar/n03467517_11020-2.png 4
-sketch/guitar/n03467517_11020-3.png 4
-sketch/guitar/n03467517_11020-4.png 4
-sketch/guitar/n03467517_11020-5.png 4
-sketch/guitar/n03467517_12925-1.png 4
-sketch/guitar/n03467517_12925-2.png 4
-sketch/guitar/n03467517_12925-3.png 4
-sketch/guitar/n03467517_12925-4.png 4
-sketch/guitar/n03467517_12925-5.png 4
-sketch/guitar/n03467517_16911-1.png 4
-sketch/guitar/n03467517_16911-2.png 4
-sketch/guitar/n03467517_16911-3.png 4
-sketch/guitar/n03467517_16911-4.png 4
-sketch/guitar/n03467517_16911-5.png 4
-sketch/guitar/n03467517_17233-1.png 4
-sketch/guitar/n03467517_17233-2.png 4
-sketch/guitar/n03467517_17233-3.png 4
-sketch/guitar/n03467517_17233-4.png 4
-sketch/guitar/n03467517_17233-5.png 4
-sketch/guitar/n03467517_19701-1.png 4
-sketch/guitar/n03467517_19701-2.png 4
-sketch/guitar/n03467517_19701-3.png 4
-sketch/guitar/n03467517_19701-4.png 4
-sketch/guitar/n03467517_19701-5.png 4
-sketch/guitar/n03467517_21782-1.png 4
-sketch/guitar/n03467517_21782-2.png 4
-sketch/guitar/n03467517_21782-3.png 4
-sketch/guitar/n03467517_21782-4.png 4
-sketch/guitar/n03467517_21782-5.png 4
-sketch/guitar/n03467517_21884-1.png 4
-sketch/guitar/n03467517_21884-2.png 4
-sketch/guitar/n03467517_21884-3.png 4
-sketch/guitar/n03467517_21884-4.png 4
-sketch/guitar/n03467517_21884-5.png 4
-sketch/guitar/n03467517_21884-6.png 4
-sketch/guitar/n03467517_22246-1.png 4
-sketch/guitar/n03467517_22246-2.png 4
-sketch/guitar/n03467517_22246-3.png 4
-sketch/guitar/n03467517_22246-4.png 4
-sketch/guitar/n03467517_22246-5.png 4
-sketch/guitar/n03467517_22246-6.png 4
-sketch/guitar/n03467517_22374-1.png 4
-sketch/guitar/n03467517_22374-2.png 4
-sketch/guitar/n03467517_22374-3.png 4
-sketch/guitar/n03467517_22374-4.png 4
-sketch/guitar/n03467517_22374-5.png 4
-sketch/guitar/n03467517_22785-1.png 4
-sketch/guitar/n03467517_22785-2.png 4
-sketch/guitar/n03467517_22785-3.png 4
-sketch/guitar/n03467517_22785-4.png 4
-sketch/guitar/n03467517_22785-5.png 4
-sketch/guitar/n03467517_22871-1.png 4
-sketch/guitar/n03467517_22871-2.png 4
-sketch/guitar/n03467517_22871-3.png 4
-sketch/guitar/n03467517_22871-4.png 4
-sketch/guitar/n03467517_22871-5.png 4
-sketch/guitar/n03467517_23229-1.png 4
-sketch/guitar/n03467517_23229-2.png 4
-sketch/guitar/n03467517_23229-3.png 4
-sketch/guitar/n03467517_23229-4.png 4
-sketch/guitar/n03467517_23229-5.png 4
-sketch/guitar/n03467517_24525-1.png 4
-sketch/guitar/n03467517_24525-2.png 4
-sketch/guitar/n03467517_24525-3.png 4
-sketch/guitar/n03467517_24525-4.png 4
-sketch/guitar/n03467517_24525-5.png 4
-sketch/guitar/n03467517_24525-6.png 4
-sketch/horse/n02374451_54-1.png 5
-sketch/horse/n02374451_54-2.png 5
-sketch/horse/n02374451_54-3.png 5
-sketch/horse/n02374451_54-4.png 5
-sketch/horse/n02374451_54-5.png 5
-sketch/horse/n02374451_54-6.png 5
-sketch/horse/n02374451_54-7.png 5
-sketch/horse/n02374451_54-8.png 5
-sketch/horse/n02374451_54-9.png 5
-sketch/horse/n02374451_54-10.png 5
-sketch/horse/n02374451_245-1.png 5
-sketch/horse/n02374451_245-2.png 5
-sketch/horse/n02374451_245-3.png 5
-sketch/horse/n02374451_245-4.png 5
-sketch/horse/n02374451_245-5.png 5
-sketch/horse/n02374451_245-6.png 5
-sketch/horse/n02374451_257-1.png 5
-sketch/horse/n02374451_257-2.png 5
-sketch/horse/n02374451_257-3.png 5
-sketch/horse/n02374451_257-4.png 5
-sketch/horse/n02374451_257-5.png 5
-sketch/horse/n02374451_257-6.png 5
-sketch/horse/n02374451_257-7.png 5
-sketch/horse/n02374451_262-1.png 5
-sketch/horse/n02374451_262-2.png 5
-sketch/horse/n02374451_262-3.png 5
-sketch/horse/n02374451_262-4.png 5
-sketch/horse/n02374451_262-5.png 5
-sketch/horse/n02374451_262-6.png 5
-sketch/horse/n02374451_262-7.png 5
-sketch/horse/n02374451_262-8.png 5
-sketch/horse/n02374451_262-9.png 5
-sketch/horse/n02374451_262-10.png 5
-sketch/horse/n02374451_262-11.png 5
-sketch/horse/n02374451_262-12.png 5
-sketch/horse/n02374451_276-1.png 5
-sketch/horse/n02374451_276-2.png 5
-sketch/horse/n02374451_276-3.png 5
-sketch/horse/n02374451_276-4.png 5
-sketch/horse/n02374451_276-5.png 5
-sketch/horse/n02374451_276-6.png 5
-sketch/horse/n02374451_276-7.png 5
-sketch/horse/n02374451_276-8.png 5
-sketch/horse/n02374451_276-9.png 5
-sketch/horse/n02374451_276-10.png 5
-sketch/horse/n02374451_388-2.png 5
-sketch/horse/n02374451_388-3.png 5
-sketch/horse/n02374451_388-4.png 5
-sketch/horse/n02374451_388-5.png 5
-sketch/horse/n02374451_388-6.png 5
-sketch/horse/n02374451_388-7.png 5
-sketch/horse/n02374451_388-8.png 5
-sketch/horse/n02374451_388-9.png 5
-sketch/horse/n02374451_388-10.png 5
-sketch/horse/n02374451_468-1.png 5
-sketch/horse/n02374451_468-2.png 5
-sketch/horse/n02374451_468-3.png 5
-sketch/horse/n02374451_468-4.png 5
-sketch/horse/n02374451_468-5.png 5
-sketch/horse/n02374451_468-6.png 5
-sketch/horse/n02374451_468-7.png 5
-sketch/horse/n02374451_468-8.png 5
-sketch/horse/n02374451_468-9.png 5
-sketch/horse/n02374451_468-10.png 5
-sketch/horse/n02374451_490-1.png 5
-sketch/horse/n02374451_490-2.png 5
-sketch/horse/n02374451_490-3.png 5
-sketch/horse/n02374451_490-4.png 5
-sketch/horse/n02374451_490-5.png 5
-sketch/horse/n02374451_490-6.png 5
-sketch/horse/n02374451_490-7.png 5
-sketch/horse/n02374451_503-1.png 5
-sketch/horse/n02374451_503-2.png 5
-sketch/horse/n02374451_503-3.png 5
-sketch/horse/n02374451_503-4.png 5
-sketch/horse/n02374451_503-5.png 5
-sketch/horse/n02374451_503-6.png 5
-sketch/horse/n02374451_557-1.png 5
-sketch/horse/n02374451_557-2.png 5
-sketch/horse/n02374451_557-3.png 5
-sketch/horse/n02374451_557-4.png 5
-sketch/horse/n02374451_557-5.png 5
-sketch/horse/n02374451_597-1.png 5
-sketch/horse/n02374451_597-2.png 5
-sketch/horse/n02374451_597-3.png 5
-sketch/horse/n02374451_597-4.png 5
-sketch/horse/n02374451_597-5.png 5
-sketch/horse/n02374451_597-6.png 5
-sketch/horse/n02374451_597-7.png 5
-sketch/horse/n02374451_777-1.png 5
-sketch/horse/n02374451_777-2.png 5
-sketch/horse/n02374451_777-3.png 5
-sketch/horse/n02374451_777-4.png 5
-sketch/horse/n02374451_777-5.png 5
-sketch/horse/n02374451_777-6.png 5
-sketch/horse/n02374451_779-1.png 5
-sketch/horse/n02374451_779-2.png 5
-sketch/horse/n02374451_779-3.png 5
-sketch/horse/n02374451_779-4.png 5
-sketch/horse/n02374451_779-5.png 5
-sketch/horse/n02374451_779-6.png 5
-sketch/horse/n02374451_779-7.png 5
-sketch/horse/n02374451_779-8.png 5
-sketch/horse/n02374451_779-9.png 5
-sketch/horse/n02374451_916-1.png 5
-sketch/horse/n02374451_916-2.png 5
-sketch/horse/n02374451_916-3.png 5
-sketch/horse/n02374451_916-4.png 5
-sketch/horse/n02374451_916-5.png 5
-sketch/horse/n02374451_916-6.png 5
-sketch/horse/n02374451_925-1.png 5
-sketch/horse/n02374451_925-2.png 5
-sketch/horse/n02374451_925-3.png 5
-sketch/horse/n02374451_925-4.png 5
-sketch/horse/n02374451_925-5.png 5
-sketch/horse/n02374451_925-6.png 5
-sketch/horse/n02374451_925-7.png 5
-sketch/horse/n02374451_929-1.png 5
-sketch/horse/n02374451_929-2.png 5
-sketch/horse/n02374451_929-3.png 5
-sketch/horse/n02374451_929-4.png 5
-sketch/horse/n02374451_929-5.png 5
-sketch/horse/n02374451_929-6.png 5
-sketch/horse/n02374451_1189-1.png 5
-sketch/horse/n02374451_1189-2.png 5
-sketch/horse/n02374451_1189-3.png 5
-sketch/horse/n02374451_1189-4.png 5
-sketch/horse/n02374451_1189-5.png 5
-sketch/horse/n02374451_1189-6.png 5
-sketch/horse/n02374451_1189-7.png 5
-sketch/horse/n02374451_1234-1.png 5
-sketch/horse/n02374451_1234-2.png 5
-sketch/horse/n02374451_1234-3.png 5
-sketch/horse/n02374451_1234-4.png 5
-sketch/horse/n02374451_1234-5.png 5
-sketch/horse/n02374451_1234-6.png 5
-sketch/horse/n02374451_1340-1.png 5
-sketch/horse/n02374451_1340-2.png 5
-sketch/horse/n02374451_1340-3.png 5
-sketch/horse/n02374451_1340-4.png 5
-sketch/horse/n02374451_1340-5.png 5
-sketch/horse/n02374451_1340-6.png 5
-sketch/horse/n02374451_1340-7.png 5
-sketch/horse/n02374451_1340-8.png 5
-sketch/horse/n02374451_1340-9.png 5
-sketch/horse/n02374451_1340-10.png 5
-sketch/horse/n02374451_1340-11.png 5
-sketch/horse/n02374451_1443-1.png 5
-sketch/horse/n02374451_1443-2.png 5
-sketch/horse/n02374451_1443-3.png 5
-sketch/horse/n02374451_1443-4.png 5
-sketch/horse/n02374451_1443-5.png 5
-sketch/horse/n02374451_1443-6.png 5
-sketch/horse/n02374451_1443-7.png 5
-sketch/horse/n02374451_1443-8.png 5
-sketch/horse/n02374451_1695-1.png 5
-sketch/horse/n02374451_1695-2.png 5
-sketch/horse/n02374451_1695-3.png 5
-sketch/horse/n02374451_1695-4.png 5
-sketch/horse/n02374451_1695-5.png 5
-sketch/horse/n02374451_1695-6.png 5
-sketch/horse/n02374451_1695-7.png 5
-sketch/horse/n02374451_2233-1.png 5
-sketch/horse/n02374451_2233-2.png 5
-sketch/horse/n02374451_2233-3.png 5
-sketch/horse/n02374451_2233-4.png 5
-sketch/horse/n02374451_2233-5.png 5
-sketch/horse/n02374451_2233-6.png 5
-sketch/horse/n02374451_2233-7.png 5
-sketch/horse/n02374451_2248-1.png 5
-sketch/horse/n02374451_2248-2.png 5
-sketch/horse/n02374451_2248-3.png 5
-sketch/horse/n02374451_2248-4.png 5
-sketch/horse/n02374451_2248-5.png 5
-sketch/horse/n02374451_2248-6.png 5
-sketch/horse/n02374451_2248-7.png 5
-sketch/horse/n02374451_2248-8.png 5
-sketch/horse/n02374451_2372-1.png 5
-sketch/horse/n02374451_2372-2.png 5
-sketch/horse/n02374451_2372-3.png 5
-sketch/horse/n02374451_2372-4.png 5
-sketch/horse/n02374451_2372-5.png 5
-sketch/horse/n02374451_2372-6.png 5
-sketch/horse/n02374451_2372-7.png 5
-sketch/horse/n02374451_2372-8.png 5
-sketch/horse/n02374451_2478-1.png 5
-sketch/horse/n02374451_2478-2.png 5
-sketch/horse/n02374451_2478-3.png 5
-sketch/horse/n02374451_2478-4.png 5
-sketch/horse/n02374451_2478-5.png 5
-sketch/horse/n02374451_2616-1.png 5
-sketch/horse/n02374451_2616-2.png 5
-sketch/horse/n02374451_2616-3.png 5
-sketch/horse/n02374451_2616-4.png 5
-sketch/horse/n02374451_2616-5.png 5
-sketch/horse/n02374451_2616-6.png 5
-sketch/horse/n02374451_2616-7.png 5
-sketch/horse/n02374451_2616-8.png 5
-sketch/horse/n02374451_2616-9.png 5
-sketch/horse/n02374451_2616-10.png 5
-sketch/horse/n02374451_2733-1.png 5
-sketch/horse/n02374451_2733-2.png 5
-sketch/horse/n02374451_2733-3.png 5
-sketch/horse/n02374451_2733-4.png 5
-sketch/horse/n02374451_2733-5.png 5
-sketch/horse/n02374451_2733-6.png 5
-sketch/horse/n02374451_2733-7.png 5
-sketch/horse/n02374451_2743-1.png 5
-sketch/horse/n02374451_2743-2.png 5
-sketch/horse/n02374451_2743-3.png 5
-sketch/horse/n02374451_2743-4.png 5
-sketch/horse/n02374451_2743-5.png 5
-sketch/horse/n02374451_2743-6.png 5
-sketch/horse/n02374451_2743-7.png 5
-sketch/horse/n02374451_2825-1.png 5
-sketch/horse/n02374451_2825-2.png 5
-sketch/horse/n02374451_2825-3.png 5
-sketch/horse/n02374451_2825-4.png 5
-sketch/horse/n02374451_2825-5.png 5
-sketch/horse/n02374451_2825-6.png 5
-sketch/horse/n02374451_2825-7.png 5
-sketch/horse/n02374451_2825-8.png 5
-sketch/horse/n02374451_2825-9.png 5
-sketch/horse/n02374451_2825-10.png 5
-sketch/horse/n02374451_2846-1.png 5
-sketch/horse/n02374451_2846-2.png 5
-sketch/horse/n02374451_2846-3.png 5
-sketch/horse/n02374451_2846-4.png 5
-sketch/horse/n02374451_2846-5.png 5
-sketch/horse/n02374451_2846-6.png 5
-sketch/horse/n02374451_2846-7.png 5
-sketch/horse/n02374451_2846-8.png 5
-sketch/horse/n02374451_2846-9.png 5
-sketch/horse/n02374451_3388-1.png 5
-sketch/horse/n02374451_3388-2.png 5
-sketch/horse/n02374451_3388-3.png 5
-sketch/horse/n02374451_3388-4.png 5
-sketch/horse/n02374451_3388-5.png 5
-sketch/horse/n02374451_3388-6.png 5
-sketch/horse/n02374451_3388-7.png 5
-sketch/horse/n02374451_3388-8.png 5
-sketch/horse/n02374451_3388-9.png 5
-sketch/horse/n02374451_3808-1.png 5
-sketch/horse/n02374451_3808-2.png 5
-sketch/horse/n02374451_3808-3.png 5
-sketch/horse/n02374451_3808-4.png 5
-sketch/horse/n02374451_3808-5.png 5
-sketch/horse/n02374451_3808-6.png 5
-sketch/horse/n02374451_3808-7.png 5
-sketch/horse/n02374451_3808-8.png 5
-sketch/horse/n02374451_3808-9.png 5
-sketch/horse/n02374451_4538-1.png 5
-sketch/horse/n02374451_4538-2.png 5
-sketch/horse/n02374451_4538-3.png 5
-sketch/horse/n02374451_4538-4.png 5
-sketch/horse/n02374451_4538-5.png 5
-sketch/horse/n02374451_4538-6.png 5
-sketch/horse/n02374451_4538-7.png 5
-sketch/horse/n02374451_4538-8.png 5
-sketch/horse/n02374451_4538-9.png 5
-sketch/horse/n02374451_4553-1.png 5
-sketch/horse/n02374451_4553-2.png 5
-sketch/horse/n02374451_4553-3.png 5
-sketch/horse/n02374451_4553-4.png 5
-sketch/horse/n02374451_4553-5.png 5
-sketch/horse/n02374451_4553-6.png 5
-sketch/horse/n02374451_4553-7.png 5
-sketch/horse/n02374451_4795-1.png 5
-sketch/horse/n02374451_4795-2.png 5
-sketch/horse/n02374451_4795-3.png 5
-sketch/horse/n02374451_4795-4.png 5
-sketch/horse/n02374451_4795-5.png 5
-sketch/horse/n02374451_4795-6.png 5
-sketch/horse/n02374451_4795-7.png 5
-sketch/horse/n02374451_4795-8.png 5
-sketch/horse/n02374451_4818-1.png 5
-sketch/horse/n02374451_4818-2.png 5
-sketch/horse/n02374451_4818-3.png 5
-sketch/horse/n02374451_4818-4.png 5
-sketch/horse/n02374451_4818-5.png 5
-sketch/horse/n02374451_4818-6.png 5
-sketch/horse/n02374451_4818-7.png 5
-sketch/horse/n02374451_4963-1.png 5
-sketch/horse/n02374451_4963-2.png 5
-sketch/horse/n02374451_4963-3.png 5
-sketch/horse/n02374451_4963-4.png 5
-sketch/horse/n02374451_4963-5.png 5
-sketch/horse/n02374451_4963-6.png 5
-sketch/horse/n02374451_5084-1.png 5
-sketch/horse/n02374451_5084-2.png 5
-sketch/horse/n02374451_5084-3.png 5
-sketch/horse/n02374451_5084-4.png 5
-sketch/horse/n02374451_5084-5.png 5
-sketch/horse/n02374451_5084-6.png 5
-sketch/horse/n02374451_6192-1.png 5
-sketch/horse/n02374451_6192-2.png 5
-sketch/horse/n02374451_6192-3.png 5
-sketch/horse/n02374451_6192-4.png 5
-sketch/horse/n02374451_6192-5.png 5
-sketch/horse/n02374451_6192-6.png 5
-sketch/horse/n02374451_6192-7.png 5
-sketch/horse/n02374451_6207-1.png 5
-sketch/horse/n02374451_6207-2.png 5
-sketch/horse/n02374451_6207-3.png 5
-sketch/horse/n02374451_6207-4.png 5
-sketch/horse/n02374451_6207-5.png 5
-sketch/horse/n02374451_6207-6.png 5
-sketch/horse/n02374451_7631-1.png 5
-sketch/horse/n02374451_7631-2.png 5
-sketch/horse/n02374451_7631-3.png 5
-sketch/horse/n02374451_7631-4.png 5
-sketch/horse/n02374451_7631-5.png 5
-sketch/horse/n02374451_7631-6.png 5
-sketch/horse/n02374451_7631-7.png 5
-sketch/horse/n02374451_8065-1.png 5
-sketch/horse/n02374451_8065-2.png 5
-sketch/horse/n02374451_8065-3.png 5
-sketch/horse/n02374451_8065-4.png 5
-sketch/horse/n02374451_8065-5.png 5
-sketch/horse/n02374451_8065-6.png 5
-sketch/horse/n02374451_8269-1.png 5
-sketch/horse/n02374451_8269-2.png 5
-sketch/horse/n02374451_8269-3.png 5
-sketch/horse/n02374451_8269-4.png 5
-sketch/horse/n02374451_8269-5.png 5
-sketch/horse/n02374451_8269-6.png 5
-sketch/horse/n02374451_8269-7.png 5
-sketch/horse/n02374451_8269-8.png 5
-sketch/horse/n02374451_8269-9.png 5
-sketch/horse/n02374451_8526-1.png 5
-sketch/horse/n02374451_8526-2.png 5
-sketch/horse/n02374451_8526-3.png 5
-sketch/horse/n02374451_8526-4.png 5
-sketch/horse/n02374451_8526-5.png 5
-sketch/horse/n02374451_8526-6.png 5
-sketch/horse/n02374451_8718-1.png 5
-sketch/horse/n02374451_8718-2.png 5
-sketch/horse/n02374451_8718-3.png 5
-sketch/horse/n02374451_8718-4.png 5
-sketch/horse/n02374451_8718-5.png 5
-sketch/horse/n02374451_8718-6.png 5
-sketch/horse/n02374451_8744-1.png 5
-sketch/horse/n02374451_8744-2.png 5
-sketch/horse/n02374451_8744-3.png 5
-sketch/horse/n02374451_8744-4.png 5
-sketch/horse/n02374451_8744-5.png 5
-sketch/horse/n02374451_8744-6.png 5
-sketch/horse/n02374451_8744-7.png 5
-sketch/horse/n02374451_8744-8.png 5
-sketch/horse/n02374451_8744-9.png 5
-sketch/horse/n02374451_8744-10.png 5
-sketch/horse/n02374451_8806-1.png 5
-sketch/horse/n02374451_8806-2.png 5
-sketch/horse/n02374451_8806-3.png 5
-sketch/horse/n02374451_8806-4.png 5
-sketch/horse/n02374451_8806-5.png 5
-sketch/horse/n02374451_8806-6.png 5
-sketch/horse/n02374451_8806-7.png 5
-sketch/horse/n02374451_8806-8.png 5
-sketch/horse/n02374451_9064-1.png 5
-sketch/horse/n02374451_9064-2.png 5
-sketch/horse/n02374451_9064-3.png 5
-sketch/horse/n02374451_9064-4.png 5
-sketch/horse/n02374451_9064-5.png 5
-sketch/horse/n02374451_9064-6.png 5
-sketch/horse/n02374451_9225-1.png 5
-sketch/horse/n02374451_9225-2.png 5
-sketch/horse/n02374451_9225-3.png 5
-sketch/horse/n02374451_9225-4.png 5
-sketch/horse/n02374451_9225-5.png 5
-sketch/horse/n02374451_9225-6.png 5
-sketch/horse/n02374451_9225-7.png 5
-sketch/horse/n02374451_9225-8.png 5
-sketch/horse/n02374451_9443-1.png 5
-sketch/horse/n02374451_9443-2.png 5
-sketch/horse/n02374451_9443-3.png 5
-sketch/horse/n02374451_9443-4.png 5
-sketch/horse/n02374451_9443-5.png 5
-sketch/horse/n02374451_9443-6.png 5
-sketch/horse/n02374451_9443-7.png 5
-sketch/horse/n02374451_9892-1.png 5
-sketch/horse/n02374451_9892-2.png 5
-sketch/horse/n02374451_9892-3.png 5
-sketch/horse/n02374451_9892-4.png 5
-sketch/horse/n02374451_9892-5.png 5
-sketch/horse/n02374451_9892-6.png 5
-sketch/horse/n02374451_9892-7.png 5
-sketch/horse/n02374451_10081-1.png 5
-sketch/horse/n02374451_10081-2.png 5
-sketch/horse/n02374451_10081-3.png 5
-sketch/horse/n02374451_10081-4.png 5
-sketch/horse/n02374451_10081-5.png 5
-sketch/horse/n02374451_10081-6.png 5
-sketch/horse/n02374451_10098-1.png 5
-sketch/horse/n02374451_10098-2.png 5
-sketch/horse/n02374451_10098-3.png 5
-sketch/horse/n02374451_10098-4.png 5
-sketch/horse/n02374451_10098-5.png 5
-sketch/horse/n02374451_10098-6.png 5
-sketch/horse/n02374451_10098-7.png 5
-sketch/horse/n02374451_10099-1.png 5
-sketch/horse/n02374451_10099-2.png 5
-sketch/horse/n02374451_10099-3.png 5
-sketch/horse/n02374451_10099-4.png 5
-sketch/horse/n02374451_10099-5.png 5
-sketch/horse/n02374451_10099-6.png 5
-sketch/horse/n02374451_10099-7.png 5
-sketch/horse/n02374451_10099-8.png 5
-sketch/horse/n02374451_10099-9.png 5
-sketch/horse/n02374451_10118-1.png 5
-sketch/horse/n02374451_10118-2.png 5
-sketch/horse/n02374451_10118-3.png 5
-sketch/horse/n02374451_10118-4.png 5
-sketch/horse/n02374451_10118-5.png 5
-sketch/horse/n02374451_10331-1.png 5
-sketch/horse/n02374451_10331-2.png 5
-sketch/horse/n02374451_10331-3.png 5
-sketch/horse/n02374451_10331-4.png 5
-sketch/horse/n02374451_10331-5.png 5
-sketch/horse/n02374451_10669-1.png 5
-sketch/horse/n02374451_10669-2.png 5
-sketch/horse/n02374451_10669-3.png 5
-sketch/horse/n02374451_10669-4.png 5
-sketch/horse/n02374451_10669-5.png 5
-sketch/horse/n02374451_10669-6.png 5
-sketch/horse/n02374451_10669-7.png 5
-sketch/horse/n02374451_10669-8.png 5
-sketch/horse/n02374451_10669-9.png 5
-sketch/horse/n02374451_10761-1.png 5
-sketch/horse/n02374451_10761-2.png 5
-sketch/horse/n02374451_10761-3.png 5
-sketch/horse/n02374451_10761-4.png 5
-sketch/horse/n02374451_10761-5.png 5
-sketch/horse/n02374451_10761-6.png 5
-sketch/horse/n02374451_10761-7.png 5
-sketch/horse/n02374451_10761-8.png 5
-sketch/horse/n02374451_10761-9.png 5
-sketch/horse/n02374451_10761-10.png 5
-sketch/horse/n02374451_10809-1.png 5
-sketch/horse/n02374451_10809-2.png 5
-sketch/horse/n02374451_10809-4.png 5
-sketch/horse/n02374451_10809-5.png 5
-sketch/horse/n02374451_10809-6.png 5
-sketch/horse/n02374451_10809-7.png 5
-sketch/horse/n02374451_10809-8.png 5
-sketch/horse/n02374451_11479-1.png 5
-sketch/horse/n02374451_11479-2.png 5
-sketch/horse/n02374451_11479-3.png 5
-sketch/horse/n02374451_11479-4.png 5
-sketch/horse/n02374451_11479-5.png 5
-sketch/horse/n02374451_11479-6.png 5
-sketch/horse/n02374451_11479-7.png 5
-sketch/horse/n02374451_11483-1.png 5
-sketch/horse/n02374451_11483-2.png 5
-sketch/horse/n02374451_11483-3.png 5
-sketch/horse/n02374451_11483-4.png 5
-sketch/horse/n02374451_11483-5.png 5
-sketch/horse/n02374451_11483-6.png 5
-sketch/horse/n02374451_11492-1.png 5
-sketch/horse/n02374451_11492-2.png 5
-sketch/horse/n02374451_11492-3.png 5
-sketch/horse/n02374451_11492-4.png 5
-sketch/horse/n02374451_11492-5.png 5
-sketch/horse/n02374451_11492-6.png 5
-sketch/horse/n02374451_11894-1.png 5
-sketch/horse/n02374451_11894-2.png 5
-sketch/horse/n02374451_11894-3.png 5
-sketch/horse/n02374451_11894-4.png 5
-sketch/horse/n02374451_11894-5.png 5
-sketch/horse/n02374451_11894-6.png 5
-sketch/horse/n02374451_11894-7.png 5
-sketch/horse/n02374451_11894-8.png 5
-sketch/horse/n02374451_11894-9.png 5
-sketch/horse/n02374451_12128-1.png 5
-sketch/horse/n02374451_12128-2.png 5
-sketch/horse/n02374451_12128-3.png 5
-sketch/horse/n02374451_12128-4.png 5
-sketch/horse/n02374451_12128-5.png 5
-sketch/horse/n02374451_12128-6.png 5
-sketch/horse/n02374451_12128-7.png 5
-sketch/horse/n02374451_12128-8.png 5
-sketch/horse/n02374451_12174-1.png 5
-sketch/horse/n02374451_12174-2.png 5
-sketch/horse/n02374451_12174-3.png 5
-sketch/horse/n02374451_12174-4.png 5
-sketch/horse/n02374451_12174-5.png 5
-sketch/horse/n02374451_12174-6.png 5
-sketch/horse/n02374451_12200-1.png 5
-sketch/horse/n02374451_12200-2.png 5
-sketch/horse/n02374451_12200-3.png 5
-sketch/horse/n02374451_12200-4.png 5
-sketch/horse/n02374451_12200-5.png 5
-sketch/horse/n02374451_12200-6.png 5
-sketch/horse/n02374451_12200-7.png 5
-sketch/horse/n02374451_12225-1.png 5
-sketch/horse/n02374451_12225-2.png 5
-sketch/horse/n02374451_12225-3.png 5
-sketch/horse/n02374451_12225-4.png 5
-sketch/horse/n02374451_12225-5.png 5
-sketch/horse/n02374451_12225-6.png 5
-sketch/horse/n02374451_12230-1.png 5
-sketch/horse/n02374451_12230-2.png 5
-sketch/horse/n02374451_12230-3.png 5
-sketch/horse/n02374451_12230-4.png 5
-sketch/horse/n02374451_12230-5.png 5
-sketch/horse/n02374451_12230-6.png 5
-sketch/horse/n02374451_12230-7.png 5
-sketch/horse/n02374451_12239-1.png 5
-sketch/horse/n02374451_12239-2.png 5
-sketch/horse/n02374451_12239-3.png 5
-sketch/horse/n02374451_12239-4.png 5
-sketch/horse/n02374451_12239-5.png 5
-sketch/horse/n02374451_12239-6.png 5
-sketch/horse/n02374451_12239-7.png 5
-sketch/horse/n02374451_12250-1.png 5
-sketch/horse/n02374451_12250-2.png 5
-sketch/horse/n02374451_12250-3.png 5
-sketch/horse/n02374451_12250-4.png 5
-sketch/horse/n02374451_12250-5.png 5
-sketch/horse/n02374451_12250-6.png 5
-sketch/horse/n02374451_12250-7.png 5
-sketch/horse/n02374451_12254-1.png 5
-sketch/horse/n02374451_12254-2.png 5
-sketch/horse/n02374451_12254-3.png 5
-sketch/horse/n02374451_12254-4.png 5
-sketch/horse/n02374451_12254-5.png 5
-sketch/horse/n02374451_12254-6.png 5
-sketch/horse/n02374451_12254-7.png 5
-sketch/horse/n02374451_12328-1.png 5
-sketch/horse/n02374451_12328-2.png 5
-sketch/horse/n02374451_12328-3.png 5
-sketch/horse/n02374451_12328-4.png 5
-sketch/horse/n02374451_12328-5.png 5
-sketch/horse/n02374451_12328-6.png 5
-sketch/horse/n02374451_12328-7.png 5
-sketch/horse/n02374451_12328-8.png 5
-sketch/horse/n02374451_12328-9.png 5
-sketch/horse/n02374451_12328-10.png 5
-sketch/horse/n02374451_12418-1.png 5
-sketch/horse/n02374451_12418-2.png 5
-sketch/horse/n02374451_12418-3.png 5
-sketch/horse/n02374451_12418-4.png 5
-sketch/horse/n02374451_12418-5.png 5
-sketch/horse/n02374451_12418-6.png 5
-sketch/horse/n02374451_12418-7.png 5
-sketch/horse/n02374451_12418-8.png 5
-sketch/horse/n02374451_12418-9.png 5
-sketch/horse/n02374451_12418-10.png 5
-sketch/horse/n02374451_12792-1.png 5
-sketch/horse/n02374451_12792-2.png 5
-sketch/horse/n02374451_12792-3.png 5
-sketch/horse/n02374451_12792-4.png 5
-sketch/horse/n02374451_12792-5.png 5
-sketch/horse/n02374451_12792-6.png 5
-sketch/horse/n02374451_12792-7.png 5
-sketch/horse/n02374451_12792-8.png 5
-sketch/horse/n02374451_12792-9.png 5
-sketch/horse/n02374451_12792-10.png 5
-sketch/horse/n02374451_12847-1.png 5
-sketch/horse/n02374451_12847-2.png 5
-sketch/horse/n02374451_12847-3.png 5
-sketch/horse/n02374451_12847-4.png 5
-sketch/horse/n02374451_12847-5.png 5
-sketch/horse/n02374451_12847-6.png 5
-sketch/horse/n02374451_12847-7.png 5
-sketch/horse/n02374451_12847-8.png 5
-sketch/horse/n02374451_13132-1.png 5
-sketch/horse/n02374451_13132-2.png 5
-sketch/horse/n02374451_13132-3.png 5
-sketch/horse/n02374451_13132-4.png 5
-sketch/horse/n02374451_13132-5.png 5
-sketch/horse/n02374451_13132-6.png 5
-sketch/horse/n02374451_13132-7.png 5
-sketch/horse/n02374451_13136-1.png 5
-sketch/horse/n02374451_13136-2.png 5
-sketch/horse/n02374451_13136-3.png 5
-sketch/horse/n02374451_13136-4.png 5
-sketch/horse/n02374451_13136-5.png 5
-sketch/horse/n02374451_13159-1.png 5
-sketch/horse/n02374451_13159-2.png 5
-sketch/horse/n02374451_13159-3.png 5
-sketch/horse/n02374451_13159-4.png 5
-sketch/horse/n02374451_13159-5.png 5
-sketch/horse/n02374451_13159-6.png 5
-sketch/horse/n02374451_13159-7.png 5
-sketch/horse/n02374451_13159-8.png 5
-sketch/horse/n02374451_13171-1.png 5
-sketch/horse/n02374451_13171-2.png 5
-sketch/horse/n02374451_13171-3.png 5
-sketch/horse/n02374451_13171-4.png 5
-sketch/horse/n02374451_13171-5.png 5
-sketch/horse/n02374451_13171-6.png 5
-sketch/horse/n02374451_13718-1.png 5
-sketch/horse/n02374451_13718-2.png 5
-sketch/horse/n02374451_13718-3.png 5
-sketch/horse/n02374451_13718-4.png 5
-sketch/horse/n02374451_13718-5.png 5
-sketch/horse/n02374451_13718-6.png 5
-sketch/horse/n02374451_14119-1.png 5
-sketch/horse/n02374451_14119-2.png 5
-sketch/horse/n02374451_14119-3.png 5
-sketch/horse/n02374451_14119-4.png 5
-sketch/horse/n02374451_14119-5.png 5
-sketch/horse/n02374451_14119-6.png 5
-sketch/horse/n02374451_14119-7.png 5
-sketch/horse/n02374451_14119-8.png 5
-sketch/horse/n02374451_14119-9.png 5
-sketch/horse/n02374451_14233-1.png 5
-sketch/horse/n02374451_14233-2.png 5
-sketch/horse/n02374451_14233-3.png 5
-sketch/horse/n02374451_14233-4.png 5
-sketch/horse/n02374451_14233-5.png 5
-sketch/horse/n02374451_14399-1.png 5
-sketch/horse/n02374451_14399-2.png 5
-sketch/horse/n02374451_14399-3.png 5
-sketch/horse/n02374451_14399-4.png 5
-sketch/horse/n02374451_14399-5.png 5
-sketch/horse/n02374451_14399-6.png 5
-sketch/horse/n02374451_14399-7.png 5
-sketch/horse/n02374451_14425-10.png 5
-sketch/horse/n02374451_14425-1.png 5
-sketch/horse/n02374451_14425-2.png 5
-sketch/horse/n02374451_14425-3.png 5
-sketch/horse/n02374451_14425-4.png 5
-sketch/horse/n02374451_14425-5.png 5
-sketch/horse/n02374451_14425-6.png 5
-sketch/horse/n02374451_14425-7.png 5
-sketch/horse/n02374451_14425-8.png 5
-sketch/horse/n02374451_14425-9.png 5
-sketch/horse/n02374451_14738-1.png 5
-sketch/horse/n02374451_14738-2.png 5
-sketch/horse/n02374451_14738-3.png 5
-sketch/horse/n02374451_14738-4.png 5
-sketch/horse/n02374451_14738-5.png 5
-sketch/horse/n02374451_14738-6.png 5
-sketch/horse/n02374451_14738-7.png 5
-sketch/horse/n02374451_14846-1.png 5
-sketch/horse/n02374451_14846-2.png 5
-sketch/horse/n02374451_14846-3.png 5
-sketch/horse/n02374451_14846-4.png 5
-sketch/horse/n02374451_14846-5.png 5
-sketch/horse/n02374451_14846-6.png 5
-sketch/horse/n02374451_14846-7.png 5
-sketch/horse/n02374451_15307-1.png 5
-sketch/horse/n02374451_15307-2.png 5
-sketch/horse/n02374451_15307-3.png 5
-sketch/horse/n02374451_15307-4.png 5
-sketch/horse/n02374451_15307-5.png 5
-sketch/horse/n02374451_15307-6.png 5
-sketch/horse/n02374451_15440-1.png 5
-sketch/horse/n02374451_15440-2.png 5
-sketch/horse/n02374451_15440-3.png 5
-sketch/horse/n02374451_15440-4.png 5
-sketch/horse/n02374451_15440-5.png 5
-sketch/horse/n02374451_15440-6.png 5
-sketch/horse/n02374451_15453-1.png 5
-sketch/horse/n02374451_15453-2.png 5
-sketch/horse/n02374451_15453-3.png 5
-sketch/horse/n02374451_15453-4.png 5
-sketch/horse/n02374451_15453-5.png 5
-sketch/horse/n02374451_15453-6.png 5
-sketch/horse/n02374451_15453-7.png 5
-sketch/horse/n02374451_15669-1.png 5
-sketch/horse/n02374451_15669-2.png 5
-sketch/horse/n02374451_15669-3.png 5
-sketch/horse/n02374451_15669-4.png 5
-sketch/horse/n02374451_15669-5.png 5
-sketch/horse/n02374451_15669-6.png 5
-sketch/horse/n02374451_16194-1.png 5
-sketch/horse/n02374451_16194-2.png 5
-sketch/horse/n02374451_16194-3.png 5
-sketch/horse/n02374451_16194-4.png 5
-sketch/horse/n02374451_16194-5.png 5
-sketch/horse/n02374451_16194-6.png 5
-sketch/horse/n02374451_16358-1.png 5
-sketch/horse/n02374451_16358-2.png 5
-sketch/horse/n02374451_16358-3.png 5
-sketch/horse/n02374451_16358-4.png 5
-sketch/horse/n02374451_16358-5.png 5
-sketch/horse/n02374451_16358-6.png 5
-sketch/horse/n02374451_16948-1.png 5
-sketch/horse/n02374451_16948-2.png 5
-sketch/horse/n02374451_16948-3.png 5
-sketch/horse/n02374451_16948-4.png 5
-sketch/horse/n02374451_16948-5.png 5
-sketch/horse/n02374451_16948-6.png 5
-sketch/horse/n02374451_16948-7.png 5
-sketch/horse/n02374451_16948-8.png 5
-sketch/horse/n02374451_16948-9.png 5
-sketch/horse/n02374451_17043-1.png 5
-sketch/horse/n02374451_17043-2.png 5
-sketch/horse/n02374451_17043-3.png 5
-sketch/horse/n02374451_17043-4.png 5
-sketch/horse/n02374451_17043-5.png 5
-sketch/horse/n02374451_17043-6.png 5
-sketch/horse/n02374451_17384-1.png 5
-sketch/horse/n02374451_17384-2.png 5
-sketch/horse/n02374451_17384-3.png 5
-sketch/horse/n02374451_17384-4.png 5
-sketch/horse/n02374451_17384-5.png 5
-sketch/horse/n02374451_17384-6.png 5
-sketch/horse/n02374451_17384-7.png 5
-sketch/horse/n02374451_17384-8.png 5
-sketch/horse/n02374451_17474-1.png 5
-sketch/horse/n02374451_17474-2.png 5
-sketch/horse/n02374451_17474-3.png 5
-sketch/horse/n02374451_17474-4.png 5
-sketch/horse/n02374451_17474-5.png 5
-sketch/horse/n02374451_17474-6.png 5
-sketch/horse/n02374451_17474-7.png 5
-sketch/horse/n02374451_17474-8.png 5
-sketch/horse/n02374451_17634-1.png 5
-sketch/horse/n02374451_17634-2.png 5
-sketch/horse/n02374451_17634-3.png 5
-sketch/horse/n02374451_17634-4.png 5
-sketch/horse/n02374451_17634-5.png 5
-sketch/horse/n02374451_17634-6.png 5
-sketch/horse/n02374451_18192-1.png 5
-sketch/horse/n02374451_18192-2.png 5
-sketch/horse/n02374451_18192-3.png 5
-sketch/horse/n02374451_18192-4.png 5
-sketch/horse/n02374451_18192-5.png 5
-sketch/horse/n02374451_18192-6.png 5
-sketch/horse/n02374451_18570-1.png 5
-sketch/horse/n02374451_18570-2.png 5
-sketch/horse/n02374451_18570-3.png 5
-sketch/horse/n02374451_18570-4.png 5
-sketch/horse/n02374451_18570-5.png 5
-sketch/horse/n02374451_18570-6.png 5
-sketch/horse/n02374451_18570-7.png 5
-sketch/horse/n02374451_18909-1.png 5
-sketch/horse/n02374451_18909-2.png 5
-sketch/horse/n02374451_18909-3.png 5
-sketch/horse/n02374451_18909-4.png 5
-sketch/horse/n02374451_18909-5.png 5
-sketch/horse/n02374451_18909-6.png 5
-sketch/horse/8481.png 5
-sketch/horse/8482.png 5
-sketch/horse/8483.png 5
-sketch/horse/8484.png 5
-sketch/horse/8485.png 5
-sketch/horse/8486.png 5
-sketch/horse/8487.png 5
-sketch/horse/8488.png 5
-sketch/horse/8489.png 5
-sketch/horse/8490.png 5
-sketch/horse/8491.png 5
-sketch/horse/8492.png 5
-sketch/horse/8493.png 5
-sketch/horse/8494.png 5
-sketch/horse/8495.png 5
-sketch/horse/8496.png 5
-sketch/horse/8497.png 5
-sketch/horse/8498.png 5
-sketch/horse/8499.png 5
-sketch/horse/8500.png 5
-sketch/horse/8501.png 5
-sketch/horse/8502.png 5
-sketch/horse/8503.png 5
-sketch/horse/8504.png 5
-sketch/horse/8505.png 5
-sketch/horse/8506.png 5
-sketch/horse/8507.png 5
-sketch/horse/8508.png 5
-sketch/horse/8509.png 5
-sketch/horse/8510.png 5
-sketch/horse/8511.png 5
-sketch/horse/8512.png 5
-sketch/horse/8513.png 5
-sketch/horse/8514.png 5
-sketch/horse/8515.png 5
-sketch/horse/8516.png 5
-sketch/horse/8517.png 5
-sketch/horse/8518.png 5
-sketch/horse/8519.png 5
-sketch/horse/8520.png 5
-sketch/horse/8521.png 5
-sketch/horse/8522.png 5
-sketch/horse/8523.png 5
-sketch/horse/8524.png 5
-sketch/horse/8525.png 5
-sketch/horse/8526.png 5
-sketch/horse/8527.png 5
-sketch/horse/8528.png 5
-sketch/horse/8529.png 5
-sketch/horse/8530.png 5
-sketch/horse/8531.png 5
-sketch/horse/8532.png 5
-sketch/horse/8533.png 5
-sketch/horse/8534.png 5
-sketch/horse/8535.png 5
-sketch/horse/8536.png 5
-sketch/horse/8537.png 5
-sketch/horse/8538.png 5
-sketch/horse/8539.png 5
-sketch/horse/8540.png 5
-sketch/horse/8541.png 5
-sketch/horse/8542.png 5
-sketch/horse/8543.png 5
-sketch/horse/8544.png 5
-sketch/horse/8545.png 5
-sketch/horse/8546.png 5
-sketch/horse/8547.png 5
-sketch/horse/8548.png 5
-sketch/horse/8549.png 5
-sketch/horse/8550.png 5
-sketch/horse/8551.png 5
-sketch/horse/8552.png 5
-sketch/horse/8553.png 5
-sketch/horse/8554.png 5
-sketch/horse/8555.png 5
-sketch/horse/8556.png 5
-sketch/horse/8557.png 5
-sketch/horse/8558.png 5
-sketch/horse/8559.png 5
-sketch/horse/8560.png 5
-sketch/house/8801.png 6
-sketch/house/8802.png 6
-sketch/house/8803.png 6
-sketch/house/8804.png 6
-sketch/house/8805.png 6
-sketch/house/8806.png 6
-sketch/house/8807.png 6
-sketch/house/8808.png 6
-sketch/house/8809.png 6
-sketch/house/8810.png 6
-sketch/house/8811.png 6
-sketch/house/8812.png 6
-sketch/house/8813.png 6
-sketch/house/8814.png 6
-sketch/house/8815.png 6
-sketch/house/8816.png 6
-sketch/house/8817.png 6
-sketch/house/8818.png 6
-sketch/house/8819.png 6
-sketch/house/8820.png 6
-sketch/house/8821.png 6
-sketch/house/8822.png 6
-sketch/house/8823.png 6
-sketch/house/8824.png 6
-sketch/house/8825.png 6
-sketch/house/8826.png 6
-sketch/house/8827.png 6
-sketch/house/8828.png 6
-sketch/house/8829.png 6
-sketch/house/8830.png 6
-sketch/house/8831.png 6
-sketch/house/8832.png 6
-sketch/house/8833.png 6
-sketch/house/8834.png 6
-sketch/house/8835.png 6
-sketch/house/8836.png 6
-sketch/house/8837.png 6
-sketch/house/8838.png 6
-sketch/house/8839.png 6
-sketch/house/8840.png 6
-sketch/house/8841.png 6
-sketch/house/8842.png 6
-sketch/house/8843.png 6
-sketch/house/8844.png 6
-sketch/house/8845.png 6
-sketch/house/8846.png 6
-sketch/house/8847.png 6
-sketch/house/8848.png 6
-sketch/house/8849.png 6
-sketch/house/8850.png 6
-sketch/house/8851.png 6
-sketch/house/8852.png 6
-sketch/house/8853.png 6
-sketch/house/8854.png 6
-sketch/house/8855.png 6
-sketch/house/8856.png 6
-sketch/house/8857.png 6
-sketch/house/8858.png 6
-sketch/house/8859.png 6
-sketch/house/8860.png 6
-sketch/house/8861.png 6
-sketch/house/8862.png 6
-sketch/house/8863.png 6
-sketch/house/8864.png 6
-sketch/house/8865.png 6
-sketch/house/8866.png 6
-sketch/house/8867.png 6
-sketch/house/8868.png 6
-sketch/house/8869.png 6
-sketch/house/8870.png 6
-sketch/house/8871.png 6
-sketch/house/8872.png 6
-sketch/house/8873.png 6
-sketch/house/8874.png 6
-sketch/house/8875.png 6
-sketch/house/8876.png 6
-sketch/house/8877.png 6
-sketch/house/8878.png 6
-sketch/house/8879.png 6
-sketch/house/8880.png 6
-sketch/person/12081.png 7
-sketch/person/12082.png 7
-sketch/person/12083.png 7
-sketch/person/12084.png 7
-sketch/person/12085.png 7
-sketch/person/12086.png 7
-sketch/person/12087.png 7
-sketch/person/12088.png 7
-sketch/person/12089.png 7
-sketch/person/12090.png 7
-sketch/person/12091.png 7
-sketch/person/12092.png 7
-sketch/person/12093.png 7
-sketch/person/12094.png 7
-sketch/person/12095.png 7
-sketch/person/12096.png 7
-sketch/person/12097.png 7
-sketch/person/12098.png 7
-sketch/person/12099.png 7
-sketch/person/12100.png 7
-sketch/person/12101.png 7
-sketch/person/12102.png 7
-sketch/person/12103.png 7
-sketch/person/12104.png 7
-sketch/person/12105.png 7
-sketch/person/12106.png 7
-sketch/person/12107.png 7
-sketch/person/12108.png 7
-sketch/person/12109.png 7
-sketch/person/12110.png 7
-sketch/person/12111.png 7
-sketch/person/12112.png 7
-sketch/person/12113.png 7
-sketch/person/12114.png 7
-sketch/person/12115.png 7
-sketch/person/12116.png 7
-sketch/person/12117.png 7
-sketch/person/12118.png 7
-sketch/person/12119.png 7
-sketch/person/12120.png 7
-sketch/person/12121.png 7
-sketch/person/12122.png 7
-sketch/person/12123.png 7
-sketch/person/12124.png 7
-sketch/person/12125.png 7
-sketch/person/12126.png 7
-sketch/person/12127.png 7
-sketch/person/12128.png 7
-sketch/person/12129.png 7
-sketch/person/12130.png 7
-sketch/person/12131.png 7
-sketch/person/12132.png 7
-sketch/person/12133.png 7
-sketch/person/12134.png 7
-sketch/person/12135.png 7
-sketch/person/12136.png 7
-sketch/person/12137.png 7
-sketch/person/12138.png 7
-sketch/person/12139.png 7
-sketch/person/12140.png 7
-sketch/person/12141.png 7
-sketch/person/12142.png 7
-sketch/person/12143.png 7
-sketch/person/12144.png 7
-sketch/person/12145.png 7
-sketch/person/12146.png 7
-sketch/person/12147.png 7
-sketch/person/12148.png 7
-sketch/person/12149.png 7
-sketch/person/12150.png 7
-sketch/person/12151.png 7
-sketch/person/12152.png 7
-sketch/person/12153.png 7
-sketch/person/12154.png 7
-sketch/person/12155.png 7
-sketch/person/12156.png 7
-sketch/person/12157.png 7
-sketch/person/12158.png 7
-sketch/person/12159.png 7
-sketch/person/12160.png 7
-sketch/person/12161.png 7
-sketch/person/12162.png 7
-sketch/person/12163.png 7
-sketch/person/12164.png 7
-sketch/person/12165.png 7
-sketch/person/12166.png 7
-sketch/person/12167.png 7
-sketch/person/12168.png 7
-sketch/person/12169.png 7
-sketch/person/12170.png 7
-sketch/person/12171.png 7
-sketch/person/12172.png 7
-sketch/person/12173.png 7
-sketch/person/12174.png 7
-sketch/person/12175.png 7
-sketch/person/12176.png 7
-sketch/person/12177.png 7
-sketch/person/12178.png 7
-sketch/person/12179.png 7
-sketch/person/12180.png 7
-sketch/person/12181.png 7
-sketch/person/12182.png 7
-sketch/person/12183.png 7
-sketch/person/12184.png 7
-sketch/person/12185.png 7
-sketch/person/12186.png 7
-sketch/person/12187.png 7
-sketch/person/12188.png 7
-sketch/person/12189.png 7
-sketch/person/12190.png 7
-sketch/person/12191.png 7
-sketch/person/12192.png 7
-sketch/person/12193.png 7
-sketch/person/12194.png 7
-sketch/person/12195.png 7
-sketch/person/12196.png 7
-sketch/person/12197.png 7
-sketch/person/12198.png 7
-sketch/person/12199.png 7
-sketch/person/12200.png 7
-sketch/person/12201.png 7
-sketch/person/12202.png 7
-sketch/person/12203.png 7
-sketch/person/12204.png 7
-sketch/person/12205.png 7
-sketch/person/12206.png 7
-sketch/person/12207.png 7
-sketch/person/12208.png 7
-sketch/person/12209.png 7
-sketch/person/12210.png 7
-sketch/person/12211.png 7
-sketch/person/12212.png 7
-sketch/person/12213.png 7
-sketch/person/12214.png 7
-sketch/person/12215.png 7
-sketch/person/12216.png 7
-sketch/person/12217.png 7
-sketch/person/12218.png 7
-sketch/person/12219.png 7
-sketch/person/12220.png 7
-sketch/person/12221.png 7
-sketch/person/12222.png 7
-sketch/person/12223.png 7
-sketch/person/12224.png 7
-sketch/person/12225.png 7
-sketch/person/12226.png 7
-sketch/person/12227.png 7
-sketch/person/12228.png 7
-sketch/person/12229.png 7
-sketch/person/12230.png 7
-sketch/person/12231.png 7
-sketch/person/12232.png 7
-sketch/person/12233.png 7
-sketch/person/12234.png 7
-sketch/person/12235.png 7
-sketch/person/12236.png 7
-sketch/person/12237.png 7
-sketch/person/12238.png 7
-sketch/person/12239.png 7
-sketch/person/12240.png 7
diff --git a/data/pacs_split/sketch_train_kfold.txt b/data/pacs_split/sketch_train_kfold.txt
deleted file mode 100644
index a5088dca0..000000000
--- a/data/pacs_split/sketch_train_kfold.txt
+++ /dev/null
@@ -1,3531 +0,0 @@
-sketch/dog/n02103406_1170-6.png 1
-sketch/dog/n02103406_1247-1.png 1
-sketch/dog/n02103406_1247-2.png 1
-sketch/dog/n02103406_1247-3.png 1
-sketch/dog/n02103406_1247-4.png 1
-sketch/dog/n02103406_1247-5.png 1
-sketch/dog/n02103406_1247-6.png 1
-sketch/dog/n02103406_1247-7.png 1
-sketch/dog/n02103406_1599-1.png 1
-sketch/dog/n02103406_1599-2.png 1
-sketch/dog/n02103406_1599-3.png 1
-sketch/dog/n02103406_1599-4.png 1
-sketch/dog/n02103406_1599-5.png 1
-sketch/dog/n02103406_1754-1.png 1
-sketch/dog/n02103406_1754-2.png 1
-sketch/dog/n02103406_1754-3.png 1
-sketch/dog/n02103406_1754-4.png 1
-sketch/dog/n02103406_1754-5.png 1
-sketch/dog/n02103406_2209-1.png 1
-sketch/dog/n02103406_2209-2.png 1
-sketch/dog/n02103406_2209-3.png 1
-sketch/dog/n02103406_2209-4.png 1
-sketch/dog/n02103406_2209-5.png 1
-sketch/dog/n02103406_2209-6.png 1
-sketch/dog/n02103406_2209-7.png 1
-sketch/dog/n02103406_2209-8.png 1
-sketch/dog/n02103406_2706-1.png 1
-sketch/dog/n02103406_2706-2.png 1
-sketch/dog/n02103406_2706-3.png 1
-sketch/dog/n02103406_2706-4.png 1
-sketch/dog/n02103406_2706-5.png 1
-sketch/dog/n02103406_2706-6.png 1
-sketch/dog/n02103406_2706-7.png 1
-sketch/dog/n02103406_2706-8.png 1
-sketch/dog/n02103406_2706-9.png 1
-sketch/dog/n02103406_2954-1.png 1
-sketch/dog/n02103406_2954-2.png 1
-sketch/dog/n02103406_2954-3.png 1
-sketch/dog/n02103406_2954-4.png 1
-sketch/dog/n02103406_2954-5.png 1
-sketch/dog/n02103406_2954-6.png 1
-sketch/dog/n02103406_2976-1.png 1
-sketch/dog/n02103406_2976-2.png 1
-sketch/dog/n02103406_2976-3.png 1
-sketch/dog/n02103406_2976-4.png 1
-sketch/dog/n02103406_2976-5.png 1
-sketch/dog/n02103406_2976-6.png 1
-sketch/dog/n02103406_2976-7.png 1
-sketch/dog/n02103406_3056-1.png 1
-sketch/dog/n02103406_3056-2.png 1
-sketch/dog/n02103406_3056-3.png 1
-sketch/dog/n02103406_3056-4.png 1
-sketch/dog/n02103406_3056-5.png 1
-sketch/dog/n02103406_3108-1.png 1
-sketch/dog/n02103406_3108-2.png 1
-sketch/dog/n02103406_3108-3.png 1
-sketch/dog/n02103406_3108-4.png 1
-sketch/dog/n02103406_3108-5.png 1
-sketch/dog/n02103406_3108-6.png 1
-sketch/dog/n02103406_3132-1.png 1
-sketch/dog/n02103406_3132-2.png 1
-sketch/dog/n02103406_3132-3.png 1
-sketch/dog/n02103406_3132-4.png 1
-sketch/dog/n02103406_3132-5.png 1
-sketch/dog/n02103406_3132-6.png 1
-sketch/dog/n02103406_3132-7.png 1
-sketch/dog/n02103406_3255-1.png 1
-sketch/dog/n02103406_3255-2.png 1
-sketch/dog/n02103406_3255-3.png 1
-sketch/dog/n02103406_3255-4.png 1
-sketch/dog/n02103406_3255-5.png 1
-sketch/dog/n02103406_3255-6.png 1
-sketch/dog/n02103406_3255-7.png 1
-sketch/dog/n02103406_3255-8.png 1
-sketch/dog/n02103406_3255-9.png 1
-sketch/dog/n02103406_3255-10.png 1
-sketch/dog/n02103406_3255-11.png 1
-sketch/dog/n02103406_3299-1.png 1
-sketch/dog/n02103406_3299-2.png 1
-sketch/dog/n02103406_3299-3.png 1
-sketch/dog/n02103406_3299-4.png 1
-sketch/dog/n02103406_3299-5.png 1
-sketch/dog/n02103406_3299-6.png 1
-sketch/dog/n02103406_3299-7.png 1
-sketch/dog/n02103406_3299-8.png 1
-sketch/dog/n02103406_3299-9.png 1
-sketch/dog/n02103406_3326-1.png 1
-sketch/dog/n02103406_3326-2.png 1
-sketch/dog/n02103406_3326-3.png 1
-sketch/dog/n02103406_3326-4.png 1
-sketch/dog/n02103406_3326-5.png 1
-sketch/dog/n02103406_3326-6.png 1
-sketch/dog/n02103406_3326-7.png 1
-sketch/dog/n02103406_3326-8.png 1
-sketch/dog/n02103406_3326-9.png 1
-sketch/dog/n02103406_3326-10.png 1
-sketch/dog/n02103406_3326-11.png 1
-sketch/dog/n02103406_3326-12.png 1
-sketch/dog/n02103406_3326-13.png 1
-sketch/dog/n02103406_3401-1.png 1
-sketch/dog/n02103406_3401-2.png 1
-sketch/dog/n02103406_3401-3.png 1
-sketch/dog/n02103406_3401-4.png 1
-sketch/dog/n02103406_3401-5.png 1
-sketch/dog/n02103406_3401-6.png 1
-sketch/dog/n02103406_3538-1.png 1
-sketch/dog/n02103406_3538-2.png 1
-sketch/dog/n02103406_3538-3.png 1
-sketch/dog/n02103406_3538-4.png 1
-sketch/dog/n02103406_3538-5.png 1
-sketch/dog/n02103406_3538-6.png 1
-sketch/dog/n02103406_3538-7.png 1
-sketch/dog/n02103406_3743-1.png 1
-sketch/dog/n02103406_3743-2.png 1
-sketch/dog/n02103406_3743-3.png 1
-sketch/dog/n02103406_3743-4.png 1
-sketch/dog/n02103406_3743-5.png 1
-sketch/dog/n02103406_3743-6.png 1
-sketch/dog/n02103406_3743-7.png 1
-sketch/dog/n02103406_3743-8.png 1
-sketch/dog/n02103406_3743-9.png 1
-sketch/dog/n02103406_3743-10.png 1
-sketch/dog/n02103406_3750-1.png 1
-sketch/dog/n02103406_3750-2.png 1
-sketch/dog/n02103406_3750-3.png 1
-sketch/dog/n02103406_3750-4.png 1
-sketch/dog/n02103406_3750-5.png 1
-sketch/dog/n02103406_3750-6.png 1
-sketch/dog/n02103406_3964-1.png 1
-sketch/dog/n02103406_3964-2.png 1
-sketch/dog/n02103406_3964-3.png 1
-sketch/dog/n02103406_3964-4.png 1
-sketch/dog/n02103406_3964-5.png 1
-sketch/dog/n02103406_4068-1.png 1
-sketch/dog/n02103406_4068-2.png 1
-sketch/dog/n02103406_4068-3.png 1
-sketch/dog/n02103406_4068-4.png 1
-sketch/dog/n02103406_4068-5.png 1
-sketch/dog/n02103406_4068-6.png 1
-sketch/dog/n02103406_4068-7.png 1
-sketch/dog/n02103406_4068-8.png 1
-sketch/dog/n02103406_4068-9.png 1
-sketch/dog/n02103406_4068-10.png 1
-sketch/dog/n02103406_4068-11.png 1
-sketch/dog/n02103406_4068-12.png 1
-sketch/dog/n02103406_4582-1.png 1
-sketch/dog/n02103406_4582-2.png 1
-sketch/dog/n02103406_4582-3.png 1
-sketch/dog/n02103406_4582-4.png 1
-sketch/dog/n02103406_4582-5.png 1
-sketch/dog/n02103406_4849-1.png 1
-sketch/dog/n02103406_4849-2.png 1
-sketch/dog/n02103406_4849-3.png 1
-sketch/dog/n02103406_4849-4.png 1
-sketch/dog/n02103406_4849-5.png 1
-sketch/dog/n02103406_4849-6.png 1
-sketch/dog/n02103406_4849-7.png 1
-sketch/dog/n02103406_4849-8.png 1
-sketch/dog/n02103406_4849-9.png 1
-sketch/dog/n02103406_4916-1.png 1
-sketch/dog/n02103406_4916-2.png 1
-sketch/dog/n02103406_4916-3.png 1
-sketch/dog/n02103406_4916-4.png 1
-sketch/dog/n02103406_4916-5.png 1
-sketch/dog/n02103406_5035-1.png 1
-sketch/dog/n02103406_5035-2.png 1
-sketch/dog/n02103406_5035-3.png 1
-sketch/dog/n02103406_5035-4.png 1
-sketch/dog/n02103406_5035-5.png 1
-sketch/dog/n02103406_5035-6.png 1
-sketch/dog/n02103406_5216-1.png 1
-sketch/dog/n02103406_5216-2.png 1
-sketch/dog/n02103406_5216-3.png 1
-sketch/dog/n02103406_5216-4.png 1
-sketch/dog/n02103406_5216-5.png 1
-sketch/dog/n02103406_5224-1.png 1
-sketch/dog/n02103406_5224-2.png 1
-sketch/dog/n02103406_5224-3.png 1
-sketch/dog/n02103406_5224-4.png 1
-sketch/dog/n02103406_5224-5.png 1
-sketch/dog/n02103406_5224-6.png 1
-sketch/dog/n02103406_5456-1.png 1
-sketch/dog/n02103406_5456-2.png 1
-sketch/dog/n02103406_5456-3.png 1
-sketch/dog/n02103406_5456-4.png 1
-sketch/dog/n02103406_5456-5.png 1
-sketch/dog/n02103406_5456-6.png 1
-sketch/dog/n02103406_5456-7.png 1
-sketch/dog/n02103406_5456-8.png 1
-sketch/dog/n02103406_5456-9.png 1
-sketch/dog/n02103406_5505-1.png 1
-sketch/dog/n02103406_5505-2.png 1
-sketch/dog/n02103406_5505-3.png 1
-sketch/dog/n02103406_5505-4.png 1
-sketch/dog/n02103406_5505-5.png 1
-sketch/dog/n02103406_5505-6.png 1
-sketch/dog/n02103406_5563-1.png 1
-sketch/dog/n02103406_5563-2.png 1
-sketch/dog/n02103406_5563-3.png 1
-sketch/dog/n02103406_5563-4.png 1
-sketch/dog/n02103406_5563-5.png 1
-sketch/dog/n02103406_5563-6.png 1
-sketch/dog/n02103406_5563-7.png 1
-sketch/dog/n02103406_5601-1.png 1
-sketch/dog/n02103406_5601-2.png 1
-sketch/dog/n02103406_5601-3.png 1
-sketch/dog/n02103406_5601-4.png 1
-sketch/dog/n02103406_5601-5.png 1
-sketch/dog/n02103406_5601-6.png 1
-sketch/dog/n02103406_6274-1.png 1
-sketch/dog/n02103406_6274-2.png 1
-sketch/dog/n02103406_6274-3.png 1
-sketch/dog/n02103406_6274-4.png 1
-sketch/dog/n02103406_6274-5.png 1
-sketch/dog/n02103406_6461-1.png 1
-sketch/dog/n02103406_6461-2.png 1
-sketch/dog/n02103406_6461-3.png 1
-sketch/dog/n02103406_6461-4.png 1
-sketch/dog/n02103406_6461-5.png 1
-sketch/dog/n02103406_6461-6.png 1
-sketch/dog/n02103406_6461-7.png 1
-sketch/dog/n02103406_6530-1.png 1
-sketch/dog/n02103406_6530-2.png 1
-sketch/dog/n02103406_6530-3.png 1
-sketch/dog/n02103406_6530-4.png 1
-sketch/dog/n02103406_6530-5.png 1
-sketch/dog/n02103406_6530-6.png 1
-sketch/dog/n02103406_6530-7.png 1
-sketch/dog/n02103406_6688-1.png 1
-sketch/dog/n02103406_6688-2.png 1
-sketch/dog/n02103406_6688-3.png 1
-sketch/dog/n02103406_6688-4.png 1
-sketch/dog/n02103406_6688-5.png 1
-sketch/dog/n02103406_6688-6.png 1
-sketch/dog/n02103406_6688-7.png 1
-sketch/dog/n02103406_6688-8.png 1
-sketch/dog/n02103406_6688-9.png 1
-sketch/dog/n02103406_6852-1.png 1
-sketch/dog/n02103406_6852-2.png 1
-sketch/dog/n02103406_6852-3.png 1
-sketch/dog/n02103406_6852-4.png 1
-sketch/dog/n02103406_6852-5.png 1
-sketch/dog/n02103406_6852-6.png 1
-sketch/dog/n02103406_6852-7.png 1
-sketch/dog/n02103406_6852-8.png 1
-sketch/dog/n02103406_6852-9.png 1
-sketch/dog/n02103406_6857-1.png 1
-sketch/dog/n02103406_6857-2.png 1
-sketch/dog/n02103406_6857-3.png 1
-sketch/dog/n02103406_6857-4.png 1
-sketch/dog/n02103406_6857-5.png 1
-sketch/dog/n02103406_6857-6.png 1
-sketch/dog/n02103406_6857-7.png 1
-sketch/dog/n02103406_6857-8.png 1
-sketch/dog/n02103406_7201-1.png 1
-sketch/dog/n02103406_7201-2.png 1
-sketch/dog/n02103406_7201-3.png 1
-sketch/dog/n02103406_7201-4.png 1
-sketch/dog/n02103406_7201-5.png 1
-sketch/dog/n02103406_7201-6.png 1
-sketch/dog/n02103406_7368-1.png 1
-sketch/dog/n02103406_7368-2.png 1
-sketch/dog/n02103406_7368-3.png 1
-sketch/dog/n02103406_7368-4.png 1
-sketch/dog/n02103406_7368-5.png 1
-sketch/dog/n02103406_7368-6.png 1
-sketch/dog/n02103406_7368-7.png 1
-sketch/dog/n02103406_7368-8.png 1
-sketch/dog/n02103406_7368-9.png 1
-sketch/dog/n02103406_7368-10.png 1
-sketch/dog/n02103406_7521-1.png 1
-sketch/dog/n02103406_7521-2.png 1
-sketch/dog/n02103406_7521-3.png 1
-sketch/dog/n02103406_7521-4.png 1
-sketch/dog/n02103406_7521-5.png 1
-sketch/dog/n02103406_7521-6.png 1
-sketch/dog/n02103406_7521-7.png 1
-sketch/dog/n02103406_7521-8.png 1
-sketch/dog/n02103406_7708-1.png 1
-sketch/dog/n02103406_7708-2.png 1
-sketch/dog/n02103406_7708-3.png 1
-sketch/dog/n02103406_7708-4.png 1
-sketch/dog/n02103406_7708-5.png 1
-sketch/dog/n02103406_7708-6.png 1
-sketch/dog/n02103406_7708-7.png 1
-sketch/dog/n02103406_7708-8.png 1
-sketch/dog/n02103406_7708-9.png 1
-sketch/dog/n02103406_7708-10.png 1
-sketch/dog/n02103406_8004-1.png 1
-sketch/dog/n02103406_8004-2.png 1
-sketch/dog/n02103406_8004-3.png 1
-sketch/dog/n02103406_8004-4.png 1
-sketch/dog/n02103406_8004-5.png 1
-sketch/dog/n02103406_8004-6.png 1
-sketch/dog/n02103406_8004-7.png 1
-sketch/dog/n02103406_8004-8.png 1
-sketch/dog/n02103406_8004-9.png 1
-sketch/dog/n02103406_8280-1.png 1
-sketch/dog/n02103406_8280-2.png 1
-sketch/dog/n02103406_8280-3.png 1
-sketch/dog/n02103406_8280-4.png 1
-sketch/dog/n02103406_8280-5.png 1
-sketch/dog/n02103406_8280-6.png 1
-sketch/dog/n02103406_8362-1.png 1
-sketch/dog/n02103406_8362-2.png 1
-sketch/dog/n02103406_8362-3.png 1
-sketch/dog/n02103406_8362-4.png 1
-sketch/dog/n02103406_8362-5.png 1
-sketch/dog/n02103406_8362-6.png 1
-sketch/dog/n02103406_8362-7.png 1
-sketch/dog/n02103406_8362-8.png 1
-sketch/dog/n02103406_8362-9.png 1
-sketch/dog/n02103406_8362-10.png 1
-sketch/dog/n02103406_8421-1.png 1
-sketch/dog/n02103406_8421-2.png 1
-sketch/dog/n02103406_8421-3.png 1
-sketch/dog/n02103406_8421-4.png 1
-sketch/dog/n02103406_8421-5.png 1
-sketch/dog/n02103406_8421-6.png 1
-sketch/dog/n02103406_13049-1.png 1
-sketch/dog/n02103406_13049-2.png 1
-sketch/dog/n02103406_13049-3.png 1
-sketch/dog/n02103406_13049-4.png 1
-sketch/dog/n02103406_13049-5.png 1
-sketch/dog/n02103406_13049-6.png 1
-sketch/dog/n02106662_466-1.png 1
-sketch/dog/n02106662_466-2.png 1
-sketch/dog/n02106662_466-3.png 1
-sketch/dog/n02106662_466-4.png 1
-sketch/dog/n02106662_466-5.png 1
-sketch/dog/n02106662_466-6.png 1
-sketch/dog/n02106662_466-7.png 1
-sketch/dog/n02106662_928-1.png 1
-sketch/dog/n02106662_928-2.png 1
-sketch/dog/n02106662_928-3.png 1
-sketch/dog/n02106662_928-4.png 1
-sketch/dog/n02106662_928-5.png 1
-sketch/dog/n02106662_928-6.png 1
-sketch/dog/n02106662_928-7.png 1
-sketch/dog/n02106662_928-8.png 1
-sketch/dog/n02106662_928-9.png 1
-sketch/dog/n02106662_928-10.png 1
-sketch/dog/n02106662_928-11.png 1
-sketch/dog/n02106662_1874-1.png 1
-sketch/dog/n02106662_1874-2.png 1
-sketch/dog/n02106662_1874-3.png 1
-sketch/dog/n02106662_1874-4.png 1
-sketch/dog/n02106662_1874-5.png 1
-sketch/dog/n02106662_1922-1.png 1
-sketch/dog/n02106662_1922-2.png 1
-sketch/dog/n02106662_1922-3.png 1
-sketch/dog/n02106662_1922-4.png 1
-sketch/dog/n02106662_1922-5.png 1
-sketch/dog/n02106662_2101-1.png 1
-sketch/dog/n02106662_2101-2.png 1
-sketch/dog/n02106662_2101-3.png 1
-sketch/dog/n02106662_2101-4.png 1
-sketch/dog/n02106662_2101-5.png 1
-sketch/dog/n02106662_2101-6.png 1
-sketch/dog/n02106662_2101-7.png 1
-sketch/dog/n02106662_2101-8.png 1
-sketch/dog/n02106662_2101-9.png 1
-sketch/dog/n02106662_2157-1.png 1
-sketch/dog/n02106662_2157-2.png 1
-sketch/dog/n02106662_2157-3.png 1
-sketch/dog/n02106662_2157-4.png 1
-sketch/dog/n02106662_2157-5.png 1
-sketch/dog/n02106662_2157-6.png 1
-sketch/dog/n02106662_2377-1.png 1
-sketch/dog/n02106662_2377-2.png 1
-sketch/dog/n02106662_2377-3.png 1
-sketch/dog/n02106662_2377-4.png 1
-sketch/dog/n02106662_2377-5.png 1
-sketch/dog/n02106662_2377-6.png 1
-sketch/dog/n02106662_2740-1.png 1
-sketch/dog/n02106662_2740-2.png 1
-sketch/dog/n02106662_2740-3.png 1
-sketch/dog/n02106662_2740-4.png 1
-sketch/dog/n02106662_2740-5.png 1
-sketch/dog/n02106662_5001-1.png 1
-sketch/dog/n02106662_5001-2.png 1
-sketch/dog/n02106662_5001-3.png 1
-sketch/dog/n02106662_5001-4.png 1
-sketch/dog/n02106662_5001-5.png 1
-sketch/dog/n02106662_5001-6.png 1
-sketch/dog/n02106662_5001-7.png 1
-sketch/dog/n02106662_7885-1.png 1
-sketch/dog/n02106662_7885-2.png 1
-sketch/dog/n02106662_7885-3.png 1
-sketch/dog/n02106662_7885-4.png 1
-sketch/dog/n02106662_7885-5.png 1
-sketch/dog/n02106662_7960-1.png 1
-sketch/dog/n02106662_7960-2.png 1
-sketch/dog/n02106662_7960-3.png 1
-sketch/dog/n02106662_7960-4.png 1
-sketch/dog/n02106662_7960-5.png 1
-sketch/dog/n02106662_7960-6.png 1
-sketch/dog/n02106662_8511-1.png 1
-sketch/dog/n02106662_8511-2.png 1
-sketch/dog/n02106662_8511-3.png 1
-sketch/dog/n02106662_8511-4.png 1
-sketch/dog/n02106662_8511-5.png 1
-sketch/dog/n02106662_8511-6.png 1
-sketch/dog/n02106662_8870-1.png 1
-sketch/dog/n02106662_8870-2.png 1
-sketch/dog/n02106662_8870-3.png 1
-sketch/dog/n02106662_8870-4.png 1
-sketch/dog/n02106662_8870-5.png 1
-sketch/dog/n02106662_8870-6.png 1
-sketch/dog/n02106662_8870-7.png 1
-sketch/dog/n02106662_10406-1.png 1
-sketch/dog/n02106662_10406-2.png 1
-sketch/dog/n02106662_10406-3.png 1
-sketch/dog/n02106662_10406-4.png 1
-sketch/dog/n02106662_10406-5.png 1
-sketch/dog/n02106662_10406-6.png 1
-sketch/dog/n02106662_11133-1.png 1
-sketch/dog/n02106662_11133-2.png 1
-sketch/dog/n02106662_11133-3.png 1
-sketch/dog/n02106662_11133-4.png 1
-sketch/dog/n02106662_11133-5.png 1
-sketch/dog/n02106662_13178-1.png 1
-sketch/dog/n02106662_13178-2.png 1
-sketch/dog/n02106662_13178-3.png 1
-sketch/dog/n02106662_13178-4.png 1
-sketch/dog/n02106662_13178-5.png 1
-sketch/dog/n02106662_13912-1.png 1
-sketch/dog/n02106662_13912-2.png 1
-sketch/dog/n02106662_13912-3.png 1
-sketch/dog/n02106662_13912-4.png 1
-sketch/dog/n02106662_13912-5.png 1
-sketch/dog/n02106662_15858-1.png 1
-sketch/dog/n02106662_15858-2.png 1
-sketch/dog/n02106662_15858-3.png 1
-sketch/dog/n02106662_15858-4.png 1
-sketch/dog/n02106662_15858-5.png 1
-sketch/dog/n02106662_15858-6.png 1
-sketch/dog/n02106662_18402-1.png 1
-sketch/dog/n02106662_18402-2.png 1
-sketch/dog/n02106662_18402-3.png 1
-sketch/dog/n02106662_18402-4.png 1
-sketch/dog/n02106662_18402-5.png 1
-sketch/dog/n02106662_18405-1.png 1
-sketch/dog/n02106662_18405-2.png 1
-sketch/dog/n02106662_18405-3.png 1
-sketch/dog/n02106662_18405-4.png 1
-sketch/dog/n02106662_18405-5.png 1
-sketch/dog/n02106662_18922-1.png 1
-sketch/dog/n02106662_18922-2.png 1
-sketch/dog/n02106662_18922-3.png 1
-sketch/dog/n02106662_18922-4.png 1
-sketch/dog/n02106662_18922-5.png 1
-sketch/dog/n02106662_18922-6.png 1
-sketch/dog/n02106662_18922-7.png 1
-sketch/dog/n02106662_18922-8.png 1
-sketch/dog/n02106662_18922-9.png 1
-sketch/dog/n02106662_18922-10.png 1
-sketch/dog/n02106662_18922-11.png 1
-sketch/dog/n02106662_18953-1.png 1
-sketch/dog/n02106662_18953-2.png 1
-sketch/dog/n02106662_18953-3.png 1
-sketch/dog/n02106662_18953-4.png 1
-sketch/dog/n02106662_18953-5.png 1
-sketch/dog/n02106662_18953-6.png 1
-sketch/dog/n02106662_18953-7.png 1
-sketch/dog/n02106662_24019-1.png 1
-sketch/dog/n02106662_24019-2.png 1
-sketch/dog/n02106662_24019-3.png 1
-sketch/dog/n02106662_24019-4.png 1
-sketch/dog/n02106662_24019-5.png 1
-sketch/dog/n02106662_24019-6.png 1
-sketch/dog/n02106662_24019-7.png 1
-sketch/dog/n02106662_24019-8.png 1
-sketch/dog/n02106662_24577-1.png 1
-sketch/dog/n02106662_24577-2.png 1
-sketch/dog/n02106662_24577-3.png 1
-sketch/dog/n02106662_24577-4.png 1
-sketch/dog/n02106662_24577-5.png 1
-sketch/dog/n02106662_24786-1.png 1
-sketch/dog/n02106662_24786-2.png 1
-sketch/dog/n02106662_24786-3.png 1
-sketch/dog/n02106662_24786-4.png 1
-sketch/dog/n02106662_24786-5.png 1
-sketch/dog/n02106662_24786-6.png 1
-sketch/dog/n02106662_24786-7.png 1
-sketch/dog/n02106662_25917-1.png 1
-sketch/dog/n02106662_25917-2.png 1
-sketch/dog/n02106662_25917-3.png 1
-sketch/dog/n02106662_25917-4.png 1
-sketch/dog/n02106662_25917-5.png 1
-sketch/dog/n02106662_25917-6.png 1
-sketch/dog/n02106662_25917-7.png 1
-sketch/dog/n02106662_26549-1.png 1
-sketch/dog/n02106662_26549-2.png 1
-sketch/dog/n02106662_26549-3.png 1
-sketch/dog/n02106662_26549-4.png 1
-sketch/dog/n02106662_26549-5.png 1
-sketch/dog/n02106662_26549-6.png 1
-sketch/dog/n02106662_27393-1.png 1
-sketch/dog/n02106662_27393-2.png 1
-sketch/dog/n02106662_27393-3.png 1
-sketch/dog/n02106662_27393-4.png 1
-sketch/dog/n02106662_27393-5.png 1
-sketch/dog/n02109525_704-1.png 1
-sketch/dog/n02109525_704-2.png 1
-sketch/dog/n02109525_704-3.png 1
-sketch/dog/n02109525_704-4.png 1
-sketch/dog/n02109525_704-5.png 1
-sketch/dog/n02109525_704-6.png 1
-sketch/dog/n02109525_1893-1.png 1
-sketch/dog/n02109525_1893-2.png 1
-sketch/dog/n02109525_1893-3.png 1
-sketch/dog/n02109525_1893-4.png 1
-sketch/dog/n02109525_1893-5.png 1
-sketch/dog/n02109525_1893-6.png 1
-sketch/dog/n02109525_1893-7.png 1
-sketch/dog/n02109525_3202-1.png 1
-sketch/dog/n02109525_3202-2.png 1
-sketch/dog/n02109525_3202-3.png 1
-sketch/dog/n02109525_3202-4.png 1
-sketch/dog/n02109525_3202-5.png 1
-sketch/dog/n02109525_3202-6.png 1
-sketch/dog/n02109525_3782-1.png 1
-sketch/dog/n02109525_3782-2.png 1
-sketch/dog/n02109525_3782-3.png 1
-sketch/dog/n02109525_3782-4.png 1
-sketch/dog/n02109525_3782-5.png 1
-sketch/dog/n02109525_3782-6.png 1
-sketch/dog/n02109525_3782-7.png 1
-sketch/dog/n02109525_3782-8.png 1
-sketch/dog/n02109525_3782-9.png 1
-sketch/dog/n02109525_3782-10.png 1
-sketch/dog/n02109525_5013-1.png 1
-sketch/dog/n02109525_5013-2.png 1
-sketch/dog/n02109525_5013-3.png 1
-sketch/dog/n02109525_5013-4.png 1
-sketch/dog/n02109525_5013-5.png 1
-sketch/dog/n02109525_5013-6.png 1
-sketch/dog/n02109525_5583-1.png 1
-sketch/dog/n02109525_5583-2.png 1
-sketch/dog/n02109525_5583-3.png 1
-sketch/dog/n02109525_5583-4.png 1
-sketch/dog/n02109525_5583-5.png 1
-sketch/dog/n02109525_5583-6.png 1
-sketch/dog/n02109525_5583-7.png 1
-sketch/dog/n02109525_5966-1.png 1
-sketch/dog/n02109525_5966-2.png 1
-sketch/dog/n02109525_5966-3.png 1
-sketch/dog/n02109525_5966-4.png 1
-sketch/dog/n02109525_5966-5.png 1
-sketch/dog/n02109525_6693-1.png 1
-sketch/dog/n02109525_6693-2.png 1
-sketch/dog/n02109525_6693-3.png 1
-sketch/dog/n02109525_6693-4.png 1
-sketch/dog/n02109525_6693-5.png 1
-sketch/dog/n02109525_7874-1.png 1
-sketch/dog/n02109525_7874-2.png 1
-sketch/dog/n02109525_7874-3.png 1
-sketch/dog/n02109525_7874-4.png 1
-sketch/dog/n02109525_7874-5.png 1
-sketch/dog/n02109525_7874-6.png 1
-sketch/dog/n02109525_8211-1.png 1
-sketch/dog/n02109525_8211-2.png 1
-sketch/dog/n02109525_8211-3.png 1
-sketch/dog/n02109525_8211-4.png 1
-sketch/dog/n02109525_8211-5.png 1
-sketch/dog/n02109525_8457-1.png 1
-sketch/dog/n02109525_8457-2.png 1
-sketch/dog/n02109525_8457-3.png 1
-sketch/dog/n02109525_8457-4.png 1
-sketch/dog/n02109525_8457-5.png 1
-sketch/dog/n02109525_9037-1.png 1
-sketch/dog/n02109525_9037-2.png 1
-sketch/dog/n02109525_9037-3.png 1
-sketch/dog/n02109525_9037-4.png 1
-sketch/dog/n02109525_9037-5.png 1
-sketch/dog/n02109525_9037-6.png 1
-sketch/dog/n02109525_9037-7.png 1
-sketch/dog/n02109525_10297-1.png 1
-sketch/dog/n02109525_10297-2.png 1
-sketch/dog/n02109525_10297-3.png 1
-sketch/dog/n02109525_10297-4.png 1
-sketch/dog/n02109525_10297-5.png 1
-sketch/dog/n02109525_11444-1.png 1
-sketch/dog/n02109525_11444-2.png 1
-sketch/dog/n02109525_11444-3.png 1
-sketch/dog/n02109525_11444-4.png 1
-sketch/dog/n02109525_11444-5.png 1
-sketch/dog/n02109525_12875-1.png 1
-sketch/dog/n02109525_12875-2.png 1
-sketch/dog/n02109525_12875-3.png 1
-sketch/dog/n02109525_12875-4.png 1
-sketch/dog/n02109525_12875-5.png 1
-sketch/dog/n02109525_12875-6.png 1
-sketch/dog/n02109525_13700-1.png 1
-sketch/dog/n02109525_13700-2.png 1
-sketch/dog/n02109525_13700-3.png 1
-sketch/dog/n02109525_13700-4.png 1
-sketch/dog/n02109525_13700-5.png 1
-sketch/dog/n02109525_16346-1.png 1
-sketch/dog/n02109525_16346-2.png 1
-sketch/dog/n02109525_16346-3.png 1
-sketch/dog/n02109525_16346-4.png 1
-sketch/dog/n02109525_16346-5.png 1
-sketch/dog/n02109525_16346-6.png 1
-sketch/dog/n02109525_16346-7.png 1
-sketch/dog/n02109525_16346-8.png 1
-sketch/dog/n02109525_18347-1.png 1
-sketch/dog/n02109525_18347-2.png 1
-sketch/dog/n02109525_18347-3.png 1
-sketch/dog/n02109525_18347-4.png 1
-sketch/dog/n02109525_18347-5.png 1
-sketch/dog/n02109525_18347-6.png 1
-sketch/dog/n02109525_18347-7.png 1
-sketch/dog/5281.png 1
-sketch/dog/5282.png 1
-sketch/dog/5283.png 1
-sketch/dog/5284.png 1
-sketch/dog/5285.png 1
-sketch/dog/5286.png 1
-sketch/dog/5287.png 1
-sketch/dog/5288.png 1
-sketch/dog/5289.png 1
-sketch/dog/5290.png 1
-sketch/dog/5291.png 1
-sketch/dog/5292.png 1
-sketch/dog/5293.png 1
-sketch/dog/5294.png 1
-sketch/dog/5295.png 1
-sketch/dog/5296.png 1
-sketch/dog/5297.png 1
-sketch/dog/5298.png 1
-sketch/dog/5299.png 1
-sketch/dog/5300.png 1
-sketch/dog/5301.png 1
-sketch/dog/5302.png 1
-sketch/dog/5303.png 1
-sketch/dog/5304.png 1
-sketch/dog/5305.png 1
-sketch/dog/5306.png 1
-sketch/dog/5307.png 1
-sketch/dog/5308.png 1
-sketch/dog/5309.png 1
-sketch/dog/5310.png 1
-sketch/dog/5311.png 1
-sketch/dog/5312.png 1
-sketch/dog/5313.png 1
-sketch/dog/5314.png 1
-sketch/dog/5315.png 1
-sketch/dog/5316.png 1
-sketch/dog/5317.png 1
-sketch/dog/5318.png 1
-sketch/dog/5319.png 1
-sketch/dog/5320.png 1
-sketch/dog/5321.png 1
-sketch/dog/5322.png 1
-sketch/dog/5323.png 1
-sketch/dog/5324.png 1
-sketch/dog/5325.png 1
-sketch/dog/5326.png 1
-sketch/dog/5327.png 1
-sketch/dog/5328.png 1
-sketch/dog/5329.png 1
-sketch/dog/5330.png 1
-sketch/dog/5331.png 1
-sketch/dog/5332.png 1
-sketch/dog/5333.png 1
-sketch/dog/5334.png 1
-sketch/dog/5335.png 1
-sketch/dog/5336.png 1
-sketch/dog/5337.png 1
-sketch/dog/5338.png 1
-sketch/dog/5339.png 1
-sketch/dog/5340.png 1
-sketch/dog/5341.png 1
-sketch/dog/5342.png 1
-sketch/dog/5343.png 1
-sketch/dog/5344.png 1
-sketch/dog/5345.png 1
-sketch/dog/5346.png 1
-sketch/dog/5347.png 1
-sketch/dog/5348.png 1
-sketch/dog/5349.png 1
-sketch/dog/5350.png 1
-sketch/dog/5351.png 1
-sketch/dog/5352.png 1
-sketch/dog/5353.png 1
-sketch/dog/5354.png 1
-sketch/dog/5355.png 1
-sketch/dog/5356.png 1
-sketch/dog/5357.png 1
-sketch/dog/5358.png 1
-sketch/dog/5359.png 1
-sketch/dog/5360.png 1
-sketch/elephant/n02503517_1415-1.png 2
-sketch/elephant/n02503517_1415-2.png 2
-sketch/elephant/n02503517_1415-3.png 2
-sketch/elephant/n02503517_1415-4.png 2
-sketch/elephant/n02503517_1415-5.png 2
-sketch/elephant/n02503517_1453-1.png 2
-sketch/elephant/n02503517_1453-2.png 2
-sketch/elephant/n02503517_1453-3.png 2
-sketch/elephant/n02503517_1453-4.png 2
-sketch/elephant/n02503517_1453-5.png 2
-sketch/elephant/n02503517_1453-6.png 2
-sketch/elephant/n02503517_1583-1.png 2
-sketch/elephant/n02503517_1583-2.png 2
-sketch/elephant/n02503517_1583-3.png 2
-sketch/elephant/n02503517_1583-4.png 2
-sketch/elephant/n02503517_1583-5.png 2
-sketch/elephant/n02503517_1583-6.png 2
-sketch/elephant/n02503517_1829-1.png 2
-sketch/elephant/n02503517_1829-2.png 2
-sketch/elephant/n02503517_1829-3.png 2
-sketch/elephant/n02503517_1829-4.png 2
-sketch/elephant/n02503517_1829-5.png 2
-sketch/elephant/n02503517_1852-1.png 2
-sketch/elephant/n02503517_1852-2.png 2
-sketch/elephant/n02503517_1852-3.png 2
-sketch/elephant/n02503517_1852-4.png 2
-sketch/elephant/n02503517_1852-5.png 2
-sketch/elephant/n02503517_1963-1.png 2
-sketch/elephant/n02503517_1963-2.png 2
-sketch/elephant/n02503517_1963-3.png 2
-sketch/elephant/n02503517_1963-4.png 2
-sketch/elephant/n02503517_1963-5.png 2
-sketch/elephant/n02503517_1984-1.png 2
-sketch/elephant/n02503517_1984-2.png 2
-sketch/elephant/n02503517_1984-3.png 2
-sketch/elephant/n02503517_1984-4.png 2
-sketch/elephant/n02503517_1984-5.png 2
-sketch/elephant/n02503517_2061-1.png 2
-sketch/elephant/n02503517_2061-2.png 2
-sketch/elephant/n02503517_2061-3.png 2
-sketch/elephant/n02503517_2061-4.png 2
-sketch/elephant/n02503517_2061-5.png 2
-sketch/elephant/n02503517_2444-1.png 2
-sketch/elephant/n02503517_2444-2.png 2
-sketch/elephant/n02503517_2444-3.png 2
-sketch/elephant/n02503517_2444-4.png 2
-sketch/elephant/n02503517_2444-5.png 2
-sketch/elephant/n02503517_2547-1.png 2
-sketch/elephant/n02503517_2547-2.png 2
-sketch/elephant/n02503517_2547-3.png 2
-sketch/elephant/n02503517_2547-4.png 2
-sketch/elephant/n02503517_2547-5.png 2
-sketch/elephant/n02503517_2547-6.png 2
-sketch/elephant/n02503517_2547-7.png 2
-sketch/elephant/n02503517_2547-8.png 2
-sketch/elephant/n02503517_2547-9.png 2
-sketch/elephant/n02503517_2547-10.png 2
-sketch/elephant/n02503517_2802-1.png 2
-sketch/elephant/n02503517_2802-2.png 2
-sketch/elephant/n02503517_2802-3.png 2
-sketch/elephant/n02503517_2802-4.png 2
-sketch/elephant/n02503517_2802-5.png 2
-sketch/elephant/n02503517_2802-6.png 2
-sketch/elephant/n02503517_2804-1.png 2
-sketch/elephant/n02503517_2804-2.png 2
-sketch/elephant/n02503517_2804-3.png 2
-sketch/elephant/n02503517_2804-4.png 2
-sketch/elephant/n02503517_2804-5.png 2
-sketch/elephant/n02503517_2925-1.png 2
-sketch/elephant/n02503517_2925-2.png 2
-sketch/elephant/n02503517_2925-3.png 2
-sketch/elephant/n02503517_2925-4.png 2
-sketch/elephant/n02503517_2925-5.png 2
-sketch/elephant/n02503517_2925-6.png 2
-sketch/elephant/n02503517_2925-7.png 2
-sketch/elephant/n02503517_2925-8.png 2
-sketch/elephant/n02503517_2925-9.png 2
-sketch/elephant/n02503517_2925-10.png 2
-sketch/elephant/n02503517_2993-1.png 2
-sketch/elephant/n02503517_2993-2.png 2
-sketch/elephant/n02503517_2993-3.png 2
-sketch/elephant/n02503517_2993-4.png 2
-sketch/elephant/n02503517_2993-5.png 2
-sketch/elephant/n02503517_2993-6.png 2
-sketch/elephant/n02503517_2993-7.png 2
-sketch/elephant/n02503517_2993-8.png 2
-sketch/elephant/n02503517_2993-9.png 2
-sketch/elephant/n02503517_2993-10.png 2
-sketch/elephant/n02503517_3037-1.png 2
-sketch/elephant/n02503517_3037-2.png 2
-sketch/elephant/n02503517_3037-3.png 2
-sketch/elephant/n02503517_3037-4.png 2
-sketch/elephant/n02503517_3037-5.png 2
-sketch/elephant/n02503517_3037-6.png 2
-sketch/elephant/n02503517_3037-7.png 2
-sketch/elephant/n02503517_3037-8.png 2
-sketch/elephant/n02503517_3072-1.png 2
-sketch/elephant/n02503517_3072-2.png 2
-sketch/elephant/n02503517_3072-3.png 2
-sketch/elephant/n02503517_3072-4.png 2
-sketch/elephant/n02503517_3072-5.png 2
-sketch/elephant/n02503517_3072-6.png 2
-sketch/elephant/n02503517_3108-1.png 2
-sketch/elephant/n02503517_3108-2.png 2
-sketch/elephant/n02503517_3108-3.png 2
-sketch/elephant/n02503517_3108-4.png 2
-sketch/elephant/n02503517_3108-5.png 2
-sketch/elephant/n02503517_3108-6.png 2
-sketch/elephant/n02503517_3108-7.png 2
-sketch/elephant/n02503517_3108-8.png 2
-sketch/elephant/n02503517_3108-9.png 2
-sketch/elephant/n02503517_3799-1.png 2
-sketch/elephant/n02503517_3799-2.png 2
-sketch/elephant/n02503517_3799-3.png 2
-sketch/elephant/n02503517_3799-4.png 2
-sketch/elephant/n02503517_3799-5.png 2
-sketch/elephant/n02503517_3803-1.png 2
-sketch/elephant/n02503517_3803-2.png 2
-sketch/elephant/n02503517_3803-3.png 2
-sketch/elephant/n02503517_3803-4.png 2
-sketch/elephant/n02503517_3803-5.png 2
-sketch/elephant/n02503517_3803-6.png 2
-sketch/elephant/n02503517_3808-1.png 2
-sketch/elephant/n02503517_3808-2.png 2
-sketch/elephant/n02503517_3808-3.png 2
-sketch/elephant/n02503517_3808-4.png 2
-sketch/elephant/n02503517_3808-5.png 2
-sketch/elephant/n02503517_3808-6.png 2
-sketch/elephant/n02503517_3808-7.png 2
-sketch/elephant/n02503517_3808-8.png 2
-sketch/elephant/n02503517_3808-9.png 2
-sketch/elephant/n02503517_3808-10.png 2
-sketch/elephant/n02503517_3879-1.png 2
-sketch/elephant/n02503517_3879-2.png 2
-sketch/elephant/n02503517_3879-3.png 2
-sketch/elephant/n02503517_3879-4.png 2
-sketch/elephant/n02503517_3879-5.png 2
-sketch/elephant/n02503517_3879-6.png 2
-sketch/elephant/n02503517_3879-7.png 2
-sketch/elephant/n02503517_4221-1.png 2
-sketch/elephant/n02503517_4221-2.png 2
-sketch/elephant/n02503517_4221-3.png 2
-sketch/elephant/n02503517_4221-4.png 2
-sketch/elephant/n02503517_4221-5.png 2
-sketch/elephant/n02503517_4221-6.png 2
-sketch/elephant/n02503517_4221-7.png 2
-sketch/elephant/n02503517_4247-1.png 2
-sketch/elephant/n02503517_4247-2.png 2
-sketch/elephant/n02503517_4247-3.png 2
-sketch/elephant/n02503517_4247-4.png 2
-sketch/elephant/n02503517_4247-5.png 2
-sketch/elephant/n02503517_4247-6.png 2
-sketch/elephant/n02503517_4247-7.png 2
-sketch/elephant/n02503517_4247-8.png 2
-sketch/elephant/n02503517_4247-9.png 2
-sketch/elephant/n02503517_4247-10.png 2
-sketch/elephant/n02503517_4253-1.png 2
-sketch/elephant/n02503517_4253-2.png 2
-sketch/elephant/n02503517_4253-3.png 2
-sketch/elephant/n02503517_4253-4.png 2
-sketch/elephant/n02503517_4253-5.png 2
-sketch/elephant/n02503517_4413-1.png 2
-sketch/elephant/n02503517_4413-2.png 2
-sketch/elephant/n02503517_4413-3.png 2
-sketch/elephant/n02503517_4413-4.png 2
-sketch/elephant/n02503517_4413-5.png 2
-sketch/elephant/n02503517_4413-6.png 2
-sketch/elephant/n02503517_4413-7.png 2
-sketch/elephant/n02503517_4413-8.png 2
-sketch/elephant/n02503517_4413-9.png 2
-sketch/elephant/n02503517_4413-10.png 2
-sketch/elephant/n02503517_4605-1.png 2
-sketch/elephant/n02503517_4605-2.png 2
-sketch/elephant/n02503517_4605-3.png 2
-sketch/elephant/n02503517_4605-4.png 2
-sketch/elephant/n02503517_4605-5.png 2
-sketch/elephant/n02503517_4687-1.png 2
-sketch/elephant/n02503517_4687-2.png 2
-sketch/elephant/n02503517_4687-3.png 2
-sketch/elephant/n02503517_4687-4.png 2
-sketch/elephant/n02503517_4687-5.png 2
-sketch/elephant/n02503517_4687-6.png 2
-sketch/elephant/n02503517_5117-1.png 2
-sketch/elephant/n02503517_5117-2.png 2
-sketch/elephant/n02503517_5117-3.png 2
-sketch/elephant/n02503517_5117-4.png 2
-sketch/elephant/n02503517_5117-5.png 2
-sketch/elephant/n02503517_5117-6.png 2
-sketch/elephant/n02503517_5267-1.png 2
-sketch/elephant/n02503517_5267-2.png 2
-sketch/elephant/n02503517_5267-3.png 2
-sketch/elephant/n02503517_5267-4.png 2
-sketch/elephant/n02503517_5267-5.png 2
-sketch/elephant/n02503517_5267-6.png 2
-sketch/elephant/n02503517_5267-7.png 2
-sketch/elephant/n02503517_5287-1.png 2
-sketch/elephant/n02503517_5287-2.png 2
-sketch/elephant/n02503517_5287-3.png 2
-sketch/elephant/n02503517_5287-4.png 2
-sketch/elephant/n02503517_5287-5.png 2
-sketch/elephant/n02503517_5418-1.png 2
-sketch/elephant/n02503517_5418-2.png 2
-sketch/elephant/n02503517_5418-3.png 2
-sketch/elephant/n02503517_5418-4.png 2
-sketch/elephant/n02503517_5418-5.png 2
-sketch/elephant/n02503517_5418-6.png 2
-sketch/elephant/n02503517_5418-7.png 2
-sketch/elephant/n02503517_5418-8.png 2
-sketch/elephant/n02503517_5418-9.png 2
-sketch/elephant/n02503517_5418-10.png 2
-sketch/elephant/n02503517_5420-1.png 2
-sketch/elephant/n02503517_5420-2.png 2
-sketch/elephant/n02503517_5420-3.png 2
-sketch/elephant/n02503517_5420-4.png 2
-sketch/elephant/n02503517_5420-5.png 2
-sketch/elephant/n02503517_5420-6.png 2
-sketch/elephant/n02503517_5420-7.png 2
-sketch/elephant/n02503517_5527-1.png 2
-sketch/elephant/n02503517_5527-2.png 2
-sketch/elephant/n02503517_5527-3.png 2
-sketch/elephant/n02503517_5527-4.png 2
-sketch/elephant/n02503517_5527-5.png 2
-sketch/elephant/n02503517_5527-6.png 2
-sketch/elephant/n02503517_5892-1.png 2
-sketch/elephant/n02503517_5892-2.png 2
-sketch/elephant/n02503517_5892-3.png 2
-sketch/elephant/n02503517_5892-4.png 2
-sketch/elephant/n02503517_5892-5.png 2
-sketch/elephant/n02503517_5892-6.png 2
-sketch/elephant/n02503517_5892-7.png 2
-sketch/elephant/n02503517_5905-2.png 2
-sketch/elephant/n02503517_5905-3.png 2
-sketch/elephant/n02503517_5905-4.png 2
-sketch/elephant/n02503517_5905-5.png 2
-sketch/elephant/n02503517_5905-6.png 2
-sketch/elephant/n02503517_5905-7.png 2
-sketch/elephant/n02503517_5905-8.png 2
-sketch/elephant/n02503517_5905-9.png 2
-sketch/elephant/n02503517_5905-10.png 2
-sketch/elephant/n02503517_5905-11.png 2
-sketch/elephant/n02503517_5909-1.png 2
-sketch/elephant/n02503517_5909-2.png 2
-sketch/elephant/n02503517_5909-3.png 2
-sketch/elephant/n02503517_5909-4.png 2
-sketch/elephant/n02503517_5909-5.png 2
-sketch/elephant/n02503517_6032-1.png 2
-sketch/elephant/n02503517_6032-2.png 2
-sketch/elephant/n02503517_6032-3.png 2
-sketch/elephant/n02503517_6032-4.png 2
-sketch/elephant/n02503517_6032-5.png 2
-sketch/elephant/n02503517_6032-6.png 2
-sketch/elephant/n02503517_6043-1.png 2
-sketch/elephant/n02503517_6043-2.png 2
-sketch/elephant/n02503517_6043-3.png 2
-sketch/elephant/n02503517_6043-4.png 2
-sketch/elephant/n02503517_6043-5.png 2
-sketch/elephant/n02503517_6043-6.png 2
-sketch/elephant/n02503517_6232-1.png 2
-sketch/elephant/n02503517_6232-2.png 2
-sketch/elephant/n02503517_6232-3.png 2
-sketch/elephant/n02503517_6232-4.png 2
-sketch/elephant/n02503517_6232-5.png 2
-sketch/elephant/n02503517_6232-6.png 2
-sketch/elephant/n02503517_6232-7.png 2
-sketch/elephant/n02503517_6396-1.png 2
-sketch/elephant/n02503517_6396-2.png 2
-sketch/elephant/n02503517_6396-3.png 2
-sketch/elephant/n02503517_6396-4.png 2
-sketch/elephant/n02503517_6396-5.png 2
-sketch/elephant/n02503517_6429-1.png 2
-sketch/elephant/n02503517_6429-2.png 2
-sketch/elephant/n02503517_6429-3.png 2
-sketch/elephant/n02503517_6429-4.png 2
-sketch/elephant/n02503517_6429-5.png 2
-sketch/elephant/n02503517_6479-1.png 2
-sketch/elephant/n02503517_6479-2.png 2
-sketch/elephant/n02503517_6479-3.png 2
-sketch/elephant/n02503517_6479-4.png 2
-sketch/elephant/n02503517_6479-5.png 2
-sketch/elephant/n02503517_6479-6.png 2
-sketch/elephant/n02503517_6479-7.png 2
-sketch/elephant/n02503517_6479-8.png 2
-sketch/elephant/n02503517_6511-1.png 2
-sketch/elephant/n02503517_6511-2.png 2
-sketch/elephant/n02503517_6511-3.png 2
-sketch/elephant/n02503517_6511-4.png 2
-sketch/elephant/n02503517_6511-5.png 2
-sketch/elephant/n02503517_6611-1.png 2
-sketch/elephant/n02503517_6611-2.png 2
-sketch/elephant/n02503517_6611-3.png 2
-sketch/elephant/n02503517_6611-4.png 2
-sketch/elephant/n02503517_6611-5.png 2
-sketch/elephant/n02503517_6611-6.png 2
-sketch/elephant/n02503517_6611-7.png 2
-sketch/elephant/n02503517_6611-8.png 2
-sketch/elephant/n02503517_6611-9.png 2
-sketch/elephant/n02503517_6611-10.png 2
-sketch/elephant/n02503517_6613-1.png 2
-sketch/elephant/n02503517_6613-2.png 2
-sketch/elephant/n02503517_6613-3.png 2
-sketch/elephant/n02503517_6613-4.png 2
-sketch/elephant/n02503517_6613-5.png 2
-sketch/elephant/n02503517_6624-1.png 2
-sketch/elephant/n02503517_6624-2.png 2
-sketch/elephant/n02503517_6624-3.png 2
-sketch/elephant/n02503517_6624-4.png 2
-sketch/elephant/n02503517_6624-5.png 2
-sketch/elephant/n02503517_6624-6.png 2
-sketch/elephant/n02503517_6661-1.png 2
-sketch/elephant/n02503517_6661-2.png 2
-sketch/elephant/n02503517_6661-3.png 2
-sketch/elephant/n02503517_6661-4.png 2
-sketch/elephant/n02503517_6661-5.png 2
-sketch/elephant/n02503517_6784-1.png 2
-sketch/elephant/n02503517_6784-2.png 2
-sketch/elephant/n02503517_6784-3.png 2
-sketch/elephant/n02503517_6784-4.png 2
-sketch/elephant/n02503517_6784-5.png 2
-sketch/elephant/n02503517_6880-1.png 2
-sketch/elephant/n02503517_6880-2.png 2
-sketch/elephant/n02503517_6880-3.png 2
-sketch/elephant/n02503517_6880-4.png 2
-sketch/elephant/n02503517_6880-5.png 2
-sketch/elephant/n02503517_6937-1.png 2
-sketch/elephant/n02503517_6937-2.png 2
-sketch/elephant/n02503517_6937-3.png 2
-sketch/elephant/n02503517_6937-4.png 2
-sketch/elephant/n02503517_6937-5.png 2
-sketch/elephant/n02503517_6937-6.png 2
-sketch/elephant/n02503517_7020-1.png 2
-sketch/elephant/n02503517_7020-2.png 2
-sketch/elephant/n02503517_7020-3.png 2
-sketch/elephant/n02503517_7020-4.png 2
-sketch/elephant/n02503517_7020-5.png 2
-sketch/elephant/n02503517_7020-6.png 2
-sketch/elephant/n02503517_7031-1.png 2
-sketch/elephant/n02503517_7031-2.png 2
-sketch/elephant/n02503517_7031-3.png 2
-sketch/elephant/n02503517_7031-4.png 2
-sketch/elephant/n02503517_7031-5.png 2
-sketch/elephant/n02503517_7031-6.png 2
-sketch/elephant/n02503517_7031-7.png 2
-sketch/elephant/n02503517_7031-8.png 2
-sketch/elephant/n02503517_7031-9.png 2
-sketch/elephant/n02503517_7031-10.png 2
-sketch/elephant/n02503517_7083-1.png 2
-sketch/elephant/n02503517_7083-2.png 2
-sketch/elephant/n02503517_7083-3.png 2
-sketch/elephant/n02503517_7083-4.png 2
-sketch/elephant/n02503517_7083-5.png 2
-sketch/elephant/n02503517_7173-1.png 2
-sketch/elephant/n02503517_7173-2.png 2
-sketch/elephant/n02503517_7173-3.png 2
-sketch/elephant/n02503517_7173-4.png 2
-sketch/elephant/n02503517_7173-5.png 2
-sketch/elephant/n02503517_7211-1.png 2
-sketch/elephant/n02503517_7211-2.png 2
-sketch/elephant/n02503517_7211-3.png 2
-sketch/elephant/n02503517_7211-4.png 2
-sketch/elephant/n02503517_7211-5.png 2
-sketch/elephant/n02503517_7393-1.png 2
-sketch/elephant/n02503517_7393-2.png 2
-sketch/elephant/n02503517_7393-3.png 2
-sketch/elephant/n02503517_7393-4.png 2
-sketch/elephant/n02503517_7393-5.png 2
-sketch/elephant/n02503517_7393-6.png 2
-sketch/elephant/n02503517_7393-7.png 2
-sketch/elephant/n02503517_7592-1.png 2
-sketch/elephant/n02503517_7592-2.png 2
-sketch/elephant/n02503517_7592-3.png 2
-sketch/elephant/n02503517_7592-4.png 2
-sketch/elephant/n02503517_7592-5.png 2
-sketch/elephant/n02503517_7592-6.png 2
-sketch/elephant/n02503517_7592-7.png 2
-sketch/elephant/n02503517_7592-8.png 2
-sketch/elephant/n02503517_8137-1.png 2
-sketch/elephant/n02503517_8137-2.png 2
-sketch/elephant/n02503517_8137-3.png 2
-sketch/elephant/n02503517_8137-4.png 2
-sketch/elephant/n02503517_8137-5.png 2
-sketch/elephant/n02503517_8205-1.png 2
-sketch/elephant/n02503517_8205-2.png 2
-sketch/elephant/n02503517_8205-3.png 2
-sketch/elephant/n02503517_8205-4.png 2
-sketch/elephant/n02503517_8205-5.png 2
-sketch/elephant/n02503517_8222-1.png 2
-sketch/elephant/n02503517_8222-2.png 2
-sketch/elephant/n02503517_8222-3.png 2
-sketch/elephant/n02503517_8222-4.png 2
-sketch/elephant/n02503517_8222-5.png 2
-sketch/elephant/n02503517_8265-1.png 2
-sketch/elephant/n02503517_8265-2.png 2
-sketch/elephant/n02503517_8265-3.png 2
-sketch/elephant/n02503517_8265-4.png 2
-sketch/elephant/n02503517_8265-5.png 2
-sketch/elephant/n02503517_8292-1.png 2
-sketch/elephant/n02503517_8292-2.png 2
-sketch/elephant/n02503517_8292-3.png 2
-sketch/elephant/n02503517_8292-4.png 2
-sketch/elephant/n02503517_8292-5.png 2
-sketch/elephant/n02503517_8292-6.png 2
-sketch/elephant/n02503517_8518-1.png 2
-sketch/elephant/n02503517_8518-2.png 2
-sketch/elephant/n02503517_8518-3.png 2
-sketch/elephant/n02503517_8518-4.png 2
-sketch/elephant/n02503517_8518-5.png 2
-sketch/elephant/n02503517_8518-6.png 2
-sketch/elephant/n02503517_8571-1.png 2
-sketch/elephant/n02503517_8571-2.png 2
-sketch/elephant/n02503517_8571-3.png 2
-sketch/elephant/n02503517_8571-4.png 2
-sketch/elephant/n02503517_8571-5.png 2
-sketch/elephant/n02503517_8571-6.png 2
-sketch/elephant/n02503517_8757-1.png 2
-sketch/elephant/n02503517_8757-2.png 2
-sketch/elephant/n02503517_8757-3.png 2
-sketch/elephant/n02503517_8757-4.png 2
-sketch/elephant/n02503517_8757-5.png 2
-sketch/elephant/n02503517_8757-6.png 2
-sketch/elephant/n02503517_8901-1.png 2
-sketch/elephant/n02503517_8901-2.png 2
-sketch/elephant/n02503517_8901-3.png 2
-sketch/elephant/n02503517_8901-4.png 2
-sketch/elephant/n02503517_8901-5.png 2
-sketch/elephant/n02503517_8901-6.png 2
-sketch/elephant/n02503517_8901-7.png 2
-sketch/elephant/n02503517_8904-1.png 2
-sketch/elephant/n02503517_8904-2.png 2
-sketch/elephant/n02503517_8904-3.png 2
-sketch/elephant/n02503517_8904-4.png 2
-sketch/elephant/n02503517_8904-5.png 2
-sketch/elephant/n02503517_8904-6.png 2
-sketch/elephant/n02503517_8938-1.png 2
-sketch/elephant/n02503517_8938-2.png 2
-sketch/elephant/n02503517_8938-3.png 2
-sketch/elephant/n02503517_8938-4.png 2
-sketch/elephant/n02503517_8938-5.png 2
-sketch/elephant/n02503517_8938-6.png 2
-sketch/elephant/n02503517_9043-1.png 2
-sketch/elephant/n02503517_9043-2.png 2
-sketch/elephant/n02503517_9043-3.png 2
-sketch/elephant/n02503517_9043-4.png 2
-sketch/elephant/n02503517_9043-5.png 2
-sketch/elephant/n02503517_9043-6.png 2
-sketch/elephant/n02503517_9043-7.png 2
-sketch/elephant/n02503517_9043-8.png 2
-sketch/elephant/n02503517_9043-9.png 2
-sketch/elephant/n02503517_9043-10.png 2
-sketch/elephant/n02503517_9154-1.png 2
-sketch/elephant/n02503517_9154-2.png 2
-sketch/elephant/n02503517_9154-3.png 2
-sketch/elephant/n02503517_9154-4.png 2
-sketch/elephant/n02503517_9154-5.png 2
-sketch/elephant/n02503517_9154-6.png 2
-sketch/elephant/n02503517_9237-1.png 2
-sketch/elephant/n02503517_9237-2.png 2
-sketch/elephant/n02503517_9237-3.png 2
-sketch/elephant/n02503517_9237-4.png 2
-sketch/elephant/n02503517_9237-5.png 2
-sketch/elephant/n02503517_9237-6.png 2
-sketch/elephant/n02503517_9237-7.png 2
-sketch/elephant/n02503517_9241-1.png 2
-sketch/elephant/n02503517_9241-2.png 2
-sketch/elephant/n02503517_9241-3.png 2
-sketch/elephant/n02503517_9241-4.png 2
-sketch/elephant/n02503517_9241-5.png 2
-sketch/elephant/n02503517_9270-1.png 2
-sketch/elephant/n02503517_9270-2.png 2
-sketch/elephant/n02503517_9270-3.png 2
-sketch/elephant/n02503517_9270-4.png 2
-sketch/elephant/n02503517_9270-5.png 2
-sketch/elephant/n02503517_9270-6.png 2
-sketch/elephant/n02503517_9270-7.png 2
-sketch/elephant/n02503517_9270-8.png 2
-sketch/elephant/n02503517_9270-9.png 2
-sketch/elephant/n02503517_9270-10.png 2
-sketch/elephant/n02503517_9421-1.png 2
-sketch/elephant/n02503517_9421-2.png 2
-sketch/elephant/n02503517_9421-3.png 2
-sketch/elephant/n02503517_9421-4.png 2
-sketch/elephant/n02503517_9421-5.png 2
-sketch/elephant/n02503517_9421-6.png 2
-sketch/elephant/n02503517_9421-7.png 2
-sketch/elephant/n02503517_9421-8.png 2
-sketch/elephant/n02503517_9421-9.png 2
-sketch/elephant/n02503517_9827-1.png 2
-sketch/elephant/n02503517_9827-2.png 2
-sketch/elephant/n02503517_9827-3.png 2
-sketch/elephant/n02503517_9827-4.png 2
-sketch/elephant/n02503517_9827-5.png 2
-sketch/elephant/n02503517_9827-6.png 2
-sketch/elephant/n02503517_9827-7.png 2
-sketch/elephant/n02503517_9827-8.png 2
-sketch/elephant/n02503517_10036-1.png 2
-sketch/elephant/n02503517_10036-2.png 2
-sketch/elephant/n02503517_10036-3.png 2
-sketch/elephant/n02503517_10036-4.png 2
-sketch/elephant/n02503517_10036-5.png 2
-sketch/elephant/n02503517_10036-6.png 2
-sketch/elephant/n02503517_10036-7.png 2
-sketch/elephant/n02503517_10036-8.png 2
-sketch/elephant/n02503517_10036-9.png 2
-sketch/elephant/n02503517_10036-10.png 2
-sketch/elephant/n02503517_10075-1.png 2
-sketch/elephant/n02503517_10075-2.png 2
-sketch/elephant/n02503517_10075-3.png 2
-sketch/elephant/n02503517_10075-4.png 2
-sketch/elephant/n02503517_10075-5.png 2
-sketch/elephant/n02503517_10193-1.png 2
-sketch/elephant/n02503517_10193-2.png 2
-sketch/elephant/n02503517_10193-3.png 2
-sketch/elephant/n02503517_10193-4.png 2
-sketch/elephant/n02503517_10193-5.png 2
-sketch/elephant/n02503517_10193-6.png 2
-sketch/elephant/n02503517_10193-7.png 2
-sketch/elephant/n02503517_10193-8.png 2
-sketch/elephant/n02503517_10193-9.png 2
-sketch/elephant/n02503517_10193-10.png 2
-sketch/elephant/n02503517_10259-1.png 2
-sketch/elephant/n02503517_10259-2.png 2
-sketch/elephant/n02503517_10259-3.png 2
-sketch/elephant/n02503517_10259-4.png 2
-sketch/elephant/n02503517_10259-5.png 2
-sketch/elephant/n02503517_10259-6.png 2
-sketch/elephant/n02503517_10259-7.png 2
-sketch/elephant/n02503517_10259-8.png 2
-sketch/elephant/n02503517_10259-9.png 2
-sketch/elephant/n02503517_10275-1.png 2
-sketch/elephant/n02503517_10275-2.png 2
-sketch/elephant/n02503517_10275-3.png 2
-sketch/elephant/n02503517_10275-4.png 2
-sketch/elephant/n02503517_10275-5.png 2
-sketch/elephant/n02503517_10275-6.png 2
-sketch/elephant/n02503517_10300-1.png 2
-sketch/elephant/n02503517_10300-2.png 2
-sketch/elephant/n02503517_10300-3.png 2
-sketch/elephant/n02503517_10300-4.png 2
-sketch/elephant/n02503517_10300-5.png 2
-sketch/elephant/n02503517_10439-1.png 2
-sketch/elephant/n02503517_10439-2.png 2
-sketch/elephant/n02503517_10439-3.png 2
-sketch/elephant/n02503517_10439-4.png 2
-sketch/elephant/n02503517_10439-5.png 2
-sketch/elephant/n02503517_10439-6.png 2
-sketch/elephant/n02503517_10439-7.png 2
-sketch/elephant/n02503517_10439-8.png 2
-sketch/elephant/n02503517_10440-1.png 2
-sketch/elephant/n02503517_10440-2.png 2
-sketch/elephant/n02503517_10440-3.png 2
-sketch/elephant/n02503517_10440-4.png 2
-sketch/elephant/n02503517_10440-5.png 2
-sketch/elephant/n02503517_10440-6.png 2
-sketch/elephant/n02503517_10440-7.png 2
-sketch/elephant/n02503517_10440-8.png 2
-sketch/elephant/n02503517_10440-9.png 2
-sketch/elephant/n02503517_10528-1.png 2
-sketch/elephant/n02503517_10528-2.png 2
-sketch/elephant/n02503517_10528-3.png 2
-sketch/elephant/n02503517_10528-4.png 2
-sketch/elephant/n02503517_10528-5.png 2
-sketch/elephant/n02503517_10558-1.png 2
-sketch/elephant/n02503517_10558-2.png 2
-sketch/elephant/n02503517_10558-3.png 2
-sketch/elephant/n02503517_10558-4.png 2
-sketch/elephant/n02503517_10558-5.png 2
-sketch/elephant/n02503517_10778-1.png 2
-sketch/elephant/n02503517_10778-2.png 2
-sketch/elephant/n02503517_10778-3.png 2
-sketch/elephant/n02503517_10778-4.png 2
-sketch/elephant/n02503517_10778-5.png 2
-sketch/elephant/n02503517_10778-6.png 2
-sketch/elephant/n02503517_11873-1.png 2
-sketch/elephant/n02503517_11873-2.png 2
-sketch/elephant/n02503517_11873-3.png 2
-sketch/elephant/n02503517_11873-4.png 2
-sketch/elephant/n02503517_11873-5.png 2
-sketch/elephant/n02503517_11873-6.png 2
-sketch/elephant/n02503517_11873-7.png 2
-sketch/elephant/n02503517_11873-8.png 2
-sketch/elephant/n02503517_11873-9.png 2
-sketch/elephant/n02503517_12688-1.png 2
-sketch/elephant/n02503517_12688-2.png 2
-sketch/elephant/n02503517_12688-3.png 2
-sketch/elephant/n02503517_12688-4.png 2
-sketch/elephant/n02503517_12688-5.png 2
-sketch/elephant/5921.png 2
-sketch/elephant/5922.png 2
-sketch/elephant/5923.png 2
-sketch/elephant/5924.png 2
-sketch/elephant/5925.png 2
-sketch/elephant/5926.png 2
-sketch/elephant/5927.png 2
-sketch/elephant/5928.png 2
-sketch/elephant/5929.png 2
-sketch/elephant/5930.png 2
-sketch/elephant/5931.png 2
-sketch/elephant/5932.png 2
-sketch/elephant/5933.png 2
-sketch/elephant/5934.png 2
-sketch/elephant/5935.png 2
-sketch/elephant/5936.png 2
-sketch/elephant/5937.png 2
-sketch/elephant/5938.png 2
-sketch/elephant/5939.png 2
-sketch/elephant/5940.png 2
-sketch/elephant/5941.png 2
-sketch/elephant/5942.png 2
-sketch/elephant/5943.png 2
-sketch/elephant/5944.png 2
-sketch/elephant/5945.png 2
-sketch/elephant/5946.png 2
-sketch/elephant/5947.png 2
-sketch/elephant/5948.png 2
-sketch/elephant/5949.png 2
-sketch/elephant/5950.png 2
-sketch/elephant/5951.png 2
-sketch/elephant/5952.png 2
-sketch/elephant/5953.png 2
-sketch/elephant/5954.png 2
-sketch/elephant/5955.png 2
-sketch/elephant/5956.png 2
-sketch/elephant/5957.png 2
-sketch/elephant/5958.png 2
-sketch/elephant/5959.png 2
-sketch/elephant/5960.png 2
-sketch/elephant/5961.png 2
-sketch/elephant/5962.png 2
-sketch/elephant/5963.png 2
-sketch/elephant/5964.png 2
-sketch/elephant/5965.png 2
-sketch/elephant/5966.png 2
-sketch/elephant/5967.png 2
-sketch/elephant/5968.png 2
-sketch/elephant/5969.png 2
-sketch/elephant/5970.png 2
-sketch/elephant/5971.png 2
-sketch/elephant/5972.png 2
-sketch/elephant/5973.png 2
-sketch/elephant/5974.png 2
-sketch/elephant/5975.png 2
-sketch/elephant/5976.png 2
-sketch/elephant/5977.png 2
-sketch/elephant/5978.png 2
-sketch/elephant/5979.png 2
-sketch/elephant/5980.png 2
-sketch/elephant/5981.png 2
-sketch/elephant/5982.png 2
-sketch/elephant/5983.png 2
-sketch/elephant/5984.png 2
-sketch/elephant/5985.png 2
-sketch/elephant/5986.png 2
-sketch/elephant/5987.png 2
-sketch/elephant/5988.png 2
-sketch/elephant/5989.png 2
-sketch/elephant/5990.png 2
-sketch/elephant/5991.png 2
-sketch/elephant/5992.png 2
-sketch/elephant/5993.png 2
-sketch/elephant/5994.png 2
-sketch/elephant/5995.png 2
-sketch/elephant/5996.png 2
-sketch/elephant/5997.png 2
-sketch/elephant/5998.png 2
-sketch/elephant/5999.png 2
-sketch/elephant/6000.png 2
-sketch/giraffe/n02439033_2677-3.png 3
-sketch/giraffe/n02439033_2677-4.png 3
-sketch/giraffe/n02439033_2677-5.png 3
-sketch/giraffe/n02439033_2677-6.png 3
-sketch/giraffe/n02439033_2677-7.png 3
-sketch/giraffe/n02439033_3944-1.png 3
-sketch/giraffe/n02439033_3944-2.png 3
-sketch/giraffe/n02439033_3944-3.png 3
-sketch/giraffe/n02439033_3944-4.png 3
-sketch/giraffe/n02439033_3944-5.png 3
-sketch/giraffe/n02439033_3944-6.png 3
-sketch/giraffe/n02439033_3944-7.png 3
-sketch/giraffe/n02439033_3944-8.png 3
-sketch/giraffe/n02439033_3944-9.png 3
-sketch/giraffe/n02439033_3944-10.png 3
-sketch/giraffe/n02439033_4601-1.png 3
-sketch/giraffe/n02439033_4601-2.png 3
-sketch/giraffe/n02439033_4601-3.png 3
-sketch/giraffe/n02439033_4601-4.png 3
-sketch/giraffe/n02439033_4601-5.png 3
-sketch/giraffe/n02439033_5004-1.png 3
-sketch/giraffe/n02439033_5004-2.png 3
-sketch/giraffe/n02439033_5004-3.png 3
-sketch/giraffe/n02439033_5004-4.png 3
-sketch/giraffe/n02439033_5004-5.png 3
-sketch/giraffe/n02439033_5004-6.png 3
-sketch/giraffe/n02439033_5004-7.png 3
-sketch/giraffe/n02439033_5004-8.png 3
-sketch/giraffe/n02439033_5652-1.png 3
-sketch/giraffe/n02439033_5652-2.png 3
-sketch/giraffe/n02439033_5652-3.png 3
-sketch/giraffe/n02439033_5652-4.png 3
-sketch/giraffe/n02439033_5652-5.png 3
-sketch/giraffe/n02439033_6552-1.png 3
-sketch/giraffe/n02439033_6552-2.png 3
-sketch/giraffe/n02439033_6552-3.png 3
-sketch/giraffe/n02439033_6552-4.png 3
-sketch/giraffe/n02439033_6552-5.png 3
-sketch/giraffe/n02439033_8789-1.png 3
-sketch/giraffe/n02439033_8789-2.png 3
-sketch/giraffe/n02439033_8789-3.png 3
-sketch/giraffe/n02439033_8789-4.png 3
-sketch/giraffe/n02439033_8789-5.png 3
-sketch/giraffe/n02439033_8846-1.png 3
-sketch/giraffe/n02439033_8846-2.png 3
-sketch/giraffe/n02439033_8846-3.png 3
-sketch/giraffe/n02439033_8846-4.png 3
-sketch/giraffe/n02439033_8846-5.png 3
-sketch/giraffe/n02439033_8846-6.png 3
-sketch/giraffe/n02439033_8846-7.png 3
-sketch/giraffe/n02439033_8846-8.png 3
-sketch/giraffe/n02439033_8846-9.png 3
-sketch/giraffe/n02439033_8846-10.png 3
-sketch/giraffe/n02439033_8846-11.png 3
-sketch/giraffe/n02439033_8846-12.png 3
-sketch/giraffe/n02439033_8846-13.png 3
-sketch/giraffe/n02439033_8875-1.png 3
-sketch/giraffe/n02439033_8875-2.png 3
-sketch/giraffe/n02439033_8875-3.png 3
-sketch/giraffe/n02439033_8875-4.png 3
-sketch/giraffe/n02439033_8875-5.png 3
-sketch/giraffe/n02439033_8875-6.png 3
-sketch/giraffe/n02439033_8875-7.png 3
-sketch/giraffe/n02439033_8875-8.png 3
-sketch/giraffe/n02439033_9257-1.png 3
-sketch/giraffe/n02439033_9257-2.png 3
-sketch/giraffe/n02439033_9257-3.png 3
-sketch/giraffe/n02439033_9257-4.png 3
-sketch/giraffe/n02439033_9257-5.png 3
-sketch/giraffe/n02439033_9257-6.png 3
-sketch/giraffe/n02439033_9261-1.png 3
-sketch/giraffe/n02439033_9261-2.png 3
-sketch/giraffe/n02439033_9261-3.png 3
-sketch/giraffe/n02439033_9261-4.png 3
-sketch/giraffe/n02439033_9261-5.png 3
-sketch/giraffe/n02439033_9398-1.png 3
-sketch/giraffe/n02439033_9398-2.png 3
-sketch/giraffe/n02439033_9398-3.png 3
-sketch/giraffe/n02439033_9398-4.png 3
-sketch/giraffe/n02439033_9398-5.png 3
-sketch/giraffe/n02439033_9398-6.png 3
-sketch/giraffe/n02439033_9472-1.png 3
-sketch/giraffe/n02439033_9472-2.png 3
-sketch/giraffe/n02439033_9472-3.png 3
-sketch/giraffe/n02439033_9472-4.png 3
-sketch/giraffe/n02439033_9472-5.png 3
-sketch/giraffe/n02439033_9472-6.png 3
-sketch/giraffe/n02439033_9472-7.png 3
-sketch/giraffe/n02439033_9472-8.png 3
-sketch/giraffe/n02439033_9472-9.png 3
-sketch/giraffe/n02439033_9472-10.png 3
-sketch/giraffe/n02439033_9598-1.png 3
-sketch/giraffe/n02439033_9598-2.png 3
-sketch/giraffe/n02439033_9598-3.png 3
-sketch/giraffe/n02439033_9598-4.png 3
-sketch/giraffe/n02439033_9598-5.png 3
-sketch/giraffe/n02439033_9598-6.png 3
-sketch/giraffe/n02439033_9598-7.png 3
-sketch/giraffe/n02439033_9598-8.png 3
-sketch/giraffe/n02439033_9598-9.png 3
-sketch/giraffe/n02439033_9598-10.png 3
-sketch/giraffe/n02439033_9604-1.png 3
-sketch/giraffe/n02439033_9604-2.png 3
-sketch/giraffe/n02439033_9604-3.png 3
-sketch/giraffe/n02439033_9604-4.png 3
-sketch/giraffe/n02439033_9604-5.png 3
-sketch/giraffe/n02439033_9679-1.png 3
-sketch/giraffe/n02439033_9679-2.png 3
-sketch/giraffe/n02439033_9679-3.png 3
-sketch/giraffe/n02439033_9679-4.png 3
-sketch/giraffe/n02439033_9679-5.png 3
-sketch/giraffe/n02439033_9719-1.png 3
-sketch/giraffe/n02439033_9719-2.png 3
-sketch/giraffe/n02439033_9719-3.png 3
-sketch/giraffe/n02439033_9719-4.png 3
-sketch/giraffe/n02439033_9719-5.png 3
-sketch/giraffe/n02439033_9719-6.png 3
-sketch/giraffe/n02439033_9719-7.png 3
-sketch/giraffe/n02439033_9719-8.png 3
-sketch/giraffe/n02439033_9719-9.png 3
-sketch/giraffe/n02439033_10130-1.png 3
-sketch/giraffe/n02439033_10130-2.png 3
-sketch/giraffe/n02439033_10130-3.png 3
-sketch/giraffe/n02439033_10130-4.png 3
-sketch/giraffe/n02439033_10130-5.png 3
-sketch/giraffe/n02439033_10130-6.png 3
-sketch/giraffe/n02439033_10130-7.png 3
-sketch/giraffe/n02439033_10164-1.png 3
-sketch/giraffe/n02439033_10164-2.png 3
-sketch/giraffe/n02439033_10164-3.png 3
-sketch/giraffe/n02439033_10164-4.png 3
-sketch/giraffe/n02439033_10164-5.png 3
-sketch/giraffe/n02439033_10164-6.png 3
-sketch/giraffe/n02439033_10164-7.png 3
-sketch/giraffe/n02439033_10164-8.png 3
-sketch/giraffe/n02439033_10164-9.png 3
-sketch/giraffe/n02439033_10164-10.png 3
-sketch/giraffe/n02439033_10279-1.png 3
-sketch/giraffe/n02439033_10279-2.png 3
-sketch/giraffe/n02439033_10279-3.png 3
-sketch/giraffe/n02439033_10279-4.png 3
-sketch/giraffe/n02439033_10279-5.png 3
-sketch/giraffe/n02439033_10279-6.png 3
-sketch/giraffe/n02439033_10295-1.png 3
-sketch/giraffe/n02439033_10295-2.png 3
-sketch/giraffe/n02439033_10295-3.png 3
-sketch/giraffe/n02439033_10295-4.png 3
-sketch/giraffe/n02439033_10295-5.png 3
-sketch/giraffe/n02439033_10453-1.png 3
-sketch/giraffe/n02439033_10453-2.png 3
-sketch/giraffe/n02439033_10453-3.png 3
-sketch/giraffe/n02439033_10453-4.png 3
-sketch/giraffe/n02439033_10453-5.png 3
-sketch/giraffe/n02439033_10453-6.png 3
-sketch/giraffe/n02439033_10491-1.png 3
-sketch/giraffe/n02439033_10491-2.png 3
-sketch/giraffe/n02439033_10491-3.png 3
-sketch/giraffe/n02439033_10491-4.png 3
-sketch/giraffe/n02439033_10491-5.png 3
-sketch/giraffe/n02439033_10491-6.png 3
-sketch/giraffe/n02439033_10541-1.png 3
-sketch/giraffe/n02439033_10541-2.png 3
-sketch/giraffe/n02439033_10541-3.png 3
-sketch/giraffe/n02439033_10541-4.png 3
-sketch/giraffe/n02439033_10541-5.png 3
-sketch/giraffe/n02439033_10541-6.png 3
-sketch/giraffe/n02439033_10616-1.png 3
-sketch/giraffe/n02439033_10616-2.png 3
-sketch/giraffe/n02439033_10616-3.png 3
-sketch/giraffe/n02439033_10616-4.png 3
-sketch/giraffe/n02439033_10616-5.png 3
-sketch/giraffe/n02439033_10802-1.png 3
-sketch/giraffe/n02439033_10802-2.png 3
-sketch/giraffe/n02439033_10802-3.png 3
-sketch/giraffe/n02439033_10802-4.png 3
-sketch/giraffe/n02439033_10802-5.png 3
-sketch/giraffe/n02439033_10802-6.png 3
-sketch/giraffe/n02439033_10802-7.png 3
-sketch/giraffe/n02439033_10802-8.png 3
-sketch/giraffe/n02439033_10803-1.png 3
-sketch/giraffe/n02439033_10803-2.png 3
-sketch/giraffe/n02439033_10803-3.png 3
-sketch/giraffe/n02439033_10803-4.png 3
-sketch/giraffe/n02439033_10803-5.png 3
-sketch/giraffe/n02439033_10811-1.png 3
-sketch/giraffe/n02439033_10811-2.png 3
-sketch/giraffe/n02439033_10811-3.png 3
-sketch/giraffe/n02439033_10811-4.png 3
-sketch/giraffe/n02439033_10811-5.png 3
-sketch/giraffe/n02439033_10811-6.png 3
-sketch/giraffe/n02439033_10811-7.png 3
-sketch/giraffe/n02439033_10839-1.png 3
-sketch/giraffe/n02439033_10839-2.png 3
-sketch/giraffe/n02439033_10839-3.png 3
-sketch/giraffe/n02439033_10839-4.png 3
-sketch/giraffe/n02439033_10839-5.png 3
-sketch/giraffe/n02439033_10839-6.png 3
-sketch/giraffe/n02439033_10839-7.png 3
-sketch/giraffe/n02439033_10919-1.png 3
-sketch/giraffe/n02439033_10919-2.png 3
-sketch/giraffe/n02439033_10919-3.png 3
-sketch/giraffe/n02439033_10919-4.png 3
-sketch/giraffe/n02439033_10919-5.png 3
-sketch/giraffe/n02439033_10919-6.png 3
-sketch/giraffe/n02439033_11059-1.png 3
-sketch/giraffe/n02439033_11059-2.png 3
-sketch/giraffe/n02439033_11059-3.png 3
-sketch/giraffe/n02439033_11059-4.png 3
-sketch/giraffe/n02439033_11059-5.png 3
-sketch/giraffe/n02439033_11059-6.png 3
-sketch/giraffe/n02439033_11059-7.png 3
-sketch/giraffe/n02439033_11059-8.png 3
-sketch/giraffe/n02439033_11059-9.png 3
-sketch/giraffe/n02439033_11114-1.png 3
-sketch/giraffe/n02439033_11114-2.png 3
-sketch/giraffe/n02439033_11114-3.png 3
-sketch/giraffe/n02439033_11114-4.png 3
-sketch/giraffe/n02439033_11114-5.png 3
-sketch/giraffe/n02439033_11130-1.png 3
-sketch/giraffe/n02439033_11130-2.png 3
-sketch/giraffe/n02439033_11130-3.png 3
-sketch/giraffe/n02439033_11130-4.png 3
-sketch/giraffe/n02439033_11130-5.png 3
-sketch/giraffe/n02439033_11130-6.png 3
-sketch/giraffe/n02439033_11215-1.png 3
-sketch/giraffe/n02439033_11215-2.png 3
-sketch/giraffe/n02439033_11215-3.png 3
-sketch/giraffe/n02439033_11215-4.png 3
-sketch/giraffe/n02439033_11215-5.png 3
-sketch/giraffe/n02439033_11273-1.png 3
-sketch/giraffe/n02439033_11273-2.png 3
-sketch/giraffe/n02439033_11273-3.png 3
-sketch/giraffe/n02439033_11273-4.png 3
-sketch/giraffe/n02439033_11273-5.png 3
-sketch/giraffe/n02439033_11273-6.png 3
-sketch/giraffe/n02439033_11328-1.png 3
-sketch/giraffe/n02439033_11328-2.png 3
-sketch/giraffe/n02439033_11328-3.png 3
-sketch/giraffe/n02439033_11328-4.png 3
-sketch/giraffe/n02439033_11328-5.png 3
-sketch/giraffe/n02439033_11328-6.png 3
-sketch/giraffe/n02439033_11458-1.png 3
-sketch/giraffe/n02439033_11458-2.png 3
-sketch/giraffe/n02439033_11458-3.png 3
-sketch/giraffe/n02439033_11458-4.png 3
-sketch/giraffe/n02439033_11458-5.png 3
-sketch/giraffe/n02439033_11458-6.png 3
-sketch/giraffe/n02439033_11486-1.png 3
-sketch/giraffe/n02439033_11486-2.png 3
-sketch/giraffe/n02439033_11486-3.png 3
-sketch/giraffe/n02439033_11486-4.png 3
-sketch/giraffe/n02439033_11486-5.png 3
-sketch/giraffe/n02439033_11487-1.png 3
-sketch/giraffe/n02439033_11487-2.png 3
-sketch/giraffe/n02439033_11487-3.png 3
-sketch/giraffe/n02439033_11487-4.png 3
-sketch/giraffe/n02439033_11487-5.png 3
-sketch/giraffe/n02439033_11487-6.png 3
-sketch/giraffe/n02439033_11487-7.png 3
-sketch/giraffe/n02439033_11504-1.png 3
-sketch/giraffe/n02439033_11504-2.png 3
-sketch/giraffe/n02439033_11504-3.png 3
-sketch/giraffe/n02439033_11504-4.png 3
-sketch/giraffe/n02439033_11504-5.png 3
-sketch/giraffe/n02439033_11504-6.png 3
-sketch/giraffe/n02439033_11504-7.png 3
-sketch/giraffe/n02439033_11599-1.png 3
-sketch/giraffe/n02439033_11599-2.png 3
-sketch/giraffe/n02439033_11599-3.png 3
-sketch/giraffe/n02439033_11599-4.png 3
-sketch/giraffe/n02439033_11599-5.png 3
-sketch/giraffe/n02439033_11599-6.png 3
-sketch/giraffe/n02439033_11599-7.png 3
-sketch/giraffe/n02439033_11599-8.png 3
-sketch/giraffe/n02439033_11627-1.png 3
-sketch/giraffe/n02439033_11627-2.png 3
-sketch/giraffe/n02439033_11627-3.png 3
-sketch/giraffe/n02439033_11627-4.png 3
-sketch/giraffe/n02439033_11627-5.png 3
-sketch/giraffe/n02439033_11627-6.png 3
-sketch/giraffe/n02439033_11627-7.png 3
-sketch/giraffe/n02439033_11666-1.png 3
-sketch/giraffe/n02439033_11666-2.png 3
-sketch/giraffe/n02439033_11666-3.png 3
-sketch/giraffe/n02439033_11666-4.png 3
-sketch/giraffe/n02439033_11666-5.png 3
-sketch/giraffe/n02439033_11666-6.png 3
-sketch/giraffe/n02439033_11666-7.png 3
-sketch/giraffe/n02439033_11683-1.png 3
-sketch/giraffe/n02439033_11683-2.png 3
-sketch/giraffe/n02439033_11683-3.png 3
-sketch/giraffe/n02439033_11683-4.png 3
-sketch/giraffe/n02439033_11683-5.png 3
-sketch/giraffe/n02439033_11683-6.png 3
-sketch/giraffe/n02439033_11683-7.png 3
-sketch/giraffe/n02439033_11715-1.png 3
-sketch/giraffe/n02439033_11715-2.png 3
-sketch/giraffe/n02439033_11715-3.png 3
-sketch/giraffe/n02439033_11715-4.png 3
-sketch/giraffe/n02439033_11715-5.png 3
-sketch/giraffe/n02439033_11715-6.png 3
-sketch/giraffe/n02439033_11845-1.png 3
-sketch/giraffe/n02439033_11845-2.png 3
-sketch/giraffe/n02439033_11845-3.png 3
-sketch/giraffe/n02439033_11845-4.png 3
-sketch/giraffe/n02439033_11845-5.png 3
-sketch/giraffe/n02439033_11845-6.png 3
-sketch/giraffe/n02439033_11845-7.png 3
-sketch/giraffe/n02439033_11845-8.png 3
-sketch/giraffe/n02439033_11845-9.png 3
-sketch/giraffe/n02439033_11845-10.png 3
-sketch/giraffe/n02439033_11894-1.png 3
-sketch/giraffe/n02439033_11894-2.png 3
-sketch/giraffe/n02439033_11894-3.png 3
-sketch/giraffe/n02439033_11894-4.png 3
-sketch/giraffe/n02439033_11894-5.png 3
-sketch/giraffe/n02439033_11894-6.png 3
-sketch/giraffe/n02439033_11894-7.png 3
-sketch/giraffe/n02439033_11894-8.png 3
-sketch/giraffe/n02439033_11894-9.png 3
-sketch/giraffe/n02439033_12059-1.png 3
-sketch/giraffe/n02439033_12059-2.png 3
-sketch/giraffe/n02439033_12059-3.png 3
-sketch/giraffe/n02439033_12059-4.png 3
-sketch/giraffe/n02439033_12059-5.png 3
-sketch/giraffe/n02439033_12413-1.png 3
-sketch/giraffe/n02439033_12413-2.png 3
-sketch/giraffe/n02439033_12413-3.png 3
-sketch/giraffe/n02439033_12413-4.png 3
-sketch/giraffe/n02439033_12413-5.png 3
-sketch/giraffe/n02439033_12413-6.png 3
-sketch/giraffe/n02439033_12413-7.png 3
-sketch/giraffe/n02439033_12485-1.png 3
-sketch/giraffe/n02439033_12485-2.png 3
-sketch/giraffe/n02439033_12485-3.png 3
-sketch/giraffe/n02439033_12485-4.png 3
-sketch/giraffe/n02439033_12485-5.png 3
-sketch/giraffe/n02439033_12485-6.png 3
-sketch/giraffe/n02439033_12680-1.png 3
-sketch/giraffe/n02439033_12680-2.png 3
-sketch/giraffe/n02439033_12680-3.png 3
-sketch/giraffe/n02439033_12680-4.png 3
-sketch/giraffe/n02439033_12680-5.png 3
-sketch/giraffe/n02439033_12930-1.png 3
-sketch/giraffe/n02439033_12930-2.png 3
-sketch/giraffe/n02439033_12930-3.png 3
-sketch/giraffe/n02439033_12930-4.png 3
-sketch/giraffe/n02439033_12930-5.png 3
-sketch/giraffe/n02439033_12939-1.png 3
-sketch/giraffe/n02439033_12939-2.png 3
-sketch/giraffe/n02439033_12939-3.png 3
-sketch/giraffe/n02439033_12939-4.png 3
-sketch/giraffe/n02439033_12939-5.png 3
-sketch/giraffe/n02439033_12939-6.png 3
-sketch/giraffe/n02439033_12939-7.png 3
-sketch/giraffe/n02439033_12939-8.png 3
-sketch/giraffe/n02439033_12987-1.png 3
-sketch/giraffe/n02439033_12987-2.png 3
-sketch/giraffe/n02439033_12987-3.png 3
-sketch/giraffe/n02439033_12987-4.png 3
-sketch/giraffe/n02439033_12987-5.png 3
-sketch/giraffe/n02439033_12987-6.png 3
-sketch/giraffe/n02439033_13236-1.png 3
-sketch/giraffe/n02439033_13236-2.png 3
-sketch/giraffe/n02439033_13236-3.png 3
-sketch/giraffe/n02439033_13236-4.png 3
-sketch/giraffe/n02439033_13236-5.png 3
-sketch/giraffe/n02439033_13236-6.png 3
-sketch/giraffe/n02439033_13384-1.png 3
-sketch/giraffe/n02439033_13384-2.png 3
-sketch/giraffe/n02439033_13384-3.png 3
-sketch/giraffe/n02439033_13384-4.png 3
-sketch/giraffe/n02439033_13384-5.png 3
-sketch/giraffe/n02439033_13384-6.png 3
-sketch/giraffe/n02439033_13430-1.png 3
-sketch/giraffe/n02439033_13430-2.png 3
-sketch/giraffe/n02439033_13430-3.png 3
-sketch/giraffe/n02439033_13430-4.png 3
-sketch/giraffe/n02439033_13430-5.png 3
-sketch/giraffe/n02439033_13602-1.png 3
-sketch/giraffe/n02439033_13602-2.png 3
-sketch/giraffe/n02439033_13602-3.png 3
-sketch/giraffe/n02439033_13602-4.png 3
-sketch/giraffe/n02439033_13602-5.png 3
-sketch/giraffe/n02439033_13602-6.png 3
-sketch/giraffe/n02439033_13602-7.png 3
-sketch/giraffe/n02439033_13868-1.png 3
-sketch/giraffe/n02439033_13868-2.png 3
-sketch/giraffe/n02439033_13868-3.png 3
-sketch/giraffe/n02439033_13868-4.png 3
-sketch/giraffe/n02439033_13868-5.png 3
-sketch/giraffe/n02439033_13868-6.png 3
-sketch/giraffe/n02439033_13868-7.png 3
-sketch/giraffe/n02439033_14040-1.png 3
-sketch/giraffe/n02439033_14040-2.png 3
-sketch/giraffe/n02439033_14040-3.png 3
-sketch/giraffe/n02439033_14040-4.png 3
-sketch/giraffe/n02439033_14040-5.png 3
-sketch/giraffe/n02439033_14040-6.png 3
-sketch/giraffe/n02439033_14060-1.png 3
-sketch/giraffe/n02439033_14060-2.png 3
-sketch/giraffe/n02439033_14060-3.png 3
-sketch/giraffe/n02439033_14060-4.png 3
-sketch/giraffe/n02439033_14060-5.png 3
-sketch/giraffe/n02439033_14060-6.png 3
-sketch/giraffe/n02439033_14060-7.png 3
-sketch/giraffe/n02439033_14060-8.png 3
-sketch/giraffe/n02439033_14121-1.png 3
-sketch/giraffe/n02439033_14121-2.png 3
-sketch/giraffe/n02439033_14121-3.png 3
-sketch/giraffe/n02439033_14121-4.png 3
-sketch/giraffe/n02439033_14121-5.png 3
-sketch/giraffe/n02439033_14121-6.png 3
-sketch/giraffe/n02439033_14121-7.png 3
-sketch/giraffe/n02439033_14121-8.png 3
-sketch/giraffe/n02439033_14121-9.png 3
-sketch/giraffe/n02439033_14121-10.png 3
-sketch/giraffe/n02439033_14148-1.png 3
-sketch/giraffe/n02439033_14148-2.png 3
-sketch/giraffe/n02439033_14148-3.png 3
-sketch/giraffe/n02439033_14148-4.png 3
-sketch/giraffe/n02439033_14148-5.png 3
-sketch/giraffe/n02439033_14148-6.png 3
-sketch/giraffe/n02439033_14148-7.png 3
-sketch/giraffe/n02439033_14148-8.png 3
-sketch/giraffe/n02439033_14148-9.png 3
-sketch/giraffe/n02439033_14148-10.png 3
-sketch/giraffe/n02439033_14184-1.png 3
-sketch/giraffe/n02439033_14184-2.png 3
-sketch/giraffe/n02439033_14184-3.png 3
-sketch/giraffe/7361.png 3
-sketch/giraffe/n02439033_14184-4.png 3
-sketch/giraffe/n02439033_14184-5.png 3
-sketch/giraffe/n02439033_14322-1.png 3
-sketch/giraffe/n02439033_14322-2.png 3
-sketch/giraffe/n02439033_14322-3.png 3
-sketch/giraffe/n02439033_14322-4.png 3
-sketch/giraffe/n02439033_14322-5.png 3
-sketch/giraffe/n02439033_14497-1.png 3
-sketch/giraffe/n02439033_14497-2.png 3
-sketch/giraffe/n02439033_14497-3.png 3
-sketch/giraffe/n02439033_14497-4.png 3
-sketch/giraffe/n02439033_14497-5.png 3
-sketch/giraffe/n02439033_14497-6.png 3
-sketch/giraffe/n02439033_14554-1.png 3
-sketch/giraffe/n02439033_14554-2.png 3
-sketch/giraffe/n02439033_14554-3.png 3
-sketch/giraffe/n02439033_14554-4.png 3
-sketch/giraffe/n02439033_14554-5.png 3
-sketch/giraffe/n02439033_14554-6.png 3
-sketch/giraffe/n02439033_14554-7.png 3
-sketch/giraffe/n02439033_14554-8.png 3
-sketch/giraffe/n02439033_14554-9.png 3
-sketch/giraffe/n02439033_14580-1.png 3
-sketch/giraffe/n02439033_14580-2.png 3
-sketch/giraffe/n02439033_14580-3.png 3
-sketch/giraffe/n02439033_14580-4.png 3
-sketch/giraffe/n02439033_14580-5.png 3
-sketch/giraffe/n02439033_14580-6.png 3
-sketch/giraffe/n02439033_14580-7.png 3
-sketch/giraffe/n02439033_14580-8.png 3
-sketch/giraffe/n02439033_14580-9.png 3
-sketch/giraffe/n02439033_14580-10.png 3
-sketch/giraffe/n02439033_14600-1.png 3
-sketch/giraffe/n02439033_14600-2.png 3
-sketch/giraffe/n02439033_14600-3.png 3
-sketch/giraffe/n02439033_14600-4.png 3
-sketch/giraffe/n02439033_14600-5.png 3
-sketch/giraffe/n02439033_14600-6.png 3
-sketch/giraffe/n02439033_14600-7.png 3
-sketch/giraffe/n02439033_14600-8.png 3
-sketch/giraffe/n02439033_14600-9.png 3
-sketch/giraffe/n02439033_14609-1.png 3
-sketch/giraffe/n02439033_14609-2.png 3
-sketch/giraffe/n02439033_14609-3.png 3
-sketch/giraffe/n02439033_14609-4.png 3
-sketch/giraffe/n02439033_14609-5.png 3
-sketch/giraffe/n02439033_14609-6.png 3
-sketch/giraffe/n02439033_14724-1.png 3
-sketch/giraffe/n02439033_14724-2.png 3
-sketch/giraffe/n02439033_14724-3.png 3
-sketch/giraffe/n02439033_14724-4.png 3
-sketch/giraffe/n02439033_14724-5.png 3
-sketch/giraffe/n02439033_14764-1.png 3
-sketch/giraffe/n02439033_14764-2.png 3
-sketch/giraffe/n02439033_14764-3.png 3
-sketch/giraffe/n02439033_14764-4.png 3
-sketch/giraffe/n02439033_14764-5.png 3
-sketch/giraffe/n02439033_14781-1.png 3
-sketch/giraffe/n02439033_14781-2.png 3
-sketch/giraffe/n02439033_14781-3.png 3
-sketch/giraffe/n02439033_14781-4.png 3
-sketch/giraffe/n02439033_14781-5.png 3
-sketch/giraffe/n02439033_14781-6.png 3
-sketch/giraffe/n02439033_14781-7.png 3
-sketch/giraffe/n02439033_14781-8.png 3
-sketch/giraffe/n02439033_14784-1.png 3
-sketch/giraffe/n02439033_14784-2.png 3
-sketch/giraffe/n02439033_14784-3.png 3
-sketch/giraffe/n02439033_14784-4.png 3
-sketch/giraffe/n02439033_14784-5.png 3
-sketch/giraffe/n02439033_14784-6.png 3
-sketch/giraffe/n02439033_14846-1.png 3
-sketch/giraffe/n02439033_14846-2.png 3
-sketch/giraffe/n02439033_14846-3.png 3
-sketch/giraffe/n02439033_14846-4.png 3
-sketch/giraffe/n02439033_14846-5.png 3
-sketch/giraffe/n02439033_14846-6.png 3
-sketch/giraffe/n02439033_14846-7.png 3
-sketch/giraffe/n02439033_14846-8.png 3
-sketch/giraffe/n02439033_14872-1.png 3
-sketch/giraffe/n02439033_14872-2.png 3
-sketch/giraffe/n02439033_14872-3.png 3
-sketch/giraffe/n02439033_14872-4.png 3
-sketch/giraffe/n02439033_14872-5.png 3
-sketch/giraffe/n02439033_14872-6.png 3
-sketch/giraffe/n02439033_14885-1.png 3
-sketch/giraffe/n02439033_14885-2.png 3
-sketch/giraffe/n02439033_14885-3.png 3
-sketch/giraffe/n02439033_14885-4.png 3
-sketch/giraffe/n02439033_14885-5.png 3
-sketch/giraffe/n02439033_14962-1.png 3
-sketch/giraffe/n02439033_14962-2.png 3
-sketch/giraffe/n02439033_14962-3.png 3
-sketch/giraffe/n02439033_14962-4.png 3
-sketch/giraffe/n02439033_14962-5.png 3
-sketch/giraffe/n02439033_14962-6.png 3
-sketch/giraffe/n02439033_14962-7.png 3
-sketch/giraffe/n02439033_15005-1.png 3
-sketch/giraffe/n02439033_15005-2.png 3
-sketch/giraffe/n02439033_15005-3.png 3
-sketch/giraffe/n02439033_15005-4.png 3
-sketch/giraffe/n02439033_15005-5.png 3
-sketch/giraffe/n02439033_15005-6.png 3
-sketch/giraffe/n02439033_15005-7.png 3
-sketch/giraffe/n02439033_15005-8.png 3
-sketch/giraffe/n02439033_15005-9.png 3
-sketch/giraffe/n02439033_15005-10.png 3
-sketch/giraffe/n02439033_15384-1.png 3
-sketch/giraffe/n02439033_15384-2.png 3
-sketch/giraffe/n02439033_15384-3.png 3
-sketch/giraffe/n02439033_15384-4.png 3
-sketch/giraffe/n02439033_15384-5.png 3
-sketch/giraffe/n02439033_15401-1.png 3
-sketch/giraffe/n02439033_15401-2.png 3
-sketch/giraffe/n02439033_15401-3.png 3
-sketch/giraffe/n02439033_15401-4.png 3
-sketch/giraffe/n02439033_15401-5.png 3
-sketch/giraffe/n02439033_15453-1.png 3
-sketch/giraffe/n02439033_15453-2.png 3
-sketch/giraffe/n02439033_15453-3.png 3
-sketch/giraffe/n02439033_15453-4.png 3
-sketch/giraffe/n02439033_15453-5.png 3
-sketch/giraffe/n02439033_15453-6.png 3
-sketch/giraffe/n02439033_15453-7.png 3
-sketch/giraffe/n02439033_15453-8.png 3
-sketch/giraffe/n02439033_15453-9.png 3
-sketch/giraffe/n02439033_15479-1.png 3
-sketch/giraffe/n02439033_15479-2.png 3
-sketch/giraffe/n02439033_15479-3.png 3
-sketch/giraffe/n02439033_15479-4.png 3
-sketch/giraffe/n02439033_15479-5.png 3
-sketch/giraffe/n02439033_15479-6.png 3
-sketch/giraffe/n02439033_15479-7.png 3
-sketch/giraffe/n02439033_15540-1.png 3
-sketch/giraffe/n02439033_15540-2.png 3
-sketch/giraffe/n02439033_15540-3.png 3
-sketch/giraffe/n02439033_15540-4.png 3
-sketch/giraffe/n02439033_15540-5.png 3
-sketch/giraffe/n02439033_15540-6.png 3
-sketch/giraffe/n02439033_15555-1.png 3
-sketch/giraffe/n02439033_15555-2.png 3
-sketch/giraffe/n02439033_15555-3.png 3
-sketch/giraffe/n02439033_15555-4.png 3
-sketch/giraffe/n02439033_15555-5.png 3
-sketch/giraffe/n02439033_15936-1.png 3
-sketch/giraffe/n02439033_15936-2.png 3
-sketch/giraffe/n02439033_15936-3.png 3
-sketch/giraffe/n02439033_15936-4.png 3
-sketch/giraffe/n02439033_15936-5.png 3
-sketch/giraffe/n02439033_15936-6.png 3
-sketch/giraffe/n02439033_15936-7.png 3
-sketch/giraffe/n02439033_16085-1.png 3
-sketch/giraffe/n02439033_16085-2.png 3
-sketch/giraffe/n02439033_16085-3.png 3
-sketch/giraffe/n02439033_16085-4.png 3
-sketch/giraffe/n02439033_16085-5.png 3
-sketch/giraffe/n02439033_16356-1.png 3
-sketch/giraffe/n02439033_16356-2.png 3
-sketch/giraffe/n02439033_16356-3.png 3
-sketch/giraffe/n02439033_16356-4.png 3
-sketch/giraffe/n02439033_16356-5.png 3
-sketch/giraffe/n02439033_16483-1.png 3
-sketch/giraffe/n02439033_16483-2.png 3
-sketch/giraffe/n02439033_16483-3.png 3
-sketch/giraffe/n02439033_16483-4.png 3
-sketch/giraffe/n02439033_16483-5.png 3
-sketch/giraffe/n02439033_16483-6.png 3
-sketch/giraffe/7362.png 3
-sketch/giraffe/7363.png 3
-sketch/giraffe/7364.png 3
-sketch/giraffe/7365.png 3
-sketch/giraffe/7366.png 3
-sketch/giraffe/7367.png 3
-sketch/giraffe/7368.png 3
-sketch/giraffe/7369.png 3
-sketch/giraffe/7370.png 3
-sketch/giraffe/7371.png 3
-sketch/giraffe/7372.png 3
-sketch/giraffe/7373.png 3
-sketch/giraffe/7374.png 3
-sketch/giraffe/7375.png 3
-sketch/giraffe/7376.png 3
-sketch/giraffe/7377.png 3
-sketch/giraffe/7378.png 3
-sketch/giraffe/7379.png 3
-sketch/giraffe/7380.png 3
-sketch/giraffe/7381.png 3
-sketch/giraffe/7382.png 3
-sketch/giraffe/7383.png 3
-sketch/giraffe/7384.png 3
-sketch/giraffe/7385.png 3
-sketch/giraffe/7386.png 3
-sketch/giraffe/7387.png 3
-sketch/giraffe/7388.png 3
-sketch/giraffe/7389.png 3
-sketch/giraffe/7390.png 3
-sketch/giraffe/7391.png 3
-sketch/giraffe/7392.png 3
-sketch/giraffe/7393.png 3
-sketch/giraffe/7394.png 3
-sketch/giraffe/7395.png 3
-sketch/giraffe/7396.png 3
-sketch/giraffe/7397.png 3
-sketch/giraffe/7398.png 3
-sketch/giraffe/7399.png 3
-sketch/giraffe/7400.png 3
-sketch/giraffe/7401.png 3
-sketch/giraffe/7402.png 3
-sketch/giraffe/7403.png 3
-sketch/giraffe/7404.png 3
-sketch/giraffe/7405.png 3
-sketch/giraffe/7406.png 3
-sketch/giraffe/7407.png 3
-sketch/giraffe/7408.png 3
-sketch/giraffe/7409.png 3
-sketch/giraffe/7410.png 3
-sketch/giraffe/7411.png 3
-sketch/giraffe/7412.png 3
-sketch/giraffe/7413.png 3
-sketch/giraffe/7414.png 3
-sketch/giraffe/7415.png 3
-sketch/giraffe/7416.png 3
-sketch/giraffe/7417.png 3
-sketch/giraffe/7418.png 3
-sketch/giraffe/7419.png 3
-sketch/giraffe/7420.png 3
-sketch/giraffe/7421.png 3
-sketch/giraffe/7422.png 3
-sketch/giraffe/7423.png 3
-sketch/giraffe/7424.png 3
-sketch/giraffe/7425.png 3
-sketch/giraffe/7426.png 3
-sketch/giraffe/7427.png 3
-sketch/giraffe/7428.png 3
-sketch/giraffe/7429.png 3
-sketch/giraffe/7430.png 3
-sketch/giraffe/7431.png 3
-sketch/giraffe/7432.png 3
-sketch/giraffe/7433.png 3
-sketch/giraffe/7434.png 3
-sketch/giraffe/7435.png 3
-sketch/giraffe/7436.png 3
-sketch/giraffe/7437.png 3
-sketch/giraffe/7438.png 3
-sketch/giraffe/7439.png 3
-sketch/giraffe/7440.png 3
-sketch/guitar/7662.png 4
-sketch/guitar/7663.png 4
-sketch/guitar/7664.png 4
-sketch/guitar/7665.png 4
-sketch/guitar/7666.png 4
-sketch/guitar/7667.png 4
-sketch/guitar/7668.png 4
-sketch/guitar/7669.png 4
-sketch/guitar/7670.png 4
-sketch/guitar/7671.png 4
-sketch/guitar/7672.png 4
-sketch/guitar/7673.png 4
-sketch/guitar/7674.png 4
-sketch/guitar/7675.png 4
-sketch/guitar/7676.png 4
-sketch/guitar/7677.png 4
-sketch/guitar/7678.png 4
-sketch/guitar/7679.png 4
-sketch/guitar/7680.png 4
-sketch/guitar/n02676566_307-1.png 4
-sketch/guitar/n02676566_307-2.png 4
-sketch/guitar/n02676566_307-3.png 4
-sketch/guitar/n02676566_307-4.png 4
-sketch/guitar/n02676566_307-5.png 4
-sketch/guitar/n02676566_330-1.png 4
-sketch/guitar/n02676566_330-2.png 4
-sketch/guitar/n02676566_330-3.png 4
-sketch/guitar/n02676566_330-4.png 4
-sketch/guitar/n02676566_330-5.png 4
-sketch/guitar/n02676566_330-6.png 4
-sketch/guitar/n02676566_659-1.png 4
-sketch/guitar/n02676566_659-2.png 4
-sketch/guitar/n02676566_659-3.png 4
-sketch/guitar/n02676566_659-4.png 4
-sketch/guitar/n02676566_659-5.png 4
-sketch/guitar/n02676566_970-1.png 4
-sketch/guitar/n02676566_970-2.png 4
-sketch/guitar/n02676566_970-3.png 4
-sketch/guitar/n02676566_970-4.png 4
-sketch/guitar/n02676566_970-5.png 4
-sketch/guitar/n02676566_970-6.png 4
-sketch/guitar/n02676566_1324-1.png 4
-sketch/guitar/n02676566_1324-2.png 4
-sketch/guitar/n02676566_1324-3.png 4
-sketch/guitar/n02676566_1324-4.png 4
-sketch/guitar/n02676566_1324-5.png 4
-sketch/guitar/n02676566_2380-1.png 4
-sketch/guitar/n02676566_2380-2.png 4
-sketch/guitar/n02676566_2380-3.png 4
-sketch/guitar/n02676566_2380-4.png 4
-sketch/guitar/n02676566_2380-5.png 4
-sketch/guitar/n02676566_2866-1.png 4
-sketch/guitar/n02676566_2866-2.png 4
-sketch/guitar/n02676566_2866-3.png 4
-sketch/guitar/n02676566_2866-4.png 4
-sketch/guitar/n02676566_2866-5.png 4
-sketch/guitar/n02676566_3360-1.png 4
-sketch/guitar/n02676566_3360-2.png 4
-sketch/guitar/n02676566_3360-3.png 4
-sketch/guitar/n02676566_3360-4.png 4
-sketch/guitar/n02676566_3360-5.png 4
-sketch/guitar/n02676566_3360-6.png 4
-sketch/guitar/n02676566_4058-1.png 4
-sketch/guitar/n02676566_4058-2.png 4
-sketch/guitar/n02676566_4058-3.png 4
-sketch/guitar/n02676566_4058-4.png 4
-sketch/guitar/n02676566_4058-5.png 4
-sketch/guitar/n02676566_4058-6.png 4
-sketch/guitar/n02676566_4189-1.png 4
-sketch/guitar/n02676566_4189-2.png 4
-sketch/guitar/n02676566_4189-3.png 4
-sketch/guitar/n02676566_4189-4.png 4
-sketch/guitar/n02676566_4189-5.png 4
-sketch/guitar/n02676566_4469-1.png 4
-sketch/guitar/n02676566_4469-2.png 4
-sketch/guitar/n02676566_4469-3.png 4
-sketch/guitar/n02676566_4469-4.png 4
-sketch/guitar/n02676566_4469-5.png 4
-sketch/guitar/n02676566_4605-1.png 4
-sketch/guitar/n02676566_4605-2.png 4
-sketch/guitar/n02676566_4605-3.png 4
-sketch/guitar/n02676566_4605-4.png 4
-sketch/guitar/n02676566_4605-5.png 4
-sketch/guitar/n02676566_4605-6.png 4
-sketch/guitar/n02676566_4699-1.png 4
-sketch/guitar/n02676566_4699-2.png 4
-sketch/guitar/n02676566_4699-3.png 4
-sketch/guitar/n02676566_4699-4.png 4
-sketch/guitar/n02676566_4699-5.png 4
-sketch/guitar/n02676566_5134-1.png 4
-sketch/guitar/n02676566_5134-2.png 4
-sketch/guitar/n02676566_5134-3.png 4
-sketch/guitar/n02676566_5134-4.png 4
-sketch/guitar/n02676566_5134-5.png 4
-sketch/guitar/n02676566_5489-1.png 4
-sketch/guitar/n02676566_5489-2.png 4
-sketch/guitar/n02676566_5489-3.png 4
-sketch/guitar/n02676566_5489-4.png 4
-sketch/guitar/n02676566_5489-5.png 4
-sketch/guitar/n02676566_5489-6.png 4
-sketch/guitar/n02676566_5489-7.png 4
-sketch/guitar/n02676566_5735-1.png 4
-sketch/guitar/n02676566_5735-2.png 4
-sketch/guitar/n02676566_5735-3.png 4
-sketch/guitar/n02676566_5735-4.png 4
-sketch/guitar/n02676566_5735-5.png 4
-sketch/guitar/n02676566_6150-1.png 4
-sketch/guitar/n02676566_6150-2.png 4
-sketch/guitar/n02676566_6150-3.png 4
-sketch/guitar/n02676566_6150-4.png 4
-sketch/guitar/n02676566_6150-5.png 4
-sketch/guitar/n02676566_6402-1.png 4
-sketch/guitar/n02676566_6402-2.png 4
-sketch/guitar/n02676566_6402-3.png 4
-sketch/guitar/n02676566_6402-4.png 4
-sketch/guitar/n02676566_6402-5.png 4
-sketch/guitar/n02676566_6430-1.png 4
-sketch/guitar/n02676566_6430-2.png 4
-sketch/guitar/n02676566_6430-3.png 4
-sketch/guitar/n02676566_6430-4.png 4
-sketch/guitar/n02676566_6430-5.png 4
-sketch/guitar/n02676566_6560-1.png 4
-sketch/guitar/n02676566_6560-2.png 4
-sketch/guitar/n02676566_6560-3.png 4
-sketch/guitar/n02676566_6560-4.png 4
-sketch/guitar/n02676566_6560-5.png 4
-sketch/guitar/n02676566_6631-1.png 4
-sketch/guitar/n02676566_6631-2.png 4
-sketch/guitar/n02676566_6631-3.png 4
-sketch/guitar/n02676566_6631-4.png 4
-sketch/guitar/n02676566_6631-5.png 4
-sketch/guitar/n02676566_6704-1.png 4
-sketch/guitar/n02676566_6704-2.png 4
-sketch/guitar/n02676566_6704-3.png 4
-sketch/guitar/n02676566_6704-4.png 4
-sketch/guitar/n02676566_6704-5.png 4
-sketch/guitar/n02676566_6864-1.png 4
-sketch/guitar/n02676566_6864-2.png 4
-sketch/guitar/n02676566_6864-3.png 4
-sketch/guitar/n02676566_6864-4.png 4
-sketch/guitar/n02676566_6864-5.png 4
-sketch/guitar/n02676566_6914-1.png 4
-sketch/guitar/n02676566_6914-2.png 4
-sketch/guitar/n02676566_6914-3.png 4
-sketch/guitar/n02676566_6914-4.png 4
-sketch/guitar/n02676566_6914-5.png 4
-sketch/guitar/n02676566_6948-1.png 4
-sketch/guitar/n02676566_6948-2.png 4
-sketch/guitar/n02676566_6948-3.png 4
-sketch/guitar/n02676566_6948-4.png 4
-sketch/guitar/n02676566_6948-5.png 4
-sketch/guitar/n02676566_6980-1.png 4
-sketch/guitar/n02676566_6980-2.png 4
-sketch/guitar/n02676566_6980-3.png 4
-sketch/guitar/n02676566_6980-4.png 4
-sketch/guitar/n02676566_6980-5.png 4
-sketch/guitar/n02676566_7385-1.png 4
-sketch/guitar/n02676566_7385-2.png 4
-sketch/guitar/n02676566_7385-3.png 4
-sketch/guitar/n02676566_7385-4.png 4
-sketch/guitar/n02676566_7385-5.png 4
-sketch/guitar/n02676566_7385-6.png 4
-sketch/guitar/n02676566_7770-1.png 4
-sketch/guitar/n02676566_7770-2.png 4
-sketch/guitar/n02676566_7770-3.png 4
-sketch/guitar/n02676566_7770-4.png 4
-sketch/guitar/n02676566_7770-5.png 4
-sketch/guitar/n02676566_7830-1.png 4
-sketch/guitar/n02676566_7830-2.png 4
-sketch/guitar/n02676566_7830-3.png 4
-sketch/guitar/n02676566_7830-4.png 4
-sketch/guitar/n02676566_7830-5.png 4
-sketch/guitar/n02676566_7844-1.png 4
-sketch/guitar/n02676566_7844-2.png 4
-sketch/guitar/n02676566_7844-3.png 4
-sketch/guitar/n02676566_7844-4.png 4
-sketch/guitar/n02676566_7844-5.png 4
-sketch/guitar/n02676566_7927-1.png 4
-sketch/guitar/n02676566_7927-2.png 4
-sketch/guitar/n02676566_7927-3.png 4
-sketch/guitar/n02676566_7927-4.png 4
-sketch/guitar/n02676566_7927-5.png 4
-sketch/guitar/n02676566_7927-6.png 4
-sketch/guitar/n02676566_8268-1.png 4
-sketch/guitar/n02676566_8268-2.png 4
-sketch/guitar/n02676566_8268-3.png 4
-sketch/guitar/n02676566_8268-4.png 4
-sketch/guitar/n02676566_8268-5.png 4
-sketch/guitar/n02676566_8309-1.png 4
-sketch/guitar/n02676566_8309-2.png 4
-sketch/guitar/n02676566_8309-3.png 4
-sketch/guitar/n02676566_8309-4.png 4
-sketch/guitar/n02676566_8309-5.png 4
-sketch/guitar/n02676566_8467-1.png 4
-sketch/guitar/n02676566_8467-2.png 4
-sketch/guitar/n02676566_8467-3.png 4
-sketch/guitar/n02676566_8467-4.png 4
-sketch/guitar/n02676566_8467-5.png 4
-sketch/guitar/n02676566_8618-1.png 4
-sketch/guitar/n02676566_8618-2.png 4
-sketch/guitar/n02676566_8618-3.png 4
-sketch/guitar/n02676566_8618-4.png 4
-sketch/guitar/n02676566_8618-5.png 4
-sketch/guitar/n02676566_8618-6.png 4
-sketch/guitar/n02676566_8820-1.png 4
-sketch/guitar/n02676566_8820-2.png 4
-sketch/guitar/n02676566_8820-3.png 4
-sketch/guitar/n02676566_8820-4.png 4
-sketch/guitar/n02676566_8820-5.png 4
-sketch/guitar/n02676566_8859-1.png 4
-sketch/guitar/n02676566_8859-2.png 4
-sketch/guitar/n02676566_8859-3.png 4
-sketch/guitar/n02676566_8859-4.png 4
-sketch/guitar/n02676566_8859-5.png 4
-sketch/guitar/n02676566_8859-6.png 4
-sketch/guitar/n02676566_8997-1.png 4
-sketch/guitar/n02676566_8997-2.png 4
-sketch/guitar/n02676566_8997-3.png 4
-sketch/guitar/n02676566_8997-4.png 4
-sketch/guitar/n02676566_8997-5.png 4
-sketch/guitar/n02676566_9062-1.png 4
-sketch/guitar/n02676566_9062-2.png 4
-sketch/guitar/n02676566_9062-3.png 4
-sketch/guitar/n02676566_9062-4.png 4
-sketch/guitar/n02676566_9062-5.png 4
-sketch/guitar/n02676566_9243-1.png 4
-sketch/guitar/n02676566_9243-2.png 4
-sketch/guitar/n02676566_9243-3.png 4
-sketch/guitar/n02676566_9243-4.png 4
-sketch/guitar/n02676566_9243-5.png 4
-sketch/guitar/n02676566_9243-6.png 4
-sketch/guitar/n02676566_9254-1.png 4
-sketch/guitar/n02676566_9254-2.png 4
-sketch/guitar/n02676566_9254-3.png 4
-sketch/guitar/n02676566_9254-4.png 4
-sketch/guitar/n02676566_9254-5.png 4
-sketch/guitar/n02676566_9451-1.png 4
-sketch/guitar/n02676566_9451-2.png 4
-sketch/guitar/n02676566_9451-3.png 4
-sketch/guitar/n02676566_9451-4.png 4
-sketch/guitar/n02676566_9451-5.png 4
-sketch/guitar/n02676566_9577-1.png 4
-sketch/guitar/n02676566_9577-2.png 4
-sketch/guitar/n02676566_9577-3.png 4
-sketch/guitar/n02676566_9577-4.png 4
-sketch/guitar/n02676566_9577-5.png 4
-sketch/guitar/n02676566_9577-6.png 4
-sketch/guitar/n02676566_9612-1.png 4
-sketch/guitar/n02676566_9612-2.png 4
-sketch/guitar/n02676566_9612-3.png 4
-sketch/guitar/n02676566_9612-4.png 4
-sketch/guitar/n02676566_9612-5.png 4
-sketch/guitar/n02676566_9661-1.png 4
-sketch/guitar/n02676566_9661-2.png 4
-sketch/guitar/n02676566_9661-3.png 4
-sketch/guitar/n02676566_9661-4.png 4
-sketch/guitar/n02676566_9661-5.png 4
-sketch/guitar/n02676566_9661-6.png 4
-sketch/guitar/n02676566_9936-1.png 4
-sketch/guitar/n02676566_9936-2.png 4
-sketch/guitar/n02676566_9936-3.png 4
-sketch/guitar/n02676566_9936-4.png 4
-sketch/guitar/n02676566_9936-5.png 4
-sketch/guitar/n02676566_11377-1.png 4
-sketch/guitar/n02676566_11377-2.png 4
-sketch/guitar/n02676566_11377-3.png 4
-sketch/guitar/n02676566_11377-4.png 4
-sketch/guitar/n02676566_11377-5.png 4
-sketch/guitar/n02676566_11573-1.png 4
-sketch/guitar/n02676566_11573-2.png 4
-sketch/guitar/n02676566_11573-3.png 4
-sketch/guitar/n02676566_11573-4.png 4
-sketch/guitar/n02676566_11573-5.png 4
-sketch/guitar/n02676566_12344-1.png 4
-sketch/guitar/n02676566_12344-2.png 4
-sketch/guitar/n02676566_12344-3.png 4
-sketch/guitar/n02676566_12344-4.png 4
-sketch/guitar/n02676566_12344-5.png 4
-sketch/guitar/n03272010_392-1.png 4
-sketch/guitar/n03272010_392-2.png 4
-sketch/guitar/n03272010_392-3.png 4
-sketch/guitar/n03272010_392-4.png 4
-sketch/guitar/n03272010_392-5.png 4
-sketch/guitar/n03272010_446-1.png 4
-sketch/guitar/n03272010_446-2.png 4
-sketch/guitar/n03272010_446-3.png 4
-sketch/guitar/n03272010_446-4.png 4
-sketch/guitar/n03272010_446-5.png 4
-sketch/guitar/n03272010_1708-1.png 4
-sketch/guitar/n03272010_1708-2.png 4
-sketch/guitar/n03272010_1708-3.png 4
-sketch/guitar/n03272010_1708-4.png 4
-sketch/guitar/n03272010_1708-5.png 4
-sketch/guitar/n03272010_1708-6.png 4
-sketch/guitar/n03272010_3732-1.png 4
-sketch/guitar/n03272010_3732-2.png 4
-sketch/guitar/n03272010_3732-3.png 4
-sketch/guitar/n03272010_3732-4.png 4
-sketch/guitar/n03272010_3732-5.png 4
-sketch/guitar/n03272010_3732-6.png 4
-sketch/guitar/n03272010_5483-1.png 4
-sketch/guitar/n03272010_5483-2.png 4
-sketch/guitar/n03272010_5483-3.png 4
-sketch/guitar/n03272010_5483-4.png 4
-sketch/guitar/n03272010_5483-5.png 4
-sketch/guitar/n03272010_5483-6.png 4
-sketch/guitar/n03272010_5875-1.png 4
-sketch/guitar/n03272010_5875-2.png 4
-sketch/guitar/n03272010_5875-3.png 4
-sketch/guitar/n03272010_5875-4.png 4
-sketch/guitar/n03272010_5875-5.png 4
-sketch/guitar/n03272010_5887-1.png 4
-sketch/guitar/n03272010_5887-2.png 4
-sketch/guitar/n03272010_5887-3.png 4
-sketch/guitar/n03272010_5887-4.png 4
-sketch/guitar/n03272010_5887-5.png 4
-sketch/guitar/n03272010_5887-6.png 4
-sketch/guitar/n03272010_5887-7.png 4
-sketch/guitar/n03272010_6152-1.png 4
-sketch/guitar/n03272010_6152-2.png 4
-sketch/guitar/n03272010_6152-3.png 4
-sketch/guitar/n03272010_6152-4.png 4
-sketch/guitar/n03272010_6152-5.png 4
-sketch/guitar/n03272010_6255-1.png 4
-sketch/guitar/n03272010_6255-2.png 4
-sketch/guitar/n03272010_6255-3.png 4
-sketch/guitar/n03272010_6255-4.png 4
-sketch/guitar/n03272010_6255-5.png 4
-sketch/guitar/n03272010_6291-1.png 4
-sketch/guitar/n03272010_6291-2.png 4
-sketch/guitar/n03272010_6291-3.png 4
-sketch/guitar/n03272010_6291-4.png 4
-sketch/guitar/n03272010_6291-5.png 4
-sketch/guitar/n03272010_6650-1.png 4
-sketch/guitar/n03272010_6650-2.png 4
-sketch/guitar/n03272010_6650-3.png 4
-sketch/guitar/n03272010_6650-4.png 4
-sketch/guitar/n03272010_6650-5.png 4
-sketch/guitar/n03272010_6650-6.png 4
-sketch/guitar/n03272010_6662-1.png 4
-sketch/guitar/n03272010_6662-2.png 4
-sketch/guitar/n03272010_6662-3.png 4
-sketch/guitar/n03272010_6662-4.png 4
-sketch/guitar/n03272010_6662-5.png 4
-sketch/guitar/n03272010_6662-6.png 4
-sketch/guitar/n03272010_6662-7.png 4
-sketch/guitar/n03272010_6718-1.png 4
-sketch/guitar/n03272010_6718-2.png 4
-sketch/guitar/n03272010_6718-3.png 4
-sketch/guitar/n03272010_6718-4.png 4
-sketch/guitar/n03272010_6718-5.png 4
-sketch/guitar/n03272010_6725-1.png 4
-sketch/guitar/n03272010_6725-2.png 4
-sketch/guitar/n03272010_6725-3.png 4
-sketch/guitar/n03272010_6725-4.png 4
-sketch/guitar/n03272010_6725-5.png 4
-sketch/guitar/n03272010_6727-1.png 4
-sketch/guitar/n03272010_6727-2.png 4
-sketch/guitar/n03272010_6727-3.png 4
-sketch/guitar/n03272010_6727-4.png 4
-sketch/guitar/n03272010_6727-5.png 4
-sketch/guitar/n03272010_6737-1.png 4
-sketch/guitar/n03272010_6737-2.png 4
-sketch/guitar/n03272010_6737-3.png 4
-sketch/guitar/n03272010_6737-4.png 4
-sketch/guitar/n03272010_6737-5.png 4
-sketch/guitar/n03272010_6737-6.png 4
-sketch/guitar/n03272010_6799-1.png 4
-sketch/guitar/n03272010_6799-2.png 4
-sketch/guitar/n03272010_6799-3.png 4
-sketch/guitar/n03272010_6799-4.png 4
-sketch/guitar/n03272010_6799-5.png 4
-sketch/guitar/n03272010_6809-1.png 4
-sketch/guitar/n03272010_6809-2.png 4
-sketch/guitar/n03272010_6809-3.png 4
-sketch/guitar/n03272010_6809-4.png 4
-sketch/guitar/n03272010_6809-5.png 4
-sketch/guitar/n03272010_6820-1.png 4
-sketch/guitar/n03272010_6820-2.png 4
-sketch/guitar/n03272010_6820-3.png 4
-sketch/guitar/n03272010_6820-4.png 4
-sketch/guitar/n03272010_6820-5.png 4
-sketch/guitar/n03272010_6926-1.png 4
-sketch/guitar/n03272010_6926-2.png 4
-sketch/guitar/n03272010_6926-3.png 4
-sketch/guitar/n03272010_6926-4.png 4
-sketch/guitar/n03272010_6926-5.png 4
-sketch/guitar/n03272010_7000-1.png 4
-sketch/guitar/n03272010_7000-2.png 4
-sketch/guitar/n03272010_7000-3.png 4
-sketch/guitar/n03272010_7000-4.png 4
-sketch/guitar/n03272010_7000-5.png 4
-sketch/guitar/n03272010_7092-1.png 4
-sketch/guitar/n03272010_7092-2.png 4
-sketch/guitar/n03272010_7092-3.png 4
-sketch/guitar/n03272010_7092-4.png 4
-sketch/guitar/n03272010_7092-5.png 4
-sketch/guitar/n03272010_7383-1.png 4
-sketch/guitar/n03272010_7383-2.png 4
-sketch/guitar/n03272010_7383-3.png 4
-sketch/guitar/n03272010_7383-4.png 4
-sketch/guitar/n03272010_7383-5.png 4
-sketch/guitar/n03272010_7390-1.png 4
-sketch/guitar/n03272010_7390-2.png 4
-sketch/guitar/n03272010_7390-3.png 4
-sketch/guitar/n03272010_7390-4.png 4
-sketch/guitar/n03272010_7390-5.png 4
-sketch/guitar/n03272010_7635-1.png 4
-sketch/guitar/n03272010_7635-2.png 4
-sketch/guitar/n03272010_7635-3.png 4
-sketch/guitar/n03272010_7635-4.png 4
-sketch/guitar/n03272010_7635-5.png 4
-sketch/guitar/n03272010_7729-1.png 4
-sketch/guitar/n03272010_7729-2.png 4
-sketch/guitar/n03272010_7729-3.png 4
-sketch/guitar/n03272010_7729-4.png 4
-sketch/guitar/n03272010_7729-5.png 4
-sketch/guitar/n03272010_9557-1.png 4
-sketch/guitar/n03272010_9557-2.png 4
-sketch/guitar/n03272010_9557-3.png 4
-sketch/guitar/n03272010_9557-4.png 4
-sketch/guitar/n03272010_9557-5.png 4
-sketch/guitar/n03272010_9557-6.png 4
-sketch/guitar/n03272010_9858-1.png 4
-sketch/guitar/n03272010_9858-2.png 4
-sketch/guitar/n03272010_9858-3.png 4
-sketch/guitar/n03272010_9858-4.png 4
-sketch/guitar/n03272010_9858-5.png 4
-sketch/guitar/n03272010_9899-1.png 4
-sketch/guitar/n03272010_9899-2.png 4
-sketch/guitar/n03272010_9899-3.png 4
-sketch/guitar/n03272010_9899-4.png 4
-sketch/guitar/n03272010_9899-5.png 4
-sketch/guitar/n03272010_10441-1.png 4
-sketch/guitar/n03272010_10441-2.png 4
-sketch/guitar/n03272010_10441-3.png 4
-sketch/guitar/n03272010_10441-4.png 4
-sketch/guitar/n03272010_10441-5.png 4
-sketch/guitar/n03272010_10795-1.png 4
-sketch/guitar/n03272010_10795-2.png 4
-sketch/guitar/n03272010_10795-3.png 4
-sketch/guitar/n03272010_10795-4.png 4
-sketch/guitar/n03272010_10795-5.png 4
-sketch/guitar/n03272010_11646-1.png 4
-sketch/guitar/n03272010_11646-2.png 4
-sketch/guitar/n03272010_11646-3.png 4
-sketch/guitar/n03272010_11646-4.png 4
-sketch/guitar/n03272010_11646-5.png 4
-sketch/guitar/n03272010_12151-1.png 4
-sketch/guitar/n03272010_12151-2.png 4
-sketch/guitar/n03272010_12151-3.png 4
-sketch/guitar/n03272010_12151-4.png 4
-sketch/guitar/n03272010_12151-5.png 4
-sketch/guitar/n03272010_12468-1.png 4
-sketch/guitar/n03272010_12468-2.png 4
-sketch/guitar/n03272010_12468-3.png 4
-sketch/guitar/n03272010_12468-4.png 4
-sketch/guitar/n03272010_12468-5.png 4
-sketch/guitar/n03467517_3203-1.png 4
-sketch/guitar/n03467517_3203-2.png 4
-sketch/guitar/n03467517_3203-3.png 4
-sketch/guitar/n03467517_3203-4.png 4
-sketch/guitar/n03467517_3203-5.png 4
-sketch/guitar/n03467517_6423-1.png 4
-sketch/guitar/n03467517_6423-2.png 4
-sketch/guitar/n03467517_6423-3.png 4
-sketch/guitar/n03467517_6423-4.png 4
-sketch/guitar/n03467517_6423-5.png 4
-sketch/guitar/n03467517_7007-1.png 4
-sketch/guitar/n03467517_7007-2.png 4
-sketch/guitar/n03467517_7007-3.png 4
-sketch/guitar/n03467517_7007-4.png 4
-sketch/guitar/n03467517_7007-5.png 4
-sketch/guitar/n03467517_7007-6.png 4
-sketch/guitar/n03467517_8929-1.png 4
-sketch/guitar/n03467517_8929-2.png 4
-sketch/guitar/n03467517_8929-3.png 4
-sketch/guitar/n03467517_8929-4.png 4
-sketch/guitar/n03467517_8929-5.png 4
-sketch/guitar/n03467517_11020-1.png 4
-sketch/guitar/n03467517_11020-2.png 4
-sketch/guitar/n03467517_11020-3.png 4
-sketch/guitar/n03467517_11020-4.png 4
-sketch/guitar/n03467517_11020-5.png 4
-sketch/guitar/n03467517_12925-1.png 4
-sketch/guitar/n03467517_12925-2.png 4
-sketch/guitar/n03467517_12925-3.png 4
-sketch/guitar/n03467517_12925-4.png 4
-sketch/guitar/n03467517_12925-5.png 4
-sketch/guitar/n03467517_16911-1.png 4
-sketch/guitar/n03467517_16911-2.png 4
-sketch/guitar/n03467517_16911-3.png 4
-sketch/guitar/n03467517_16911-4.png 4
-sketch/guitar/n03467517_16911-5.png 4
-sketch/guitar/n03467517_17233-1.png 4
-sketch/guitar/n03467517_17233-2.png 4
-sketch/guitar/n03467517_17233-3.png 4
-sketch/guitar/n03467517_17233-4.png 4
-sketch/guitar/n03467517_17233-5.png 4
-sketch/guitar/n03467517_19701-1.png 4
-sketch/guitar/n03467517_19701-2.png 4
-sketch/guitar/n03467517_19701-3.png 4
-sketch/guitar/n03467517_19701-4.png 4
-sketch/guitar/n03467517_19701-5.png 4
-sketch/guitar/n03467517_21782-1.png 4
-sketch/guitar/n03467517_21782-2.png 4
-sketch/guitar/n03467517_21782-3.png 4
-sketch/guitar/n03467517_21782-4.png 4
-sketch/guitar/n03467517_21782-5.png 4
-sketch/guitar/n03467517_21884-1.png 4
-sketch/guitar/n03467517_21884-2.png 4
-sketch/guitar/n03467517_21884-3.png 4
-sketch/guitar/n03467517_21884-4.png 4
-sketch/guitar/n03467517_21884-5.png 4
-sketch/guitar/n03467517_21884-6.png 4
-sketch/guitar/n03467517_22246-1.png 4
-sketch/guitar/n03467517_22246-2.png 4
-sketch/guitar/n03467517_22246-3.png 4
-sketch/guitar/n03467517_22246-4.png 4
-sketch/guitar/n03467517_22246-5.png 4
-sketch/guitar/n03467517_22246-6.png 4
-sketch/guitar/n03467517_22374-1.png 4
-sketch/guitar/n03467517_22374-2.png 4
-sketch/guitar/n03467517_22374-3.png 4
-sketch/guitar/n03467517_22374-4.png 4
-sketch/guitar/n03467517_22374-5.png 4
-sketch/guitar/n03467517_22785-1.png 4
-sketch/guitar/n03467517_22785-2.png 4
-sketch/guitar/n03467517_22785-3.png 4
-sketch/guitar/n03467517_22785-4.png 4
-sketch/guitar/n03467517_22785-5.png 4
-sketch/guitar/n03467517_22871-1.png 4
-sketch/guitar/n03467517_22871-2.png 4
-sketch/guitar/n03467517_22871-3.png 4
-sketch/guitar/n03467517_22871-4.png 4
-sketch/guitar/n03467517_22871-5.png 4
-sketch/guitar/n03467517_23229-1.png 4
-sketch/guitar/n03467517_23229-2.png 4
-sketch/guitar/n03467517_23229-3.png 4
-sketch/guitar/n03467517_23229-4.png 4
-sketch/guitar/n03467517_23229-5.png 4
-sketch/guitar/n03467517_24525-1.png 4
-sketch/guitar/n03467517_24525-2.png 4
-sketch/guitar/n03467517_24525-3.png 4
-sketch/guitar/n03467517_24525-4.png 4
-sketch/guitar/n03467517_24525-5.png 4
-sketch/guitar/n03467517_24525-6.png 4
-sketch/horse/n02374451_597-1.png 5
-sketch/horse/n02374451_597-2.png 5
-sketch/horse/n02374451_597-3.png 5
-sketch/horse/n02374451_597-4.png 5
-sketch/horse/n02374451_597-5.png 5
-sketch/horse/n02374451_597-6.png 5
-sketch/horse/n02374451_597-7.png 5
-sketch/horse/n02374451_777-1.png 5
-sketch/horse/n02374451_777-2.png 5
-sketch/horse/n02374451_777-3.png 5
-sketch/horse/n02374451_777-4.png 5
-sketch/horse/n02374451_777-5.png 5
-sketch/horse/n02374451_777-6.png 5
-sketch/horse/n02374451_779-1.png 5
-sketch/horse/n02374451_779-2.png 5
-sketch/horse/n02374451_779-3.png 5
-sketch/horse/n02374451_779-4.png 5
-sketch/horse/n02374451_779-5.png 5
-sketch/horse/n02374451_779-6.png 5
-sketch/horse/n02374451_779-7.png 5
-sketch/horse/n02374451_779-8.png 5
-sketch/horse/n02374451_779-9.png 5
-sketch/horse/n02374451_916-1.png 5
-sketch/horse/n02374451_916-2.png 5
-sketch/horse/n02374451_916-3.png 5
-sketch/horse/n02374451_916-4.png 5
-sketch/horse/n02374451_916-5.png 5
-sketch/horse/n02374451_916-6.png 5
-sketch/horse/n02374451_925-1.png 5
-sketch/horse/n02374451_925-2.png 5
-sketch/horse/n02374451_925-3.png 5
-sketch/horse/n02374451_925-4.png 5
-sketch/horse/n02374451_925-5.png 5
-sketch/horse/n02374451_925-6.png 5
-sketch/horse/n02374451_925-7.png 5
-sketch/horse/n02374451_929-1.png 5
-sketch/horse/n02374451_929-2.png 5
-sketch/horse/n02374451_929-3.png 5
-sketch/horse/n02374451_929-4.png 5
-sketch/horse/n02374451_929-5.png 5
-sketch/horse/n02374451_929-6.png 5
-sketch/horse/n02374451_1189-1.png 5
-sketch/horse/n02374451_1189-2.png 5
-sketch/horse/n02374451_1189-3.png 5
-sketch/horse/n02374451_1189-4.png 5
-sketch/horse/n02374451_1189-5.png 5
-sketch/horse/n02374451_1189-6.png 5
-sketch/horse/n02374451_1189-7.png 5
-sketch/horse/n02374451_1234-1.png 5
-sketch/horse/n02374451_1234-2.png 5
-sketch/horse/n02374451_1234-3.png 5
-sketch/horse/n02374451_1234-4.png 5
-sketch/horse/n02374451_1234-5.png 5
-sketch/horse/n02374451_1234-6.png 5
-sketch/horse/n02374451_1340-1.png 5
-sketch/horse/n02374451_1340-2.png 5
-sketch/horse/n02374451_1340-3.png 5
-sketch/horse/n02374451_1340-4.png 5
-sketch/horse/n02374451_1340-5.png 5
-sketch/horse/n02374451_1340-6.png 5
-sketch/horse/n02374451_1340-7.png 5
-sketch/horse/n02374451_1340-8.png 5
-sketch/horse/n02374451_1340-9.png 5
-sketch/horse/n02374451_1340-10.png 5
-sketch/horse/n02374451_1340-11.png 5
-sketch/horse/n02374451_1443-1.png 5
-sketch/horse/n02374451_1443-2.png 5
-sketch/horse/n02374451_1443-3.png 5
-sketch/horse/n02374451_1443-4.png 5
-sketch/horse/n02374451_1443-5.png 5
-sketch/horse/n02374451_1443-6.png 5
-sketch/horse/n02374451_1443-7.png 5
-sketch/horse/n02374451_1443-8.png 5
-sketch/horse/n02374451_1695-1.png 5
-sketch/horse/n02374451_1695-2.png 5
-sketch/horse/n02374451_1695-3.png 5
-sketch/horse/n02374451_1695-4.png 5
-sketch/horse/n02374451_1695-5.png 5
-sketch/horse/n02374451_1695-6.png 5
-sketch/horse/n02374451_1695-7.png 5
-sketch/horse/n02374451_2233-1.png 5
-sketch/horse/n02374451_2233-2.png 5
-sketch/horse/n02374451_2233-3.png 5
-sketch/horse/n02374451_2233-4.png 5
-sketch/horse/n02374451_2233-5.png 5
-sketch/horse/n02374451_2233-6.png 5
-sketch/horse/n02374451_2233-7.png 5
-sketch/horse/n02374451_2248-1.png 5
-sketch/horse/n02374451_2248-2.png 5
-sketch/horse/n02374451_2248-3.png 5
-sketch/horse/n02374451_2248-4.png 5
-sketch/horse/n02374451_2248-5.png 5
-sketch/horse/n02374451_2248-6.png 5
-sketch/horse/n02374451_2248-7.png 5
-sketch/horse/n02374451_2248-8.png 5
-sketch/horse/n02374451_2372-1.png 5
-sketch/horse/n02374451_2372-2.png 5
-sketch/horse/n02374451_2372-3.png 5
-sketch/horse/n02374451_2372-4.png 5
-sketch/horse/n02374451_2372-5.png 5
-sketch/horse/n02374451_2372-6.png 5
-sketch/horse/n02374451_2372-7.png 5
-sketch/horse/n02374451_2372-8.png 5
-sketch/horse/n02374451_2478-1.png 5
-sketch/horse/n02374451_2478-2.png 5
-sketch/horse/n02374451_2478-3.png 5
-sketch/horse/n02374451_2478-4.png 5
-sketch/horse/n02374451_2478-5.png 5
-sketch/horse/n02374451_2616-1.png 5
-sketch/horse/n02374451_2616-2.png 5
-sketch/horse/n02374451_2616-3.png 5
-sketch/horse/n02374451_2616-4.png 5
-sketch/horse/n02374451_2616-5.png 5
-sketch/horse/n02374451_2616-6.png 5
-sketch/horse/n02374451_2616-7.png 5
-sketch/horse/n02374451_2616-8.png 5
-sketch/horse/n02374451_2616-9.png 5
-sketch/horse/n02374451_2616-10.png 5
-sketch/horse/n02374451_2733-1.png 5
-sketch/horse/n02374451_2733-2.png 5
-sketch/horse/n02374451_2733-3.png 5
-sketch/horse/n02374451_2733-4.png 5
-sketch/horse/n02374451_2733-5.png 5
-sketch/horse/n02374451_2733-6.png 5
-sketch/horse/n02374451_2733-7.png 5
-sketch/horse/n02374451_2743-1.png 5
-sketch/horse/n02374451_2743-2.png 5
-sketch/horse/n02374451_2743-3.png 5
-sketch/horse/n02374451_2743-4.png 5
-sketch/horse/n02374451_2743-5.png 5
-sketch/horse/n02374451_2743-6.png 5
-sketch/horse/n02374451_2743-7.png 5
-sketch/horse/n02374451_2825-1.png 5
-sketch/horse/n02374451_2825-2.png 5
-sketch/horse/n02374451_2825-3.png 5
-sketch/horse/n02374451_2825-4.png 5
-sketch/horse/n02374451_2825-5.png 5
-sketch/horse/n02374451_2825-6.png 5
-sketch/horse/n02374451_2825-7.png 5
-sketch/horse/n02374451_2825-8.png 5
-sketch/horse/n02374451_2825-9.png 5
-sketch/horse/n02374451_2825-10.png 5
-sketch/horse/n02374451_2846-1.png 5
-sketch/horse/n02374451_2846-2.png 5
-sketch/horse/n02374451_2846-3.png 5
-sketch/horse/n02374451_2846-4.png 5
-sketch/horse/n02374451_2846-5.png 5
-sketch/horse/n02374451_2846-6.png 5
-sketch/horse/n02374451_2846-7.png 5
-sketch/horse/n02374451_2846-8.png 5
-sketch/horse/n02374451_2846-9.png 5
-sketch/horse/n02374451_3388-1.png 5
-sketch/horse/n02374451_3388-2.png 5
-sketch/horse/n02374451_3388-3.png 5
-sketch/horse/n02374451_3388-4.png 5
-sketch/horse/n02374451_3388-5.png 5
-sketch/horse/n02374451_3388-6.png 5
-sketch/horse/n02374451_3388-7.png 5
-sketch/horse/n02374451_3388-8.png 5
-sketch/horse/n02374451_3388-9.png 5
-sketch/horse/n02374451_3808-1.png 5
-sketch/horse/n02374451_3808-2.png 5
-sketch/horse/n02374451_3808-3.png 5
-sketch/horse/n02374451_3808-4.png 5
-sketch/horse/n02374451_3808-5.png 5
-sketch/horse/n02374451_3808-6.png 5
-sketch/horse/n02374451_3808-7.png 5
-sketch/horse/n02374451_3808-8.png 5
-sketch/horse/n02374451_3808-9.png 5
-sketch/horse/n02374451_4538-1.png 5
-sketch/horse/n02374451_4538-2.png 5
-sketch/horse/n02374451_4538-3.png 5
-sketch/horse/n02374451_4538-4.png 5
-sketch/horse/n02374451_4538-5.png 5
-sketch/horse/n02374451_4538-6.png 5
-sketch/horse/n02374451_4538-7.png 5
-sketch/horse/n02374451_4538-8.png 5
-sketch/horse/n02374451_4538-9.png 5
-sketch/horse/n02374451_4553-1.png 5
-sketch/horse/n02374451_4553-2.png 5
-sketch/horse/n02374451_4553-3.png 5
-sketch/horse/n02374451_4553-4.png 5
-sketch/horse/n02374451_4553-5.png 5
-sketch/horse/n02374451_4553-6.png 5
-sketch/horse/n02374451_4553-7.png 5
-sketch/horse/n02374451_4795-1.png 5
-sketch/horse/n02374451_4795-2.png 5
-sketch/horse/n02374451_4795-3.png 5
-sketch/horse/n02374451_4795-4.png 5
-sketch/horse/n02374451_4795-5.png 5
-sketch/horse/n02374451_4795-6.png 5
-sketch/horse/n02374451_4795-7.png 5
-sketch/horse/n02374451_4795-8.png 5
-sketch/horse/n02374451_4818-1.png 5
-sketch/horse/n02374451_4818-2.png 5
-sketch/horse/n02374451_4818-3.png 5
-sketch/horse/n02374451_4818-4.png 5
-sketch/horse/n02374451_4818-5.png 5
-sketch/horse/n02374451_4818-6.png 5
-sketch/horse/n02374451_4818-7.png 5
-sketch/horse/n02374451_4963-1.png 5
-sketch/horse/n02374451_4963-2.png 5
-sketch/horse/n02374451_4963-3.png 5
-sketch/horse/n02374451_4963-4.png 5
-sketch/horse/n02374451_4963-5.png 5
-sketch/horse/n02374451_4963-6.png 5
-sketch/horse/n02374451_5084-1.png 5
-sketch/horse/n02374451_5084-2.png 5
-sketch/horse/n02374451_5084-3.png 5
-sketch/horse/n02374451_5084-4.png 5
-sketch/horse/n02374451_5084-5.png 5
-sketch/horse/n02374451_5084-6.png 5
-sketch/horse/n02374451_6192-1.png 5
-sketch/horse/n02374451_6192-2.png 5
-sketch/horse/n02374451_6192-3.png 5
-sketch/horse/n02374451_6192-4.png 5
-sketch/horse/n02374451_6192-5.png 5
-sketch/horse/n02374451_6192-6.png 5
-sketch/horse/n02374451_6192-7.png 5
-sketch/horse/n02374451_6207-1.png 5
-sketch/horse/n02374451_6207-2.png 5
-sketch/horse/n02374451_6207-3.png 5
-sketch/horse/n02374451_6207-4.png 5
-sketch/horse/n02374451_6207-5.png 5
-sketch/horse/n02374451_6207-6.png 5
-sketch/horse/n02374451_7631-1.png 5
-sketch/horse/n02374451_7631-2.png 5
-sketch/horse/n02374451_7631-3.png 5
-sketch/horse/n02374451_7631-4.png 5
-sketch/horse/n02374451_7631-5.png 5
-sketch/horse/n02374451_7631-6.png 5
-sketch/horse/n02374451_7631-7.png 5
-sketch/horse/n02374451_8065-1.png 5
-sketch/horse/n02374451_8065-2.png 5
-sketch/horse/n02374451_8065-3.png 5
-sketch/horse/n02374451_8065-4.png 5
-sketch/horse/n02374451_8065-5.png 5
-sketch/horse/n02374451_8065-6.png 5
-sketch/horse/n02374451_8269-1.png 5
-sketch/horse/n02374451_8269-2.png 5
-sketch/horse/n02374451_8269-3.png 5
-sketch/horse/n02374451_8269-4.png 5
-sketch/horse/n02374451_8269-5.png 5
-sketch/horse/n02374451_8269-6.png 5
-sketch/horse/n02374451_8269-7.png 5
-sketch/horse/n02374451_8269-8.png 5
-sketch/horse/n02374451_8269-9.png 5
-sketch/horse/n02374451_8526-1.png 5
-sketch/horse/n02374451_8526-2.png 5
-sketch/horse/n02374451_8526-3.png 5
-sketch/horse/n02374451_8526-4.png 5
-sketch/horse/n02374451_8526-5.png 5
-sketch/horse/n02374451_8526-6.png 5
-sketch/horse/n02374451_8718-1.png 5
-sketch/horse/n02374451_8718-2.png 5
-sketch/horse/n02374451_8718-3.png 5
-sketch/horse/n02374451_8718-4.png 5
-sketch/horse/n02374451_8718-5.png 5
-sketch/horse/n02374451_8718-6.png 5
-sketch/horse/n02374451_8744-1.png 5
-sketch/horse/n02374451_8744-2.png 5
-sketch/horse/n02374451_8744-3.png 5
-sketch/horse/n02374451_8744-4.png 5
-sketch/horse/n02374451_8744-5.png 5
-sketch/horse/n02374451_8744-6.png 5
-sketch/horse/n02374451_8744-7.png 5
-sketch/horse/n02374451_8744-8.png 5
-sketch/horse/n02374451_8744-9.png 5
-sketch/horse/n02374451_8744-10.png 5
-sketch/horse/n02374451_8806-1.png 5
-sketch/horse/n02374451_8806-2.png 5
-sketch/horse/n02374451_8806-3.png 5
-sketch/horse/n02374451_8806-4.png 5
-sketch/horse/n02374451_8806-5.png 5
-sketch/horse/n02374451_8806-6.png 5
-sketch/horse/n02374451_8806-7.png 5
-sketch/horse/n02374451_8806-8.png 5
-sketch/horse/n02374451_9064-1.png 5
-sketch/horse/n02374451_9064-2.png 5
-sketch/horse/n02374451_9064-3.png 5
-sketch/horse/n02374451_9064-4.png 5
-sketch/horse/n02374451_9064-5.png 5
-sketch/horse/n02374451_9064-6.png 5
-sketch/horse/n02374451_9225-1.png 5
-sketch/horse/n02374451_9225-2.png 5
-sketch/horse/n02374451_9225-3.png 5
-sketch/horse/n02374451_9225-4.png 5
-sketch/horse/n02374451_9225-5.png 5
-sketch/horse/n02374451_9225-6.png 5
-sketch/horse/n02374451_9225-7.png 5
-sketch/horse/n02374451_9225-8.png 5
-sketch/horse/n02374451_9443-1.png 5
-sketch/horse/n02374451_9443-2.png 5
-sketch/horse/n02374451_9443-3.png 5
-sketch/horse/n02374451_9443-4.png 5
-sketch/horse/n02374451_9443-5.png 5
-sketch/horse/n02374451_9443-6.png 5
-sketch/horse/n02374451_9443-7.png 5
-sketch/horse/n02374451_9892-1.png 5
-sketch/horse/n02374451_9892-2.png 5
-sketch/horse/n02374451_9892-3.png 5
-sketch/horse/n02374451_9892-4.png 5
-sketch/horse/n02374451_9892-5.png 5
-sketch/horse/n02374451_9892-6.png 5
-sketch/horse/n02374451_9892-7.png 5
-sketch/horse/n02374451_10081-1.png 5
-sketch/horse/n02374451_10081-2.png 5
-sketch/horse/n02374451_10081-3.png 5
-sketch/horse/n02374451_10081-4.png 5
-sketch/horse/n02374451_10081-5.png 5
-sketch/horse/n02374451_10081-6.png 5
-sketch/horse/n02374451_10098-1.png 5
-sketch/horse/n02374451_10098-2.png 5
-sketch/horse/n02374451_10098-3.png 5
-sketch/horse/n02374451_10098-4.png 5
-sketch/horse/n02374451_10098-5.png 5
-sketch/horse/n02374451_10098-6.png 5
-sketch/horse/n02374451_10098-7.png 5
-sketch/horse/n02374451_10099-1.png 5
-sketch/horse/n02374451_10099-2.png 5
-sketch/horse/n02374451_10099-3.png 5
-sketch/horse/n02374451_10099-4.png 5
-sketch/horse/n02374451_10099-5.png 5
-sketch/horse/n02374451_10099-6.png 5
-sketch/horse/n02374451_10099-7.png 5
-sketch/horse/n02374451_10099-8.png 5
-sketch/horse/n02374451_10099-9.png 5
-sketch/horse/n02374451_10118-1.png 5
-sketch/horse/n02374451_10118-2.png 5
-sketch/horse/n02374451_10118-3.png 5
-sketch/horse/n02374451_10118-4.png 5
-sketch/horse/n02374451_10118-5.png 5
-sketch/horse/n02374451_10331-1.png 5
-sketch/horse/n02374451_10331-2.png 5
-sketch/horse/n02374451_10331-3.png 5
-sketch/horse/n02374451_10331-4.png 5
-sketch/horse/n02374451_10331-5.png 5
-sketch/horse/n02374451_10669-1.png 5
-sketch/horse/n02374451_10669-2.png 5
-sketch/horse/n02374451_10669-3.png 5
-sketch/horse/n02374451_10669-4.png 5
-sketch/horse/n02374451_10669-5.png 5
-sketch/horse/n02374451_10669-6.png 5
-sketch/horse/n02374451_10669-7.png 5
-sketch/horse/n02374451_10669-8.png 5
-sketch/horse/n02374451_10669-9.png 5
-sketch/horse/n02374451_10761-1.png 5
-sketch/horse/n02374451_10761-2.png 5
-sketch/horse/n02374451_10761-3.png 5
-sketch/horse/n02374451_10761-4.png 5
-sketch/horse/n02374451_10761-5.png 5
-sketch/horse/n02374451_10761-6.png 5
-sketch/horse/n02374451_10761-7.png 5
-sketch/horse/n02374451_10761-8.png 5
-sketch/horse/n02374451_10761-9.png 5
-sketch/horse/n02374451_10761-10.png 5
-sketch/horse/n02374451_10809-1.png 5
-sketch/horse/n02374451_10809-2.png 5
-sketch/horse/n02374451_10809-4.png 5
-sketch/horse/n02374451_10809-5.png 5
-sketch/horse/n02374451_10809-6.png 5
-sketch/horse/n02374451_10809-7.png 5
-sketch/horse/n02374451_10809-8.png 5
-sketch/horse/n02374451_11479-1.png 5
-sketch/horse/n02374451_11479-2.png 5
-sketch/horse/n02374451_11479-3.png 5
-sketch/horse/n02374451_11479-4.png 5
-sketch/horse/n02374451_11479-5.png 5
-sketch/horse/n02374451_11479-6.png 5
-sketch/horse/n02374451_11479-7.png 5
-sketch/horse/n02374451_11483-1.png 5
-sketch/horse/n02374451_11483-2.png 5
-sketch/horse/n02374451_11483-3.png 5
-sketch/horse/n02374451_11483-4.png 5
-sketch/horse/n02374451_11483-5.png 5
-sketch/horse/n02374451_11483-6.png 5
-sketch/horse/n02374451_11492-1.png 5
-sketch/horse/n02374451_11492-2.png 5
-sketch/horse/n02374451_11492-3.png 5
-sketch/horse/n02374451_11492-4.png 5
-sketch/horse/n02374451_11492-5.png 5
-sketch/horse/n02374451_11492-6.png 5
-sketch/horse/n02374451_11894-1.png 5
-sketch/horse/n02374451_11894-2.png 5
-sketch/horse/n02374451_11894-3.png 5
-sketch/horse/n02374451_11894-4.png 5
-sketch/horse/n02374451_11894-5.png 5
-sketch/horse/n02374451_11894-6.png 5
-sketch/horse/n02374451_11894-7.png 5
-sketch/horse/n02374451_11894-8.png 5
-sketch/horse/n02374451_11894-9.png 5
-sketch/horse/n02374451_12128-1.png 5
-sketch/horse/n02374451_12128-2.png 5
-sketch/horse/n02374451_12128-3.png 5
-sketch/horse/n02374451_12128-4.png 5
-sketch/horse/n02374451_12128-5.png 5
-sketch/horse/n02374451_12128-6.png 5
-sketch/horse/n02374451_12128-7.png 5
-sketch/horse/n02374451_12128-8.png 5
-sketch/horse/n02374451_12174-1.png 5
-sketch/horse/n02374451_12174-2.png 5
-sketch/horse/n02374451_12174-3.png 5
-sketch/horse/n02374451_12174-4.png 5
-sketch/horse/n02374451_12174-5.png 5
-sketch/horse/n02374451_12174-6.png 5
-sketch/horse/n02374451_12200-1.png 5
-sketch/horse/n02374451_12200-2.png 5
-sketch/horse/n02374451_12200-3.png 5
-sketch/horse/n02374451_12200-4.png 5
-sketch/horse/n02374451_12200-5.png 5
-sketch/horse/n02374451_12200-6.png 5
-sketch/horse/n02374451_12200-7.png 5
-sketch/horse/n02374451_12225-1.png 5
-sketch/horse/n02374451_12225-2.png 5
-sketch/horse/n02374451_12225-3.png 5
-sketch/horse/n02374451_12225-4.png 5
-sketch/horse/n02374451_12225-5.png 5
-sketch/horse/n02374451_12225-6.png 5
-sketch/horse/n02374451_12230-1.png 5
-sketch/horse/n02374451_12230-2.png 5
-sketch/horse/n02374451_12230-3.png 5
-sketch/horse/n02374451_12230-4.png 5
-sketch/horse/n02374451_12230-5.png 5
-sketch/horse/n02374451_12230-6.png 5
-sketch/horse/n02374451_12230-7.png 5
-sketch/horse/n02374451_12239-1.png 5
-sketch/horse/n02374451_12239-2.png 5
-sketch/horse/n02374451_12239-3.png 5
-sketch/horse/n02374451_12239-4.png 5
-sketch/horse/n02374451_12239-5.png 5
-sketch/horse/n02374451_12239-6.png 5
-sketch/horse/n02374451_12239-7.png 5
-sketch/horse/n02374451_12250-1.png 5
-sketch/horse/n02374451_12250-2.png 5
-sketch/horse/n02374451_12250-3.png 5
-sketch/horse/n02374451_12250-4.png 5
-sketch/horse/n02374451_12250-5.png 5
-sketch/horse/n02374451_12250-6.png 5
-sketch/horse/n02374451_12250-7.png 5
-sketch/horse/n02374451_12254-1.png 5
-sketch/horse/n02374451_12254-2.png 5
-sketch/horse/n02374451_12254-3.png 5
-sketch/horse/n02374451_12254-4.png 5
-sketch/horse/n02374451_12254-5.png 5
-sketch/horse/n02374451_12254-6.png 5
-sketch/horse/n02374451_12254-7.png 5
-sketch/horse/n02374451_12328-1.png 5
-sketch/horse/n02374451_12328-2.png 5
-sketch/horse/n02374451_12328-3.png 5
-sketch/horse/n02374451_12328-4.png 5
-sketch/horse/n02374451_12328-5.png 5
-sketch/horse/n02374451_12328-6.png 5
-sketch/horse/n02374451_12328-7.png 5
-sketch/horse/n02374451_12328-8.png 5
-sketch/horse/n02374451_12328-9.png 5
-sketch/horse/n02374451_12328-10.png 5
-sketch/horse/n02374451_12418-1.png 5
-sketch/horse/n02374451_12418-2.png 5
-sketch/horse/n02374451_12418-3.png 5
-sketch/horse/n02374451_12418-4.png 5
-sketch/horse/n02374451_12418-5.png 5
-sketch/horse/n02374451_12418-6.png 5
-sketch/horse/n02374451_12418-7.png 5
-sketch/horse/n02374451_12418-8.png 5
-sketch/horse/n02374451_12418-9.png 5
-sketch/horse/n02374451_12418-10.png 5
-sketch/horse/n02374451_12792-1.png 5
-sketch/horse/n02374451_12792-2.png 5
-sketch/horse/n02374451_12792-3.png 5
-sketch/horse/n02374451_12792-4.png 5
-sketch/horse/n02374451_12792-5.png 5
-sketch/horse/n02374451_12792-6.png 5
-sketch/horse/n02374451_12792-7.png 5
-sketch/horse/n02374451_12792-8.png 5
-sketch/horse/n02374451_12792-9.png 5
-sketch/horse/n02374451_12792-10.png 5
-sketch/horse/n02374451_12847-1.png 5
-sketch/horse/n02374451_12847-2.png 5
-sketch/horse/n02374451_12847-3.png 5
-sketch/horse/n02374451_12847-4.png 5
-sketch/horse/n02374451_12847-5.png 5
-sketch/horse/n02374451_12847-6.png 5
-sketch/horse/n02374451_12847-7.png 5
-sketch/horse/n02374451_12847-8.png 5
-sketch/horse/n02374451_13132-1.png 5
-sketch/horse/n02374451_13132-2.png 5
-sketch/horse/n02374451_13132-3.png 5
-sketch/horse/n02374451_13132-4.png 5
-sketch/horse/n02374451_13132-5.png 5
-sketch/horse/n02374451_13132-6.png 5
-sketch/horse/n02374451_13132-7.png 5
-sketch/horse/n02374451_13136-1.png 5
-sketch/horse/n02374451_13136-2.png 5
-sketch/horse/n02374451_13136-3.png 5
-sketch/horse/n02374451_13136-4.png 5
-sketch/horse/n02374451_13136-5.png 5
-sketch/horse/n02374451_13159-1.png 5
-sketch/horse/n02374451_13159-2.png 5
-sketch/horse/n02374451_13159-3.png 5
-sketch/horse/n02374451_13159-4.png 5
-sketch/horse/n02374451_13159-5.png 5
-sketch/horse/n02374451_13159-6.png 5
-sketch/horse/n02374451_13159-7.png 5
-sketch/horse/n02374451_13159-8.png 5
-sketch/horse/n02374451_13171-1.png 5
-sketch/horse/n02374451_13171-2.png 5
-sketch/horse/n02374451_13171-3.png 5
-sketch/horse/n02374451_13171-4.png 5
-sketch/horse/n02374451_13171-5.png 5
-sketch/horse/n02374451_13171-6.png 5
-sketch/horse/n02374451_13718-1.png 5
-sketch/horse/n02374451_13718-2.png 5
-sketch/horse/n02374451_13718-3.png 5
-sketch/horse/n02374451_13718-4.png 5
-sketch/horse/n02374451_13718-5.png 5
-sketch/horse/n02374451_13718-6.png 5
-sketch/horse/n02374451_14119-1.png 5
-sketch/horse/n02374451_14119-2.png 5
-sketch/horse/n02374451_14119-3.png 5
-sketch/horse/n02374451_14119-4.png 5
-sketch/horse/n02374451_14119-5.png 5
-sketch/horse/n02374451_14119-6.png 5
-sketch/horse/n02374451_14119-7.png 5
-sketch/horse/n02374451_14119-8.png 5
-sketch/horse/n02374451_14119-9.png 5
-sketch/horse/n02374451_14233-1.png 5
-sketch/horse/n02374451_14233-2.png 5
-sketch/horse/n02374451_14233-3.png 5
-sketch/horse/n02374451_14233-4.png 5
-sketch/horse/n02374451_14233-5.png 5
-sketch/horse/n02374451_14399-1.png 5
-sketch/horse/n02374451_14399-2.png 5
-sketch/horse/n02374451_14399-3.png 5
-sketch/horse/n02374451_14399-4.png 5
-sketch/horse/n02374451_14399-5.png 5
-sketch/horse/n02374451_14399-6.png 5
-sketch/horse/n02374451_14399-7.png 5
-sketch/horse/n02374451_14425-10.png 5
-sketch/horse/n02374451_14425-1.png 5
-sketch/horse/n02374451_14425-2.png 5
-sketch/horse/n02374451_14425-3.png 5
-sketch/horse/n02374451_14425-4.png 5
-sketch/horse/n02374451_14425-5.png 5
-sketch/horse/n02374451_14425-6.png 5
-sketch/horse/n02374451_14425-7.png 5
-sketch/horse/n02374451_14425-8.png 5
-sketch/horse/n02374451_14425-9.png 5
-sketch/horse/n02374451_14738-1.png 5
-sketch/horse/n02374451_14738-2.png 5
-sketch/horse/n02374451_14738-3.png 5
-sketch/horse/n02374451_14738-4.png 5
-sketch/horse/n02374451_14738-5.png 5
-sketch/horse/n02374451_14738-6.png 5
-sketch/horse/n02374451_14738-7.png 5
-sketch/horse/n02374451_14846-1.png 5
-sketch/horse/n02374451_14846-2.png 5
-sketch/horse/n02374451_14846-3.png 5
-sketch/horse/n02374451_14846-4.png 5
-sketch/horse/n02374451_14846-5.png 5
-sketch/horse/n02374451_14846-6.png 5
-sketch/horse/n02374451_14846-7.png 5
-sketch/horse/n02374451_15307-1.png 5
-sketch/horse/n02374451_15307-2.png 5
-sketch/horse/n02374451_15307-3.png 5
-sketch/horse/n02374451_15307-4.png 5
-sketch/horse/n02374451_15307-5.png 5
-sketch/horse/n02374451_15307-6.png 5
-sketch/horse/n02374451_15440-1.png 5
-sketch/horse/n02374451_15440-2.png 5
-sketch/horse/n02374451_15440-3.png 5
-sketch/horse/n02374451_15440-4.png 5
-sketch/horse/n02374451_15440-5.png 5
-sketch/horse/n02374451_15440-6.png 5
-sketch/horse/n02374451_15453-1.png 5
-sketch/horse/n02374451_15453-2.png 5
-sketch/horse/n02374451_15453-3.png 5
-sketch/horse/n02374451_15453-4.png 5
-sketch/horse/n02374451_15453-5.png 5
-sketch/horse/n02374451_15453-6.png 5
-sketch/horse/n02374451_15453-7.png 5
-sketch/horse/n02374451_15669-1.png 5
-sketch/horse/n02374451_15669-2.png 5
-sketch/horse/n02374451_15669-3.png 5
-sketch/horse/n02374451_15669-4.png 5
-sketch/horse/n02374451_15669-5.png 5
-sketch/horse/n02374451_15669-6.png 5
-sketch/horse/n02374451_16194-1.png 5
-sketch/horse/n02374451_16194-2.png 5
-sketch/horse/n02374451_16194-3.png 5
-sketch/horse/n02374451_16194-4.png 5
-sketch/horse/n02374451_16194-5.png 5
-sketch/horse/n02374451_16194-6.png 5
-sketch/horse/n02374451_16358-1.png 5
-sketch/horse/n02374451_16358-2.png 5
-sketch/horse/n02374451_16358-3.png 5
-sketch/horse/n02374451_16358-4.png 5
-sketch/horse/n02374451_16358-5.png 5
-sketch/horse/n02374451_16358-6.png 5
-sketch/horse/n02374451_16948-1.png 5
-sketch/horse/n02374451_16948-2.png 5
-sketch/horse/n02374451_16948-3.png 5
-sketch/horse/n02374451_16948-4.png 5
-sketch/horse/n02374451_16948-5.png 5
-sketch/horse/n02374451_16948-6.png 5
-sketch/horse/n02374451_16948-7.png 5
-sketch/horse/n02374451_16948-8.png 5
-sketch/horse/n02374451_16948-9.png 5
-sketch/horse/n02374451_17043-1.png 5
-sketch/horse/n02374451_17043-2.png 5
-sketch/horse/n02374451_17043-3.png 5
-sketch/horse/n02374451_17043-4.png 5
-sketch/horse/n02374451_17043-5.png 5
-sketch/horse/n02374451_17043-6.png 5
-sketch/horse/n02374451_17384-1.png 5
-sketch/horse/n02374451_17384-2.png 5
-sketch/horse/n02374451_17384-3.png 5
-sketch/horse/n02374451_17384-4.png 5
-sketch/horse/n02374451_17384-5.png 5
-sketch/horse/n02374451_17384-6.png 5
-sketch/horse/n02374451_17384-7.png 5
-sketch/horse/n02374451_17384-8.png 5
-sketch/horse/n02374451_17474-1.png 5
-sketch/horse/n02374451_17474-2.png 5
-sketch/horse/n02374451_17474-3.png 5
-sketch/horse/n02374451_17474-4.png 5
-sketch/horse/n02374451_17474-5.png 5
-sketch/horse/n02374451_17474-6.png 5
-sketch/horse/n02374451_17474-7.png 5
-sketch/horse/n02374451_17474-8.png 5
-sketch/horse/n02374451_17634-1.png 5
-sketch/horse/n02374451_17634-2.png 5
-sketch/horse/n02374451_17634-3.png 5
-sketch/horse/n02374451_17634-4.png 5
-sketch/horse/n02374451_17634-5.png 5
-sketch/horse/n02374451_17634-6.png 5
-sketch/horse/n02374451_18192-1.png 5
-sketch/horse/n02374451_18192-2.png 5
-sketch/horse/n02374451_18192-3.png 5
-sketch/horse/n02374451_18192-4.png 5
-sketch/horse/n02374451_18192-5.png 5
-sketch/horse/n02374451_18192-6.png 5
-sketch/horse/n02374451_18570-1.png 5
-sketch/horse/n02374451_18570-2.png 5
-sketch/horse/n02374451_18570-3.png 5
-sketch/horse/n02374451_18570-4.png 5
-sketch/horse/n02374451_18570-5.png 5
-sketch/horse/n02374451_18570-6.png 5
-sketch/horse/n02374451_18570-7.png 5
-sketch/horse/n02374451_18909-1.png 5
-sketch/horse/n02374451_18909-2.png 5
-sketch/horse/n02374451_18909-3.png 5
-sketch/horse/n02374451_18909-4.png 5
-sketch/horse/n02374451_18909-5.png 5
-sketch/horse/n02374451_18909-6.png 5
-sketch/horse/8481.png 5
-sketch/horse/8482.png 5
-sketch/horse/8483.png 5
-sketch/horse/8484.png 5
-sketch/horse/8485.png 5
-sketch/horse/8486.png 5
-sketch/horse/8487.png 5
-sketch/horse/8488.png 5
-sketch/horse/8489.png 5
-sketch/horse/8490.png 5
-sketch/horse/8491.png 5
-sketch/horse/8492.png 5
-sketch/horse/8493.png 5
-sketch/horse/8494.png 5
-sketch/horse/8495.png 5
-sketch/horse/8496.png 5
-sketch/horse/8497.png 5
-sketch/horse/8498.png 5
-sketch/horse/8499.png 5
-sketch/horse/8500.png 5
-sketch/horse/8501.png 5
-sketch/horse/8502.png 5
-sketch/horse/8503.png 5
-sketch/horse/8504.png 5
-sketch/horse/8505.png 5
-sketch/horse/8506.png 5
-sketch/horse/8507.png 5
-sketch/horse/8508.png 5
-sketch/horse/8509.png 5
-sketch/horse/8510.png 5
-sketch/horse/8511.png 5
-sketch/horse/8512.png 5
-sketch/horse/8513.png 5
-sketch/horse/8514.png 5
-sketch/horse/8515.png 5
-sketch/horse/8516.png 5
-sketch/horse/8517.png 5
-sketch/horse/8518.png 5
-sketch/horse/8519.png 5
-sketch/horse/8520.png 5
-sketch/horse/8521.png 5
-sketch/horse/8522.png 5
-sketch/horse/8523.png 5
-sketch/horse/8524.png 5
-sketch/horse/8525.png 5
-sketch/horse/8526.png 5
-sketch/horse/8527.png 5
-sketch/horse/8528.png 5
-sketch/horse/8529.png 5
-sketch/horse/8530.png 5
-sketch/horse/8531.png 5
-sketch/horse/8532.png 5
-sketch/horse/8533.png 5
-sketch/horse/8534.png 5
-sketch/horse/8535.png 5
-sketch/horse/8536.png 5
-sketch/horse/8537.png 5
-sketch/horse/8538.png 5
-sketch/horse/8539.png 5
-sketch/horse/8540.png 5
-sketch/horse/8541.png 5
-sketch/horse/8542.png 5
-sketch/horse/8543.png 5
-sketch/horse/8544.png 5
-sketch/horse/8545.png 5
-sketch/horse/8546.png 5
-sketch/horse/8547.png 5
-sketch/horse/8548.png 5
-sketch/horse/8549.png 5
-sketch/horse/8550.png 5
-sketch/horse/8551.png 5
-sketch/horse/8552.png 5
-sketch/horse/8553.png 5
-sketch/horse/8554.png 5
-sketch/horse/8555.png 5
-sketch/horse/8556.png 5
-sketch/horse/8557.png 5
-sketch/horse/8558.png 5
-sketch/horse/8559.png 5
-sketch/horse/8560.png 5
-sketch/house/8810.png 6
-sketch/house/8811.png 6
-sketch/house/8812.png 6
-sketch/house/8813.png 6
-sketch/house/8814.png 6
-sketch/house/8815.png 6
-sketch/house/8816.png 6
-sketch/house/8817.png 6
-sketch/house/8818.png 6
-sketch/house/8819.png 6
-sketch/house/8820.png 6
-sketch/house/8821.png 6
-sketch/house/8822.png 6
-sketch/house/8823.png 6
-sketch/house/8824.png 6
-sketch/house/8825.png 6
-sketch/house/8826.png 6
-sketch/house/8827.png 6
-sketch/house/8828.png 6
-sketch/house/8829.png 6
-sketch/house/8830.png 6
-sketch/house/8831.png 6
-sketch/house/8832.png 6
-sketch/house/8833.png 6
-sketch/house/8834.png 6
-sketch/house/8835.png 6
-sketch/house/8836.png 6
-sketch/house/8837.png 6
-sketch/house/8838.png 6
-sketch/house/8839.png 6
-sketch/house/8840.png 6
-sketch/house/8841.png 6
-sketch/house/8842.png 6
-sketch/house/8843.png 6
-sketch/house/8844.png 6
-sketch/house/8845.png 6
-sketch/house/8846.png 6
-sketch/house/8847.png 6
-sketch/house/8848.png 6
-sketch/house/8849.png 6
-sketch/house/8850.png 6
-sketch/house/8851.png 6
-sketch/house/8852.png 6
-sketch/house/8853.png 6
-sketch/house/8854.png 6
-sketch/house/8855.png 6
-sketch/house/8856.png 6
-sketch/house/8857.png 6
-sketch/house/8858.png 6
-sketch/house/8859.png 6
-sketch/house/8860.png 6
-sketch/house/8861.png 6
-sketch/house/8862.png 6
-sketch/house/8863.png 6
-sketch/house/8864.png 6
-sketch/house/8865.png 6
-sketch/house/8866.png 6
-sketch/house/8867.png 6
-sketch/house/8868.png 6
-sketch/house/8869.png 6
-sketch/house/8870.png 6
-sketch/house/8871.png 6
-sketch/house/8872.png 6
-sketch/house/8873.png 6
-sketch/house/8874.png 6
-sketch/house/8875.png 6
-sketch/house/8876.png 6
-sketch/house/8877.png 6
-sketch/house/8878.png 6
-sketch/house/8879.png 6
-sketch/house/8880.png 6
-sketch/person/12098.png 7
-sketch/person/12099.png 7
-sketch/person/12100.png 7
-sketch/person/12101.png 7
-sketch/person/12102.png 7
-sketch/person/12103.png 7
-sketch/person/12104.png 7
-sketch/person/12105.png 7
-sketch/person/12106.png 7
-sketch/person/12107.png 7
-sketch/person/12108.png 7
-sketch/person/12109.png 7
-sketch/person/12110.png 7
-sketch/person/12111.png 7
-sketch/person/12112.png 7
-sketch/person/12113.png 7
-sketch/person/12114.png 7
-sketch/person/12115.png 7
-sketch/person/12116.png 7
-sketch/person/12117.png 7
-sketch/person/12118.png 7
-sketch/person/12119.png 7
-sketch/person/12120.png 7
-sketch/person/12121.png 7
-sketch/person/12122.png 7
-sketch/person/12123.png 7
-sketch/person/12124.png 7
-sketch/person/12125.png 7
-sketch/person/12126.png 7
-sketch/person/12127.png 7
-sketch/person/12128.png 7
-sketch/person/12129.png 7
-sketch/person/12130.png 7
-sketch/person/12131.png 7
-sketch/person/12132.png 7
-sketch/person/12133.png 7
-sketch/person/12134.png 7
-sketch/person/12135.png 7
-sketch/person/12136.png 7
-sketch/person/12137.png 7
-sketch/person/12138.png 7
-sketch/person/12139.png 7
-sketch/person/12140.png 7
-sketch/person/12141.png 7
-sketch/person/12142.png 7
-sketch/person/12143.png 7
-sketch/person/12144.png 7
-sketch/person/12145.png 7
-sketch/person/12146.png 7
-sketch/person/12147.png 7
-sketch/person/12148.png 7
-sketch/person/12149.png 7
-sketch/person/12150.png 7
-sketch/person/12151.png 7
-sketch/person/12152.png 7
-sketch/person/12153.png 7
-sketch/person/12154.png 7
-sketch/person/12155.png 7
-sketch/person/12156.png 7
-sketch/person/12157.png 7
-sketch/person/12158.png 7
-sketch/person/12159.png 7
-sketch/person/12160.png 7
-sketch/person/12161.png 7
-sketch/person/12162.png 7
-sketch/person/12163.png 7
-sketch/person/12164.png 7
-sketch/person/12165.png 7
-sketch/person/12166.png 7
-sketch/person/12167.png 7
-sketch/person/12168.png 7
-sketch/person/12169.png 7
-sketch/person/12170.png 7
-sketch/person/12171.png 7
-sketch/person/12172.png 7
-sketch/person/12173.png 7
-sketch/person/12174.png 7
-sketch/person/12175.png 7
-sketch/person/12176.png 7
-sketch/person/12177.png 7
-sketch/person/12178.png 7
-sketch/person/12179.png 7
-sketch/person/12180.png 7
-sketch/person/12181.png 7
-sketch/person/12182.png 7
-sketch/person/12183.png 7
-sketch/person/12184.png 7
-sketch/person/12185.png 7
-sketch/person/12186.png 7
-sketch/person/12187.png 7
-sketch/person/12188.png 7
-sketch/person/12189.png 7
-sketch/person/12190.png 7
-sketch/person/12191.png 7
-sketch/person/12192.png 7
-sketch/person/12193.png 7
-sketch/person/12194.png 7
-sketch/person/12195.png 7
-sketch/person/12196.png 7
-sketch/person/12197.png 7
-sketch/person/12198.png 7
-sketch/person/12199.png 7
-sketch/person/12200.png 7
-sketch/person/12201.png 7
-sketch/person/12202.png 7
-sketch/person/12203.png 7
-sketch/person/12204.png 7
-sketch/person/12205.png 7
-sketch/person/12206.png 7
-sketch/person/12207.png 7
-sketch/person/12208.png 7
-sketch/person/12209.png 7
-sketch/person/12210.png 7
-sketch/person/12211.png 7
-sketch/person/12212.png 7
-sketch/person/12213.png 7
-sketch/person/12214.png 7
-sketch/person/12215.png 7
-sketch/person/12216.png 7
-sketch/person/12217.png 7
-sketch/person/12218.png 7
-sketch/person/12219.png 7
-sketch/person/12220.png 7
-sketch/person/12221.png 7
-sketch/person/12222.png 7
-sketch/person/12223.png 7
-sketch/person/12224.png 7
-sketch/person/12225.png 7
-sketch/person/12226.png 7
-sketch/person/12227.png 7
-sketch/person/12228.png 7
-sketch/person/12229.png 7
-sketch/person/12230.png 7
-sketch/person/12231.png 7
-sketch/person/12232.png 7
-sketch/person/12233.png 7
-sketch/person/12234.png 7
-sketch/person/12235.png 7
-sketch/person/12236.png 7
-sketch/person/12237.png 7
-sketch/person/12238.png 7
-sketch/person/12239.png 7
-sketch/person/12240.png 7
diff --git a/data/patches_permutation4jigsaw/permutations_100.npy b/data/patches_permutation4jigsaw/permutations_100.npy
deleted file mode 100644
index e97dac647..000000000
Binary files a/data/patches_permutation4jigsaw/permutations_100.npy and /dev/null differ
diff --git a/data/patches_permutation4jigsaw/permutations_30.npy b/data/patches_permutation4jigsaw/permutations_30.npy
deleted file mode 100644
index d9e4fd8b3..000000000
Binary files a/data/patches_permutation4jigsaw/permutations_30.npy and /dev/null differ
diff --git a/data/patches_permutation4jigsaw/permutations_31.npy b/data/patches_permutation4jigsaw/permutations_31.npy
deleted file mode 100644
index 196351ca0..000000000
Binary files a/data/patches_permutation4jigsaw/permutations_31.npy and /dev/null differ
diff --git a/data/script/download_pacs.py b/data/script/download_pacs.py
deleted file mode 100644
index 51c346f24..000000000
--- a/data/script/download_pacs.py
+++ /dev/null
@@ -1,64 +0,0 @@
-"this script can be used to download the pacs dataset"
-import os
-import tarfile
-from zipfile import ZipFile
-
-import gdown
-
-
-def stage_path(data_dir, name):
- """
- creates the path to data_dir/name
- if it does not exist already
- """
- full_path = os.path.join(data_dir, name)
-
- if not os.path.exists(full_path):
- os.makedirs(full_path)
-
- return full_path
-
-
-def download_and_extract(url, dst, remove=True):
- """
- downloads and extracts the data behind the url
- and saves it at dst
- """
- gdown.download(url, dst, quiet=False)
-
- if dst.endswith(".tar.gz"):
- with open(dst, "r:gz") as tar:
- tar.extractall(os.path.dirname(dst))
- tar.close()
-
- if dst.endswith(".tar"):
- with open(dst, "r:") as tar:
- tar.extractall(os.path.dirname(dst))
- tar.close()
-
- if dst.endswith(".zip"):
- zfile = ZipFile(dst, "r")
- zfile.extractall(os.path.dirname(dst))
- zfile.close()
-
- if remove:
- os.remove(dst)
-
-
-def download_pacs(data_dir):
- """
- download and extract dataset pacs.
- Dataset is saved at location data_dir
- """
- full_path = stage_path(data_dir, "PACS")
-
- download_and_extract(
- "https://drive.google.com/uc?id=1JFr8f805nMUelQWWmfnJR3y4_SYoN5Pd",
- os.path.join(data_dir, "PACS.zip"),
- )
-
- os.rename(os.path.join(data_dir, "kfold"), full_path)
-
-
-if __name__ == "__main__":
- download_pacs("../pacs")
diff --git a/data/vlcs_mini/caltech/auto/train_imgs_150.jpg b/data/vlcs_mini/caltech/auto/train_imgs_150.jpg
deleted file mode 100644
index 8d01af8c3..000000000
Binary files a/data/vlcs_mini/caltech/auto/train_imgs_150.jpg and /dev/null differ
diff --git a/data/vlcs_mini/caltech/auto/train_imgs_151.jpg b/data/vlcs_mini/caltech/auto/train_imgs_151.jpg
deleted file mode 100644
index 4d1bdc631..000000000
Binary files a/data/vlcs_mini/caltech/auto/train_imgs_151.jpg and /dev/null differ
diff --git a/data/vlcs_mini/caltech/auto/train_imgs_152.jpg b/data/vlcs_mini/caltech/auto/train_imgs_152.jpg
deleted file mode 100644
index 6eb2ed77e..000000000
Binary files a/data/vlcs_mini/caltech/auto/train_imgs_152.jpg and /dev/null differ
diff --git a/data/vlcs_mini/caltech/auto/train_imgs_153.jpg b/data/vlcs_mini/caltech/auto/train_imgs_153.jpg
deleted file mode 100644
index 7f95895b3..000000000
Binary files a/data/vlcs_mini/caltech/auto/train_imgs_153.jpg and /dev/null differ
diff --git a/data/vlcs_mini/caltech/auto/train_imgs_154.jpg b/data/vlcs_mini/caltech/auto/train_imgs_154.jpg
deleted file mode 100644
index 038f7c75a..000000000
Binary files a/data/vlcs_mini/caltech/auto/train_imgs_154.jpg and /dev/null differ
diff --git a/data/vlcs_mini/caltech/auto/train_imgs_155.jpg b/data/vlcs_mini/caltech/auto/train_imgs_155.jpg
deleted file mode 100644
index 4cd7cb961..000000000
Binary files a/data/vlcs_mini/caltech/auto/train_imgs_155.jpg and /dev/null differ
diff --git a/data/vlcs_mini/caltech/auto/train_imgs_156.jpg b/data/vlcs_mini/caltech/auto/train_imgs_156.jpg
deleted file mode 100644
index 417ff9fec..000000000
Binary files a/data/vlcs_mini/caltech/auto/train_imgs_156.jpg and /dev/null differ
diff --git a/data/vlcs_mini/caltech/auto/train_imgs_157.jpg b/data/vlcs_mini/caltech/auto/train_imgs_157.jpg
deleted file mode 100644
index f0bea00eb..000000000
Binary files a/data/vlcs_mini/caltech/auto/train_imgs_157.jpg and /dev/null differ
diff --git a/data/vlcs_mini/caltech/auto/train_imgs_158.jpg b/data/vlcs_mini/caltech/auto/train_imgs_158.jpg
deleted file mode 100644
index ddcd649c7..000000000
Binary files a/data/vlcs_mini/caltech/auto/train_imgs_158.jpg and /dev/null differ
diff --git a/data/vlcs_mini/caltech/auto/train_imgs_159.jpg b/data/vlcs_mini/caltech/auto/train_imgs_159.jpg
deleted file mode 100644
index b3cf78f0b..000000000
Binary files a/data/vlcs_mini/caltech/auto/train_imgs_159.jpg and /dev/null differ
diff --git a/data/vlcs_mini/caltech/auto/train_imgs_160.jpg b/data/vlcs_mini/caltech/auto/train_imgs_160.jpg
deleted file mode 100644
index 0f2b8a128..000000000
Binary files a/data/vlcs_mini/caltech/auto/train_imgs_160.jpg and /dev/null differ
diff --git a/data/vlcs_mini/caltech/auto/train_imgs_161.jpg b/data/vlcs_mini/caltech/auto/train_imgs_161.jpg
deleted file mode 100644
index 33ac685cb..000000000
Binary files a/data/vlcs_mini/caltech/auto/train_imgs_161.jpg and /dev/null differ
diff --git a/data/vlcs_mini/caltech/auto/train_imgs_162.jpg b/data/vlcs_mini/caltech/auto/train_imgs_162.jpg
deleted file mode 100644
index 20267f3ff..000000000
Binary files a/data/vlcs_mini/caltech/auto/train_imgs_162.jpg and /dev/null differ
diff --git a/data/vlcs_mini/caltech/auto/train_imgs_163.jpg b/data/vlcs_mini/caltech/auto/train_imgs_163.jpg
deleted file mode 100644
index bae5f75fa..000000000
Binary files a/data/vlcs_mini/caltech/auto/train_imgs_163.jpg and /dev/null differ
diff --git a/data/vlcs_mini/caltech/auto/train_imgs_164.jpg b/data/vlcs_mini/caltech/auto/train_imgs_164.jpg
deleted file mode 100644
index 93cbbf2a3..000000000
Binary files a/data/vlcs_mini/caltech/auto/train_imgs_164.jpg and /dev/null differ
diff --git a/data/vlcs_mini/caltech/auto/train_imgs_165.jpg b/data/vlcs_mini/caltech/auto/train_imgs_165.jpg
deleted file mode 100644
index 4f8486a13..000000000
Binary files a/data/vlcs_mini/caltech/auto/train_imgs_165.jpg and /dev/null differ
diff --git a/data/vlcs_mini/caltech/auto/train_imgs_166.jpg b/data/vlcs_mini/caltech/auto/train_imgs_166.jpg
deleted file mode 100644
index e7bf34f79..000000000
Binary files a/data/vlcs_mini/caltech/auto/train_imgs_166.jpg and /dev/null differ
diff --git a/data/vlcs_mini/caltech/auto/train_imgs_167.jpg b/data/vlcs_mini/caltech/auto/train_imgs_167.jpg
deleted file mode 100644
index e4b17e52a..000000000
Binary files a/data/vlcs_mini/caltech/auto/train_imgs_167.jpg and /dev/null differ
diff --git a/data/vlcs_mini/caltech/auto/train_imgs_168.jpg b/data/vlcs_mini/caltech/auto/train_imgs_168.jpg
deleted file mode 100644
index 5d98cd4ab..000000000
Binary files a/data/vlcs_mini/caltech/auto/train_imgs_168.jpg and /dev/null differ
diff --git a/data/vlcs_mini/caltech/auto/train_imgs_169.jpg b/data/vlcs_mini/caltech/auto/train_imgs_169.jpg
deleted file mode 100644
index 2efa536e5..000000000
Binary files a/data/vlcs_mini/caltech/auto/train_imgs_169.jpg and /dev/null differ
diff --git a/data/vlcs_mini/caltech/hund/train_imgs_302.jpg b/data/vlcs_mini/caltech/hund/train_imgs_302.jpg
deleted file mode 100644
index 7e79bb60a..000000000
Binary files a/data/vlcs_mini/caltech/hund/train_imgs_302.jpg and /dev/null differ
diff --git a/data/vlcs_mini/caltech/hund/train_imgs_303.jpg b/data/vlcs_mini/caltech/hund/train_imgs_303.jpg
deleted file mode 100644
index b019ca0da..000000000
Binary files a/data/vlcs_mini/caltech/hund/train_imgs_303.jpg and /dev/null differ
diff --git a/data/vlcs_mini/caltech/hund/train_imgs_304.jpg b/data/vlcs_mini/caltech/hund/train_imgs_304.jpg
deleted file mode 100644
index a547a4342..000000000
Binary files a/data/vlcs_mini/caltech/hund/train_imgs_304.jpg and /dev/null differ
diff --git a/data/vlcs_mini/caltech/hund/train_imgs_305.jpg b/data/vlcs_mini/caltech/hund/train_imgs_305.jpg
deleted file mode 100644
index 35d453852..000000000
Binary files a/data/vlcs_mini/caltech/hund/train_imgs_305.jpg and /dev/null differ
diff --git a/data/vlcs_mini/caltech/hund/train_imgs_306.jpg b/data/vlcs_mini/caltech/hund/train_imgs_306.jpg
deleted file mode 100644
index bad4d877f..000000000
Binary files a/data/vlcs_mini/caltech/hund/train_imgs_306.jpg and /dev/null differ
diff --git a/data/vlcs_mini/caltech/hund/train_imgs_307.jpg b/data/vlcs_mini/caltech/hund/train_imgs_307.jpg
deleted file mode 100644
index fc3963301..000000000
Binary files a/data/vlcs_mini/caltech/hund/train_imgs_307.jpg and /dev/null differ
diff --git a/data/vlcs_mini/caltech/hund/train_imgs_308.jpg b/data/vlcs_mini/caltech/hund/train_imgs_308.jpg
deleted file mode 100644
index 7327fa407..000000000
Binary files a/data/vlcs_mini/caltech/hund/train_imgs_308.jpg and /dev/null differ
diff --git a/data/vlcs_mini/caltech/hund/train_imgs_309.jpg b/data/vlcs_mini/caltech/hund/train_imgs_309.jpg
deleted file mode 100644
index c3e8789f3..000000000
Binary files a/data/vlcs_mini/caltech/hund/train_imgs_309.jpg and /dev/null differ
diff --git a/data/vlcs_mini/caltech/hund/train_imgs_310.jpg b/data/vlcs_mini/caltech/hund/train_imgs_310.jpg
deleted file mode 100644
index 378c083b1..000000000
Binary files a/data/vlcs_mini/caltech/hund/train_imgs_310.jpg and /dev/null differ
diff --git a/data/vlcs_mini/caltech/hund/train_imgs_311.jpg b/data/vlcs_mini/caltech/hund/train_imgs_311.jpg
deleted file mode 100644
index c34e04832..000000000
Binary files a/data/vlcs_mini/caltech/hund/train_imgs_311.jpg and /dev/null differ
diff --git a/data/vlcs_mini/caltech/hund/train_imgs_312.jpg b/data/vlcs_mini/caltech/hund/train_imgs_312.jpg
deleted file mode 100644
index 7ef8a0fcd..000000000
Binary files a/data/vlcs_mini/caltech/hund/train_imgs_312.jpg and /dev/null differ
diff --git a/data/vlcs_mini/caltech/mensch/train_imgs_344.jpg b/data/vlcs_mini/caltech/mensch/train_imgs_344.jpg
deleted file mode 100644
index ad487291a..000000000
Binary files a/data/vlcs_mini/caltech/mensch/train_imgs_344.jpg and /dev/null differ
diff --git a/data/vlcs_mini/caltech/mensch/train_imgs_345.jpg b/data/vlcs_mini/caltech/mensch/train_imgs_345.jpg
deleted file mode 100644
index 0554d6542..000000000
Binary files a/data/vlcs_mini/caltech/mensch/train_imgs_345.jpg and /dev/null differ
diff --git a/data/vlcs_mini/caltech/mensch/train_imgs_346.jpg b/data/vlcs_mini/caltech/mensch/train_imgs_346.jpg
deleted file mode 100644
index 97b441cce..000000000
Binary files a/data/vlcs_mini/caltech/mensch/train_imgs_346.jpg and /dev/null differ
diff --git a/data/vlcs_mini/caltech/mensch/train_imgs_347.jpg b/data/vlcs_mini/caltech/mensch/train_imgs_347.jpg
deleted file mode 100644
index 7f93da2aa..000000000
Binary files a/data/vlcs_mini/caltech/mensch/train_imgs_347.jpg and /dev/null differ
diff --git a/data/vlcs_mini/caltech/mensch/train_imgs_348.jpg b/data/vlcs_mini/caltech/mensch/train_imgs_348.jpg
deleted file mode 100644
index 77ac55168..000000000
Binary files a/data/vlcs_mini/caltech/mensch/train_imgs_348.jpg and /dev/null differ
diff --git a/data/vlcs_mini/caltech/mensch/train_imgs_349.jpg b/data/vlcs_mini/caltech/mensch/train_imgs_349.jpg
deleted file mode 100644
index 557945edd..000000000
Binary files a/data/vlcs_mini/caltech/mensch/train_imgs_349.jpg and /dev/null differ
diff --git a/data/vlcs_mini/caltech/mensch/train_imgs_350.jpg b/data/vlcs_mini/caltech/mensch/train_imgs_350.jpg
deleted file mode 100644
index 65fab7eb1..000000000
Binary files a/data/vlcs_mini/caltech/mensch/train_imgs_350.jpg and /dev/null differ
diff --git a/data/vlcs_mini/caltech/mensch/train_imgs_351.jpg b/data/vlcs_mini/caltech/mensch/train_imgs_351.jpg
deleted file mode 100644
index 9afc1b7c7..000000000
Binary files a/data/vlcs_mini/caltech/mensch/train_imgs_351.jpg and /dev/null differ
diff --git a/data/vlcs_mini/caltech/mensch/train_imgs_352.jpg b/data/vlcs_mini/caltech/mensch/train_imgs_352.jpg
deleted file mode 100644
index c1a367b04..000000000
Binary files a/data/vlcs_mini/caltech/mensch/train_imgs_352.jpg and /dev/null differ
diff --git a/data/vlcs_mini/caltech/stuhl/train_imgs_227.jpg b/data/vlcs_mini/caltech/stuhl/train_imgs_227.jpg
deleted file mode 100644
index b8e68d5f6..000000000
Binary files a/data/vlcs_mini/caltech/stuhl/train_imgs_227.jpg and /dev/null differ
diff --git a/data/vlcs_mini/caltech/stuhl/train_imgs_228.jpg b/data/vlcs_mini/caltech/stuhl/train_imgs_228.jpg
deleted file mode 100644
index 4d685f58d..000000000
Binary files a/data/vlcs_mini/caltech/stuhl/train_imgs_228.jpg and /dev/null differ
diff --git a/data/vlcs_mini/caltech/stuhl/train_imgs_229.jpg b/data/vlcs_mini/caltech/stuhl/train_imgs_229.jpg
deleted file mode 100644
index 54f87677d..000000000
Binary files a/data/vlcs_mini/caltech/stuhl/train_imgs_229.jpg and /dev/null differ
diff --git a/data/vlcs_mini/caltech/stuhl/train_imgs_230.jpg b/data/vlcs_mini/caltech/stuhl/train_imgs_230.jpg
deleted file mode 100644
index 2cce711ab..000000000
Binary files a/data/vlcs_mini/caltech/stuhl/train_imgs_230.jpg and /dev/null differ
diff --git a/data/vlcs_mini/caltech/stuhl/train_imgs_231.jpg b/data/vlcs_mini/caltech/stuhl/train_imgs_231.jpg
deleted file mode 100644
index 6e2036865..000000000
Binary files a/data/vlcs_mini/caltech/stuhl/train_imgs_231.jpg and /dev/null differ
diff --git a/data/vlcs_mini/caltech/stuhl/train_imgs_232.jpg b/data/vlcs_mini/caltech/stuhl/train_imgs_232.jpg
deleted file mode 100644
index d2878a44b..000000000
Binary files a/data/vlcs_mini/caltech/stuhl/train_imgs_232.jpg and /dev/null differ
diff --git a/data/vlcs_mini/caltech/vogel/train_imgs_1.jpg b/data/vlcs_mini/caltech/vogel/train_imgs_1.jpg
deleted file mode 100644
index 36e8af5d6..000000000
Binary files a/data/vlcs_mini/caltech/vogel/train_imgs_1.jpg and /dev/null differ
diff --git a/data/vlcs_mini/caltech/vogel/train_imgs_2.jpg b/data/vlcs_mini/caltech/vogel/train_imgs_2.jpg
deleted file mode 100644
index 5affad9fb..000000000
Binary files a/data/vlcs_mini/caltech/vogel/train_imgs_2.jpg and /dev/null differ
diff --git a/data/vlcs_mini/caltech/vogel/train_imgs_3.jpg b/data/vlcs_mini/caltech/vogel/train_imgs_3.jpg
deleted file mode 100644
index b85bdc572..000000000
Binary files a/data/vlcs_mini/caltech/vogel/train_imgs_3.jpg and /dev/null differ
diff --git a/data/vlcs_mini/caltech/vogel/train_imgs_4.jpg b/data/vlcs_mini/caltech/vogel/train_imgs_4.jpg
deleted file mode 100644
index df57a475a..000000000
Binary files a/data/vlcs_mini/caltech/vogel/train_imgs_4.jpg and /dev/null differ
diff --git a/data/vlcs_mini/caltech/vogel/train_imgs_5.jpg b/data/vlcs_mini/caltech/vogel/train_imgs_5.jpg
deleted file mode 100644
index d5c1394c5..000000000
Binary files a/data/vlcs_mini/caltech/vogel/train_imgs_5.jpg and /dev/null differ
diff --git a/data/vlcs_mini/caltech/vogel/train_imgs_6.jpg b/data/vlcs_mini/caltech/vogel/train_imgs_6.jpg
deleted file mode 100644
index aac9ff7a9..000000000
Binary files a/data/vlcs_mini/caltech/vogel/train_imgs_6.jpg and /dev/null differ
diff --git a/data/vlcs_mini/caltech/vogel/train_imgs_7.jpg b/data/vlcs_mini/caltech/vogel/train_imgs_7.jpg
deleted file mode 100644
index 3778a5f82..000000000
Binary files a/data/vlcs_mini/caltech/vogel/train_imgs_7.jpg and /dev/null differ
diff --git a/data/vlcs_mini/caltech/vogel/train_imgs_8.jpg b/data/vlcs_mini/caltech/vogel/train_imgs_8.jpg
deleted file mode 100644
index e77fd8b77..000000000
Binary files a/data/vlcs_mini/caltech/vogel/train_imgs_8.jpg and /dev/null differ
diff --git a/data/vlcs_mini/caltech/vogel/train_imgs_9.jpg b/data/vlcs_mini/caltech/vogel/train_imgs_9.jpg
deleted file mode 100644
index 45d4fce7b..000000000
Binary files a/data/vlcs_mini/caltech/vogel/train_imgs_9.jpg and /dev/null differ
diff --git a/data/vlcs_mini/labelme/bird/train_imgs_1.jpg b/data/vlcs_mini/labelme/bird/train_imgs_1.jpg
deleted file mode 100644
index fa62a47f9..000000000
Binary files a/data/vlcs_mini/labelme/bird/train_imgs_1.jpg and /dev/null differ
diff --git a/data/vlcs_mini/labelme/bird/train_imgs_10.jpg b/data/vlcs_mini/labelme/bird/train_imgs_10.jpg
deleted file mode 100644
index b690f5c0f..000000000
Binary files a/data/vlcs_mini/labelme/bird/train_imgs_10.jpg and /dev/null differ
diff --git a/data/vlcs_mini/labelme/bird/train_imgs_11.jpg b/data/vlcs_mini/labelme/bird/train_imgs_11.jpg
deleted file mode 100644
index fc9eacc24..000000000
Binary files a/data/vlcs_mini/labelme/bird/train_imgs_11.jpg and /dev/null differ
diff --git a/data/vlcs_mini/labelme/bird/train_imgs_12.jpg b/data/vlcs_mini/labelme/bird/train_imgs_12.jpg
deleted file mode 100644
index 4717327ea..000000000
Binary files a/data/vlcs_mini/labelme/bird/train_imgs_12.jpg and /dev/null differ
diff --git a/data/vlcs_mini/labelme/bird/train_imgs_13.jpg b/data/vlcs_mini/labelme/bird/train_imgs_13.jpg
deleted file mode 100644
index 1e749728c..000000000
Binary files a/data/vlcs_mini/labelme/bird/train_imgs_13.jpg and /dev/null differ
diff --git a/data/vlcs_mini/labelme/bird/train_imgs_14.jpg b/data/vlcs_mini/labelme/bird/train_imgs_14.jpg
deleted file mode 100644
index d7ab9c7d2..000000000
Binary files a/data/vlcs_mini/labelme/bird/train_imgs_14.jpg and /dev/null differ
diff --git a/data/vlcs_mini/labelme/bird/train_imgs_15.jpg b/data/vlcs_mini/labelme/bird/train_imgs_15.jpg
deleted file mode 100644
index 6bdaa4adf..000000000
Binary files a/data/vlcs_mini/labelme/bird/train_imgs_15.jpg and /dev/null differ
diff --git a/data/vlcs_mini/labelme/bird/train_imgs_16.jpg b/data/vlcs_mini/labelme/bird/train_imgs_16.jpg
deleted file mode 100644
index 3c8a0bbcf..000000000
Binary files a/data/vlcs_mini/labelme/bird/train_imgs_16.jpg and /dev/null differ
diff --git a/data/vlcs_mini/labelme/bird/train_imgs_17.jpg b/data/vlcs_mini/labelme/bird/train_imgs_17.jpg
deleted file mode 100644
index 245636d68..000000000
Binary files a/data/vlcs_mini/labelme/bird/train_imgs_17.jpg and /dev/null differ
diff --git a/data/vlcs_mini/labelme/bird/train_imgs_18.jpg b/data/vlcs_mini/labelme/bird/train_imgs_18.jpg
deleted file mode 100644
index ce4516875..000000000
Binary files a/data/vlcs_mini/labelme/bird/train_imgs_18.jpg and /dev/null differ
diff --git a/data/vlcs_mini/labelme/bird/train_imgs_19.jpg b/data/vlcs_mini/labelme/bird/train_imgs_19.jpg
deleted file mode 100644
index 5243db38c..000000000
Binary files a/data/vlcs_mini/labelme/bird/train_imgs_19.jpg and /dev/null differ
diff --git a/data/vlcs_mini/labelme/bird/train_imgs_2.jpg b/data/vlcs_mini/labelme/bird/train_imgs_2.jpg
deleted file mode 100644
index adb944495..000000000
Binary files a/data/vlcs_mini/labelme/bird/train_imgs_2.jpg and /dev/null differ
diff --git a/data/vlcs_mini/labelme/bird/train_imgs_20.jpg b/data/vlcs_mini/labelme/bird/train_imgs_20.jpg
deleted file mode 100644
index 9d2a94afb..000000000
Binary files a/data/vlcs_mini/labelme/bird/train_imgs_20.jpg and /dev/null differ
diff --git a/data/vlcs_mini/labelme/bird/train_imgs_21.jpg b/data/vlcs_mini/labelme/bird/train_imgs_21.jpg
deleted file mode 100644
index 8b2fd0903..000000000
Binary files a/data/vlcs_mini/labelme/bird/train_imgs_21.jpg and /dev/null differ
diff --git a/data/vlcs_mini/labelme/bird/train_imgs_22.jpg b/data/vlcs_mini/labelme/bird/train_imgs_22.jpg
deleted file mode 100644
index 210ef5efb..000000000
Binary files a/data/vlcs_mini/labelme/bird/train_imgs_22.jpg and /dev/null differ
diff --git a/data/vlcs_mini/labelme/bird/train_imgs_23.jpg b/data/vlcs_mini/labelme/bird/train_imgs_23.jpg
deleted file mode 100644
index 5e47e9363..000000000
Binary files a/data/vlcs_mini/labelme/bird/train_imgs_23.jpg and /dev/null differ
diff --git a/data/vlcs_mini/labelme/bird/train_imgs_24.jpg b/data/vlcs_mini/labelme/bird/train_imgs_24.jpg
deleted file mode 100644
index d2e6cd15f..000000000
Binary files a/data/vlcs_mini/labelme/bird/train_imgs_24.jpg and /dev/null differ
diff --git a/data/vlcs_mini/labelme/bird/train_imgs_25.jpg b/data/vlcs_mini/labelme/bird/train_imgs_25.jpg
deleted file mode 100644
index 925013222..000000000
Binary files a/data/vlcs_mini/labelme/bird/train_imgs_25.jpg and /dev/null differ
diff --git a/data/vlcs_mini/labelme/bird/train_imgs_26.jpg b/data/vlcs_mini/labelme/bird/train_imgs_26.jpg
deleted file mode 100644
index c19911e9d..000000000
Binary files a/data/vlcs_mini/labelme/bird/train_imgs_26.jpg and /dev/null differ
diff --git a/data/vlcs_mini/labelme/bird/train_imgs_27.jpg b/data/vlcs_mini/labelme/bird/train_imgs_27.jpg
deleted file mode 100644
index dfc58dc55..000000000
Binary files a/data/vlcs_mini/labelme/bird/train_imgs_27.jpg and /dev/null differ
diff --git a/data/vlcs_mini/labelme/bird/train_imgs_28.jpg b/data/vlcs_mini/labelme/bird/train_imgs_28.jpg
deleted file mode 100644
index d7f5a3c20..000000000
Binary files a/data/vlcs_mini/labelme/bird/train_imgs_28.jpg and /dev/null differ
diff --git a/data/vlcs_mini/labelme/bird/train_imgs_29.jpg b/data/vlcs_mini/labelme/bird/train_imgs_29.jpg
deleted file mode 100644
index bbc4bbec8..000000000
Binary files a/data/vlcs_mini/labelme/bird/train_imgs_29.jpg and /dev/null differ
diff --git a/data/vlcs_mini/labelme/bird/train_imgs_3.jpg b/data/vlcs_mini/labelme/bird/train_imgs_3.jpg
deleted file mode 100644
index 1fdc623ba..000000000
Binary files a/data/vlcs_mini/labelme/bird/train_imgs_3.jpg and /dev/null differ
diff --git a/data/vlcs_mini/labelme/bird/train_imgs_30.jpg b/data/vlcs_mini/labelme/bird/train_imgs_30.jpg
deleted file mode 100644
index b48f0df0f..000000000
Binary files a/data/vlcs_mini/labelme/bird/train_imgs_30.jpg and /dev/null differ
diff --git a/data/vlcs_mini/labelme/bird/train_imgs_31.jpg b/data/vlcs_mini/labelme/bird/train_imgs_31.jpg
deleted file mode 100644
index 2d7448309..000000000
Binary files a/data/vlcs_mini/labelme/bird/train_imgs_31.jpg and /dev/null differ
diff --git a/data/vlcs_mini/labelme/bird/train_imgs_32.jpg b/data/vlcs_mini/labelme/bird/train_imgs_32.jpg
deleted file mode 100644
index 03fa4f818..000000000
Binary files a/data/vlcs_mini/labelme/bird/train_imgs_32.jpg and /dev/null differ
diff --git a/data/vlcs_mini/labelme/bird/train_imgs_33.jpg b/data/vlcs_mini/labelme/bird/train_imgs_33.jpg
deleted file mode 100644
index 9dc6bcc6c..000000000
Binary files a/data/vlcs_mini/labelme/bird/train_imgs_33.jpg and /dev/null differ
diff --git a/data/vlcs_mini/labelme/bird/train_imgs_34.jpg b/data/vlcs_mini/labelme/bird/train_imgs_34.jpg
deleted file mode 100644
index 2879c5e0c..000000000
Binary files a/data/vlcs_mini/labelme/bird/train_imgs_34.jpg and /dev/null differ
diff --git a/data/vlcs_mini/labelme/bird/train_imgs_35.jpg b/data/vlcs_mini/labelme/bird/train_imgs_35.jpg
deleted file mode 100644
index 7a16d6f34..000000000
Binary files a/data/vlcs_mini/labelme/bird/train_imgs_35.jpg and /dev/null differ
diff --git a/data/vlcs_mini/labelme/bird/train_imgs_36.jpg b/data/vlcs_mini/labelme/bird/train_imgs_36.jpg
deleted file mode 100644
index 6104ff96e..000000000
Binary files a/data/vlcs_mini/labelme/bird/train_imgs_36.jpg and /dev/null differ
diff --git a/data/vlcs_mini/labelme/bird/train_imgs_37.jpg b/data/vlcs_mini/labelme/bird/train_imgs_37.jpg
deleted file mode 100644
index 6ce48a9d9..000000000
Binary files a/data/vlcs_mini/labelme/bird/train_imgs_37.jpg and /dev/null differ
diff --git a/data/vlcs_mini/labelme/bird/train_imgs_38.jpg b/data/vlcs_mini/labelme/bird/train_imgs_38.jpg
deleted file mode 100644
index 2a1366fca..000000000
Binary files a/data/vlcs_mini/labelme/bird/train_imgs_38.jpg and /dev/null differ
diff --git a/data/vlcs_mini/labelme/bird/train_imgs_39.jpg b/data/vlcs_mini/labelme/bird/train_imgs_39.jpg
deleted file mode 100644
index 76d101104..000000000
Binary files a/data/vlcs_mini/labelme/bird/train_imgs_39.jpg and /dev/null differ
diff --git a/data/vlcs_mini/labelme/bird/train_imgs_4.jpg b/data/vlcs_mini/labelme/bird/train_imgs_4.jpg
deleted file mode 100644
index 4e970302b..000000000
Binary files a/data/vlcs_mini/labelme/bird/train_imgs_4.jpg and /dev/null differ
diff --git a/data/vlcs_mini/labelme/bird/train_imgs_40.jpg b/data/vlcs_mini/labelme/bird/train_imgs_40.jpg
deleted file mode 100644
index 1b4544988..000000000
Binary files a/data/vlcs_mini/labelme/bird/train_imgs_40.jpg and /dev/null differ
diff --git a/data/vlcs_mini/labelme/bird/train_imgs_41.jpg b/data/vlcs_mini/labelme/bird/train_imgs_41.jpg
deleted file mode 100644
index 58ac89b3d..000000000
Binary files a/data/vlcs_mini/labelme/bird/train_imgs_41.jpg and /dev/null differ
diff --git a/data/vlcs_mini/labelme/bird/train_imgs_42.jpg b/data/vlcs_mini/labelme/bird/train_imgs_42.jpg
deleted file mode 100644
index 1788966d7..000000000
Binary files a/data/vlcs_mini/labelme/bird/train_imgs_42.jpg and /dev/null differ
diff --git a/data/vlcs_mini/labelme/bird/train_imgs_43.jpg b/data/vlcs_mini/labelme/bird/train_imgs_43.jpg
deleted file mode 100644
index bfdc2c869..000000000
Binary files a/data/vlcs_mini/labelme/bird/train_imgs_43.jpg and /dev/null differ
diff --git a/data/vlcs_mini/labelme/bird/train_imgs_44.jpg b/data/vlcs_mini/labelme/bird/train_imgs_44.jpg
deleted file mode 100644
index 37b476a41..000000000
Binary files a/data/vlcs_mini/labelme/bird/train_imgs_44.jpg and /dev/null differ
diff --git a/data/vlcs_mini/labelme/bird/train_imgs_45.jpg b/data/vlcs_mini/labelme/bird/train_imgs_45.jpg
deleted file mode 100644
index 7efb92de8..000000000
Binary files a/data/vlcs_mini/labelme/bird/train_imgs_45.jpg and /dev/null differ
diff --git a/data/vlcs_mini/labelme/bird/train_imgs_46.jpg b/data/vlcs_mini/labelme/bird/train_imgs_46.jpg
deleted file mode 100644
index e590b1c5e..000000000
Binary files a/data/vlcs_mini/labelme/bird/train_imgs_46.jpg and /dev/null differ
diff --git a/data/vlcs_mini/labelme/bird/train_imgs_47.jpg b/data/vlcs_mini/labelme/bird/train_imgs_47.jpg
deleted file mode 100644
index 3cdbdeb6b..000000000
Binary files a/data/vlcs_mini/labelme/bird/train_imgs_47.jpg and /dev/null differ
diff --git a/data/vlcs_mini/labelme/bird/train_imgs_48.jpg b/data/vlcs_mini/labelme/bird/train_imgs_48.jpg
deleted file mode 100644
index 6c271309c..000000000
Binary files a/data/vlcs_mini/labelme/bird/train_imgs_48.jpg and /dev/null differ
diff --git a/data/vlcs_mini/labelme/bird/train_imgs_49.jpg b/data/vlcs_mini/labelme/bird/train_imgs_49.jpg
deleted file mode 100644
index 4030a021a..000000000
Binary files a/data/vlcs_mini/labelme/bird/train_imgs_49.jpg and /dev/null differ
diff --git a/data/vlcs_mini/labelme/bird/train_imgs_5.jpg b/data/vlcs_mini/labelme/bird/train_imgs_5.jpg
deleted file mode 100644
index a5d6091d5..000000000
Binary files a/data/vlcs_mini/labelme/bird/train_imgs_5.jpg and /dev/null differ
diff --git a/data/vlcs_mini/labelme/bird/train_imgs_50.jpg b/data/vlcs_mini/labelme/bird/train_imgs_50.jpg
deleted file mode 100644
index d692b4a41..000000000
Binary files a/data/vlcs_mini/labelme/bird/train_imgs_50.jpg and /dev/null differ
diff --git a/data/vlcs_mini/labelme/bird/train_imgs_6.jpg b/data/vlcs_mini/labelme/bird/train_imgs_6.jpg
deleted file mode 100644
index 4277e39f2..000000000
Binary files a/data/vlcs_mini/labelme/bird/train_imgs_6.jpg and /dev/null differ
diff --git a/data/vlcs_mini/labelme/bird/train_imgs_7.jpg b/data/vlcs_mini/labelme/bird/train_imgs_7.jpg
deleted file mode 100644
index d4daa9e87..000000000
Binary files a/data/vlcs_mini/labelme/bird/train_imgs_7.jpg and /dev/null differ
diff --git a/data/vlcs_mini/labelme/bird/train_imgs_8.jpg b/data/vlcs_mini/labelme/bird/train_imgs_8.jpg
deleted file mode 100644
index c23218241..000000000
Binary files a/data/vlcs_mini/labelme/bird/train_imgs_8.jpg and /dev/null differ
diff --git a/data/vlcs_mini/labelme/bird/train_imgs_9.jpg b/data/vlcs_mini/labelme/bird/train_imgs_9.jpg
deleted file mode 100644
index 4ce7ba627..000000000
Binary files a/data/vlcs_mini/labelme/bird/train_imgs_9.jpg and /dev/null differ
diff --git a/data/vlcs_mini/labelme/drive/train_imgs_51.jpg b/data/vlcs_mini/labelme/drive/train_imgs_51.jpg
deleted file mode 100644
index 5a550fd87..000000000
Binary files a/data/vlcs_mini/labelme/drive/train_imgs_51.jpg and /dev/null differ
diff --git a/data/vlcs_mini/labelme/drive/train_imgs_52.jpg b/data/vlcs_mini/labelme/drive/train_imgs_52.jpg
deleted file mode 100644
index 97f638ace..000000000
Binary files a/data/vlcs_mini/labelme/drive/train_imgs_52.jpg and /dev/null differ
diff --git a/data/vlcs_mini/labelme/drive/train_imgs_54.jpg b/data/vlcs_mini/labelme/drive/train_imgs_54.jpg
deleted file mode 100644
index fab8731c6..000000000
Binary files a/data/vlcs_mini/labelme/drive/train_imgs_54.jpg and /dev/null differ
diff --git a/data/vlcs_mini/labelme/drive/train_imgs_55.jpg b/data/vlcs_mini/labelme/drive/train_imgs_55.jpg
deleted file mode 100644
index 3394d839f..000000000
Binary files a/data/vlcs_mini/labelme/drive/train_imgs_55.jpg and /dev/null differ
diff --git a/data/vlcs_mini/labelme/drive/train_imgs_56.jpg b/data/vlcs_mini/labelme/drive/train_imgs_56.jpg
deleted file mode 100644
index 4435ee7b4..000000000
Binary files a/data/vlcs_mini/labelme/drive/train_imgs_56.jpg and /dev/null differ
diff --git a/data/vlcs_mini/labelme/drive/train_imgs_57.jpg b/data/vlcs_mini/labelme/drive/train_imgs_57.jpg
deleted file mode 100644
index 13daa967d..000000000
Binary files a/data/vlcs_mini/labelme/drive/train_imgs_57.jpg and /dev/null differ
diff --git a/data/vlcs_mini/labelme/drive/train_imgs_58.jpg b/data/vlcs_mini/labelme/drive/train_imgs_58.jpg
deleted file mode 100644
index e49e1c825..000000000
Binary files a/data/vlcs_mini/labelme/drive/train_imgs_58.jpg and /dev/null differ
diff --git a/data/vlcs_mini/labelme/drive/train_imgs_59.jpg b/data/vlcs_mini/labelme/drive/train_imgs_59.jpg
deleted file mode 100644
index 23f581a14..000000000
Binary files a/data/vlcs_mini/labelme/drive/train_imgs_59.jpg and /dev/null differ
diff --git a/data/vlcs_mini/labelme/drive/train_imgs_60.jpg b/data/vlcs_mini/labelme/drive/train_imgs_60.jpg
deleted file mode 100644
index 85a28391d..000000000
Binary files a/data/vlcs_mini/labelme/drive/train_imgs_60.jpg and /dev/null differ
diff --git a/data/vlcs_mini/labelme/drive/train_imgs_61.jpg b/data/vlcs_mini/labelme/drive/train_imgs_61.jpg
deleted file mode 100644
index 33bc22be7..000000000
Binary files a/data/vlcs_mini/labelme/drive/train_imgs_61.jpg and /dev/null differ
diff --git a/data/vlcs_mini/labelme/drive/train_imgs_64.jpg b/data/vlcs_mini/labelme/drive/train_imgs_64.jpg
deleted file mode 100644
index d31546a13..000000000
Binary files a/data/vlcs_mini/labelme/drive/train_imgs_64.jpg and /dev/null differ
diff --git a/data/vlcs_mini/labelme/drive/train_imgs_65.jpg b/data/vlcs_mini/labelme/drive/train_imgs_65.jpg
deleted file mode 100644
index 7e3a9b223..000000000
Binary files a/data/vlcs_mini/labelme/drive/train_imgs_65.jpg and /dev/null differ
diff --git a/data/vlcs_mini/labelme/drive/train_imgs_69.jpg b/data/vlcs_mini/labelme/drive/train_imgs_69.jpg
deleted file mode 100644
index dff71951f..000000000
Binary files a/data/vlcs_mini/labelme/drive/train_imgs_69.jpg and /dev/null differ
diff --git a/data/vlcs_mini/labelme/drive/train_imgs_70.jpg b/data/vlcs_mini/labelme/drive/train_imgs_70.jpg
deleted file mode 100644
index 5a3d9d962..000000000
Binary files a/data/vlcs_mini/labelme/drive/train_imgs_70.jpg and /dev/null differ
diff --git a/data/vlcs_mini/labelme/husky/train_imgs_870.jpg b/data/vlcs_mini/labelme/husky/train_imgs_870.jpg
deleted file mode 100644
index 07687dfaa..000000000
Binary files a/data/vlcs_mini/labelme/husky/train_imgs_870.jpg and /dev/null differ
diff --git a/data/vlcs_mini/labelme/husky/train_imgs_871.jpg b/data/vlcs_mini/labelme/husky/train_imgs_871.jpg
deleted file mode 100644
index 207ddfd52..000000000
Binary files a/data/vlcs_mini/labelme/husky/train_imgs_871.jpg and /dev/null differ
diff --git a/data/vlcs_mini/labelme/husky/train_imgs_880.jpg b/data/vlcs_mini/labelme/husky/train_imgs_880.jpg
deleted file mode 100644
index 884441f5c..000000000
Binary files a/data/vlcs_mini/labelme/husky/train_imgs_880.jpg and /dev/null differ
diff --git a/data/vlcs_mini/labelme/husky/train_imgs_883.jpg b/data/vlcs_mini/labelme/husky/train_imgs_883.jpg
deleted file mode 100644
index b77e4087f..000000000
Binary files a/data/vlcs_mini/labelme/husky/train_imgs_883.jpg and /dev/null differ
diff --git a/data/vlcs_mini/labelme/husky/train_imgs_886.jpg b/data/vlcs_mini/labelme/husky/train_imgs_886.jpg
deleted file mode 100644
index d134a134c..000000000
Binary files a/data/vlcs_mini/labelme/husky/train_imgs_886.jpg and /dev/null differ
diff --git a/data/vlcs_mini/labelme/husky/train_imgs_891.jpg b/data/vlcs_mini/labelme/husky/train_imgs_891.jpg
deleted file mode 100644
index 8e5b6e5fc..000000000
Binary files a/data/vlcs_mini/labelme/husky/train_imgs_891.jpg and /dev/null differ
diff --git a/data/vlcs_mini/labelme/sit/train_imgs_818.jpg b/data/vlcs_mini/labelme/sit/train_imgs_818.jpg
deleted file mode 100644
index 1445f43ac..000000000
Binary files a/data/vlcs_mini/labelme/sit/train_imgs_818.jpg and /dev/null differ
diff --git a/data/vlcs_mini/labelme/sit/train_imgs_824.jpg b/data/vlcs_mini/labelme/sit/train_imgs_824.jpg
deleted file mode 100644
index b03925923..000000000
Binary files a/data/vlcs_mini/labelme/sit/train_imgs_824.jpg and /dev/null differ
diff --git a/data/vlcs_mini/labelme/sit/train_imgs_830.jpg b/data/vlcs_mini/labelme/sit/train_imgs_830.jpg
deleted file mode 100644
index 3de4d6269..000000000
Binary files a/data/vlcs_mini/labelme/sit/train_imgs_830.jpg and /dev/null differ
diff --git a/data/vlcs_mini/labelme/sit/train_imgs_836.jpg b/data/vlcs_mini/labelme/sit/train_imgs_836.jpg
deleted file mode 100644
index 0953fd6cf..000000000
Binary files a/data/vlcs_mini/labelme/sit/train_imgs_836.jpg and /dev/null differ
diff --git a/data/vlcs_mini/labelme/sit/train_imgs_837.jpg b/data/vlcs_mini/labelme/sit/train_imgs_837.jpg
deleted file mode 100644
index b408dc35c..000000000
Binary files a/data/vlcs_mini/labelme/sit/train_imgs_837.jpg and /dev/null differ
diff --git a/data/vlcs_mini/labelme/sit/train_imgs_849.jpg b/data/vlcs_mini/labelme/sit/train_imgs_849.jpg
deleted file mode 100644
index 67d5c5abe..000000000
Binary files a/data/vlcs_mini/labelme/sit/train_imgs_849.jpg and /dev/null differ
diff --git a/data/vlcs_mini/labelme/sit/train_imgs_858.jpg b/data/vlcs_mini/labelme/sit/train_imgs_858.jpg
deleted file mode 100644
index 3789d7fdb..000000000
Binary files a/data/vlcs_mini/labelme/sit/train_imgs_858.jpg and /dev/null differ
diff --git a/data/vlcs_mini/sun/dog/train_imgs_1253.jpg b/data/vlcs_mini/sun/dog/train_imgs_1253.jpg
deleted file mode 100644
index 00f561eb8..000000000
Binary files a/data/vlcs_mini/sun/dog/train_imgs_1253.jpg and /dev/null differ
diff --git a/data/vlcs_mini/sun/dog/train_imgs_1254.jpg b/data/vlcs_mini/sun/dog/train_imgs_1254.jpg
deleted file mode 100644
index aa2b1ef79..000000000
Binary files a/data/vlcs_mini/sun/dog/train_imgs_1254.jpg and /dev/null differ
diff --git a/data/vlcs_mini/sun/dog/train_imgs_1255.jpg b/data/vlcs_mini/sun/dog/train_imgs_1255.jpg
deleted file mode 100644
index aa74d706a..000000000
Binary files a/data/vlcs_mini/sun/dog/train_imgs_1255.jpg and /dev/null differ
diff --git a/data/vlcs_mini/sun/dog/train_imgs_1256.jpg b/data/vlcs_mini/sun/dog/train_imgs_1256.jpg
deleted file mode 100644
index 2ba1a73ca..000000000
Binary files a/data/vlcs_mini/sun/dog/train_imgs_1256.jpg and /dev/null differ
diff --git a/data/vlcs_mini/sun/dog/train_imgs_1257.jpg b/data/vlcs_mini/sun/dog/train_imgs_1257.jpg
deleted file mode 100644
index 52bf5feda..000000000
Binary files a/data/vlcs_mini/sun/dog/train_imgs_1257.jpg and /dev/null differ
diff --git a/data/vlcs_mini/sun/dog/train_imgs_1258.jpg b/data/vlcs_mini/sun/dog/train_imgs_1258.jpg
deleted file mode 100644
index 814095c57..000000000
Binary files a/data/vlcs_mini/sun/dog/train_imgs_1258.jpg and /dev/null differ
diff --git a/data/vlcs_mini/sun/dog/train_imgs_1259.jpg b/data/vlcs_mini/sun/dog/train_imgs_1259.jpg
deleted file mode 100644
index 787bdb0e1..000000000
Binary files a/data/vlcs_mini/sun/dog/train_imgs_1259.jpg and /dev/null differ
diff --git a/data/vlcs_mini/sun/dog/train_imgs_1260.jpg b/data/vlcs_mini/sun/dog/train_imgs_1260.jpg
deleted file mode 100644
index 43789d870..000000000
Binary files a/data/vlcs_mini/sun/dog/train_imgs_1260.jpg and /dev/null differ
diff --git a/data/vlcs_mini/sun/dog/train_imgs_1261.jpg b/data/vlcs_mini/sun/dog/train_imgs_1261.jpg
deleted file mode 100644
index 8aad332e6..000000000
Binary files a/data/vlcs_mini/sun/dog/train_imgs_1261.jpg and /dev/null differ
diff --git a/data/vlcs_mini/sun/dog/train_imgs_1262.jpg b/data/vlcs_mini/sun/dog/train_imgs_1262.jpg
deleted file mode 100644
index 8aa83944d..000000000
Binary files a/data/vlcs_mini/sun/dog/train_imgs_1262.jpg and /dev/null differ
diff --git a/data/vlcs_mini/sun/dog/train_imgs_1263.jpg b/data/vlcs_mini/sun/dog/train_imgs_1263.jpg
deleted file mode 100644
index 0aff5ec9f..000000000
Binary files a/data/vlcs_mini/sun/dog/train_imgs_1263.jpg and /dev/null differ
diff --git a/data/vlcs_mini/sun/dog/train_imgs_1264.jpg b/data/vlcs_mini/sun/dog/train_imgs_1264.jpg
deleted file mode 100644
index 73b79a98d..000000000
Binary files a/data/vlcs_mini/sun/dog/train_imgs_1264.jpg and /dev/null differ
diff --git a/data/vlcs_mini/sun/dog/train_imgs_1265.jpg b/data/vlcs_mini/sun/dog/train_imgs_1265.jpg
deleted file mode 100644
index 301449719..000000000
Binary files a/data/vlcs_mini/sun/dog/train_imgs_1265.jpg and /dev/null differ
diff --git a/data/vlcs_mini/sun/dog/train_imgs_1266.jpg b/data/vlcs_mini/sun/dog/train_imgs_1266.jpg
deleted file mode 100644
index 3df231c22..000000000
Binary files a/data/vlcs_mini/sun/dog/train_imgs_1266.jpg and /dev/null differ
diff --git a/data/vlcs_mini/sun/dog/train_imgs_1267.jpg b/data/vlcs_mini/sun/dog/train_imgs_1267.jpg
deleted file mode 100644
index 9e179d0a9..000000000
Binary files a/data/vlcs_mini/sun/dog/train_imgs_1267.jpg and /dev/null differ
diff --git a/data/vlcs_mini/sun/dog/train_imgs_1268.jpg b/data/vlcs_mini/sun/dog/train_imgs_1268.jpg
deleted file mode 100644
index f5286c3db..000000000
Binary files a/data/vlcs_mini/sun/dog/train_imgs_1268.jpg and /dev/null differ
diff --git a/data/vlcs_mini/sun/dog/train_imgs_1269.jpg b/data/vlcs_mini/sun/dog/train_imgs_1269.jpg
deleted file mode 100644
index ee3f4a86b..000000000
Binary files a/data/vlcs_mini/sun/dog/train_imgs_1269.jpg and /dev/null differ
diff --git a/data/vlcs_mini/sun/dog/train_imgs_1270.jpg b/data/vlcs_mini/sun/dog/train_imgs_1270.jpg
deleted file mode 100644
index 0595076c7..000000000
Binary files a/data/vlcs_mini/sun/dog/train_imgs_1270.jpg and /dev/null differ
diff --git a/data/vlcs_mini/sun/dog/train_imgs_1271.jpg b/data/vlcs_mini/sun/dog/train_imgs_1271.jpg
deleted file mode 100644
index 9c6d6d74b..000000000
Binary files a/data/vlcs_mini/sun/dog/train_imgs_1271.jpg and /dev/null differ
diff --git a/data/vlcs_mini/sun/flying/train_imgs_1.jpg b/data/vlcs_mini/sun/flying/train_imgs_1.jpg
deleted file mode 100644
index b816f9bc6..000000000
Binary files a/data/vlcs_mini/sun/flying/train_imgs_1.jpg and /dev/null differ
diff --git a/data/vlcs_mini/sun/flying/train_imgs_10.jpg b/data/vlcs_mini/sun/flying/train_imgs_10.jpg
deleted file mode 100644
index a76ed177e..000000000
Binary files a/data/vlcs_mini/sun/flying/train_imgs_10.jpg and /dev/null differ
diff --git a/data/vlcs_mini/sun/flying/train_imgs_11.jpg b/data/vlcs_mini/sun/flying/train_imgs_11.jpg
deleted file mode 100644
index 744ae91fa..000000000
Binary files a/data/vlcs_mini/sun/flying/train_imgs_11.jpg and /dev/null differ
diff --git a/data/vlcs_mini/sun/flying/train_imgs_13.jpg b/data/vlcs_mini/sun/flying/train_imgs_13.jpg
deleted file mode 100644
index d238b4f2a..000000000
Binary files a/data/vlcs_mini/sun/flying/train_imgs_13.jpg and /dev/null differ
diff --git a/data/vlcs_mini/sun/flying/train_imgs_2.jpg b/data/vlcs_mini/sun/flying/train_imgs_2.jpg
deleted file mode 100644
index f3a676599..000000000
Binary files a/data/vlcs_mini/sun/flying/train_imgs_2.jpg and /dev/null differ
diff --git a/data/vlcs_mini/sun/flying/train_imgs_3.jpg b/data/vlcs_mini/sun/flying/train_imgs_3.jpg
deleted file mode 100644
index 584afa327..000000000
Binary files a/data/vlcs_mini/sun/flying/train_imgs_3.jpg and /dev/null differ
diff --git a/data/vlcs_mini/sun/flying/train_imgs_5.jpg b/data/vlcs_mini/sun/flying/train_imgs_5.jpg
deleted file mode 100644
index 1d5a013f9..000000000
Binary files a/data/vlcs_mini/sun/flying/train_imgs_5.jpg and /dev/null differ
diff --git a/data/vlcs_mini/sun/flying/train_imgs_7.jpg b/data/vlcs_mini/sun/flying/train_imgs_7.jpg
deleted file mode 100644
index f52ae690b..000000000
Binary files a/data/vlcs_mini/sun/flying/train_imgs_7.jpg and /dev/null differ
diff --git a/data/vlcs_mini/sun/sapiens/train_imgs_1272.jpg b/data/vlcs_mini/sun/sapiens/train_imgs_1272.jpg
deleted file mode 100644
index 49684abb7..000000000
Binary files a/data/vlcs_mini/sun/sapiens/train_imgs_1272.jpg and /dev/null differ
diff --git a/data/vlcs_mini/sun/sapiens/train_imgs_1273.jpg b/data/vlcs_mini/sun/sapiens/train_imgs_1273.jpg
deleted file mode 100644
index b58476139..000000000
Binary files a/data/vlcs_mini/sun/sapiens/train_imgs_1273.jpg and /dev/null differ
diff --git a/data/vlcs_mini/sun/sapiens/train_imgs_1274.jpg b/data/vlcs_mini/sun/sapiens/train_imgs_1274.jpg
deleted file mode 100644
index 64b3ec66e..000000000
Binary files a/data/vlcs_mini/sun/sapiens/train_imgs_1274.jpg and /dev/null differ
diff --git a/data/vlcs_mini/sun/sapiens/train_imgs_1275.jpg b/data/vlcs_mini/sun/sapiens/train_imgs_1275.jpg
deleted file mode 100644
index eac1b5c8f..000000000
Binary files a/data/vlcs_mini/sun/sapiens/train_imgs_1275.jpg and /dev/null differ
diff --git a/data/vlcs_mini/sun/sapiens/train_imgs_1276.jpg b/data/vlcs_mini/sun/sapiens/train_imgs_1276.jpg
deleted file mode 100644
index 465464ddd..000000000
Binary files a/data/vlcs_mini/sun/sapiens/train_imgs_1276.jpg and /dev/null differ
diff --git a/data/vlcs_mini/sun/sapiens/train_imgs_1277.jpg b/data/vlcs_mini/sun/sapiens/train_imgs_1277.jpg
deleted file mode 100644
index db1a08d31..000000000
Binary files a/data/vlcs_mini/sun/sapiens/train_imgs_1277.jpg and /dev/null differ
diff --git a/data/vlcs_mini/sun/sapiens/train_imgs_1278.jpg b/data/vlcs_mini/sun/sapiens/train_imgs_1278.jpg
deleted file mode 100644
index 3b1641b36..000000000
Binary files a/data/vlcs_mini/sun/sapiens/train_imgs_1278.jpg and /dev/null differ
diff --git a/data/vlcs_mini/sun/sapiens/train_imgs_1279.jpg b/data/vlcs_mini/sun/sapiens/train_imgs_1279.jpg
deleted file mode 100644
index 923043eeb..000000000
Binary files a/data/vlcs_mini/sun/sapiens/train_imgs_1279.jpg and /dev/null differ
diff --git a/data/vlcs_mini/sun/sapiens/train_imgs_1280.jpg b/data/vlcs_mini/sun/sapiens/train_imgs_1280.jpg
deleted file mode 100644
index 904ee40d4..000000000
Binary files a/data/vlcs_mini/sun/sapiens/train_imgs_1280.jpg and /dev/null differ
diff --git a/data/vlcs_mini/sun/sapiens/train_imgs_1281.jpg b/data/vlcs_mini/sun/sapiens/train_imgs_1281.jpg
deleted file mode 100644
index f9bbc85df..000000000
Binary files a/data/vlcs_mini/sun/sapiens/train_imgs_1281.jpg and /dev/null differ
diff --git a/data/vlcs_mini/sun/sapiens/train_imgs_1282.jpg b/data/vlcs_mini/sun/sapiens/train_imgs_1282.jpg
deleted file mode 100644
index 90d6d9a55..000000000
Binary files a/data/vlcs_mini/sun/sapiens/train_imgs_1282.jpg and /dev/null differ
diff --git a/data/vlcs_mini/sun/sapiens/train_imgs_1428.jpg b/data/vlcs_mini/sun/sapiens/train_imgs_1428.jpg
deleted file mode 100644
index 5d981c21f..000000000
Binary files a/data/vlcs_mini/sun/sapiens/train_imgs_1428.jpg and /dev/null differ
diff --git a/data/vlcs_mini/sun/sapiens/train_imgs_2065.jpg b/data/vlcs_mini/sun/sapiens/train_imgs_2065.jpg
deleted file mode 100644
index f81ad3770..000000000
Binary files a/data/vlcs_mini/sun/sapiens/train_imgs_2065.jpg and /dev/null differ
diff --git a/data/vlcs_mini/sun/sapiens/train_imgs_2066.jpg b/data/vlcs_mini/sun/sapiens/train_imgs_2066.jpg
deleted file mode 100644
index 21bf2f7d7..000000000
Binary files a/data/vlcs_mini/sun/sapiens/train_imgs_2066.jpg and /dev/null differ
diff --git a/data/vlcs_mini/sun/sapiens/train_imgs_2067.jpg b/data/vlcs_mini/sun/sapiens/train_imgs_2067.jpg
deleted file mode 100644
index f93d313be..000000000
Binary files a/data/vlcs_mini/sun/sapiens/train_imgs_2067.jpg and /dev/null differ
diff --git a/data/vlcs_mini/sun/sofa/train_imgs_609.jpg b/data/vlcs_mini/sun/sofa/train_imgs_609.jpg
deleted file mode 100644
index 239adbfcc..000000000
Binary files a/data/vlcs_mini/sun/sofa/train_imgs_609.jpg and /dev/null differ
diff --git a/data/vlcs_mini/sun/sofa/train_imgs_612.jpg b/data/vlcs_mini/sun/sofa/train_imgs_612.jpg
deleted file mode 100644
index 55a3480d0..000000000
Binary files a/data/vlcs_mini/sun/sofa/train_imgs_612.jpg and /dev/null differ
diff --git a/data/vlcs_mini/sun/sofa/train_imgs_614.jpg b/data/vlcs_mini/sun/sofa/train_imgs_614.jpg
deleted file mode 100644
index 8723a30be..000000000
Binary files a/data/vlcs_mini/sun/sofa/train_imgs_614.jpg and /dev/null differ
diff --git a/data/vlcs_mini/sun/sofa/train_imgs_620.jpg b/data/vlcs_mini/sun/sofa/train_imgs_620.jpg
deleted file mode 100644
index e0974ef2e..000000000
Binary files a/data/vlcs_mini/sun/sofa/train_imgs_620.jpg and /dev/null differ
diff --git a/data/vlcs_mini/sun/vehicle/train_imgs_17.jpg b/data/vlcs_mini/sun/vehicle/train_imgs_17.jpg
deleted file mode 100644
index 07f3213cc..000000000
Binary files a/data/vlcs_mini/sun/vehicle/train_imgs_17.jpg and /dev/null differ
diff --git a/data/vlcs_mini/sun/vehicle/train_imgs_19.jpg b/data/vlcs_mini/sun/vehicle/train_imgs_19.jpg
deleted file mode 100644
index 33aba5e89..000000000
Binary files a/data/vlcs_mini/sun/vehicle/train_imgs_19.jpg and /dev/null differ
diff --git a/data/vlcs_mini/sun/vehicle/train_imgs_21.jpg b/data/vlcs_mini/sun/vehicle/train_imgs_21.jpg
deleted file mode 100644
index 55cc84237..000000000
Binary files a/data/vlcs_mini/sun/vehicle/train_imgs_21.jpg and /dev/null differ
diff --git a/data/vlcs_mini/sun/vehicle/train_imgs_22.jpg b/data/vlcs_mini/sun/vehicle/train_imgs_22.jpg
deleted file mode 100644
index 182b9c374..000000000
Binary files a/data/vlcs_mini/sun/vehicle/train_imgs_22.jpg and /dev/null differ
diff --git a/data/vlcs_mini/sun/vehicle/train_imgs_23.jpg b/data/vlcs_mini/sun/vehicle/train_imgs_23.jpg
deleted file mode 100644
index 2a7768e41..000000000
Binary files a/data/vlcs_mini/sun/vehicle/train_imgs_23.jpg and /dev/null differ
diff --git a/data/vlcs_mini/sun/vehicle/train_imgs_24.jpg b/data/vlcs_mini/sun/vehicle/train_imgs_24.jpg
deleted file mode 100644
index 4d4973d0a..000000000
Binary files a/data/vlcs_mini/sun/vehicle/train_imgs_24.jpg and /dev/null differ
diff --git a/data/vlcs_mini/sun/vehicle/train_imgs_25.jpg b/data/vlcs_mini/sun/vehicle/train_imgs_25.jpg
deleted file mode 100644
index e27117bd7..000000000
Binary files a/data/vlcs_mini/sun/vehicle/train_imgs_25.jpg and /dev/null differ
diff --git a/data/vlcs_mini/sun/vehicle/train_imgs_26.jpg b/data/vlcs_mini/sun/vehicle/train_imgs_26.jpg
deleted file mode 100644
index 60f378112..000000000
Binary files a/data/vlcs_mini/sun/vehicle/train_imgs_26.jpg and /dev/null differ
diff --git a/data/vlcs_mini/sun/vehicle/train_imgs_478.jpg b/data/vlcs_mini/sun/vehicle/train_imgs_478.jpg
deleted file mode 100644
index 5a5131742..000000000
Binary files a/data/vlcs_mini/sun/vehicle/train_imgs_478.jpg and /dev/null differ
diff --git a/data/ztest_files/aggret_res_test1 b/data/ztest_files/aggret_res_test1
deleted file mode 100644
index f53acf3ae..000000000
--- a/data/ztest_files/aggret_res_test1
+++ /dev/null
@@ -1,2 +0,0 @@
-param_index, method, algo, epos, te_d, seed, params, acc, precision, recall, specificity, f1, auroc
-0, Task1, diva, 2, caltech, 1, "{'gamma_y': 1688039, 'gamma_d': 265711}", 0.75, 0.87068963, 0.5588235, 0.5588235, 0.53100574, 0.8098495
diff --git a/data/ztest_files/aggret_res_test11 b/data/ztest_files/aggret_res_test11
deleted file mode 100644
index 797cc5055..000000000
--- a/data/ztest_files/aggret_res_test11
+++ /dev/null
@@ -1,9 +0,0 @@
-param_index, method, algo, epos, te_d, seed, params, acc, precision, recall, specificity, f1, auroc
-0, Task1, diva, 2, caltech, 1, "{'gamma_y': 1688039, 'gamma_d': 265711}", 0.75, 0.87068963, 0.5588235, 0.5588235, 0.53100574, 0.8098495
-0, Task1, diva, 2, caltech, 2, "{'gamma_y': 1688039, 'gamma_d': 265711}", 0.8111111, 0.8232258, 0.6903785, 0.6903785, 0.71645665, 0.89284086
-1, Task1, diva, 2, caltech, 1, "{'gamma_y': 3648291, 'gamma_d': 320432}", 0.75, 0.87068963, 0.5588235, 0.5588235, 0.53100574, 0.8095455
-1, Task1, diva, 2, caltech, 2, "{'gamma_y': 3648291, 'gamma_d': 320432}", 0.82222223, 0.8609804, 0.6981304, 0.6981304, 0.7278397, 0.9361605
-0, Task2, hduva, 2, caltech, 1, "{'a': 1, 'b': 3}", 0.76, 0.76, 0.49, 0.56, 0.57, 0.76
-0, Task2, hduva, 2, caltech, 2, "{'a': 1, 'b': 3}", 0.81, 0.75, 0.45, 0.64, 0.75, 0.89
-1, Task2, hduva, 2, caltech, 1, "{'a': 2, 'b': 4}", 0.75, 0.81, 0.45, 0.54, 0.39, 0.88
-1, Task2, hduva, 2, caltech, 2, "{'a': 2, 'b': 4}", 0.73, 0.72, 0.51, 0.51, 0.6, 0.88
diff --git a/data/ztest_files/aggret_res_test2 b/data/ztest_files/aggret_res_test2
deleted file mode 100644
index 93104ef85..000000000
--- a/data/ztest_files/aggret_res_test2
+++ /dev/null
@@ -1,5 +0,0 @@
-param_index, method, algo, epos, te_d, seed, params, acc, precision, recall, specificity, f1, auroc
-0, Task1, diva, 2, caltech, 1, "{'gamma_y': 1688039, 'gamma_d': 265711}", 0.75, 0.87068963, 0.5588235, 0.5588235, 0.53100574, 0.8098495
-0, Task1, diva, 2, caltech, 2, "{'gamma_y': 1688039, 'gamma_d': 265711}", 0.8111111, 0.8232258, 0.6903785, 0.6903785, 0.71645665, 0.89284086
-2, Task1, diva, 2, caltech, 3, "{'gamma_y': 1688039, 'gamma_d': 265711}", 0.77397263, 0.82765615, 0.59528303, 0.59528303, 0.5953641, 0.74150944
-0, Task2, diva, 2, caltech, 1, "{'gamma_y': 1688039, 'gamma_d': 265711}", 0.75, 0.87068963, 0.5588235, 0.5588235, 0.53100574, 0.8098495
diff --git a/data/ztest_files/aggret_res_test21 b/data/ztest_files/aggret_res_test21
deleted file mode 100644
index 5bb677ba7..000000000
--- a/data/ztest_files/aggret_res_test21
+++ /dev/null
@@ -1,23 +0,0 @@
-param_index, method, algo, epos, te_d, seed, params, acc, precision, recall, specificity, f1, auroc
-0, Task1, diva, 2, caltech, 1, "{'gamma_y': 1688039, 'gamma_d': 265711}", 0.75, 0.87068963, 0.5588235, 0.5588235, 0.53100574, 0.8098495
-0, Task1, diva, 2, caltech, 2, "{'gamma_y': 1688039, 'gamma_d': 265711}", 0.8111111, 0.8232258, 0.6903785, 0.6903785, 0.71645665, 0.89284086
-2, Task1, diva, 2, caltech, 3, "{'gamma_y': 1688039, 'gamma_d': 265711}", 0.77397263, 0.82765615, 0.59528303, 0.59528303, 0.5953641, 0.74150944
-2, Task1, diva, 2, caltech, 4, "{'gamma_y': 1688039, 'gamma_d': 265711}", 0.851917, 0.7569983, 0.8873113, 0.8173113, 0.7985473, 0.8769811
-2, Task1, diva, 2, caltech, 5, "{'gamma_y': 1688039, 'gamma_d': 265711}", 0.84, 0.85, 0.615, 0.62, 0.62, 0.74
-1, Task1, diva, 2, caltech, 1, "{'gamma_y': 3648291, 'gamma_d': 320432}", 0.75, 0.87068963, 0.5588235, 0.5588235, 0.53100574, 0.8095455
-1, Task1, diva, 2, caltech, 2, "{'gamma_y': 3648291, 'gamma_d': 320432}", 0.82222223, 0.8609804, 0.6981304, 0.6981304, 0.7278397, 0.9361605
-1, Task1, diva, 2, caltech, 3, "{'gamma_y': 3648291, 'gamma_d': 320432}", 0.85397263, 0.95765615, 0.67528303, 0.6728303, 0.6853641, 0.81150944
-1, Task1, diva, 2, caltech, 4, "{'gamma_y': 3648291, 'gamma_d': 320432}", 0.971917, 0.8869983, 0.9273113, 0.9273113, 0.8285473, 0.9369811
-1, Task1, diva, 2, caltech, 5, "{'gamma_y': 3648291, 'gamma_d': 320432}", 0.92, 0.91, 0.74, 0.75, 0.67, 0.8
-0, Task2, hduva, 2, caltech, 1, "{'gamma_y': 97228, 'zy_dim': 76}", 0.76, 0.76, 0.49, 0.56, 0.57, 0.76
-0, Task2, hduva, 2, caltech, 2, "{'gamma_y': 97228, 'zy_dim': 76}", 0.81, 0.75, 0.45, 0.64, 0.75, 0.89
-0, Task2, hduva, 2, caltech, 3, "{'gamma_y': 97228, 'zy_dim': 76}", 0.8251667, 0.104563385, 0.10817383, 0.90109926, 0.08242064, 0.519054
-0, Task2, hduva, 2, caltech, 4, "{'gamma_y': 97228, 'zy_dim': 76}", 0.97535366, 0.88569593, 0.87402904, 0.98618114, 0.87845683, 0.99118155
-0, Task2, hduva, 2, caltech, 5, "{'gamma_y': 97228, 'zy_dim': 76}", 0.82422227, 0.10658247, 0.1084048, 0.9009563, 0.08635866, 0.51927835
-1, Task2, hduva, 2, caltech, 1, "{'gamma_y': 196616, 'zy_dim': 68}", 0.75, 0.81, 0.45, 0.54, 0.39, 0.88
-1, Task2, hduva, 2, caltech, 2, "{'gamma_y': 196616, 'zy_dim': 68}", 0.73, 0.72, 0.51, 0.51, 0.6, 0.88
-1, Task2, hduva, 2, caltech, 1, "{'gamma_y': 113475, 'zy_dim': 48}", 0.8551667, 0.204563385, 0.20817383, 0.80109926, 0.15242064, 0.559054
-1, Task2, hduva, 2, caltech, 2, "{'gamma_y': 113475, 'zy_dim': 48}", 0.57535366, 0.52569593, 0.41402904, 0.68618114, 0.57845683, 0.89118155
-1, Task2, hduva, 2, caltech, 3, "{'gamma_y': 113475, 'zy_dim': 48}", 0.72422227, 0.20658247, 0.2084048, 0.7009563, 0.18635866, 0.61927835
-1, Task2, erm, 2, caltech, 1, "{}", 0.5, 0.5, 0.5, 0.5, 0.5, 0.5
-1, Task2, erm, 2, caltech, 2, "{}", 0.4, 0.4, 0.4, 0.4, 0.4, 0.4
diff --git a/data/ztest_files/dummy_file.py b/data/ztest_files/dummy_file.py
deleted file mode 100644
index e0c7faa27..000000000
--- a/data/ztest_files/dummy_file.py
+++ /dev/null
@@ -1,4 +0,0 @@
-"""
-I am a dummy file used in tests/test_git_tag.py
-to produce a file which is not commited
-"""
diff --git a/data/ztest_files/test_parameter_samples.csv b/data/ztest_files/test_parameter_samples.csv
deleted file mode 100644
index e3ebdbf4a..000000000
--- a/data/ztest_files/test_parameter_samples.csv
+++ /dev/null
@@ -1,2 +0,0 @@
-,method,model,params
-0,diva,diva,"{'gamma_y': 10e5, 'gamma_d': 1e5}"
diff --git a/docs/conf.py b/docs/conf.py
index ea547e0d7..0a0c8b1d3 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -168,11 +168,6 @@
"internal": True,
"title": "Examples with MNIST",
},
- {
- "href": "doc_examples",
- "internal": True,
- "title": "More commandline examples",
- },
{"href": "doc_benchmark", "internal": True, "title": "Benchmarks tutorial"},
{"href": "doc_output", "internal": True, "title": "Output Structure"},
{
diff --git a/docs/docDIAL.md b/docs/docDIAL.md
index 8b8111de8..3aa28a49f 100644
--- a/docs/docDIAL.md
+++ b/docs/docDIAL.md
@@ -72,3 +72,24 @@ This procedure yields to the following availability of hyperparameter:
- `--dial_epsilon`: pixel wise threshold to perturb images
- `--gamma_reg`: ? ($\epsilon$ in the paper)
- `--lr`: learning rate ($\alpha$ in the paper)
+
+## Examples
+
+```
+python main_out.py --te_d=0 --task=mnistcolor10 --model=erm --trainer=dial --nname=conv_bn_pool_2
+```
+
+
+
+```shell
+python main_out.py --te_d=0 --task=mnistcolor10 --keep_model --model=erm --trainer=dial --nname=conv_bn_pool_2
+```
+### Train DIVA model with DIAL trainer
+
+```shell
+python main_out.py --te_d 0 1 2 --tr_d 3 7 --task=mnistcolor10 --model=diva --nname=conv_bn_pool_2 --nname_dom=conv_bn_pool_2 --gamma_y=7e5 --gamma_d=1e5 --trainer=dial
+```
+### Set hyper-parameters for trainer as well
+```shell
+python main_out.py --te_d 0 1 2 --tr_d 3 7 --task=mnistcolor10 --model=diva --nname=conv_bn_pool_2 --nname_dom=conv_bn_pool_2 --gamma_y=7e5 --gamma_d=1e5 --trainer=dial --dial_steps_perturb=1
+```
diff --git a/docs/docFishr.md b/docs/docFishr.md
index 08580d9fe..90c2da6b4 100644
--- a/docs/docFishr.md
+++ b/docs/docFishr.md
@@ -72,6 +72,10 @@ For more details, see the reference below or the domainlab code.
+## Examples
+```
+python main_out.py --te_d=0 --task=mini_vlcs --model=erm --trainer=fishr --nname=alexnet --bs=2 --nocu
+```
@@ -79,3 +83,4 @@ _Reference:_
Rame, Alexandre, Corentin Dancette, and Matthieu Cord. "Fishr:
Invariant gradient variances for out-of-distribution generalization."
International Conference on Machine Learning. PMLR, 2022.
+
diff --git a/docs/docHDUVA.md b/docs/docHDUVA.md
index 4abcb71e9..dbf3c429c 100644
--- a/docs/docHDUVA.md
+++ b/docs/docHDUVA.md
@@ -53,6 +53,8 @@ Alternatively, one could use an existing neural network in DomainLab using `nnam
## Hyperparameter for warmup
Finally, the number of epochs for hyper-parameter warm-up can be specified via the argument `warmup`.
+
+
Please cite our paper if you find it useful!
```text
@inproceedings{sun2021hierarchical,
@@ -62,3 +64,46 @@ Please cite our paper if you find it useful!
year={2021}
}
```
+
+
+
+## Examples
+
+### hduva use custom net for sandwich encoder
+```shell
+python main_out.py --te_d=caltech --bs=2 --task=mini_vlcs --model=hduva --nname=conv_bn_pool_2 --gamma_y=7e5 --nname_encoder_x2topic_h=conv_bn_pool_2 --npath_encoder_sandwich_x2h4zd=examples/nets/resnet.py
+```
+
+### hduva use custom net for topic encoder
+```shell
+python main_out.py --te_d=caltech --bs=2 --task=mini_vlcs --model=hduva --nname=conv_bn_pool_2 --gamma_y=7e5 --npath_encoder_x2topic_h=examples/nets/resnet.py --nname_encoder_sandwich_x2h4zd=conv_bn_pool_2
+```
+
+### hduva use custom net for classification encoder
+```shell
+python main_out.py --te_d=caltech --bs=2 --task=mini_vlcs --model=hduva --npath=examples/nets/resnet.py --gamma_y=7e5 --nname_encoder_x2topic_h=conv_bn_pool_2 --nname_encoder_sandwich_x2h4zd=conv_bn_pool_2
+```
+
+### use hduva on color mnist, train on 2 domains
+```shell
+python main_out.py --tr_d 0 1 2 --te_d 3 --bs=2 --task=mnistcolor10 --model=hduva --nname=conv_bn_pool_2 --gamma_y=7e5 --nname_encoder_x2topic_h=conv_bn_pool_2 --nname_encoder_sandwich_x2h4zd=conv_bn_pool_2
+```
+
+### hduva is domain-unsupervised, so it works also with a single domain
+```shell
+python main_out.py --tr_d 0 --te_d 3 4 --bs=2 --task=mnistcolor10 --model=hduva --nname=conv_bn_pool_2 --gamma_y=7e5 --nname_encoder_x2topic_h=conv_bn_pool_2 --nname_encoder_sandwich_x2h4zd=conv_bn_pool_2
+```
+
+### hduva with implemented neural network
+```shell
+python main_out.py --te_d=caltech --bs=2 --task=mini_vlcs --model=hduva --nname=conv_bn_pool_2 --gamma_y=7e5 --nname_encoder_x2topic_h=conv_bn_pool_2 --nname_encoder_sandwich_x2h4zd=conv_bn_pool_2
+```
+
+### hduva use alex net
+```shell
+python main_out.py --te_d=caltech --bs=2 --task=mini_vlcs --model=hduva --nname=conv_bn_pool_2 --gamma_y=7e5 --nname_encoder_x2topic_h=conv_bn_pool_2 --nname_encoder_sandwich_x2h4zd=alexnet
+```
+
+
+
+
diff --git a/docs/docIRM.md b/docs/docIRM.md
new file mode 100644
index 000000000..fd097e2aa
--- /dev/null
+++ b/docs/docIRM.md
@@ -0,0 +1,34 @@
+# Trainer IRM (Invariant Risk Minimization)
+
+Decompose a classification task into feature extraction $\Phi(\cdot)$ and classificaiton layer $w(\cdot)$, then the task loss is
+
+$\ell^{(d)} (w \circ \Phi) = \mathbb{E}_{(X, Y) \sim \mathcal{D}_d}[\ell(w \circ \Phi(X), Y)]$
+where we use $\ell$ to denote the cross entropy for a classification task, and $\mathcal{D}_d$ for distribution of domain $d$.
+
+The idea of IRM is to choose classifier $w$ to be in the intersection of optimal classifiers for each domain $$d$$.
+
+$$w \in {\arg\min}_{\bar{w}} \ell^{(d)}(\bar{w} \circ \Phi) \quad \forall d$$
+
+regardless of feature extractor $\Phi(\cdot)$,
+this serves as a constraint on the choice of classifiers $w$.
+
+The feature extractor $\Phi(\cdot)$ then get optimized under this constraint.
+
+Thus IRM forms a bi-level optimization by jointly optimize $\Phi$ and $w$ which is hard to solve, so in practice IRMv1 is used.
+
+## IRMv1
+
+In DomainLab, we write the loss function as $$\ell(\cdot) + \lambda R(\cdot)$$, which result in the optmization below:
+
+$$\min_{\Phi, w} \sum_{d} \ell^{(d)}(w \circ \Phi) + \lambda \sum_{d} \|\nabla_{w|w=1.0} \ell^{(d)}(w \circ \Phi)\|^2$$
+
+where $\lambda$ is a hyperparameter that controls the trade-off between the empirical risk and the penalty. One interpretation can be the penalty encourages the representation $\Phi$ to be orthogonal to the gradient of the loss (e.g. cross entropy) at $w = 1.0$ across all domains.
+
+In practice, one could simply divide one mini-batch into two subsets, let $i$ and $j$ to index these two subsets, multiply subset $i$ and subset $j$ forms an unbiased estimation of the L2 norm of gradient.
+In detail: the squared gradient norm via inner product between $\nabla_{w|w=1} \ell(w \circ \Phi(X^{(d, i)}), Y^{(d, i)})$ of dimension dim(Grad) with $\nabla_{w|w=1} \ell(w \circ \Phi(X^{(d, j)}), Y^{(d, j)})$ of dimension dim(Grad) For more details, see section 3.2 and Appendix D of : Arjovsky et al., “Invariant Risk Minimization.”
+
+## Examples
+```shell
+python main_out.py --te_d=0 --task=mnistcolor10 --model=erm --trainer=irm --nname=conv_bn_pool_2
+
+```
diff --git a/docs/docJiGen.md b/docs/docJiGen.md
index dc67c3c02..8da6e8270 100644
--- a/docs/docJiGen.md
+++ b/docs/docJiGen.md
@@ -36,3 +36,17 @@ Furthermore, the user can specify a custom grid length via `grid_len`.
_Reference_: Carlucci, Fabio M., et al. "Domain generalization by solving jigsaw puzzles."
Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2019.
+
+
+## Examples
+
+### model jigen with implemented neural network
+```shell
+python main_out.py --te_d=caltech --task=mini_vlcs --debug --bs=8 --model=jigen --nname=alexnet --pperm=1 --nperm=100 --grid_len=3
+```
+
+
+### sannity check with jigen tile shuffling
+```shell
+python main_out.py --te_d=sketch --tpath=examples/tasks/demo_task_path_list_small.py --debug --bs=8 --model=jigen --nname=alexnet --pperm=1 --nperm=100 --grid_len=3 --san_check
+```
diff --git a/docs/docMA.md b/docs/docMA.md
new file mode 100644
index 000000000..991f5ad77
--- /dev/null
+++ b/docs/docMA.md
@@ -0,0 +1,8 @@
+# Simple Moving Average
+For each epoch, convex combine the weights for each layey from Paper: Ensemble of Averages: Improving Model Selection and
+Boosting Performance in Domain Generalization, Devansh Arpit, Huan Wang, Yingbo Zhou, Caiming Xiong, Salesforce Research, USA
+
+Example:
+```
+python main_out.py --te_d 0 1 --tr_d 3 5 --task=mnistcolor10 --epos=2 --bs=2 --model=erm --nname=conv_bn_pool_2 --trainer=ma
+```
diff --git a/docs/docMatchDG.md b/docs/docMatchDG.md
index 96eea99f1..816196a82 100644
--- a/docs/docMatchDG.md
+++ b/docs/docMatchDG.md
@@ -69,3 +69,29 @@ This procedure yields to the following availability of hyperparameter:
- `--epochs_ctr`: number of epochs for minimizing the contrastive loss in phase 1.
- `--epos_per_match_update`: Number of epochs before updating the match tensor. ($t$ from phase 1)
- `--gamma_reg`: weight for the regularization term in phase 2. ($\gamma_\text{reg}$ from phase 2)
+-
+## Examples
+
+### trainer matchdg with custom neural network
+```shell
+python main_out.py --te_d=caltech --task=mini_vlcs --bs=2 --model=erm --trainer=matchdg --epochs_ctr=3 --epos=6 --npath=examples/nets/resnet.py
+```
+
+
+### training hduva with matchdg
+
+```shell
+python main_out.py --te_d 0 1 2 --tr_d 3 7 --task=mnistcolor10 --bs=2 --model=hduva --trainer=matchdg --epochs_ctr=3 --epos=6 --nname=conv_bn_pool_2 --gamma_y=7e5 --nname_encoder_x2topic_h=conv_bn_pool_2 --nname_encoder_sandwich_x2h4zd=conv_bn_pool_2
+```
+
+### training implemented neural network with matchdg
+```shell
+python main_out.py --te_d=caltech --task=mini_vlcs --debug --bs=2 --model=erm --trainer=matchdg --epochs_ctr=3 --epos=6 --nname=alexnet
+```
+
+### trainer matchdg with mnist
+```shell
+ python main_out.py --te_d 0 1 2 --tr_d 3 7 --task=mnistcolor10 --model=erm --trainer=matchdg --nname=conv_bn_pool_2 --epochs_ctr=2 --epos=6
+```
+
+
diff --git a/docs/doc_benchmark.md b/docs/doc_benchmark.md
index 082b14632..908e7e487 100644
--- a/docs/doc_benchmark.md
+++ b/docs/doc_benchmark.md
@@ -36,11 +36,11 @@ example.
## Running a benchmark
For the execution of a benchmark we provide two scripts in our repository:
-- local version for running the benchmark on a standalone machine:
+- running the benchmark on a standalone machine (computation node):
[run_benchmark_standalone.sh](https://github.com/marrlab/DomainLab/blob/master/run_benchmark_standalone.sh)
-- cluster version for running the benchmark on a slurm cluster: [run_benchmark_slurm.sh](https://github.com/marrlab/DomainLab/blob/master/run_benchmark_slurm.sh)
+- launching the benchmark on the login node of a slurm cluster (benchmark will be dispatched to computation node via DomainLab scripts): [run_benchmark_slurm.sh](https://github.com/marrlab/DomainLab/blob/master/run_benchmark_slurm.sh)
-### Benchmark on a standalone machine (with or without GPU)
+### Benchmark on a standalone machine/computation node (with or without GPU)
To run the benchmark with a specific configuration on a standalone machine, inside the DomainLab
folder, one can execute (we assume you have a machine with 4 cores or more)
```shell
@@ -74,10 +74,10 @@ hyperparameter sampling and pytorch.
The following script will help to find out which job has failed and the error message, so that you could direct to the
specific log file
```cluster
-bash ./sh_list_error.sh ./zoutput/slurm_logs
+bash ./sh_list_error.sh ./zoutput/benchmarks/[output folder of the sepcifed benchmark in the yaml file]/slurm_logs
```
#### Map between slurm job id and sampled hyperparameter index
-suppose the slurm job id is 14144163, one could the corresponding log file in `./zoutput/slurm_logs` folder via
+suppose the slurm job id is 14144163, one could the corresponding log file in `./zoutput/[output folder of the sepcifed benchmark in the yaml file]/slurm_logs` folder via
`find . | grep -i "14144163"`
the results can be
@@ -98,6 +98,7 @@ via `tree -L 2` in `zoutput/benchmarks/[name of the benchmark defined in configu
```
├── commit.txt
├── config.txt
+├── [slurm_logs/]
├── graphics
│ ├── diva_fbopt_full
│ ├── radar_dist.png
@@ -138,8 +139,8 @@ the following after cd into the DomainLab directory:
```commandline
python main_out.py --agg_partial_bm OUTPUT_DIR
```
-specifying the benchmark output directory containing the partially completed benchmark,
-e.g. `./zoutput/benchmarks/demo_benchmark`, where `demo_benchmark` is a name defined in the yaml file.
+where `OUTPUT_DIR` specifying the benchmark output directory containing the partially completed benchmark,
+e.g. `./zoutput/benchmarks/demo_benchmark`, where `demo_benchmark` is a name defined in the benchmark yaml file.
Alternatively, one could use
```examples
@@ -155,16 +156,15 @@ Here for, the user must cd into the DomainLab directory and run
```commandline
python main_out.py --gen_plots CSV_FILE --outp_dir OUTPUT_DIR
```
+where `CSV_FILE` specifies the path of the csv file of the aggregated results (e.g. `./zoutput/benchmarks/demo_benchmark/results.csv`)
+and `OUTPUT_DIR` specifies the output directory of the partially completed benchmark (e.g. `./zoutput/benchmarks/demo_benchmark`).
+Note that the cvs file must have the same form as the one generated by the fully executed benchmark, e.g.
-specifying the path of the csv file of the aggregated results (e.g. `./zoutput/benchmarks/demo_benchmark/results.csv`)
-and the output directory of the partially completed benchmark (e.g. `./zoutput/benchmarks/demo_benchmark`).
-Note that the cvs file must have the same form as the one generated by the fully executed benchmark, i.e.
-
-| param_index | task | algo | epos | te_d | seed | params | acc | precision | recall | specificity | f1 | auroc |
+| param_index | method | algo | epos | te_d | seed | params | acc | precision | recall | specificity | f1 | auroc |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | ... | ... | ... | ... | ... | {'param1': p1, ...} | ... | ... | ... | ... | ... | ... |
| 1 | ... | ... | ... | ... | ... | {'param1': p2, ...} | ... | ... | ... | ... | ... | ... |
diff --git a/docs/doc_coral.md b/docs/doc_coral.md
new file mode 100644
index 000000000..a79be02b7
--- /dev/null
+++ b/docs/doc_coral.md
@@ -0,0 +1,12 @@
+# Deep CORAL
+## Deep CORAL: Correlation Alignment for Deep Domain Adaptation
+
+nonlinear transformation that aligns correlations of
+layer activations in deep neural network
+https://arxiv.org/pdf/1607.01719
+
+## Examples
+
+```
+python main_out.py --te_d 0 --tr_d 3 7 --bs=32 --epos=1 --task=mnistcolor10 --model=erm --nname=conv_bn_pool_2 --trainer=coral
+```
diff --git a/docs/doc_custom_nn.md b/docs/doc_custom_nn.md
index 4a91b8b64..fab279c6d 100644
--- a/docs/doc_custom_nn.md
+++ b/docs/doc_custom_nn.md
@@ -23,3 +23,23 @@ python main_out.py --te_d=caltech --task=mini_vlcs --debug --bs=2 --model=erm --
```shell
python main_out.py --te_d=caltech --task=mini_vlcs --debug --bs=2 --model=erm --trainer=matchdg --epochs_ctr=3 --epos=6 --npath=examples/nets/resnet.py
```
+
+
+### model erm with custom neural network
+```shell
+python main_out.py --te_d=caltech --task=mini_vlcs --debug --bs=8 --model=erm --npath=examples/nets/resnet.py
+```
+
+## Larger images:
+
+### model erm with implemented neural network
+```shell
+python main_out.py --te_d=caltech --task=mini_vlcs --debug --bs=8 --model=erm --nname=alexnet
+```
+
+### model dann with implemented neural network
+```shell
+python main_out.py --te_d=caltech --task=mini_vlcs --debug --bs=8 --model=dann --nname=alexnet
+```
+
+
diff --git a/docs/doc_diva.md b/docs/doc_diva.md
index b083e7fca..741e2fef1 100644
--- a/docs/doc_diva.md
+++ b/docs/doc_diva.md
@@ -40,5 +40,35 @@ Furthermore, the user can specify the neural networks for the class and domain c
- `nname`/`npath`
- `nname_dom`/`npath_dom`
+
+## Examples
+### model diva with implemented neural network
+```shell
+python main_out.py --te_d=caltech --task=mini_vlcs --debug --bs=2 --model=diva --nname=alexnet --npath_dom=examples/nets/resnet.py --gamma_y=7e5 --gamma_d=1e5
+```
+
+### model diva with custom neural network
+```shell
+python main_out.py --te_d=caltech --task=mini_vlcs --debug --bs=2 --model=diva --npath=examples/nets/resnet.py --npath_dom=examples/nets/resnet.py --gamma_y=7e5 --gamma_d=1e5
+```
+### generation of images
+```shell
+python main_out.py --te_d=0 --task=mnistcolor10 --keep_model --model=diva --nname=conv_bn_pool_2 --nname_dom=conv_bn_pool_2 --gamma_y=10e5 --gamma_d=1e5 --gen
+```
+## Colored version of MNIST
+
+### leave one domain out
+```shell
+python main_out.py --te_d=0 --task=mnistcolor10 --keep_model --model=diva --nname=conv_bn_pool_2 --nname_dom=conv_bn_pool_2 --gamma_y=10e5 --gamma_d=1e5
+```
+
+### choose train and test
+```shell
+python main_out.py --te_d 0 1 2 --tr_d 3 7 --task=mnistcolor10 --model=diva --nname=conv_bn_pool_2 --nname_dom=conv_bn_pool_2 --gamma_y=7e5 --gamma_d=1e5
+```
+
+
+
+
_Reference:_
DIVA: Domain Invariant Variational Autoencoders, https://arxiv.org/pdf/1905.10427.pdf, Medical Imaging with Deep Learning. PMLR, 2020.
diff --git a/docs/doc_examples.md b/docs/doc_examples.md
deleted file mode 100755
index 21d0b2eb2..000000000
--- a/docs/doc_examples.md
+++ /dev/null
@@ -1,179 +0,0 @@
-# Command line examples
-
-## Colored version of MNIST
-
-### leave one domain out
-```shell
-python main_out.py --te_d=0 --task=mnistcolor10 --keep_model --model=diva --nname=conv_bn_pool_2 --nname_dom=conv_bn_pool_2 --gamma_y=10e5 --gamma_d=1e5
-```
-
-### choose train and test
-```shell
-python main_out.py --te_d 0 1 2 --tr_d 3 7 --task=mnistcolor10 --model=diva --nname=conv_bn_pool_2 --nname_dom=conv_bn_pool_2 --gamma_y=7e5 --gamma_d=1e5
-```
-
-### make a sanity check for the dataset using 8 instances from each domain and from each class
-```shell
-python main_out.py --te_d=0 --task=mini_vlcs --debug --bs=2 --model=diva --nname=alexnet --npath_dom=examples/nets/resnet.py --gamma_y=7e5 --gamma_d=1e5 --san_check --san_num=4
-```
-### sanity check on only 2 train domains and 2 test domain2
-```shell
-python main_out.py --te_d 0 1 --tr_d 3 5 --task=mnistcolor10 --debug --bs=2 --model=erm --nname=conv_bn_pool_2 --san_check --san_num=4
-```
-
-### generation of images
-```shell
-python main_out.py --te_d=0 --task=mnistcolor10 --keep_model --model=diva --nname=conv_bn_pool_2 --nname_dom=conv_bn_pool_2 --gamma_y=10e5 --gamma_d=1e5 --gen
-```
-
-### use hduva on color mnist, train on 2 domains
-```shell
-python main_out.py --tr_d 0 1 2 --te_d 3 --bs=2 --task=mnistcolor10 --model=hduva --nname=conv_bn_pool_2 --gamma_y=7e5 --nname_encoder_x2topic_h=conv_bn_pool_2 --nname_encoder_sandwich_x2h4zd=conv_bn_pool_2
-```
-
-### hduva is domain-unsupervised, so it works also with a single domain
-```shell
-python main_out.py --tr_d 0 --te_d 3 4 --bs=2 --task=mnistcolor10 --model=hduva --nname=conv_bn_pool_2 --gamma_y=7e5 --nname_encoder_x2topic_h=conv_bn_pool_2 --nname_encoder_sandwich_x2h4zd=conv_bn_pool_2
-```
-
-
-## Larger images:
-
-### model diva with implemented neural network
-```shell
-python main_out.py --te_d=caltech --task=mini_vlcs --debug --bs=2 --model=diva --nname=alexnet --npath_dom=examples/nets/resnet.py --gamma_y=7e5 --gamma_d=1e5
-```
-
-### model diva with custom neural network
-```shell
-python main_out.py --te_d=caltech --task=mini_vlcs --debug --bs=2 --model=diva --npath=examples/nets/resnet.py --npath_dom=examples/nets/resnet.py --gamma_y=7e5 --gamma_d=1e5
-```
-
-### model erm with implemented neural network
-```shell
-python main_out.py --te_d=caltech --task=mini_vlcs --debug --bs=8 --model=erm --nname=alexnet
-```
-
-### model dann with implemented neural network
-```shell
-python main_out.py --te_d=caltech --task=mini_vlcs --debug --bs=8 --model=dann --nname=alexnet
-```
-
-### model jigen with implemented neural network
-```shell
-python main_out.py --te_d=caltech --task=mini_vlcs --debug --bs=8 --model=jigen --nname=alexnet --pperm=1 --nperm=100 --grid_len=3
-```
-
-
-### sannity check with jigen tile shuffling
-```shell
-python main_out.py --te_d=sketch --tpath=examples/tasks/demo_task_path_list_small.py --debug --bs=8 --model=jigen --nname=alexnet --pperm=1 --nperm=100 --grid_len=3 --san_check
-```
-
-### training implemented neural network with matchdg
-```shell
-python main_out.py --te_d=caltech --task=mini_vlcs --debug --bs=2 --model=erm --trainer=matchdg --epochs_ctr=3 --epos=6 --nname=alexnet
-```
-
-### trainer matchdg with mnist
-```shell
- python main_out.py --te_d 0 1 2 --tr_d 3 7 --task=mnistcolor10 --model=erm --trainer=matchdg --nname=conv_bn_pool_2 --epochs_ctr=2 --epos=6
-```
-
-### hduva with implemented neural network
-```shell
-python main_out.py --te_d=caltech --bs=2 --task=mini_vlcs --model=hduva --nname=conv_bn_pool_2 --gamma_y=7e5 --nname_encoder_x2topic_h=conv_bn_pool_2 --nname_encoder_sandwich_x2h4zd=conv_bn_pool_2
-```
-
-### hduva use alex net
-```shell
-python main_out.py --te_d=caltech --bs=2 --task=mini_vlcs --model=hduva --nname=conv_bn_pool_2 --gamma_y=7e5 --nname_encoder_x2topic_h=conv_bn_pool_2 --nname_encoder_sandwich_x2h4zd=alexnet
-```
-
-
-## Custom Neural Network
-
-### model erm with custom neural network
-```shell
-python main_out.py --te_d=caltech --task=mini_vlcs --debug --bs=8 --model=erm --npath=examples/nets/resnet.py
-```
-
-### trainer matchdg with custom neural network
-```shell
-python main_out.py --te_d=caltech --task=mini_vlcs --bs=2 --model=erm --trainer=matchdg --epochs_ctr=3 --epos=6 --npath=examples/nets/resnet.py
-```
-
-
-### training hduva with matchdg
-
-```shell
-python main_out.py --te_d 0 1 2 --tr_d 3 7 --task=mnistcolor10 --bs=2 --model=hduva --trainer=matchdg --epochs_ctr=3 --epos=6 --nname=conv_bn_pool_2 --gamma_y=7e5 --nname_encoder_x2topic_h=conv_bn_pool_2 --nname_encoder_sandwich_x2h4zd=conv_bn_pool_2
-```
-
-### hduva use custom net for sandwich encoder
-```shell
-python main_out.py --te_d=caltech --bs=2 --task=mini_vlcs --model=hduva --nname=conv_bn_pool_2 --gamma_y=7e5 --nname_encoder_x2topic_h=conv_bn_pool_2 --npath_encoder_sandwich_x2h4zd=examples/nets/resnet.py
-```
-
-### hduva use custom net for topic encoder
-```shell
-python main_out.py --te_d=caltech --bs=2 --task=mini_vlcs --model=hduva --nname=conv_bn_pool_2 --gamma_y=7e5 --npath_encoder_x2topic_h=examples/nets/resnet.py --nname_encoder_sandwich_x2h4zd=conv_bn_pool_2
-```
-
-### hduva use custom net for classification encoder
-```shell
-python main_out.py --te_d=caltech --bs=2 --task=mini_vlcs --model=hduva --npath=examples/nets/resnet.py --gamma_y=7e5 --nname_encoder_x2topic_h=conv_bn_pool_2 --nname_encoder_sandwich_x2h4zd=conv_bn_pool_2
-```
-
-
-## User defined tasks
-
-### Folder Task
-#### Folder Task with implemented neural network
-```shell
-python main_out.py --te_d=caltech --tpath=examples/tasks/task_vlcs.py --debug --bs=2 --nname=alexnet --model=diva --nname_dom=alexnet --gamma_y=7e5 --gamma_d=1e5
-```
-
-#### Folder Task with externally user defined neural network
-```shell
-python main_out.py --te_d=caltech --tpath=examples/tasks/task_vlcs.py --debug --bs=2 --npath=examples/nets/resnet.py --model=diva --npath_dom=examples/nets/resnet.py --gamma_y=7e5 --gamma_d=1e5
-```
-
-### ImagePath Task
-#### ImagePath Task with implemented algorithm
-```shell
-python main_out.py --te_d=sketch --tpath=examples/tasks/demo_task_path_list_small.py --debug --bs=2 --nname=alexnet --model=diva --nname_dom=alexnet --gamma_y=7e5 --gamma_d=1e5
-```
-
-#### ImagePath Task with externally user defined neural network
-```shell
-python main_out.py --te_d=sketch --tpath=examples/tasks/demo_task_path_list_small.py --debug --bs=2 --npath=examples/nets/resnet.py --model=diva --npath_dom=examples/nets/resnet.py --gamma_y=7e5 --gamma_d=1e5
-```
-
-## Custom algorithm defined in external python file
-```shell
-python main_out.py --te_d=caltech --task=mini_vlcs --debug --bs=3 --apath=examples/models/demo_custom_model.py --model=custom --nname_argna2val my_custom_arg_name --nname_argna2val alexnet
-```
-
-```shell
-python main_out.py --te_d=caltech --task=mini_vlcs --debug --bs=3 --apath=examples/models/demo_custom_model.py --model=custom --npath_argna2val my_custom_arg_name --npath_argna2val examples/nets/resnet.py
-```
-
-## Adversarial images training
-```shell
-python main_out.py --te_d=0 --task=mnistcolor10 --keep_model --model=erm --trainer=dial --nname=conv_bn_pool_2
-```
-### Train DIVA model with DIAL trainer
-
-```shell
-python main_out.py --te_d 0 1 2 --tr_d 3 7 --task=mnistcolor10 --model=diva --nname=conv_bn_pool_2 --nname_dom=conv_bn_pool_2 --gamma_y=7e5 --gamma_d=1e5 --trainer=dial
-```
-### Set hyper-parameters for trainer as well
-```shell
-python main_out.py --te_d 0 1 2 --tr_d 3 7 --task=mnistcolor10 --model=diva --nname=conv_bn_pool_2 --nname_dom=conv_bn_pool_2 --gamma_y=7e5 --gamma_d=1e5 --trainer=dial --dial_steps_perturb=1
-```
-
-## Meta Learning Domain Generalization
-```shell
-python main_out.py --te_d=caltech --task=mini_vlcs --debug --bs=8 --model=erm --trainer=mldg --nname=alexnet
-```
diff --git a/docs/doc_irl.md b/docs/doc_irl.md
new file mode 100644
index 000000000..46a907314
--- /dev/null
+++ b/docs/doc_irl.md
@@ -0,0 +1,10 @@
+# Causal IRL
+## Invariant Causal Mechanisms through Distribution Matching
+
+Source: https://arxiv.org/pdf/2206.11646
+
+## Example
+
+```
+python main_out.py --te_d 0 --tr_d 3 7 --bs=32 --debug --task=mnistcolor10 --model=erm --nname=conv_bn_pool_2 --trainer=causalirl"
+```
diff --git a/docs/doc_mldg.md b/docs/doc_mldg.md
index 694f4b3d8..92e412180 100644
--- a/docs/doc_mldg.md
+++ b/docs/doc_mldg.md
@@ -2,3 +2,9 @@
## Meta Learning Domain Generalization
Li, Da, et al. "Learning to generalize: Meta-learning for domain generalization." Proceedings of the AAAI conference on artificial intelligence. Vol. 32. No. 1. 2018.
+
+
+## Examples
+```shell
+python main_out.py --te_d=caltech --task=mini_vlcs --debug --bs=8 --model=erm --trainer=mldg --nname=alexnet
+```
diff --git a/docs/doc_model.md b/docs/doc_model.md
new file mode 100644
index 000000000..bf83c0239
--- /dev/null
+++ b/docs/doc_model.md
@@ -0,0 +1,29 @@
+# Model Specification
+
+Domainlab is built to easily extend to other models. There exist two options. One is to implement a new model from scratch and add it to the existing models; the other is to extend the custom model abstract class. This guide outlines the necessary steps to add a new model to the domain generalization framework for both approaches mentioned above.
+
+## Option 1: Extend the Custom Model Class
+Create a new model by extending `AModelCustom`.
+
+
+Because `AModelCustom` extends `AModelClassif`, the only function a custom model needs to extend is `dict_net_module_na2arg_na`, which returns a dictionary with the key being the Pytorch module name and value being the command-line argument name. In addition, it is necessary to specify a function called `get_node_na` in the same Python file, which returns the custom algorithm builder as shown [here](../examples/models/demo_custom_model.py).
+
+To run the custom model, follow the examples [here](./doc_examples.md) under 'Custom algorithm defined in external python file'. It also shows an example of using additional command line arguments.
+
+
+## Option 2: Add alongside existing models
+If the repository is cloned and it is possible to add files to the source code, one can extend one of the other base classes: `AModel` or `AModelClassif`.
+
+### Step 1: Implement Required Abstract Methods
+Implement all abstract methods from the base class. For `AModel`, it is required to implement the following methods:
+
+`cal_task_loss(self, tensor_x, tensor_y)`: Computes the loss for the primary task, which for classification could be cross-entropy.
+`_cal_reg_loss(self, tensor_x, tensor_y, tensor_d, others=None)`: Calculates the task independent regularization loss.
+
+### Step 2: Add Additional Arguments
+If additional arguments for the model are needed, it is possible to specify a Python file with functionality for the argument parsing, as done [here](../domainlab/models/args_vae.py). The specified function needs to be applied in the [arg_parser.py](../domainlab/arg_parser.py) in the domainlab root directory in order to add the parameters to the argument dictionary.
+
+### Step 3: Create a Builder
+After specifying the model and retrieving the correct parameters, we can create functionality to create the model. To do so, we need to create a NodeAlgoBuilder. For that, we create a class that inherits from `NodeAlgoBuilder` and extend the `init_business(exp)` method. We must create the trainer, model, observer, and device in this method. See [here](../domainlab/algos/builder_dann.py) for an example.
+
+After that, we can add the builder into the chain that creates all specified models [here](../domainlab/algos/zoo_algos.py).
\ No newline at end of file
diff --git a/docs/doc_tasks.md b/docs/doc_tasks.md
index 3d3f0d73d..d469ab491 100644
--- a/docs/doc_tasks.md
+++ b/docs/doc_tasks.md
@@ -17,7 +17,7 @@ here in the example, 3 domains are defined to be named "domain1", "domain2", "do
## Possibility 2: TaskPathList
The user need to provide a python file indicating the root directories where images (data) from each domain are located, and for each domain, the user shall provide a plain text file indicating the file names.
-An example python file can be found in the [examples directory of the repository](https://github.com/marrlab/DomainLab/blob/master/examples/tasks/demo_task_path_list_small.py) with the corresponding data be found at [the data directory of the repository](https://github.com/marrlab/DomainLab/tree/master/data), where the text file indicating which file correspond to which class label (starting from 1) can be found at [example text file](https://github.com/marrlab/DomainLab/blob/master/data/pacs_split/art_painting_10.txt).
+An example python file can be found in the [examples directory of the repository](https://github.com/marrlab/DomainLab/blob/master/examples/tasks/demo_task_path_list_small.py) with the corresponding data be found at [the data directory of the repository](https://github.com/marrlab/DomainLab/tree/master/domainlab/zdata), where the text file indicating which file correspond to which class label (starting from 1) can be found at [example text file](https://github.com/marrlab/DomainLab/blob/master/domainlab/zdata/pacs_split/art_painting_10.txt).
The user should specify the location of the python file via command line arguments `--tpath`
```shell
@@ -32,10 +32,16 @@ To give an example, suppose we have a classification task to classify between ca
In each folder, the images are organized in sub-folders by their class. For example, "/path/to/3rd_domain/folder_c/dog" folder contains all the images of class "dog" from the 3rd domain.
-It might be the case that across the different data sources the same class is named differently. For example, in the 1st data source, the class dog is stored in sub-folder named
-"hund", in the 2nd data source, the dog is stored in sub-folder named "husky" and in the 3rd data source, the dog is stored in sub-folder named "dog".
+It might be the case that the same classes are named differently across the different data sources. For example, in the 1st data source, the class dog is stored in a sub-folder named "hund", in the 2nd data source, the dog is stored in a sub-folder named "husky", and in the 3rd data source, the dog is stored in a sub-folder called "dog".
-It might also be the case that some classes exist in one data source but does not exist in another data source. For example, folder "/path/to/2nd_domain/folder_b" does not have a sub-folder for class "human".
+In that case, we can use `dict_domain_folder_name2class` to map the corresponding subfolders to the correct domain. The `dict_domain_folder_name2class` parameter is a dictionary where:
+
+- Key: The name of a subfolder in a specific domain.
+- Value: The corresponding user-defined class name.
+
+This is also shown in the example below, where the dictionary maps the different subfolder names to 'car' and 'chair', which are the user defined classes. A more complex example of such a mapping can be found [here](../examples/tasks/task_blood3.py).
+
+It might also be the case that some classes exist in one data source but do not exist in another data source. For example, folder "/path/to/2nd_domain/folder_b" does not have a sub-folder for the class "human". In that case, we don't add the entry into the `dict_domain_folder_name2class` mapping.
Folder structure of the 1st domain:
```text
@@ -125,28 +131,75 @@ from domainlab.tasks import mk_task_folder
print(mk_task_folder.__doc__)
```
-extensions: a python dictionary with key as the domain name
+`extensions`: a python dictionary with key as the domain name
and value as the file extensions of the image.
-list_str_y: a python list with user defined class names where
+`list_str_y`: a python list with user defined class names where
the order of the list matters.
-dict_domain_folder_name2class: a python dictionary, with key
+`dict_domain_folder_name2class`: a python dictionary, with key
as the user specified domain name, value as a dictionary to map the
sub-folder name of each domain's class folder into the user defined
common class name.
-dict_domain_img_trans: a python dictionary with keys as the user
+`dict_domain_img_trans`: a python dictionary with keys as the user
specified domain name, value as a user defined torchvision transform.
This feature allows carrying out different transformation (composition) to different
domains at training time.
-img_trans_te: at test or inference time, we do not have knowledge
+`img_trans_te`: at test or inference time, we do not have knowledge
of domain information so only a unique transform (composition) is allowed.
-isize: domainlab.tasks.ImSize(image channel, image height, image width)
+`isize`: domainlab.tasks.ImSize(image channel, image height, image width)
-dict_domain2imgroot: a python dictionary with keys as user specified domain names and values
+`dict_domain2imgroot`: a python dictionary with keys as user specified domain names and values
as the absolute path to each domain's data.
-taskna: user defined task name
+`taskna`: user defined task name
+
+
+
+## Examples
+
+## User defined tasks
+
+### Folder Task
+#### Folder Task with implemented neural network
+```shell
+python main_out.py --te_d=caltech --tpath=examples/tasks/task_vlcs.py --debug --bs=2 --nname=alexnet --model=diva --nname_dom=alexnet --gamma_y=7e5 --gamma_d=1e5
+```
+
+#### Folder Task with externally user defined neural network
+```shell
+python main_out.py --te_d=caltech --tpath=examples/tasks/task_vlcs.py --debug --bs=2 --npath=examples/nets/resnet.py --model=diva --npath_dom=examples/nets/resnet.py --gamma_y=7e5 --gamma_d=1e5
+```
+
+### ImagePath Task
+#### ImagePath Task with implemented algorithm
+```shell
+python main_out.py --te_d=sketch --tpath=examples/tasks/demo_task_path_list_small.py --debug --bs=2 --nname=alexnet --model=diva --nname_dom=alexnet --gamma_y=7e5 --gamma_d=1e5
+```
+
+#### ImagePath Task with externally user defined neural network
+```shell
+python main_out.py --te_d=sketch --tpath=examples/tasks/demo_task_path_list_small.py --debug --bs=2 --npath=examples/nets/resnet.py --model=diva --npath_dom=examples/nets/resnet.py --gamma_y=7e5 --gamma_d=1e5
+```
+
+## Custom algorithm defined in external python file
+```shell
+python main_out.py --te_d=caltech --task=mini_vlcs --debug --bs=3 --apath=examples/models/demo_custom_model.py --model=custom --nname_argna2val my_custom_arg_name --nname_argna2val alexnet
+```
+
+```shell
+python main_out.py --te_d=caltech --task=mini_vlcs --debug --bs=3 --apath=examples/models/demo_custom_model.py --model=custom --npath_argna2val my_custom_arg_name --npath_argna2val examples/nets/resnet.py
+```
+
+
+### make a sanity check for the dataset using 8 instances from each domain and from each class
+```shell
+python main_out.py --te_d=0 --task=mini_vlcs --debug --bs=2 --model=diva --nname=alexnet --npath_dom=examples/nets/resnet.py --gamma_y=7e5 --gamma_d=1e5 --san_check --san_num=4
+```
+### sanity check on only 2 train domains and 2 test domain2
+```shell
+python main_out.py --te_d 0 1 --tr_d 3 5 --task=mnistcolor10 --debug --bs=2 --model=erm --nname=conv_bn_pool_2 --san_check --san_num=4
+```
diff --git a/docs/doc_trainer.md b/docs/doc_trainer.md
new file mode 100644
index 000000000..757694af4
--- /dev/null
+++ b/docs/doc_trainer.md
@@ -0,0 +1,44 @@
+# Model Specification
+
+When developing new trainers, you can extend the `TrainerBasic` class. This allows you to build upon established training routines while introducing specialized behaviors tailored to your model.
+
+### Steps to Extend `TrainerBasic`
+
+1. **Extend the class**: Begin by inheriting from [`TrainerBasic`](../domainlab/algos/trainers/train_basic.py).
+
+2. **Customize Key Methods**: You have several methods that you can override to customize the trainer's behavior. Here's a brief overview of what they do:
+
+ - **`before_tr(self)`**: Set up necessary configurations or states before training begins. Useful for initial logging or setting model to train mode.
+
+ - **`tr_epoch(self, epoch)`**: Define the training logic for each epoch. This is where the bulk of your model's training will be implemented.
+
+ - **`before_epoch(self)`**: Prepare anything specific at the start of each epoch, like resetting counters or updating learning rate schedules.
+
+ - **`after_epoch(self, epoch)`**: Typically used for logging and validation checks after each epoch.
+
+ - **`tr_batch(self, tensor_x, tensor_y, tensor_d, others, ind_batch, epoch)`**: Handle the processing of each batch. This includes forward and backward propagation.
+
+ - **`before_batch(self, epoch, ind_batch)`** and **`after_batch(self, epoch, ind_batch)`**: Perform actions right before and after processing a batch, respectively. Useful for implementing behaviors like batch-wise logging or applying gradients.
+
+3. **Register Your Trainer**: Make sure the framework can utilize the new trainer. For that, it is necessary to register it in the [zoo_trainers.py](../domainlab/algos/trainers/zoo_trainer.py).
+
+### Example Implementation
+
+Here is a simple example of a custom trainer that logs additional details at the start of each training:
+
+```python
+class MyCustomTrainer(TrainerBasic):
+ def before_tr(self):
+ super().before_tr() # Ensure to call the base method if needed
+ print("Starting training session.")
+
+ def tr_epoch(self, epoch):
+ # Custom training logic for each epoch
+ for ind_batch, data in enumerate(self.loader_tr):
+ self.tr_batch(data, ind_batch, epoch)
+ print(f"Completed epoch {epoch}")
+
+ def tr_batch(self, data, ind_batch, epoch):
+ # Process each batch
+ super().tr_batch(data, ind_batch, epoch) # Optionally call the base method
+ print(f"Batch {ind_batch} of epoch {epoch} processed.")
diff --git a/docs/doc_usage_cmd.md b/docs/doc_usage_cmd.md
index b6320328b..6ee916f06 100644
--- a/docs/doc_usage_cmd.md
+++ b/docs/doc_usage_cmd.md
@@ -1,17 +1,130 @@
-### Basic usage
-DomainLab comes with some minimal toy-dataset to test its basis functionality, see [A minimal subsample of the VLCS dataset](../data/vlcs_mini) and [an example configuration file for vlcs_mini](../examples/tasks/task_vlcs.py)
+# DomainLab Usage Guide
-Suppose you have cloned the repository and have the dependencies ready, change directory to this repository:
+Given the repository and the dependencies are set up, here is how can use DomainLab:
-To train a domain invariant model on the vlcs_mini task
+
+## Essential Commands
+
+To run DomainLab, the minimum necessary parameters are:
+
+1. **Task Specification (```--tpath``` or ```--task```):** This is to specify a task. You can eiter give a path to as Python file which specifies the task, or use a predfined set. You can find more about specifying tasks [here](./doc_tasks.md).
+2. **Test Domain (```--te_d```):** Specifies the domain(s) used for testing. Can be a single domain or multiple domains.
+3. **Model Choice (```--model```):** Chooses the algorithm or model for the training (e.g., erm, diva). This also includes hyperparameters for the model, e.g., ```--gamma_d``` and ```--gamma_y``` for diva.
+4. **Neural Network (```--nname``` or ```--npath```):** Specifies which neural network is used for feature extraction, either through a path or predefined options.
+
+### Example Command
+```python3 main_out.py --te_d 0 1 2 --task=mnistcolor10 --model=diva --nname=conv_bn_pool_2 --gamma_y=7e5 --gamma_d=1e5```
+
+
+## Optional Commands
+
+### Advanced Configuration
+
+- **Learning Rate (`--lr`):** Set the training learning rate.
+- **Regularization (`--gamma_reg`):** Sets the weight of the regularization
+ loss. This parameter can be configured either as
+ a single value applied to individual classes,
+ or using a dictionary to specify different
+ weights for different models and trainers.
+
+ - **Command Line Usage:**
+ - For a single value: `python script.py --gamma_reg=0.1`
+ - For multiple values: `python script.py --gamma_reg='default=0.1,dann=0.05,jigen=0.2'`
+
+ - **YAML Configuration:**
+ - For a single value:
+
+ ```yaml
+ gamma_reg: 0.1
+ ```
+
+ - For different values:
+
+ ```yaml
+ gamma_reg:
+ dann: 0.05
+ dial: 0.2
+ default: 0.1 # value for every other instance
+ ```
+Gamma reg is available for the trainers, as well as the
+dann and jigen model.
+
+- **Early Stopping (`--es`):** Steps for early stopping.
+- **Random Seed (`--seed`):** Seed for reproducibility.
+- **CUDA Options (`--nocu`, `--device`):** Configure CUDA usage and device settings.
+- **Generated Images (`--gen`):** Option to save generated images.
+- **Model Preservation (`--keep_model`):** Choose not to delete the model at the end of training.
+- **Epochs (`--epos`, `--epos_min`):** Configure maximum and minimum numbers of epochs.
+- **Test Interval (`--epo_te`):** Set intervals for testing performance.
+- **Hyperparameter Warm-Up (`-w` or `--warmup`):** Epochs for hyperparameter warm-up.
+- **Debugging (`--debug`):** Enable debug mode for verbose output.
+- **Memory Debugging (`--dmem`):** Memory usage debugging.
+- **Output Suppression (`--no_dump`):** Suppress saving the confusion matrix.
+- **Trainer Selection (`--trainer`):** Specify which trainer to use.
+- **Output Directory (`--out`):** Directory to store outputs.
+- **Data Path (`--dpath`):** Path for storing the downloaded dataset.
+- **Additional Neural Network Options:**
+ - Custom Argument Values (`--npath_argna2val`, `--nname_argna2val`)
+ - Domain Feature Extraction Network (`--npath_dom`, `--nname_dom`)
+ - Custom Algorithm Path (`--apath`)
+- **Experiment and Aggregation Tags (`--exptag`, `--aggtag`):** Tags for experiment tracking and result aggregation.
+- **Benchmarking and Plotting:**
+ - Partial Benchmark Aggregation (`--agg_partial_bm`)
+ - Plot Generation (`--gen_plots`, `--outp_dir`, `--param_idx`)
+
+### Task-Specific Arguments
+
+- **Batch Size (`--bs`):** Loader batch size for mixed domains.
+- **Training-Validation Split (`--split`):** Proportion of training, a value between 0 and 1.
+- **Training Domain (`--tr_d`):** Specify training domain names.
+- **Sanity Check (`--san_check`):** Save images from the dataset as a sanity check.
+- **Sanity Check Image Count (`--san_num`):** Number of images for the sanity check.
+- **Logging Level (`--loglevel`):** Set the log level of the logger.
+- **Shuffling (`--shuffling_off`):** Disable shuffling of the training dataloader for the dataset.
+
+### Model-Specific Hyperparameters
+
+#### VAE Model Parameters
+
+- **Latent Space Dimensions (`--zd_dim`, `--zx_dim`, `--zy_dim`):** Set the size of latent spaces for domain, unobserved, and class features.
+- **Topic Dimension (`--topic_dim`):** Number of topics for HDUVA.
+- **Networks for HDUVA Model:**
+ - Image to Topic Distribution (`--nname_encoder_x2topic_h`, `--npath_encoder_x2topic_h`)
+ - Image and Topic to ZD (`--nname_encoder_sandwich_x2h4zd`, `--npath_encoder_sandwich_x2h4zd`)
+- **Hyperparameters for DIVA and HDUVA (`--gamma_y`, `--gamma_d`, `--beta_t`, `--beta_d`, `--beta_x`, `--beta_y`):** Multipliers for various classifiers and loss components.
+
+#### MatchDG Parameters
+
+- **Cosine Similarity Factor (`--tau`):** Magnify cosine similarity.
+- **Match Tensor Update Frequency (`--epos_per_match_update`):** Epochs before updating the match tensor.
+- **Epochs for CTR (`--epochs_ctr`):** Total epochs for CTR.
+
+#### Jigen Parameters
+
+- **Permutation Settings (`--nperm`, `--pperm`, `--jigen_ppath`):** Configure image tile permutations.
+- **Grid Length (`--grid_len`):** Length of image in tile units.
+
+#### DIAL Parameters
+
+- **Adversarial Image Generation (`--dial_steps_perturb`, `--dial_noise_scale`, `--dial_lr`, `--dial_epsilon`):** Configure parameters for generating adversarial images.
+
+
+For a comprehensive understanding of all available commands, use:
+```shell
+python main_out.py --help
+```
+
+## Example
+DomainLab comes with some minimal toy-dataset to test its basis functionality, see [a minimal subsample of the VLCS dataset](./zdata/vlcs_mini) and [an example configuration file for vlcs_mini](../examples/tasks/task_vlcs.py).
+
+To train a domain invariant model on the vlcs_mini task:
```shell
python main_out.py --te_d=caltech --tpath=examples/tasks/task_vlcs.py --config=examples/yaml/demo_config_single_run_diva.yaml
```
where `--tpath` specifies the path of a user specified python file which defines the domain generalization task [see here](../examples/tasks/task_vlcs.py), `--te_d` specifies the test domain name (or index starting from 0), `--config` specifies the configurations of the domain generalization algorithms, [see here](../examples/yaml/demo_config_single_run_diva.yaml)
-#### Further usage
-Alternatively, in a verbose mode without using the algorithm configuration file:
+In more detail, in a verbose mode without using the algorithm configuration file:
```shell
python main_out.py --te_d=caltech --tpath=examples/tasks/task_vlcs.py --debug --bs=2 --model=diva --gamma_y=7e5 --gamma_d=1e5 --nname=alexnet --nname_dom=conv_bn_pool_2
@@ -19,22 +132,11 @@ python main_out.py --te_d=caltech --tpath=examples/tasks/task_vlcs.py --debug --
where `--model` specifies which algorithm to use, `--bs` specifies the batch size, `--debug` restrain only running for 2 epochs and save results with prefix 'debug'. For DIVA, the hyper-parameters include `--gamma_y=7e5` which is the relative weight of ERM loss compared to ELBO loss, and `--gamma_d=1e5`, which is the relative weight of domain classification loss compared to ELBO loss.
`--nname` is to specify which neural network to use for feature extraction for classification, `--nname_dom` is to specify which neural network to use for feature extraction of domains.
-For usage of other arguments, check with
-
-```shell
-python main_out.py --help
-```
-
-See also [Examples](./doc_examples.md).
-
-### Custom Neural network
-
-where the user could plugin different neural network architectures for the same algorithm. See
-[Specify Custom Neural Networks for an algorithm](./doc_custom_nn.md)
-### Output structure (results storage) and Performance Measure
-[Output structure and Performance Measure](./doc_output.md)
+See [more examples](./doc_examples.md).
+## Further Resources
-## Software Design Pattern, Extend or Contribution
-[Extend or Contibute](./doc_extend_contribute.md)
+- **Custom Neural Networks:** [Guide on specifying custom neural networks](./doc_custom_nn.md)
+- **Output and Performance:** [Understanding the output structure and performance measures](./doc_output.md)
+- **Extending DomainLab:** [Guide for extending or contributing to DomainLab](./doc_extend_contribute.md)
diff --git a/docs/index.rst b/docs/index.rst
index 96c8c7fe6..d6226f5c9 100644
--- a/docs/index.rst
+++ b/docs/index.rst
@@ -1,3 +1,4 @@
+
.. domainlab documentation master file, created by
sphinx-quickstart on Tue Jul 26 16:30:46 2022.
You can adapt this file completely to your liking, but it should at least
@@ -19,6 +20,10 @@ Welcome to domainlab's documentation!
docDIAL
docFishr
doc_mldg
+ docIRM
+ docMA
+ doc_coral
+ doc_irl
Indices and tables
diff --git a/domainlab/algos/builder_api_model.py b/domainlab/algos/builder_api_model.py
index 07c087e3b..9bfb66fc2 100644
--- a/domainlab/algos/builder_api_model.py
+++ b/domainlab/algos/builder_api_model.py
@@ -20,7 +20,7 @@ def init_business(self, exp):
"""
args = exp.args
device = get_device(args)
- model_sel = MSelOracleVisitor(MSelValPerf(max_es=args.es))
+ model_sel = MSelOracleVisitor(MSelValPerf(max_es=args.es), val_threshold=args.val_threshold)
observer = ObVisitor(model_sel)
trainer = TrainerChainNodeGetter(args.trainer)(default="hyperscheduler")
return trainer, None, observer, device
diff --git a/domainlab/algos/builder_custom.py b/domainlab/algos/builder_custom.py
index 9c50110b7..166f34018 100644
--- a/domainlab/algos/builder_custom.py
+++ b/domainlab/algos/builder_custom.py
@@ -104,7 +104,8 @@ def init_business(self, exp):
task = exp.task
args = exp.args
device = get_device(args)
- model_sel = MSelOracleVisitor(MSelValPerf(max_es=args.es))
+ model_sel = MSelOracleVisitor(MSelValPerf(max_es=args.es),
+ val_threshold=args.val_threshold)
observer = ObVisitor(model_sel)
model = class_name_model(net_classifier=None, list_str_y=task.list_str_y)
model = self.init_next_model(model, exp)
diff --git a/domainlab/algos/builder_dann.py b/domainlab/algos/builder_dann.py
index d026a5bb1..73b373c15 100644
--- a/domainlab/algos/builder_dann.py
+++ b/domainlab/algos/builder_dann.py
@@ -13,6 +13,7 @@
from domainlab.compos.zoo_nn import FeatExtractNNBuilderChainNodeGetter
from domainlab.models.model_dann import mk_dann
from domainlab.utils.utils_cuda import get_device
+from domainlab.utils.hyperparameter_retrieval import get_gamma_reg
class NodeAlgoBuilderDANN(NodeAlgoBuilder):
@@ -29,7 +30,7 @@ def init_business(self, exp):
args = exp.args
task.get_list_domains_tr_te(args.tr_d, args.te_d)
device = get_device(args)
- msel = MSelOracleVisitor(MSelValPerf(max_es=args.es))
+ msel = MSelOracleVisitor(MSelValPerf(max_es=args.es), val_threshold=args.val_threshold)
observer = ObVisitor(msel)
observer = ObVisitorCleanUp(observer)
@@ -55,7 +56,7 @@ def init_business(self, exp):
model = mk_dann(list_str_y=task.list_str_y,
net_classifier=net_classifier)(
list_d_tr=task.list_domain_tr,
- alpha=args.gamma_reg,
+ alpha=get_gamma_reg(args, 'dann'),
net_encoder=net_encoder,
net_discriminator=net_discriminator,
builder=self)
diff --git a/domainlab/algos/builder_diva.py b/domainlab/algos/builder_diva.py
index 34cc3605b..968840d2c 100644
--- a/domainlab/algos/builder_diva.py
+++ b/domainlab/algos/builder_diva.py
@@ -52,7 +52,7 @@ def init_business(self, exp):
)
device = get_device(args)
model_sel = MSelSetpointDelay(
- MSelOracleVisitor(MSelValPerfTopK(max_es=args.es))
+ MSelOracleVisitor(MSelValPerfTopK(max_es=args.es)), val_threshold=args.val_threshold
)
if not args.gen:
observer = ObVisitor(model_sel)
diff --git a/domainlab/algos/builder_erm.py b/domainlab/algos/builder_erm.py
index 4e76670c0..1221cb209 100644
--- a/domainlab/algos/builder_erm.py
+++ b/domainlab/algos/builder_erm.py
@@ -24,7 +24,7 @@ def init_business(self, exp):
task = exp.task
args = exp.args
device = get_device(args)
- model_sel = MSelOracleVisitor(MSelValPerf(max_es=args.es))
+ model_sel = MSelOracleVisitor(MSelValPerf(max_es=args.es), val_threshold=args.val_threshold)
observer = ObVisitor(model_sel)
builder = FeatExtractNNBuilderChainNodeGetter(
diff --git a/domainlab/algos/builder_hduva.py b/domainlab/algos/builder_hduva.py
index 80e4526cb..1a752e47f 100644
--- a/domainlab/algos/builder_hduva.py
+++ b/domainlab/algos/builder_hduva.py
@@ -43,7 +43,7 @@ def init_business(self, exp):
beta_d=args.beta_d,
)
model = self.init_next_model(model, exp)
- model_sel = MSelOracleVisitor(MSelValPerf(max_es=args.es))
+ model_sel = MSelOracleVisitor(MSelValPerf(max_es=args.es), val_threshold=args.val_threshold)
observer = ObVisitorCleanUp(ObVisitor(model_sel))
trainer = TrainerChainNodeGetter(args.trainer)(default="hyperscheduler")
trainer.init_business(model, task, observer, device, args)
diff --git a/domainlab/algos/builder_jigen1.py b/domainlab/algos/builder_jigen1.py
index 712d959d4..fb1e78214 100644
--- a/domainlab/algos/builder_jigen1.py
+++ b/domainlab/algos/builder_jigen1.py
@@ -17,6 +17,7 @@
from domainlab.dsets.utils_wrapdset_patches import WrapDsetPatches
from domainlab.models.model_jigen import mk_jigen
from domainlab.utils.utils_cuda import get_device
+from domainlab.utils.hyperparameter_retrieval import get_gamma_reg
class NodeAlgoBuilderJiGen(NodeAlgoBuilder):
@@ -31,7 +32,7 @@ def init_business(self, exp):
task = exp.task
args = exp.args
device = get_device(args)
- msel = MSelSetpointDelay(MSelOracleVisitor(MSelValPerfTopK(max_es=args.es)))
+ msel = MSelSetpointDelay(MSelOracleVisitor(MSelValPerfTopK(max_es=args.es)), val_threshold=args.val_threshold)
observer = ObVisitor(msel)
observer = ObVisitorCleanUp(observer)
@@ -58,7 +59,7 @@ def init_business(self, exp):
model = mk_jigen(
list_str_y=task.list_str_y,
net_classifier=net_classifier)(
- coeff_reg=args.gamma_reg,
+ coeff_reg=get_gamma_reg(args, 'jigen'),
net_encoder=net_encoder,
net_classifier_permutation=net_classifier_perm,
n_perm=args.nperm,
diff --git a/domainlab/algos/msels/a_model_sel.py b/domainlab/algos/msels/a_model_sel.py
index 1cbfffeaa..09b703377 100644
--- a/domainlab/algos/msels/a_model_sel.py
+++ b/domainlab/algos/msels/a_model_sel.py
@@ -10,14 +10,16 @@ class AMSel(metaclass=abc.ABCMeta):
Abstract Model Selection
"""
- def __init__(self):
+ def __init__(self, val_threshold = None):
"""
trainer and tr_observer
"""
self.trainer = None
- self._tr_obs = None
+ self._observer = None
self.msel = None
self._max_es = None
+ self._model_selection_epoch = None
+ self._val_threshold = val_threshold
def reset(self):
"""
@@ -27,11 +29,11 @@ def reset(self):
self.msel.reset()
@property
- def tr_obs(self):
+ def observer4msel(self):
"""
the observer from trainer
"""
- return self._tr_obs
+ return self._observer
@property
def max_es(self):
@@ -44,35 +46,55 @@ def max_es(self):
return self.msel.max_es
return self._max_es
- def accept(self, trainer, tr_obs):
+ def accept(self, trainer, observer4msel):
"""
Visitor pattern to trainer
accept trainer and tr_observer
"""
self.trainer = trainer
- self._tr_obs = tr_obs
+ self._observer = observer4msel
if self.msel is not None:
- self.msel.accept(trainer, tr_obs)
+ self.msel.accept(trainer, observer4msel)
+
+ def update(self, epoch, clear_counter=False):
+ """
+ level above the observer + visitor pattern to get information about the epoch
+ """
+ update = self.base_update(clear_counter)
+ if update:
+ self._model_selection_epoch = epoch
+
+ return update
@abc.abstractmethod
- def update(self, clear_counter=False):
+ def base_update(self, clear_counter=False):
"""
observer + visitor pattern to trainer
if the best model should be updated
return boolean
"""
- def if_stop(self):
+ def if_stop(self, acc_val = None):
"""
- check if trainer should stop
+ check if trainer should stop and additionally tests for validation threshold
return boolean
"""
# NOTE: since if_stop is not abstract, one has to
# be careful to always override it in child class
# only if the child class has a decorator which will
# dispatched.
+ if self.msel is not None and acc_val is not None:
+ if self._val_threshold is not None and acc_val < self._val_threshold:
+ return False
+ return self.early_stop()
+
+ def early_stop(self):
+ """
+ check if trainer should stop
+ return boolean
+ """
if self.msel is not None:
- return self.msel.if_stop()
+ return self.msel.early_stop()
raise NotImplementedError
@property
@@ -107,3 +129,19 @@ def oracle_last_setpoint_sel_te_acc(self):
if self.msel is not None:
return self.msel.oracle_last_setpoint_sel_te_acc
return -1
+
+ @property
+ def model_selection_epoch(self):
+ """
+ the epoch when the model was selected
+ """
+ if self._model_selection_epoch is not None:
+ return self._model_selection_epoch
+ return -1
+
+ @property
+ def val_threshold(self):
+ """
+ the treshold below which we don't stop early
+ """
+ return self._val_threshold
diff --git a/domainlab/algos/msels/c_msel_oracle.py b/domainlab/algos/msels/c_msel_oracle.py
index e232b1e78..d61047c75 100644
--- a/domainlab/algos/msels/c_msel_oracle.py
+++ b/domainlab/algos/msels/c_msel_oracle.py
@@ -11,11 +11,11 @@ class MSelOracleVisitor(AMSel):
how the final model is selected
"""
- def __init__(self, msel=None):
+ def __init__(self, msel=None, val_threshold = None):
"""
Decorator pattern
"""
- super().__init__()
+ super().__init__(val_threshold)
self.best_oracle_acc = 0
self.msel = msel
@@ -30,15 +30,15 @@ def oracle_last_setpoint_sel_te_acc(self):
return self.msel.oracle_last_setpoint_sel_te_acc
return -1
- def update(self, clear_counter=False):
+ def base_update(self, clear_counter=False):
"""
if the best model should be updated
"""
self.trainer.model.save("epoch")
flag = False
- if self.tr_obs.metric_val is None:
- return super().update(clear_counter)
- metric = self.tr_obs.metric_te[self.tr_obs.str_metric4msel]
+ if self.observer4msel.metric_val is None:
+ return super().base_update(clear_counter)
+ metric = self.observer4msel.metric_te[self.observer4msel.str_metric4msel]
if metric > self.best_oracle_acc:
self.best_oracle_acc = metric
if self.msel is not None:
@@ -49,20 +49,20 @@ def update(self, clear_counter=False):
logger.info("new oracle model saved")
flag = True
if self.msel is not None:
- return self.msel.update(clear_counter)
+ return self.msel.base_update(clear_counter)
return flag
- def if_stop(self):
+ def early_stop(self):
"""
if should early stop
oracle model selection does not intervene how models get selected
by the innermost model selection
"""
if self.msel is not None:
- return self.msel.if_stop()
+ return self.msel.early_stop()
return False
- def accept(self, trainer, tr_obs):
+ def accept(self, trainer, observer4msel):
if self.msel is not None:
- self.msel.accept(trainer, tr_obs)
- super().accept(trainer, tr_obs)
+ self.msel.accept(trainer, observer4msel)
+ super().accept(trainer, observer4msel)
diff --git a/domainlab/algos/msels/c_msel_setpoint_delay.py b/domainlab/algos/msels/c_msel_setpoint_delay.py
index 8387dbb26..d62983e89 100644
--- a/domainlab/algos/msels/c_msel_setpoint_delay.py
+++ b/domainlab/algos/msels/c_msel_setpoint_delay.py
@@ -11,8 +11,8 @@ class MSelSetpointDelay(AMSel):
selected performance from the decoratee each time the setpoint shrinks
"""
- def __init__(self, msel):
- super().__init__()
+ def __init__(self, msel, val_threshold = None):
+ super().__init__(val_threshold)
# NOTE: super() has to come first always otherwise self.msel will be overwritten to be None
self.msel = msel
self._oracle_last_setpoint_sel_te_acc = 0.0
@@ -24,7 +24,7 @@ def oracle_last_setpoint_sel_te_acc(self):
"""
return self._oracle_last_setpoint_sel_te_acc
- def update(self, clear_counter=False):
+ def base_update(self, clear_counter=False):
"""
if the best model should be updated
currently, clear_counter is set via
diff --git a/domainlab/algos/msels/c_msel_tr_loss.py b/domainlab/algos/msels/c_msel_tr_loss.py
index 58ca03e21..609550a9a 100644
--- a/domainlab/algos/msels/c_msel_tr_loss.py
+++ b/domainlab/algos/msels/c_msel_tr_loss.py
@@ -13,8 +13,8 @@ class MSelTrLoss(AMSel):
2. Visitor pattern to trainer
"""
- def __init__(self, max_es):
- super().__init__()
+ def __init__(self, max_es, val_threshold = None):
+ super().__init__(val_threshold)
# NOTE: super() must come first otherwise it will overwrite existing
# values!
self.reset()
@@ -28,7 +28,7 @@ def reset(self):
def max_es(self):
return self._max_es
- def update(self, clear_counter=False):
+ def base_update(self, clear_counter=False):
"""
if the best model should be updated
"""
@@ -50,7 +50,7 @@ def update(self, clear_counter=False):
self.es_c = 0
return flag
- def if_stop(self):
+ def early_stop(self):
"""
if should early stop
"""
diff --git a/domainlab/algos/msels/c_msel_val.py b/domainlab/algos/msels/c_msel_val.py
index c1f2f5561..38c91ad58 100644
--- a/domainlab/algos/msels/c_msel_val.py
+++ b/domainlab/algos/msels/c_msel_val.py
@@ -11,8 +11,8 @@ class MSelValPerf(MSelTrLoss):
2. Visitor pattern to trainer
"""
- def __init__(self, max_es):
- super().__init__(max_es) # construct self.tr_obs (observer)
+ def __init__(self, max_es, val_threshold = None):
+ super().__init__(max_es, val_threshold) # construct self.observer4msel (observer)
self.reset()
def reset(self):
@@ -39,16 +39,16 @@ def best_te_metric(self):
"""
return self._best_te_metric
- def update(self, clear_counter=False):
+ def base_update(self, clear_counter=False):
"""
if the best model should be updated
"""
flag = True
- if self.tr_obs.metric_val is None:
- return super().update(clear_counter)
- metric = self.tr_obs.metric_val[self.tr_obs.str_metric4msel]
- if self.tr_obs.metric_te is not None:
- metric_te_current = self.tr_obs.metric_te[self.tr_obs.str_metric4msel]
+ if self.observer4msel.metric_val is None:
+ return super().base_update(clear_counter)
+ metric = self.observer4msel.metric_val[self.observer4msel.str_metric4msel]
+ if self.observer4msel.metric_te is not None:
+ metric_te_current = self.observer4msel.metric_te[self.observer4msel.str_metric4msel]
self._best_te_metric = max(self._best_te_metric, metric_te_current)
if metric > self._best_val_acc: # update hat{model}
@@ -56,8 +56,8 @@ def update(self, clear_counter=False):
# the bigger the better
self._best_val_acc = metric
self.es_c = 0 # restore counter
- if self.tr_obs.metric_te is not None:
- metric_te_current = self.tr_obs.metric_te[self.tr_obs.str_metric4msel]
+ if self.observer4msel.metric_te is not None:
+ metric_te_current = self.observer4msel.metric_te[self.observer4msel.str_metric4msel]
self._sel_model_te_acc = metric_te_current
else:
@@ -65,7 +65,7 @@ def update(self, clear_counter=False):
logger = Logger.get_logger()
logger.info(f"early stop counter: {self.es_c}")
logger.info(
- f"val acc:{self.tr_obs.metric_val['acc']}, "
+ f"val acc:{self.observer4msel.metric_val['acc']}, "
+ f"best validation acc: {self.best_val_acc}, "
+ f"corresponding to test acc: \
{self.sel_model_te_acc} / {self.best_te_metric}"
diff --git a/domainlab/algos/observers/a_observer.py b/domainlab/algos/observers/a_observer.py
index bdad57360..cbf8a86e0 100644
--- a/domainlab/algos/observers/a_observer.py
+++ b/domainlab/algos/observers/a_observer.py
@@ -13,7 +13,6 @@ def __init__(self):
self.task = None
self.device = None
self.epo_te = None
- self.str_msel = None
self.keep_model = None
self.loader_te = None
self.loader_tr = None
@@ -26,7 +25,6 @@ def set_task(self, task, args, device):
self.task = task
self.device = device
self.epo_te = args.epo_te
- self.str_msel = args.msel # FIXME: consistent with self.model_sel?
self.keep_model = args.keep_model
self.loader_te = self.task.loader_te
self.loader_tr = self.task.loader_tr
diff --git a/domainlab/algos/observers/b_obvisitor.py b/domainlab/algos/observers/b_obvisitor.py
index 6dce73c28..4c3d1917c 100644
--- a/domainlab/algos/observers/b_obvisitor.py
+++ b/domainlab/algos/observers/b_obvisitor.py
@@ -61,12 +61,12 @@ def update(self, epoch, flag_info=False):
self.loader_te, self.device
)
self.metric_te = metric_te
- if self.model_sel.update(flag_info):
+ if self.model_sel.update(epoch, flag_info):
logger.info("better model found")
self.host_trainer.model.save()
logger.info("persisted")
- flag_stop = self.model_sel.if_stop()
-
+ acc = self.metric_te.get("acc")
+ flag_stop = self.model_sel.if_stop(acc)
flag_enough = epoch >= self.host_trainer.aconf.epos_min
self.flag_setpoint_changed_once |= flag_info
@@ -116,6 +116,7 @@ def after_all(self):
metric_te.update({"acc_oracle": -1})
if hasattr(self, "model_sel"):
metric_te.update({"acc_val": self.model_sel.best_val_acc})
+ metric_te.update({"model_selection_epoch": self.model_sel.model_selection_epoch})
else:
metric_te.update({"acc_val": -1})
diff --git a/domainlab/algos/trainers/a_trainer.py b/domainlab/algos/trainers/a_trainer.py
index 34a603dbe..24e0ccc21 100644
--- a/domainlab/algos/trainers/a_trainer.py
+++ b/domainlab/algos/trainers/a_trainer.py
@@ -3,6 +3,7 @@
"""
import abc
+import torch
from torch import optim
from domainlab.compos.pcr.p_chain_handler import AbstractChainNodeHandler
@@ -52,6 +53,7 @@ def __init__(self, successor_node=None, extend=None):
"""
super().__init__(successor_node)
self._model = None
+ # decoratee can be both model or trainer
self._decoratee = extend
self.task = None
self.observer = None
@@ -89,6 +91,15 @@ def __init__(self, successor_node=None, extend=None):
# fbopt
self.mu_iter_start = 0
self.flag_setpoint_updated = False
+ # moving average
+ self.ma_weight_previous_model_params = None
+ self._dict_previous_para_persist = {}
+ self._ma_iter = 0
+ #
+ self.list_reg_over_task_ratio = None
+ # mhof
+ self.dict_multiplier = {}
+
@property
def model(self):
@@ -132,7 +143,9 @@ def init_business(self, model, task, observer, device, aconf, flag_accept=True):
self._decoratee.init_business(
model, task, observer, device, aconf, flag_accept
)
- self.model = model
+ self.model = self._decoratee
+ else:
+ self.model = model
self.task = task
self.task.init_business(trainer=self, args=aconf)
self.model.list_d_tr = self.task.list_domain_tr
@@ -185,11 +198,56 @@ def after_batch(self, epoch, ind_batch):
"""
return
- @abc.abstractmethod
def before_tr(self):
"""
before training, probe model performance
"""
+ list_mu = self.cal_reg_loss_over_task_loss_ratio()
+ self.dict_multiplier = {'mu4regloss'+str(i): value for i, value in enumerate(list_mu)}
+
+ @property
+ def list_str_multiplier_na(self):
+ list_str = list(self.dict_multiplier.keys())
+ return list_str
+
+ def cal_reg_loss_over_task_loss_ratio(self):
+ """
+ estimate the scale of each loss term, match each loss term to the major
+ loss via a ratio, this ratio will be multiplied with multiplier
+ """
+ list_accum_reg_loss = []
+ loss_task_agg = 0
+ list_mu = None
+ for ind_batch, (tensor_x, tensor_y, tensor_d, *others) in enumerate(
+ self.loader_tr
+ ):
+ tensor_x, tensor_y, tensor_d = (
+ tensor_x.to(self.device),
+ tensor_y.to(self.device),
+ tensor_d.to(self.device),
+ )
+ list_reg_loss_tensor, list_mu = \
+ self.cal_reg_loss(tensor_x, tensor_y, tensor_d, others)
+
+ if ind_batch >= self.aconf.nb4reg_over_task_ratio:
+ return list_mu
+
+ list_reg_loss_tensor = [torch.sum(tensor).detach().item()
+ for tensor in list_reg_loss_tensor]
+ if ind_batch == 0:
+ list_accum_reg_loss = list_reg_loss_tensor
+ else:
+ list_accum_reg_loss = [reg_loss_accum_tensor + reg_loss_tensor
+ for reg_loss_accum_tensor,
+ reg_loss_tensor in
+ zip(list_accum_reg_loss,
+ list_reg_loss_tensor)]
+ tensor_loss_task = self.model.cal_task_loss(tensor_x, tensor_y)
+ tensor_loss_task = torch.sum(tensor_loss_task).detach().item()
+ loss_task_agg += tensor_loss_task
+ self.list_reg_over_task_ratio = [reg_loss / loss_task_agg
+ for reg_loss in list_accum_reg_loss]
+ return list_mu
def post_tr(self):
"""
@@ -243,19 +301,38 @@ def cal_reg_loss(self, tensor_x, tensor_y, tensor_d, others=None):
combine losses of current trainer with self._model.cal_reg_loss, which
can be either a trainer or a model
"""
- list_reg_model, list_mu_model = self.decoratee.cal_reg_loss(
- tensor_x, tensor_y, tensor_d, others
- )
- assert len(list_reg_model) == len(list_mu_model)
+ list_reg_loss_model_tensor, list_mu_model = \
+ self.decoratee.cal_reg_loss(tensor_x, tensor_y, tensor_d, others)
+ assert len(list_reg_loss_model_tensor) == len(list_mu_model)
- list_reg_trainer, list_mu_trainer = self._cal_reg_loss(
+ list_reg_loss_trainer_tensor, list_mu_trainer = self._cal_reg_loss(
tensor_x, tensor_y, tensor_d, others
)
- assert len(list_reg_trainer) == len(list_mu_trainer)
-
- list_loss = list_reg_model + list_reg_trainer
+ assert len(list_reg_loss_trainer_tensor) == len(list_mu_trainer)
+ # extend the length of list: extend number of regularization loss
+ # tensor: the element of list is tensor
+ list_loss_tensor = list_reg_loss_model_tensor + \
+ list_reg_loss_trainer_tensor
list_mu = list_mu_model + list_mu_trainer
- return list_loss, list_mu
+ # ERM return a tensor of all zeros, delete here
+ if len(list_mu) > 1:
+ list_boolean_zero = [torch.all(torch.eq(list_loss_tensor[i], 0)).item()
+ for i in range(len(list_mu))]
+ list_loss_tensor = [list_loss_tensor[i] for (i, flag) in
+ enumerate(list_boolean_zero) if not flag]
+ list_mu = [list_mu[i] for (i, flag) in enumerate(list_boolean_zero) if not flag]
+ if self.dict_multiplier:
+ list_mu = list(self.dict_multiplier.values())
+
+ list_loss_tensor_normalized = list_loss_tensor
+ if self.list_reg_over_task_ratio:
+ assert len(list_mu) == len(self.list_reg_over_task_ratio)
+ list_loss_tensor_normalized = \
+ [reg_loss / reg_over_task_ratio if reg_over_task_ratio != 0
+ else reg_loss for (reg_loss, reg_over_task_ratio)
+ in zip(list_loss_tensor, self.list_reg_over_task_ratio)]
+
+ return list_loss_tensor_normalized, list_mu
def _cal_reg_loss(self, tensor_x, tensor_y, tensor_d, others=None):
"""
@@ -272,3 +349,31 @@ def dset_decoration_args_algo(self, args, ddset):
if self._decoratee is not None:
return self._decoratee.dset_decoration_args_algo(args, ddset)
return ddset
+
+ def print_parameters(self):
+ """
+ Function to print all parameters of the object.
+ Can be used to print the parameters of any child class
+ """
+ params = vars(self)
+ print(f"Parameters of {type(self).__name__}: {params}")
+
+ def hyper_init(self, functor_scheduler, trainer):
+ """
+ initialize both trainer's multiplier and model's multiplier
+ """
+ if not self.dict_multiplier:
+ raise RuntimeError("self.dict_multiplier empty!")
+ return functor_scheduler(
+ trainer=trainer, **self.dict_multiplier
+ )
+
+ def hyper_update(self, epoch, fun_scheduler):
+ """hyper_update.
+
+ :param epoch:
+ :param fun_scheduler:
+ """
+ dict_rst = fun_scheduler(epoch)
+ for key in self.dict_multiplier:
+ self.dict_multiplier[key] = dict_rst[key]
diff --git a/domainlab/algos/trainers/args_fbopt.py b/domainlab/algos/trainers/args_fbopt.py
index 53719e05f..e1fa536ac 100644
--- a/domainlab/algos/trainers/args_fbopt.py
+++ b/domainlab/algos/trainers/args_fbopt.py
@@ -9,53 +9,73 @@ def add_args2parser_fbopt(parser):
"""
parser.add_argument(
- "--k_i_gain", type=float, default=0.001, help="PID control gain for integrator"
+ "--k_i_gain", type=float, default=0.001,
+ help="PID control gain for integrator, if k_i_gain_ratio is not None, \
+ then this value will be overwriten, see doc for k_i_gain_ratio"
)
parser.add_argument(
"--k_i_gain_ratio",
type=float,
default=None,
- help="set k_i_gain to be ratio of \
- initial saturation k_i_gain",
+ help="set k_i_gain to be ratio of initial saturation k_i_gain \
+ which K_I * delta = exp_shoulder_clip(saturation value), solve \
+ for K_I, where delta = reg loss - setpoint. \
+ Now independent of the scale of delta, the K_I gain will be set so \
+ that the multiplier will be increased at a rate defined by \
+ exp_shoulder_clip",
)
parser.add_argument(
- "--mu_clip", type=float, default=1e4, help="maximum value of mu"
+ "--mu_clip", type=float, default=1e4,
+ help="maximum value of mu: mu_clip should be large enough so that the \
+ regularization loss as penalty can be weighed superior enough to \
+ decrease."
)
parser.add_argument(
- "--mu_min", type=float, default=1e-6, help="minimum value of mu"
+ "--mu_min", type=float, default=1e-6, help="minimum value of mu, mu \
+ can not be negative"
)
parser.add_argument(
- "--mu_init", type=float, default=0.001, help="initial beta for multiplication"
+ "--mu_init", type=float, default=0.001,
+ help="initial value for each component of the multiplier vector"
)
parser.add_argument(
- "--coeff_ma", type=float, default=0.5, help="exponential moving average"
+ "--coeff_ma", type=float, default=0.5,
+ help="exponential moving average of delta \
+ (reg minus setpoint as control error): \
+ move_ave=move_ave + coeff*delta(current value)"
)
parser.add_argument(
"--coeff_ma_output_state",
type=float,
default=0.1,
- help="state exponential moving average of \
- reguarlization loss",
+ help="output (reguarization loss) exponential moving average \
+ move_ave=move_ave*coeef + reg(current value)",
)
parser.add_argument(
"--coeff_ma_setpoint",
type=float,
default=0.9,
- help="setpoint average coeff for previous setpoint",
+ help="setpoint average (coeff for previous setpoint)",
)
parser.add_argument(
"--exp_shoulder_clip",
type=float,
default=5,
- help="clip before exponential operation",
+ help="clip delta(control error): \
+ R(reg-loss)-b(setpoint) before exponential operation: \
+ exp[clip(R-b, exp_shoulder_clip)].\
+ exponential magnifies control error, so this argument \
+ defines the maximum rate of change of multipliers \
+ exp(5)=148, exp_shoulder_clip should not be too big, \
+ if exp_shoulder_clip is small, then more like exterior point method",
)
parser.add_argument(
@@ -63,7 +83,7 @@ def add_args2parser_fbopt(parser):
type=float,
default=0.99,
help="before training start, evaluate reg loss, \
- setpoint will be 0.9 of this loss",
+ setpoint will be 0.9 of this loss",
)
parser.add_argument(
@@ -77,8 +97,8 @@ def add_args2parser_fbopt(parser):
"--force_setpoint_change_once",
action="store_true",
default=False,
- help="train until the setpoint changed at least once \
- up to maximum epos specified",
+ help="continue training until the setpoint changed at least once: \
+ up to maximum epos specified",
)
parser.add_argument(
@@ -103,24 +123,34 @@ def add_args2parser_fbopt(parser):
)
parser.add_argument(
- "--overshoot_rewind",
- type=str,
- default="yes",
- help="overshoot_rewind, for benchmark, use yes or no",
+ "--no_overshoot_rewind",
+ action="store_true",
+ default=False,
+ help="disable overshoot rewind: when reg loss satisfies setpoint \
+ already, then set activation=K_I*delta = 0",
)
parser.add_argument(
"--setpoint_rewind",
+ action="store_true",
+ default=False,
+ help="rewind setpoint",
+ )
+
+ # this arg is only used when model is set to be "diva"
+ parser.add_argument(
+ "--str_setpoint_ada",
type=str,
- default="no",
- help="setpoing_rewind, for benchmark, use yes or no",
+ default="DominateAllComponent()",
+ help="which setpoint adaptation criteria to use",
)
+ # this arg is only used when model is set to be "diva"
parser.add_argument(
"--str_diva_multiplier_type",
type=str,
default="gammad_recon",
- help="which penalty to tune",
+ help="which penalty to tune, only useful to DIVA model",
)
return parser
diff --git a/domainlab/algos/trainers/fbopt_mu_controller.py b/domainlab/algos/trainers/fbopt_mu_controller.py
index 9f8e02971..ce53fc0df 100644
--- a/domainlab/algos/trainers/fbopt_mu_controller.py
+++ b/domainlab/algos/trainers/fbopt_mu_controller.py
@@ -50,15 +50,16 @@ def __init__(self, trainer, **kwargs):
self.mmu = {key: self.init_mu for key, val in self.mmu.items()}
self.set_point_controller = FbOptSetpointController(args=self.trainer.aconf)
- self.k_i_control = trainer.aconf.k_i_gain
- self.k_i_gain_ratio = None
- self.overshoot_rewind = trainer.aconf.overshoot_rewind == "yes"
+ self.k_i_control = [trainer.aconf.k_i_gain for i in
+ range(len(self.mmu))]
+ self.k_i_gain_ratio = trainer.aconf.k_i_gain_ratio
+ self.overshoot_rewind = not trainer.aconf.no_overshoot_rewind
self.delta_epsilon_r = None
# NOTE: this value will be set according to initial evaluation of
# neural network
self.activation_clip = trainer.aconf.exp_shoulder_clip
- self.coeff_ma = trainer.aconf.coeff_ma
+ self.coeff4newval_ma_delta = trainer.aconf.coeff_ma
# NOTE:
# print(copy.deepcopy(self.model))
# TypeError: cannot pickle '_thread.lock' object
@@ -70,7 +71,10 @@ def __init__(self, trainer, **kwargs):
def set_k_i_gain(self, epo_reg_loss):
if self.k_i_gain_ratio is None:
- return
+ if self.k_i_control:
+ return
+ raise RuntimeError("set either direct k_i_control value or \
+ set k_i_gain_ratio, can not be both empty!")
# NOTE: do not use self.cal_delta4control!!!! which will change
# class member variables self.delta_epsilon_r!
list_setpoint = self.get_setpoint4r()
@@ -78,13 +82,22 @@ def set_k_i_gain(self, epo_reg_loss):
delta_epsilon_r = [a - b for a, b in zip(epo_reg_loss, list_setpoint)]
# to calculate self.delta_epsilon_r
+ list_active = [self.activation_clip for i in range(len(delta_epsilon_r))]
+
k_i_gain_saturate = [
- a / b for a, b in zip(self.activation_clip, delta_epsilon_r)
+ a / b for a, b in zip(list_active, delta_epsilon_r)
]
+
+ # FIXME: add max K_I gain here if initial delta is too small
+
k_i_gain_saturate_min = min(k_i_gain_saturate)
# NOTE: here we override the commandline arguments specification
# for k_i_control, so k_i_control is not a hyperparameter anymore
- self.k_i_control = self.k_i_gain_ratio * k_i_gain_saturate_min
+ # self.k_i_control = [self.k_i_gain_ratio * ele for ele in k_i_gain_saturate]
+ # k_I should be the same for each component, the control error already
+ # make the multiplier magnification different
+ self.k_i_control = [self.k_i_gain_ratio * k_i_gain_saturate_min for i
+ in range(len(delta_epsilon_r))]
warnings.warn(
f"hyperparameter k_i_gain disabled! \
replace with {self.k_i_control}"
@@ -118,7 +131,8 @@ def cal_delta4control(self, list1, list_setpoint):
# self.delta_epsilon_r is the previous time step.
# delta_epsilon_r is the current time step
self.delta_epsilon_r = self.cal_delta_integration(
- self.delta_epsilon_r, delta_epsilon_r, self.coeff_ma
+ self.delta_epsilon_r, delta_epsilon_r,
+ self.coeff4newval_ma_delta
)
def cal_delta_integration(self, list_old, list_new, coeff):
@@ -162,7 +176,7 @@ def cal_activation(self):
"""
setpoint = self.get_setpoint4r()
activation = [
- self.k_i_control * val if setpoint[i] > 0 else self.k_i_control * (-val)
+ self.k_i_control[i] * val if setpoint[i] > 0 else self.k_i_control[i] * (-val)
for i, val in enumerate(self.delta_epsilon_r)
]
if self.activation_clip is not None:
@@ -206,27 +220,32 @@ def search_mu(
self.writer.add_scalar(f"controller_gain/{key}", dict_gain[key], miter)
ind = list_str_multiplier_na.index(key)
self.writer.add_scalar(f"delta/{key}", self.delta_epsilon_r[ind], miter)
- for i, (reg_dyn, reg_set) in enumerate(
- zip(epo_reg_loss, self.get_setpoint4r())
- ):
- self.writer.add_scalar(
- f"lossrd/dyn_{list_str_multiplier_na[i]}", reg_dyn, miter
- )
- self.writer.add_scalar(
- f"lossrs/setpoint_{list_str_multiplier_na[i]}", reg_set, miter
- )
- self.writer.add_scalars(
- f"loss_rds/loss_{list_str_multiplier_na[i]}_w_setpoint",
- {
- f"lossr/loss_{list_str_multiplier_na[i]}": reg_dyn,
- f"lossr/setpoint_{list_str_multiplier_na[i]}": reg_set,
- },
- miter,
- )
- self.writer.add_scalar(
- f"x_ell_y_r/loss_{list_str_multiplier_na[i]}", reg_dyn, epo_task_loss
- )
+ if list_str_multiplier_na:
+ for i, (reg_dyn, reg_set) in enumerate(
+ zip(epo_reg_loss, self.get_setpoint4r())
+ ):
+
+ self.writer.add_scalar(
+ f"lossrd/dyn_{list_str_multiplier_na[i]}", reg_dyn, miter
+ )
+ self.writer.add_scalar(
+ f"lossrs/setpoint_{list_str_multiplier_na[i]}", reg_set, miter
+ )
+
+ self.writer.add_scalars(
+ f"loss_rds/loss_{list_str_multiplier_na[i]}_w_setpoint",
+ {
+ f"lossr/loss_{list_str_multiplier_na[i]}": reg_dyn,
+ f"lossr/setpoint_{list_str_multiplier_na[i]}": reg_set,
+ },
+ miter,
+ )
+ self.writer.add_scalar(
+ f"x_ell_y_r/loss_{list_str_multiplier_na[i]}", reg_dyn, epo_task_loss
+ )
+ else:
+ logger.info("No multiplier provided")
self.writer.add_scalar("loss_task/penalized", epo_loss_tr, miter)
self.writer.add_scalar("loss_task/ell", epo_task_loss, miter)
acc_te = 0
diff --git a/domainlab/algos/trainers/fbopt_setpoint_ada.py b/domainlab/algos/trainers/fbopt_setpoint_ada.py
index c3c0193ce..e22e13a75 100644
--- a/domainlab/algos/trainers/fbopt_setpoint_ada.py
+++ b/domainlab/algos/trainers/fbopt_setpoint_ada.py
@@ -81,7 +81,7 @@ def __init__(self, host):
self.counter = None
self.epo_ma = None
self.ref = None
- self.coeff_ma = 0.5
+ self.coeff_ma_setpoint_rewinder = 0.5
self.setpoint_rewind = host.flag_setpoint_rewind
def reset(self, epo_reg_loss):
@@ -98,7 +98,7 @@ def observe(self, epo_reg_loss):
"""
if self.ref is None:
self.reset(epo_reg_loss)
- self.epo_ma = list_ma(self.epo_ma, epo_reg_loss, self.coeff_ma)
+ self.epo_ma = list_ma(self.epo_ma, epo_reg_loss, self.coeff_ma_setpoint_rewinder)
list_comparison_increase = [a < b for a, b in zip(self.ref, self.epo_ma)]
list_comparison_above_setpoint = [
a < b for a, b in zip(self.host.setpoint4R, self.epo_ma)
@@ -144,9 +144,11 @@ def __init__(self, state=None, args=None):
if args is not None and args.no_setpoint_update:
state = FixedSetpoint()
else:
- state = DominateAllComponent()
+ # state = eval('DominateAllComponent()')
+ # state = DominateAllComponent()
+ state = eval(args.str_setpoint_ada)
self.transition_to(state)
- self.flag_setpoint_rewind = args.setpoint_rewind == "yes"
+ self.flag_setpoint_rewind = args.setpoint_rewind
self.setpoint_rewinder = SetpointRewinder(self)
self.state_task_loss = 0.0
self.state_epo_reg_loss = [
@@ -311,4 +313,12 @@ def update_setpoint(self):
{self.host.state_task_loss}"
)
self.host.setpoint4ell = self.host.state_task_loss
+
+ if flag1 & flag2:
+ logger = Logger.get_logger(logger_name="main_out_logger", loglevel="INFO")
+ logger.info(
+ "!!!!!!!!!In DominantAllComponent: \
+ besides each components of reg loss shrinks \
+ task loss also decreased which forms dominance!"
+ )
return flag1 & flag2, list_pos
diff --git a/domainlab/algos/trainers/mmd_base.py b/domainlab/algos/trainers/mmd_base.py
new file mode 100644
index 000000000..6931a3048
--- /dev/null
+++ b/domainlab/algos/trainers/mmd_base.py
@@ -0,0 +1,48 @@
+"""
+Alexej, Xudong
+"""
+import torch
+from domainlab.algos.trainers.train_basic import TrainerBasic
+
+
+class TrainerMMDBase(TrainerBasic):
+ """
+ causal matching
+ """
+ def my_cdist(self, x1, x2):
+ """
+ distance for Gaussian
+ """
+ # along the last dimension
+ x1_norm = x1.pow(2).sum(dim=-1, keepdim=True)
+ x2_norm = x2.pow(2).sum(dim=-1, keepdim=True)
+ # x_2_norm is [batchsize, 1]
+ # matrix multiplication (2nd, 3rd) and addition to first argument
+ # X1[batchsize, dimfeat] * X2[dimfeat, batchsize)
+ # alpha: Scaling factor for the matrix product (default: 1)
+ # x2_norm.transpose(-2, -1) is row vector
+ # x_1_norm is column vector
+ res = torch.addmm(x2_norm.transpose(-2, -1),
+ x1,
+ x2.transpose(-2, -1), alpha=-2).add_(x1_norm)
+ return res.clamp_min_(1e-30)
+
+ def gaussian_kernel(self, x, y):
+ """
+ kernel for MMD
+ """
+ gamma = [0.001, 0.01, 0.1, 1, 10, 100, 1000]
+ dist = self.my_cdist(x, y)
+ tensor = torch.zeros_like(dist)
+ for g in gamma:
+ tensor.add_(torch.exp(dist.mul(-g)))
+ return tensor
+
+ def mmd(self, x, y):
+ """
+ maximum mean discrepancy
+ """
+ kxx = self.gaussian_kernel(x, x).mean()
+ kyy = self.gaussian_kernel(y, y).mean()
+ kxy = self.gaussian_kernel(x, y).mean()
+ return kxx + kyy - 2 * kxy
diff --git a/domainlab/algos/trainers/train_basic.py b/domainlab/algos/trainers/train_basic.py
index 02f8e02fe..0e2cd5dec 100644
--- a/domainlab/algos/trainers/train_basic.py
+++ b/domainlab/algos/trainers/train_basic.py
@@ -4,10 +4,8 @@
import math
from operator import add
-import torch
-
from domainlab import g_tensor_batch_agg
-from domainlab.algos.trainers.a_trainer import AbstractTrainer, mk_opt
+from domainlab.algos.trainers.a_trainer import AbstractTrainer
def list_divide(list_val, scalar):
@@ -24,6 +22,8 @@ def before_tr(self):
check the performance of randomly initialized weight
"""
self.model.evaluate(self.loader_te, self.device)
+ super().before_tr()
+ self.before_epoch()
def before_epoch(self):
"""
@@ -80,7 +80,7 @@ def tr_batch(self, tensor_x, tensor_y, tensor_d, others, ind_batch, epoch):
tensor_d.to(self.device),
)
self.optimizer.zero_grad()
- loss = self.cal_loss(tensor_x, tensor_y, tensor_d, others)
+ loss, *_ = self.cal_loss(tensor_x, tensor_y, tensor_d, others)
loss.backward()
self.optimizer.step()
self.after_batch(epoch, ind_batch)
@@ -95,9 +95,11 @@ def cal_loss(self, tensor_x, tensor_y, tensor_d, others):
list_reg_tr_batch, list_mu_tr = self.cal_reg_loss(
tensor_x, tensor_y, tensor_d, others
)
+ list_mu_tr_normalized = list_mu_tr
tensor_batch_reg_loss_penalized = self.model.list_inner_product(
- list_reg_tr_batch, list_mu_tr
+ list_reg_tr_batch, list_mu_tr_normalized
)
+
assert len(tensor_batch_reg_loss_penalized.shape) == 1
loss_erm_agg = g_tensor_batch_agg(loss_task)
loss_reg_penalized_agg = g_tensor_batch_agg(tensor_batch_reg_loss_penalized)
@@ -105,4 +107,4 @@ def cal_loss(self, tensor_x, tensor_y, tensor_d, others):
self.model.multiplier4task_loss * loss_erm_agg + loss_reg_penalized_agg
)
self.log_loss(list_reg_tr_batch, loss_task, loss_penalized)
- return loss_penalized
+ return loss_penalized, list_reg_tr_batch, loss_erm_agg
diff --git a/domainlab/algos/trainers/train_causIRL.py b/domainlab/algos/trainers/train_causIRL.py
new file mode 100644
index 000000000..085abcbfa
--- /dev/null
+++ b/domainlab/algos/trainers/train_causIRL.py
@@ -0,0 +1,77 @@
+"""
+Alex, Xudong
+"""
+import numpy as np
+import torch
+from domainlab.algos.trainers.train_basic import TrainerBasic
+
+
+class TrainerCausalIRL(TrainerBasic):
+ """
+ causal matching
+ """
+ def my_cdist(self, x1, x2):
+ """
+ distance for Gaussian
+ """
+ # along the last dimension
+ x1_norm = x1.pow(2).sum(dim=-1, keepdim=True)
+ x2_norm = x2.pow(2).sum(dim=-1, keepdim=True)
+ # x_2_norm is [batchsize, 1]
+ # matrix multiplication (2nd, 3rd) and addition to first argument
+ # X1[batchsize, dimfeat] * X2[dimfeat, batchsize)
+ # alpha: Scaling factor for the matrix product (default: 1)
+ # x2_norm.transpose(-2, -1) is row vector
+ # x_1_norm is column vector
+ res = torch.addmm(x2_norm.transpose(-2, -1),
+ x1,
+ x2.transpose(-2, -1), alpha=-2).add_(x1_norm)
+ return res.clamp_min_(1e-30)
+
+ def gaussian_kernel(self, x, y):
+ """
+ kernel for MMD
+ """
+ gamma=[0.001, 0.01, 0.1, 1, 10, 100, 1000]
+ dist = self.my_cdist(x, y)
+ tensor = torch.zeros_like(dist)
+ for g in gamma:
+ tensor.add_(torch.exp(dist.mul(-g)))
+ return tensor
+
+ def mmd(self, x, y):
+ """
+ maximum mean discrepancy
+ """
+ kxx = self.gaussian_kernel(x, x).mean()
+ kyy = self.gaussian_kernel(y, y).mean()
+ kxy = self.gaussian_kernel(x, y).mean()
+ return kxx + kyy - 2 * kxy
+
+ def tr_batch(self, tensor_x, tensor_y, tensor_d, others, ind_batch, epoch):
+ """
+ optimize neural network one step upon a mini-batch of data
+ """
+ self.before_batch(epoch, ind_batch)
+ tensor_x, tensor_y, tensor_d = (
+ tensor_x.to(self.device),
+ tensor_y.to(self.device),
+ tensor_d.to(self.device),
+ )
+ self.optimizer.zero_grad()
+
+ features = self.get_model().extract_semantic_feat(tensor_x)
+
+ pos_batch_break = np.random.randint(0, tensor_x.shape[0])
+ first = features[:pos_batch_break]
+ second = features[pos_batch_break:]
+ if len(first) > 1 and len(second) > 1:
+ penalty = torch.nan_to_num(self.mmd(first, second))
+ else:
+ penalty = torch.tensor(0)
+ loss = self.cal_loss(tensor_x, tensor_y, tensor_d, others)
+ loss = loss + penalty
+ loss.backward()
+ self.optimizer.step()
+ self.after_batch(epoch, ind_batch)
+ self.counter_batch += 1
diff --git a/domainlab/algos/trainers/train_coral.py b/domainlab/algos/trainers/train_coral.py
new file mode 100644
index 000000000..a8f7c3f05
--- /dev/null
+++ b/domainlab/algos/trainers/train_coral.py
@@ -0,0 +1,49 @@
+"""
+Deep CORAL: Correlation Alignment for Deep
+Domain Adaptation
+[au] Alexej, Xudong
+"""
+from domainlab.algos.trainers.mmd_base import TrainerMMDBase
+from domainlab.utils.hyperparameter_retrieval import get_gamma_reg
+
+
+class TrainerCoral(TrainerMMDBase):
+ """
+ cross domain MMD
+ """
+ def cross_domain_mmd(self, tuple_data_domains_batch):
+ """
+ domain-pairwise mmd
+ """
+ list_cross_domain_mmd = []
+ list_domain_erm_loss = []
+ num_domains = len(tuple_data_domains_batch)
+ for ind_domain_a in range(num_domains):
+ data_a, y_a, *_ = tuple_data_domains_batch[ind_domain_a]
+ feat_a = self.get_model().extract_semantic_feat(data_a)
+ list_domain_erm_loss.append(sum(self.get_model().cal_task_loss(data_a, y_a)))
+ for ind_domain_b in range(ind_domain_a, num_domains):
+ data_b, *_ = tuple_data_domains_batch[ind_domain_b]
+ feat_b = self.get_model().extract_semantic_feat(data_b)
+ mmd = self.mmd(feat_a, feat_b)
+ list_cross_domain_mmd.append(mmd)
+ return list_domain_erm_loss, list_cross_domain_mmd
+
+ def tr_epoch(self, epoch):
+ list_loaders = list(self.dict_loader_tr.values())
+ loaders_zip = zip(*list_loaders)
+ self.model.train()
+ self.model.convert4backpack()
+ self.epo_loss_tr = 0
+
+ for ind_batch, tuple_data_domains_batch in enumerate(loaders_zip):
+ self.optimizer.zero_grad()
+ list_domain_erm_loss, list_cross_domain_mmd = self.cross_domain_mmd(tuple_data_domains_batch)
+ loss = sum(list_domain_erm_loss) + get_gamma_reg(self.aconf, self.name) * sum(list_cross_domain_mmd)
+ loss.backward()
+ self.optimizer.step()
+ self.epo_loss_tr += loss.detach().item()
+ self.after_batch(epoch, ind_batch)
+
+ flag_stop = self.observer.update(epoch) # notify observer
+ return flag_stop
diff --git a/domainlab/algos/trainers/train_dial.py b/domainlab/algos/trainers/train_dial.py
index 76f2dff02..711a83008 100644
--- a/domainlab/algos/trainers/train_dial.py
+++ b/domainlab/algos/trainers/train_dial.py
@@ -5,6 +5,7 @@
from torch.autograd import Variable
from domainlab.algos.trainers.train_basic import TrainerBasic
+from domainlab.utils.hyperparameter_retrieval import get_gamma_reg
class TrainerDIAL(TrainerBasic):
@@ -46,15 +47,8 @@ def _cal_reg_loss(self, tensor_x, tensor_y, tensor_d, others=None):
"""
_ = tensor_d
_ = others
- tensor_x_adv = self.gen_adversarial(self.device, tensor_x, tensor_y)
- tensor_x_batch_adv_no_grad = Variable(tensor_x_adv, requires_grad=False)
- loss_dial = self.model.cal_task_loss(tensor_x_batch_adv_no_grad, tensor_y)
- return [loss_dial], [self.aconf.gamma_reg]
-
- def hyper_init(self, functor_scheduler, trainer):
- """
- initialize both trainer's multiplier and model's multiplier
- """
- fun_scheduler = super().hyper_init(functor_scheduler, trainer)
- return fun_scheduler
- # FIXME: register also the trainer hyperpars: return functor_scheduler(trainer=trainer, gamma_reg=self.gamma_reg)
+ with torch.enable_grad():
+ tensor_x_adv = self.gen_adversarial(self.device, tensor_x, tensor_y)
+ tensor_x_batch_adv_no_grad = Variable(tensor_x_adv, requires_grad=False)
+ loss_dial = self.model.cal_task_loss(tensor_x_batch_adv_no_grad, tensor_y)
+ return [loss_dial], [get_gamma_reg(self.aconf, self.name)]
diff --git a/domainlab/algos/trainers/train_ema.py b/domainlab/algos/trainers/train_ema.py
new file mode 100644
index 000000000..8b57368b0
--- /dev/null
+++ b/domainlab/algos/trainers/train_ema.py
@@ -0,0 +1,66 @@
+"""
+simple exponential moving average of each layers, after each epoch,
+trainer=ma_trainer2_trainer3
+always set ma to be outer most
+
+Paper:
+Ensemble of Averages: Improving Model Selection and
+Boosting Performance in Domain Generalization
+Devansh Arpit, Huan Wang, Yingbo Zhou, Caiming Xiong
+Salesforce Research, USA
+"""
+
+import torch
+from domainlab.algos.trainers.train_basic import TrainerBasic
+
+
+class TrainerMA(TrainerBasic):
+ """
+ initializer of this class goes to one block/section in the abstract class
+ initializer, otherwise it will break the class inheritance.
+ """
+ def move_average(self, dict_data, epoch):
+ """
+ for each epoch, convex combine the weights for each layer
+ Paper:
+ Ensemble of Averages: Improving Model Selection and
+ Boosting Performance in Domain Generalization
+ Devansh Arpit, Huan Wang, Yingbo Zhou, Caiming Xiong
+ Salesforce Research, USA
+ """
+ self.ma_weight_previous_model_params = epoch / (epoch + 1)
+ # 1/2, 2/3, 3/4, 4/5,
+ # weight on previous model converges to 1 as training goes on
+ dict_return_ema_para_curr_iter = {}
+ for key, data in dict_data.items():
+ # data = data.view(1, -1) # make it rank 1 tensor (a.k.a. vector)
+ if self._ma_iter == 0:
+ previous_data = torch.zeros_like(data)
+ local_data_convex = data
+ else:
+ previous_data = self._dict_previous_para_persist[key]
+ local_data_convex = \
+ self.ma_weight_previous_model_params * previous_data + \
+ (1 - self.ma_weight_previous_model_params) * data
+ # correction by 1/(1 - self.ma_weight_previous_model_params)
+ # so that the gradients amplitude backpropagated in data is
+ # independent of self.ma_weight_previous_model_params
+ # We did not do this because 1-rho will be almost zero as
+ # epochs goes on, which will expand the neural network weights
+ # to overflow
+ # dict_return_ema_para_curr_iter[key] = \
+ # local_data_convex / (1 - self.ma_weight_previous_model_params)
+ dict_return_ema_para_curr_iter[key] = local_data_convex
+ self._dict_previous_para_persist[key] = \
+ local_data_convex.clone().detach() # used as previous data
+
+ self._ma_iter += 1
+ return dict_return_ema_para_curr_iter
+
+ def after_epoch(self, epoch):
+ torch_model = self.get_model()
+ dict_para = torch_model.state_dict() # only for trainable parameters
+ new_dict_para = self.move_average(dict_para, epoch)
+ # without deepcopy, this seems to work
+ torch_model.load_state_dict(new_dict_para)
+ super().after_epoch(epoch)
diff --git a/domainlab/algos/trainers/train_fbopt_b.py b/domainlab/algos/trainers/train_fbopt_b.py
index 1efe3ce58..b47ffc69e 100644
--- a/domainlab/algos/trainers/train_fbopt_b.py
+++ b/domainlab/algos/trainers/train_fbopt_b.py
@@ -43,7 +43,7 @@ def set_scheduler(self, scheduler):
this class name will be created inside model
"""
# model.hyper_init will register the hyper-parameters of the model to scheduler
- self.hyper_scheduler = self.model.hyper_init(scheduler, trainer=self)
+ self.hyper_scheduler = self.decoratee.hyper_init(scheduler, trainer=self)
def eval_r_loss(self):
"""
@@ -66,8 +66,10 @@ def eval_r_loss(self):
vec_y.to(self.device),
vec_d.to(self.device),
)
- tuple_reg_loss = self.model.cal_reg_loss(tensor_x, vec_y, vec_d, others)
- p_loss, *_ = self.model.cal_loss(tensor_x, vec_y, vec_d, others)
+ tuple_reg_loss = self.decoratee.cal_reg_loss(tensor_x, vec_y, vec_d, others)
+ p_loss, *_ = self.decoratee.cal_loss(tensor_x, vec_y, vec_d, others)
+ if p_loss.dim() > 0:
+ p_loss = p_loss.sum()
# NOTE: first [0] extract the loss, second [0] get the list
list_b_reg_loss = tuple_reg_loss[0]
list_b_reg_loss_sumed = [
@@ -82,7 +84,7 @@ def eval_r_loss(self):
)
# sum will kill the dimension of the mini batch
epo_task_loss += b_task_loss
- epo_p_loss += p_loss.sum().detach().item()
+ epo_p_loss += p_loss.detach().item()
counter += 1.0
return (
list_divide(epo_reg_loss, counter),
@@ -103,6 +105,9 @@ def before_batch(self, epoch, ind_batch):
return super().after_batch(epoch, ind_batch)
def before_tr(self):
+ if hasattr(self.decoratee, "before_tr"):
+ # initialize self.decoratee.dict_multiplier
+ self.decoratee.before_tr()
self.flag_setpoint_updated = False
if self.aconf.force_feedforward:
self.set_scheduler(scheduler=HyperSchedulerWarmupLinear)
@@ -110,14 +115,23 @@ def before_tr(self):
self.set_scheduler(scheduler=HyperSchedulerFeedback)
self.set_model_with_mu() # very small value
- if self.aconf.tr_with_init_mu:
- self.tr_with_init_mu()
+ # evaluate regularization loss list
(
self.epo_reg_loss_tr,
self.epo_task_loss_tr,
self.epo_loss_tr,
) = self.eval_r_loss()
+
+ if self.aconf.tr_with_init_mu:
+ self.tr_with_init_mu()
+ # evaluate regularization loss list
+ (
+ self.epo_reg_loss_tr,
+ self.epo_task_loss_tr,
+ self.epo_loss_tr,
+ ) = self.eval_r_loss()
+
self.hyper_scheduler.set_setpoint(
[
ele * self.aconf.ini_setpoint_ratio
@@ -126,7 +140,7 @@ def before_tr(self):
for ele in self.epo_reg_loss_tr
],
self.epo_task_loss_tr,
- ) # setpoing w.r.t. random initialization of neural network
+ ) # setpoint w.r.t. random initialization of neural network
self.hyper_scheduler.set_k_i_gain(self.epo_reg_loss_tr)
@property
@@ -134,7 +148,7 @@ def list_str_multiplier_na(self):
"""
return the name of multipliers
"""
- return self.model.list_str_multiplier_na
+ return self.decoratee.list_str_multiplier_na
def tr_with_init_mu(self):
"""
@@ -146,7 +160,7 @@ def set_model_with_mu(self):
"""
set model multipliers
"""
- self.model.hyper_update(
+ self.decoratee.hyper_update(
epoch=None, fun_scheduler=HyperSetter(self.hyper_scheduler.mmu)
)
@@ -162,12 +176,19 @@ def tr_epoch(self, epoch, flag_info=False):
miter=epoch,
)
self.set_model_with_mu()
- if hasattr(self.model, "dict_multiplier"):
+ if hasattr(self.decoratee, "dict_multiplier"):
logger = Logger.get_logger()
- logger.info(f"current multiplier: {self.model.dict_multiplier}")
+ logger.info(f"current multiplier: {self.decoratee.dict_multiplier}")
if self._decoratee is not None:
flag = self._decoratee.tr_epoch(epoch, self.flag_setpoint_updated)
+ # self._decoratee.tr_epoch here will call
+ # self._decoratee.after_epoch to log the losses, but it only sotre
+ # the value into self._decoratee,
+ # so we have to mannually copy the value here
+ self.epo_loss_tr = self._decoratee.epo_loss_tr
+ self.epo_reg_loss_tr = self._decoratee.epo_reg_loss_tr
+ self.epo_task_loss_tr = self._decoratee.epo_task_loss_tr
else:
flag = super().tr_epoch(epoch, self.flag_setpoint_updated)
# is it good to update setpoint after we know the new value of each loss?
diff --git a/domainlab/algos/trainers/train_fishr.py b/domainlab/algos/trainers/train_fishr.py
index 1a11e3780..250b4109d 100644
--- a/domainlab/algos/trainers/train_fishr.py
+++ b/domainlab/algos/trainers/train_fishr.py
@@ -13,6 +13,7 @@
backpack = None
from domainlab.algos.trainers.train_basic import TrainerBasic
+from domainlab.utils.hyperparameter_retrieval import get_gamma_reg
class TrainerFishr(TrainerBasic):
@@ -25,7 +26,7 @@ class TrainerFishr(TrainerBasic):
"Fishr: Invariant gradient variances for out-of-distribution generalization."
International Conference on Machine Learning. PMLR, 2022.
"""
- def tr_epoch(self, epoch):
+ def tr_epoch(self, epoch, flag_info=False):
list_loaders = list(self.dict_loader_tr.values())
loaders_zip = zip(*list_loaders)
self.model.train()
@@ -39,13 +40,13 @@ def tr_epoch(self, epoch):
dict_layerwise_var_var_grads_sum = \
{key: val.sum() for key, val in dict_layerwise_var_var_grads.items()}
loss_fishr = sum(dict_layerwise_var_var_grads_sum.values())
- loss = sum(list_loss_erm) + self.aconf.gamma_reg * loss_fishr
+ loss = sum(list_loss_erm) + get_gamma_reg(self.aconf, self.name) * loss_fishr
loss.backward()
self.optimizer.step()
self.epo_loss_tr += loss.detach().item()
self.after_batch(epoch, ind_batch)
- flag_stop = self.observer.update(epoch) # notify observer
+ flag_stop = self.observer.update(epoch, flag_info) # notify observer
return flag_stop
def var_grads_and_loss(self, tuple_data_domains_batch):
@@ -160,10 +161,6 @@ def cal_dict_variance_grads(self, tensor_x, vec_y):
inputs=list(self.model.parameters()), retain_graph=True, create_graph=True
)
- for name, param in self.model.named_parameters():
- print(name)
- print(".grad.shape: ", param.variance.shape)
-
dict_variance = OrderedDict(
[(name, weights.variance.clone())
for name, weights in self.model.named_parameters()
diff --git a/domainlab/algos/trainers/train_hyper_scheduler.py b/domainlab/algos/trainers/train_hyper_scheduler.py
index 2e60bf5e8..00b1cb1d3 100644
--- a/domainlab/algos/trainers/train_hyper_scheduler.py
+++ b/domainlab/algos/trainers/train_hyper_scheduler.py
@@ -25,7 +25,7 @@ def set_scheduler(
flag_update_epoch: if hyper-parameters should be changed per epoch
flag_update_batch: if hyper-parameters should be changed per batch
"""
- self.hyper_scheduler = self.model.hyper_init(scheduler)
+ self.hyper_scheduler = self.decoratee.hyper_init(scheduler, trainer=self)
# let model register its hyper-parameters to the scheduler
self.flag_update_hyper_per_epoch = flag_update_epoch
self.flag_update_hyper_per_batch = flag_update_batch
@@ -37,12 +37,14 @@ def before_batch(self, epoch, ind_batch):
should be set to epoch*self.num_batches + ind_batch
"""
if self.flag_update_hyper_per_batch:
- self.model.hyper_update(
+ self.decoratee.hyper_update(
epoch * self.num_batches + ind_batch, self.hyper_scheduler
)
return super().before_batch(epoch, ind_batch)
def before_tr(self):
+ if hasattr(self.decoratee, "before_tr"):
+ self.decoratee.before_tr()
if self.hyper_scheduler is None:
logger = Logger.get_logger()
logger.warning(
@@ -55,10 +57,13 @@ def before_tr(self):
flag_update_epoch=True,
)
- def tr_epoch(self, epoch):
+ def tr_epoch(self, epoch, flag_info=False):
"""
update hyper-parameters only per epoch
"""
if self.flag_update_hyper_per_epoch:
- self.model.hyper_update(epoch, self.hyper_scheduler)
+ self.decoratee.hyper_update(epoch, self.hyper_scheduler)
+ if hasattr(self.decoratee, "dict_multiplier"):
+ logger = Logger.get_logger()
+ logger.info(f"---before epoch, current multiplier: {self.decoratee.dict_multiplier}")
return super().tr_epoch(epoch)
diff --git a/domainlab/algos/trainers/train_irm.py b/domainlab/algos/trainers/train_irm.py
new file mode 100644
index 000000000..09748ee1f
--- /dev/null
+++ b/domainlab/algos/trainers/train_irm.py
@@ -0,0 +1,44 @@
+"""
+use random start to generate adversarial images
+"""
+import torch
+from torch import autograd
+from torch.nn import functional as F
+from domainlab.algos.trainers.train_basic import TrainerBasic
+
+
+class TrainerIRM(TrainerBasic):
+ """
+ IRMv1 split a minibatch into half, and use an unbiased estimate of the
+ squared gradient norm via inner product
+ $$\\delta_{w|w=1} \\ell(w\\dot \\Phi(X^{e, i}), Y^{e, i})$$
+ of dimension dim(Grad)
+ with
+ $$\\delta_{w|w=1} \\ell(w\\dot \\Phi(X^{e, j}), Y^{e, j})$$
+ of dimension dim(Grad)
+ For more details, see section 3.2 and Appendix D of :
+ Arjovsky et al., “Invariant Risk Minimization.”
+ """
+ def _cal_phi(self, tensor_x):
+ logits = self.model.cal_logit_y(tensor_x)
+ return logits
+
+ def _cal_reg_loss(self, tensor_x, tensor_y, tensor_d, others=None):
+ """
+ Let trainer behave like a model, so that other trainer could use it
+ """
+ _ = tensor_d
+ _ = others
+ y = tensor_y
+ with torch.enable_grad():
+ phi = self._cal_phi(tensor_x)
+ dummy_w_scale = torch.tensor(1.).to(tensor_x.device).requires_grad_()
+ # interleave instances inside a minibatch
+ loss_1 = F.cross_entropy(phi[::2] * dummy_w_scale, y[::2])
+ loss_2 = F.cross_entropy(phi[1::2] * dummy_w_scale, y[1::2])
+ grad_1 = autograd.grad(loss_1, [dummy_w_scale], create_graph=True)[0]
+ grad_2 = autograd.grad(loss_2, [dummy_w_scale], create_graph=True)[0]
+ loss_irm_scalar = torch.sum(grad_1 * grad_2) # scalar
+ loss_irm_scalar = torch.square(loss_irm_scalar)
+ loss_irm_tensor = loss_irm_scalar.expand(tensor_x.shape[0])
+ return [loss_irm_tensor], [self.aconf.gamma_reg]
diff --git a/domainlab/algos/trainers/train_irm_sep_dom.py b/domainlab/algos/trainers/train_irm_sep_dom.py
new file mode 100644
index 000000000..94d3bca79
--- /dev/null
+++ b/domainlab/algos/trainers/train_irm_sep_dom.py
@@ -0,0 +1,39 @@
+"""
+use random start to generate adversarial images
+"""
+import torch
+from torch import autograd
+from torch.nn import functional as F
+from domainlab.algos.trainers.train_irm import TrainerIRM
+
+
+class TrainerIRMSepDom(TrainerIRM):
+ def tr_epoch(self, epoch, flag_info=False):
+ list_loaders = list(self.dict_loader_tr.values())
+ loaders_zip = zip(*list_loaders)
+ self.model.train()
+ self.epo_loss_tr = 0
+
+ for ind_batch, tuple_data_domains_batch in enumerate(loaders_zip):
+ self.optimizer.zero_grad()
+ list_domain_loss_erm = []
+ list_domain_reg = []
+ for batch_domain_e in tuple_data_domains_batch:
+ tensor_x, tensor_y, tensor_d, *others = batch_domain_e
+ tensor_x, tensor_y, tensor_d = \
+ tensor_x.to(self.device), tensor_y.to(self.device), \
+ tensor_d.to(self.device)
+ list_domain_loss_erm.append(
+ self.model.cal_task_loss(tensor_x, tensor_y))
+ list_1ele_loss_irm, _ = \
+ self.cal_reg_loss(tensor_x, tensor_y, tensor_d, others)
+ list_domain_reg += list_1ele_loss_irm
+ loss = torch.sum(torch.stack(list_domain_loss_erm)) + \
+ self.aconf.gamma_reg * torch.sum(torch.stack(list_domain_reg))
+ loss.backward()
+ self.optimizer.step()
+ self.epo_loss_tr += loss.detach().item()
+ self.after_batch(epoch, ind_batch)
+
+ flag_stop = self.observer.update(epoch, flag_info) # notify observer
+ return flag_stop
diff --git a/domainlab/algos/trainers/train_matchdg.py b/domainlab/algos/trainers/train_matchdg.py
index cfe8e5a66..ef4b1c862 100644
--- a/domainlab/algos/trainers/train_matchdg.py
+++ b/domainlab/algos/trainers/train_matchdg.py
@@ -13,6 +13,7 @@
)
from domainlab.tasks.utils_task_dset import DsetIndDecorator4XYD
from domainlab.utils.logger import Logger
+from domainlab.utils.hyperparameter_retrieval import get_gamma_reg
class TrainerMatchDG(AbstractTrainer):
@@ -36,7 +37,7 @@ def init_business(
self.base_domain_size = get_base_domain_size4match_dg(self.task)
self.epo_loss_tr = 0
self.flag_erm = flag_erm
- self.lambda_ctr = self.aconf.gamma_reg
+ self.lambda_ctr = get_gamma_reg(aconf, self.name)
self.mk_match_tensor(epoch=0)
self.flag_match_tensor_sweep_over = False
self.tuple_tensor_ref_domain2each_y = None
@@ -94,7 +95,7 @@ def tr_epoch(self, epoch, flag_info=False):
logger.info("\n\nPhase erm+ctr \n\n")
self.flag_erm = True
- flag_stop = self.observer.update(epoch) # notify observer
+ flag_stop = self.observer.update(epoch, flag_info) # notify observer
return flag_stop
def tr_batch(self, epoch, batch_idx, x_e, y_e, d_e, others=None):
diff --git a/domainlab/algos/trainers/train_mldg.py b/domainlab/algos/trainers/train_mldg.py
index 90318286c..050227999 100644
--- a/domainlab/algos/trainers/train_mldg.py
+++ b/domainlab/algos/trainers/train_mldg.py
@@ -10,6 +10,7 @@
from domainlab.algos.trainers.train_basic import TrainerBasic
from domainlab.tasks.utils_task import mk_loader
from domainlab.tasks.utils_task_dset import DsetZip
+from domainlab.utils.hyperparameter_retrieval import get_gamma_reg
class TrainerMLDG(AbstractTrainer):
@@ -34,6 +35,7 @@ def before_tr(self):
flag_accept=False,
)
self.prepare_ziped_loader()
+ super().before_tr()
def prepare_ziped_loader(self):
"""
@@ -50,7 +52,7 @@ def prepare_ziped_loader(self):
ddset_mix = DsetZip(ddset_source, ddset_target)
self.loader_tr_source_target = mk_loader(ddset_mix, self.aconf.bs)
- def tr_epoch(self, epoch):
+ def tr_epoch(self, epoch, flag_info=False):
self.model.train()
self.epo_loss_tr = 0
self.prepare_ziped_loader()
@@ -108,7 +110,7 @@ def tr_epoch(self, epoch):
loss = (
loss_source_task.sum()
+ source_reg_tr.sum()
- + self.aconf.gamma_reg * loss_look_forward.sum()
+ + get_gamma_reg(self.aconf, self.name) * loss_look_forward.sum()
)
#
loss.backward()
@@ -116,5 +118,5 @@ def tr_epoch(self, epoch):
self.optimizer.step()
self.epo_loss_tr += loss.detach().item()
self.after_batch(epoch, ind_batch)
- flag_stop = self.observer.update(epoch) # notify observer
+ flag_stop = self.observer.update(epoch, flag_info) # notify observer
return flag_stop
diff --git a/domainlab/algos/trainers/zoo_trainer.py b/domainlab/algos/trainers/zoo_trainer.py
index 651b80fa7..dcf1785dc 100644
--- a/domainlab/algos/trainers/zoo_trainer.py
+++ b/domainlab/algos/trainers/zoo_trainer.py
@@ -2,12 +2,18 @@
select trainer
"""
from domainlab.algos.trainers.train_basic import TrainerBasic
+from domainlab.algos.trainers.train_ema import TrainerMA
from domainlab.algos.trainers.train_dial import TrainerDIAL
from domainlab.algos.trainers.train_fbopt_b import TrainerFbOpt
-from domainlab.algos.trainers.train_hyper_scheduler import TrainerHyperScheduler
+from domainlab.algos.trainers.train_hyper_scheduler \
+ import TrainerHyperScheduler
from domainlab.algos.trainers.train_matchdg import TrainerMatchDG
from domainlab.algos.trainers.train_mldg import TrainerMLDG
from domainlab.algos.trainers.train_fishr import TrainerFishr
+from domainlab.algos.trainers.train_irm import TrainerIRM
+from domainlab.algos.trainers.train_irm_sep_dom import TrainerIRMSepDom
+from domainlab.algos.trainers.train_causIRL import TrainerCausalIRL
+from domainlab.algos.trainers.train_coral import TrainerCoral
class TrainerChainNodeGetter(object):
@@ -46,12 +52,17 @@ def __call__(self, lst_candidates=None, default=None, lst_excludes=None):
)
chain = TrainerBasic(None)
+ chain = TrainerMA(chain)
chain = TrainerDIAL(chain)
chain = TrainerMatchDG(chain)
chain = TrainerMLDG(chain)
chain = TrainerFishr(chain)
+ chain = TrainerIRM(chain)
+ chain = TrainerIRMSepDom(chain)
chain = TrainerHyperScheduler(chain)
chain = TrainerFbOpt(chain)
+ chain = TrainerCausalIRL(chain)
+ chain = TrainerCoral(chain)
node = chain.handle(self.request)
head = node
while self._list_str_trainer:
diff --git a/domainlab/arg_parser.py b/domainlab/arg_parser.py
index 61a2ea97a..055f8cfde 100644
--- a/domainlab/arg_parser.py
+++ b/domainlab/arg_parser.py
@@ -13,6 +13,37 @@
from domainlab.models.args_vae import add_args2parser_vae
from domainlab.utils.logger import Logger
+class ParseValuesOrKeyValuePairs(argparse.Action):
+ """Class used for arg parsing where values are provided in a key value format"""
+
+ def __call__(self, parser: argparse.ArgumentParser,
+ namespace: argparse.Namespace, values: str, option_string: str = None):
+ """
+ Handle parsing of key value pairs, or a single value instead
+
+ Args:
+ parser (argparse.ArgumentParser): The ArgumentParser object.
+ namespace (argparse.Namespace): The namespace object to store parsed values.
+ values (str): The string containing key=value pairs or a single float value.
+ option_string (str, optional): The option string that triggered this action (unused).
+
+ Raises:
+ ValueError: If the values cannot be parsed to float.
+ """
+ if "=" in values:
+ my_dict = {}
+ for kv in values.split(","):
+ k, v = kv.split("=")
+ try:
+ my_dict[k.strip()] = float(v.strip())
+ except ValueError:
+ raise ValueError(f"Invalid value in key-value pair: '{kv}', must be float")
+ setattr(namespace, self.dest, my_dict)
+ else:
+ try:
+ setattr(namespace, self.dest, float(values))
+ except ValueError:
+ raise ValueError(f"Invalid value for {self.dest}: '{values}', must be float")
def mk_parser_main():
"""
@@ -32,7 +63,13 @@ def mk_parser_main():
parser.add_argument("--lr", type=float, default=1e-4, help="learning rate")
parser.add_argument(
- "--gamma_reg", type=float, default=0.1, help="weight of regularization loss"
+ "--gamma_reg",
+ default=0.1,
+ help="weight of regularization loss in the form of $$\ell(\cdot) + \mu \times R(\cdot)$$ \
+ can specify per model as 'default=3.0, dann=1.0,jigen=2.0', where default refer to gamma for trainer \
+ note diva is implemented $$\ell(\cdot) + \mu \times R(\cdot)$$ \
+ so diva does not have gamma_reg",
+ action=ParseValuesOrKeyValuePairs
)
parser.add_argument("--es", type=int, default=1, help="early stop steps")
@@ -77,6 +114,15 @@ def mk_parser_main():
Set to 0 to turn warmup off.",
)
+ parser.add_argument(
+ "-nb4ratio",
+ "--nb4reg_over_task_ratio",
+ type=int,
+ default=1,
+ help="number of batches for estimating reg loss over task loss ratio \
+ default 1",
+ )
+
parser.add_argument("--debug", action="store_true", default=False)
parser.add_argument("--dmem", action="store_true", default=False)
parser.add_argument(
@@ -251,6 +297,13 @@ def mk_parser_main():
parser.add_argument("--task", metavar="ta", type=str, help="task name")
+ parser.add_argument(
+ "--val_threshold",
+ type=float,
+ default=None,
+ help="Accuracy threshold before early stopping can be applied"
+ )
+
arg_group_task = parser.add_argument_group("task args")
arg_group_task.add_argument(
@@ -301,7 +354,10 @@ def mk_parser_main():
arg_group_task.add_argument(
"--loglevel", type=str, default="DEBUG", help="sets the loglevel of the logger"
)
-
+ arg_group_task.add_argument(
+ "--shuffling_off", action="store_true", default=False,
+ help="disable shuffling of the training dataloader for the dataset"
+ )
# args for variational auto encoder
arg_group_vae = parser.add_argument_group("vae")
arg_group_vae = add_args2parser_vae(arg_group_vae)
diff --git a/domainlab/dsets/dset_subfolder.py b/domainlab/dsets/dset_subfolder.py
index 0d29f18b6..d9261c54f 100644
--- a/domainlab/dsets/dset_subfolder.py
+++ b/domainlab/dsets/dset_subfolder.py
@@ -152,6 +152,8 @@ def _find_classes(self, mdir):
if not flag_user_input_classes_in_folder:
logger.info(f"user provided class names: {self.list_class_dir}")
logger.info(f"subfolder names from folder: {mdir} {classes}")
+ unmatched_names = set(self.list_class_dir) - set(classes)
+ logger.info(f"unmatched class names provided by user: {unmatched_names}")
raise RuntimeError(
"user provided class names does not match the subfolder names"
)
diff --git a/domainlab/exp/exp_main.py b/domainlab/exp/exp_main.py
index 51397131b..a033bb734 100755
--- a/domainlab/exp/exp_main.py
+++ b/domainlab/exp/exp_main.py
@@ -10,7 +10,6 @@
from domainlab.tasks.zoo_tasks import TaskChainNodeGetter
from domainlab.utils.logger import Logger
from domainlab.utils.sanity_check import SanityCheck
-
os.environ["CUDA_LAUNCH_BLOCKING"] = "1" # debug
@@ -51,19 +50,22 @@ def __init__(self, args, task=None, model=None, observer=None, visitor=AggWriter
self.model = model
self.epochs = self.args.epos
self.epoch_counter = 1
+ self.val_threshold = args.val_threshold
if observer is None:
observer = observer_default
if not self.trainer.flag_initialized:
self.trainer.init_business(self.model, self.task, observer, device, args)
self.visitor = visitor(self) # visitor depends on task initialization first
# visitor must be initialized last after trainer is initialized
+ self.experiment_duration = None
self.model.set_saver(self.visitor)
-
+
def execute(self, num_epochs=None):
"""
train model
check performance by loading persisted model
"""
+ self.model.save() # cause CI infinite loop when put in initializer?
if num_epochs is None:
num_epochs = self.epochs + 1
t_0 = datetime.datetime.now()
@@ -96,6 +98,7 @@ def execute(self, num_epochs=None):
f"Experiment finished at epoch: {self.epoch_counter} "
f"with time: {t_c - t_0} at {t_c}"
)
+ self.experiment_duration = t_c - t_0
self.trainer.post_tr()
def clean_up(self):
diff --git a/domainlab/exp/exp_utils.py b/domainlab/exp/exp_utils.py
index 2af681731..22a609b2c 100644
--- a/domainlab/exp/exp_utils.py
+++ b/domainlab/exp/exp_utils.py
@@ -179,6 +179,11 @@ def _gen_line(self, dict_metric):
confmat_filename = dict_cols.get("mname", None) # return None if not found
# @FIXME: strong dependency on host attribute name
dict_cols.update({epos_name: self.host.epoch_counter})
+ if self.host.experiment_duration is not None:
+ dict_cols.update({"experiment_duration": self.host.experiment_duration})
+ else:
+ print("Does not have attribute")
+ print(self.host)
if not self.has_first_line:
self.first_line(dict_cols)
list_str = [str(dict_cols[key]) for key in self.list_cols]
diff --git a/domainlab/exp_protocol/aggregate_results.py b/domainlab/exp_protocol/aggregate_results.py
index d67cf5a0a..2d72316bb 100644
--- a/domainlab/exp_protocol/aggregate_results.py
+++ b/domainlab/exp_protocol/aggregate_results.py
@@ -43,6 +43,7 @@ def agg_from_directory(input_dir: str, output_file: str):
def agg_main(bm_dir: str, skip_plotting: bool = False):
"""Aggregates partial results and generate plots."""
+ bm_dir.rstrip("/")
agg_output = f"{bm_dir}/results.csv"
agg_input = f"{bm_dir}/rule_results"
agg_from_directory(agg_input, agg_output)
diff --git a/domainlab/exp_protocol/benchmark.smk b/domainlab/exp_protocol/benchmark.smk
index fcc9eb4f3..b54d8314c 100644
--- a/domainlab/exp_protocol/benchmark.smk
+++ b/domainlab/exp_protocol/benchmark.smk
@@ -72,6 +72,8 @@ rule parameter_sampling:
expand("{path}", path=config_path)
output:
dest=expand("{output_dir}/hyperparameters.csv", output_dir=config["output_dir"])
+ # resources:
+ # log_dir="slurm_logs_test"
params:
sampling_seed=os.environ["DOMAINLAB_CUDA_HYPERPARAM_SEED"]
run:
@@ -120,6 +122,7 @@ rule run_experiment:
resources:
nvidia_gpu=1
run:
+ shell("cat {input}")
from domainlab.exp_protocol.run_experiment import run_experiment
# import sys
# pos = None
@@ -159,6 +162,8 @@ rule agg_results:
# put different csv file in a big csv file
input:
exp_results=experiment_result_files
+ # resources:
+ # log_dir="slurm_logs_test"
output:
out_file=expand("{output_dir}/results.csv", output_dir=config["output_dir"])
run:
diff --git a/domainlab/models/a_model.py b/domainlab/models/a_model.py
index ca639daa2..3767aa58d 100644
--- a/domainlab/models/a_model.py
+++ b/domainlab/models/a_model.py
@@ -187,3 +187,35 @@ def dset_decoration_args_algo(self, args, ddset):
if self._decoratee is not None:
return self._decoratee.dset_decoration_args_algo(args, ddset)
return ddset
+
+ @property
+ def p_na_prefix(self):
+ """
+ common prefix for Models
+ """
+ return "Model"
+
+ @property
+ def name(self):
+ """
+ get the name of the algorithm
+ """
+ na_prefix = self.p_na_prefix
+ len_prefix = len(na_prefix)
+ na_class = type(self).__name__
+ if na_class[:len_prefix] != na_prefix:
+ raise RuntimeError(
+ "Model builder node class must start with ",
+ na_prefix,
+ "the current class is named: ",
+ na_class,
+ )
+ return type(self).__name__[len_prefix:].lower()
+
+ def print_parameters(self):
+ """
+ Function to print all parameters of the object.
+ Can be used to print the parameters of every child class.
+ """
+ params = vars(self)
+ print(f"Parameters of {type(self).__name__}: {params}")
diff --git a/domainlab/models/a_model_classif.py b/domainlab/models/a_model_classif.py
index 1917f752e..ea9ef5f47 100644
--- a/domainlab/models/a_model_classif.py
+++ b/domainlab/models/a_model_classif.py
@@ -25,7 +25,6 @@
loss_cross_entropy_extended = extend(nn.CrossEntropyLoss(reduction="none"))
-
class AModelClassif(AModel, metaclass=abc.ABCMeta):
"""
operations that all classification model should have
@@ -244,3 +243,4 @@ def _cal_reg_loss(self, tensor_x, tensor_y, tensor_d, others=None):
device = tensor_x.device
bsize = tensor_x.shape[0]
return [torch.zeros(bsize).to(device)], [0.0]
+ # return [], []
diff --git a/domainlab/models/model_dann.py b/domainlab/models/model_dann.py
index b479c309c..b940c5d71 100644
--- a/domainlab/models/model_dann.py
+++ b/domainlab/models/model_dann.py
@@ -79,7 +79,10 @@ def reset_aux_net(self):
@property
def list_str_multiplier_na(self):
- return ["alpha"]
+ """
+ name of the multiplier
+ """
+ return [self.name + "_alpha"]
def hyper_update(self, epoch, fun_scheduler):
"""hyper_update.
@@ -89,13 +92,15 @@ def hyper_update(self, epoch, fun_scheduler):
dict_rst = fun_scheduler(
epoch
) # the __call__ method of hyperparameter scheduler
- self.alpha = dict_rst["alpha"]
+ self.alpha = dict_rst[self.name + "_alpha"]
def hyper_init(self, functor_scheduler, trainer=None):
"""hyper_init.
:param functor_scheduler: name of the scheduler class
"""
- return functor_scheduler(trainer=trainer, alpha=self.alpha)
+ parameters = {}
+ parameters[self.name + "_alpha"] = self.alpha
+ return functor_scheduler(trainer=trainer, **parameters)
def _cal_reg_loss(self, tensor_x, tensor_y, tensor_d, others):
_ = others
diff --git a/domainlab/models/model_diva.py b/domainlab/models/model_diva.py
index c907eb94a..859fb6fa5 100644
--- a/domainlab/models/model_diva.py
+++ b/domainlab/models/model_diva.py
@@ -100,9 +100,9 @@ def hyper_update(self, epoch, fun_scheduler):
:param fun_scheduler:
"""
dict_rst = fun_scheduler(epoch)
- self.beta_d = dict_rst["beta_d"]
- self.beta_y = dict_rst["beta_y"]
- self.beta_x = dict_rst["beta_x"]
+ self.beta_d = dict_rst[self.name + "_beta_d"]
+ self.beta_y = dict_rst[self.name + "_beta_x"]
+ self.beta_x = dict_rst[self.name + "_beta_y"]
def hyper_init(self, functor_scheduler, trainer=None):
"""
@@ -110,11 +110,12 @@ def hyper_init(self, functor_scheduler, trainer=None):
:param functor_scheduler: the class name of the scheduler
"""
+ parameters = {}
+ parameters[self.name + "_beta_d"] = self.beta_d
+ parameters[self.name + "_beta_y"] = self.beta_y
+ parameters[self.name + "_beta_x"] = self.beta_x
return functor_scheduler(
- trainer=trainer,
- beta_d=self.beta_d,
- beta_y=self.beta_y,
- beta_x=self.beta_x,
+ trainer=trainer, **parameters
)
@property
@@ -122,7 +123,7 @@ def list_str_multiplier_na(self):
"""
list of multipliers name
"""
- return ["mu_recon", "beta_d", "beta_x", "beta_y", "gamma_d"]
+ return [f"{self.name}_mu_recon", f"{self.name}_beta_d", f"{self.name}_beta_x", f"{self.name}_beta_y", f"{self.name}_gamma_d"]
@property
def dict_multiplier(self):
@@ -130,11 +131,11 @@ def dict_multiplier(self):
list of multipliers name, which correspond to cal_reg_loss
"""
return {
- "mu_recon": self.mu_recon,
- "beta_d": self.beta_d,
- "beta_x": self.beta_x,
- "beta_y": self.beta_y,
- "gamma_d": self.gamma_d,
+ f"{self.name}_mu_recon": self.mu_recon,
+ f"{self.name}_beta_d": self.beta_d,
+ f"{self.name}_beta_x": self.beta_x,
+ f"{self.name}_beta_y": self.beta_y,
+ f"{self.name}_gamma_d": self.gamma_d,
}
def _cal_reg_loss(self, tensor_x, tensor_y, tensor_d, others=None):
@@ -186,11 +187,11 @@ def hyper_update(self, epoch, fun_scheduler):
:param fun_scheduler:
"""
dict_rst = fun_scheduler(epoch)
- self.beta_d = dict_rst["beta_d"]
- self.beta_y = dict_rst["beta_y"]
- self.beta_x = dict_rst["beta_x"]
- self.gamma_d = dict_rst["gamma_d"]
- self.mu_recon = dict_rst["mu_recon"]
+ self.beta_d = dict_rst[self.name + "_beta_d"]
+ self.beta_y = dict_rst[self.name + "_beta_x"]
+ self.beta_x = dict_rst[self.name + "_beta_y"]
+ self.gamma_d = dict_rst[self.name + "_gamma_d"]
+ self.mu_recon = dict_rst[self.name + "_mu_recon"]
def hyper_init(self, functor_scheduler, trainer=None):
"""
@@ -198,13 +199,14 @@ def hyper_init(self, functor_scheduler, trainer=None):
:param functor_scheduler: the class name of the scheduler
"""
+ parameters = {}
+ parameters[self.name + "_beta_d"] = self.beta_d
+ parameters[self.name + "_beta_y"] = self.beta_y
+ parameters[self.name + "_beta_x"] = self.beta_x
+ parameters[self.name + "_gamma_d"] = self.gamma_d
+ parameters[self.name + "_mu_recon"] = self.mu_recon
return functor_scheduler(
- trainer=trainer,
- beta_d=self.beta_d,
- beta_y=self.beta_y,
- beta_x=self.beta_x,
- gamma_d=self.gamma_d,
- mu_recon=self.mu_recon,
+ trainer=trainer, **parameters
)
class ModelDIVAGammadReconPerPixel(ModelDIVAGammadRecon):
@@ -237,10 +239,10 @@ def hyper_update(self, epoch, fun_scheduler):
:param fun_scheduler:
"""
dict_rst = fun_scheduler(epoch)
- self.beta_d = dict_rst["beta_d"]
- self.beta_y = dict_rst["beta_y"]
- self.beta_x = dict_rst["beta_x"]
- self.gamma_d = dict_rst["gamma_d"]
+ self.beta_d = dict_rst[self.name + "_beta_d"]
+ self.beta_y = dict_rst[self.name + "_beta_x"]
+ self.beta_x = dict_rst[self.name + "_beta_y"]
+ self.gamma_d = dict_rst[self.name + "_gamma_d"]
def hyper_init(self, functor_scheduler, trainer=None):
"""
@@ -248,12 +250,14 @@ def hyper_init(self, functor_scheduler, trainer=None):
:param functor_scheduler: the class name of the scheduler
"""
+ parameters = {}
+ parameters[self.name + "_beta_d"] = self.beta_d
+ parameters[self.name + "_beta_y"] = self.beta_y
+ parameters[self.name + "_beta_x"] = self.beta_x
+ parameters[self.name + "_gamma_d"] = self.gamma_d
+ parameters[self.name + "_mu_recon"] = self.mu_recon
return functor_scheduler(
- trainer=trainer,
- beta_d=self.beta_d,
- beta_y=self.beta_y,
- beta_x=self.beta_x,
- gamma_d=self.gamma_d,
+ trainer=trainer, **parameters
)
class ModelDIVADefault(ModelDIVA):
diff --git a/domainlab/models/model_erm.py b/domainlab/models/model_erm.py
index 6ee9c23f9..4ccec7a50 100644
--- a/domainlab/models/model_erm.py
+++ b/domainlab/models/model_erm.py
@@ -10,7 +10,6 @@
except:
backpack = None
-
def mk_erm(parent_class=AModelClassif, **kwargs):
"""
Instantiate a Deepall (ERM) model
@@ -53,4 +52,30 @@ def convert4backpack(self):
"""
self._net_invar_feat = extend(self._net_invar_feat, use_converter=True)
self.net_classifier = extend(self.net_classifier, use_converter=True)
+
+ def hyper_update(self, epoch, fun_scheduler): # pylint: disable=unused-argument
+ """
+ Method necessary to combine with hyperparameter scheduler
+
+ :param epoch:
+ :param fun_scheduler:
+ """
+
+ def hyper_init(self, functor_scheduler, trainer=None):
+ """
+ initiate a scheduler object via class name and things inside this model
+
+ :param functor_scheduler: the class name of the scheduler
+ """
+ return functor_scheduler(
+ trainer=trainer
+ )
+
+ @property
+ def list_str_multiplier_na(self):
+ """
+ list of multipliers which match the order in cal_reg_loss
+ """
+ return []
+
return ModelERM
diff --git a/domainlab/models/model_hduva.py b/domainlab/models/model_hduva.py
index 929d179b7..f7ab1d48c 100644
--- a/domainlab/models/model_hduva.py
+++ b/domainlab/models/model_hduva.py
@@ -66,11 +66,11 @@ def hyper_update(self, epoch, fun_scheduler):
dict_rst = fun_scheduler(
epoch
) # the __call__ function of hyper-para-scheduler object
- self.beta_d = dict_rst["beta_d"]
- self.beta_y = dict_rst["beta_y"]
- self.beta_x = dict_rst["beta_x"]
- self.beta_t = dict_rst["beta_t"]
- self.mu_recon = dict_rst["mu_recon"]
+ self.beta_d = dict_rst[self.name + "_beta_d"]
+ self.beta_y = dict_rst[self.name + "_beta_y"]
+ self.beta_x = dict_rst[self.name + "_beta_x"]
+ self.beta_t = dict_rst[self.name + "_beta_t"]
+ self.mu_recon = dict_rst[self.name + "_mu_recon"]
def hyper_init(self, functor_scheduler, trainer=None):
"""hyper_init.
@@ -79,13 +79,14 @@ def hyper_init(self, functor_scheduler, trainer=None):
# calling the constructor of the hyper-parameter-scheduler class, so that this scheduler
# class build a dictionary {"beta_d":self.beta_d, "beta_y":self.beta_y}
# constructor signature is def __init__(self, **kwargs):
+ parameters = {}
+ parameters[self.name + "_beta_d"] = self.beta_d
+ parameters[self.name + "_beta_y"] = self.beta_y
+ parameters[self.name + "_beta_x"] = self.beta_x
+ parameters[self.name + "_beta_t"] = self.beta_t
+ parameters[self.name + "_mu_recon"] = self.mu_recon
return functor_scheduler(
- trainer=trainer,
- mu_recon=self.mu_recon,
- beta_d=self.beta_d,
- beta_y=self.beta_y,
- beta_x=self.beta_x,
- beta_t=self.beta_t,
+ trainer=trainer, **parameters
)
@store_args
@@ -207,7 +208,7 @@ def list_str_multiplier_na(self):
"""
list of multipliers name which matches the order from cal_reg_loss
"""
- return ["mu_recon", "beta_x", "beta_y", "beta_d", "beta_t"]
+ return [f"{self.name}_mu_recon", f"{self.name}_beta_d", f"{self.name}_beta_x", f"{self.name}_beta_y", f"{self.name}_beta_t"]
@property
def dict_multiplier(self):
@@ -215,11 +216,11 @@ def dict_multiplier(self):
dictionary of multipliers name
"""
return {
- "mu_recon": self.mu_recon,
- "beta_d": self.beta_d,
- "beta_x": self.beta_x,
- "beta_y": self.beta_y,
- "beta_t": self.beta_t,
+ f"{self.name}_mu_recon": self.mu_recon,
+ f"{self.name}_beta_d": self.beta_d,
+ f"{self.name}_beta_x": self.beta_x,
+ f"{self.name}_beta_y": self.beta_y,
+ f"{self.name}_beta_t": self.beta_t,
}
def extract_semantic_feat(self, tensor_x):
diff --git a/domainlab/models/model_jigen.py b/domainlab/models/model_jigen.py
index 43cb6ea98..2d382293f 100644
--- a/domainlab/models/model_jigen.py
+++ b/domainlab/models/model_jigen.py
@@ -81,14 +81,14 @@ def list_str_multiplier_na(self):
"""
list of multipliers which match the order in cal_reg_loss
"""
- return ["alpha"]
+ return [self.name + "_alpha"]
@property
def dict_multiplier(self):
"""
dictionary of multipliers
"""
- return {"alpha": self.alpha}
+ return {f"{self.name}_alpha": self.alpha}
def dset_decoration_args_algo(self, args, ddset):
"""
diff --git a/domainlab/utils/generate_benchmark_plots.py b/domainlab/utils/generate_benchmark_plots.py
index 9125ec7b8..9c0be5fae 100644
--- a/domainlab/utils/generate_benchmark_plots.py
+++ b/domainlab/utils/generate_benchmark_plots.py
@@ -15,13 +15,16 @@
matplotlib.use("Agg")
# header of the csv file:
-# param_index, task, algo, epos, te_d, seed, params, acc, precision, recall, specificity, f1, auroc
+# 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19
+# param_index, method, mname, commit, algo, epos, te_d, seed, params, acc, precision, recall, specificity, f1, auroc, acc_oracle, acc_val, model_selection_epoch, experiment_duration
+
COLNAME_METHOD = "method"
COLNAME_IDX_PARAM = "param_index"
COLNAME_PARAM = "params"
G_DF_TASK_COL = 1 # column in which the method name is saved
G_DF_PLOT_COL_METRIC_START = 9 # first 0-6 columns are not metric
+G_DF_PLOT_COL_METRIC_END = 17 # first 0-6 columns are not metric
def gen_benchmark_plots(
@@ -87,8 +90,8 @@ def gen_plots(dataframe: pd.DataFrame, output_dir: str, use_param_index: bool):
['param_index','task',' algo',' epos',' te_d',' seed',' params',' acc','precision',...]
"""
os.makedirs(output_dir, exist_ok=True)
- obj = dataframe.columns[G_DF_PLOT_COL_METRIC_START:]
-
+ pos_numeric_end = min(G_DF_PLOT_COL_METRIC_END, dataframe.shape[1])
+ obj = dataframe.columns[G_DF_PLOT_COL_METRIC_START:pos_numeric_end]
# boxplots
for objective in obj:
boxplot(
@@ -265,7 +268,8 @@ def scatterplot_matrix(
but also between the parameter setups
"""
dataframe = dataframe_in.copy()
- index = list(range(G_DF_PLOT_COL_METRIC_START, dataframe.shape[1]))
+ pos_numeric_end = min(G_DF_PLOT_COL_METRIC_END, dataframe.shape[1])
+ index = list(range(G_DF_PLOT_COL_METRIC_START, pos_numeric_end))
if distinguish_param_setups:
dataframe_ = dataframe.iloc[:, index]
dataframe_.insert(
@@ -278,7 +282,8 @@ def scatterplot_matrix(
g_p = sns.pairplot(data=dataframe_, hue="label", corner=True, kind=kind)
else:
- index_ = list(range(G_DF_PLOT_COL_METRIC_START, dataframe.shape[1]))
+ pos_numeric_end = min(G_DF_PLOT_COL_METRIC_END, dataframe.shape[1])
+ index_ = list(range(G_DF_PLOT_COL_METRIC_START, pos_numeric_end))
index_.insert(0, G_DF_TASK_COL)
dataframe_ = dataframe.iloc[:, index_]
@@ -415,7 +420,8 @@ def radar_plot(dataframe_in, file=None, distinguish_hyperparam=True):
else:
dataframe.insert(0, "label", dataframe[COLNAME_METHOD])
# we need "G_DF_PLOT_COL_METRIC_START + 1" as we did insert the columns 'label' at index 0
- index = list(range(G_DF_PLOT_COL_METRIC_START + 1, dataframe.shape[1]))
+ pos_numeric_end = min(G_DF_PLOT_COL_METRIC_END, dataframe.shape[1])
+ index = list(range(G_DF_PLOT_COL_METRIC_START + 1, pos_numeric_end))
num_lines = len(dataframe["label"].unique())
_, axis = plt.subplots(
figsize=(9, 9 + (0.28 * num_lines)), subplot_kw=dict(polar=True)
diff --git a/domainlab/utils/hyperparameter_retrieval.py b/domainlab/utils/hyperparameter_retrieval.py
new file mode 100644
index 000000000..5a1960e2e
--- /dev/null
+++ b/domainlab/utils/hyperparameter_retrieval.py
@@ -0,0 +1,18 @@
+"""
+retrieval for hyperparameters
+"""
+
+def get_gamma_reg(args, component_name):
+ """
+ Retrieves either a shared gamma regularization, or individual ones for each specified object
+ """
+ gamma_reg = args.gamma_reg
+ if isinstance(gamma_reg, dict):
+ if component_name in gamma_reg:
+ return gamma_reg[component_name]
+ if 'default' in gamma_reg:
+ return gamma_reg['default']
+ raise ValueError("""If a gamma_reg dict is specified,
+ but no value set for every model and trainer,
+ a default value must be specified.""")
+ return gamma_reg # Return the single value if it's not a dictionary
diff --git a/domainlab/zdata/ztest_files/test_parameter_samples.csv b/domainlab/zdata/ztest_files/test_parameter_samples.csv
index 609864f2f..e3ebdbf4a 100644
--- a/domainlab/zdata/ztest_files/test_parameter_samples.csv
+++ b/domainlab/zdata/ztest_files/test_parameter_samples.csv
@@ -1,2 +1,2 @@
-,task,algo,params
+,method,model,params
0,diva,diva,"{'gamma_y': 10e5, 'gamma_d': 1e5}"
diff --git a/examples/benchmark/aistat_dial_erm_mhof.yaml b/examples/benchmark/aistat_dial_erm_mhof.yaml
new file mode 100644
index 000000000..ab530d72f
--- /dev/null
+++ b/examples/benchmark/aistat_dial_erm_mhof.yaml
@@ -0,0 +1,84 @@
+mode: grid
+
+output_dir: zoutput/benchmarks/benchmark_mhof_dial
+
+sampling_seed: 0
+startseed: 0
+endseed: 2
+
+test_domains:
+ - sketch
+
+domainlab_args:
+ tpath: examples/tasks/task_pacs_aug.py
+ dmem: False
+ lr: 5e-5
+ epos: 500
+ epos_min: 200
+ es: 5
+ bs: 32
+ san_check: False
+ npath: examples/nets/resnet50domainbed.py
+ npath_dom: examples/nets/resnet50domainbed.py
+ zx_dim: 0
+ zy_dim: 64
+ zd_dim: 64
+
+
+
+
+Shared params:
+ nb4reg_over_task_ratio:
+ distribution: categorical # name of the distribution
+ datatype: int
+ values: # concrete values to choose from
+ - 0
+ - 100
+
+ mu_init:
+ distribution: categorical
+ datatype: float
+ values:
+ - 0.000001
+ - 0.001
+
+ mu_clip:
+ distribution: categorical
+ datatype: float
+ values:
+ - 1
+ - 10
+ - 100
+ - 1000
+
+ k_i_gain_ratio:
+ min: 0.1
+ max: 1
+ num: 3
+ distribution: uniform
+
+ gamma_reg:
+ min: 0.01
+ max: 1e4
+ num: 4
+ distribution: loguniform
+
+
+# Test fbopt with different hyperparameter configurations
+
+fbopt_dial_erm:
+ model: erm
+ trainer: fbopt_dial
+ nb4reg_over_task_ratio: 0
+ force_setpoint_change_once: True
+ shared:
+ - k_i_gain_ratio
+ - mu_init
+ - mu_clip
+
+dial_erm:
+ model: erm
+ nb4reg_over_task_ratio: 0
+ trainer: dial
+ shared:
+ - gamma_reg
diff --git a/examples/benchmark/aistat_irl_erm_mhof.yaml b/examples/benchmark/aistat_irl_erm_mhof.yaml
new file mode 100644
index 000000000..9d13e0cf3
--- /dev/null
+++ b/examples/benchmark/aistat_irl_erm_mhof.yaml
@@ -0,0 +1,64 @@
+mode: grid
+
+output_dir: zoutput/benchmarks/benchmark_mhof_causal_irl_erm_pacs
+
+sampling_seed: 0
+startseed: 0
+endseed: 2
+
+test_domains:
+ - sketch
+
+domainlab_args:
+ tpath: examples/tasks/task_pacs_aug.py
+ dmem: False
+ lr: 5e-5
+ epos: 500
+ epos_min: 200
+ es: 5
+ bs: 32
+ san_check: False
+ npath: examples/nets/resnet50domainbed.py
+ npath_dom: examples/nets/resnet50domainbed.py
+ zx_dim: 0
+ zy_dim: 64
+ zd_dim: 64
+
+
+
+
+Shared params:
+ ini_setpoint_ratio:
+ min: 0.5
+ max: 0.99
+ num: 2
+ step: 0.05
+ distribution: uniform
+
+ k_i_gain_ratio:
+ min: 0.1
+ max: 1
+ num: 3
+ distribution: uniform
+
+ gamma_reg:
+ min: 0.01
+ max: 1e4
+ num: 4
+ distribution: loguniform
+
+
+# Test fbopt with different hyperparameter configurations
+
+fbopt_irm_erm:
+ model: erm
+ trainer: fbopt_causalirl
+ shared:
+ - ini_setpoint_ratio
+ - k_i_gain_ratio
+
+irm_erm:
+ model: erm
+ trainer: causalirl
+ shared:
+ - gamma_reg
diff --git a/examples/benchmark/aistat_irm_erm_mhof.yaml b/examples/benchmark/aistat_irm_erm_mhof.yaml
new file mode 100644
index 000000000..f4a508896
--- /dev/null
+++ b/examples/benchmark/aistat_irm_erm_mhof.yaml
@@ -0,0 +1,95 @@
+mode: grid
+
+output_dir: zoutput/benchmarks/benchmark_mhof_irm_erm_pacs
+
+sampling_seed: 0
+startseed: 0
+endseed: 2
+
+test_domains:
+ - sketch
+
+domainlab_args:
+ tpath: examples/tasks/task_pacs_aug.py
+ dmem: False
+ lr: 5e-5
+ epos: 500
+ epos_min: 10
+ es: 5
+ bs: 32
+ san_check: False
+ npath: examples/nets/resnet50domainbed.py
+ npath_dom: examples/nets/resnet50domainbed.py
+ zx_dim: 0
+ zy_dim: 64
+ zd_dim: 64
+
+
+
+
+Shared params:
+ nb4reg_over_task_ratio:
+ distribution: categorical # name of the distribution
+ datatype: int
+ values: # concrete values to choose from
+ - 0
+ - 1
+ - 100
+
+ mu_init:
+ distribution: categorical
+ datatype: float
+ values:
+ - 0.000001
+ - 0.001
+
+ mu_clip:
+ distribution: categorical
+ datatype: float
+ values:
+ - 1
+ - 10
+ - 100
+ - 1000
+
+ exp_shoulder_clip:
+ distribution: categorical
+ datatype: float
+ values:
+ - 1
+ - 2
+ - 5
+
+ k_i_gain_ratio:
+ min: 0.1
+ max: 1
+ num: 3
+ distribution: uniform
+
+ gamma_reg:
+ min: 0.01
+ max: 1e4
+ num: 4
+ distribution: loguniform
+ # 1778 is the largest gamma_reg using this sampling
+
+
+# Test fbopt with different hyperparameter configurations
+
+fbopt_irm_erm:
+ model: erm
+ trainer: fbopt_irm
+ ini_setpoint_ratio: 0.99
+ force_setpoint_change_once: True
+ shared:
+ - k_i_gain_ratio
+ - nb4reg_over_task_ratio
+ - mu_clip
+ - mu_init
+
+irm_erm:
+ model: erm
+ trainer: irm
+ shared:
+ - gamma_reg
+ - nb4reg_over_task_ratio
diff --git a/examples/benchmark/aistat_irm_erm_mhof2.yaml b/examples/benchmark/aistat_irm_erm_mhof2.yaml
new file mode 100644
index 000000000..f6bc9467e
--- /dev/null
+++ b/examples/benchmark/aistat_irm_erm_mhof2.yaml
@@ -0,0 +1,99 @@
+mode: grid
+
+output_dir: zoutput/benchmarks/mhof_irm_erm_pacs
+
+sampling_seed: 0
+startseed: 0
+endseed: 2
+
+test_domains:
+ - sketch
+
+domainlab_args:
+ tpath: examples/tasks/task_pacs_aug.py
+ dmem: False
+ lr: 5e-5
+ epos: 100
+ epos_min: 10
+ es: 5
+ bs: 32
+ san_check: False
+ npath: examples/nets/resnet50domainbed.py
+ npath_dom: examples/nets/resnet50domainbed.py
+ zx_dim: 0
+ zy_dim: 64
+ zd_dim: 64
+
+
+
+
+Shared params:
+ nb4reg_over_task_ratio:
+ distribution: categorical # name of the distribution
+ datatype: int
+ values: # concrete values to choose from
+ - 0
+ - 100
+
+ mu_init:
+ distribution: categorical
+ datatype: float
+ values:
+ - 0.000001
+ - 0.001
+
+ mu_clip:
+ distribution: categorical
+ datatype: float
+ values:
+ - 10
+ - 100
+ - 1000
+
+ exp_shoulder_clip:
+ distribution: categorical
+ datatype: float
+ values:
+ - 1
+ - 5
+
+ k_i_gain_ratio:
+ min: 0.1
+ max: 1
+ num: 2
+ distribution: uniform
+
+ gamma_reg:
+ distribution: categorical
+ datatype: float
+ values:
+ - 0.01
+ - 0.1
+ - 1
+ - 10
+ - 100
+ - 1000
+
+ # 1778 is the largest gamma_reg using this sampling
+
+
+# Test fbopt with different hyperparameter configurations
+
+fbopt_irm_erm:
+ model: erm
+ trainer: fbopt_irm
+ ini_setpoint_ratio: 0.99
+ force_setpoint_change_once: True
+ shared:
+ - k_i_gain_ratio
+ - nb4reg_over_task_ratio
+ - mu_init
+ - mu_clip
+ - exp_shoulder_clip
+
+irm_erm:
+ model: erm
+ trainer: irm
+ shared:
+ - gamma_reg
+ - nb4reg_over_task_ratio
diff --git a/examples/benchmark/aistat_pacs_mhof_dial_diva.yaml b/examples/benchmark/aistat_pacs_mhof_dial_diva.yaml
new file mode 100644
index 000000000..ba0753e53
--- /dev/null
+++ b/examples/benchmark/aistat_pacs_mhof_dial_diva.yaml
@@ -0,0 +1,85 @@
+mode: grid
+
+output_dir: zoutput/benchmarks/benchmark_fbopt_dial_diva_pacs
+
+sampling_seed: 0
+startseed: 0
+endseed: 2
+
+test_domains:
+ - sketch
+
+domainlab_args:
+ tpath: examples/tasks/task_pacs_aug.py
+ dmem: False
+ lr: 5e-5
+ epos: 500
+ epos_min: 20
+ es: 5
+ bs: 16
+ san_check: False
+ npath: examples/nets/resnet50domainbed.py
+ npath_dom: examples/nets/resnet50domainbed.py
+ zx_dim: 0
+ zy_dim: 64
+ zd_dim: 64
+
+
+
+
+Shared params:
+ k_i_gain_ratio:
+ min: 0.01
+ max: 0.90
+ num: 3
+ step: 0.0001
+ distribution: uniform
+
+ dial_lr:
+ min: 1e-5
+ max: 1e-3
+ num: 2
+ step: 1e-5
+ distribution: uniform
+
+ dial_epsilon:
+ min: 1e-5
+ max: 1e-3
+ num: 2
+ step: 1e-5
+ distribution: uniform
+
+ gamma_y:
+ min: 1.0
+ max: 1e6
+ step: 100
+ num: 3
+ distribution: loguniform
+
+ gamma_d:
+ min: 1.0
+ max: 1e6
+ step: 100
+ num: 3
+ distribution: loguniform
+
+
+# Test fbopt with different hyperparameter configurations
+
+dial_fbopt:
+ model: diva
+ trainer: fbopt_dial
+ gamma_y: 1.0
+ shared:
+ - k_i_gain_ratio
+ - dial_lr
+ - dial_epsilon
+
+dial_diva:
+ model: diva
+ trainer: dial
+ shared:
+ - dial_lr
+ - dial_epsilon
+ - gamma_y
+ - gamma_d
diff --git a/examples/benchmark/aistat_trainer_combo_dial_irm_erm_mhof.yaml b/examples/benchmark/aistat_trainer_combo_dial_irm_erm_mhof.yaml
new file mode 100644
index 000000000..35ca668ba
--- /dev/null
+++ b/examples/benchmark/aistat_trainer_combo_dial_irm_erm_mhof.yaml
@@ -0,0 +1,103 @@
+mode: grid
+
+output_dir: zoutput/benchmarks/mhof_combo_irm_dial_pacs
+
+sampling_seed: 0
+startseed: 0
+endseed: 2
+
+test_domains:
+ - sketch
+
+domainlab_args:
+ tpath: examples/tasks/task_pacs_aug.py
+ dmem: False
+ lr: 5e-5
+ epos: 100
+ epos_min: 10
+ es: 5
+ bs: 32
+ san_check: False
+ npath: examples/nets/resnet50domainbed.py
+ npath_dom: examples/nets/resnet50domainbed.py
+ zx_dim: 0
+ zy_dim: 64
+ zd_dim: 64
+
+
+
+
+Shared params:
+ nb4reg_over_task_ratio:
+ distribution: categorical # name of the distribution
+ datatype: int
+ values: # concrete values to choose from
+ - 0
+ - 100
+
+ mu_init:
+ distribution: categorical
+ datatype: float
+ values:
+ - 0.000001
+ - 0.001
+
+ mu_clip:
+ distribution: categorical
+ datatype: float
+ values:
+ - 10
+ - 100
+ - 1000
+
+ exp_shoulder_clip:
+ distribution: categorical
+ datatype: float
+ values:
+ - 1
+ - 5
+
+ k_i_gain_ratio:
+ min: 0.1
+ max: 1
+ num: 2
+ distribution: uniform
+
+ gamma_reg:
+ distribution: categorical
+ datatype: float
+ values:
+ - 0.01
+ - 0.1
+ - 1
+ - 10
+ - 100
+ - 1000
+
+
+fbopt_irm_dial_erm:
+ model: erm
+ trainer: fbopt_irm_dial
+ ini_setpoint_ratio: 0.99
+ force_setpoint_change_once: True
+ tr_with_init_mu: True
+ shared:
+ - k_i_gain_ratio
+ - nb4reg_over_task_ratio
+ - mu_init
+ - mu_clip
+ - exp_shoulder_clip
+
+irm_dial:
+ model: erm
+ trainer: irm_dial
+ shared:
+ - gamma_reg
+ - nb4reg_over_task_ratio
+
+irm_dial_feedforward_full:
+ model: erm
+ trainer: hyperscheduler_irm_dial
+ shared:
+ - gamma_reg
+ - nb4reg_over_task_ratio
diff --git a/examples/benchmark/aistat_trainer_combo_dial_irm_erm_mhof_only.yaml b/examples/benchmark/aistat_trainer_combo_dial_irm_erm_mhof_only.yaml
new file mode 100644
index 000000000..f1221b2f8
--- /dev/null
+++ b/examples/benchmark/aistat_trainer_combo_dial_irm_erm_mhof_only.yaml
@@ -0,0 +1,99 @@
+mode: grid
+
+output_dir: zoutput/benchmarks/only_mhof_combo_irm_dial_pacs
+
+sampling_seed: 0
+startseed: 0
+endseed: 2
+
+test_domains:
+ - sketch
+
+domainlab_args:
+ tpath: examples/tasks/task_pacs_aug.py
+ dmem: False
+ lr: 5e-5
+ epos: 100
+ epos_min: 10
+ es: 5
+ bs: 32
+ san_check: False
+ npath: examples/nets/resnet50domainbed.py
+ npath_dom: examples/nets/resnet50domainbed.py
+ zx_dim: 0
+ zy_dim: 64
+ zd_dim: 64
+
+
+
+
+Shared params:
+ nb4reg_over_task_ratio:
+ distribution: categorical # name of the distribution
+ datatype: int
+ values: # concrete values to choose from
+ - 0
+ - 100
+
+ mu_init:
+ distribution: categorical
+ datatype: float
+ values:
+ - 0.000001
+ - 0.001
+
+ mu_clip:
+ distribution: categorical
+ datatype: float
+ values:
+ - 10
+ - 100
+ - 1000
+
+ exp_shoulder_clip:
+ distribution: categorical
+ datatype: float
+ values:
+ - 1
+ - 5
+
+ k_i_gain_ratio:
+ min: 0.1
+ max: 1
+ num: 2
+ distribution: uniform
+
+ gamma_reg:
+ distribution: categorical
+ datatype: float
+ values:
+ - 0.01
+ - 0.1
+ - 1
+ - 10
+ - 100
+ - 1000
+
+ gamma_reg:
+ distribution: categorical
+ datatype: str
+ values:
+ - "SliderAnyComponent()"
+ - "SliderAllComponent()"
+ - "DominateAnyComponent()"
+
+
+fbopt_irm_dial_erm:
+ model: erm
+ trainer: fbopt_irm_dial
+ ini_setpoint_ratio: 0.99
+ force_setpoint_change_once: True
+ coeff_ma_setpoint: 0.0
+ tr_with_init_mu: True
+ nb4reg_over_task_ratio: 0
+ shared:
+ - k_i_gain_ratio
+ - mu_init
+ - mu_clip
+ - exp_shoulder_clip
+ - str_setpoint_ada
diff --git a/examples/benchmark/benchmark_blood3_resnet.yaml b/examples/benchmark/benchmark_blood3_resnet.yaml
new file mode 100644
index 000000000..a9a1cf0ed
--- /dev/null
+++ b/examples/benchmark/benchmark_blood3_resnet.yaml
@@ -0,0 +1,129 @@
+# test benchmark config.
+
+test_domains:
+ - acevedo
+#- mll
+#- matek
+
+output_dir: zoutput/benchmarks/blood
+# number of hyperparameter samples per task.
+# Thus, the total runs of each task are given
+# by len(domains) * num_param_samples * num_seeds (see below)
+num_param_samples: 8
+sampling_seed: 0
+
+startseed: 0
+endseed: 5 # currently included
+
+
+
+domainlab_args:
+ # Domainlab arguments passed to each task.
+ # task specific arguments take precedence.
+ ## dataset
+ tpath: examples/tasks/task_blood3.py
+ dmem: False
+ lr: 5e-5
+ epos: 500
+ epos_min: 20
+ es: 1
+ bs: 32
+ npath: examples/nets/resnet50domainbed.py
+ san_check: True
+
+Shared params:
+ num_shared_param_samples: 8
+ gamma_y:
+ min: 1e4
+ max: 2e5
+ step: 100
+ distribution: loguniform
+
+ zx_dim:
+ min: 0
+ max: 96
+ step: 32
+ distribution: uniform
+ datatype: int
+
+ zy_dim:
+ min: 32
+ max: 96
+ step: 32
+ distribution: uniform
+ datatype: int
+
+ zd_dim:
+ reference: zy_dim
+
+ gamma_reg:
+ min: 0.01
+ max: 10
+ distribution: loguniform
+
+
+
+diva: # name
+ model: diva
+ # set nname_dom = nname when changing nname
+ npath_dom: examples/nets/resnet50domainbed.py
+ shared:
+ - gamma_y
+ - zx_dim
+ - zy_dim
+ - zd_dim
+
+ hyperparameters:
+ gamma_d:
+ min: 1e4
+ max: 1e6
+ step: 10_000
+ distribution: loguniform
+
+hduva: # name
+ model: hduva
+
+ npath_encoder_x2topic_h: examples/nets/resnet50domainbed.py
+ npath_encoder_sandwich_x2h4zd: examples/nets/resnet50domainbed.py
+ shared:
+ - gamma_y
+ - zx_dim
+ - zy_dim
+ - zd_dim
+
+erm: # name
+ model: erm
+
+mldg:
+ model: erm
+ trainer: mldg
+ shared:
+ - gamma_reg
+
+dann:
+ model: dann
+ shared:
+ - gamma_reg
+
+
+dial: # name
+ model: erm
+ trainer: dial
+ shared:
+ - gamma_reg
+ hyperparameters:
+ dial_steps_perturb:
+ min: 1
+ max: 10
+ step: 1
+ distribution: uniform
+
+ dial_noise_scale:
+ min: 0.00001
+ max: 0.1
+ distribution: loguniform
+
+ dial_epsilon:
+ min: 0.001
+ max: 0.01
+ distribution: loguniform
diff --git a/examples/benchmark/benchmark_pacs_resnet_model.yaml b/examples/benchmark/benchmark_pacs_resnet_model.yaml
index 7c9b9dbd7..c3bfde043 100644
--- a/examples/benchmark/benchmark_pacs_resnet_model.yaml
+++ b/examples/benchmark/benchmark_pacs_resnet_model.yaml
@@ -33,13 +33,13 @@ domainlab_args:
Shared params:
num_shared_param_samples: 9
gamma_y:
- min: 1e4
+ min: 1
max: 1e8
step: 1000
distribution: loguniform
gamma_d:
- min: 1e4
+ min: 1
max: 1e8
step: 1000
distribution: loguniform
diff --git a/examples/benchmark/pacs_fbopt_fishr_erm.yaml b/examples/benchmark/pacs_fbopt_fishr_erm.yaml
new file mode 100644
index 000000000..781a2518e
--- /dev/null
+++ b/examples/benchmark/pacs_fbopt_fishr_erm.yaml
@@ -0,0 +1,66 @@
+mode: grid
+
+output_dir: zoutput/benchmarks/benchmark_fbopt_fishr_erm_pacs
+
+sampling_seed: 0
+startseed: 0
+endseed: 0
+
+test_domains:
+ - sketch
+
+domainlab_args:
+ tpath: examples/tasks/task_pacs_aug.py
+ dmem: False
+ lr: 5e-5
+ epos: 10
+ epos_min: 2
+ es: 5
+ bs: 32
+ san_check: False
+ nname: alexnet
+ nname_dom: alexnet
+ zx_dim: 0
+ zy_dim: 64
+ zd_dim: 64
+
+
+
+
+Shared params:
+ ini_setpoint_ratio:
+ min: 0.5
+ max: 0.99
+ num: 2
+ step: 0.05
+ distribution: uniform
+
+ k_i_gain:
+ min: 0.0001
+ max: 0.01
+ num: 2
+ step: 0.0001
+ distribution: uniform
+
+ gamma_reg:
+ min: 0.01
+ max: 1e4
+ num: 3
+ distribution: loguniform
+
+
+# Test fbopt with different hyperparameter configurations
+
+fbopt_fishr_erm:
+ model: erm
+ trainer: fbopt_fishr
+ shared:
+ - ini_setpoint_ratio
+ - k_i_gain
+ - gamma_reg
+
+fishr_erm:
+ model: erm
+ trainer: fishr
+ shared:
+ - gamma_reg
diff --git a/examples/conf/vlcs_diva_mldg_dial.yaml b/examples/conf/vlcs_diva_mldg_dial.yaml
index 0701766ff..e24cfd22e 100644
--- a/examples/conf/vlcs_diva_mldg_dial.yaml
+++ b/examples/conf/vlcs_diva_mldg_dial.yaml
@@ -1,10 +1,14 @@
te_d: caltech # domain name of test domain
tpath: examples/tasks/task_vlcs.py # python file path to specify the task
bs: 2 # batch size
+val_threshold: 0.8 # threashold before which training does not stop
model: dann_diva # combine model DANN with DIVA
epos: 1 # number of epochs
trainer: mldg_dial # combine trainer MLDG and DIAL
-gamma_reg: 1.0 # hyperparameter of DANN
+gamma_reg:
+ default: 1.0
+ dann: 1.5
+# in this case, mldg and dial get the default gamma_reg value 1.0
gamma_y: 700000.0 # hyperparameter of diva
gamma_d: 100000.0 # hyperparameter of diva
npath: examples/nets/resnet.py # neural network for class classification
diff --git a/examples/tasks/demo_task_path_list_small.py b/examples/tasks/demo_task_path_list_small.py
index 92425774a..af8e469a4 100644
--- a/examples/tasks/demo_task_path_list_small.py
+++ b/examples/tasks/demo_task_path_list_small.py
@@ -31,31 +31,31 @@ def get_task(na=None):
# ## the text file below only need to specify the relative path
# ## training
dict_d2filepath_list_img_tr={
- "art_painting": "data/pacs_split/art_painting_10.txt",
- "cartoon": "data/pacs_split/cartoon_10.txt",
- "photo": "data/pacs_split/photo_10.txt",
- "sketch": "data/pacs_split/sketch_10.txt",
+ "art_painting": "domainlab/zdata/pacs_split/art_painting_10.txt",
+ "cartoon": "domainlab/zdata/pacs_split/cartoon_10.txt",
+ "photo": "domainlab/zdata/pacs_split/photo_10.txt",
+ "sketch": "domainlab/zdata/pacs_split/sketch_10.txt",
},
# ## testing
dict_d2filepath_list_img_te={
- "art_painting": "data/pacs_split/art_painting_10.txt",
- "cartoon": "data/pacs_split/cartoon_10.txt",
- "photo": "data/pacs_split/photo_10.txt",
- "sketch": "data/pacs_split/sketch_10.txt",
+ "art_painting": "domainlab/zdata/pacs_split/art_painting_10.txt",
+ "cartoon": "domainlab/zdata/pacs_split/cartoon_10.txt",
+ "photo": "domainlab/zdata/pacs_split/photo_10.txt",
+ "sketch": "domainlab/zdata/pacs_split/sketch_10.txt",
},
# ## validation
dict_d2filepath_list_img_val={
- "art_painting": "data/pacs_split/art_painting_10.txt",
- "cartoon": "data/pacs_split/cartoon_10.txt",
- "photo": "data/pacs_split/photo_10.txt",
- "sketch": "data/pacs_split/sketch_10.txt",
+ "art_painting": "domainlab/zdata/pacs_split/art_painting_10.txt",
+ "cartoon": "domainlab/zdata/pacs_split/cartoon_10.txt",
+ "photo": "domainlab/zdata/pacs_split/photo_10.txt",
+ "sketch": "domainlab/zdata/pacs_split/sketch_10.txt",
},
# ## specify root folder storing the images of each domain:
dict_domain2imgroot={
- "art_painting": "data/pacs_mini_10",
- "cartoon": "data/pacs_mini_10",
- "photo": "data/pacs_mini_10",
- "sketch": "data/pacs_mini_10",
+ "art_painting": "domainlab/zdata/pacs_mini_10",
+ "cartoon": "domainlab/zdata/pacs_mini_10",
+ "photo": "domainlab/zdata/pacs_mini_10",
+ "sketch": "domainlab/zdata/pacs_mini_10",
},
# ## specify the pytorch transformation you want to apply to the image
img_trans_tr=transforms.Compose(
diff --git a/examples/tasks/task_blood3.py b/examples/tasks/task_blood3.py
new file mode 100644
index 000000000..595b44e93
--- /dev/null
+++ b/examples/tasks/task_blood3.py
@@ -0,0 +1,107 @@
+"""
+difference than task_blood2.py:
+
+"mll": "/lustre/groups/labs/marr/qscd01/datasets/240416_MLL23",
+
+"""
+from torchvision import transforms
+
+from domainlab.tasks.task_folder_mk import mk_task_folder
+from domainlab.tasks.utils_task import ImSize
+
+IMG_SIZE = 224
+
+trans = transforms.Compose(
+ [
+ transforms.Resize((IMG_SIZE, IMG_SIZE)),
+ transforms.RandomResizedCrop(IMG_SIZE, scale=(0.7, 1.0)),
+ transforms.RandomHorizontalFlip(),
+ transforms.ColorJitter(0.3, 0.3, 0.3, 0.3),
+ transforms.RandomGrayscale(),
+ transforms.ToTensor(),
+ transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225]),
+ ]
+)
+
+trans_te = transforms.Compose(
+ [
+ transforms.Resize((IMG_SIZE, IMG_SIZE)),
+ transforms.ToTensor(),
+ transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225]),
+ ]
+)
+
+
+TASK = mk_task_folder(
+ extensions={"acevedo": "jpg", "matek": "tiff", "mll": "tif"},
+ list_str_y=[
+ "basophil",
+ "erythroblast",
+ "metamyelocyte",
+ "myeloblast",
+ "neutrophil_band",
+ "promyelocyte",
+ "eosinophil",
+ "lymphocyte_typical",
+ "monocyte",
+ "myelocyte",
+ "neutrophil_segmented",
+ ],
+ dict_domain_folder_name2class={
+ "acevedo": {
+ "basophil": "basophil",
+ "erythroblast": "erythroblast",
+ "metamyelocyte": "metamyelocyte",
+ "neutrophil_band": "neutrophil_band",
+ "promyelocyte": "promyelocyte",
+ "eosinophil": "eosinophil",
+ "lymphocyte_typical": "lymphocyte_typical",
+ "monocyte": "monocyte",
+ "myelocyte": "myelocyte",
+ "neutrophil_segmented": "neutrophil_segmented",
+ },
+ "matek": {
+ "basophil": "basophil",
+ "erythroblast": "erythroblast",
+ "metamyelocyte": "metamyelocyte",
+ "myeloblast": "myeloblast",
+ "neutrophil_band": "neutrophil_band",
+ "promyelocyte": "promyelocyte",
+ "eosinophil": "eosinophil",
+ "lymphocyte_typical": "lymphocyte_typical",
+ "monocyte": "monocyte",
+ "myelocyte": "myelocyte",
+ "neutrophil_segmented": "neutrophil_segmented",
+ },
+ "mll": {
+ "basophil": "basophil",
+ "normoblast":"erythroblast",
+ "metamyelocyte": "metamyelocyte",
+ "myeloblast": "myeloblast",
+ "neutrophil_band": "neutrophil_band",
+ "promyelocyte": "promyelocyte",
+ "eosinophil": "eosinophil",
+ "lymphocyte": "lymphocyte_typical",
+ "monocyte": "monocyte",
+ "myelocyte": "myelocyte",
+ "neutrophil_segmented": "neutrophil_segmented",
+ },
+ },
+ dict_domain_img_trans={
+ "acevedo": trans,
+ "mll": trans,
+ "matek": trans,
+ },
+ img_trans_te=trans_te,
+ isize=ImSize(3, IMG_SIZE, IMG_SIZE),
+ dict_domain2imgroot={
+ "matek": "/lustre/groups/labs/marr/qscd01/datasets/armingruber/_Domains/Matek_cropped",
+ "mll": "/lustre/groups/labs/marr/qscd01/datasets/240416_MLL23",
+ "acevedo": "/lustre/groups/labs/marr/qscd01/datasets/armingruber/_Domains/Acevedo_cropped",
+ },
+ taskna="blood_mon_eos_bas",
+)
+
+
+def get_task(na=None):
+ return TASK
diff --git a/examples/tasks/task_pacs_aug.py b/examples/tasks/task_pacs_aug.py
index 6fc092dca..0d334a45a 100644
--- a/examples/tasks/task_pacs_aug.py
+++ b/examples/tasks/task_pacs_aug.py
@@ -12,7 +12,9 @@
# change this to absolute directory where you have the raw images from PACS,
G_PACS_RAW_PATH = "data/pacs/PACS"
-# domainlab repository contain already the file names in data/pacs_split folder of domainlab
+# domainlab repository contain already the file names in
+# domainlab/zdata/pacs_split folder of domainlab,
+# but PACS dataset is too big to put into domainlab folder
def get_task(na=None):
@@ -29,22 +31,22 @@ def get_task(na=None):
"7": "person",
},
dict_d2filepath_list_img_tr={
- "art_painting": "data/pacs_split/art_painting_train_kfold.txt",
- "cartoon": "data/pacs_split/cartoon_train_kfold.txt",
- "photo": "data/pacs_split/photo_train_kfold.txt",
- "sketch": "data/pacs_split/sketch_train_kfold.txt",
+ "art_painting": "domainlab/zdata/pacs_split/art_painting_train_kfold.txt",
+ "cartoon": "domainlab/zdata/pacs_split/cartoon_train_kfold.txt",
+ "photo": "domainlab/zdata/pacs_split/photo_train_kfold.txt",
+ "sketch": "domainlab/zdata/pacs_split/sketch_train_kfold.txt",
},
dict_d2filepath_list_img_te={
- "art_painting": "data/pacs_split/art_painting_test_kfold.txt",
- "cartoon": "data/pacs_split/cartoon_test_kfold.txt",
- "photo": "data/pacs_split/photo_test_kfold.txt",
- "sketch": "data/pacs_split/sketch_test_kfold.txt",
+ "art_painting": "domainlab/zdata/pacs_split/art_painting_test_kfold.txt",
+ "cartoon": "domainlab/zdata/pacs_split/cartoon_test_kfold.txt",
+ "photo": "domainlab/zdata/pacs_split/photo_test_kfold.txt",
+ "sketch": "domainlab/zdata/pacs_split/sketch_test_kfold.txt",
},
dict_d2filepath_list_img_val={
- "art_painting": "data/pacs_split/art_painting_crossval_kfold.txt",
- "cartoon": "data/pacs_split/cartoon_crossval_kfold.txt",
- "photo": "data/pacs_split/photo_crossval_kfold.txt",
- "sketch": "data/pacs_split/sketch_crossval_kfold.txt",
+ "art_painting": "domainlab/zdata/pacs_split/art_painting_crossval_kfold.txt",
+ "cartoon": "domainlab/zdata/pacs_split/cartoon_crossval_kfold.txt",
+ "photo": "domainlab/zdata/pacs_split/photo_crossval_kfold.txt",
+ "sketch": "domainlab/zdata/pacs_split/sketch_crossval_kfold.txt",
},
dict_domain2imgroot={
"art_painting": G_PACS_RAW_PATH,
diff --git a/examples/tasks/task_pacs_aug_noflip_no_zoom.py b/examples/tasks/task_pacs_aug_noflip_no_zoom.py
index c1f8b45a8..0b855d31e 100644
--- a/examples/tasks/task_pacs_aug_noflip_no_zoom.py
+++ b/examples/tasks/task_pacs_aug_noflip_no_zoom.py
@@ -11,8 +11,9 @@
from domainlab.tasks.utils_task import ImSize
# change this to absolute directory where you have the raw images from PACS,
-G_PACS_RAW_PATH = "data/pacs/PACS"
-# domainlab repository contain already the file names in data/pacs_split folder of domainlab
+G_PACS_RAW_PATH = "domainlab/zdata/pacs/PACS"
+# domainlab repository contain already the file names in
+# domainlab/zdata/pacs_split folder of domainlab
def get_task(na=None):
@@ -29,22 +30,22 @@ def get_task(na=None):
"7": "person",
},
dict_d2filepath_list_img_tr={
- "art_painting": "data/pacs_split/art_painting_train_kfold.txt",
- "cartoon": "data/pacs_split/cartoon_train_kfold.txt",
- "photo": "data/pacs_split/photo_train_kfold.txt",
- "sketch": "data/pacs_split/sketch_train_kfold.txt",
+ "art_painting": "domainlab/zdata/pacs_split/art_painting_train_kfold.txt",
+ "cartoon": "domainlab/zdata/pacs_split/cartoon_train_kfold.txt",
+ "photo": "domainlab/zdata/pacs_split/photo_train_kfold.txt",
+ "sketch": "domainlab/zdata/pacs_split/sketch_train_kfold.txt",
},
dict_d2filepath_list_img_te={
- "art_painting": "data/pacs_split/art_painting_test_kfold.txt",
- "cartoon": "data/pacs_split/cartoon_test_kfold.txt",
- "photo": "data/pacs_split/photo_test_kfold.txt",
- "sketch": "data/pacs_split/sketch_test_kfold.txt",
+ "art_painting": "domainlab/zdata/pacs_split/art_painting_test_kfold.txt",
+ "cartoon": "domainlab/zdata/pacs_split/cartoon_test_kfold.txt",
+ "photo": "domainlab/zdata/pacs_split/photo_test_kfold.txt",
+ "sketch": "domainlab/zdata/pacs_split/sketch_test_kfold.txt",
},
dict_d2filepath_list_img_val={
- "art_painting": "data/pacs_split/art_painting_crossval_kfold.txt",
- "cartoon": "data/pacs_split/cartoon_crossval_kfold.txt",
- "photo": "data/pacs_split/photo_crossval_kfold.txt",
- "sketch": "data/pacs_split/sketch_crossval_kfold.txt",
+ "art_painting": "domainlab/zdata/pacs_split/art_painting_crossval_kfold.txt",
+ "cartoon": "domainlab/zdata/pacs_split/cartoon_crossval_kfold.txt",
+ "photo": "domainlab/zdata/pacs_split/photo_crossval_kfold.txt",
+ "sketch": "domainlab/zdata/pacs_split/sketch_crossval_kfold.txt",
},
dict_domain2imgroot={
"art_painting": G_PACS_RAW_PATH,
diff --git a/examples/tasks/task_pacs_no_aug_norm_only.py b/examples/tasks/task_pacs_no_aug_norm_only.py
index 7a1897741..07e6339c3 100644
--- a/examples/tasks/task_pacs_no_aug_norm_only.py
+++ b/examples/tasks/task_pacs_no_aug_norm_only.py
@@ -11,8 +11,9 @@
from domainlab.tasks.utils_task import ImSize
# change this to absolute directory where you have the raw images from PACS,
-G_PACS_RAW_PATH = "data/pacs/PACS"
-# domainlab repository contain already the file names in data/pacs_split folder of domainlab
+G_PACS_RAW_PATH = "domainlab/zdata/pacs/PACS"
+# domainlab repository contain already the file names in
+# domainlab/zdata/pacs_split folder of domainlab
def get_task(na=None):
@@ -29,22 +30,22 @@ def get_task(na=None):
"7": "person",
},
dict_d2filepath_list_img_tr={
- "art_painting": "data/pacs_split/art_painting_train_kfold.txt",
- "cartoon": "data/pacs_split/cartoon_train_kfold.txt",
- "photo": "data/pacs_split/photo_train_kfold.txt",
- "sketch": "data/pacs_split/sketch_train_kfold.txt",
+ "art_painting": "domainlab/zdata/pacs_split/art_painting_train_kfold.txt",
+ "cartoon": "domainlab/zdata/pacs_split/cartoon_train_kfold.txt",
+ "photo": "domainlab/zdata/pacs_split/photo_train_kfold.txt",
+ "sketch": "domainlab/zdata/pacs_split/sketch_train_kfold.txt",
},
dict_d2filepath_list_img_te={
- "art_painting": "data/pacs_split/art_painting_test_kfold.txt",
- "cartoon": "data/pacs_split/cartoon_test_kfold.txt",
- "photo": "data/pacs_split/photo_test_kfold.txt",
- "sketch": "data/pacs_split/sketch_test_kfold.txt",
+ "art_painting": "domainlab/zdata/pacs_split/art_painting_test_kfold.txt",
+ "cartoon": "domainlab/zdata/pacs_split/cartoon_test_kfold.txt",
+ "photo": "domainlab/zdata/pacs_split/photo_test_kfold.txt",
+ "sketch": "domainlab/zdata/pacs_split/sketch_test_kfold.txt",
},
dict_d2filepath_list_img_val={
- "art_painting": "data/pacs_split/art_painting_crossval_kfold.txt",
- "cartoon": "data/pacs_split/cartoon_crossval_kfold.txt",
- "photo": "data/pacs_split/photo_crossval_kfold.txt",
- "sketch": "data/pacs_split/sketch_crossval_kfold.txt",
+ "art_painting": "domainlab/zdata/pacs_split/art_painting_crossval_kfold.txt",
+ "cartoon": "domainlab/zdata/pacs_split/cartoon_crossval_kfold.txt",
+ "photo": "domainlab/zdata/pacs_split/photo_crossval_kfold.txt",
+ "sketch": "domainlab/zdata/pacs_split/sketch_crossval_kfold.txt",
},
dict_domain2imgroot={
"art_painting": G_PACS_RAW_PATH,
diff --git a/examples/tasks/task_pacs_path_list.py b/examples/tasks/task_pacs_path_list.py
index 045232b4a..53d97d640 100644
--- a/examples/tasks/task_pacs_path_list.py
+++ b/examples/tasks/task_pacs_path_list.py
@@ -11,8 +11,9 @@
from domainlab.tasks.utils_task import ImSize
# change this to absolute directory where you have the raw images from PACS,
-G_PACS_RAW_PATH = "data/pacs/PACS"
-# domainlab repository contain already the file names in data/pacs_split folder of domainlab
+G_PACS_RAW_PATH = "domainlab/zdata/pacs/PACS"
+# domainlab repository contain already the file names in
+# domainlab/zdata/pacs_split folder of domainlab
def get_task(na=None):
@@ -29,22 +30,22 @@ def get_task(na=None):
"7": "person",
},
dict_d2filepath_list_img_tr={
- "art_painting": "data/pacs_split/art_painting_train_kfold.txt",
- "cartoon": "data/pacs_split/cartoon_train_kfold.txt",
- "photo": "data/pacs_split/photo_train_kfold.txt",
- "sketch": "data/pacs_split/sketch_train_kfold.txt",
+ "art_painting": "domainlab/zdata/pacs_split/art_painting_train_kfold.txt",
+ "cartoon": "domainlab/zdata/pacs_split/cartoon_train_kfold.txt",
+ "photo": "domainlab/zdata/pacs_split/photo_train_kfold.txt",
+ "sketch": "domainlab/zdata/pacs_split/sketch_train_kfold.txt",
},
dict_d2filepath_list_img_te={
- "art_painting": "data/pacs_split/art_painting_test_kfold.txt",
- "cartoon": "data/pacs_split/cartoon_test_kfold.txt",
- "photo": "data/pacs_split/photo_test_kfold.txt",
- "sketch": "data/pacs_split/sketch_test_kfold.txt",
+ "art_painting": "domainlab/zdata/pacs_split/art_painting_test_kfold.txt",
+ "cartoon": "domainlab/zdata/pacs_split/cartoon_test_kfold.txt",
+ "photo": "domainlab/zdata/pacs_split/photo_test_kfold.txt",
+ "sketch": "domainlab/zdata/pacs_split/sketch_test_kfold.txt",
},
dict_d2filepath_list_img_val={
- "art_painting": "data/pacs_split/art_painting_crossval_kfold.txt",
- "cartoon": "data/pacs_split/cartoon_crossval_kfold.txt",
- "photo": "data/pacs_split/photo_crossval_kfold.txt",
- "sketch": "data/pacs_split/sketch_crossval_kfold.txt",
+ "art_painting": "domainlab/zdata/pacs_split/art_painting_crossval_kfold.txt",
+ "cartoon": "domainlab/zdata/pacs_split/cartoon_crossval_kfold.txt",
+ "photo": "domainlab/zdata/pacs_split/photo_crossval_kfold.txt",
+ "sketch": "domainlab/zdata/pacs_split/sketch_crossval_kfold.txt",
},
dict_domain2imgroot={
"art_painting": G_PACS_RAW_PATH,
diff --git a/examples/tasks/task_vlcs.py b/examples/tasks/task_vlcs.py
index 3deb6b2d6..498ee27f2 100644
--- a/examples/tasks/task_vlcs.py
+++ b/examples/tasks/task_vlcs.py
@@ -52,9 +52,9 @@
),
isize=ImSize(3, 224, 224),
dict_domain2imgroot={
- "caltech": os.path.join(path_this_file, "../../data/vlcs_mini/caltech/"),
- "sun": os.path.join(path_this_file, "../../data/vlcs_mini/sun/"),
- "labelme": os.path.join(path_this_file, "../../data/vlcs_mini/labelme/"),
+ "caltech": os.path.join(path_this_file, "../../domainlab/zdata/vlcs_mini/caltech/"),
+ "sun": os.path.join(path_this_file, "../../domainlab/zdata/vlcs_mini/sun/"),
+ "labelme": os.path.join(path_this_file, "../../domainlab/zdata/vlcs_mini/labelme/"),
},
taskna="e_mini_vlcs",
)
diff --git a/examples/yaml/slurm/config.yaml b/examples/yaml/slurm/config.yaml
index e180df74d..cc0f6901a 100644
--- a/examples/yaml/slurm/config.yaml
+++ b/examples/yaml/slurm/config.yaml
@@ -1,6 +1,8 @@
# This yaml file has been adapted from https://github.com/jdblischak/smk-simple-slurm
cluster:
- mkdir -p zoutput/slurm_logs/{rule} &&
+ mkdir -p $logdir/{rule} &&
+ export parentfolder=$(dirname "$logdir") &&
+ export outputfolder=$(basename "$parentfolder") &&
sbatch
--partition=gpu_p
--qos=gpu_normal
@@ -9,9 +11,9 @@ cluster:
-t 48:00:00
-c 2
--mem=160G
- --job-name=smk-{rule}-{wildcards}
- --output=zoutput/slurm_logs/{rule}/{rule}-{wildcards}-%j.out
- --error=zoutput/slurm_logs/{rule}/{rule}-{wildcards}-%j.err
+ --job-name=$outputfolder-{rule}-{wildcards}
+ --output=$logdir/{rule}/{rule}-{wildcards}-%j.out
+ --error=$logdir/{rule}/{rule}-{wildcards}-%j.err
default-resources:
- partition=gpu_p
- qos=gpu_normal
diff --git a/main_out.py b/main_out.py
index 471702f9b..bdd4fdae8 100644
--- a/main_out.py
+++ b/main_out.py
@@ -1,9 +1,4 @@
-from domainlab.arg_parser import parse_cmd_args
from domainlab.cli import domainlab_cli
-from domainlab.exp.exp_cuda_seed import set_seed # reproducibility
-from domainlab.exp.exp_main import Exp
-from domainlab.exp_protocol import aggregate_results
-from domainlab.utils.generate_benchmark_plots import gen_benchmark_plots
if __name__ == "__main__":
domainlab_cli()
diff --git a/poetry.lock b/poetry.lock
deleted file mode 100644
index f08aab3b8..000000000
--- a/poetry.lock
+++ /dev/null
@@ -1,1915 +0,0 @@
-# This file is automatically @generated by Poetry 1.7.1 and should not be changed by hand.
-
-[[package]]
-name = "absl-py"
-version = "2.1.0"
-description = "Abseil Python Common Libraries, see https://github.com/abseil/abseil-py."
-optional = false
-python-versions = ">=3.7"
-files = [
- {file = "absl-py-2.1.0.tar.gz", hash = "sha256:7820790efbb316739cde8b4e19357243fc3608a152024288513dd968d7d959ff"},
- {file = "absl_py-2.1.0-py3-none-any.whl", hash = "sha256:526a04eadab8b4ee719ce68f204172ead1027549089702d99b9059f129ff1308"},
-]
-
-[[package]]
-name = "atomicwrites"
-version = "1.4.1"
-description = "Atomic file writes."
-optional = false
-python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
-files = [
- {file = "atomicwrites-1.4.1.tar.gz", hash = "sha256:81b2c9071a49367a7f770170e5eec8cb66567cfbbc8c73d20ce5ca4a8d71cf11"},
-]
-
-[[package]]
-name = "attrs"
-version = "23.2.0"
-description = "Classes Without Boilerplate"
-optional = false
-python-versions = ">=3.7"
-files = [
- {file = "attrs-23.2.0-py3-none-any.whl", hash = "sha256:99b87a485a5820b23b879f04c2305b44b951b502fd64be915879d77a7e8fc6f1"},
- {file = "attrs-23.2.0.tar.gz", hash = "sha256:935dc3b529c262f6cf76e50877d35a4bd3c1de194fd41f47a2b7ae8f19971f30"},
-]
-
-[package.extras]
-cov = ["attrs[tests]", "coverage[toml] (>=5.3)"]
-dev = ["attrs[tests]", "pre-commit"]
-docs = ["furo", "myst-parser", "sphinx", "sphinx-notfound-page", "sphinxcontrib-towncrier", "towncrier", "zope-interface"]
-tests = ["attrs[tests-no-zope]", "zope-interface"]
-tests-mypy = ["mypy (>=1.6)", "pytest-mypy-plugins"]
-tests-no-zope = ["attrs[tests-mypy]", "cloudpickle", "hypothesis", "pympler", "pytest (>=4.3.0)", "pytest-xdist[psutil]"]
-
-[[package]]
-name = "backpack-for-pytorch"
-version = "1.6.0"
-description = "BackPACK: Packing more into backprop"
-optional = false
-python-versions = ">=3.8"
-files = [
- {file = "backpack-for-pytorch-1.6.0.tar.gz", hash = "sha256:af6495b71bacf82a1c7cab01aa85bebabccfe74d87d89f108ea72a4a0d384de3"},
- {file = "backpack_for_pytorch-1.6.0-py3-none-any.whl", hash = "sha256:ac708dbb86dbb36f70fc81a1ccb1df5c7ba46d62bc9d10239d4b0e406ba41a6f"},
-]
-
-[package.dependencies]
-einops = ">=0.3.0,<1.0.0"
-torch = ">=1.9.0"
-torchvision = ">=0.7.0"
-unfoldNd = ">=0.2.0,<1.0.0"
-
-[package.extras]
-docs = ["matplotlib", "memory-profiler", "sphinx-gallery", "sphinx-rtd-theme", "tabulate"]
-lint = ["black", "darglint", "flake8", "flake8-bugbear", "flake8-comprehensions", "flake8-tidy-imports", "isort", "mccabe", "pep8-naming", "pycodestyle", "pydocstyle", "pyflakes"]
-test = ["coveralls", "pytest (>=4.5.0,<5.0.0)", "pytest-benchmark (>=3.2.2,<4.0.0)", "pytest-cov", "pytest-optional-tests (>=0.1.1)", "scipy"]
-
-[[package]]
-name = "beautifulsoup4"
-version = "4.12.3"
-description = "Screen-scraping library"
-optional = false
-python-versions = ">=3.6.0"
-files = [
- {file = "beautifulsoup4-4.12.3-py3-none-any.whl", hash = "sha256:b80878c9f40111313e55da8ba20bdba06d8fa3969fc68304167741bbf9e082ed"},
- {file = "beautifulsoup4-4.12.3.tar.gz", hash = "sha256:74e3d1928edc070d21748185c46e3fb33490f22f52a3addee9aee0f4f7781051"},
-]
-
-[package.dependencies]
-soupsieve = ">1.2"
-
-[package.extras]
-cchardet = ["cchardet"]
-chardet = ["chardet"]
-charset-normalizer = ["charset-normalizer"]
-html5lib = ["html5lib"]
-lxml = ["lxml"]
-
-[[package]]
-name = "cachetools"
-version = "5.3.2"
-description = "Extensible memoizing collections and decorators"
-optional = false
-python-versions = ">=3.7"
-files = [
- {file = "cachetools-5.3.2-py3-none-any.whl", hash = "sha256:861f35a13a451f94e301ce2bec7cac63e881232ccce7ed67fab9b5df4d3beaa1"},
- {file = "cachetools-5.3.2.tar.gz", hash = "sha256:086ee420196f7b2ab9ca2db2520aca326318b68fe5ba8bc4d49cca91add450f2"},
-]
-
-[[package]]
-name = "certifi"
-version = "2024.2.2"
-description = "Python package for providing Mozilla's CA Bundle."
-optional = false
-python-versions = ">=3.6"
-files = [
- {file = "certifi-2024.2.2-py3-none-any.whl", hash = "sha256:dc383c07b76109f368f6106eee2b593b04a011ea4d55f652c6ca24a754d1cdd1"},
- {file = "certifi-2024.2.2.tar.gz", hash = "sha256:0569859f95fc761b18b45ef421b1290a0f65f147e92a1e5eb3e635f9a5e4e66f"},
-]
-
-[[package]]
-name = "charset-normalizer"
-version = "3.3.2"
-description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet."
-optional = false
-python-versions = ">=3.7.0"
-files = [
- {file = "charset-normalizer-3.3.2.tar.gz", hash = "sha256:f30c3cb33b24454a82faecaf01b19c18562b1e89558fb6c56de4d9118a032fd5"},
- {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:25baf083bf6f6b341f4121c2f3c548875ee6f5339300e08be3f2b2ba1721cdd3"},
- {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:06435b539f889b1f6f4ac1758871aae42dc3a8c0e24ac9e60c2384973ad73027"},
- {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9063e24fdb1e498ab71cb7419e24622516c4a04476b17a2dab57e8baa30d6e03"},
- {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6897af51655e3691ff853668779c7bad41579facacf5fd7253b0133308cf000d"},
- {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1d3193f4a680c64b4b6a9115943538edb896edc190f0b222e73761716519268e"},
- {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cd70574b12bb8a4d2aaa0094515df2463cb429d8536cfb6c7ce983246983e5a6"},
- {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8465322196c8b4d7ab6d1e049e4c5cb460d0394da4a27d23cc242fbf0034b6b5"},
- {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a9a8e9031d613fd2009c182b69c7b2c1ef8239a0efb1df3f7c8da66d5dd3d537"},
- {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:beb58fe5cdb101e3a055192ac291b7a21e3b7ef4f67fa1d74e331a7f2124341c"},
- {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:e06ed3eb3218bc64786f7db41917d4e686cc4856944f53d5bdf83a6884432e12"},
- {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:2e81c7b9c8979ce92ed306c249d46894776a909505d8f5a4ba55b14206e3222f"},
- {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:572c3763a264ba47b3cf708a44ce965d98555f618ca42c926a9c1616d8f34269"},
- {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fd1abc0d89e30cc4e02e4064dc67fcc51bd941eb395c502aac3ec19fab46b519"},
- {file = "charset_normalizer-3.3.2-cp310-cp310-win32.whl", hash = "sha256:3d47fa203a7bd9c5b6cee4736ee84ca03b8ef23193c0d1ca99b5089f72645c73"},
- {file = "charset_normalizer-3.3.2-cp310-cp310-win_amd64.whl", hash = "sha256:10955842570876604d404661fbccbc9c7e684caf432c09c715ec38fbae45ae09"},
- {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:802fe99cca7457642125a8a88a084cef28ff0cf9407060f7b93dca5aa25480db"},
- {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:573f6eac48f4769d667c4442081b1794f52919e7edada77495aaed9236d13a96"},
- {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:549a3a73da901d5bc3ce8d24e0600d1fa85524c10287f6004fbab87672bf3e1e"},
- {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f27273b60488abe721a075bcca6d7f3964f9f6f067c8c4c605743023d7d3944f"},
- {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1ceae2f17a9c33cb48e3263960dc5fc8005351ee19db217e9b1bb15d28c02574"},
- {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:65f6f63034100ead094b8744b3b97965785388f308a64cf8d7c34f2f2e5be0c4"},
- {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:753f10e867343b4511128c6ed8c82f7bec3bd026875576dfd88483c5c73b2fd8"},
- {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4a78b2b446bd7c934f5dcedc588903fb2f5eec172f3d29e52a9096a43722adfc"},
- {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e537484df0d8f426ce2afb2d0f8e1c3d0b114b83f8850e5f2fbea0e797bd82ae"},
- {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:eb6904c354526e758fda7167b33005998fb68c46fbc10e013ca97f21ca5c8887"},
- {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:deb6be0ac38ece9ba87dea880e438f25ca3eddfac8b002a2ec3d9183a454e8ae"},
- {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:4ab2fe47fae9e0f9dee8c04187ce5d09f48eabe611be8259444906793ab7cbce"},
- {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:80402cd6ee291dcb72644d6eac93785fe2c8b9cb30893c1af5b8fdd753b9d40f"},
- {file = "charset_normalizer-3.3.2-cp311-cp311-win32.whl", hash = "sha256:7cd13a2e3ddeed6913a65e66e94b51d80a041145a026c27e6bb76c31a853c6ab"},
- {file = "charset_normalizer-3.3.2-cp311-cp311-win_amd64.whl", hash = "sha256:663946639d296df6a2bb2aa51b60a2454ca1cb29835324c640dafb5ff2131a77"},
- {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:0b2b64d2bb6d3fb9112bafa732def486049e63de9618b5843bcdd081d8144cd8"},
- {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:ddbb2551d7e0102e7252db79ba445cdab71b26640817ab1e3e3648dad515003b"},
- {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:55086ee1064215781fff39a1af09518bc9255b50d6333f2e4c74ca09fac6a8f6"},
- {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8f4a014bc36d3c57402e2977dada34f9c12300af536839dc38c0beab8878f38a"},
- {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a10af20b82360ab00827f916a6058451b723b4e65030c5a18577c8b2de5b3389"},
- {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8d756e44e94489e49571086ef83b2bb8ce311e730092d2c34ca8f7d925cb20aa"},
- {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:90d558489962fd4918143277a773316e56c72da56ec7aa3dc3dbbe20fdfed15b"},
- {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6ac7ffc7ad6d040517be39eb591cac5ff87416c2537df6ba3cba3bae290c0fed"},
- {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:7ed9e526742851e8d5cc9e6cf41427dfc6068d4f5a3bb03659444b4cabf6bc26"},
- {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:8bdb58ff7ba23002a4c5808d608e4e6c687175724f54a5dade5fa8c67b604e4d"},
- {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:6b3251890fff30ee142c44144871185dbe13b11bab478a88887a639655be1068"},
- {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:b4a23f61ce87adf89be746c8a8974fe1c823c891d8f86eb218bb957c924bb143"},
- {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:efcb3f6676480691518c177e3b465bcddf57cea040302f9f4e6e191af91174d4"},
- {file = "charset_normalizer-3.3.2-cp312-cp312-win32.whl", hash = "sha256:d965bba47ddeec8cd560687584e88cf699fd28f192ceb452d1d7ee807c5597b7"},
- {file = "charset_normalizer-3.3.2-cp312-cp312-win_amd64.whl", hash = "sha256:96b02a3dc4381e5494fad39be677abcb5e6634bf7b4fa83a6dd3112607547001"},
- {file = "charset_normalizer-3.3.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:95f2a5796329323b8f0512e09dbb7a1860c46a39da62ecb2324f116fa8fdc85c"},
- {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c002b4ffc0be611f0d9da932eb0f704fe2602a9a949d1f738e4c34c75b0863d5"},
- {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a981a536974bbc7a512cf44ed14938cf01030a99e9b3a06dd59578882f06f985"},
- {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3287761bc4ee9e33561a7e058c72ac0938c4f57fe49a09eae428fd88aafe7bb6"},
- {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:42cb296636fcc8b0644486d15c12376cb9fa75443e00fb25de0b8602e64c1714"},
- {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0a55554a2fa0d408816b3b5cedf0045f4b8e1a6065aec45849de2d6f3f8e9786"},
- {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:c083af607d2515612056a31f0a8d9e0fcb5876b7bfc0abad3ecd275bc4ebc2d5"},
- {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:87d1351268731db79e0f8e745d92493ee2841c974128ef629dc518b937d9194c"},
- {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:bd8f7df7d12c2db9fab40bdd87a7c09b1530128315d047a086fa3ae3435cb3a8"},
- {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:c180f51afb394e165eafe4ac2936a14bee3eb10debc9d9e4db8958fe36afe711"},
- {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:8c622a5fe39a48f78944a87d4fb8a53ee07344641b0562c540d840748571b811"},
- {file = "charset_normalizer-3.3.2-cp37-cp37m-win32.whl", hash = "sha256:db364eca23f876da6f9e16c9da0df51aa4f104a972735574842618b8c6d999d4"},
- {file = "charset_normalizer-3.3.2-cp37-cp37m-win_amd64.whl", hash = "sha256:86216b5cee4b06df986d214f664305142d9c76df9b6512be2738aa72a2048f99"},
- {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:6463effa3186ea09411d50efc7d85360b38d5f09b870c48e4600f63af490e56a"},
- {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:6c4caeef8fa63d06bd437cd4bdcf3ffefe6738fb1b25951440d80dc7df8c03ac"},
- {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:37e55c8e51c236f95b033f6fb391d7d7970ba5fe7ff453dad675e88cf303377a"},
- {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb69256e180cb6c8a894fee62b3afebae785babc1ee98b81cdf68bbca1987f33"},
- {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ae5f4161f18c61806f411a13b0310bea87f987c7d2ecdbdaad0e94eb2e404238"},
- {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b2b0a0c0517616b6869869f8c581d4eb2dd83a4d79e0ebcb7d373ef9956aeb0a"},
- {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:45485e01ff4d3630ec0d9617310448a8702f70e9c01906b0d0118bdf9d124cf2"},
- {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:eb00ed941194665c332bf8e078baf037d6c35d7c4f3102ea2d4f16ca94a26dc8"},
- {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:2127566c664442652f024c837091890cb1942c30937add288223dc895793f898"},
- {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:a50aebfa173e157099939b17f18600f72f84eed3049e743b68ad15bd69b6bf99"},
- {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:4d0d1650369165a14e14e1e47b372cfcb31d6ab44e6e33cb2d4e57265290044d"},
- {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:923c0c831b7cfcb071580d3f46c4baf50f174be571576556269530f4bbd79d04"},
- {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:06a81e93cd441c56a9b65d8e1d043daeb97a3d0856d177d5c90ba85acb3db087"},
- {file = "charset_normalizer-3.3.2-cp38-cp38-win32.whl", hash = "sha256:6ef1d82a3af9d3eecdba2321dc1b3c238245d890843e040e41e470ffa64c3e25"},
- {file = "charset_normalizer-3.3.2-cp38-cp38-win_amd64.whl", hash = "sha256:eb8821e09e916165e160797a6c17edda0679379a4be5c716c260e836e122f54b"},
- {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:c235ebd9baae02f1b77bcea61bce332cb4331dc3617d254df3323aa01ab47bd4"},
- {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5b4c145409bef602a690e7cfad0a15a55c13320ff7a3ad7ca59c13bb8ba4d45d"},
- {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:68d1f8a9e9e37c1223b656399be5d6b448dea850bed7d0f87a8311f1ff3dabb0"},
- {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22afcb9f253dac0696b5a4be4a1c0f8762f8239e21b99680099abd9b2b1b2269"},
- {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e27ad930a842b4c5eb8ac0016b0a54f5aebbe679340c26101df33424142c143c"},
- {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1f79682fbe303db92bc2b1136016a38a42e835d932bab5b3b1bfcfbf0640e519"},
- {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b261ccdec7821281dade748d088bb6e9b69e6d15b30652b74cbbac25e280b796"},
- {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:122c7fa62b130ed55f8f285bfd56d5f4b4a5b503609d181f9ad85e55c89f4185"},
- {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:d0eccceffcb53201b5bfebb52600a5fb483a20b61da9dbc885f8b103cbe7598c"},
- {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:9f96df6923e21816da7e0ad3fd47dd8f94b2a5ce594e00677c0013018b813458"},
- {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:7f04c839ed0b6b98b1a7501a002144b76c18fb1c1850c8b98d458ac269e26ed2"},
- {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:34d1c8da1e78d2e001f363791c98a272bb734000fcef47a491c1e3b0505657a8"},
- {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:ff8fa367d09b717b2a17a052544193ad76cd49979c805768879cb63d9ca50561"},
- {file = "charset_normalizer-3.3.2-cp39-cp39-win32.whl", hash = "sha256:aed38f6e4fb3f5d6bf81bfa990a07806be9d83cf7bacef998ab1a9bd660a581f"},
- {file = "charset_normalizer-3.3.2-cp39-cp39-win_amd64.whl", hash = "sha256:b01b88d45a6fcb69667cd6d2f7a9aeb4bf53760d7fc536bf679ec94fe9f3ff3d"},
- {file = "charset_normalizer-3.3.2-py3-none-any.whl", hash = "sha256:3e4d1f6587322d2788836a99c69062fbb091331ec940e02d12d179c1d53e25fc"},
-]
-
-[[package]]
-name = "colorama"
-version = "0.4.6"
-description = "Cross-platform colored terminal text."
-optional = false
-python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7"
-files = [
- {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"},
- {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"},
-]
-
-[[package]]
-name = "contourpy"
-version = "1.2.0"
-description = "Python library for calculating contours of 2D quadrilateral grids"
-optional = false
-python-versions = ">=3.9"
-files = [
- {file = "contourpy-1.2.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0274c1cb63625972c0c007ab14dd9ba9e199c36ae1a231ce45d725cbcbfd10a8"},
- {file = "contourpy-1.2.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ab459a1cbbf18e8698399c595a01f6dcc5c138220ca3ea9e7e6126232d102bb4"},
- {file = "contourpy-1.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6fdd887f17c2f4572ce548461e4f96396681212d858cae7bd52ba3310bc6f00f"},
- {file = "contourpy-1.2.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5d16edfc3fc09968e09ddffada434b3bf989bf4911535e04eada58469873e28e"},
- {file = "contourpy-1.2.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1c203f617abc0dde5792beb586f827021069fb6d403d7f4d5c2b543d87edceb9"},
- {file = "contourpy-1.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b69303ceb2e4d4f146bf82fda78891ef7bcd80c41bf16bfca3d0d7eb545448aa"},
- {file = "contourpy-1.2.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:884c3f9d42d7218304bc74a8a7693d172685c84bd7ab2bab1ee567b769696df9"},
- {file = "contourpy-1.2.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:4a1b1208102be6e851f20066bf0e7a96b7d48a07c9b0cfe6d0d4545c2f6cadab"},
- {file = "contourpy-1.2.0-cp310-cp310-win32.whl", hash = "sha256:34b9071c040d6fe45d9826cbbe3727d20d83f1b6110d219b83eb0e2a01d79488"},
- {file = "contourpy-1.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:bd2f1ae63998da104f16a8b788f685e55d65760cd1929518fd94cd682bf03e41"},
- {file = "contourpy-1.2.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:dd10c26b4eadae44783c45ad6655220426f971c61d9b239e6f7b16d5cdaaa727"},
- {file = "contourpy-1.2.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:5c6b28956b7b232ae801406e529ad7b350d3f09a4fde958dfdf3c0520cdde0dd"},
- {file = "contourpy-1.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ebeac59e9e1eb4b84940d076d9f9a6cec0064e241818bcb6e32124cc5c3e377a"},
- {file = "contourpy-1.2.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:139d8d2e1c1dd52d78682f505e980f592ba53c9f73bd6be102233e358b401063"},
- {file = "contourpy-1.2.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1e9dc350fb4c58adc64df3e0703ab076f60aac06e67d48b3848c23647ae4310e"},
- {file = "contourpy-1.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:18fc2b4ed8e4a8fe849d18dce4bd3c7ea637758c6343a1f2bae1e9bd4c9f4686"},
- {file = "contourpy-1.2.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:16a7380e943a6d52472096cb7ad5264ecee36ed60888e2a3d3814991a0107286"},
- {file = "contourpy-1.2.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:8d8faf05be5ec8e02a4d86f616fc2a0322ff4a4ce26c0f09d9f7fb5330a35c95"},
- {file = "contourpy-1.2.0-cp311-cp311-win32.whl", hash = "sha256:67b7f17679fa62ec82b7e3e611c43a016b887bd64fb933b3ae8638583006c6d6"},
- {file = "contourpy-1.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:99ad97258985328b4f207a5e777c1b44a83bfe7cf1f87b99f9c11d4ee477c4de"},
- {file = "contourpy-1.2.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:575bcaf957a25d1194903a10bc9f316c136c19f24e0985a2b9b5608bdf5dbfe0"},
- {file = "contourpy-1.2.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:9e6c93b5b2dbcedad20a2f18ec22cae47da0d705d454308063421a3b290d9ea4"},
- {file = "contourpy-1.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:464b423bc2a009088f19bdf1f232299e8b6917963e2b7e1d277da5041f33a779"},
- {file = "contourpy-1.2.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:68ce4788b7d93e47f84edd3f1f95acdcd142ae60bc0e5493bfd120683d2d4316"},
- {file = "contourpy-1.2.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3d7d1f8871998cdff5d2ff6a087e5e1780139abe2838e85b0b46b7ae6cc25399"},
- {file = "contourpy-1.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6e739530c662a8d6d42c37c2ed52a6f0932c2d4a3e8c1f90692ad0ce1274abe0"},
- {file = "contourpy-1.2.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:247b9d16535acaa766d03037d8e8fb20866d054d3c7fbf6fd1f993f11fc60ca0"},
- {file = "contourpy-1.2.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:461e3ae84cd90b30f8d533f07d87c00379644205b1d33a5ea03381edc4b69431"},
- {file = "contourpy-1.2.0-cp312-cp312-win32.whl", hash = "sha256:1c2559d6cffc94890b0529ea7eeecc20d6fadc1539273aa27faf503eb4656d8f"},
- {file = "contourpy-1.2.0-cp312-cp312-win_amd64.whl", hash = "sha256:491b1917afdd8638a05b611a56d46587d5a632cabead889a5440f7c638bc6ed9"},
- {file = "contourpy-1.2.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5fd1810973a375ca0e097dee059c407913ba35723b111df75671a1976efa04bc"},
- {file = "contourpy-1.2.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:999c71939aad2780f003979b25ac5b8f2df651dac7b38fb8ce6c46ba5abe6ae9"},
- {file = "contourpy-1.2.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b7caf9b241464c404613512d5594a6e2ff0cc9cb5615c9475cc1d9b514218ae8"},
- {file = "contourpy-1.2.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:266270c6f6608340f6c9836a0fb9b367be61dde0c9a9a18d5ece97774105ff3e"},
- {file = "contourpy-1.2.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dbd50d0a0539ae2e96e537553aff6d02c10ed165ef40c65b0e27e744a0f10af8"},
- {file = "contourpy-1.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:11f8d2554e52f459918f7b8e6aa20ec2a3bce35ce95c1f0ef4ba36fbda306df5"},
- {file = "contourpy-1.2.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:ce96dd400486e80ac7d195b2d800b03e3e6a787e2a522bfb83755938465a819e"},
- {file = "contourpy-1.2.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:6d3364b999c62f539cd403f8123ae426da946e142312a514162adb2addd8d808"},
- {file = "contourpy-1.2.0-cp39-cp39-win32.whl", hash = "sha256:1c88dfb9e0c77612febebb6ac69d44a8d81e3dc60f993215425b62c1161353f4"},
- {file = "contourpy-1.2.0-cp39-cp39-win_amd64.whl", hash = "sha256:78e6ad33cf2e2e80c5dfaaa0beec3d61face0fb650557100ee36db808bfa6843"},
- {file = "contourpy-1.2.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:be16975d94c320432657ad2402f6760990cb640c161ae6da1363051805fa8108"},
- {file = "contourpy-1.2.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b95a225d4948b26a28c08307a60ac00fb8671b14f2047fc5476613252a129776"},
- {file = "contourpy-1.2.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:0d7e03c0f9a4f90dc18d4e77e9ef4ec7b7bbb437f7f675be8e530d65ae6ef956"},
- {file = "contourpy-1.2.0.tar.gz", hash = "sha256:171f311cb758de7da13fc53af221ae47a5877be5a0843a9fe150818c51ed276a"},
-]
-
-[package.dependencies]
-numpy = ">=1.20,<2.0"
-
-[package.extras]
-bokeh = ["bokeh", "selenium"]
-docs = ["furo", "sphinx (>=7.2)", "sphinx-copybutton"]
-mypy = ["contourpy[bokeh,docs]", "docutils-stubs", "mypy (==1.6.1)", "types-Pillow"]
-test = ["Pillow", "contourpy[test-no-images]", "matplotlib"]
-test-no-images = ["pytest", "pytest-cov", "pytest-xdist", "wurlitzer"]
-
-[[package]]
-name = "coverage"
-version = "7.4.1"
-description = "Code coverage measurement for Python"
-optional = false
-python-versions = ">=3.8"
-files = [
- {file = "coverage-7.4.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:077d366e724f24fc02dbfe9d946534357fda71af9764ff99d73c3c596001bbd7"},
- {file = "coverage-7.4.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0193657651f5399d433c92f8ae264aff31fc1d066deee4b831549526433f3f61"},
- {file = "coverage-7.4.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d17bbc946f52ca67adf72a5ee783cd7cd3477f8f8796f59b4974a9b59cacc9ee"},
- {file = "coverage-7.4.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a3277f5fa7483c927fe3a7b017b39351610265308f5267ac6d4c2b64cc1d8d25"},
- {file = "coverage-7.4.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6dceb61d40cbfcf45f51e59933c784a50846dc03211054bd76b421a713dcdf19"},
- {file = "coverage-7.4.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:6008adeca04a445ea6ef31b2cbaf1d01d02986047606f7da266629afee982630"},
- {file = "coverage-7.4.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:c61f66d93d712f6e03369b6a7769233bfda880b12f417eefdd4f16d1deb2fc4c"},
- {file = "coverage-7.4.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:b9bb62fac84d5f2ff523304e59e5c439955fb3b7f44e3d7b2085184db74d733b"},
- {file = "coverage-7.4.1-cp310-cp310-win32.whl", hash = "sha256:f86f368e1c7ce897bf2457b9eb61169a44e2ef797099fb5728482b8d69f3f016"},
- {file = "coverage-7.4.1-cp310-cp310-win_amd64.whl", hash = "sha256:869b5046d41abfea3e381dd143407b0d29b8282a904a19cb908fa24d090cc018"},
- {file = "coverage-7.4.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b8ffb498a83d7e0305968289441914154fb0ef5d8b3157df02a90c6695978295"},
- {file = "coverage-7.4.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:3cacfaefe6089d477264001f90f55b7881ba615953414999c46cc9713ff93c8c"},
- {file = "coverage-7.4.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5d6850e6e36e332d5511a48a251790ddc545e16e8beaf046c03985c69ccb2676"},
- {file = "coverage-7.4.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:18e961aa13b6d47f758cc5879383d27b5b3f3dcd9ce8cdbfdc2571fe86feb4dd"},
- {file = "coverage-7.4.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dfd1e1b9f0898817babf840b77ce9fe655ecbe8b1b327983df485b30df8cc011"},
- {file = "coverage-7.4.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:6b00e21f86598b6330f0019b40fb397e705135040dbedc2ca9a93c7441178e74"},
- {file = "coverage-7.4.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:536d609c6963c50055bab766d9951b6c394759190d03311f3e9fcf194ca909e1"},
- {file = "coverage-7.4.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:7ac8f8eb153724f84885a1374999b7e45734bf93a87d8df1e7ce2146860edef6"},
- {file = "coverage-7.4.1-cp311-cp311-win32.whl", hash = "sha256:f3771b23bb3675a06f5d885c3630b1d01ea6cac9e84a01aaf5508706dba546c5"},
- {file = "coverage-7.4.1-cp311-cp311-win_amd64.whl", hash = "sha256:9d2f9d4cc2a53b38cabc2d6d80f7f9b7e3da26b2f53d48f05876fef7956b6968"},
- {file = "coverage-7.4.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:f68ef3660677e6624c8cace943e4765545f8191313a07288a53d3da188bd8581"},
- {file = "coverage-7.4.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:23b27b8a698e749b61809fb637eb98ebf0e505710ec46a8aa6f1be7dc0dc43a6"},
- {file = "coverage-7.4.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3e3424c554391dc9ef4a92ad28665756566a28fecf47308f91841f6c49288e66"},
- {file = "coverage-7.4.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e0860a348bf7004c812c8368d1fc7f77fe8e4c095d661a579196a9533778e156"},
- {file = "coverage-7.4.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fe558371c1bdf3b8fa03e097c523fb9645b8730399c14fe7721ee9c9e2a545d3"},
- {file = "coverage-7.4.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:3468cc8720402af37b6c6e7e2a9cdb9f6c16c728638a2ebc768ba1ef6f26c3a1"},
- {file = "coverage-7.4.1-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:02f2edb575d62172aa28fe00efe821ae31f25dc3d589055b3fb64d51e52e4ab1"},
- {file = "coverage-7.4.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:ca6e61dc52f601d1d224526360cdeab0d0712ec104a2ce6cc5ccef6ed9a233bc"},
- {file = "coverage-7.4.1-cp312-cp312-win32.whl", hash = "sha256:ca7b26a5e456a843b9b6683eada193fc1f65c761b3a473941efe5a291f604c74"},
- {file = "coverage-7.4.1-cp312-cp312-win_amd64.whl", hash = "sha256:85ccc5fa54c2ed64bd91ed3b4a627b9cce04646a659512a051fa82a92c04a448"},
- {file = "coverage-7.4.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:8bdb0285a0202888d19ec6b6d23d5990410decb932b709f2b0dfe216d031d218"},
- {file = "coverage-7.4.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:918440dea04521f499721c039863ef95433314b1db00ff826a02580c1f503e45"},
- {file = "coverage-7.4.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:379d4c7abad5afbe9d88cc31ea8ca262296480a86af945b08214eb1a556a3e4d"},
- {file = "coverage-7.4.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b094116f0b6155e36a304ff912f89bbb5067157aff5f94060ff20bbabdc8da06"},
- {file = "coverage-7.4.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f2f5968608b1fe2a1d00d01ad1017ee27efd99b3437e08b83ded9b7af3f6f766"},
- {file = "coverage-7.4.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:10e88e7f41e6197ea0429ae18f21ff521d4f4490aa33048f6c6f94c6045a6a75"},
- {file = "coverage-7.4.1-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:a4a3907011d39dbc3e37bdc5df0a8c93853c369039b59efa33a7b6669de04c60"},
- {file = "coverage-7.4.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:6d224f0c4c9c98290a6990259073f496fcec1b5cc613eecbd22786d398ded3ad"},
- {file = "coverage-7.4.1-cp38-cp38-win32.whl", hash = "sha256:23f5881362dcb0e1a92b84b3c2809bdc90db892332daab81ad8f642d8ed55042"},
- {file = "coverage-7.4.1-cp38-cp38-win_amd64.whl", hash = "sha256:a07f61fc452c43cd5328b392e52555f7d1952400a1ad09086c4a8addccbd138d"},
- {file = "coverage-7.4.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:8e738a492b6221f8dcf281b67129510835461132b03024830ac0e554311a5c54"},
- {file = "coverage-7.4.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:46342fed0fff72efcda77040b14728049200cbba1279e0bf1188f1f2078c1d70"},
- {file = "coverage-7.4.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9641e21670c68c7e57d2053ddf6c443e4f0a6e18e547e86af3fad0795414a628"},
- {file = "coverage-7.4.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:aeb2c2688ed93b027eb0d26aa188ada34acb22dceea256d76390eea135083950"},
- {file = "coverage-7.4.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d12c923757de24e4e2110cf8832d83a886a4cf215c6e61ed506006872b43a6d1"},
- {file = "coverage-7.4.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:0491275c3b9971cdbd28a4595c2cb5838f08036bca31765bad5e17edf900b2c7"},
- {file = "coverage-7.4.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:8dfc5e195bbef80aabd81596ef52a1277ee7143fe419efc3c4d8ba2754671756"},
- {file = "coverage-7.4.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:1a78b656a4d12b0490ca72651fe4d9f5e07e3c6461063a9b6265ee45eb2bdd35"},
- {file = "coverage-7.4.1-cp39-cp39-win32.whl", hash = "sha256:f90515974b39f4dea2f27c0959688621b46d96d5a626cf9c53dbc653a895c05c"},
- {file = "coverage-7.4.1-cp39-cp39-win_amd64.whl", hash = "sha256:64e723ca82a84053dd7bfcc986bdb34af8d9da83c521c19d6b472bc6880e191a"},
- {file = "coverage-7.4.1-pp38.pp39.pp310-none-any.whl", hash = "sha256:32a8d985462e37cfdab611a6f95b09d7c091d07668fdc26e47a725ee575fe166"},
- {file = "coverage-7.4.1.tar.gz", hash = "sha256:1ed4b95480952b1a26d863e546fa5094564aa0065e1e5f0d4d0041f293251d04"},
-]
-
-[package.dependencies]
-tomli = {version = "*", optional = true, markers = "python_full_version <= \"3.11.0a6\" and extra == \"toml\""}
-
-[package.extras]
-toml = ["tomli"]
-
-[[package]]
-name = "cycler"
-version = "0.12.1"
-description = "Composable style cycles"
-optional = false
-python-versions = ">=3.8"
-files = [
- {file = "cycler-0.12.1-py3-none-any.whl", hash = "sha256:85cef7cff222d8644161529808465972e51340599459b8ac3ccbac5a854e0d30"},
- {file = "cycler-0.12.1.tar.gz", hash = "sha256:88bb128f02ba341da8ef447245a9e138fae777f6a23943da4540077d3601eb1c"},
-]
-
-[package.extras]
-docs = ["ipython", "matplotlib", "numpydoc", "sphinx"]
-tests = ["pytest", "pytest-cov", "pytest-xdist"]
-
-[[package]]
-name = "einops"
-version = "0.7.0"
-description = "A new flavour of deep learning operations"
-optional = false
-python-versions = ">=3.8"
-files = [
- {file = "einops-0.7.0-py3-none-any.whl", hash = "sha256:0f3096f26b914f465f6ff3c66f5478f9a5e380bb367ffc6493a68143fbbf1fd1"},
- {file = "einops-0.7.0.tar.gz", hash = "sha256:b2b04ad6081a3b227080c9bf5e3ace7160357ff03043cd66cc5b2319eb7031d1"},
-]
-
-[[package]]
-name = "filelock"
-version = "3.13.1"
-description = "A platform independent file lock."
-optional = false
-python-versions = ">=3.8"
-files = [
- {file = "filelock-3.13.1-py3-none-any.whl", hash = "sha256:57dbda9b35157b05fb3e58ee91448612eb674172fab98ee235ccb0b5bee19a1c"},
- {file = "filelock-3.13.1.tar.gz", hash = "sha256:521f5f56c50f8426f5e03ad3b281b490a87ef15bc6c526f168290f0c7148d44e"},
-]
-
-[package.extras]
-docs = ["furo (>=2023.9.10)", "sphinx (>=7.2.6)", "sphinx-autodoc-typehints (>=1.24)"]
-testing = ["covdefaults (>=2.3)", "coverage (>=7.3.2)", "diff-cover (>=8)", "pytest (>=7.4.3)", "pytest-cov (>=4.1)", "pytest-mock (>=3.12)", "pytest-timeout (>=2.2)"]
-typing = ["typing-extensions (>=4.8)"]
-
-[[package]]
-name = "fonttools"
-version = "4.48.1"
-description = "Tools to manipulate font files"
-optional = false
-python-versions = ">=3.8"
-files = [
- {file = "fonttools-4.48.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:702ae93058c81f46461dc4b2c79f11d3c3d8fd7296eaf8f75b4ba5bbf813cd5f"},
- {file = "fonttools-4.48.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:97f0a49fa6aa2d6205c6f72f4f98b74ef4b9bfdcb06fd78e6fe6c7af4989b63e"},
- {file = "fonttools-4.48.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d3260db55f1843e57115256e91247ad9f68cb02a434b51262fe0019e95a98738"},
- {file = "fonttools-4.48.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e740a7602c2bb71e1091269b5dbe89549749a8817dc294b34628ffd8b2bf7124"},
- {file = "fonttools-4.48.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:4108b1d247953dd7c90ec8f457a2dec5fceb373485973cc852b14200118a51ee"},
- {file = "fonttools-4.48.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:56339ec557f0c342bddd7c175f5e41c45fc21282bee58a86bd9aa322bec715f2"},
- {file = "fonttools-4.48.1-cp310-cp310-win32.whl", hash = "sha256:bff5b38d0e76eb18e0b8abbf35d384e60b3371be92f7be36128ee3e67483b3ec"},
- {file = "fonttools-4.48.1-cp310-cp310-win_amd64.whl", hash = "sha256:f7449493886da6a17472004d3818cc050ba3f4a0aa03fb47972e4fa5578e6703"},
- {file = "fonttools-4.48.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:18b35fd1a850ed7233a99bbd6774485271756f717dac8b594958224b54118b61"},
- {file = "fonttools-4.48.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:cad5cfd044ea2e306fda44482b3dd32ee47830fa82dfa4679374b41baa294f5f"},
- {file = "fonttools-4.48.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6f30e605c7565d0da6f0aec75a30ec372072d016957cd8fc4469721a36ea59b7"},
- {file = "fonttools-4.48.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aee76fd81a8571c68841d6ef0da750d5ff08ff2c5f025576473016f16ac3bcf7"},
- {file = "fonttools-4.48.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:5057ade278e67923000041e2b195c9ea53e87f227690d499b6a4edd3702f7f01"},
- {file = "fonttools-4.48.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:b10633aafc5932995a391ec07eba5e79f52af0003a1735b2306b3dab8a056d48"},
- {file = "fonttools-4.48.1-cp311-cp311-win32.whl", hash = "sha256:0d533f89819f9b3ee2dbedf0fed3825c425850e32bdda24c558563c71be0064e"},
- {file = "fonttools-4.48.1-cp311-cp311-win_amd64.whl", hash = "sha256:d20588466367f05025bb1efdf4e5d498ca6d14bde07b6928b79199c588800f0a"},
- {file = "fonttools-4.48.1-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:0a2417547462e468edf35b32e3dd06a6215ac26aa6316b41e03b8eeaf9f079ea"},
- {file = "fonttools-4.48.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:cf5a0cd974f85a80b74785db2d5c3c1fd6cc09a2ba3c837359b2b5da629ee1b0"},
- {file = "fonttools-4.48.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0452fcbfbce752ba596737a7c5ec5cf76bc5f83847ce1781f4f90eab14ece252"},
- {file = "fonttools-4.48.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:578c00f93868f64a4102ecc5aa600a03b49162c654676c3fadc33de2ddb88a81"},
- {file = "fonttools-4.48.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:63dc592a16cd08388d8c4c7502b59ac74190b23e16dfc863c69fe1ea74605b68"},
- {file = "fonttools-4.48.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:9b58638d8a85e3a1b32ec0a91d9f8171a877b4b81c408d4cb3257d0dee63e092"},
- {file = "fonttools-4.48.1-cp312-cp312-win32.whl", hash = "sha256:d10979ef14a8beaaa32f613bb698743f7241d92f437a3b5e32356dfb9769c65d"},
- {file = "fonttools-4.48.1-cp312-cp312-win_amd64.whl", hash = "sha256:cdfd7557d1bd294a200bd211aa665ca3b02998dcc18f8211a5532da5b8fad5c5"},
- {file = "fonttools-4.48.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:3cdb9a92521b81bf717ebccf592bd0292e853244d84115bfb4db0c426de58348"},
- {file = "fonttools-4.48.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:9b4ec6d42a7555f5ae35f3b805482f0aad0f1baeeef54859492ea3b782959d4a"},
- {file = "fonttools-4.48.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:902e9c4e9928301912f34a6638741b8ae0b64824112b42aaf240e06b735774b1"},
- {file = "fonttools-4.48.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a8c8b54bd1420c184a995f980f1a8076f87363e2bb24239ef8c171a369d85a31"},
- {file = "fonttools-4.48.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:12ee86abca46193359ea69216b3a724e90c66ab05ab220d39e3fc068c1eb72ac"},
- {file = "fonttools-4.48.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:6978bade7b6c0335095bdd0bd97f8f3d590d2877b370f17e03e0865241694eb5"},
- {file = "fonttools-4.48.1-cp38-cp38-win32.whl", hash = "sha256:bcd77f89fc1a6b18428e7a55dde8ef56dae95640293bfb8f4e929929eba5e2a2"},
- {file = "fonttools-4.48.1-cp38-cp38-win_amd64.whl", hash = "sha256:f40441437b039930428e04fb05ac3a132e77458fb57666c808d74a556779e784"},
- {file = "fonttools-4.48.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:0d2b01428f7da26f229a5656defc824427b741e454b4e210ad2b25ed6ea2aed4"},
- {file = "fonttools-4.48.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:df48798f9a4fc4c315ab46e17873436c8746f5df6eddd02fad91299b2af7af95"},
- {file = "fonttools-4.48.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2eb4167bde04e172a93cf22c875d8b0cff76a2491f67f5eb069566215302d45d"},
- {file = "fonttools-4.48.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c900508c46274d32d308ae8e82335117f11aaee1f7d369ac16502c9a78930b0a"},
- {file = "fonttools-4.48.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:594206b31c95fcfa65f484385171fabb4ec69f7d2d7f56d27f17db26b7a31814"},
- {file = "fonttools-4.48.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:292922dc356d7f11f5063b4111a8b719efb8faea92a2a88ed296408d449d8c2e"},
- {file = "fonttools-4.48.1-cp39-cp39-win32.whl", hash = "sha256:4709c5bf123ba10eac210d2d5c9027d3f472591d9f1a04262122710fa3d23199"},
- {file = "fonttools-4.48.1-cp39-cp39-win_amd64.whl", hash = "sha256:63c73b9dd56a94a3cbd2f90544b5fca83666948a9e03370888994143b8d7c070"},
- {file = "fonttools-4.48.1-py3-none-any.whl", hash = "sha256:e3e33862fc5261d46d9aae3544acb36203b1a337d00bdb5d3753aae50dac860e"},
- {file = "fonttools-4.48.1.tar.gz", hash = "sha256:8b8a45254218679c7f1127812761e7854ed5c8e34349aebf581e8c9204e7495a"},
-]
-
-[package.extras]
-all = ["brotli (>=1.0.1)", "brotlicffi (>=0.8.0)", "fs (>=2.2.0,<3)", "lxml (>=4.0)", "lz4 (>=1.7.4.2)", "matplotlib", "munkres", "pycairo", "scipy", "skia-pathops (>=0.5.0)", "sympy", "uharfbuzz (>=0.23.0)", "unicodedata2 (>=15.1.0)", "xattr", "zopfli (>=0.1.4)"]
-graphite = ["lz4 (>=1.7.4.2)"]
-interpolatable = ["munkres", "pycairo", "scipy"]
-lxml = ["lxml (>=4.0)"]
-pathops = ["skia-pathops (>=0.5.0)"]
-plot = ["matplotlib"]
-repacker = ["uharfbuzz (>=0.23.0)"]
-symfont = ["sympy"]
-type1 = ["xattr"]
-ufo = ["fs (>=2.2.0,<3)"]
-unicode = ["unicodedata2 (>=15.1.0)"]
-woff = ["brotli (>=1.0.1)", "brotlicffi (>=0.8.0)", "zopfli (>=0.1.4)"]
-
-[[package]]
-name = "gdown"
-version = "4.7.3"
-description = "Google Drive direct download of big files."
-optional = false
-python-versions = "*"
-files = [
- {file = "gdown-4.7.3-py3-none-any.whl", hash = "sha256:aeb7b979b35efd007d0c12fee17350f007aeb5fa84a9def09381d765075ba9ce"},
- {file = "gdown-4.7.3.tar.gz", hash = "sha256:37edc3a0edda1a7fe5ebcc631c3aad0612582766460630ee52f481ba1ec7aefe"},
-]
-
-[package.dependencies]
-beautifulsoup4 = "*"
-filelock = "*"
-requests = {version = "*", extras = ["socks"]}
-six = "*"
-tqdm = "*"
-
-[[package]]
-name = "google-auth"
-version = "2.27.0"
-description = "Google Authentication Library"
-optional = false
-python-versions = ">=3.7"
-files = [
- {file = "google-auth-2.27.0.tar.gz", hash = "sha256:e863a56ccc2d8efa83df7a80272601e43487fa9a728a376205c86c26aaefa821"},
- {file = "google_auth-2.27.0-py2.py3-none-any.whl", hash = "sha256:8e4bad367015430ff253fe49d500fdc3396c1a434db5740828c728e45bcce245"},
-]
-
-[package.dependencies]
-cachetools = ">=2.0.0,<6.0"
-pyasn1-modules = ">=0.2.1"
-rsa = ">=3.1.4,<5"
-
-[package.extras]
-aiohttp = ["aiohttp (>=3.6.2,<4.0.0.dev0)", "requests (>=2.20.0,<3.0.0.dev0)"]
-enterprise-cert = ["cryptography (==36.0.2)", "pyopenssl (==22.0.0)"]
-pyopenssl = ["cryptography (>=38.0.3)", "pyopenssl (>=20.0.0)"]
-reauth = ["pyu2f (>=0.1.5)"]
-requests = ["requests (>=2.20.0,<3.0.0.dev0)"]
-
-[[package]]
-name = "google-auth-oauthlib"
-version = "1.2.0"
-description = "Google Authentication Library"
-optional = false
-python-versions = ">=3.6"
-files = [
- {file = "google-auth-oauthlib-1.2.0.tar.gz", hash = "sha256:292d2d3783349f2b0734a0a0207b1e1e322ac193c2c09d8f7c613fb7cc501ea8"},
- {file = "google_auth_oauthlib-1.2.0-py2.py3-none-any.whl", hash = "sha256:297c1ce4cb13a99b5834c74a1fe03252e1e499716718b190f56bcb9c4abc4faf"},
-]
-
-[package.dependencies]
-google-auth = ">=2.15.0"
-requests-oauthlib = ">=0.7.0"
-
-[package.extras]
-tool = ["click (>=6.0.0)"]
-
-[[package]]
-name = "grpcio"
-version = "1.60.1"
-description = "HTTP/2-based RPC framework"
-optional = false
-python-versions = ">=3.7"
-files = [
- {file = "grpcio-1.60.1-cp310-cp310-linux_armv7l.whl", hash = "sha256:14e8f2c84c0832773fb3958240c69def72357bc11392571f87b2d7b91e0bb092"},
- {file = "grpcio-1.60.1-cp310-cp310-macosx_12_0_universal2.whl", hash = "sha256:33aed0a431f5befeffd9d346b0fa44b2c01aa4aeae5ea5b2c03d3e25e0071216"},
- {file = "grpcio-1.60.1-cp310-cp310-manylinux_2_17_aarch64.whl", hash = "sha256:fead980fbc68512dfd4e0c7b1f5754c2a8e5015a04dea454b9cada54a8423525"},
- {file = "grpcio-1.60.1-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:082081e6a36b6eb5cf0fd9a897fe777dbb3802176ffd08e3ec6567edd85bc104"},
- {file = "grpcio-1.60.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:55ccb7db5a665079d68b5c7c86359ebd5ebf31a19bc1a91c982fd622f1e31ff2"},
- {file = "grpcio-1.60.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:9b54577032d4f235452f77a83169b6527bf4b77d73aeada97d45b2aaf1bf5ce0"},
- {file = "grpcio-1.60.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:7d142bcd604166417929b071cd396aa13c565749a4c840d6c702727a59d835eb"},
- {file = "grpcio-1.60.1-cp310-cp310-win32.whl", hash = "sha256:2a6087f234cb570008a6041c8ffd1b7d657b397fdd6d26e83d72283dae3527b1"},
- {file = "grpcio-1.60.1-cp310-cp310-win_amd64.whl", hash = "sha256:f2212796593ad1d0235068c79836861f2201fc7137a99aa2fea7beeb3b101177"},
- {file = "grpcio-1.60.1-cp311-cp311-linux_armv7l.whl", hash = "sha256:79ae0dc785504cb1e1788758c588c711f4e4a0195d70dff53db203c95a0bd303"},
- {file = "grpcio-1.60.1-cp311-cp311-macosx_10_10_universal2.whl", hash = "sha256:4eec8b8c1c2c9b7125508ff7c89d5701bf933c99d3910e446ed531cd16ad5d87"},
- {file = "grpcio-1.60.1-cp311-cp311-manylinux_2_17_aarch64.whl", hash = "sha256:8c9554ca8e26241dabe7951aa1fa03a1ba0856688ecd7e7bdbdd286ebc272e4c"},
- {file = "grpcio-1.60.1-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:91422ba785a8e7a18725b1dc40fbd88f08a5bb4c7f1b3e8739cab24b04fa8a03"},
- {file = "grpcio-1.60.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cba6209c96828711cb7c8fcb45ecef8c8859238baf15119daa1bef0f6c84bfe7"},
- {file = "grpcio-1.60.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:c71be3f86d67d8d1311c6076a4ba3b75ba5703c0b856b4e691c9097f9b1e8bd2"},
- {file = "grpcio-1.60.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:af5ef6cfaf0d023c00002ba25d0751e5995fa0e4c9eec6cd263c30352662cbce"},
- {file = "grpcio-1.60.1-cp311-cp311-win32.whl", hash = "sha256:a09506eb48fa5493c58f946c46754ef22f3ec0df64f2b5149373ff31fb67f3dd"},
- {file = "grpcio-1.60.1-cp311-cp311-win_amd64.whl", hash = "sha256:49c9b6a510e3ed8df5f6f4f3c34d7fbf2d2cae048ee90a45cd7415abab72912c"},
- {file = "grpcio-1.60.1-cp312-cp312-linux_armv7l.whl", hash = "sha256:b58b855d0071575ea9c7bc0d84a06d2edfbfccec52e9657864386381a7ce1ae9"},
- {file = "grpcio-1.60.1-cp312-cp312-macosx_10_10_universal2.whl", hash = "sha256:a731ac5cffc34dac62053e0da90f0c0b8560396a19f69d9703e88240c8f05858"},
- {file = "grpcio-1.60.1-cp312-cp312-manylinux_2_17_aarch64.whl", hash = "sha256:cf77f8cf2a651fbd869fbdcb4a1931464189cd210abc4cfad357f1cacc8642a6"},
- {file = "grpcio-1.60.1-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c557e94e91a983e5b1e9c60076a8fd79fea1e7e06848eb2e48d0ccfb30f6e073"},
- {file = "grpcio-1.60.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:069fe2aeee02dfd2135d562d0663fe70fbb69d5eed6eb3389042a7e963b54de8"},
- {file = "grpcio-1.60.1-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:cb0af13433dbbd1c806e671d81ec75bd324af6ef75171fd7815ca3074fe32bfe"},
- {file = "grpcio-1.60.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:2f44c32aef186bbba254129cea1df08a20be414144ac3bdf0e84b24e3f3b2e05"},
- {file = "grpcio-1.60.1-cp312-cp312-win32.whl", hash = "sha256:a212e5dea1a4182e40cd3e4067ee46be9d10418092ce3627475e995cca95de21"},
- {file = "grpcio-1.60.1-cp312-cp312-win_amd64.whl", hash = "sha256:6e490fa5f7f5326222cb9f0b78f207a2b218a14edf39602e083d5f617354306f"},
- {file = "grpcio-1.60.1-cp37-cp37m-linux_armv7l.whl", hash = "sha256:4216e67ad9a4769117433814956031cb300f85edc855252a645a9a724b3b6594"},
- {file = "grpcio-1.60.1-cp37-cp37m-macosx_10_10_universal2.whl", hash = "sha256:73e14acd3d4247169955fae8fb103a2b900cfad21d0c35f0dcd0fdd54cd60367"},
- {file = "grpcio-1.60.1-cp37-cp37m-manylinux_2_17_aarch64.whl", hash = "sha256:6ecf21d20d02d1733e9c820fb5c114c749d888704a7ec824b545c12e78734d1c"},
- {file = "grpcio-1.60.1-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:33bdea30dcfd4f87b045d404388469eb48a48c33a6195a043d116ed1b9a0196c"},
- {file = "grpcio-1.60.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:53b69e79d00f78c81eecfb38f4516080dc7f36a198b6b37b928f1c13b3c063e9"},
- {file = "grpcio-1.60.1-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:39aa848794b887120b1d35b1b994e445cc028ff602ef267f87c38122c1add50d"},
- {file = "grpcio-1.60.1-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:72153a0d2e425f45b884540a61c6639436ddafa1829a42056aa5764b84108b8e"},
- {file = "grpcio-1.60.1-cp37-cp37m-win_amd64.whl", hash = "sha256:50d56280b482875d1f9128ce596e59031a226a8b84bec88cb2bf76c289f5d0de"},
- {file = "grpcio-1.60.1-cp38-cp38-linux_armv7l.whl", hash = "sha256:6d140bdeb26cad8b93c1455fa00573c05592793c32053d6e0016ce05ba267549"},
- {file = "grpcio-1.60.1-cp38-cp38-macosx_10_10_universal2.whl", hash = "sha256:bc808924470643b82b14fe121923c30ec211d8c693e747eba8a7414bc4351a23"},
- {file = "grpcio-1.60.1-cp38-cp38-manylinux_2_17_aarch64.whl", hash = "sha256:70c83bb530572917be20c21f3b6be92cd86b9aecb44b0c18b1d3b2cc3ae47df0"},
- {file = "grpcio-1.60.1-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9b106bc52e7f28170e624ba61cc7dc6829566e535a6ec68528f8e1afbed1c41f"},
- {file = "grpcio-1.60.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:30e980cd6db1088c144b92fe376747328d5554bc7960ce583ec7b7d81cd47287"},
- {file = "grpcio-1.60.1-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:0c5807e9152eff15f1d48f6b9ad3749196f79a4a050469d99eecb679be592acc"},
- {file = "grpcio-1.60.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:f1c3dc536b3ee124e8b24feb7533e5c70b9f2ef833e3b2e5513b2897fd46763a"},
- {file = "grpcio-1.60.1-cp38-cp38-win32.whl", hash = "sha256:d7404cebcdb11bb5bd40bf94131faf7e9a7c10a6c60358580fe83913f360f929"},
- {file = "grpcio-1.60.1-cp38-cp38-win_amd64.whl", hash = "sha256:c8754c75f55781515a3005063d9a05878b2cfb3cb7e41d5401ad0cf19de14872"},
- {file = "grpcio-1.60.1-cp39-cp39-linux_armv7l.whl", hash = "sha256:0250a7a70b14000fa311de04b169cc7480be6c1a769b190769d347939d3232a8"},
- {file = "grpcio-1.60.1-cp39-cp39-macosx_10_10_universal2.whl", hash = "sha256:660fc6b9c2a9ea3bb2a7e64ba878c98339abaf1811edca904ac85e9e662f1d73"},
- {file = "grpcio-1.60.1-cp39-cp39-manylinux_2_17_aarch64.whl", hash = "sha256:76eaaba891083fcbe167aa0f03363311a9f12da975b025d30e94b93ac7a765fc"},
- {file = "grpcio-1.60.1-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e5d97c65ea7e097056f3d1ead77040ebc236feaf7f71489383d20f3b4c28412a"},
- {file = "grpcio-1.60.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2bb2a2911b028f01c8c64d126f6b632fcd8a9ac975aa1b3855766c94e4107180"},
- {file = "grpcio-1.60.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:5a1ebbae7e2214f51b1f23b57bf98eeed2cf1ba84e4d523c48c36d5b2f8829ff"},
- {file = "grpcio-1.60.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:9a66f4d2a005bc78e61d805ed95dedfcb35efa84b7bba0403c6d60d13a3de2d6"},
- {file = "grpcio-1.60.1-cp39-cp39-win32.whl", hash = "sha256:8d488fbdbf04283f0d20742b64968d44825617aa6717b07c006168ed16488804"},
- {file = "grpcio-1.60.1-cp39-cp39-win_amd64.whl", hash = "sha256:61b7199cd2a55e62e45bfb629a35b71fc2c0cb88f686a047f25b1112d3810904"},
- {file = "grpcio-1.60.1.tar.gz", hash = "sha256:dd1d3a8d1d2e50ad9b59e10aa7f07c7d1be2b367f3f2d33c5fade96ed5460962"},
-]
-
-[package.extras]
-protobuf = ["grpcio-tools (>=1.60.1)"]
-
-[[package]]
-name = "idna"
-version = "3.6"
-description = "Internationalized Domain Names in Applications (IDNA)"
-optional = false
-python-versions = ">=3.5"
-files = [
- {file = "idna-3.6-py3-none-any.whl", hash = "sha256:c05567e9c24a6b9faaa835c4821bad0590fbb9d5779e7caa6e1cc4978e7eb24f"},
- {file = "idna-3.6.tar.gz", hash = "sha256:9ecdbbd083b06798ae1e86adcbfe8ab1479cf864e4ee30fe4e46a003d12491ca"},
-]
-
-[[package]]
-name = "importlib-metadata"
-version = "7.0.1"
-description = "Read metadata from Python packages"
-optional = false
-python-versions = ">=3.8"
-files = [
- {file = "importlib_metadata-7.0.1-py3-none-any.whl", hash = "sha256:4805911c3a4ec7c3966410053e9ec6a1fecd629117df5adee56dfc9432a1081e"},
- {file = "importlib_metadata-7.0.1.tar.gz", hash = "sha256:f238736bb06590ae52ac1fab06a3a9ef1d8dce2b7a35b5ab329371d6c8f5d2cc"},
-]
-
-[package.dependencies]
-zipp = ">=0.5"
-
-[package.extras]
-docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (<7.2.5)", "sphinx (>=3.5)", "sphinx-lint"]
-perf = ["ipython"]
-testing = ["flufl.flake8", "importlib-resources (>=1.3)", "packaging", "pyfakefs", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy (>=0.9.1)", "pytest-perf (>=0.9.2)", "pytest-ruff"]
-
-[[package]]
-name = "importlib-resources"
-version = "6.1.1"
-description = "Read resources from Python packages"
-optional = false
-python-versions = ">=3.8"
-files = [
- {file = "importlib_resources-6.1.1-py3-none-any.whl", hash = "sha256:e8bf90d8213b486f428c9c39714b920041cb02c184686a3dee24905aaa8105d6"},
- {file = "importlib_resources-6.1.1.tar.gz", hash = "sha256:3893a00122eafde6894c59914446a512f728a0c1a45f9bb9b63721b6bacf0b4a"},
-]
-
-[package.dependencies]
-zipp = {version = ">=3.1.0", markers = "python_version < \"3.10\""}
-
-[package.extras]
-docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (<7.2.5)", "sphinx (>=3.5)", "sphinx-lint"]
-testing = ["pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy (>=0.9.1)", "pytest-ruff", "zipp (>=3.17)"]
-
-[[package]]
-name = "iniconfig"
-version = "2.0.0"
-description = "brain-dead simple config-ini parsing"
-optional = false
-python-versions = ">=3.7"
-files = [
- {file = "iniconfig-2.0.0-py3-none-any.whl", hash = "sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374"},
- {file = "iniconfig-2.0.0.tar.gz", hash = "sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3"},
-]
-
-[[package]]
-name = "itermate"
-version = "1.0.2"
-description = "Iterator-tools for functional programming."
-optional = false
-python-versions = "*"
-files = [
- {file = "itermate-1.0.2-py2-none-any.whl", hash = "sha256:00308991e0fe54465e0e0fbec4d47180b4f6df0f26c1e5d2ce3641e3373f28a0"},
- {file = "itermate-1.0.2.zip", hash = "sha256:5ee758cbb363493156cee7a29effc2b148a1a19d2be3097e92fc824991901e2a"},
-]
-
-[[package]]
-name = "joblib"
-version = "1.3.2"
-description = "Lightweight pipelining with Python functions"
-optional = false
-python-versions = ">=3.7"
-files = [
- {file = "joblib-1.3.2-py3-none-any.whl", hash = "sha256:ef4331c65f239985f3f2220ecc87db222f08fd22097a3dd5698f693875f8cbb9"},
- {file = "joblib-1.3.2.tar.gz", hash = "sha256:92f865e621e17784e7955080b6d042489e3b8e294949cc44c6eac304f59772b1"},
-]
-
-[[package]]
-name = "kiwisolver"
-version = "1.4.5"
-description = "A fast implementation of the Cassowary constraint solver"
-optional = false
-python-versions = ">=3.7"
-files = [
- {file = "kiwisolver-1.4.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:05703cf211d585109fcd72207a31bb170a0f22144d68298dc5e61b3c946518af"},
- {file = "kiwisolver-1.4.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:146d14bebb7f1dc4d5fbf74f8a6cb15ac42baadee8912eb84ac0b3b2a3dc6ac3"},
- {file = "kiwisolver-1.4.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:6ef7afcd2d281494c0a9101d5c571970708ad911d028137cd558f02b851c08b4"},
- {file = "kiwisolver-1.4.5-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:9eaa8b117dc8337728e834b9c6e2611f10c79e38f65157c4c38e9400286f5cb1"},
- {file = "kiwisolver-1.4.5-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:ec20916e7b4cbfb1f12380e46486ec4bcbaa91a9c448b97023fde0d5bbf9e4ff"},
- {file = "kiwisolver-1.4.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:39b42c68602539407884cf70d6a480a469b93b81b7701378ba5e2328660c847a"},
- {file = "kiwisolver-1.4.5-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:aa12042de0171fad672b6c59df69106d20d5596e4f87b5e8f76df757a7c399aa"},
- {file = "kiwisolver-1.4.5-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2a40773c71d7ccdd3798f6489aaac9eee213d566850a9533f8d26332d626b82c"},
- {file = "kiwisolver-1.4.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:19df6e621f6d8b4b9c4d45f40a66839294ff2bb235e64d2178f7522d9170ac5b"},
- {file = "kiwisolver-1.4.5-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:83d78376d0d4fd884e2c114d0621624b73d2aba4e2788182d286309ebdeed770"},
- {file = "kiwisolver-1.4.5-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:e391b1f0a8a5a10ab3b9bb6afcfd74f2175f24f8975fb87ecae700d1503cdee0"},
- {file = "kiwisolver-1.4.5-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:852542f9481f4a62dbb5dd99e8ab7aedfeb8fb6342349a181d4036877410f525"},
- {file = "kiwisolver-1.4.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:59edc41b24031bc25108e210c0def6f6c2191210492a972d585a06ff246bb79b"},
- {file = "kiwisolver-1.4.5-cp310-cp310-win32.whl", hash = "sha256:a6aa6315319a052b4ee378aa171959c898a6183f15c1e541821c5c59beaa0238"},
- {file = "kiwisolver-1.4.5-cp310-cp310-win_amd64.whl", hash = "sha256:d0ef46024e6a3d79c01ff13801cb19d0cad7fd859b15037aec74315540acc276"},
- {file = "kiwisolver-1.4.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:11863aa14a51fd6ec28688d76f1735f8f69ab1fabf388851a595d0721af042f5"},
- {file = "kiwisolver-1.4.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:8ab3919a9997ab7ef2fbbed0cc99bb28d3c13e6d4b1ad36e97e482558a91be90"},
- {file = "kiwisolver-1.4.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:fcc700eadbbccbf6bc1bcb9dbe0786b4b1cb91ca0dcda336eef5c2beed37b797"},
- {file = "kiwisolver-1.4.5-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dfdd7c0b105af050eb3d64997809dc21da247cf44e63dc73ff0fd20b96be55a9"},
- {file = "kiwisolver-1.4.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:76c6a5964640638cdeaa0c359382e5703e9293030fe730018ca06bc2010c4437"},
- {file = "kiwisolver-1.4.5-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bbea0db94288e29afcc4c28afbf3a7ccaf2d7e027489c449cf7e8f83c6346eb9"},
- {file = "kiwisolver-1.4.5-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ceec1a6bc6cab1d6ff5d06592a91a692f90ec7505d6463a88a52cc0eb58545da"},
- {file = "kiwisolver-1.4.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:040c1aebeda72197ef477a906782b5ab0d387642e93bda547336b8957c61022e"},
- {file = "kiwisolver-1.4.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:f91de7223d4c7b793867797bacd1ee53bfe7359bd70d27b7b58a04efbb9436c8"},
- {file = "kiwisolver-1.4.5-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:faae4860798c31530dd184046a900e652c95513796ef51a12bc086710c2eec4d"},
- {file = "kiwisolver-1.4.5-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:b0157420efcb803e71d1b28e2c287518b8808b7cf1ab8af36718fd0a2c453eb0"},
- {file = "kiwisolver-1.4.5-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:06f54715b7737c2fecdbf140d1afb11a33d59508a47bf11bb38ecf21dc9ab79f"},
- {file = "kiwisolver-1.4.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:fdb7adb641a0d13bdcd4ef48e062363d8a9ad4a182ac7647ec88f695e719ae9f"},
- {file = "kiwisolver-1.4.5-cp311-cp311-win32.whl", hash = "sha256:bb86433b1cfe686da83ce32a9d3a8dd308e85c76b60896d58f082136f10bffac"},
- {file = "kiwisolver-1.4.5-cp311-cp311-win_amd64.whl", hash = "sha256:6c08e1312a9cf1074d17b17728d3dfce2a5125b2d791527f33ffbe805200a355"},
- {file = "kiwisolver-1.4.5-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:32d5cf40c4f7c7b3ca500f8985eb3fb3a7dfc023215e876f207956b5ea26632a"},
- {file = "kiwisolver-1.4.5-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:f846c260f483d1fd217fe5ed7c173fb109efa6b1fc8381c8b7552c5781756192"},
- {file = "kiwisolver-1.4.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:5ff5cf3571589b6d13bfbfd6bcd7a3f659e42f96b5fd1c4830c4cf21d4f5ef45"},
- {file = "kiwisolver-1.4.5-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7269d9e5f1084a653d575c7ec012ff57f0c042258bf5db0954bf551c158466e7"},
- {file = "kiwisolver-1.4.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:da802a19d6e15dffe4b0c24b38b3af68e6c1a68e6e1d8f30148c83864f3881db"},
- {file = "kiwisolver-1.4.5-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3aba7311af82e335dd1e36ffff68aaca609ca6290c2cb6d821a39aa075d8e3ff"},
- {file = "kiwisolver-1.4.5-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:763773d53f07244148ccac5b084da5adb90bfaee39c197554f01b286cf869228"},
- {file = "kiwisolver-1.4.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2270953c0d8cdab5d422bee7d2007f043473f9d2999631c86a223c9db56cbd16"},
- {file = "kiwisolver-1.4.5-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:d099e745a512f7e3bbe7249ca835f4d357c586d78d79ae8f1dcd4d8adeb9bda9"},
- {file = "kiwisolver-1.4.5-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:74db36e14a7d1ce0986fa104f7d5637aea5c82ca6326ed0ec5694280942d1162"},
- {file = "kiwisolver-1.4.5-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:7e5bab140c309cb3a6ce373a9e71eb7e4873c70c2dda01df6820474f9889d6d4"},
- {file = "kiwisolver-1.4.5-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:0f114aa76dc1b8f636d077979c0ac22e7cd8f3493abbab152f20eb8d3cda71f3"},
- {file = "kiwisolver-1.4.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:88a2df29d4724b9237fc0c6eaf2a1adae0cdc0b3e9f4d8e7dc54b16812d2d81a"},
- {file = "kiwisolver-1.4.5-cp312-cp312-win32.whl", hash = "sha256:72d40b33e834371fd330fb1472ca19d9b8327acb79a5821d4008391db8e29f20"},
- {file = "kiwisolver-1.4.5-cp312-cp312-win_amd64.whl", hash = "sha256:2c5674c4e74d939b9d91dda0fae10597ac7521768fec9e399c70a1f27e2ea2d9"},
- {file = "kiwisolver-1.4.5-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:3a2b053a0ab7a3960c98725cfb0bf5b48ba82f64ec95fe06f1d06c99b552e130"},
- {file = "kiwisolver-1.4.5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3cd32d6c13807e5c66a7cbb79f90b553642f296ae4518a60d8d76243b0ad2898"},
- {file = "kiwisolver-1.4.5-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:59ec7b7c7e1a61061850d53aaf8e93db63dce0c936db1fda2658b70e4a1be709"},
- {file = "kiwisolver-1.4.5-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:da4cfb373035def307905d05041c1d06d8936452fe89d464743ae7fb8371078b"},
- {file = "kiwisolver-1.4.5-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2400873bccc260b6ae184b2b8a4fec0e4082d30648eadb7c3d9a13405d861e89"},
- {file = "kiwisolver-1.4.5-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:1b04139c4236a0f3aff534479b58f6f849a8b351e1314826c2d230849ed48985"},
- {file = "kiwisolver-1.4.5-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:4e66e81a5779b65ac21764c295087de82235597a2293d18d943f8e9e32746265"},
- {file = "kiwisolver-1.4.5-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:7931d8f1f67c4be9ba1dd9c451fb0eeca1a25b89e4d3f89e828fe12a519b782a"},
- {file = "kiwisolver-1.4.5-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:b3f7e75f3015df442238cca659f8baa5f42ce2a8582727981cbfa15fee0ee205"},
- {file = "kiwisolver-1.4.5-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:bbf1d63eef84b2e8c89011b7f2235b1e0bf7dacc11cac9431fc6468e99ac77fb"},
- {file = "kiwisolver-1.4.5-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:4c380469bd3f970ef677bf2bcba2b6b0b4d5c75e7a020fb863ef75084efad66f"},
- {file = "kiwisolver-1.4.5-cp37-cp37m-win32.whl", hash = "sha256:9408acf3270c4b6baad483865191e3e582b638b1654a007c62e3efe96f09a9a3"},
- {file = "kiwisolver-1.4.5-cp37-cp37m-win_amd64.whl", hash = "sha256:5b94529f9b2591b7af5f3e0e730a4e0a41ea174af35a4fd067775f9bdfeee01a"},
- {file = "kiwisolver-1.4.5-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:11c7de8f692fc99816e8ac50d1d1aef4f75126eefc33ac79aac02c099fd3db71"},
- {file = "kiwisolver-1.4.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:53abb58632235cd154176ced1ae8f0d29a6657aa1aa9decf50b899b755bc2b93"},
- {file = "kiwisolver-1.4.5-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:88b9f257ca61b838b6f8094a62418421f87ac2a1069f7e896c36a7d86b5d4c29"},
- {file = "kiwisolver-1.4.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3195782b26fc03aa9c6913d5bad5aeb864bdc372924c093b0f1cebad603dd712"},
- {file = "kiwisolver-1.4.5-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fc579bf0f502e54926519451b920e875f433aceb4624a3646b3252b5caa9e0b6"},
- {file = "kiwisolver-1.4.5-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5a580c91d686376f0f7c295357595c5a026e6cbc3d77b7c36e290201e7c11ecb"},
- {file = "kiwisolver-1.4.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:cfe6ab8da05c01ba6fbea630377b5da2cd9bcbc6338510116b01c1bc939a2c18"},
- {file = "kiwisolver-1.4.5-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:d2e5a98f0ec99beb3c10e13b387f8db39106d53993f498b295f0c914328b1333"},
- {file = "kiwisolver-1.4.5-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:a51a263952b1429e429ff236d2f5a21c5125437861baeed77f5e1cc2d2c7c6da"},
- {file = "kiwisolver-1.4.5-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:3edd2fa14e68c9be82c5b16689e8d63d89fe927e56debd6e1dbce7a26a17f81b"},
- {file = "kiwisolver-1.4.5-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:74d1b44c6cfc897df648cc9fdaa09bc3e7679926e6f96df05775d4fb3946571c"},
- {file = "kiwisolver-1.4.5-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:76d9289ed3f7501012e05abb8358bbb129149dbd173f1f57a1bf1c22d19ab7cc"},
- {file = "kiwisolver-1.4.5-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:92dea1ffe3714fa8eb6a314d2b3c773208d865a0e0d35e713ec54eea08a66250"},
- {file = "kiwisolver-1.4.5-cp38-cp38-win32.whl", hash = "sha256:5c90ae8c8d32e472be041e76f9d2f2dbff4d0b0be8bd4041770eddb18cf49a4e"},
- {file = "kiwisolver-1.4.5-cp38-cp38-win_amd64.whl", hash = "sha256:c7940c1dc63eb37a67721b10d703247552416f719c4188c54e04334321351ced"},
- {file = "kiwisolver-1.4.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:9407b6a5f0d675e8a827ad8742e1d6b49d9c1a1da5d952a67d50ef5f4170b18d"},
- {file = "kiwisolver-1.4.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:15568384086b6df3c65353820a4473575dbad192e35010f622c6ce3eebd57af9"},
- {file = "kiwisolver-1.4.5-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:0dc9db8e79f0036e8173c466d21ef18e1befc02de8bf8aa8dc0813a6dc8a7046"},
- {file = "kiwisolver-1.4.5-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:cdc8a402aaee9a798b50d8b827d7ecf75edc5fb35ea0f91f213ff927c15f4ff0"},
- {file = "kiwisolver-1.4.5-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:6c3bd3cde54cafb87d74d8db50b909705c62b17c2099b8f2e25b461882e544ff"},
- {file = "kiwisolver-1.4.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:955e8513d07a283056b1396e9a57ceddbd272d9252c14f154d450d227606eb54"},
- {file = "kiwisolver-1.4.5-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:346f5343b9e3f00b8db8ba359350eb124b98c99efd0b408728ac6ebf38173958"},
- {file = "kiwisolver-1.4.5-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b9098e0049e88c6a24ff64545cdfc50807818ba6c1b739cae221bbbcbc58aad3"},
- {file = "kiwisolver-1.4.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:00bd361b903dc4bbf4eb165f24d1acbee754fce22ded24c3d56eec268658a5cf"},
- {file = "kiwisolver-1.4.5-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:7b8b454bac16428b22560d0a1cf0a09875339cab69df61d7805bf48919415901"},
- {file = "kiwisolver-1.4.5-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:f1d072c2eb0ad60d4c183f3fb44ac6f73fb7a8f16a2694a91f988275cbf352f9"},
- {file = "kiwisolver-1.4.5-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:31a82d498054cac9f6d0b53d02bb85811185bcb477d4b60144f915f3b3126342"},
- {file = "kiwisolver-1.4.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:6512cb89e334e4700febbffaaa52761b65b4f5a3cf33f960213d5656cea36a77"},
- {file = "kiwisolver-1.4.5-cp39-cp39-win32.whl", hash = "sha256:9db8ea4c388fdb0f780fe91346fd438657ea602d58348753d9fb265ce1bca67f"},
- {file = "kiwisolver-1.4.5-cp39-cp39-win_amd64.whl", hash = "sha256:59415f46a37f7f2efeec758353dd2eae1b07640d8ca0f0c42548ec4125492635"},
- {file = "kiwisolver-1.4.5-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:5c7b3b3a728dc6faf3fc372ef24f21d1e3cee2ac3e9596691d746e5a536de920"},
- {file = "kiwisolver-1.4.5-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:620ced262a86244e2be10a676b646f29c34537d0d9cc8eb26c08f53d98013390"},
- {file = "kiwisolver-1.4.5-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:378a214a1e3bbf5ac4a8708304318b4f890da88c9e6a07699c4ae7174c09a68d"},
- {file = "kiwisolver-1.4.5-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aaf7be1207676ac608a50cd08f102f6742dbfc70e8d60c4db1c6897f62f71523"},
- {file = "kiwisolver-1.4.5-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:ba55dce0a9b8ff59495ddd050a0225d58bd0983d09f87cfe2b6aec4f2c1234e4"},
- {file = "kiwisolver-1.4.5-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:fd32ea360bcbb92d28933fc05ed09bffcb1704ba3fc7942e81db0fd4f81a7892"},
- {file = "kiwisolver-1.4.5-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:5e7139af55d1688f8b960ee9ad5adafc4ac17c1c473fe07133ac092310d76544"},
- {file = "kiwisolver-1.4.5-pp38-pypy38_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:dced8146011d2bc2e883f9bd68618b8247387f4bbec46d7392b3c3b032640126"},
- {file = "kiwisolver-1.4.5-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c9bf3325c47b11b2e51bca0824ea217c7cd84491d8ac4eefd1e409705ef092bd"},
- {file = "kiwisolver-1.4.5-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:5794cf59533bc3f1b1c821f7206a3617999db9fbefc345360aafe2e067514929"},
- {file = "kiwisolver-1.4.5-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:e368f200bbc2e4f905b8e71eb38b3c04333bddaa6a2464a6355487b02bb7fb09"},
- {file = "kiwisolver-1.4.5-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e5d706eba36b4c4d5bc6c6377bb6568098765e990cfc21ee16d13963fab7b3e7"},
- {file = "kiwisolver-1.4.5-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:85267bd1aa8880a9c88a8cb71e18d3d64d2751a790e6ca6c27b8ccc724bcd5ad"},
- {file = "kiwisolver-1.4.5-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:210ef2c3a1f03272649aff1ef992df2e724748918c4bc2d5a90352849eb40bea"},
- {file = "kiwisolver-1.4.5-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:11d011a7574eb3b82bcc9c1a1d35c1d7075677fdd15de527d91b46bd35e935ee"},
- {file = "kiwisolver-1.4.5.tar.gz", hash = "sha256:e57e563a57fb22a142da34f38acc2fc1a5c864bc29ca1517a88abc963e60d6ec"},
-]
-
-[[package]]
-name = "markdown"
-version = "3.5.2"
-description = "Python implementation of John Gruber's Markdown."
-optional = false
-python-versions = ">=3.8"
-files = [
- {file = "Markdown-3.5.2-py3-none-any.whl", hash = "sha256:d43323865d89fc0cb9b20c75fc8ad313af307cc087e84b657d9eec768eddeadd"},
- {file = "Markdown-3.5.2.tar.gz", hash = "sha256:e1ac7b3dc550ee80e602e71c1d168002f062e49f1b11e26a36264dafd4df2ef8"},
-]
-
-[package.dependencies]
-importlib-metadata = {version = ">=4.4", markers = "python_version < \"3.10\""}
-
-[package.extras]
-docs = ["mdx-gh-links (>=0.2)", "mkdocs (>=1.5)", "mkdocs-gen-files", "mkdocs-literate-nav", "mkdocs-nature (>=0.6)", "mkdocs-section-index", "mkdocstrings[python]"]
-testing = ["coverage", "pyyaml"]
-
-[[package]]
-name = "markdown-it-py"
-version = "3.0.0"
-description = "Python port of markdown-it. Markdown parsing, done right!"
-optional = false
-python-versions = ">=3.8"
-files = [
- {file = "markdown-it-py-3.0.0.tar.gz", hash = "sha256:e3f60a94fa066dc52ec76661e37c851cb232d92f9886b15cb560aaada2df8feb"},
- {file = "markdown_it_py-3.0.0-py3-none-any.whl", hash = "sha256:355216845c60bd96232cd8d8c40e8f9765cc86f46880e43a8fd22dc1a1a8cab1"},
-]
-
-[package.dependencies]
-mdurl = ">=0.1,<1.0"
-
-[package.extras]
-benchmarking = ["psutil", "pytest", "pytest-benchmark"]
-code-style = ["pre-commit (>=3.0,<4.0)"]
-compare = ["commonmark (>=0.9,<1.0)", "markdown (>=3.4,<4.0)", "mistletoe (>=1.0,<2.0)", "mistune (>=2.0,<3.0)", "panflute (>=2.3,<3.0)"]
-linkify = ["linkify-it-py (>=1,<3)"]
-plugins = ["mdit-py-plugins"]
-profiling = ["gprof2dot"]
-rtd = ["jupyter_sphinx", "mdit-py-plugins", "myst-parser", "pyyaml", "sphinx", "sphinx-copybutton", "sphinx-design", "sphinx_book_theme"]
-testing = ["coverage", "pytest", "pytest-cov", "pytest-regressions"]
-
-[[package]]
-name = "markupsafe"
-version = "2.1.5"
-description = "Safely add untrusted strings to HTML/XML markup."
-optional = false
-python-versions = ">=3.7"
-files = [
- {file = "MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a17a92de5231666cfbe003f0e4b9b3a7ae3afb1ec2845aadc2bacc93ff85febc"},
- {file = "MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:72b6be590cc35924b02c78ef34b467da4ba07e4e0f0454a2c5907f473fc50ce5"},
- {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e61659ba32cf2cf1481e575d0462554625196a1f2fc06a1c777d3f48e8865d46"},
- {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2174c595a0d73a3080ca3257b40096db99799265e1c27cc5a610743acd86d62f"},
- {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ae2ad8ae6ebee9d2d94b17fb62763125f3f374c25618198f40cbb8b525411900"},
- {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:075202fa5b72c86ad32dc7d0b56024ebdbcf2048c0ba09f1cde31bfdd57bcfff"},
- {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:598e3276b64aff0e7b3451b72e94fa3c238d452e7ddcd893c3ab324717456bad"},
- {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fce659a462a1be54d2ffcacea5e3ba2d74daa74f30f5f143fe0c58636e355fdd"},
- {file = "MarkupSafe-2.1.5-cp310-cp310-win32.whl", hash = "sha256:d9fad5155d72433c921b782e58892377c44bd6252b5af2f67f16b194987338a4"},
- {file = "MarkupSafe-2.1.5-cp310-cp310-win_amd64.whl", hash = "sha256:bf50cd79a75d181c9181df03572cdce0fbb75cc353bc350712073108cba98de5"},
- {file = "MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:629ddd2ca402ae6dbedfceeba9c46d5f7b2a61d9749597d4307f943ef198fc1f"},
- {file = "MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:5b7b716f97b52c5a14bffdf688f971b2d5ef4029127f1ad7a513973cfd818df2"},
- {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6ec585f69cec0aa07d945b20805be741395e28ac1627333b1c5b0105962ffced"},
- {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b91c037585eba9095565a3556f611e3cbfaa42ca1e865f7b8015fe5c7336d5a5"},
- {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7502934a33b54030eaf1194c21c692a534196063db72176b0c4028e140f8f32c"},
- {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:0e397ac966fdf721b2c528cf028494e86172b4feba51d65f81ffd65c63798f3f"},
- {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:c061bb86a71b42465156a3ee7bd58c8c2ceacdbeb95d05a99893e08b8467359a"},
- {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:3a57fdd7ce31c7ff06cdfbf31dafa96cc533c21e443d57f5b1ecc6cdc668ec7f"},
- {file = "MarkupSafe-2.1.5-cp311-cp311-win32.whl", hash = "sha256:397081c1a0bfb5124355710fe79478cdbeb39626492b15d399526ae53422b906"},
- {file = "MarkupSafe-2.1.5-cp311-cp311-win_amd64.whl", hash = "sha256:2b7c57a4dfc4f16f7142221afe5ba4e093e09e728ca65c51f5620c9aaeb9a617"},
- {file = "MarkupSafe-2.1.5-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:8dec4936e9c3100156f8a2dc89c4b88d5c435175ff03413b443469c7c8c5f4d1"},
- {file = "MarkupSafe-2.1.5-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:3c6b973f22eb18a789b1460b4b91bf04ae3f0c4234a0a6aa6b0a92f6f7b951d4"},
- {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ac07bad82163452a6884fe8fa0963fb98c2346ba78d779ec06bd7a6262132aee"},
- {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f5dfb42c4604dddc8e4305050aa6deb084540643ed5804d7455b5df8fe16f5e5"},
- {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ea3d8a3d18833cf4304cd2fc9cbb1efe188ca9b5efef2bdac7adc20594a0e46b"},
- {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:d050b3361367a06d752db6ead6e7edeb0009be66bc3bae0ee9d97fb326badc2a"},
- {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:bec0a414d016ac1a18862a519e54b2fd0fc8bbfd6890376898a6c0891dd82e9f"},
- {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:58c98fee265677f63a4385256a6d7683ab1832f3ddd1e66fe948d5880c21a169"},
- {file = "MarkupSafe-2.1.5-cp312-cp312-win32.whl", hash = "sha256:8590b4ae07a35970728874632fed7bd57b26b0102df2d2b233b6d9d82f6c62ad"},
- {file = "MarkupSafe-2.1.5-cp312-cp312-win_amd64.whl", hash = "sha256:823b65d8706e32ad2df51ed89496147a42a2a6e01c13cfb6ffb8b1e92bc910bb"},
- {file = "MarkupSafe-2.1.5-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:c8b29db45f8fe46ad280a7294f5c3ec36dbac9491f2d1c17345be8e69cc5928f"},
- {file = "MarkupSafe-2.1.5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ec6a563cff360b50eed26f13adc43e61bc0c04d94b8be985e6fb24b81f6dcfdf"},
- {file = "MarkupSafe-2.1.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a549b9c31bec33820e885335b451286e2969a2d9e24879f83fe904a5ce59d70a"},
- {file = "MarkupSafe-2.1.5-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4f11aa001c540f62c6166c7726f71f7573b52c68c31f014c25cc7901deea0b52"},
- {file = "MarkupSafe-2.1.5-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:7b2e5a267c855eea6b4283940daa6e88a285f5f2a67f2220203786dfa59b37e9"},
- {file = "MarkupSafe-2.1.5-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:2d2d793e36e230fd32babe143b04cec8a8b3eb8a3122d2aceb4a371e6b09b8df"},
- {file = "MarkupSafe-2.1.5-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:ce409136744f6521e39fd8e2a24c53fa18ad67aa5bc7c2cf83645cce5b5c4e50"},
- {file = "MarkupSafe-2.1.5-cp37-cp37m-win32.whl", hash = "sha256:4096e9de5c6fdf43fb4f04c26fb114f61ef0bf2e5604b6ee3019d51b69e8c371"},
- {file = "MarkupSafe-2.1.5-cp37-cp37m-win_amd64.whl", hash = "sha256:4275d846e41ecefa46e2015117a9f491e57a71ddd59bbead77e904dc02b1bed2"},
- {file = "MarkupSafe-2.1.5-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:656f7526c69fac7f600bd1f400991cc282b417d17539a1b228617081106feb4a"},
- {file = "MarkupSafe-2.1.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:97cafb1f3cbcd3fd2b6fbfb99ae11cdb14deea0736fc2b0952ee177f2b813a46"},
- {file = "MarkupSafe-2.1.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f3fbcb7ef1f16e48246f704ab79d79da8a46891e2da03f8783a5b6fa41a9532"},
- {file = "MarkupSafe-2.1.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fa9db3f79de01457b03d4f01b34cf91bc0048eb2c3846ff26f66687c2f6d16ab"},
- {file = "MarkupSafe-2.1.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ffee1f21e5ef0d712f9033568f8344d5da8cc2869dbd08d87c84656e6a2d2f68"},
- {file = "MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:5dedb4db619ba5a2787a94d877bc8ffc0566f92a01c0ef214865e54ecc9ee5e0"},
- {file = "MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:30b600cf0a7ac9234b2638fbc0fb6158ba5bdcdf46aeb631ead21248b9affbc4"},
- {file = "MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:8dd717634f5a044f860435c1d8c16a270ddf0ef8588d4887037c5028b859b0c3"},
- {file = "MarkupSafe-2.1.5-cp38-cp38-win32.whl", hash = "sha256:daa4ee5a243f0f20d528d939d06670a298dd39b1ad5f8a72a4275124a7819eff"},
- {file = "MarkupSafe-2.1.5-cp38-cp38-win_amd64.whl", hash = "sha256:619bc166c4f2de5caa5a633b8b7326fbe98e0ccbfacabd87268a2b15ff73a029"},
- {file = "MarkupSafe-2.1.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:7a68b554d356a91cce1236aa7682dc01df0edba8d043fd1ce607c49dd3c1edcf"},
- {file = "MarkupSafe-2.1.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:db0b55e0f3cc0be60c1f19efdde9a637c32740486004f20d1cff53c3c0ece4d2"},
- {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3e53af139f8579a6d5f7b76549125f0d94d7e630761a2111bc431fd820e163b8"},
- {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:17b950fccb810b3293638215058e432159d2b71005c74371d784862b7e4683f3"},
- {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4c31f53cdae6ecfa91a77820e8b151dba54ab528ba65dfd235c80b086d68a465"},
- {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:bff1b4290a66b490a2f4719358c0cdcd9bafb6b8f061e45c7a2460866bf50c2e"},
- {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:bc1667f8b83f48511b94671e0e441401371dfd0f0a795c7daa4a3cd1dde55bea"},
- {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5049256f536511ee3f7e1b3f87d1d1209d327e818e6ae1365e8653d7e3abb6a6"},
- {file = "MarkupSafe-2.1.5-cp39-cp39-win32.whl", hash = "sha256:00e046b6dd71aa03a41079792f8473dc494d564611a8f89bbbd7cb93295ebdcf"},
- {file = "MarkupSafe-2.1.5-cp39-cp39-win_amd64.whl", hash = "sha256:fa173ec60341d6bb97a89f5ea19c85c5643c1e7dedebc22f5181eb73573142c5"},
- {file = "MarkupSafe-2.1.5.tar.gz", hash = "sha256:d283d37a890ba4c1ae73ffadf8046435c76e7bc2247bbb63c00bd1a709c6544b"},
-]
-
-[[package]]
-name = "matplotlib"
-version = "3.8.2"
-description = "Python plotting package"
-optional = false
-python-versions = ">=3.9"
-files = [
- {file = "matplotlib-3.8.2-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:09796f89fb71a0c0e1e2f4bdaf63fb2cefc84446bb963ecdeb40dfee7dfa98c7"},
- {file = "matplotlib-3.8.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:6f9c6976748a25e8b9be51ea028df49b8e561eed7809146da7a47dbecebab367"},
- {file = "matplotlib-3.8.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b78e4f2cedf303869b782071b55fdde5987fda3038e9d09e58c91cc261b5ad18"},
- {file = "matplotlib-3.8.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4e208f46cf6576a7624195aa047cb344a7f802e113bb1a06cfd4bee431de5e31"},
- {file = "matplotlib-3.8.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:46a569130ff53798ea5f50afce7406e91fdc471ca1e0e26ba976a8c734c9427a"},
- {file = "matplotlib-3.8.2-cp310-cp310-win_amd64.whl", hash = "sha256:830f00640c965c5b7f6bc32f0d4ce0c36dfe0379f7dd65b07a00c801713ec40a"},
- {file = "matplotlib-3.8.2-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:d86593ccf546223eb75a39b44c32788e6f6440d13cfc4750c1c15d0fcb850b63"},
- {file = "matplotlib-3.8.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:9a5430836811b7652991939012f43d2808a2db9b64ee240387e8c43e2e5578c8"},
- {file = "matplotlib-3.8.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b9576723858a78751d5aacd2497b8aef29ffea6d1c95981505877f7ac28215c6"},
- {file = "matplotlib-3.8.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5ba9cbd8ac6cf422f3102622b20f8552d601bf8837e49a3afed188d560152788"},
- {file = "matplotlib-3.8.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:03f9d160a29e0b65c0790bb07f4f45d6a181b1ac33eb1bb0dd225986450148f0"},
- {file = "matplotlib-3.8.2-cp311-cp311-win_amd64.whl", hash = "sha256:3773002da767f0a9323ba1a9b9b5d00d6257dbd2a93107233167cfb581f64717"},
- {file = "matplotlib-3.8.2-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:4c318c1e95e2f5926fba326f68177dee364aa791d6df022ceb91b8221bd0a627"},
- {file = "matplotlib-3.8.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:091275d18d942cf1ee9609c830a1bc36610607d8223b1b981c37d5c9fc3e46a4"},
- {file = "matplotlib-3.8.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1b0f3b8ea0e99e233a4bcc44590f01604840d833c280ebb8fe5554fd3e6cfe8d"},
- {file = "matplotlib-3.8.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d7b1704a530395aaf73912be741c04d181f82ca78084fbd80bc737be04848331"},
- {file = "matplotlib-3.8.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:533b0e3b0c6768eef8cbe4b583731ce25a91ab54a22f830db2b031e83cca9213"},
- {file = "matplotlib-3.8.2-cp312-cp312-win_amd64.whl", hash = "sha256:0f4fc5d72b75e2c18e55eb32292659cf731d9d5b312a6eb036506304f4675630"},
- {file = "matplotlib-3.8.2-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:deaed9ad4da0b1aea77fe0aa0cebb9ef611c70b3177be936a95e5d01fa05094f"},
- {file = "matplotlib-3.8.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:172f4d0fbac3383d39164c6caafd3255ce6fa58f08fc392513a0b1d3b89c4f89"},
- {file = "matplotlib-3.8.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c7d36c2209d9136cd8e02fab1c0ddc185ce79bc914c45054a9f514e44c787917"},
- {file = "matplotlib-3.8.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5864bdd7da445e4e5e011b199bb67168cdad10b501750367c496420f2ad00843"},
- {file = "matplotlib-3.8.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:ef8345b48e95cee45ff25192ed1f4857273117917a4dcd48e3905619bcd9c9b8"},
- {file = "matplotlib-3.8.2-cp39-cp39-win_amd64.whl", hash = "sha256:7c48d9e221b637c017232e3760ed30b4e8d5dfd081daf327e829bf2a72c731b4"},
- {file = "matplotlib-3.8.2-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:aa11b3c6928a1e496c1a79917d51d4cd5d04f8a2e75f21df4949eeefdf697f4b"},
- {file = "matplotlib-3.8.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d1095fecf99eeb7384dabad4bf44b965f929a5f6079654b681193edf7169ec20"},
- {file = "matplotlib-3.8.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:bddfb1db89bfaa855912261c805bd0e10218923cc262b9159a49c29a7a1c1afa"},
- {file = "matplotlib-3.8.2.tar.gz", hash = "sha256:01a978b871b881ee76017152f1f1a0cbf6bd5f7b8ff8c96df0df1bd57d8755a1"},
-]
-
-[package.dependencies]
-contourpy = ">=1.0.1"
-cycler = ">=0.10"
-fonttools = ">=4.22.0"
-importlib-resources = {version = ">=3.2.0", markers = "python_version < \"3.10\""}
-kiwisolver = ">=1.3.1"
-numpy = ">=1.21,<2"
-packaging = ">=20.0"
-pillow = ">=8"
-pyparsing = ">=2.3.1"
-python-dateutil = ">=2.7"
-
-[[package]]
-name = "mdurl"
-version = "0.1.2"
-description = "Markdown URL utilities"
-optional = false
-python-versions = ">=3.7"
-files = [
- {file = "mdurl-0.1.2-py3-none-any.whl", hash = "sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8"},
- {file = "mdurl-0.1.2.tar.gz", hash = "sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba"},
-]
-
-[[package]]
-name = "numpy"
-version = "1.26.4"
-description = "Fundamental package for array computing in Python"
-optional = false
-python-versions = ">=3.9"
-files = [
- {file = "numpy-1.26.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:9ff0f4f29c51e2803569d7a51c2304de5554655a60c5d776e35b4a41413830d0"},
- {file = "numpy-1.26.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2e4ee3380d6de9c9ec04745830fd9e2eccb3e6cf790d39d7b98ffd19b0dd754a"},
- {file = "numpy-1.26.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d209d8969599b27ad20994c8e41936ee0964e6da07478d6c35016bc386b66ad4"},
- {file = "numpy-1.26.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ffa75af20b44f8dba823498024771d5ac50620e6915abac414251bd971b4529f"},
- {file = "numpy-1.26.4-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:62b8e4b1e28009ef2846b4c7852046736bab361f7aeadeb6a5b89ebec3c7055a"},
- {file = "numpy-1.26.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a4abb4f9001ad2858e7ac189089c42178fcce737e4169dc61321660f1a96c7d2"},
- {file = "numpy-1.26.4-cp310-cp310-win32.whl", hash = "sha256:bfe25acf8b437eb2a8b2d49d443800a5f18508cd811fea3181723922a8a82b07"},
- {file = "numpy-1.26.4-cp310-cp310-win_amd64.whl", hash = "sha256:b97fe8060236edf3662adfc2c633f56a08ae30560c56310562cb4f95500022d5"},
- {file = "numpy-1.26.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:4c66707fabe114439db9068ee468c26bbdf909cac0fb58686a42a24de1760c71"},
- {file = "numpy-1.26.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:edd8b5fe47dab091176d21bb6de568acdd906d1887a4584a15a9a96a1dca06ef"},
- {file = "numpy-1.26.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7ab55401287bfec946ced39700c053796e7cc0e3acbef09993a9ad2adba6ca6e"},
- {file = "numpy-1.26.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:666dbfb6ec68962c033a450943ded891bed2d54e6755e35e5835d63f4f6931d5"},
- {file = "numpy-1.26.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:96ff0b2ad353d8f990b63294c8986f1ec3cb19d749234014f4e7eb0112ceba5a"},
- {file = "numpy-1.26.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:60dedbb91afcbfdc9bc0b1f3f402804070deed7392c23eb7a7f07fa857868e8a"},
- {file = "numpy-1.26.4-cp311-cp311-win32.whl", hash = "sha256:1af303d6b2210eb850fcf03064d364652b7120803a0b872f5211f5234b399f20"},
- {file = "numpy-1.26.4-cp311-cp311-win_amd64.whl", hash = "sha256:cd25bcecc4974d09257ffcd1f098ee778f7834c3ad767fe5db785be9a4aa9cb2"},
- {file = "numpy-1.26.4-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:b3ce300f3644fb06443ee2222c2201dd3a89ea6040541412b8fa189341847218"},
- {file = "numpy-1.26.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:03a8c78d01d9781b28a6989f6fa1bb2c4f2d51201cf99d3dd875df6fbd96b23b"},
- {file = "numpy-1.26.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9fad7dcb1aac3c7f0584a5a8133e3a43eeb2fe127f47e3632d43d677c66c102b"},
- {file = "numpy-1.26.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:675d61ffbfa78604709862923189bad94014bef562cc35cf61d3a07bba02a7ed"},
- {file = "numpy-1.26.4-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:ab47dbe5cc8210f55aa58e4805fe224dac469cde56b9f731a4c098b91917159a"},
- {file = "numpy-1.26.4-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:1dda2e7b4ec9dd512f84935c5f126c8bd8b9f2fc001e9f54af255e8c5f16b0e0"},
- {file = "numpy-1.26.4-cp312-cp312-win32.whl", hash = "sha256:50193e430acfc1346175fcbdaa28ffec49947a06918b7b92130744e81e640110"},
- {file = "numpy-1.26.4-cp312-cp312-win_amd64.whl", hash = "sha256:08beddf13648eb95f8d867350f6a018a4be2e5ad54c8d8caed89ebca558b2818"},
- {file = "numpy-1.26.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:7349ab0fa0c429c82442a27a9673fc802ffdb7c7775fad780226cb234965e53c"},
- {file = "numpy-1.26.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:52b8b60467cd7dd1e9ed082188b4e6bb35aa5cdd01777621a1658910745b90be"},
- {file = "numpy-1.26.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d5241e0a80d808d70546c697135da2c613f30e28251ff8307eb72ba696945764"},
- {file = "numpy-1.26.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f870204a840a60da0b12273ef34f7051e98c3b5961b61b0c2c1be6dfd64fbcd3"},
- {file = "numpy-1.26.4-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:679b0076f67ecc0138fd2ede3a8fd196dddc2ad3254069bcb9faf9a79b1cebcd"},
- {file = "numpy-1.26.4-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:47711010ad8555514b434df65f7d7b076bb8261df1ca9bb78f53d3b2db02e95c"},
- {file = "numpy-1.26.4-cp39-cp39-win32.whl", hash = "sha256:a354325ee03388678242a4d7ebcd08b5c727033fcff3b2f536aea978e15ee9e6"},
- {file = "numpy-1.26.4-cp39-cp39-win_amd64.whl", hash = "sha256:3373d5d70a5fe74a2c1bb6d2cfd9609ecf686d47a2d7b1d37a8f3b6bf6003aea"},
- {file = "numpy-1.26.4-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:afedb719a9dcfc7eaf2287b839d8198e06dcd4cb5d276a3df279231138e83d30"},
- {file = "numpy-1.26.4-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95a7476c59002f2f6c590b9b7b998306fba6a5aa646b1e22ddfeaf8f78c3a29c"},
- {file = "numpy-1.26.4-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:7e50d0a0cc3189f9cb0aeb3a6a6af18c16f59f004b866cd2be1c14b36134a4a0"},
- {file = "numpy-1.26.4.tar.gz", hash = "sha256:2a02aba9ed12e4ac4eb3ea9421c420301a0c6460d9830d74a9df87efa4912010"},
-]
-
-[[package]]
-name = "oauthlib"
-version = "3.2.2"
-description = "A generic, spec-compliant, thorough implementation of the OAuth request-signing logic"
-optional = false
-python-versions = ">=3.6"
-files = [
- {file = "oauthlib-3.2.2-py3-none-any.whl", hash = "sha256:8139f29aac13e25d502680e9e19963e83f16838d48a0d71c287fe40e7067fbca"},
- {file = "oauthlib-3.2.2.tar.gz", hash = "sha256:9859c40929662bec5d64f34d01c99e093149682a3f38915dc0655d5a633dd918"},
-]
-
-[package.extras]
-rsa = ["cryptography (>=3.0.0)"]
-signals = ["blinker (>=1.4.0)"]
-signedtoken = ["cryptography (>=3.0.0)", "pyjwt (>=2.0.0,<3)"]
-
-[[package]]
-name = "packaging"
-version = "23.2"
-description = "Core utilities for Python packages"
-optional = false
-python-versions = ">=3.7"
-files = [
- {file = "packaging-23.2-py3-none-any.whl", hash = "sha256:8c491190033a9af7e1d931d0b5dacc2ef47509b34dd0de67ed209b5203fc88c7"},
- {file = "packaging-23.2.tar.gz", hash = "sha256:048fb0e9405036518eaaf48a55953c750c11e1a1b68e0dd1a9d62ed0c092cfc5"},
-]
-
-[[package]]
-name = "pandas"
-version = "1.5.3"
-description = "Powerful data structures for data analysis, time series, and statistics"
-optional = false
-python-versions = ">=3.8"
-files = [
- {file = "pandas-1.5.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:3749077d86e3a2f0ed51367f30bf5b82e131cc0f14260c4d3e499186fccc4406"},
- {file = "pandas-1.5.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:972d8a45395f2a2d26733eb8d0f629b2f90bebe8e8eddbb8829b180c09639572"},
- {file = "pandas-1.5.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:50869a35cbb0f2e0cd5ec04b191e7b12ed688874bd05dd777c19b28cbea90996"},
- {file = "pandas-1.5.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c3ac844a0fe00bfaeb2c9b51ab1424e5c8744f89860b138434a363b1f620f354"},
- {file = "pandas-1.5.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7a0a56cef15fd1586726dace5616db75ebcfec9179a3a55e78f72c5639fa2a23"},
- {file = "pandas-1.5.3-cp310-cp310-win_amd64.whl", hash = "sha256:478ff646ca42b20376e4ed3fa2e8d7341e8a63105586efe54fa2508ee087f328"},
- {file = "pandas-1.5.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:6973549c01ca91ec96199e940495219c887ea815b2083722821f1d7abfa2b4dc"},
- {file = "pandas-1.5.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c39a8da13cede5adcd3be1182883aea1c925476f4e84b2807a46e2775306305d"},
- {file = "pandas-1.5.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f76d097d12c82a535fda9dfe5e8dd4127952b45fea9b0276cb30cca5ea313fbc"},
- {file = "pandas-1.5.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e474390e60ed609cec869b0da796ad94f420bb057d86784191eefc62b65819ae"},
- {file = "pandas-1.5.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5f2b952406a1588ad4cad5b3f55f520e82e902388a6d5a4a91baa8d38d23c7f6"},
- {file = "pandas-1.5.3-cp311-cp311-win_amd64.whl", hash = "sha256:bc4c368f42b551bf72fac35c5128963a171b40dce866fb066540eeaf46faa003"},
- {file = "pandas-1.5.3-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:14e45300521902689a81f3f41386dc86f19b8ba8dd5ac5a3c7010ef8d2932813"},
- {file = "pandas-1.5.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:9842b6f4b8479e41968eced654487258ed81df7d1c9b7b870ceea24ed9459b31"},
- {file = "pandas-1.5.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:26d9c71772c7afb9d5046e6e9cf42d83dd147b5cf5bcb9d97252077118543792"},
- {file = "pandas-1.5.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5fbcb19d6fceb9e946b3e23258757c7b225ba450990d9ed63ccceeb8cae609f7"},
- {file = "pandas-1.5.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:565fa34a5434d38e9d250af3c12ff931abaf88050551d9fbcdfafca50d62babf"},
- {file = "pandas-1.5.3-cp38-cp38-win32.whl", hash = "sha256:87bd9c03da1ac870a6d2c8902a0e1fd4267ca00f13bc494c9e5a9020920e1d51"},
- {file = "pandas-1.5.3-cp38-cp38-win_amd64.whl", hash = "sha256:41179ce559943d83a9b4bbacb736b04c928b095b5f25dd2b7389eda08f46f373"},
- {file = "pandas-1.5.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:c74a62747864ed568f5a82a49a23a8d7fe171d0c69038b38cedf0976831296fa"},
- {file = "pandas-1.5.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:c4c00e0b0597c8e4f59e8d461f797e5d70b4d025880516a8261b2817c47759ee"},
- {file = "pandas-1.5.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a50d9a4336a9621cab7b8eb3fb11adb82de58f9b91d84c2cd526576b881a0c5a"},
- {file = "pandas-1.5.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dd05f7783b3274aa206a1af06f0ceed3f9b412cf665b7247eacd83be41cf7bf0"},
- {file = "pandas-1.5.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9f69c4029613de47816b1bb30ff5ac778686688751a5e9c99ad8c7031f6508e5"},
- {file = "pandas-1.5.3-cp39-cp39-win32.whl", hash = "sha256:7cec0bee9f294e5de5bbfc14d0573f65526071029d036b753ee6507d2a21480a"},
- {file = "pandas-1.5.3-cp39-cp39-win_amd64.whl", hash = "sha256:dfd681c5dc216037e0b0a2c821f5ed99ba9f03ebcf119c7dac0e9a7b960b9ec9"},
- {file = "pandas-1.5.3.tar.gz", hash = "sha256:74a3fd7e5a7ec052f183273dc7b0acd3a863edf7520f5d3a1765c04ffdb3b0b1"},
-]
-
-[package.dependencies]
-numpy = [
- {version = ">=1.20.3", markers = "python_version < \"3.10\""},
- {version = ">=1.23.2", markers = "python_version >= \"3.11\""},
- {version = ">=1.21.0", markers = "python_version >= \"3.10\" and python_version < \"3.11\""},
-]
-python-dateutil = ">=2.8.1"
-pytz = ">=2020.1"
-
-[package.extras]
-test = ["hypothesis (>=5.5.3)", "pytest (>=6.0)", "pytest-xdist (>=1.31)"]
-
-[[package]]
-name = "pillow"
-version = "9.5.0"
-description = "Python Imaging Library (Fork)"
-optional = false
-python-versions = ">=3.7"
-files = [
- {file = "Pillow-9.5.0-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:ace6ca218308447b9077c14ea4ef381ba0b67ee78d64046b3f19cf4e1139ad16"},
- {file = "Pillow-9.5.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d3d403753c9d5adc04d4694d35cf0391f0f3d57c8e0030aac09d7678fa8030aa"},
- {file = "Pillow-9.5.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5ba1b81ee69573fe7124881762bb4cd2e4b6ed9dd28c9c60a632902fe8db8b38"},
- {file = "Pillow-9.5.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fe7e1c262d3392afcf5071df9afa574544f28eac825284596ac6db56e6d11062"},
- {file = "Pillow-9.5.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f36397bf3f7d7c6a3abdea815ecf6fd14e7fcd4418ab24bae01008d8d8ca15e"},
- {file = "Pillow-9.5.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:252a03f1bdddce077eff2354c3861bf437c892fb1832f75ce813ee94347aa9b5"},
- {file = "Pillow-9.5.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:85ec677246533e27770b0de5cf0f9d6e4ec0c212a1f89dfc941b64b21226009d"},
- {file = "Pillow-9.5.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:b416f03d37d27290cb93597335a2f85ed446731200705b22bb927405320de903"},
- {file = "Pillow-9.5.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:1781a624c229cb35a2ac31cc4a77e28cafc8900733a864870c49bfeedacd106a"},
- {file = "Pillow-9.5.0-cp310-cp310-win32.whl", hash = "sha256:8507eda3cd0608a1f94f58c64817e83ec12fa93a9436938b191b80d9e4c0fc44"},
- {file = "Pillow-9.5.0-cp310-cp310-win_amd64.whl", hash = "sha256:d3c6b54e304c60c4181da1c9dadf83e4a54fd266a99c70ba646a9baa626819eb"},
- {file = "Pillow-9.5.0-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:7ec6f6ce99dab90b52da21cf0dc519e21095e332ff3b399a357c187b1a5eee32"},
- {file = "Pillow-9.5.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:560737e70cb9c6255d6dcba3de6578a9e2ec4b573659943a5e7e4af13f298f5c"},
- {file = "Pillow-9.5.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:96e88745a55b88a7c64fa49bceff363a1a27d9a64e04019c2281049444a571e3"},
- {file = "Pillow-9.5.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d9c206c29b46cfd343ea7cdfe1232443072bbb270d6a46f59c259460db76779a"},
- {file = "Pillow-9.5.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cfcc2c53c06f2ccb8976fb5c71d448bdd0a07d26d8e07e321c103416444c7ad1"},
- {file = "Pillow-9.5.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:a0f9bb6c80e6efcde93ffc51256d5cfb2155ff8f78292f074f60f9e70b942d99"},
- {file = "Pillow-9.5.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:8d935f924bbab8f0a9a28404422da8af4904e36d5c33fc6f677e4c4485515625"},
- {file = "Pillow-9.5.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:fed1e1cf6a42577953abbe8e6cf2fe2f566daebde7c34724ec8803c4c0cda579"},
- {file = "Pillow-9.5.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:c1170d6b195555644f0616fd6ed929dfcf6333b8675fcca044ae5ab110ded296"},
- {file = "Pillow-9.5.0-cp311-cp311-win32.whl", hash = "sha256:54f7102ad31a3de5666827526e248c3530b3a33539dbda27c6843d19d72644ec"},
- {file = "Pillow-9.5.0-cp311-cp311-win_amd64.whl", hash = "sha256:cfa4561277f677ecf651e2b22dc43e8f5368b74a25a8f7d1d4a3a243e573f2d4"},
- {file = "Pillow-9.5.0-cp311-cp311-win_arm64.whl", hash = "sha256:965e4a05ef364e7b973dd17fc765f42233415974d773e82144c9bbaaaea5d089"},
- {file = "Pillow-9.5.0-cp312-cp312-win32.whl", hash = "sha256:22baf0c3cf0c7f26e82d6e1adf118027afb325e703922c8dfc1d5d0156bb2eeb"},
- {file = "Pillow-9.5.0-cp312-cp312-win_amd64.whl", hash = "sha256:432b975c009cf649420615388561c0ce7cc31ce9b2e374db659ee4f7d57a1f8b"},
- {file = "Pillow-9.5.0-cp37-cp37m-macosx_10_10_x86_64.whl", hash = "sha256:5d4ebf8e1db4441a55c509c4baa7a0587a0210f7cd25fcfe74dbbce7a4bd1906"},
- {file = "Pillow-9.5.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:375f6e5ee9620a271acb6820b3d1e94ffa8e741c0601db4c0c4d3cb0a9c224bf"},
- {file = "Pillow-9.5.0-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:99eb6cafb6ba90e436684e08dad8be1637efb71c4f2180ee6b8f940739406e78"},
- {file = "Pillow-9.5.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2dfaaf10b6172697b9bceb9a3bd7b951819d1ca339a5ef294d1f1ac6d7f63270"},
- {file = "Pillow-9.5.0-cp37-cp37m-manylinux_2_28_aarch64.whl", hash = "sha256:763782b2e03e45e2c77d7779875f4432e25121ef002a41829d8868700d119392"},
- {file = "Pillow-9.5.0-cp37-cp37m-manylinux_2_28_x86_64.whl", hash = "sha256:35f6e77122a0c0762268216315bf239cf52b88865bba522999dc38f1c52b9b47"},
- {file = "Pillow-9.5.0-cp37-cp37m-win32.whl", hash = "sha256:aca1c196f407ec7cf04dcbb15d19a43c507a81f7ffc45b690899d6a76ac9fda7"},
- {file = "Pillow-9.5.0-cp37-cp37m-win_amd64.whl", hash = "sha256:322724c0032af6692456cd6ed554bb85f8149214d97398bb80613b04e33769f6"},
- {file = "Pillow-9.5.0-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:a0aa9417994d91301056f3d0038af1199eb7adc86e646a36b9e050b06f526597"},
- {file = "Pillow-9.5.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:f8286396b351785801a976b1e85ea88e937712ee2c3ac653710a4a57a8da5d9c"},
- {file = "Pillow-9.5.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c830a02caeb789633863b466b9de10c015bded434deb3ec87c768e53752ad22a"},
- {file = "Pillow-9.5.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fbd359831c1657d69bb81f0db962905ee05e5e9451913b18b831febfe0519082"},
- {file = "Pillow-9.5.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f8fc330c3370a81bbf3f88557097d1ea26cd8b019d6433aa59f71195f5ddebbf"},
- {file = "Pillow-9.5.0-cp38-cp38-manylinux_2_28_aarch64.whl", hash = "sha256:7002d0797a3e4193c7cdee3198d7c14f92c0836d6b4a3f3046a64bd1ce8df2bf"},
- {file = "Pillow-9.5.0-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:229e2c79c00e85989a34b5981a2b67aa079fd08c903f0aaead522a1d68d79e51"},
- {file = "Pillow-9.5.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:9adf58f5d64e474bed00d69bcd86ec4bcaa4123bfa70a65ce72e424bfb88ed96"},
- {file = "Pillow-9.5.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:662da1f3f89a302cc22faa9f14a262c2e3951f9dbc9617609a47521c69dd9f8f"},
- {file = "Pillow-9.5.0-cp38-cp38-win32.whl", hash = "sha256:6608ff3bf781eee0cd14d0901a2b9cc3d3834516532e3bd673a0a204dc8615fc"},
- {file = "Pillow-9.5.0-cp38-cp38-win_amd64.whl", hash = "sha256:e49eb4e95ff6fd7c0c402508894b1ef0e01b99a44320ba7d8ecbabefddcc5569"},
- {file = "Pillow-9.5.0-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:482877592e927fd263028c105b36272398e3e1be3269efda09f6ba21fd83ec66"},
- {file = "Pillow-9.5.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:3ded42b9ad70e5f1754fb7c2e2d6465a9c842e41d178f262e08b8c85ed8a1d8e"},
- {file = "Pillow-9.5.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c446d2245ba29820d405315083d55299a796695d747efceb5717a8b450324115"},
- {file = "Pillow-9.5.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8aca1152d93dcc27dc55395604dcfc55bed5f25ef4c98716a928bacba90d33a3"},
- {file = "Pillow-9.5.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:608488bdcbdb4ba7837461442b90ea6f3079397ddc968c31265c1e056964f1ef"},
- {file = "Pillow-9.5.0-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:60037a8db8750e474af7ffc9faa9b5859e6c6d0a50e55c45576bf28be7419705"},
- {file = "Pillow-9.5.0-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:07999f5834bdc404c442146942a2ecadd1cb6292f5229f4ed3b31e0a108746b1"},
- {file = "Pillow-9.5.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:a127ae76092974abfbfa38ca2d12cbeddcdeac0fb71f9627cc1135bedaf9d51a"},
- {file = "Pillow-9.5.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:489f8389261e5ed43ac8ff7b453162af39c3e8abd730af8363587ba64bb2e865"},
- {file = "Pillow-9.5.0-cp39-cp39-win32.whl", hash = "sha256:9b1af95c3a967bf1da94f253e56b6286b50af23392a886720f563c547e48e964"},
- {file = "Pillow-9.5.0-cp39-cp39-win_amd64.whl", hash = "sha256:77165c4a5e7d5a284f10a6efaa39a0ae8ba839da344f20b111d62cc932fa4e5d"},
- {file = "Pillow-9.5.0-pp38-pypy38_pp73-macosx_10_10_x86_64.whl", hash = "sha256:833b86a98e0ede388fa29363159c9b1a294b0905b5128baf01db683672f230f5"},
- {file = "Pillow-9.5.0-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:aaf305d6d40bd9632198c766fb64f0c1a83ca5b667f16c1e79e1661ab5060140"},
- {file = "Pillow-9.5.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0852ddb76d85f127c135b6dd1f0bb88dbb9ee990d2cd9aa9e28526c93e794fba"},
- {file = "Pillow-9.5.0-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:91ec6fe47b5eb5a9968c79ad9ed78c342b1f97a091677ba0e012701add857829"},
- {file = "Pillow-9.5.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:cb841572862f629b99725ebaec3287fc6d275be9b14443ea746c1dd325053cbd"},
- {file = "Pillow-9.5.0-pp39-pypy39_pp73-macosx_10_10_x86_64.whl", hash = "sha256:c380b27d041209b849ed246b111b7c166ba36d7933ec6e41175fd15ab9eb1572"},
- {file = "Pillow-9.5.0-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7c9af5a3b406a50e313467e3565fc99929717f780164fe6fbb7704edba0cebbe"},
- {file = "Pillow-9.5.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5671583eab84af046a397d6d0ba25343c00cd50bce03787948e0fff01d4fd9b1"},
- {file = "Pillow-9.5.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:84a6f19ce086c1bf894644b43cd129702f781ba5751ca8572f08aa40ef0ab7b7"},
- {file = "Pillow-9.5.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:1e7723bd90ef94eda669a3c2c19d549874dd5badaeefabefd26053304abe5799"},
- {file = "Pillow-9.5.0.tar.gz", hash = "sha256:bf548479d336726d7a0eceb6e767e179fbde37833ae42794602631a070d630f1"},
-]
-
-[package.extras]
-docs = ["furo", "olefile", "sphinx (>=2.4)", "sphinx-copybutton", "sphinx-inline-tabs", "sphinx-removed-in", "sphinxext-opengraph"]
-tests = ["check-manifest", "coverage", "defusedxml", "markdown2", "olefile", "packaging", "pyroma", "pytest", "pytest-cov", "pytest-timeout"]
-
-[[package]]
-name = "pluggy"
-version = "1.4.0"
-description = "plugin and hook calling mechanisms for python"
-optional = false
-python-versions = ">=3.8"
-files = [
- {file = "pluggy-1.4.0-py3-none-any.whl", hash = "sha256:7db9f7b503d67d1c5b95f59773ebb58a8c1c288129a88665838012cfb07b8981"},
- {file = "pluggy-1.4.0.tar.gz", hash = "sha256:8c85c2876142a764e5b7548e7d9a0e0ddb46f5185161049a79b7e974454223be"},
-]
-
-[package.extras]
-dev = ["pre-commit", "tox"]
-testing = ["pytest", "pytest-benchmark"]
-
-[[package]]
-name = "protobuf"
-version = "4.23.4"
-description = ""
-optional = false
-python-versions = ">=3.7"
-files = [
- {file = "protobuf-4.23.4-cp310-abi3-win32.whl", hash = "sha256:5fea3c64d41ea5ecf5697b83e41d09b9589e6f20b677ab3c48e5f242d9b7897b"},
- {file = "protobuf-4.23.4-cp310-abi3-win_amd64.whl", hash = "sha256:7b19b6266d92ca6a2a87effa88ecc4af73ebc5cfde194dc737cf8ef23a9a3b12"},
- {file = "protobuf-4.23.4-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:8547bf44fe8cec3c69e3042f5c4fb3e36eb2a7a013bb0a44c018fc1e427aafbd"},
- {file = "protobuf-4.23.4-cp37-abi3-manylinux2014_aarch64.whl", hash = "sha256:fee88269a090ada09ca63551bf2f573eb2424035bcf2cb1b121895b01a46594a"},
- {file = "protobuf-4.23.4-cp37-abi3-manylinux2014_x86_64.whl", hash = "sha256:effeac51ab79332d44fba74660d40ae79985901ac21bca408f8dc335a81aa597"},
- {file = "protobuf-4.23.4-cp37-cp37m-win32.whl", hash = "sha256:c3e0939433c40796ca4cfc0fac08af50b00eb66a40bbbc5dee711998fb0bbc1e"},
- {file = "protobuf-4.23.4-cp37-cp37m-win_amd64.whl", hash = "sha256:9053df6df8e5a76c84339ee4a9f5a2661ceee4a0dab019e8663c50ba324208b0"},
- {file = "protobuf-4.23.4-cp38-cp38-win32.whl", hash = "sha256:e1c915778d8ced71e26fcf43c0866d7499891bca14c4368448a82edc61fdbc70"},
- {file = "protobuf-4.23.4-cp38-cp38-win_amd64.whl", hash = "sha256:351cc90f7d10839c480aeb9b870a211e322bf05f6ab3f55fcb2f51331f80a7d2"},
- {file = "protobuf-4.23.4-cp39-cp39-win32.whl", hash = "sha256:6dd9b9940e3f17077e820b75851126615ee38643c2c5332aa7a359988820c720"},
- {file = "protobuf-4.23.4-cp39-cp39-win_amd64.whl", hash = "sha256:0a5759f5696895de8cc913f084e27fd4125e8fb0914bb729a17816a33819f474"},
- {file = "protobuf-4.23.4-py3-none-any.whl", hash = "sha256:e9d0be5bf34b275b9f87ba7407796556abeeba635455d036c7351f7c183ef8ff"},
- {file = "protobuf-4.23.4.tar.gz", hash = "sha256:ccd9430c0719dce806b93f89c91de7977304729e55377f872a92465d548329a9"},
-]
-
-[[package]]
-name = "py"
-version = "1.11.0"
-description = "library with cross-python path, ini-parsing, io, code, log facilities"
-optional = false
-python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
-files = [
- {file = "py-1.11.0-py2.py3-none-any.whl", hash = "sha256:607c53218732647dff4acdfcd50cb62615cedf612e72d1724fb1a0cc6405b378"},
- {file = "py-1.11.0.tar.gz", hash = "sha256:51c75c4126074b472f746a24399ad32f6053d1b34b68d2fa41e558e6f4a98719"},
-]
-
-[[package]]
-name = "pyasn1"
-version = "0.5.1"
-description = "Pure-Python implementation of ASN.1 types and DER/BER/CER codecs (X.208)"
-optional = false
-python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7"
-files = [
- {file = "pyasn1-0.5.1-py2.py3-none-any.whl", hash = "sha256:4439847c58d40b1d0a573d07e3856e95333f1976294494c325775aeca506eb58"},
- {file = "pyasn1-0.5.1.tar.gz", hash = "sha256:6d391a96e59b23130a5cfa74d6fd7f388dbbe26cc8f1edf39fdddf08d9d6676c"},
-]
-
-[[package]]
-name = "pyasn1-modules"
-version = "0.3.0"
-description = "A collection of ASN.1-based protocols modules"
-optional = false
-python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7"
-files = [
- {file = "pyasn1_modules-0.3.0-py2.py3-none-any.whl", hash = "sha256:d3ccd6ed470d9ffbc716be08bd90efbd44d0734bc9303818f7336070984a162d"},
- {file = "pyasn1_modules-0.3.0.tar.gz", hash = "sha256:5bd01446b736eb9d31512a30d46c1ac3395d676c6f3cafa4c03eb54b9925631c"},
-]
-
-[package.dependencies]
-pyasn1 = ">=0.4.6,<0.6.0"
-
-[[package]]
-name = "pygments"
-version = "2.17.2"
-description = "Pygments is a syntax highlighting package written in Python."
-optional = false
-python-versions = ">=3.7"
-files = [
- {file = "pygments-2.17.2-py3-none-any.whl", hash = "sha256:b27c2826c47d0f3219f29554824c30c5e8945175d888647acd804ddd04af846c"},
- {file = "pygments-2.17.2.tar.gz", hash = "sha256:da46cec9fd2de5be3a8a784f434e4c4ab670b4ff54d605c4c2717e9d49c4c367"},
-]
-
-[package.extras]
-plugins = ["importlib-metadata"]
-windows-terminal = ["colorama (>=0.4.6)"]
-
-[[package]]
-name = "pyparsing"
-version = "3.1.1"
-description = "pyparsing module - Classes and methods to define and execute parsing grammars"
-optional = false
-python-versions = ">=3.6.8"
-files = [
- {file = "pyparsing-3.1.1-py3-none-any.whl", hash = "sha256:32c7c0b711493c72ff18a981d24f28aaf9c1fb7ed5e9667c9e84e3db623bdbfb"},
- {file = "pyparsing-3.1.1.tar.gz", hash = "sha256:ede28a1a32462f5a9705e07aea48001a08f7cf81a021585011deba701581a0db"},
-]
-
-[package.extras]
-diagrams = ["jinja2", "railroad-diagrams"]
-
-[[package]]
-name = "pysocks"
-version = "1.7.1"
-description = "A Python SOCKS client module. See https://github.com/Anorov/PySocks for more information."
-optional = false
-python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
-files = [
- {file = "PySocks-1.7.1-py27-none-any.whl", hash = "sha256:08e69f092cc6dbe92a0fdd16eeb9b9ffbc13cadfe5ca4c7bd92ffb078b293299"},
- {file = "PySocks-1.7.1-py3-none-any.whl", hash = "sha256:2725bd0a9925919b9b51739eea5f9e2bae91e83288108a9ad338b2e3a4435ee5"},
- {file = "PySocks-1.7.1.tar.gz", hash = "sha256:3f8804571ebe159c380ac6de37643bb4685970655d3bba243530d6558b799aa0"},
-]
-
-[[package]]
-name = "pytest"
-version = "6.2.5"
-description = "pytest: simple powerful testing with Python"
-optional = false
-python-versions = ">=3.6"
-files = [
- {file = "pytest-6.2.5-py3-none-any.whl", hash = "sha256:7310f8d27bc79ced999e760ca304d69f6ba6c6649c0b60fb0e04a4a77cacc134"},
- {file = "pytest-6.2.5.tar.gz", hash = "sha256:131b36680866a76e6781d13f101efb86cf674ebb9762eb70d3082b6f29889e89"},
-]
-
-[package.dependencies]
-atomicwrites = {version = ">=1.0", markers = "sys_platform == \"win32\""}
-attrs = ">=19.2.0"
-colorama = {version = "*", markers = "sys_platform == \"win32\""}
-iniconfig = "*"
-packaging = "*"
-pluggy = ">=0.12,<2.0"
-py = ">=1.8.2"
-toml = "*"
-
-[package.extras]
-testing = ["argcomplete", "hypothesis (>=3.56)", "mock", "nose", "requests", "xmlschema"]
-
-[[package]]
-name = "pytest-cov"
-version = "4.1.0"
-description = "Pytest plugin for measuring coverage."
-optional = false
-python-versions = ">=3.7"
-files = [
- {file = "pytest-cov-4.1.0.tar.gz", hash = "sha256:3904b13dfbfec47f003b8e77fd5b589cd11904a21ddf1ab38a64f204d6a10ef6"},
- {file = "pytest_cov-4.1.0-py3-none-any.whl", hash = "sha256:6ba70b9e97e69fcc3fb45bfeab2d0a138fb65c4d0d6a41ef33983ad114be8c3a"},
-]
-
-[package.dependencies]
-coverage = {version = ">=5.2.1", extras = ["toml"]}
-pytest = ">=4.6"
-
-[package.extras]
-testing = ["fields", "hunter", "process-tests", "pytest-xdist", "six", "virtualenv"]
-
-[[package]]
-name = "pytest-shell"
-version = "0.3.2"
-description = "A pytest plugin to help with testing shell scripts / black box commands"
-optional = false
-python-versions = ">=3.7,<4.0"
-files = [
- {file = "pytest-shell-0.3.2.tar.gz", hash = "sha256:7e30cf518a5271328f25eaa9013e1639607f169d7396a4b85204a8b34dacbab1"},
- {file = "pytest_shell-0.3.2-py3-none-any.whl", hash = "sha256:f60716134fc30e2c1fe9facb9fe60121d18b4d7b95e692b2c6f29271350aa12b"},
-]
-
-[package.dependencies]
-where = ">=1.0.2,<2.0.0"
-
-[[package]]
-name = "python-dateutil"
-version = "2.8.2"
-description = "Extensions to the standard Python datetime module"
-optional = false
-python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7"
-files = [
- {file = "python-dateutil-2.8.2.tar.gz", hash = "sha256:0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86"},
- {file = "python_dateutil-2.8.2-py2.py3-none-any.whl", hash = "sha256:961d03dc3453ebbc59dbdea9e4e11c5651520a876d0f4db161e8674aae935da9"},
-]
-
-[package.dependencies]
-six = ">=1.5"
-
-[[package]]
-name = "pytz"
-version = "2024.1"
-description = "World timezone definitions, modern and historical"
-optional = false
-python-versions = "*"
-files = [
- {file = "pytz-2024.1-py2.py3-none-any.whl", hash = "sha256:328171f4e3623139da4983451950b28e95ac706e13f3f2630a879749e7a8b319"},
- {file = "pytz-2024.1.tar.gz", hash = "sha256:2a29735ea9c18baf14b448846bde5a48030ed267578472d8955cd0e7443a9812"},
-]
-
-[[package]]
-name = "pyyaml"
-version = "6.0.1"
-description = "YAML parser and emitter for Python"
-optional = false
-python-versions = ">=3.6"
-files = [
- {file = "PyYAML-6.0.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d858aa552c999bc8a8d57426ed01e40bef403cd8ccdd0fc5f6f04a00414cac2a"},
- {file = "PyYAML-6.0.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:fd66fc5d0da6d9815ba2cebeb4205f95818ff4b79c3ebe268e75d961704af52f"},
- {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:69b023b2b4daa7548bcfbd4aa3da05b3a74b772db9e23b982788168117739938"},
- {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:81e0b275a9ecc9c0c0c07b4b90ba548307583c125f54d5b6946cfee6360c733d"},
- {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba336e390cd8e4d1739f42dfe9bb83a3cc2e80f567d8805e11b46f4a943f5515"},
- {file = "PyYAML-6.0.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:326c013efe8048858a6d312ddd31d56e468118ad4cdeda36c719bf5bb6192290"},
- {file = "PyYAML-6.0.1-cp310-cp310-win32.whl", hash = "sha256:bd4af7373a854424dabd882decdc5579653d7868b8fb26dc7d0e99f823aa5924"},
- {file = "PyYAML-6.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:fd1592b3fdf65fff2ad0004b5e363300ef59ced41c2e6b3a99d4089fa8c5435d"},
- {file = "PyYAML-6.0.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6965a7bc3cf88e5a1c3bd2e0b5c22f8d677dc88a455344035f03399034eb3007"},
- {file = "PyYAML-6.0.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f003ed9ad21d6a4713f0a9b5a7a0a79e08dd0f221aff4525a2be4c346ee60aab"},
- {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:42f8152b8dbc4fe7d96729ec2b99c7097d656dc1213a3229ca5383f973a5ed6d"},
- {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:062582fca9fabdd2c8b54a3ef1c978d786e0f6b3a1510e0ac93ef59e0ddae2bc"},
- {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d2b04aac4d386b172d5b9692e2d2da8de7bfb6c387fa4f801fbf6fb2e6ba4673"},
- {file = "PyYAML-6.0.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e7d73685e87afe9f3b36c799222440d6cf362062f78be1013661b00c5c6f678b"},
- {file = "PyYAML-6.0.1-cp311-cp311-win32.whl", hash = "sha256:1635fd110e8d85d55237ab316b5b011de701ea0f29d07611174a1b42f1444741"},
- {file = "PyYAML-6.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:bf07ee2fef7014951eeb99f56f39c9bb4af143d8aa3c21b1677805985307da34"},
- {file = "PyYAML-6.0.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:855fb52b0dc35af121542a76b9a84f8d1cd886ea97c84703eaa6d88e37a2ad28"},
- {file = "PyYAML-6.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:40df9b996c2b73138957fe23a16a4f0ba614f4c0efce1e9406a184b6d07fa3a9"},
- {file = "PyYAML-6.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a08c6f0fe150303c1c6b71ebcd7213c2858041a7e01975da3a99aed1e7a378ef"},
- {file = "PyYAML-6.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c22bec3fbe2524cde73d7ada88f6566758a8f7227bfbf93a408a9d86bcc12a0"},
- {file = "PyYAML-6.0.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8d4e9c88387b0f5c7d5f281e55304de64cf7f9c0021a3525bd3b1c542da3b0e4"},
- {file = "PyYAML-6.0.1-cp312-cp312-win32.whl", hash = "sha256:d483d2cdf104e7c9fa60c544d92981f12ad66a457afae824d146093b8c294c54"},
- {file = "PyYAML-6.0.1-cp312-cp312-win_amd64.whl", hash = "sha256:0d3304d8c0adc42be59c5f8a4d9e3d7379e6955ad754aa9d6ab7a398b59dd1df"},
- {file = "PyYAML-6.0.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:50550eb667afee136e9a77d6dc71ae76a44df8b3e51e41b77f6de2932bfe0f47"},
- {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1fe35611261b29bd1de0070f0b2f47cb6ff71fa6595c077e42bd0c419fa27b98"},
- {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:704219a11b772aea0d8ecd7058d0082713c3562b4e271b849ad7dc4a5c90c13c"},
- {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:afd7e57eddb1a54f0f1a974bc4391af8bcce0b444685d936840f125cf046d5bd"},
- {file = "PyYAML-6.0.1-cp36-cp36m-win32.whl", hash = "sha256:fca0e3a251908a499833aa292323f32437106001d436eca0e6e7833256674585"},
- {file = "PyYAML-6.0.1-cp36-cp36m-win_amd64.whl", hash = "sha256:f22ac1c3cac4dbc50079e965eba2c1058622631e526bd9afd45fedd49ba781fa"},
- {file = "PyYAML-6.0.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:b1275ad35a5d18c62a7220633c913e1b42d44b46ee12554e5fd39c70a243d6a3"},
- {file = "PyYAML-6.0.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:18aeb1bf9a78867dc38b259769503436b7c72f7a1f1f4c93ff9a17de54319b27"},
- {file = "PyYAML-6.0.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:596106435fa6ad000c2991a98fa58eeb8656ef2325d7e158344fb33864ed87e3"},
- {file = "PyYAML-6.0.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:baa90d3f661d43131ca170712d903e6295d1f7a0f595074f151c0aed377c9b9c"},
- {file = "PyYAML-6.0.1-cp37-cp37m-win32.whl", hash = "sha256:9046c58c4395dff28dd494285c82ba00b546adfc7ef001486fbf0324bc174fba"},
- {file = "PyYAML-6.0.1-cp37-cp37m-win_amd64.whl", hash = "sha256:4fb147e7a67ef577a588a0e2c17b6db51dda102c71de36f8549b6816a96e1867"},
- {file = "PyYAML-6.0.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1d4c7e777c441b20e32f52bd377e0c409713e8bb1386e1099c2415f26e479595"},
- {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a0cd17c15d3bb3fa06978b4e8958dcdc6e0174ccea823003a106c7d4d7899ac5"},
- {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:28c119d996beec18c05208a8bd78cbe4007878c6dd15091efb73a30e90539696"},
- {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7e07cbde391ba96ab58e532ff4803f79c4129397514e1413a7dc761ccd755735"},
- {file = "PyYAML-6.0.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:49a183be227561de579b4a36efbb21b3eab9651dd81b1858589f796549873dd6"},
- {file = "PyYAML-6.0.1-cp38-cp38-win32.whl", hash = "sha256:184c5108a2aca3c5b3d3bf9395d50893a7ab82a38004c8f61c258d4428e80206"},
- {file = "PyYAML-6.0.1-cp38-cp38-win_amd64.whl", hash = "sha256:1e2722cc9fbb45d9b87631ac70924c11d3a401b2d7f410cc0e3bbf249f2dca62"},
- {file = "PyYAML-6.0.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9eb6caa9a297fc2c2fb8862bc5370d0303ddba53ba97e71f08023b6cd73d16a8"},
- {file = "PyYAML-6.0.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c8098ddcc2a85b61647b2590f825f3db38891662cfc2fc776415143f599bb859"},
- {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5773183b6446b2c99bb77e77595dd486303b4faab2b086e7b17bc6bef28865f6"},
- {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b786eecbdf8499b9ca1d697215862083bd6d2a99965554781d0d8d1ad31e13a0"},
- {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc1bf2925a1ecd43da378f4db9e4f799775d6367bdb94671027b73b393a7c42c"},
- {file = "PyYAML-6.0.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:04ac92ad1925b2cff1db0cfebffb6ffc43457495c9b3c39d3fcae417d7125dc5"},
- {file = "PyYAML-6.0.1-cp39-cp39-win32.whl", hash = "sha256:faca3bdcf85b2fc05d06ff3fbc1f83e1391b3e724afa3feba7d13eeab355484c"},
- {file = "PyYAML-6.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:510c9deebc5c0225e8c96813043e62b680ba2f9c50a08d3724c7f28a747d1486"},
- {file = "PyYAML-6.0.1.tar.gz", hash = "sha256:bfdf460b1736c775f2ba9f6a92bca30bc2095067b8a9d77876d1fad6cc3b4a43"},
-]
-
-[[package]]
-name = "requests"
-version = "2.31.0"
-description = "Python HTTP for Humans."
-optional = false
-python-versions = ">=3.7"
-files = [
- {file = "requests-2.31.0-py3-none-any.whl", hash = "sha256:58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f"},
- {file = "requests-2.31.0.tar.gz", hash = "sha256:942c5a758f98d790eaed1a29cb6eefc7ffb0d1cf7af05c3d2791656dbd6ad1e1"},
-]
-
-[package.dependencies]
-certifi = ">=2017.4.17"
-charset-normalizer = ">=2,<4"
-idna = ">=2.5,<4"
-PySocks = {version = ">=1.5.6,<1.5.7 || >1.5.7", optional = true, markers = "extra == \"socks\""}
-urllib3 = ">=1.21.1,<3"
-
-[package.extras]
-socks = ["PySocks (>=1.5.6,!=1.5.7)"]
-use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"]
-
-[[package]]
-name = "requests-oauthlib"
-version = "1.3.1"
-description = "OAuthlib authentication support for Requests."
-optional = false
-python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
-files = [
- {file = "requests-oauthlib-1.3.1.tar.gz", hash = "sha256:75beac4a47881eeb94d5ea5d6ad31ef88856affe2332b9aafb52c6452ccf0d7a"},
- {file = "requests_oauthlib-1.3.1-py2.py3-none-any.whl", hash = "sha256:2577c501a2fb8d05a304c09d090d6e47c306fef15809d102b327cf8364bddab5"},
-]
-
-[package.dependencies]
-oauthlib = ">=3.0.0"
-requests = ">=2.0.0"
-
-[package.extras]
-rsa = ["oauthlib[signedtoken] (>=3.0.0)"]
-
-[[package]]
-name = "rich"
-version = "13.7.0"
-description = "Render rich text, tables, progress bars, syntax highlighting, markdown and more to the terminal"
-optional = false
-python-versions = ">=3.7.0"
-files = [
- {file = "rich-13.7.0-py3-none-any.whl", hash = "sha256:6da14c108c4866ee9520bbffa71f6fe3962e193b7da68720583850cd4548e235"},
- {file = "rich-13.7.0.tar.gz", hash = "sha256:5cb5123b5cf9ee70584244246816e9114227e0b98ad9176eede6ad54bf5403fa"},
-]
-
-[package.dependencies]
-markdown-it-py = ">=2.2.0"
-pygments = ">=2.13.0,<3.0.0"
-
-[package.extras]
-jupyter = ["ipywidgets (>=7.5.1,<9)"]
-
-[[package]]
-name = "rsa"
-version = "4.9"
-description = "Pure-Python RSA implementation"
-optional = false
-python-versions = ">=3.6,<4"
-files = [
- {file = "rsa-4.9-py3-none-any.whl", hash = "sha256:90260d9058e514786967344d0ef75fa8727eed8a7d2e43ce9f4bcf1b536174f7"},
- {file = "rsa-4.9.tar.gz", hash = "sha256:e38464a49c6c85d7f1351b0126661487a7e0a14a50f1675ec50eb34d4f20ef21"},
-]
-
-[package.dependencies]
-pyasn1 = ">=0.1.3"
-
-[[package]]
-name = "scikit-learn"
-version = "1.4.0"
-description = "A set of python modules for machine learning and data mining"
-optional = false
-python-versions = ">=3.9"
-files = [
- {file = "scikit-learn-1.4.0.tar.gz", hash = "sha256:d4373c984eba20e393216edd51a3e3eede56cbe93d4247516d205643c3b93121"},
- {file = "scikit_learn-1.4.0-1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:fce93a7473e2f4ee4cc280210968288d6a7d7ad8dc6fa7bb7892145e407085f9"},
- {file = "scikit_learn-1.4.0-1-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:d77df3d1e15fc37a9329999979fa7868ba8655dbab21fe97fc7ddabac9e08cc7"},
- {file = "scikit_learn-1.4.0-1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2404659fedec40eeafa310cd14d613e564d13dbf8f3c752d31c095195ec05de6"},
- {file = "scikit_learn-1.4.0-1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e98632da8f6410e6fb6bf66937712c949b4010600ccd3f22a5388a83e610cc3c"},
- {file = "scikit_learn-1.4.0-1-cp310-cp310-win_amd64.whl", hash = "sha256:11b3b140f70fbc9f6a08884631ae8dd60a4bb2d7d6d1de92738ea42b740d8992"},
- {file = "scikit_learn-1.4.0-1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a8341eabdc754d5ab91641a7763243845e96b6d68e03e472531e88a4f1b09f21"},
- {file = "scikit_learn-1.4.0-1-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:d1f6bce875ac2bb6b52514f67c185c564ccd299a05b65b7bab091a4c13dde12d"},
- {file = "scikit_learn-1.4.0-1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c408b46b2fd61952d519ea1af2f8f0a7a703e1433923ab1704c4131520b2083b"},
- {file = "scikit_learn-1.4.0-1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2b465dd1dcd237b7b1dcd1a9048ccbf70a98c659474324fa708464c3a2533fad"},
- {file = "scikit_learn-1.4.0-1-cp311-cp311-win_amd64.whl", hash = "sha256:0db8e22c42f7980fe5eb22069b1f84c48966f3e0d23a01afde5999e3987a2501"},
- {file = "scikit_learn-1.4.0-1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:e7eef6ea2ed289af40e88c0be9f7704ca8b5de18508a06897c3fe21e0905efdf"},
- {file = "scikit_learn-1.4.0-1-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:349669b01435bc4dbf25c6410b0892073befdaec52637d1a1d1ff53865dc8db3"},
- {file = "scikit_learn-1.4.0-1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d439c584e58434d0350701bd33f6c10b309e851fccaf41c121aed55f6851d8cf"},
- {file = "scikit_learn-1.4.0-1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a0e2427d9ef46477625ab9b55c1882844fe6fc500f418c3f8e650200182457bc"},
- {file = "scikit_learn-1.4.0-1-cp312-cp312-win_amd64.whl", hash = "sha256:d3d75343940e7bf9b85c830c93d34039fa015eeb341c5c0b4cd7a90dadfe00d4"},
- {file = "scikit_learn-1.4.0-1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:76986d22e884ab062b1beecdd92379656e9d3789ecc1f9870923c178de55f9fe"},
- {file = "scikit_learn-1.4.0-1-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:e22446ad89f1cb7657f0d849dcdc345b48e2d10afa3daf2925fdb740f85b714c"},
- {file = "scikit_learn-1.4.0-1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:74812c9eabb265be69d738a8ea8d4884917a59637fcbf88a5f0e9020498bc6b3"},
- {file = "scikit_learn-1.4.0-1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aad2a63e0dd386b92da3270887a29b308af4d7c750d8c4995dfd9a4798691bcc"},
- {file = "scikit_learn-1.4.0-1-cp39-cp39-win_amd64.whl", hash = "sha256:53b9e29177897c37e2ff9d4ba6ca12fdb156e22523e463db05def303f5c72b5c"},
- {file = "scikit_learn-1.4.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:cb8f044a8f5962613ce1feb4351d66f8d784bd072d36393582f351859b065f7d"},
- {file = "scikit_learn-1.4.0-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:a6372c90bbf302387792108379f1ec77719c1618d88496d0df30cb8e370b4661"},
- {file = "scikit_learn-1.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:785ce3c352bf697adfda357c3922c94517a9376002971bc5ea50896144bc8916"},
- {file = "scikit_learn-1.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0aba2a20d89936d6e72d95d05e3bf1db55bca5c5920926ad7b92c34f5e7d3bbe"},
- {file = "scikit_learn-1.4.0-cp310-cp310-win_amd64.whl", hash = "sha256:2bac5d56b992f8f06816f2cd321eb86071c6f6d44bb4b1cb3d626525820d754b"},
- {file = "scikit_learn-1.4.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:27ae4b0f1b2c77107c096a7e05b33458354107b47775428d1f11b23e30a73e8a"},
- {file = "scikit_learn-1.4.0-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:5c5c62ffb52c3ffb755eb21fa74cc2cbf2c521bd53f5c04eaa10011dbecf5f80"},
- {file = "scikit_learn-1.4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7f0d2018ac6fa055dab65fe8a485967990d33c672d55bc254c56c35287b02fab"},
- {file = "scikit_learn-1.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:91a8918c415c4b4bf1d60c38d32958849a9191c2428ab35d30b78354085c7c7a"},
- {file = "scikit_learn-1.4.0-cp311-cp311-win_amd64.whl", hash = "sha256:80a21de63275f8bcd7877b3e781679d2ff1eddfed515a599f95b2502a3283d42"},
- {file = "scikit_learn-1.4.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:0f33bbafb310c26b81c4d41ecaebdbc1f63498a3f13461d50ed9a2e8f24d28e4"},
- {file = "scikit_learn-1.4.0-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:8b6ac1442ec714b4911e5aef8afd82c691b5c88b525ea58299d455acc4e8dcec"},
- {file = "scikit_learn-1.4.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:05fc5915b716c6cc60a438c250108e9a9445b522975ed37e416d5ea4f9a63381"},
- {file = "scikit_learn-1.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:842b7d6989f3c574685e18da6f91223eb32301d0f93903dd399894250835a6f7"},
- {file = "scikit_learn-1.4.0-cp312-cp312-win_amd64.whl", hash = "sha256:88bcb586fdff865372df1bc6be88bb7e6f9e0aa080dab9f54f5cac7eca8e2b6b"},
- {file = "scikit_learn-1.4.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:f77674647dd31f56cb12ed13ed25b6ed43a056fffef051715022d2ebffd7a7d1"},
- {file = "scikit_learn-1.4.0-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:833999872e2920ce00f3a50839946bdac7539454e200eb6db54898a41f4bfd43"},
- {file = "scikit_learn-1.4.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:970ec697accaef10fb4f51763f3a7b1250f9f0553cf05514d0e94905322a0172"},
- {file = "scikit_learn-1.4.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:923d778f378ebacca2c672ab1740e5a413e437fb45ab45ab02578f8b689e5d43"},
- {file = "scikit_learn-1.4.0-cp39-cp39-win_amd64.whl", hash = "sha256:1d041bc95006b545b59e458399e3175ab11ca7a03dc9a74a573ac891f5df1489"},
-]
-
-[package.dependencies]
-joblib = ">=1.2.0"
-numpy = ">=1.19.5"
-scipy = ">=1.6.0"
-threadpoolctl = ">=2.0.0"
-
-[package.extras]
-benchmark = ["matplotlib (>=3.3.4)", "memory-profiler (>=0.57.0)", "pandas (>=1.1.5)"]
-docs = ["Pillow (>=7.1.2)", "matplotlib (>=3.3.4)", "memory-profiler (>=0.57.0)", "numpydoc (>=1.2.0)", "pandas (>=1.1.5)", "plotly (>=5.14.0)", "pooch (>=1.6.0)", "scikit-image (>=0.17.2)", "seaborn (>=0.9.0)", "sphinx (>=6.0.0)", "sphinx-copybutton (>=0.5.2)", "sphinx-gallery (>=0.15.0)", "sphinx-prompt (>=1.3.0)", "sphinxext-opengraph (>=0.4.2)"]
-examples = ["matplotlib (>=3.3.4)", "pandas (>=1.1.5)", "plotly (>=5.14.0)", "pooch (>=1.6.0)", "scikit-image (>=0.17.2)", "seaborn (>=0.9.0)"]
-tests = ["black (>=23.3.0)", "matplotlib (>=3.3.4)", "mypy (>=1.3)", "numpydoc (>=1.2.0)", "pandas (>=1.1.5)", "polars (>=0.19.12)", "pooch (>=1.6.0)", "pyamg (>=4.0.0)", "pyarrow (>=12.0.0)", "pytest (>=7.1.2)", "pytest-cov (>=2.9.0)", "ruff (>=0.0.272)", "scikit-image (>=0.17.2)"]
-
-[[package]]
-name = "scipy"
-version = "1.12.0"
-description = "Fundamental algorithms for scientific computing in Python"
-optional = false
-python-versions = ">=3.9"
-files = [
- {file = "scipy-1.12.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:78e4402e140879387187f7f25d91cc592b3501a2e51dfb320f48dfb73565f10b"},
- {file = "scipy-1.12.0-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:f5f00ebaf8de24d14b8449981a2842d404152774c1a1d880c901bf454cb8e2a1"},
- {file = "scipy-1.12.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e53958531a7c695ff66c2e7bb7b79560ffdc562e2051644c5576c39ff8efb563"},
- {file = "scipy-1.12.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5e32847e08da8d895ce09d108a494d9eb78974cf6de23063f93306a3e419960c"},
- {file = "scipy-1.12.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:4c1020cad92772bf44b8e4cdabc1df5d87376cb219742549ef69fc9fd86282dd"},
- {file = "scipy-1.12.0-cp310-cp310-win_amd64.whl", hash = "sha256:75ea2a144096b5e39402e2ff53a36fecfd3b960d786b7efd3c180e29c39e53f2"},
- {file = "scipy-1.12.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:408c68423f9de16cb9e602528be4ce0d6312b05001f3de61fe9ec8b1263cad08"},
- {file = "scipy-1.12.0-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:5adfad5dbf0163397beb4aca679187d24aec085343755fcdbdeb32b3679f254c"},
- {file = "scipy-1.12.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c3003652496f6e7c387b1cf63f4bb720951cfa18907e998ea551e6de51a04467"},
- {file = "scipy-1.12.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8b8066bce124ee5531d12a74b617d9ac0ea59245246410e19bca549656d9a40a"},
- {file = "scipy-1.12.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:8bee4993817e204d761dba10dbab0774ba5a8612e57e81319ea04d84945375ba"},
- {file = "scipy-1.12.0-cp311-cp311-win_amd64.whl", hash = "sha256:a24024d45ce9a675c1fb8494e8e5244efea1c7a09c60beb1eeb80373d0fecc70"},
- {file = "scipy-1.12.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:e7e76cc48638228212c747ada851ef355c2bb5e7f939e10952bc504c11f4e372"},
- {file = "scipy-1.12.0-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:f7ce148dffcd64ade37b2df9315541f9adad6efcaa86866ee7dd5db0c8f041c3"},
- {file = "scipy-1.12.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9c39f92041f490422924dfdb782527a4abddf4707616e07b021de33467f917bc"},
- {file = "scipy-1.12.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a7ebda398f86e56178c2fa94cad15bf457a218a54a35c2a7b4490b9f9cb2676c"},
- {file = "scipy-1.12.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:95e5c750d55cf518c398a8240571b0e0782c2d5a703250872f36eaf737751338"},
- {file = "scipy-1.12.0-cp312-cp312-win_amd64.whl", hash = "sha256:e646d8571804a304e1da01040d21577685ce8e2db08ac58e543eaca063453e1c"},
- {file = "scipy-1.12.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:913d6e7956c3a671de3b05ccb66b11bc293f56bfdef040583a7221d9e22a2e35"},
- {file = "scipy-1.12.0-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:bba1b0c7256ad75401c73e4b3cf09d1f176e9bd4248f0d3112170fb2ec4db067"},
- {file = "scipy-1.12.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:730badef9b827b368f351eacae2e82da414e13cf8bd5051b4bdfd720271a5371"},
- {file = "scipy-1.12.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6546dc2c11a9df6926afcbdd8a3edec28566e4e785b915e849348c6dd9f3f490"},
- {file = "scipy-1.12.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:196ebad3a4882081f62a5bf4aeb7326aa34b110e533aab23e4374fcccb0890dc"},
- {file = "scipy-1.12.0-cp39-cp39-win_amd64.whl", hash = "sha256:b360f1b6b2f742781299514e99ff560d1fe9bd1bff2712894b52abe528d1fd1e"},
- {file = "scipy-1.12.0.tar.gz", hash = "sha256:4bf5abab8a36d20193c698b0f1fc282c1d083c94723902c447e5d2f1780936a3"},
-]
-
-[package.dependencies]
-numpy = ">=1.22.4,<1.29.0"
-
-[package.extras]
-dev = ["click", "cython-lint (>=0.12.2)", "doit (>=0.36.0)", "mypy", "pycodestyle", "pydevtool", "rich-click", "ruff", "types-psutil", "typing_extensions"]
-doc = ["jupytext", "matplotlib (>2)", "myst-nb", "numpydoc", "pooch", "pydata-sphinx-theme (==0.9.0)", "sphinx (!=4.1.0)", "sphinx-design (>=0.2.0)"]
-test = ["asv", "gmpy2", "hypothesis", "mpmath", "pooch", "pytest", "pytest-cov", "pytest-timeout", "pytest-xdist", "scikit-umfpack", "threadpoolctl"]
-
-[[package]]
-name = "seaborn"
-version = "0.12.2"
-description = "Statistical data visualization"
-optional = false
-python-versions = ">=3.7"
-files = [
- {file = "seaborn-0.12.2-py3-none-any.whl", hash = "sha256:ebf15355a4dba46037dfd65b7350f014ceb1f13c05e814eda2c9f5fd731afc08"},
- {file = "seaborn-0.12.2.tar.gz", hash = "sha256:374645f36509d0dcab895cba5b47daf0586f77bfe3b36c97c607db7da5be0139"},
-]
-
-[package.dependencies]
-matplotlib = ">=3.1,<3.6.1 || >3.6.1"
-numpy = ">=1.17,<1.24.0 || >1.24.0"
-pandas = ">=0.25"
-
-[package.extras]
-dev = ["flake8", "flit", "mypy", "pandas-stubs", "pre-commit", "pytest", "pytest-cov", "pytest-xdist"]
-docs = ["ipykernel", "nbconvert", "numpydoc", "pydata_sphinx_theme (==0.10.0rc2)", "pyyaml", "sphinx-copybutton", "sphinx-design", "sphinx-issues"]
-stats = ["scipy (>=1.3)", "statsmodels (>=0.10)"]
-
-[[package]]
-name = "setuptools"
-version = "69.0.3"
-description = "Easily download, build, install, upgrade, and uninstall Python packages"
-optional = false
-python-versions = ">=3.8"
-files = [
- {file = "setuptools-69.0.3-py3-none-any.whl", hash = "sha256:385eb4edd9c9d5c17540511303e39a147ce2fc04bc55289c322b9e5904fe2c05"},
- {file = "setuptools-69.0.3.tar.gz", hash = "sha256:be1af57fc409f93647f2e8e4573a142ed38724b8cdd389706a867bb4efcf1e78"},
-]
-
-[package.extras]
-docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "rst.linker (>=1.9)", "sphinx (<7.2.5)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier"]
-testing = ["build[virtualenv]", "filelock (>=3.4.0)", "flake8-2020", "ini2toml[lite] (>=0.9)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "pip (>=19.1)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy (>=0.9.1)", "pytest-perf", "pytest-ruff", "pytest-timeout", "pytest-xdist", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"]
-testing-integration = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "packaging (>=23.1)", "pytest", "pytest-enabler", "pytest-xdist", "tomli", "virtualenv (>=13.0.0)", "wheel"]
-
-[[package]]
-name = "six"
-version = "1.16.0"
-description = "Python 2 and 3 compatibility utilities"
-optional = false
-python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*"
-files = [
- {file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"},
- {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"},
-]
-
-[[package]]
-name = "soupsieve"
-version = "2.5"
-description = "A modern CSS selector implementation for Beautiful Soup."
-optional = false
-python-versions = ">=3.8"
-files = [
- {file = "soupsieve-2.5-py3-none-any.whl", hash = "sha256:eaa337ff55a1579b6549dc679565eac1e3d000563bcb1c8ab0d0fefbc0c2cdc7"},
- {file = "soupsieve-2.5.tar.gz", hash = "sha256:5663d5a7b3bfaeee0bc4372e7fc48f9cff4940b3eec54a6451cc5299f1097690"},
-]
-
-[[package]]
-name = "tensorboard"
-version = "2.15.1"
-description = "TensorBoard lets you watch Tensors Flow"
-optional = false
-python-versions = ">=3.9"
-files = [
- {file = "tensorboard-2.15.1-py3-none-any.whl", hash = "sha256:c46c1d1cf13a458c429868a78b2531d8ff5f682058d69ec0840b0bc7a38f1c0f"},
-]
-
-[package.dependencies]
-absl-py = ">=0.4"
-google-auth = ">=1.6.3,<3"
-google-auth-oauthlib = ">=0.5,<2"
-grpcio = ">=1.48.2"
-markdown = ">=2.6.8"
-numpy = ">=1.12.0"
-protobuf = ">=3.19.6,<4.24"
-requests = ">=2.21.0,<3"
-setuptools = ">=41.0.0"
-six = ">1.9"
-tensorboard-data-server = ">=0.7.0,<0.8.0"
-werkzeug = ">=1.0.1"
-
-[[package]]
-name = "tensorboard-data-server"
-version = "0.7.2"
-description = "Fast data loading for TensorBoard"
-optional = false
-python-versions = ">=3.7"
-files = [
- {file = "tensorboard_data_server-0.7.2-py3-none-any.whl", hash = "sha256:7e0610d205889588983836ec05dc098e80f97b7e7bbff7e994ebb78f578d0ddb"},
- {file = "tensorboard_data_server-0.7.2-py3-none-macosx_10_9_x86_64.whl", hash = "sha256:9fe5d24221b29625dbc7328b0436ca7fc1c23de4acf4d272f1180856e32f9f60"},
- {file = "tensorboard_data_server-0.7.2-py3-none-manylinux_2_31_x86_64.whl", hash = "sha256:ef687163c24185ae9754ed5650eb5bc4d84ff257aabdc33f0cc6f74d8ba54530"},
-]
-
-[[package]]
-name = "threadpoolctl"
-version = "3.2.0"
-description = "threadpoolctl"
-optional = false
-python-versions = ">=3.8"
-files = [
- {file = "threadpoolctl-3.2.0-py3-none-any.whl", hash = "sha256:2b7818516e423bdaebb97c723f86a7c6b0a83d3f3b0970328d66f4d9104dc032"},
- {file = "threadpoolctl-3.2.0.tar.gz", hash = "sha256:c96a0ba3bdddeaca37dc4cc7344aafad41cdb8c313f74fdfe387a867bba93355"},
-]
-
-[[package]]
-name = "toml"
-version = "0.10.2"
-description = "Python Library for Tom's Obvious, Minimal Language"
-optional = false
-python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*"
-files = [
- {file = "toml-0.10.2-py2.py3-none-any.whl", hash = "sha256:806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b"},
- {file = "toml-0.10.2.tar.gz", hash = "sha256:b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f"},
-]
-
-[[package]]
-name = "tomli"
-version = "2.0.1"
-description = "A lil' TOML parser"
-optional = false
-python-versions = ">=3.7"
-files = [
- {file = "tomli-2.0.1-py3-none-any.whl", hash = "sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc"},
- {file = "tomli-2.0.1.tar.gz", hash = "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f"},
-]
-
-[[package]]
-name = "torch"
-version = "1.12.1"
-description = "Tensors and Dynamic neural networks in Python with strong GPU acceleration"
-optional = false
-python-versions = ">=3.7.0"
-files = [
- {file = "torch-1.12.1-cp310-cp310-manylinux1_x86_64.whl", hash = "sha256:9c038662db894a23e49e385df13d47b2a777ffd56d9bcd5b832593fab0a7e286"},
- {file = "torch-1.12.1-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:4e1b9c14cf13fd2ab8d769529050629a0e68a6fc5cb8e84b4a3cc1dd8c4fe541"},
- {file = "torch-1.12.1-cp310-cp310-win_amd64.whl", hash = "sha256:e9c8f4a311ac29fc7e8e955cfb7733deb5dbe1bdaabf5d4af2765695824b7e0d"},
- {file = "torch-1.12.1-cp310-none-macosx_10_9_x86_64.whl", hash = "sha256:976c3f997cea38ee91a0dd3c3a42322785414748d1761ef926b789dfa97c6134"},
- {file = "torch-1.12.1-cp310-none-macosx_11_0_arm64.whl", hash = "sha256:68104e4715a55c4bb29a85c6a8d57d820e0757da363be1ba680fa8cc5be17b52"},
- {file = "torch-1.12.1-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:743784ccea0dc8f2a3fe6a536bec8c4763bd82c1352f314937cb4008d4805de1"},
- {file = "torch-1.12.1-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:b5dbcca369800ce99ba7ae6dee3466607a66958afca3b740690d88168752abcf"},
- {file = "torch-1.12.1-cp37-cp37m-win_amd64.whl", hash = "sha256:f3b52a634e62821e747e872084ab32fbcb01b7fa7dbb7471b6218279f02a178a"},
- {file = "torch-1.12.1-cp37-none-macosx_10_9_x86_64.whl", hash = "sha256:8a34a2fbbaa07c921e1b203f59d3d6e00ed379f2b384445773bd14e328a5b6c8"},
- {file = "torch-1.12.1-cp37-none-macosx_11_0_arm64.whl", hash = "sha256:42f639501928caabb9d1d55ddd17f07cd694de146686c24489ab8c615c2871f2"},
- {file = "torch-1.12.1-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:0b44601ec56f7dd44ad8afc00846051162ef9c26a8579dda0a02194327f2d55e"},
- {file = "torch-1.12.1-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:cd26d8c5640c3a28c526d41ccdca14cf1cbca0d0f2e14e8263a7ac17194ab1d2"},
- {file = "torch-1.12.1-cp38-cp38-win_amd64.whl", hash = "sha256:42e115dab26f60c29e298559dbec88444175528b729ae994ec4c65d56fe267dd"},
- {file = "torch-1.12.1-cp38-none-macosx_10_9_x86_64.whl", hash = "sha256:a8320ba9ad87e80ca5a6a016e46ada4d1ba0c54626e135d99b2129a4541c509d"},
- {file = "torch-1.12.1-cp38-none-macosx_11_0_arm64.whl", hash = "sha256:03e31c37711db2cd201e02de5826de875529e45a55631d317aadce2f1ed45aa8"},
- {file = "torch-1.12.1-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:9b356aea223772cd754edb4d9ecf2a025909b8615a7668ac7d5130f86e7ec421"},
- {file = "torch-1.12.1-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:6cf6f54b43c0c30335428195589bd00e764a6d27f3b9ba637aaa8c11aaf93073"},
- {file = "torch-1.12.1-cp39-cp39-win_amd64.whl", hash = "sha256:f00c721f489089dc6364a01fd84906348fe02243d0af737f944fddb36003400d"},
- {file = "torch-1.12.1-cp39-none-macosx_10_9_x86_64.whl", hash = "sha256:bfec2843daa654f04fda23ba823af03e7b6f7650a873cdb726752d0e3718dada"},
- {file = "torch-1.12.1-cp39-none-macosx_11_0_arm64.whl", hash = "sha256:69fe2cae7c39ccadd65a123793d30e0db881f1c1927945519c5c17323131437e"},
-]
-
-[package.dependencies]
-typing-extensions = "*"
-
-[[package]]
-name = "torchmetrics"
-version = "0.10.3"
-description = "PyTorch native Metrics"
-optional = false
-python-versions = ">=3.7"
-files = [
- {file = "torchmetrics-0.10.3-py3-none-any.whl", hash = "sha256:b12cf92897545e24a825b0d168888c0f3052700c2901e2d4f7d90b252bc4a343"},
- {file = "torchmetrics-0.10.3.tar.gz", hash = "sha256:9e6ab66175f2dc13e246c37485b2c27c77931dfe47fc2b81c76217b8efdc1e57"},
-]
-
-[package.dependencies]
-numpy = ">=1.17.2"
-packaging = "*"
-torch = ">=1.3.1"
-
-[package.extras]
-all = ["lpips", "nltk (>=3.6)", "pycocotools", "pystoi", "pytorch-lightning (>=1.5)", "regex (>=2021.9.24)", "scipy", "torch-fidelity", "torchvision", "torchvision (>=0.8)", "tqdm (>=4.41.0)"]
-audio = ["pystoi"]
-detection = ["pycocotools", "torchvision (>=0.8)"]
-docs = ["docutils (>=0.16)", "myst-parser", "nbsphinx (>=0.8)", "pandoc (>=1.0)", "sphinx (>=4.0,<5.0)", "sphinx-autodoc-typehints (>=1.0)", "sphinx-copybutton (>=0.3)", "sphinx-paramlinks (>=0.5.1)", "sphinx-togglebutton (>=0.2)", "sphinxcontrib-fulltoc (>=1.0)", "sphinxcontrib-mockautodoc"]
-image = ["lpips", "scipy", "torch-fidelity", "torchvision"]
-integrate = ["pytorch-lightning (>=1.5)"]
-test = ["bert-score (==0.3.10)", "check-manifest", "cloudpickle (>=1.3)", "coverage (>5.2)", "fast-bss-eval (>=0.1.0)", "fire", "huggingface-hub (<0.7)", "jiwer (>=2.3.0)", "mir-eval (>=0.6)", "netcal", "phmdoctest (>=1.1.1)", "pre-commit (>=1.0)", "psutil", "pycocotools", "pypesq (>1.2)", "pytest (==6.*)", "pytest-cov (>2.10)", "pytest-doctestplus (>=0.9.0)", "pytest-timeout", "pytorch-msssim (==0.2.1)", "requests", "rouge-score (>=0.0.4)", "sacrebleu (>=2.0.0)", "scikit-image (>0.17.1)", "scikit-learn (>1.0,<1.1.1)", "torch-complex", "transformers (>=4.0)"]
-text = ["nltk (>=3.6)", "regex (>=2021.9.24)", "tqdm (>=4.41.0)"]
-
-[[package]]
-name = "torchvision"
-version = "0.13.1"
-description = "image and video datasets and models for torch deep learning"
-optional = false
-python-versions = ">=3.7"
-files = [
- {file = "torchvision-0.13.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:19286a733c69dcbd417b86793df807bd227db5786ed787c17297741a9b0d0fc7"},
- {file = "torchvision-0.13.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:08f592ea61836ebeceb5c97f4d7a813b9d7dc651bbf7ce4401563ccfae6a21fc"},
- {file = "torchvision-0.13.1-cp310-cp310-manylinux1_x86_64.whl", hash = "sha256:ef5fe3ec1848123cd0ec74c07658192b3147dcd38e507308c790d5943e87b88c"},
- {file = "torchvision-0.13.1-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:099874088df104d54d8008f2a28539ca0117b512daed8bf3c2bbfa2b7ccb187a"},
- {file = "torchvision-0.13.1-cp310-cp310-win_amd64.whl", hash = "sha256:8e4d02e4d8a203e0c09c10dfb478214c224d080d31efc0dbf36d9c4051f7f3c6"},
- {file = "torchvision-0.13.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:5e631241bee3661de64f83616656224af2e3512eb2580da7c08e08b8c965a8ac"},
- {file = "torchvision-0.13.1-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:899eec0b9f3b99b96d6f85b9aa58c002db41c672437677b553015b9135b3be7e"},
- {file = "torchvision-0.13.1-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:83e9e2457f23110fd53b0177e1bc621518d6ea2108f570e853b768ce36b7c679"},
- {file = "torchvision-0.13.1-cp37-cp37m-win_amd64.whl", hash = "sha256:7552e80fa222252b8b217a951c85e172a710ea4cad0ae0c06fbb67addece7871"},
- {file = "torchvision-0.13.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:f230a1a40ed70d51e463ce43df243ec520902f8725de2502e485efc5eea9d864"},
- {file = "torchvision-0.13.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:e9a563894f9fa40692e24d1aa58c3ef040450017cfed3598ff9637f404f3fe3b"},
- {file = "torchvision-0.13.1-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:7cb789ceefe6dcd0dc8eeda37bfc45efb7cf34770eac9533861d51ca508eb5b3"},
- {file = "torchvision-0.13.1-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:87c137f343197769a51333076e66bfcd576301d2cd8614b06657187c71b06c4f"},
- {file = "torchvision-0.13.1-cp38-cp38-win_amd64.whl", hash = "sha256:4d8bf321c4380854ef04613935fdd415dce29d1088a7ff99e06e113f0efe9203"},
- {file = "torchvision-0.13.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:0298bae3b09ac361866088434008d82b99d6458fe8888c8df90720ef4b347d44"},
- {file = "torchvision-0.13.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c5ed609c8bc88c575226400b2232e0309094477c82af38952e0373edef0003fd"},
- {file = "torchvision-0.13.1-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:3567fb3def829229ec217c1e38f08c5128ff7fb65854cac17ebac358ff7aa309"},
- {file = "torchvision-0.13.1-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:b167934a5943242da7b1e59318f911d2d253feeca0d13ad5d832b58eed943401"},
- {file = "torchvision-0.13.1-cp39-cp39-win_amd64.whl", hash = "sha256:0e77706cc90462653620e336bb90daf03d7bf1b88c3a9a3037df8d111823a56e"},
-]
-
-[package.dependencies]
-numpy = "*"
-pillow = ">=5.3.0,<8.3.dev0 || >=8.4.dev0"
-requests = "*"
-torch = "1.12.1"
-typing-extensions = "*"
-
-[package.extras]
-scipy = ["scipy"]
-
-[[package]]
-name = "tqdm"
-version = "4.66.1"
-description = "Fast, Extensible Progress Meter"
-optional = false
-python-versions = ">=3.7"
-files = [
- {file = "tqdm-4.66.1-py3-none-any.whl", hash = "sha256:d302b3c5b53d47bce91fea46679d9c3c6508cf6332229aa1e7d8653723793386"},
- {file = "tqdm-4.66.1.tar.gz", hash = "sha256:d88e651f9db8d8551a62556d3cff9e3034274ca5d66e93197cf2490e2dcb69c7"},
-]
-
-[package.dependencies]
-colorama = {version = "*", markers = "platform_system == \"Windows\""}
-
-[package.extras]
-dev = ["pytest (>=6)", "pytest-cov", "pytest-timeout", "pytest-xdist"]
-notebook = ["ipywidgets (>=6)"]
-slack = ["slack-sdk"]
-telegram = ["requests"]
-
-[[package]]
-name = "typing-extensions"
-version = "4.9.0"
-description = "Backported and Experimental Type Hints for Python 3.8+"
-optional = false
-python-versions = ">=3.8"
-files = [
- {file = "typing_extensions-4.9.0-py3-none-any.whl", hash = "sha256:af72aea155e91adfc61c3ae9e0e342dbc0cba726d6cba4b6c72c1f34e47291cd"},
- {file = "typing_extensions-4.9.0.tar.gz", hash = "sha256:23478f88c37f27d76ac8aee6c905017a143b0b1b886c3c9f66bc2fd94f9f5783"},
-]
-
-[[package]]
-name = "unfoldnd"
-version = "0.2.1"
-description = "N-dimensional unfold (im2col) and fold (col2im) in PyTorch"
-optional = false
-python-versions = ">=3.7"
-files = [
- {file = "unfoldNd-0.2.1-py3-none-any.whl", hash = "sha256:5d9a7f23e9004127486eb8c58f18025529b106ad407e6271ab57f13d910a7458"},
- {file = "unfoldNd-0.2.1.tar.gz", hash = "sha256:3d91e0e6006d1ab45702db4b36f28e6150aef11c96d46331a273efe963e5efef"},
-]
-
-[package.dependencies]
-numpy = "*"
-torch = "*"
-
-[package.extras]
-lint = ["black", "darglint", "flake8", "flake8-bugbear", "flake8-comprehensions", "flake8-tidy-imports", "isort", "mccabe", "pep8-naming", "pycodestyle", "pydocstyle", "pyflakes"]
-test = ["coveralls", "pytest", "pytest-cov", "pytest-optional-tests"]
-
-[[package]]
-name = "urllib3"
-version = "2.2.0"
-description = "HTTP library with thread-safe connection pooling, file post, and more."
-optional = false
-python-versions = ">=3.8"
-files = [
- {file = "urllib3-2.2.0-py3-none-any.whl", hash = "sha256:ce3711610ddce217e6d113a2732fafad960a03fd0318c91faa79481e35c11224"},
- {file = "urllib3-2.2.0.tar.gz", hash = "sha256:051d961ad0c62a94e50ecf1af379c3aba230c66c710493493560c0c223c49f20"},
-]
-
-[package.extras]
-brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)"]
-h2 = ["h2 (>=4,<5)"]
-socks = ["pysocks (>=1.5.6,!=1.5.7,<2.0)"]
-zstd = ["zstandard (>=0.18.0)"]
-
-[[package]]
-name = "werkzeug"
-version = "3.0.1"
-description = "The comprehensive WSGI web application library."
-optional = false
-python-versions = ">=3.8"
-files = [
- {file = "werkzeug-3.0.1-py3-none-any.whl", hash = "sha256:90a285dc0e42ad56b34e696398b8122ee4c681833fb35b8334a095d82c56da10"},
- {file = "werkzeug-3.0.1.tar.gz", hash = "sha256:507e811ecea72b18a404947aded4b3390e1db8f826b494d76550ef45bb3b1dcc"},
-]
-
-[package.dependencies]
-MarkupSafe = ">=2.1.1"
-
-[package.extras]
-watchdog = ["watchdog (>=2.3)"]
-
-[[package]]
-name = "where"
-version = "1.0.2"
-description = "Locates absolute file paths like the Windows 'where' or the Linux 'which' utility.\nMakes use of the PATH variable and the current directory."
-optional = false
-python-versions = "*"
-files = [
- {file = "where-1.0.2-py2.py3-none-any.whl", hash = "sha256:66abc8edf95be7516e949d08a771f25acacff708ef481618562ab484fe5bc63e"},
- {file = "where-1.0.2.zip", hash = "sha256:325ef3a492a26189a47819f7375bc146887d39edd36fce132e86514334803fb1"},
-]
-
-[package.dependencies]
-itermate = "1.0.2"
-
-[[package]]
-name = "zipp"
-version = "3.17.0"
-description = "Backport of pathlib-compatible object wrapper for zip files"
-optional = false
-python-versions = ">=3.8"
-files = [
- {file = "zipp-3.17.0-py3-none-any.whl", hash = "sha256:0e923e726174922dce09c53c59ad483ff7bbb8e572e00c7f7c46b88556409f31"},
- {file = "zipp-3.17.0.tar.gz", hash = "sha256:84e64a1c28cf7e91ed2078bb8cc8c259cb19b76942096c8d7b84947690cabaf0"},
-]
-
-[package.extras]
-docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (<7.2.5)", "sphinx (>=3.5)", "sphinx-lint"]
-testing = ["big-O", "jaraco.functools", "jaraco.itertools", "more-itertools", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-ignore-flaky", "pytest-mypy (>=0.9.1)", "pytest-ruff"]
-
-[metadata]
-lock-version = "2.0"
-python-versions = "^3.9"
-content-hash = "310c387099e1ef1d7f59802494563b7582a5df2688a9467174817026e9f1238c"
diff --git a/pyproject.toml b/pyproject.toml
index f77612e3c..d19013304 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,6 +1,6 @@
[tool.poetry]
name = "domainlab"
-version = "0.6.1"
+version = "0.7.0"
readme = "README.md"
repository = "https://github.com/marrlab/DomainLab"
homepage = "https://marrlab.github.io/DomainLab/"
@@ -9,9 +9,10 @@ authors = ["Xudong Sun ", "Carla Feistner", "Alexej Gos
[tool.poetry.dependencies]
python = "^3.9"
+setuptools = "^69.5.1"
numpy = "^1.23.4"
-matplotlib = "^3.6.1"
-seaborn = "0.12.2"
+matplotlib = "^3.9.0"
+seaborn = "^0.13.2"
torchmetrics = "^0.10.0"
torch = "^1.12.0"
torchvision = "^0.13.0"
diff --git a/requirements.txt b/requirements.txt
index 927eca982..fc2fc3fd3 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,63 +1,46 @@
-absl-py==2.1.0 ; python_version >= "3.9" and python_version < "4.0"
backpack-for-pytorch==1.6.0 ; python_version >= "3.9" and python_version < "4.0"
beautifulsoup4==4.12.3 ; python_version >= "3.9" and python_version < "4.0"
-cachetools==5.3.2 ; python_version >= "3.9" and python_version < "4.0"
-certifi==2024.2.2 ; python_version >= "3.9" and python_version < "4.0"
+certifi==2024.6.2 ; python_version >= "3.9" and python_version < "4.0"
charset-normalizer==3.3.2 ; python_version >= "3.9" and python_version < "4.0"
colorama==0.4.6 ; python_version >= "3.9" and python_version < "4.0" and platform_system == "Windows"
-contourpy==1.2.0 ; python_version >= "3.9" and python_version < "4.0"
+contourpy==1.2.1 ; python_version >= "3.9" and python_version < "4.0"
cycler==0.12.1 ; python_version >= "3.9" and python_version < "4.0"
-einops==0.7.0 ; python_version >= "3.9" and python_version < "4.0"
-filelock==3.13.1 ; python_version >= "3.9" and python_version < "4.0"
-fonttools==4.48.1 ; python_version >= "3.9" and python_version < "4.0"
+einops==0.8.0 ; python_version >= "3.9" and python_version < "4.0"
+filelock==3.15.4 ; python_version >= "3.9" and python_version < "4.0"
+fonttools==4.53.0 ; python_version >= "3.9" and python_version < "4.0"
gdown==4.7.3 ; python_version >= "3.9" and python_version < "4.0"
-google-auth-oauthlib==1.2.0 ; python_version >= "3.9" and python_version < "4.0"
-google-auth==2.27.0 ; python_version >= "3.9" and python_version < "4.0"
-grpcio==1.60.1 ; python_version >= "3.9" and python_version < "4.0"
-idna==3.6 ; python_version >= "3.9" and python_version < "4.0"
-importlib-metadata==7.0.1 ; python_version >= "3.9" and python_version < "3.10"
-importlib-resources==6.1.1 ; python_version >= "3.9" and python_version < "3.10"
-joblib==1.3.2 ; python_version >= "3.9" and python_version < "4.0"
+idna==3.7 ; python_version >= "3.9" and python_version < "4.0"
+importlib-resources==6.4.0 ; python_version >= "3.9" and python_version < "3.10"
+joblib==1.4.2 ; python_version >= "3.9" and python_version < "4.0"
kiwisolver==1.4.5 ; python_version >= "3.9" and python_version < "4.0"
markdown-it-py==3.0.0 ; python_version >= "3.9" and python_version < "4.0"
-markdown==3.5.2 ; python_version >= "3.9" and python_version < "4.0"
-markupsafe==2.1.5 ; python_version >= "3.9" and python_version < "4.0"
-matplotlib==3.8.2 ; python_version >= "3.9" and python_version < "4.0"
+matplotlib==3.9.0 ; python_version >= "3.9" and python_version < "4.0"
mdurl==0.1.2 ; python_version >= "3.9" and python_version < "4.0"
-numpy==1.26.4 ; python_version >= "3.9" and python_version < "4.0"
-oauthlib==3.2.2 ; python_version >= "3.9" and python_version < "4.0"
-packaging==23.2 ; python_version >= "3.9" and python_version < "4.0"
+numpy==1.26.4 ; python_version < "4.0" and python_version >= "3.9"
+packaging==24.1 ; python_version >= "3.9" and python_version < "4.0"
pandas==1.5.3 ; python_version >= "3.9" and python_version < "4.0"
pillow==9.5.0 ; python_version >= "3.9" and python_version < "4.0"
-protobuf==4.23.4 ; python_version >= "3.9" and python_version < "4.0"
-pyasn1-modules==0.3.0 ; python_version >= "3.9" and python_version < "4.0"
-pyasn1==0.5.1 ; python_version >= "3.9" and python_version < "4.0"
-pygments==2.17.2 ; python_version >= "3.9" and python_version < "4.0"
-pyparsing==3.1.1 ; python_version >= "3.9" and python_version < "4.0"
+pygments==2.18.0 ; python_version >= "3.9" and python_version < "4.0"
+pyparsing==3.1.2 ; python_version >= "3.9" and python_version < "4.0"
pysocks==1.7.1 ; python_version >= "3.9" and python_version < "4.0"
-python-dateutil==2.8.2 ; python_version >= "3.9" and python_version < "4.0"
+python-dateutil==2.9.0.post0 ; python_version >= "3.9" and python_version < "4.0"
pytz==2024.1 ; python_version >= "3.9" and python_version < "4.0"
pyyaml==6.0.1 ; python_version >= "3.9" and python_version < "4.0"
-requests-oauthlib==1.3.1 ; python_version >= "3.9" and python_version < "4.0"
-requests==2.31.0 ; python_version >= "3.9" and python_version < "4.0"
-requests[socks]==2.31.0 ; python_version >= "3.9" and python_version < "4.0"
-rich==13.7.0 ; python_version >= "3.9" and python_version < "4.0"
-rsa==4.9 ; python_version >= "3.9" and python_version < "4"
-scikit-learn==1.4.0 ; python_version >= "3.9" and python_version < "4.0"
-scipy==1.12.0 ; python_version >= "3.9" and python_version < "4.0"
+requests==2.32.3 ; python_version >= "3.9" and python_version < "4.0"
+requests[socks]==2.32.3 ; python_version >= "3.9" and python_version < "4.0"
+rich==13.7.1 ; python_version >= "3.9" and python_version < "4.0"
+scikit-learn==1.5.0 ; python_version >= "3.9" and python_version < "4.0"
+scipy==1.13.1 ; python_version >= "3.9" and python_version < "4.0"
seaborn==0.12.2 ; python_version >= "3.9" and python_version < "4.0"
-setuptools==69.0.3 ; python_version >= "3.9" and python_version < "4.0"
+setuptools==69.5.1 ; python_version >= "3.9" and python_version < "4.0"
six==1.16.0 ; python_version >= "3.9" and python_version < "4.0"
soupsieve==2.5 ; python_version >= "3.9" and python_version < "4.0"
-tensorboard-data-server==0.7.2 ; python_version >= "3.9" and python_version < "4.0"
-tensorboard==2.15.1 ; python_version >= "3.9" and python_version < "4.0"
-threadpoolctl==3.2.0 ; python_version >= "3.9" and python_version < "4.0"
+threadpoolctl==3.5.0 ; python_version >= "3.9" and python_version < "4.0"
torch==1.12.1 ; python_version >= "3.9" and python_version < "4.0"
torchmetrics==0.10.3 ; python_version >= "3.9" and python_version < "4.0"
torchvision==0.13.1 ; python_version >= "3.9" and python_version < "4.0"
-tqdm==4.66.1 ; python_version >= "3.9" and python_version < "4.0"
-typing-extensions==4.9.0 ; python_version >= "3.9" and python_version < "4.0"
-unfoldnd==0.2.1 ; python_version >= "3.9" and python_version < "4.0"
-urllib3==2.2.0 ; python_version >= "3.9" and python_version < "4.0"
-werkzeug==3.0.1 ; python_version >= "3.9" and python_version < "4.0"
-zipp==3.17.0 ; python_version >= "3.9" and python_version < "3.10"
+tqdm==4.66.4 ; python_version >= "3.9" and python_version < "4.0"
+typing-extensions==4.12.2 ; python_version >= "3.9" and python_version < "4.0"
+unfoldnd==0.2.2 ; python_version >= "3.9" and python_version < "4.0"
+urllib3==2.2.2 ; python_version >= "3.9" and python_version < "4.0"
+zipp==3.19.2 ; python_version >= "3.9" and python_version < "3.10"
diff --git a/run_benchmark_slurm.sh b/run_benchmark_slurm.sh
index 6e7fb8f72..81bcc2583 100755
--- a/run_benchmark_slurm.sh
+++ b/run_benchmark_slurm.sh
@@ -1,38 +1,40 @@
#!/bin/bash
-timestamp() {
-# date +"%T" # current time
- date +"%Y-%m-%d_%H-%M-%S"
-}
+# Source the common functions script
+source scripts/sh_benchmark_utils.sh
# CONFIGFILE="examples/yaml/test_helm_benchmark.yaml"
CONFIGFILE=$1
-export DOMAINLAB_CUDA_START_SEED=$2
-
-if [ -z "$2" ]
-then
- echo "argument 2: DOMAINLAB_CUDA_START_SEED empty, will set to 0"
- export DOMAINLAB_CUDA_START_SEED=0
- # in fact, the smk code will hash empty string to zero, see standalone script,
- # but here we just want to ensure the seed is 0 without worrying a different
- # behavior of the hash function
-else
- export DOMAINLAB_CUDA_START_SEED=$2
-fi
+echo "Configuration file: $CONFIGFILE"
+# Check if the second argument is empty and provide feedback
+if [ -z "$2" ]; then
+ echo "argument 2: DOMAINLAB_CUDA_START_SEED empty, will set to 0"
+fi
+# Set DOMAINLAB_CUDA_START_SEED to the second command-line argument if provided,
+# otherwise, default to 0.
+DOMAINLAB_CUDA_START_SEED=${2:-0}
+export DOMAINLAB_CUDA_START_SEED
+echo "argument 2: DOMAINLAB_CUDA_START_SEED=$DOMAINLAB_CUDA_START_SEED"
# ensure all runs sample the same hyperparameters
export DOMAINLAB_CUDA_HYPERPARAM_SEED=0
export NUMBER_GPUS=1
-logdir="zoutput/logs"
-mkdir -p $logdir
-logfile="$logdir/$(timestamp).out"
-echo "Configuration file: $CONFIGFILE"
-echo "starting seed is: $DOMAINLAB_CUDA_START_SEED"
+
+results_dir=$(extract_output_dir "$CONFIGFILE")
+
+echo "Starting seed is: $DOMAINLAB_CUDA_START_SEED"
+echo "Hyperparameter seed is: $DOMAINLAB_CUDA_HYPERPARAM_SEED"
+echo "Number of GPUs: $NUMBER_GPUS"
+echo "Results will be stored in: $results_dir"
+
+logfile=$(create_log_file "$results_dir")
echo "verbose log: $logfile"
-# Helmholtz
-rm -f -R .snakemake
-snakemake --profile "examples/yaml/slurm" --config yaml_file=$CONFIGFILE --keep-going --keep-incomplete --notemp --cores 3 -s "domainlab/exp_protocol/benchmark.smk" --configfile "$CONFIGFILE" 2>&1 | tee "$logfile"
+# Helmholtz
+export logdir="${results_dir}/slurm_logs/"
+echo "slurm logs going into ${logdir}"
+# snakemake --config logdir="zoutput/benchmark/logs" does not seem to work
+snakemake --profile "examples/yaml/slurm" --config yaml_file="$CONFIGFILE" --keep-going --keep-incomplete --notemp --cores 3 -s "domainlab/exp_protocol/benchmark.smk" --configfile "$CONFIGFILE" --config output_dir="$results_dir" 2>&1 | tee "$logfile"
diff --git a/run_benchmark_standalone.sh b/run_benchmark_standalone.sh
index 8f712d1d1..b9a65dd66 100755
--- a/run_benchmark_standalone.sh
+++ b/run_benchmark_standalone.sh
@@ -1,52 +1,45 @@
-set -e
-
-timestamp() {
-# date +"%T" # current time
- date +"%Y-%m-%d_%H-%M-%S"
-}
+#!/bin/bash
+set -e
-logdir="zoutput/logs"
-mkdir -p $logdir
-logfile="$logdir/$(timestamp).out"
-echo "verbose log: $logfile"
-
+# Source the common functions script
+source scripts/sh_benchmark_utils.sh
CONFIGFILE=$1
+echo "Configuration file: $CONFIGFILE"
-
-
-echo "argument 2=$2"
-if [ -z "$2" ]
-then
- echo "argument 2: DOMAINLAB_CUDA_START_SEED empty"
- echo "empty string will be hashed into 0"
+# Check if the second argument is empty and provide feedback
+if [ -z "$2" ]; then
+ echo "argument 2: DOMAINLAB_CUDA_START_SEED empty, will set to 0"
fi
+# Set DOMAINLAB_CUDA_START_SEED to the second command-line argument if provided,
+# otherwise, default to 0.
+DOMAINLAB_CUDA_START_SEED=${2:-0}
+export DOMAINLAB_CUDA_START_SEED
+echo "argument 2: DOMAINLAB_CUDA_START_SEED=$DOMAINLAB_CUDA_START_SEED"
-export DOMAINLAB_CUDA_START_SEED=$2
-
+# Configuring DOMAINLAB_CUDA_HYPERPARAM_SEED
+DOMAINLAB_CUDA_HYPERPARAM_SEED=${3:-0}
+export DOMAINLAB_CUDA_HYPERPARAM_SEED
+echo "argument 3: DOMAINLAB_CUDA_HYPERPARAM_SEED=$DOMAINLAB_CUDA_HYPERPARAM_SEED"
-echo "argument 3: $3"
+echo "argument 4: NUMBER_GPUS=$4"
+NUMBER_GPUS=${4:-1}
+export NUMBER_GPUS
+echo "argument 4: NUMBER_GPUS set to ${NUMBER_GPUS}"
-if [ -z "$3" ]
-then
- echo "argument 3: DOMAINLAB_CUDA_HYPERPARAM_SEED empty, will set to 0"
- export DOMAINLAB_CUDA_HYPERPARAM_SEED=0
-else
- export DOMAINLAB_CUDA_HYPERPARAM_SEED=$3
-fi
+results_dir=$(extract_output_dir "$CONFIGFILE")
+echo "Starting seed is: $DOMAINLAB_CUDA_START_SEED"
+echo "Hyperparameter seed is: $DOMAINLAB_CUDA_HYPERPARAM_SEED"
+echo "Number of GPUs: $NUMBER_GPUS"
+echo "Results will be stored in: $results_dir"
-echo "argument 4: NUMBER_GPUS=$4"
-if [ -z "$4" ]
-then
- export NUMBER_GPUS=1
- echo "argument 4: NUMBER_GPUS set to 1"
- echo "argument 4: NUMBER_GPUS=$NUMBER_GPUS"
-else
- export NUMBER_GPUS=$4
-fi
+logfile=$(create_log_file "$results_dir")
+echo "verbose log: $logfile"
+# copy yaml file into the results folder
+cp $CONFIGFILE $results_dir
# -n: dry-run (A dry run is a software testing process where the effects of a possible failure are intentionally mitigated, For example, there is rsync utility for transfer data over some interface, but user can try rsync with dry-run option to check syntax and test communication without data transferring.)
# -p: print shell commands
@@ -55,14 +48,11 @@ fi
# -- configfile: configuration yaml file of the benchmark
-
-
# first display all tasks
snakemake --rerun-incomplete --cores 1 -s "domainlab/exp_protocol/benchmark.smk" --configfile "$CONFIGFILE" --keep-going --summary # this will give us a clue first what jobs will be run
# second submit the jobs, make sure you have more than 4 cores on your laptop, otherwise adjust the cores
-snakemake --config yaml_file=$CONFIGFILE --rerun-incomplete --resources nvidia_gpu=$NUMBER_GPUS --cores 4 -s "domainlab/exp_protocol/benchmark.smk" --configfile "$CONFIGFILE" 2>&1 | tee "$logfile"
-
+snakemake --config yaml_file="$CONFIGFILE" --rerun-incomplete --resources nvidia_gpu="$NUMBER_GPUS" --cores 4 -s "domainlab/exp_protocol/benchmark.smk" --configfile "$CONFIGFILE" --config output_dir="$results_dir" 2>&1 | tee "$logfile"
# snakemake --rerun-incomplete --cores 1 -s "domainlab/exp_protocol/benchmark.smk" --configfile "examples/yaml/demo_benchmark.yaml"
# snakemake -np -s "domainlab/exp_protocol/benchmark.smk" --configfile "examples/yaml/demo_benchmark.yaml"
diff --git a/ci.sh b/scripts/ci.sh
similarity index 100%
rename from ci.sh
rename to scripts/ci.sh
diff --git a/ci_benchmark.sh b/scripts/ci_benchmark.sh
similarity index 100%
rename from ci_benchmark.sh
rename to scripts/ci_benchmark.sh
diff --git a/ci_pytest_cov.sh b/scripts/ci_pytest_cov.sh
similarity index 100%
rename from ci_pytest_cov.sh
rename to scripts/ci_pytest_cov.sh
diff --git a/ci_run_examples.sh b/scripts/ci_run_examples.sh
similarity index 64%
rename from ci_run_examples.sh
rename to scripts/ci_run_examples.sh
index 9f6b4e041..98e0046a6 100644
--- a/ci_run_examples.sh
+++ b/scripts/ci_run_examples.sh
@@ -3,14 +3,24 @@ set -e # exit upon first error
# >> append content
# > erase original content
-# echo "#!/bin/bash -x -v" > sh_temp_example.sh
-sed -n '/```shell/,/```/ p' docs/doc_examples.md | sed '/^```/ d' >> ./sh_temp_example.sh
-split -l 5 sh_temp_example.sh sh_example_split
-for file in sh_example_split*;
-do (echo "#!/bin/bash -x -v" > "$file"_exe && cat "$file" >> "$file"_exe && bash -x -v "$file"_exe && rm -r zoutput);
+
+files=("docs/docDIAL.md" "docs/docIRM.md" "docs/doc_examples.md" "docs/docHDUVA.md")
+
+for file in "${files[@]}"
+do
+echo "Processing $file"
+# no need to remove sh_temp_algo.sh since the following line overwrite it each time
+echo "#!/bin/bash -x -v" > sh_temp_algo.sh
+# remove code marker ```
+# we use >> here to append to keep the header #!/bin/bash -x -v
+sed -n '/```shell/,/```/ p' $file | sed '/^```/ d' >> ./sh_temp_algo.sh
+cat sh_temp_algo.sh
+bash -x -v -e sh_temp_algo.sh
+# Add your commands to process each file here
+echo "finished with $file"
done
-# bash -x -v -e sh_temp_example.sh
-echo "general examples done"
+
+
echo "#!/bin/bash -x -v" > sh_temp_mnist.sh
sed -n '/```shell/,/```/ p' docs/doc_MNIST_classification.md | sed '/^```/ d' >> ./sh_temp_mnist.sh
diff --git a/clean.sh b/scripts/clean.sh
similarity index 100%
rename from clean.sh
rename to scripts/clean.sh
diff --git a/gen_doc.sh b/scripts/gen_doc.sh
similarity index 100%
rename from gen_doc.sh
rename to scripts/gen_doc.sh
diff --git a/poetry_pytest.sh b/scripts/poetry_pytest.sh
similarity index 100%
rename from poetry_pytest.sh
rename to scripts/poetry_pytest.sh
diff --git a/sbatch4submit_slurm_cpu_10days.sh b/scripts/sbatch4submit_slurm_cpu_10days.sh
similarity index 100%
rename from sbatch4submit_slurm_cpu_10days.sh
rename to scripts/sbatch4submit_slurm_cpu_10days.sh
diff --git a/sbatch4submit_slurm_cpu_3days.sh b/scripts/sbatch4submit_slurm_cpu_3days.sh
similarity index 100%
rename from sbatch4submit_slurm_cpu_3days.sh
rename to scripts/sbatch4submit_slurm_cpu_3days.sh
diff --git a/sh_benchmark_agg.sh b/scripts/sh_benchmark_agg.sh
similarity index 100%
rename from sh_benchmark_agg.sh
rename to scripts/sh_benchmark_agg.sh
diff --git a/scripts/sh_benchmark_utils.sh b/scripts/sh_benchmark_utils.sh
new file mode 100644
index 000000000..b8b214949
--- /dev/null
+++ b/scripts/sh_benchmark_utils.sh
@@ -0,0 +1,27 @@
+#!/bin/bash
+
+# This script contains common functions used in multiple scripts
+
+# Function to generate a timestamp
+timestamp() {
+ date +"%Y-%m-%d_%H-%M-%S"
+}
+
+# Function to create a log file with a timestamp in the name
+create_log_file() {
+ local logdir="$1/snakemake_scheduler_logs"
+ mkdir -p "$logdir"
+ local logfile="$logdir/$(timestamp).out"
+ echo "$logfile"
+}
+
+# Function to extract the output directory from a config file and append a timestamp to it
+extract_output_dir() {
+ local config_file=$1
+ local output_dir=$(awk '/output_dir:/ {print $2}' "$config_file")
+ if [ -z "$output_dir" ]; then
+ echo "Error: output_dir not specified in $config_file"
+ exit 1
+ fi
+ echo "${output_dir}_$(timestamp)"
+}
diff --git a/scripts/sh_download_pacs.sh b/scripts/sh_download_pacs.sh
new file mode 100755
index 000000000..d28473892
--- /dev/null
+++ b/scripts/sh_download_pacs.sh
@@ -0,0 +1,3 @@
+mkdir -p domainlab/zdata/pacs
+cd domainlab/zdata/script
+python3 download_pacs.py
diff --git a/scripts/sh_link_pacs_dataset.sh b/scripts/sh_link_pacs_dataset.sh
index 742f256e5..60823522b 100644
--- a/scripts/sh_link_pacs_dataset.sh
+++ b/scripts/sh_link_pacs_dataset.sh
@@ -1,2 +1,5 @@
+mkdir -p domainlab/zdata/pacs
+ln -s ~/Documents/datasets/pacs/raw domainlab/zdata/pacs/PACS
+
mkdir -p data/pacs
ln -s ~/Documents/datasets/pacs/raw data/pacs/PACS
diff --git a/scripts/sh_list_error.sh b/scripts/sh_list_error.sh
new file mode 100644
index 000000000..cd0c01bef
--- /dev/null
+++ b/scripts/sh_list_error.sh
@@ -0,0 +1,5 @@
+# find $1 -type f -print0 | xargs -0 grep -li error
+# # B means before, A means after, some erros have long stack exception message so we need at least
+# # 100 lines before the error, the last line usually indicate the root cause of error
+grep -B 100 -wnr "error" --group-separator="=========begin_slurm_error===============" $1 > slurm_errors.txt
+cat slurm_errors.txt
diff --git a/scripts/sh_list_job_via_run_experiment_folder1_slurm_id2.sh b/scripts/sh_list_job_via_run_experiment_folder1_slurm_id2.sh
new file mode 100644
index 000000000..5eeb6493b
--- /dev/null
+++ b/scripts/sh_list_job_via_run_experiment_folder1_slurm_id2.sh
@@ -0,0 +1,2 @@
+# find zoutput/benchmarks/xxx/slurm_logs/run_experiment/ | grep -i "$1"
+find $1 | grep -i "$2"
diff --git a/sh_publish.sh b/scripts/sh_publish.sh
similarity index 100%
rename from sh_publish.sh
rename to scripts/sh_publish.sh
diff --git a/scripts/slurm_status.sh b/scripts/slurm_status.sh
new file mode 100755
index 000000000..d60bbcdd9
--- /dev/null
+++ b/scripts/slurm_status.sh
@@ -0,0 +1 @@
+squeue --format="%.8i %.4P %.54j %.1u %.8T %.8M %.8l %.6D %R" -u $1
diff --git a/submit_slurm_via_cpu_10days.sh b/scripts/submit_slurm_via_cpu_10days.sh
similarity index 100%
rename from submit_slurm_via_cpu_10days.sh
rename to scripts/submit_slurm_via_cpu_10days.sh
diff --git a/submit_slurm_via_cpu_3days.sh b/scripts/submit_slurm_via_cpu_3days.sh
similarity index 100%
rename from submit_slurm_via_cpu_3days.sh
rename to scripts/submit_slurm_via_cpu_3days.sh
diff --git a/setup.py b/setup.py
index 3d80b71c9..5ea48277c 100644
--- a/setup.py
+++ b/setup.py
@@ -38,7 +38,7 @@ def copy_dir(dir_path="zdata"):
package_data={
"zdata": [f for f in copy_dir()],
},
- version="0.6.1",
+ version="0.7.0",
description="Library of modular domain generalization for deep learning",
url="https://github.com/marrlab/DomainLab",
author="Xudong Sun, et.al.",
diff --git a/sh_download_pacs.sh b/sh_download_pacs.sh
deleted file mode 100644
index e6b8b2020..000000000
--- a/sh_download_pacs.sh
+++ /dev/null
@@ -1,3 +0,0 @@
-mkdir -p data/pacs
-cd data/script
-python download_pacs.py
diff --git a/sh_list_error.sh b/sh_list_error.sh
deleted file mode 100644
index 5f725e15b..000000000
--- a/sh_list_error.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-# find $1 -type f -print0 | xargs -0 grep -li error
-# B means before, A means after, some erros have long stack exception message so we need at least
-# 100 lines before the error, the last line usually indicate the root cause of error
-grep -B 100 -wnr "error" --group-separator="=========begin_slurm_error===============" $1 > slurm_errors.txt
-cat slurm_errors.txt
diff --git a/sh_list_job_via_slurm_id.sh b/sh_list_job_via_slurm_id.sh
deleted file mode 100644
index d8e2272ce..000000000
--- a/sh_list_job_via_slurm_id.sh
+++ /dev/null
@@ -1 +0,0 @@
-find zoutput/slurm_logs/run_experiment/ | grep -i "$1"
diff --git a/tests/dset_mnist_color_solo_default_test.py b/tests/dset_mnist_color_solo_default_test.py
index 76e32bfdb..454f305e8 100644
--- a/tests/dset_mnist_color_solo_default_test.py
+++ b/tests/dset_mnist_color_solo_default_test.py
@@ -6,45 +6,45 @@ def test_color_mnist():
"""
test_color_mnist
"""
- dset = DsetMNISTColorSoloDefault(0, "zout")
- plot_ds(dset, "zout/color_solo.png")
+ dset = DsetMNISTColorSoloDefault(0, "zoutput")
+ plot_ds(dset, "zoutput/color_solo.png")
ds_list = []
for i in range(10):
- ds_list.append(DsetMNISTColorSoloDefault(i, "zout"))
- plot_ds_list(ds_list, "zout/color_0_9.png")
+ ds_list.append(DsetMNISTColorSoloDefault(i, "zoutput"))
+ plot_ds_list(ds_list, "zoutput/color_0_9.png")
def test_color_mnist2():
"""
test_color_mnist
"""
- dset = DsetMNISTColorSoloDefault(0, "zout", flag_rand_color=True)
- plot_ds(dset, "zout/color_solo.png")
+ dset = DsetMNISTColorSoloDefault(0, "zoutput", flag_rand_color=True)
+ plot_ds(dset, "zoutput/color_solo.png")
ds_list = []
for i in range(10):
- ds_list.append(DsetMNISTColorSoloDefault(i, "zout"))
- plot_ds_list(ds_list, "zout/color_0_9.png")
+ ds_list.append(DsetMNISTColorSoloDefault(i, "zoutput"))
+ plot_ds_list(ds_list, "zoutput/color_0_9.png")
def test_color_mnist3():
"""
test_color_mnist
"""
- dset = DsetMNISTColorSoloDefault(0, "zout", color_scheme="num", raw_split="test")
- plot_ds(dset, "zout/color_solo.png")
+ dset = DsetMNISTColorSoloDefault(0, "zoutput", color_scheme="num", raw_split="test")
+ plot_ds(dset, "zoutput/color_solo.png")
ds_list = []
for i in range(10):
- ds_list.append(DsetMNISTColorSoloDefault(i, "zout"))
- plot_ds_list(ds_list, "zout/color_0_9.png")
+ ds_list.append(DsetMNISTColorSoloDefault(i, "zoutput"))
+ plot_ds_list(ds_list, "zoutput/color_0_9.png")
def test_color_mnist4():
"""
test_color_mnist
"""
- dset = DsetMNISTColorSoloDefault(0, "zout", color_scheme="back", raw_split="test")
- plot_ds(dset, "zout/color_solo.png")
+ dset = DsetMNISTColorSoloDefault(0, "zoutput", color_scheme="back", raw_split="test")
+ plot_ds(dset, "zoutput/color_solo.png")
ds_list = []
for i in range(10):
- ds_list.append(DsetMNISTColorSoloDefault(i, "zout"))
- plot_ds_list(ds_list, "zout/color_0_9.png")
+ ds_list.append(DsetMNISTColorSoloDefault(i, "zoutput"))
+ plot_ds_list(ds_list, "zoutput/color_0_9.png")
diff --git a/tests/dset_poly_domains_mnist_color_default_test.py b/tests/dset_poly_domains_mnist_color_default_test.py
index 1e0661eca..b4c7d71fc 100644
--- a/tests/dset_poly_domains_mnist_color_default_test.py
+++ b/tests/dset_poly_domains_mnist_color_default_test.py
@@ -7,5 +7,5 @@
def test_color_mnist():
- dset = DsetMNISTColorMix(n_domains=3, path="./output/")
+ dset = DsetMNISTColorMix(n_domains=3, path="./zoutput/testsoutput")
plot_ds(dset, "color_mix.png")
diff --git a/tests/dset_subfolder_test.py b/tests/dset_subfolder_test.py
index ccf9bc575..9491bb47c 100644
--- a/tests/dset_subfolder_test.py
+++ b/tests/dset_subfolder_test.py
@@ -10,7 +10,7 @@
def test_fun():
dset = DsetSubFolder(
- root="data/vlcs_mini/caltech",
+ root="domainlab/zdata/vlcs_mini/caltech",
list_class_dir=["auto", "vogel"],
loader=fun_img_path_loader_default,
extensions="jpg",
@@ -23,7 +23,7 @@ def test_fun():
def test_mixed_codec():
"""Check if only images with given extension are loaded."""
dset = DsetSubFolder(
- root="data/mixed_codec/caltech",
+ root="domainlab/zdata/mixed_codec/caltech",
list_class_dir=["auto", "vogel"],
loader=fun_img_path_loader_default,
extensions=None,
@@ -33,7 +33,7 @@ def test_mixed_codec():
assert len(dset.samples) == 6
dset = DsetSubFolder(
- root="data/mixed_codec/caltech",
+ root="domainlab/zdata/mixed_codec/caltech",
list_class_dir=["auto", "vogel"],
loader=fun_img_path_loader_default,
extensions="jpg",
@@ -42,11 +42,11 @@ def test_mixed_codec():
)
assert (
len(dset.samples) == 4
- ), f"data/mixed_codec contains 4 jpg files, but {len(dset.samples)} were loaded."
+ ), f"domainlab/zdata/mixed_codec contains 4 jpg files, but {len(dset.samples)} were loaded."
with pytest.raises(ValueError):
DsetSubFolder(
- root="data/mixed_codec/caltech",
+ root="domainlab/zdata/mixed_codec/caltech",
list_class_dir=["auto", "vogel"],
loader=fun_img_path_loader_default,
extensions="jpg",
@@ -60,7 +60,7 @@ def test_wrong_class_names():
"""Check for error if list_class_dir does not match the subfolders."""
with pytest.raises(RuntimeError):
DsetSubFolder(
- root="data/mixed_codec/caltech",
+ root="domainlab/zdata/mixed_codec/caltech",
list_class_dir=["auto", "haus"],
loader=fun_img_path_loader_default,
extensions=None,
diff --git a/tests/dset_utils_data_test.py b/tests/dset_utils_data_test.py
index 3b618146c..41b580935 100644
--- a/tests/dset_utils_data_test.py
+++ b/tests/dset_utils_data_test.py
@@ -3,7 +3,7 @@
def test_dset_in_mem_decorator():
- dset = DsetMNISTColorSoloDefault(path="../data", ind_color=1)
+ dset = DsetMNISTColorSoloDefault(path="../domainlab/zdata", ind_color=1)
dset_in_memory = DsetInMemDecorator(dset=dset)
dset_in_memory.__len__()
dset_in_memory.__getitem__(0)
diff --git a/tests/test_a_model.py b/tests/test_a_model.py
new file mode 100644
index 000000000..fac060f06
--- /dev/null
+++ b/tests/test_a_model.py
@@ -0,0 +1,69 @@
+"""
+Test a model functionality
+"""
+import pytest
+from domainlab.models.a_model import AModel
+
+class ModelTest(AModel):
+ """
+ A test model class conforming to model naming
+ """
+
+ def __init__(self):
+ super().__init__()
+ self.test_param = 42
+
+ def cal_task_loss(self, tensor_x, tensor_y):
+ return 0
+
+ def _cal_reg_loss(self, tensor_x, tensor_y, tensor_d, others=None):
+ return 0
+
+ @property
+ def metric4msel(self):
+ return ""
+
+
+class InvalidTest(AModel):
+ """
+ A test model class that does not conform to the "Model" prefix naming convention
+ """
+
+ def cal_task_loss(self, tensor_x, tensor_y):
+ return 0
+
+ def _cal_reg_loss(self, tensor_x, tensor_y, tensor_d, others=None):
+ return 0
+
+ @property
+ def metric4msel(self):
+ return ""
+
+
+def test_model_name_valid():
+ """
+ Test a valid model name
+ """
+ model = ModelTest()
+ assert model.name == "test", f"Expected 'test' but got '{model.name}'"
+
+
+def test_model_name_invalid():
+ """
+ Test an invalid model name
+ """
+ model = InvalidTest()
+ with pytest.raises(RuntimeError, match="Model builder node class must start with"):
+ _ = model.name
+
+
+def test_print_parameters(capsys):
+ """
+ Test the printing of parameters
+ """
+ model = ModelTest()
+ model.print_parameters()
+ captured = capsys.readouterr()
+ assert "Parameters of ModelTest:" in captured.out
+ assert "'test_param': 42" in captured.out
+
\ No newline at end of file
diff --git a/tests/test_a_trainer.py b/tests/test_a_trainer.py
new file mode 100644
index 000000000..d4e073ae3
--- /dev/null
+++ b/tests/test_a_trainer.py
@@ -0,0 +1,34 @@
+"""
+Test a trainer functionality
+"""
+
+from domainlab.algos.trainers.a_trainer import AbstractTrainer
+
+class TrainerTest(AbstractTrainer):
+ """
+ A test trainer class conforming to model naming
+ """
+
+ def __init__(self):
+ super().__init__()
+ self.test_param = 42
+
+ def tr_epoch(self, epoch):
+ """
+ :param epoch:
+ """
+
+ def before_tr(self):
+ """
+ before training, probe model performance
+ """
+
+def test_print_parameters(capsys):
+ """
+ Test the printing of parameters
+ """
+ trainer = TrainerTest()
+ trainer.print_parameters()
+ captured = capsys.readouterr()
+ assert "Parameters of TrainerTest:" in captured.out
+ assert "'test_param': 42" in captured.out
diff --git a/tests/test_argparse.py b/tests/test_argparse.py
index 683f66911..2eaaae10b 100644
--- a/tests/test_argparse.py
+++ b/tests/test_argparse.py
@@ -1,14 +1,11 @@
"""
Test argparser functionality
"""
-
import os
import sys
-
import pytest
-
from domainlab.arg_parser import apply_dict_to_args, mk_parser_main, parse_cmd_args
-
+from domainlab.arg_parser import ParseValuesOrKeyValuePairs
def test_parse_cmd_args_warning():
"""Call argparser for command line"""
@@ -54,3 +51,31 @@ def test_apply_dict_to_args():
apply_dict_to_args(args, data, extend=True)
assert args.a == 1
assert args.model == "diva"
+
+def test_store_dict_key_value_valid():
+ """Testing to parse valid gamma_reg value"""
+ parser = mk_parser_main()
+ parser.add_argument("--keypair", action=ParseValuesOrKeyValuePairs)
+ namespace = parser.parse_args(["--keypair", "1"])
+ assert namespace.keypair == 1.0
+
+def test_store_dict_key_value_pair_valid():
+ """Testing to parse valid gamma_reg key value paris"""
+ parser = mk_parser_main()
+ parser.add_argument("--keypair", action=ParseValuesOrKeyValuePairs)
+ namespace = parser.parse_args(["--keypair", "value1=1,value2=2"])
+ assert namespace.keypair == {"value1": 1.0, "value2": 2.0}
+
+def test_store_dict_key_value_invalid():
+ """Testing to parse invalid gamma_reg value"""
+ parser = mk_parser_main()
+ parser.add_argument("--keypair", action=ParseValuesOrKeyValuePairs)
+ with pytest.raises(ValueError):
+ parser.parse_args(["--keypair", "invalid"])
+
+def test_store_dict_key_value_pair_invalid():
+ """Testing to parse invalid gamma_reg key value pairs"""
+ parser = mk_parser_main()
+ parser.add_argument("--keypair", action=ParseValuesOrKeyValuePairs)
+ with pytest.raises(ValueError):
+ parser.parse_args(["--keypair", "value1=1,value2=invalid"])
diff --git a/tests/test_benchmark_plots.py b/tests/test_benchmark_plots.py
index f8018dd5f..855157b7f 100644
--- a/tests/test_benchmark_plots.py
+++ b/tests/test_benchmark_plots.py
@@ -9,10 +9,10 @@ def test_benchm_plots():
test benchmark plots
"""
gen_benchmark_plots(
- "data/ztest_files/aggret_res_test1",
+ "domainlab/zdata/ztest_files/aggret_res_test1",
"zoutput/benchmark_plots_test/outp1",
use_param_index=False,
)
gen_benchmark_plots(
- "data/ztest_files/aggret_res_test2", "zoutput/benchmark_plots_test/outp2"
+ "domainlab/zdata/ztest_files/aggret_res_test2", "zoutput/benchmark_plots_test/outp2"
)
diff --git a/tests/test_causal_irl.py b/tests/test_causal_irl.py
new file mode 100644
index 000000000..5292ef18c
--- /dev/null
+++ b/tests/test_causal_irl.py
@@ -0,0 +1,13 @@
+"""
+ end-end test
+"""
+from tests.utils_test import utils_test_algo
+
+
+def test_causal_irl():
+ """
+ causal irl
+ """
+ args = "--te_d 0 --tr_d 3 7 --bs=32 --debug --task=mnistcolor10 \
+ --model=erm --nname=conv_bn_pool_2 --trainer=causalirl"
+ utils_test_algo(args)
diff --git a/tests/test_coral.py b/tests/test_coral.py
new file mode 100644
index 000000000..8534ee11a
--- /dev/null
+++ b/tests/test_coral.py
@@ -0,0 +1,13 @@
+"""
+ end-end test
+"""
+from tests.utils_test import utils_test_algo
+
+
+def test_coral():
+ """
+ coral
+ """
+ args = "--te_d 0 --tr_d 3 7 --bs=32 --debug --task=mnistcolor10 \
+ --model=erm --nname=conv_bn_pool_2 --trainer=coral"
+ utils_test_algo(args)
diff --git a/tests/test_exp_protocol.py b/tests/test_exp_protocol.py
index 2f9ca03ea..bae262258 100644
--- a/tests/test_exp_protocol.py
+++ b/tests/test_exp_protocol.py
@@ -33,7 +33,7 @@ def utils_run_experiment(yaml_name, list_test_domains, no_run=True):
config["startseed"] = 1
config["endseed"] = 1
config["test_domains"] = list_test_domains
- param_file = "data/ztest_files/test_parameter_samples.csv"
+ param_file = "domainlab/zdata/ztest_files/test_parameter_samples.csv"
param_index = 0
out_file = "zoutput/benchmarks/demo_benchmark/rule_results/0.csv"
diff --git a/tests/test_fbopt.py b/tests/test_fbopt.py
index 1e2859291..c442bf090 100644
--- a/tests/test_fbopt.py
+++ b/tests/test_fbopt.py
@@ -27,6 +27,12 @@ def test_diva_fbopt():
args = "--te_d=caltech --task=mini_vlcs --debug --bs=2 --model=diva --gamma_y=1.0 --trainer=fbopt --nname=alexnet --epos=3"
utils_test_algo(args)
+def test_erm_fbopt():
+ """
+ erm
+ """
+ args = "--te_d=caltech --task=mini_vlcs --debug --bs=2 --model=erm --trainer=fbopt --nname=alexnet --epos=3" # pylint: disable=line-too-long
+ utils_test_algo(args)
def test_forcesetpoint_fbopt():
"""
diff --git a/tests/test_fbopt_irm.py b/tests/test_fbopt_irm.py
new file mode 100644
index 000000000..fb1f109f6
--- /dev/null
+++ b/tests/test_fbopt_irm.py
@@ -0,0 +1,14 @@
+"""
+ end-end test
+"""
+from tests.utils_test import utils_test_algo
+
+
+def test_mhof_irm():
+ """
+ mhof-irm
+ """
+ args = "--te_d=0 --task=mnistcolor10 --model=erm \
+ --trainer=fbopt_irm --nname=conv_bn_pool_2 \
+ --k_i_gain_ratio=0.5"
+ utils_test_algo(args)
diff --git a/tests/test_git_tag.py b/tests/test_git_tag.py
index 2bd96e146..72616a2ed 100644
--- a/tests/test_git_tag.py
+++ b/tests/test_git_tag.py
@@ -19,14 +19,14 @@ def test_git_tag_error():
test git_tag error
"""
# add one line to the file
- with open("data/ztest_files/dummy_file.py", "a") as f:
+ with open("domainlab/zdata/ztest_files/dummy_file.py", "a") as f:
f.write("\n# I am a dummy command")
get_git_tag(print_diff=True)
# delete the last line on the file again
- with open("data/ztest_files/dummy_file.py", "r") as f:
+ with open("domainlab/zdata/ztest_files/dummy_file.py", "r") as f:
lines = f.readlines()
lines = lines[:-1]
- with open("data/ztest_files/dummy_file.py", "w") as f:
+ with open("domainlab/zdata/ztest_files/dummy_file.py", "w") as f:
for num, line in enumerate(lines):
if num == len(lines) - 1:
f.write(line[:-2])
diff --git a/tests/test_hyperparameter_retrieval.py b/tests/test_hyperparameter_retrieval.py
new file mode 100644
index 000000000..a9a141329
--- /dev/null
+++ b/tests/test_hyperparameter_retrieval.py
@@ -0,0 +1,44 @@
+"""
+unit test for hyperparameter parsing
+"""
+import pytest
+from domainlab.arg_parser import mk_parser_main
+from domainlab.utils.hyperparameter_retrieval import get_gamma_reg
+
+def test_store_dict_key_pair_single_value():
+ """Test to parse a single gamma_reg parameter"""
+ parser = mk_parser_main()
+ args = parser.parse_args(['--gamma_reg', '0.5'])
+ assert args.gamma_reg == 0.5
+
+def test_store_dict_key_pair_dict_value():
+ """Test to parse a dict for the gamma_reg"""
+ parser = mk_parser_main()
+ args = parser.parse_args(['--gamma_reg', 'dann=1.0,jigen=2.0'])
+ assert args.gamma_reg == {'dann': 1.0, 'jigen': 2.0}
+
+def test_get_gamma_reg_single_value():
+ """Test to retrieve a single gamma_reg parameter which is applied to all objects"""
+ parser = mk_parser_main()
+ args = parser.parse_args(['--gamma_reg', '0.5'])
+ assert get_gamma_reg(args, 'dann') == 0.5
+
+def test_get_gamma_reg_dict_value():
+ """Test to retrieve a dict of gamma_reg parameters for different objects"""
+ parser = mk_parser_main()
+ args = parser.parse_args(['--gamma_reg', 'default=5.0,dann=1.0,jigen=2.0'])
+ assert get_gamma_reg(args, 'dann') == 1.0
+ assert get_gamma_reg(args, 'jigen') == 2.0
+ assert get_gamma_reg(args, 'nonexistent') == 5.0 # if we implement other
+ # model/trainers,
+ # since not specified in command line arguments, the new model/trainer
+ # called "nonexistent" should
+ # get the default value 5.0.
+
+def test_exception():
+ """Test to not specify a default value"""
+ parser = mk_parser_main()
+ args = parser.parse_args(['--gamma_reg', 'dann=1.0'])
+
+ with pytest.raises(ValueError, match="If a gamma_reg dict is specified"):
+ get_gamma_reg(args, 'jigen')
diff --git a/tests/test_irm.py b/tests/test_irm.py
new file mode 100644
index 000000000..42b12811f
--- /dev/null
+++ b/tests/test_irm.py
@@ -0,0 +1,43 @@
+"""
+end-end test
+"""
+from tests.utils_test import utils_test_algo
+
+
+def test_irm():
+ """
+ train with Invariant Risk Minimization
+ """
+ args = "--te_d=caltech --task=mini_vlcs --debug --bs=2 --model=erm \
+ --trainer=irm --nname=alexnet"
+ utils_test_algo(args)
+
+def test_irm_sepdom():
+ """
+ train with Invariant Risk Minimization
+ """
+ args = "--te_d=caltech --task=mini_vlcs --debug --bs=2 --model=erm \
+ --trainer=irmsepdom --nname=alexnet"
+ utils_test_algo(args)
+
+
+
+
+def test_irm_scheduler():
+ """
+ train with Invariant Risk Minimization
+ """
+ args = "--te_d=caltech --task=mini_vlcs --debug --bs=2 --model=erm \
+ --trainer=hyperscheduler_irm --nname=alexnet"
+ utils_test_algo(args)
+
+
+
+
+def test_irm_mnist():
+ """
+ train with Invariant Risk Minimization
+ """
+ args = "--te_d=0 --task=mnistcolor10 --keep_model --model=erm \
+ --trainer=irm --nname=conv_bn_pool_2"
+ utils_test_algo(args)
diff --git a/tests/test_ma.py b/tests/test_ma.py
new file mode 100644
index 000000000..31b82ac3d
--- /dev/null
+++ b/tests/test_ma.py
@@ -0,0 +1,12 @@
+"""
+unit and end-end test for deep all, mldg
+"""
+from tests.utils_test import utils_test_algo
+
+
+def test_deepall_mldg():
+ """
+ train DeepAll with MLDG
+ """
+ args = "--te_d=caltech --task=mini_vlcs --debug --bs=2 --model=erm --trainer=ma --nname=alexnet"
+ utils_test_algo(args)
diff --git a/tests/test_msel_oracle.py b/tests/test_msel_oracle.py
index 3dfdd6fbe..03012bb18 100644
--- a/tests/test_msel_oracle.py
+++ b/tests/test_msel_oracle.py
@@ -1,108 +1,19 @@
"""
executing mk_exp multiple times will cause deep copy to be called multiple times, pytest will show process got killed.
"""
-from torch import nn
-from torchvision import models as torchvisionmodels
-from torchvision.models import ResNet50_Weights
-
-from domainlab.algos.msels.c_msel_oracle import MSelOracleVisitor
-from domainlab.algos.msels.c_msel_val import MSelValPerf
-from domainlab.algos.observers.b_obvisitor import ObVisitor
-from domainlab.arg_parser import mk_parser_main
-from domainlab.dsets.dset_mnist_color_solo_default import DsetMNISTColorSoloDefault
-from domainlab.exp.exp_main import Exp
-from domainlab.models.model_erm import mk_erm
-from domainlab.tasks.task_dset import mk_task_dset
-from domainlab.tasks.utils_task import ImSize
-from domainlab.utils.utils_cuda import get_device
-
-
-def mk_exp(
- task,
- model,
- trainer: str,
- test_domain: str,
- batchsize: int,
- alone=True,
- force_best_val=False,
- msel_loss_tr=False,
-):
- """
- Creates a custom experiment. The user can specify the input parameters.
-
- Input Parameters:
- - task: create a task to a custom dataset by importing "mk_task_dset"
- function from
- "domainlab.tasks.task_dset". For more explanation on the input params
- refer to the
- documentation found in "domainlab.tasks.task_dset.py".
- - model: create a model [NameOfModel] by importing "mk_[NameOfModel]"
- function from
- "domainlab.models.model_[NameOfModel]". For a concrete example and
- explanation of the input
- params refer to the documentation found in
- "domainlab.models.model_[NameOfModel].py"
- - trainer: string,
- - test_domain: string,
- - batch size: int
-
- Returns: experiment
- """
-
- str_arg = f"--model=apimodel --trainer={trainer} \
- --te_d={test_domain} --bs={batchsize}"
- if msel_loss_tr:
- str_arg = f"--model=apimodel --trainer={trainer} \
- --te_d={test_domain} --bs={batchsize} --msel=loss_tr"
-
- parser = mk_parser_main()
- conf = parser.parse_args(str_arg.split())
- device = get_device(conf)
- if alone:
- model_sel = MSelOracleVisitor()
- else:
- model_sel = MSelOracleVisitor(MSelValPerf(max_es=0))
- if force_best_val:
- model_sel.msel._best_val_acc = 1.0
- observer = ObVisitor(model_sel)
- exp = Exp(conf, task, model=model, observer=observer)
- model_sel.update(clear_counter=True)
- return exp
-
+from tests.utils_task_model import mk_exp, mk_model, mk_task
def test_msel_oracle():
"""
return trainer, model, observer
"""
- task = mk_task_dset(isize=ImSize(3, 28, 28), dim_y=10, taskna="custom_task")
- task.add_domain(
- name="domain1",
- dset_tr=DsetMNISTColorSoloDefault(0),
- dset_val=DsetMNISTColorSoloDefault(1),
- )
- task.add_domain(
- name="domain2",
- dset_tr=DsetMNISTColorSoloDefault(2),
- dset_val=DsetMNISTColorSoloDefault(3),
- )
- task.add_domain(
- name="domain3",
- dset_tr=DsetMNISTColorSoloDefault(4),
- dset_val=DsetMNISTColorSoloDefault(5),
- )
-
# specify backbone to use
- backbone = torchvisionmodels.resnet.resnet50(weights=ResNet50_Weights.IMAGENET1K_V2)
- num_final_in = backbone.fc.in_features
- backbone.fc = nn.Linear(num_final_in, task.dim_y)
-
- # specify model to use
- model = mk_erm(list_str_y=task.list_str_y)(backbone)
-
+ task = mk_task()
+ model = mk_model(task)
# make trainer for model
- exp = mk_exp(task, model, trainer="mldg", test_domain="domain1", batchsize=32)
+ exp = mk_exp(task, model, trainer="mldg", test_domain="domain1", batchsize=2)
exp.execute(num_epochs=2)
-
+ exp.clean_up()
del exp
@@ -110,39 +21,15 @@ def test_msel_oracle1():
"""
return trainer, model, observer
"""
- task = mk_task_dset(isize=ImSize(3, 28, 28), dim_y=10, taskna="custom_task")
- task.add_domain(
- name="domain1",
- dset_tr=DsetMNISTColorSoloDefault(0),
- dset_val=DsetMNISTColorSoloDefault(1),
- )
- task.add_domain(
- name="domain2",
- dset_tr=DsetMNISTColorSoloDefault(2),
- dset_val=DsetMNISTColorSoloDefault(3),
- )
- task.add_domain(
- name="domain3",
- dset_tr=DsetMNISTColorSoloDefault(4),
- dset_val=DsetMNISTColorSoloDefault(5),
- )
-
- # specify backbone to use
- backbone = torchvisionmodels.resnet.resnet50(weights=ResNet50_Weights.IMAGENET1K_V2)
- num_final_in = backbone.fc.in_features
- backbone.fc = nn.Linear(num_final_in, task.dim_y)
-
- # specify model to use
- model = mk_erm(list_str_y=task.list_str_y)(backbone)
-
- # make trainer for model
-
+ task = mk_task()
+ model = mk_model(task)
exp = mk_exp(
- task, model, trainer="mldg", test_domain="domain1", batchsize=32, alone=False
+ task, model, trainer="mldg", test_domain="domain1", batchsize=2, alone=False
)
exp.execute(num_epochs=2)
- exp.trainer.observer.model_sel.msel.update(clear_counter=True)
+ exp.trainer.observer.model_sel.msel.update(epoch=1, clear_counter=True)
+ exp.clean_up()
del exp
@@ -150,116 +37,32 @@ def test_msel_oracle2():
"""
return trainer, model, observer
"""
- task = mk_task_dset(isize=ImSize(3, 28, 28), dim_y=10, taskna="custom_task")
- task.add_domain(
- name="domain1",
- dset_tr=DsetMNISTColorSoloDefault(0),
- dset_val=DsetMNISTColorSoloDefault(1),
- )
- task.add_domain(
- name="domain2",
- dset_tr=DsetMNISTColorSoloDefault(2),
- dset_val=DsetMNISTColorSoloDefault(3),
- )
- task.add_domain(
- name="domain3",
- dset_tr=DsetMNISTColorSoloDefault(4),
- dset_val=DsetMNISTColorSoloDefault(5),
- )
-
- # specify backbone to use
- backbone = torchvisionmodels.resnet.resnet50(weights=ResNet50_Weights.IMAGENET1K_V2)
- num_final_in = backbone.fc.in_features
- backbone.fc = nn.Linear(num_final_in, task.dim_y)
-
- # specify model to use
- model = mk_erm(list_str_y=task.list_str_y)(backbone)
+ task = mk_task()
+ model = mk_model(task)
# make trainer for model
- exp = mk_exp(task, model, trainer="mldg", test_domain="domain1", batchsize=32)
+ exp = mk_exp(task, model, trainer="mldg", test_domain="domain1", batchsize=2)
exp.execute(num_epochs=2)
+ exp.clean_up()
+ del exp
def test_msel_oracle3():
"""
return trainer, model, observer
"""
- task = mk_task_dset(isize=ImSize(3, 28, 28), dim_y=10, taskna="custom_task")
- task.add_domain(
- name="domain1",
- dset_tr=DsetMNISTColorSoloDefault(0),
- dset_val=DsetMNISTColorSoloDefault(1),
- )
- task.add_domain(
- name="domain2",
- dset_tr=DsetMNISTColorSoloDefault(2),
- dset_val=DsetMNISTColorSoloDefault(3),
- )
- task.add_domain(
- name="domain3",
- dset_tr=DsetMNISTColorSoloDefault(4),
- dset_val=DsetMNISTColorSoloDefault(5),
- )
-
- # specify backbone to use
- backbone = torchvisionmodels.resnet.resnet50(weights=ResNet50_Weights.IMAGENET1K_V2)
- num_final_in = backbone.fc.in_features
- backbone.fc = nn.Linear(num_final_in, task.dim_y)
-
- # specify model to use
- model = mk_erm(list_str_y=task.list_str_y)(backbone)
+ task = mk_task()
+ model = mk_model(task)
exp = mk_exp(
task,
model,
trainer="mldg",
test_domain="domain1",
- batchsize=32,
+ batchsize=2,
alone=False,
force_best_val=True,
)
exp.execute(num_epochs=2)
- del exp
-
-
-def test_msel_oracle4():
- """
- return trainer, model, observer
- """
- task = mk_task_dset(isize=ImSize(3, 28, 28), dim_y=10, taskna="custom_task")
- task.add_domain(
- name="domain1",
- dset_tr=DsetMNISTColorSoloDefault(0),
- dset_val=DsetMNISTColorSoloDefault(1),
- )
- task.add_domain(
- name="domain2",
- dset_tr=DsetMNISTColorSoloDefault(2),
- dset_val=DsetMNISTColorSoloDefault(3),
- )
- task.add_domain(
- name="domain3",
- dset_tr=DsetMNISTColorSoloDefault(4),
- dset_val=DsetMNISTColorSoloDefault(5),
- )
-
- # specify backbone to use
- backbone = torchvisionmodels.resnet.resnet50(weights=ResNet50_Weights.IMAGENET1K_V2)
- num_final_in = backbone.fc.in_features
- backbone.fc = nn.Linear(num_final_in, task.dim_y)
-
- # specify model to use
- model = mk_erm(list_str_y=task.list_str_y)(backbone)
- exp = mk_exp(
- task,
- model,
- trainer="mldg",
- test_domain="domain1",
- batchsize=32,
- alone=False,
- msel_loss_tr=True,
- )
- exp.execute(num_epochs=2)
- exp.trainer.observer.model_sel.msel.best_loss = 0
- exp.trainer.observer.model_sel.msel.update(clear_counter=True)
+ exp.clean_up()
del exp
diff --git a/tests/test_msel_oracle2.py b/tests/test_msel_oracle2.py
new file mode 100644
index 000000000..651a38f2b
--- /dev/null
+++ b/tests/test_msel_oracle2.py
@@ -0,0 +1,27 @@
+"""
+executing mk_exp multiple times will cause deep copy to be called multiple times, pytest will show process got killed.
+"""
+from tests.utils_task_model import mk_exp, mk_model, mk_task
+
+
+def test_msel_oracle4():
+ """
+ return trainer, model, observer
+ """
+ task = mk_task()
+ model = mk_model(task)
+ # specify backbone to use
+ exp = mk_exp(
+ task,
+ model,
+ trainer="mldg",
+ test_domain="domain1",
+ batchsize=2,
+ alone=False,
+ msel_loss_tr=True,
+ )
+ exp.execute(num_epochs=2)
+ exp.trainer.observer.model_sel.msel.best_loss = 0
+ exp.trainer.observer.model_sel.msel.update(epoch=1, clear_counter=True)
+ exp.clean_up()
+ del exp
diff --git a/tests/test_number_batches_loss_ratio_estimate.py b/tests/test_number_batches_loss_ratio_estimate.py
new file mode 100644
index 000000000..70d662c52
--- /dev/null
+++ b/tests/test_number_batches_loss_ratio_estimate.py
@@ -0,0 +1,24 @@
+"""
+loss ratio estimate
+"""
+from tests.utils_test import utils_test_algo
+
+
+def test_loss_ratio_estimate0():
+ """
+ test different number of batches
+ """
+ args = "--te_d=0 --tr_d 2 4 --task=mnistcolor10 --debug --bs=8 \
+ --model=erm --trainer=mldg --nname=conv_bn_pool_2 \
+ --nb4reg_over_task_ratio=0"
+ utils_test_algo(args)
+
+
+def test_loss_ratio_estimate100():
+ """
+ test different number of batches
+ """
+ args = "--te_d=0 --tr_d 2 4 --task=mnistcolor10 --debug --bs=8 \
+ --model=erm --trainer=mldg --nname=conv_bn_pool_2 \
+ --nb4reg_over_task_ratio=100"
+ utils_test_algo(args)
diff --git a/tests/test_run_experiment.py b/tests/test_run_experiment.py
index b22593a91..98cc5201d 100644
--- a/tests/test_run_experiment.py
+++ b/tests/test_run_experiment.py
@@ -18,7 +18,7 @@ def test_run_experiment():
config["startseed"] = 1
config["endseed"] = 1
config["test_domains"] = ["caltech"]
- param_file = "data/ztest_files/test_parameter_samples.csv"
+ param_file = "domainlab/zdata/ztest_files/test_parameter_samples.csv"
param_index = 0
out_file = "zoutput/benchmarks/demo_benchmark/rule_results/0.csv"
@@ -41,7 +41,7 @@ def test_run_experiment_parameter_doubling_error():
config["endseed"] = 1
config["test_domains"] = ["caltech"]
config["diva"]["gamma_y"] = 1e4
- param_file = "data/ztest_files/test_parameter_samples.csv"
+ param_file = "domainlab/zdata/ztest_files/test_parameter_samples.csv"
param_index = 0
out_file = "zoutput/benchmarks/demo_benchmark/rule_results/0.csv"
@@ -58,7 +58,7 @@ def test_run_experiment_parameter_doubling_error():
config["endseed"] = 1
config["test_domains"] = ["caltech"]
config["domainlab_args"]["gamma_y"] = 1e4
- param_file = "data/ztest_files/test_parameter_samples.csv"
+ param_file = "domainlab/zdata/ztest_files/test_parameter_samples.csv"
param_index = 0
out_file = "zoutput/benchmarks/demo_benchmark/rule_results/0.csv"
diff --git a/tests/test_task_folder.py b/tests/test_task_folder.py
index 3b78b5f2c..ed2683a23 100644
--- a/tests/test_task_folder.py
+++ b/tests/test_task_folder.py
@@ -36,9 +36,9 @@ def test_fun():
),
isize=ImSize(3, 224, 224),
dict_domain2imgroot={
- "caltech": "data/vlcs_mini/caltech/",
- "sun": "data/vlcs_mini/sun/",
- "labelme": "data/vlcs_mini/labelme/",
+ "caltech": "domainlab/zdata/vlcs_mini/caltech/",
+ "sun": "domainlab/zdata/vlcs_mini/sun/",
+ "labelme": "domainlab/zdata/vlcs_mini/labelme/",
},
taskna="mini_vlcs",
succ=None,
@@ -99,9 +99,9 @@ def test_mk_task_folder():
},
isize=ImSize(3, 224, 224),
dict_domain2imgroot={
- "caltech": "data/vlcs_mini/caltech/",
- "sun": "data/vlcs_mini/sun/",
- "labelme": "data/vlcs_mini/labelme/",
+ "caltech": "domainlab/zdata/vlcs_mini/caltech/",
+ "sun": "domainlab/zdata/vlcs_mini/sun/",
+ "labelme": "domainlab/zdata/vlcs_mini/labelme/",
},
taskna="mini_vlcs",
)
@@ -133,9 +133,9 @@ def test_none_extensions():
),
isize=ImSize(3, 224, 224),
dict_domain2imgroot={
- "caltech": "data/vlcs_mini/caltech/",
- "labelme": "data/vlcs_mini/labelme/",
- "sun": "data/vlcs_mini/sun/",
+ "caltech": "domainlab/zdata/vlcs_mini/caltech/",
+ "labelme": "domainlab/zdata/vlcs_mini/labelme/",
+ "sun": "domainlab/zdata/vlcs_mini/sun/",
},
taskna="mini_vlcs",
succ=None,
@@ -169,8 +169,8 @@ def test_none_extensions():
),
isize=ImSize(3, 224, 224),
dict_domain2imgroot={
- "caltech": "data/mixed_codec/caltech/",
- "sun": "data/mixed_codec/sun/",
+ "caltech": "domainlab/zdata/mixed_codec/caltech/",
+ "sun": "domainlab/zdata/mixed_codec/sun/",
},
taskna="mixed_codec",
succ=None,
@@ -208,8 +208,8 @@ def test_none_extensions():
),
isize=ImSize(3, 224, 224),
dict_domain2imgroot={
- "caltech": "data/mixed_codec/caltech/",
- "sun": "data/mixed_codec/sun/",
+ "caltech": "domainlab/zdata/mixed_codec/caltech/",
+ "sun": "domainlab/zdata/mixed_codec/sun/",
},
taskna="mixed_codec",
succ=None,
@@ -231,8 +231,8 @@ def pacs_node():
node.extensions = ("jpg",)
node.list_str_y = ["dog", "elephant"]
node.dict_domain2imgroot = {
- "cartoon": "data/pacs_mini_10/cartoon/",
- "photo": "data/pacs_mini_10/photo/",
+ "cartoon": "domainlab/zdata/pacs_mini_10/cartoon/",
+ "photo": "domainlab/zdata/pacs_mini_10/photo/",
}
return node
diff --git a/tests/utils_task_model.py b/tests/utils_task_model.py
new file mode 100644
index 000000000..4fa70796a
--- /dev/null
+++ b/tests/utils_task_model.py
@@ -0,0 +1,94 @@
+from torch import nn
+from torchvision import models as torchvisionmodels
+from torchvision.models import ResNet50_Weights
+
+from domainlab.algos.msels.c_msel_oracle import MSelOracleVisitor
+from domainlab.algos.msels.c_msel_val import MSelValPerf
+from domainlab.algos.observers.b_obvisitor import ObVisitor
+from domainlab.arg_parser import mk_parser_main
+from domainlab.dsets.dset_mnist_color_solo_default import DsetMNISTColorSoloDefault
+from domainlab.exp.exp_main import Exp
+from domainlab.models.model_erm import mk_erm
+from domainlab.tasks.task_dset import mk_task_dset
+from domainlab.tasks.utils_task import ImSize
+
+
+def mk_model(task):
+ backbone = torchvisionmodels.resnet.resnet50(weights=ResNet50_Weights.IMAGENET1K_V2)
+ num_final_in = backbone.fc.in_features
+ backbone.fc = nn.Linear(num_final_in, task.dim_y)
+
+ # specify model to use
+ model = mk_erm(list_str_y=task.list_str_y)(backbone)
+ return model
+
+def mk_exp(
+ task,
+ model,
+ trainer: str,
+ test_domain: str,
+ batchsize: int,
+ alone=True,
+ force_best_val=False,
+ msel_loss_tr=False,
+):
+ """
+ Creates a custom experiment. The user can specify the input parameters.
+
+ Input Parameters:
+ - task: create a task to a custom dataset by importing "mk_task_dset"
+ function from
+ "domainlab.tasks.task_dset". For more explanation on the input params
+ refer to the
+ documentation found in "domainlab.tasks.task_dset.py".
+ - model: create a model [NameOfModel] by importing "mk_[NameOfModel]"
+ function from
+ "domainlab.models.model_[NameOfModel]". For a concrete example and
+ explanation of the input
+ params refer to the documentation found in
+ "domainlab.models.model_[NameOfModel].py"
+ - trainer: string,
+ - test_domain: string,
+ - batch size: int
+
+ Returns: experiment
+ """
+
+ str_arg = f"--model=apimodel --trainer={trainer} \
+ --te_d={test_domain} --bs={batchsize}"
+ if msel_loss_tr:
+ str_arg = f"--model=apimodel --trainer={trainer} \
+ --te_d={test_domain} --bs={batchsize} --msel=loss_tr"
+
+ parser = mk_parser_main()
+ conf = parser.parse_args(str_arg.split())
+ if alone:
+ model_sel = MSelOracleVisitor()
+ else:
+ model_sel = MSelOracleVisitor(MSelValPerf(max_es=0))
+ if force_best_val:
+ model_sel.msel._best_val_acc = 1.0
+ observer = ObVisitor(model_sel)
+ exp = Exp(conf, task, model=model, observer=observer)
+ model_sel.update(epoch=1, clear_counter=True)
+ return exp
+
+
+def mk_task():
+ task = mk_task_dset(isize=ImSize(3, 28, 28), dim_y=10, taskna="custom_task")
+ task.add_domain(
+ name="domain1",
+ dset_tr=DsetMNISTColorSoloDefault(0),
+ dset_val=DsetMNISTColorSoloDefault(1),
+ )
+ task.add_domain(
+ name="domain2",
+ dset_tr=DsetMNISTColorSoloDefault(2),
+ dset_val=DsetMNISTColorSoloDefault(3),
+ )
+ task.add_domain(
+ name="domain3",
+ dset_tr=DsetMNISTColorSoloDefault(4),
+ dset_val=DsetMNISTColorSoloDefault(5),
+ )
+ return task