From c1e396fed9260cc909a3224ebcff5cf167403823 Mon Sep 17 00:00:00 2001 From: Julian Dorn Date: Wed, 10 Jul 2024 19:56:04 +0200 Subject: [PATCH] add hub settings + prepare for generation 2 - set generation, query_level for hub - move many files to prepare for generation 2 - teacher can set default generation for new hubs - clean up sql views - add sql.ai view but only for "sponsors" --- .env.example | 8 +- app/Helpers/HubHelper.php | 18 + app/Http/Controllers/FileController.php | 26 +- app/Http/Controllers/HubController.php | 17 +- app/Http/Controllers/SqlController.php | 14 + app/Livewire/Admin/Sql.php | 64 +- app/Livewire/Admin/SqlAi.php | 150 ++ app/Livewire/Admin/SqlBuilder.php | 38 +- app/Livewire/Hub/Index.php | 26 +- app/Livewire/UserHubSettings.php | 55 + app/Models/Hub.php | 5 +- app/Models/User.php | 1 + composer.json | 1 + composer.lock | 231 ++- config/azure.php | 8 + config/hub.php | 11 + ..._add_hub_related_fields_to_users_table.php | 28 + ...neration_and_query_level_to_hubs_table.php | 24 + ...neration_and_query_level_to_hubs_table.php | 24 + .../{ => Generation1}/AdsTableSeeder.php | 2 +- .../AnalyticsTableSeeder.php | 2 +- .../{ => Generation1}/CommentsTableSeeder.php | 2 +- .../{ => Generation1}/DatabaseSeeder.php | 2 +- .../{ => Generation1}/FollowsTableSeeder.php | 2 +- .../{ => Generation1}/LikesTableSeeder.php | 2 +- .../{ => Generation1}/PhotosTableSeeder.php | 2 +- .../{ => Generation1}/TagsTableSeeder.php | 2 +- .../{ => Generation1}/UsersTableSeeder.php | 2 +- lang/de.json | 18 +- resources/views/about.blade.php | 2 +- resources/views/admin/ai.blade.php | 21 + .../admin/partials/result-table.blade.php | 32 + resources/views/auth/login.blade.php | 2 +- resources/views/hub/index.blade.php | 4 + resources/views/layouts/app.blade.php | 3 +- .../views/livewire/admin/sql-ai.blade.php | 53 + .../livewire/admin/sql-builder.blade.php | 11 +- resources/views/livewire/admin/sql.blade.php | 26 +- resources/views/livewire/hub/index.blade.php | 17 +- .../livewire/user-hub-settings.blade.php | 47 + resources/views/welcome.blade.php | 2 +- routes/web.php | 2 + storage/app/.gitignore | 1742 +---------------- .../app/avatars/{ => generation_1}/000.jpg | Bin .../app/avatars/{ => generation_1}/001.jpg | Bin .../app/avatars/{ => generation_1}/002.jpg | Bin .../app/avatars/{ => generation_1}/003.jpg | Bin .../app/avatars/{ => generation_1}/004.jpg | Bin .../app/avatars/{ => generation_1}/005.jpg | Bin .../app/avatars/{ => generation_1}/006.jpg | Bin .../app/avatars/{ => generation_1}/007.jpg | Bin .../app/avatars/{ => generation_1}/008.jpg | Bin .../app/avatars/{ => generation_1}/009.jpg | Bin .../app/avatars/{ => generation_1}/010.jpg | Bin .../app/avatars/{ => generation_1}/011.jpg | Bin .../app/avatars/{ => generation_1}/012.jpg | Bin .../app/avatars/{ => generation_1}/013.jpg | Bin .../app/avatars/{ => generation_1}/014.jpg | Bin .../app/avatars/{ => generation_1}/015.jpg | Bin .../app/avatars/{ => generation_1}/016.jpg | Bin .../app/avatars/{ => generation_1}/017.jpg | Bin .../app/avatars/{ => generation_1}/018.jpg | Bin .../app/avatars/{ => generation_1}/019.jpg | Bin .../app/avatars/{ => generation_1}/020.jpg | Bin .../app/avatars/{ => generation_1}/021.jpg | Bin .../app/avatars/{ => generation_1}/022.jpg | Bin .../app/avatars/{ => generation_1}/023.jpg | Bin .../app/avatars/{ => generation_1}/024.jpg | Bin .../app/avatars/{ => generation_1}/025.jpg | Bin .../app/avatars/{ => generation_1}/026.jpg | Bin .../app/avatars/{ => generation_1}/027.jpg | Bin .../app/avatars/{ => generation_1}/028.jpg | Bin .../app/avatars/{ => generation_1}/029.jpg | Bin .../app/avatars/{ => generation_1}/030.jpg | Bin .../app/avatars/{ => generation_1}/031.jpg | Bin .../app/avatars/{ => generation_1}/032.jpg | Bin .../app/avatars/{ => generation_1}/033.jpg | Bin .../app/avatars/{ => generation_1}/034.jpg | Bin .../app/avatars/{ => generation_1}/035.jpg | Bin .../app/avatars/{ => generation_1}/036.jpg | Bin .../app/avatars/{ => generation_1}/037.jpg | Bin .../app/avatars/{ => generation_1}/038.jpg | Bin .../app/avatars/{ => generation_1}/039.jpg | Bin .../app/avatars/{ => generation_1}/040.jpg | Bin .../app/avatars/{ => generation_1}/041.jpg | Bin .../app/avatars/{ => generation_1}/042.jpg | Bin .../app/avatars/{ => generation_1}/043.jpg | Bin .../app/avatars/{ => generation_1}/044.jpg | Bin .../app/avatars/{ => generation_1}/045.jpg | Bin .../app/avatars/{ => generation_1}/046.jpg | Bin .../app/avatars/{ => generation_1}/047.jpg | Bin .../app/avatars/{ => generation_1}/048.jpg | Bin .../app/avatars/{ => generation_1}/049.jpg | Bin .../app/avatars/{ => generation_1}/050.jpg | Bin .../app/avatars/{ => generation_1}/051.jpg | Bin .../app/avatars/{ => generation_1}/052.jpg | Bin .../app/avatars/{ => generation_1}/053.jpg | Bin .../app/avatars/{ => generation_1}/054.jpg | Bin .../app/avatars/{ => generation_1}/055.jpg | Bin .../app/avatars/{ => generation_1}/056.jpg | Bin .../app/avatars/{ => generation_1}/057.jpg | Bin .../app/avatars/{ => generation_1}/058.jpg | Bin .../app/avatars/{ => generation_1}/059.jpg | Bin .../app/avatars/{ => generation_1}/060.jpg | Bin .../app/avatars/{ => generation_1}/061.jpg | Bin .../app/avatars/{ => generation_1}/062.jpg | Bin .../app/avatars/{ => generation_1}/063.jpg | Bin .../app/avatars/{ => generation_1}/064.jpg | Bin .../app/avatars/{ => generation_1}/065.jpg | Bin .../app/avatars/{ => generation_1}/066.jpg | Bin .../app/avatars/{ => generation_1}/067.jpg | Bin .../app/avatars/{ => generation_1}/068.jpg | Bin .../app/avatars/{ => generation_1}/069.jpg | Bin .../app/avatars/{ => generation_1}/070.jpg | Bin .../app/avatars/{ => generation_1}/071.jpg | Bin .../app/avatars/{ => generation_1}/072.jpg | Bin .../app/avatars/{ => generation_1}/073.jpg | Bin .../app/avatars/{ => generation_1}/074.jpg | Bin .../app/avatars/{ => generation_1}/075.jpg | Bin .../app/avatars/{ => generation_1}/076.jpg | Bin .../app/avatars/{ => generation_1}/077.jpg | Bin .../app/avatars/{ => generation_1}/078.jpg | Bin .../app/avatars/{ => generation_1}/079.jpg | Bin .../app/avatars/{ => generation_1}/080.jpg | Bin .../app/avatars/{ => generation_1}/081.jpg | Bin .../app/avatars/{ => generation_1}/082.jpg | Bin .../app/avatars/{ => generation_1}/083.jpg | Bin .../app/avatars/{ => generation_1}/084.jpg | Bin .../app/avatars/{ => generation_1}/085.jpg | Bin .../app/avatars/{ => generation_1}/086.jpg | Bin .../app/avatars/{ => generation_1}/087.jpg | Bin .../app/avatars/{ => generation_1}/088.jpg | Bin .../app/avatars/{ => generation_1}/089.jpg | Bin .../app/avatars/{ => generation_1}/090.jpg | Bin .../app/avatars/{ => generation_1}/091.jpg | Bin .../app/avatars/{ => generation_1}/092.jpg | Bin .../app/avatars/{ => generation_1}/093.jpg | Bin .../app/avatars/{ => generation_1}/094.jpg | Bin .../app/avatars/{ => generation_1}/095.jpg | Bin .../app/avatars/{ => generation_1}/096.jpg | Bin .../app/avatars/{ => generation_1}/097.jpg | Bin .../app/avatars/{ => generation_1}/098.jpg | Bin .../app/avatars/{ => generation_1}/099.jpg | Bin .../app/avatars/{ => generation_1}/100.jpg | Bin .../app/avatars/{ => generation_1}/101.jpg | Bin .../app/avatars/{ => generation_1}/102.jpg | Bin .../app/avatars/{ => generation_1}/103.jpg | Bin .../app/avatars/{ => generation_1}/104.jpg | Bin .../app/avatars/{ => generation_1}/105.jpg | Bin .../app/avatars/{ => generation_1}/106.jpg | Bin .../app/avatars/{ => generation_1}/107.jpg | Bin .../app/avatars/{ => generation_1}/108.jpg | Bin .../app/avatars/{ => generation_1}/109.jpg | Bin .../app/avatars/{ => generation_1}/110.jpg | Bin .../app/avatars/{ => generation_1}/111.jpg | Bin .../app/avatars/{ => generation_1}/112.jpg | Bin .../app/avatars/{ => generation_1}/113.jpg | Bin .../app/avatars/{ => generation_1}/114.jpg | Bin .../app/avatars/{ => generation_1}/115.jpg | Bin .../app/avatars/{ => generation_1}/116.jpg | Bin .../app/avatars/{ => generation_1}/117.jpg | Bin .../app/avatars/{ => generation_1}/118.jpg | Bin .../app/avatars/{ => generation_1}/119.jpg | Bin .../app/avatars/{ => generation_1}/120.jpg | Bin .../app/avatars/{ => generation_1}/121.jpg | Bin .../app/avatars/{ => generation_1}/122.jpg | Bin .../app/avatars/{ => generation_1}/123.jpg | Bin .../app/avatars/{ => generation_1}/124.jpg | Bin .../app/avatars/{ => generation_1}/125.jpg | Bin .../app/avatars/{ => generation_1}/126.jpg | Bin .../app/avatars/{ => generation_1}/127.jpg | Bin .../app/avatars/{ => generation_1}/128.jpg | Bin .../app/avatars/{ => generation_1}/129.jpg | Bin .../app/avatars/{ => generation_1}/130.jpg | Bin .../app/avatars/{ => generation_1}/131.jpg | Bin .../app/avatars/{ => generation_1}/132.jpg | Bin .../app/avatars/{ => generation_1}/133.jpg | Bin .../app/avatars/{ => generation_1}/134.jpg | Bin .../app/avatars/{ => generation_1}/135.jpg | Bin .../app/avatars/{ => generation_1}/136.jpg | Bin .../app/avatars/{ => generation_1}/137.jpg | Bin .../app/avatars/{ => generation_1}/138.jpg | Bin .../app/avatars/{ => generation_1}/139.jpg | Bin .../app/avatars/{ => generation_1}/140.jpg | Bin .../app/avatars/{ => generation_1}/141.jpg | Bin .../app/avatars/{ => generation_1}/142.jpg | Bin .../app/avatars/{ => generation_1}/143.jpg | Bin .../app/avatars/{ => generation_1}/144.jpg | Bin .../app/avatars/{ => generation_1}/145.jpg | Bin .../app/avatars/{ => generation_1}/146.jpg | Bin .../app/avatars/{ => generation_1}/147.jpg | Bin .../app/avatars/{ => generation_1}/148.jpg | Bin .../app/avatars/{ => generation_1}/149.jpg | Bin .../app/avatars/{ => generation_1}/150.jpg | Bin .../app/avatars/{ => generation_1}/151.jpg | Bin .../app/avatars/{ => generation_1}/152.jpg | Bin .../app/avatars/{ => generation_1}/153.jpg | Bin .../app/avatars/{ => generation_1}/154.jpg | Bin .../app/avatars/{ => generation_1}/155.jpg | Bin .../app/avatars/{ => generation_1}/156.jpg | Bin .../app/avatars/{ => generation_1}/157.jpg | Bin .../app/avatars/{ => generation_1}/158.jpg | Bin .../app/avatars/{ => generation_1}/159.jpg | Bin .../app/avatars/{ => generation_1}/160.jpg | Bin .../app/avatars/{ => generation_1}/161.jpg | Bin .../app/avatars/{ => generation_1}/162.jpg | Bin .../app/avatars/{ => generation_1}/163.jpg | Bin .../app/avatars/{ => generation_1}/164.jpg | Bin .../app/avatars/{ => generation_1}/165.jpg | Bin .../app/avatars/{ => generation_1}/166.jpg | Bin .../app/avatars/{ => generation_1}/167.jpg | Bin .../app/avatars/{ => generation_1}/168.jpg | Bin .../app/avatars/{ => generation_1}/169.jpg | Bin .../app/avatars/{ => generation_1}/170.jpg | Bin .../app/avatars/{ => generation_1}/171.jpg | Bin .../app/avatars/{ => generation_1}/172.jpg | Bin .../app/avatars/{ => generation_1}/173.jpg | Bin .../app/avatars/{ => generation_1}/174.jpg | Bin .../app/avatars/{ => generation_1}/175.jpg | Bin .../app/avatars/{ => generation_1}/176.jpg | Bin .../app/avatars/{ => generation_1}/177.jpg | Bin .../app/avatars/{ => generation_1}/178.jpg | Bin .../app/avatars/{ => generation_1}/179.jpg | Bin .../app/avatars/{ => generation_1}/180.jpg | Bin .../app/avatars/{ => generation_1}/181.jpg | Bin .../app/avatars/{ => generation_1}/182.jpg | Bin .../app/avatars/{ => generation_1}/183.jpg | Bin .../app/avatars/{ => generation_1}/184.jpg | Bin .../app/avatars/{ => generation_1}/185.jpg | Bin .../app/avatars/{ => generation_1}/186.jpg | Bin .../app/avatars/{ => generation_1}/187.jpg | Bin .../app/avatars/{ => generation_1}/188.jpg | Bin .../app/avatars/{ => generation_1}/189.jpg | Bin .../app/avatars/{ => generation_1}/190.jpg | Bin .../app/avatars/{ => generation_1}/191.jpg | Bin .../app/avatars/{ => generation_1}/192.jpg | Bin .../app/avatars/{ => generation_1}/193.jpg | Bin .../app/avatars/{ => generation_1}/194.jpg | Bin .../app/avatars/{ => generation_1}/195.jpg | Bin .../app/avatars/{ => generation_1}/196.jpg | Bin .../app/avatars/{ => generation_1}/197.jpg | Bin .../app/avatars/{ => generation_1}/198.jpg | Bin .../app/avatars/{ => generation_1}/199.jpg | Bin .../app/avatars/{ => generation_1}/200.jpg | Bin .../app/avatars/{ => generation_1}/201.jpg | Bin .../app/avatars/{ => generation_1}/202.jpg | Bin .../app/avatars/{ => generation_1}/203.jpg | Bin .../app/avatars/{ => generation_1}/204.jpg | Bin .../app/avatars/{ => generation_1}/205.jpg | Bin .../app/avatars/{ => generation_1}/206.jpg | Bin .../abendstimmung-eb33b40628_960.jpg | Bin .../abendstimmung-eb33b80b21_960.jpg | Bin .../abstract-eb32b00a2b_960.jpg | Bin .../acorn-eb32b40b28_960.jpg | Bin .../adam-whitlock-I9j8Rk-JYFM-unsplash.jpg | Bin .../adler-eb32b20f29_960.jpg | Bin .../adler-eb33b00e2d_960.jpg | Bin .../adler-eb36b9092b_960.jpg | Bin .../adventure-eb30b3072c_960.jpg | Bin .../agaric-eb33b2072f_960.jpg | Bin .../agaric-eb33b40929_960.jpg | Bin .../agriculture-e83db1082d_960.jpg | Bin .../air-bag-e833b8092c_960.jpg | Bin .../aircraft-e83db00c2f_960.jpg | Bin .../aircraft-eb32b2092e_960.jpg | Bin .../airplane-ea34b10f2a_960.jpg | Bin .../alabama-eb33b70928_960.jpg | Bin .../alarm-clock-eb34b20d2a_960.jpg | Bin .../alarm-clock-eb34b60a2b_960.jpg | Bin .../alhambra-ea35b8072e_960.jpg | Bin .../alhambra-eb32b00a2f_960.jpg | Bin .../alpaca-eb32b5082c_960.jpg | Bin .../alpaca-eb37b00b2e_960.jpg | Bin .../alta-badia-eb33b60c2a_960.jpg | Bin .../ama-dablam-eb35b70b2d_960.jpg | Bin .../amanita-eb32b5092e_960.jpg | Bin .../amusement-eb31b40921_960.jpg | Bin .../analytics-eb33b80821_960.jpg | Bin .../ancient-e832b80c2c_960.jpg | Bin .../anemone-eb32b00d2b_960.jpg | Bin .../angel-e83db80e2c_960.jpg | Bin .../angel-eb30b20b20_960.jpg | Bin .../animal-e832b9072a_960.jpg | Bin .../animal-e83db70721_960.jpg | Bin .../animals-eb32b20929_960.jpg | Bin .../animals-eb32b50929_960.jpg | Bin .../animals-eb33b60e20_960.jpg | Bin .../animals-eb37b30d28_960.jpg | Bin .../anthony-delanoix-hzgs56Ze49s-unsplash.jpg | Bin .../{ => generation_1}/ape-eb33b70f28_960.jpg | Bin .../apple-eb32b00a2a_960.jpg | Bin .../apple-eb32b10b29_960.jpg | Bin .../apple-eb32b4092c_960.jpg | Bin .../apple-eb33b80e2f_960.jpg | Bin .../apricots-eb30b30c2a_960.jpg | Bin .../arbutus-e832b60e28_960.jpg | Bin .../architecture-e832b40f2f_960.jpg | Bin .../architecture-e83cb00b2b_960.jpg | Bin .../architecture-ea34b1072b_960.jpg | Bin .../architecture-ea34b1072f_960.jpg | Bin .../architecture-ea34b10820_960.jpg | Bin .../architecture-ea34b1092b_960.jpg | Bin .../architecture-ea34b10a2f_960.jpg | Bin .../architecture-ea34b10b2c_960.jpg | Bin .../architecture-ea34b10d28_960.jpg | Bin .../architecture-ea34b10d2f_960.jpg | Bin .../architecture-ea34b10e29_960.jpg | Bin .../architecture-ea34b10e2c_960.jpg | Bin .../architecture-ea35b6092e_960.jpg | Bin .../architecture-ea35b80a2d_960.jpg | Bin .../architecture-ea35b80a2f_960.jpg | Bin .../architecture-eb30b70f20_960.jpg | Bin .../architecture-eb32b30a2a_960.jpg | Bin .../architecture-eb35b90c2e_960.jpg | Bin .../architecture-eb37b4092c_960.jpg | Bin .../{ => generation_1}/art-e833b80621_960.jpg | Bin .../{ => generation_1}/art-eb32b40a2d_960.jpg | Bin .../artvin-eb32b30d2b_960.jpg | Bin .../asparagus-eb34b60729_960.jpg | Bin .../asparagus-eb34b7062b_960.jpg | Bin .../aster-eb32b60f28_960.jpg | Bin .../auto-e833b70e28_960.jpg | Bin .../auto-ea34b10828_960.jpg | Bin .../auto-ea35b80e2a_960.jpg | Bin .../auto-eb30b90c2a_960.jpg | Bin .../auto-eb30b90c2b_960.jpg | Bin .../autumn-eb32b00828_960.jpg | Bin .../autumn-eb32b20a2f_960.jpg | Bin .../autumn-eb34b90c2c_960.jpg | Bin .../avenue-eb37b00a2b_960.jpg | Bin .../away-eb32b4092a_960.jpg | Bin .../baby-eb30b40c2d_960.jpg | Bin .../baby-eb31b0092f_960.jpg | Bin .../background-ea34b10729_960.jpg | Bin .../background-ea34b10b2c_960.jpg | Bin .../baguette-e832b50c21_960.jpg | Bin .../balance-eb32b50a2f_960.jpg | Bin .../bald-eagle-e832b3072f_960.jpg | Bin .../bald-eagle-eb32b00a2c_960.jpg | Bin .../balloon-eb36b20e2c_960.jpg | Bin .../baltic-sea-ea34b10e21_960.jpg | Bin .../bank-eb32b10a2d_960.jpg | Bin .../{ => generation_1}/bar-eb32b20c28_960.jpg | Bin .../barbary-ape-eb33b7082b_960.jpg | Bin .../barley-eb34b0082c_960.jpg | Bin .../barrack-ea35b80829_960.jpg | Bin .../baskets-eb35b3072a_960.jpg | Bin .../baths-eb32b20c2b_960.jpg | Bin .../{ => generation_1}/bay-eb32b30f28_960.jpg | Bin .../{ => generation_1}/bay-eb33b60a2b_960.jpg | Bin .../beach-e83db7082a_960.jpg | Bin .../beach-ea34b10f29_960.jpg | Bin .../beach-eb32b00c28_960.jpg | Bin .../beach-eb32b1072d_960.jpg | Bin .../beach-eb32b3062d_960.jpg | Bin .../beach-eb32b30f29_960.jpg | Bin .../beach-eb33b00829_960.jpg | Bin .../beach-eb33b10929_960.jpg | Bin .../beach-eb33b1092a_960.jpg | Bin .../beach-eb33b10a29_960.jpg | Bin .../beach-eb33b40c29_960.jpg | Bin .../beach-eb34b60629_960.jpg | Bin .../beach-eb34b6062e_960.jpg | Bin .../beach-eb35b90621_960.jpg | Bin .../beach-house-eb33b1072d_960.jpg | Bin .../beaded-e833b20f2c_960.jpg | Bin .../bear-eb33b00d20_960.jpg | Bin .../beautiful-eb32b70728_960.jpg | Bin .../beautiful-girl-eb35b10c2e_960.jpg | Bin .../beautiful-male-peacock-eb36b70c2f_960.jpg | Bin .../{ => generation_1}/bee-e832b3092e_960.jpg | Bin .../{ => generation_1}/bee-eb33b20f2d_960.jpg | Bin .../{ => generation_1}/bee-eb33b60f2a_960.jpg | Bin .../{ => generation_1}/bee-eb33b7092b_960.jpg | Bin .../{ => generation_1}/bee-eb34b9062b_960.jpg | Bin .../beer-eb30b20929_960.jpg | Bin .../beer-eb31b2062a_960.jpg | Bin .../beer-eb37b90729_960.jpg | Bin .../begonias-eb32b00a2e_960.jpg | Bin .../begonias-eb32b10c2d_960.jpg | Bin .../belgium-eb33b3072b_960.jpg | Bin .../bellflower-eb33b60e2e_960.jpg | Bin .../belts-e833b90728_960.jpg | Bin .../belts-e833b90729_960.jpg | Bin .../belts-e833b90821_960.jpg | Bin .../belts-eb34b70f2a_960.jpg | Bin .../berber-monkeys-eb33b7082b_960.jpg | Bin .../berries-eb31b50e2e_960.jpg | Bin .../bible-e83cb70f2e_960.jpg | Bin .../bicycle-eb32b20d21_960.jpg | Bin .../bighorn-e832b30e2d_960.jpg | Bin .../bighorn-sheep-eb33b5092b_960.jpg | Bin .../birch-eb32b50c2b_960.jpg | Bin .../bird-eb33b5072d_960.jpg | Bin .../bird-eb33b70a29_960.jpg | Bin .../bird-eb33b80a2e_960.jpg | Bin .../bird-eb33b80a2f_960.jpg | Bin .../bird-eb33b9092b_960.jpg | Bin .../bird-eb33b90c20_960.jpg | Bin .../birds-e833b30b2c_960.jpg | Bin .../birds-ea34b10820_960.jpg | Bin .../birds-ea35b80a29_960.jpg | Bin .../birds-eb33b9072a_960.jpg | Bin .../bitcoin-eb35b1082f_960.jpg | Bin .../black-nosed-sheep-eb33b9092c_960.jpg | Bin .../black-vulture-eb32b40f29_960.jpg | Bin .../blacksmith-eb32b50f29_960.jpg | Bin .../bled-eb33b1072c_960.jpg | Bin .../blonde-eb35b80b29_960.jpg | Bin .../blossom-e034b90b2d_960.jpg | Bin .../blossom-eb32b00b28_960.jpg | Bin .../blossom-eb32b4062c_960.jpg | Bin .../blossom-eb33b30c2a_960.jpg | Bin .../blossom-eb33b9072d_960.jpg | Bin .../blossom-eb33b9092e_960.jpg | Bin .../blowfly-eb34b40e2c_960.jpg | Bin .../blue-eb32b10d29_960.jpg | Bin .../blue-hour-eb33b70d21_960.jpg | Bin .../blueberries-eb37b60721_960.jpg | Bin .../blueberries-eb37b60f2b_960.jpg | Bin .../boat-eb33b40e20_960.jpg | Bin .../boats-eb32b40721_960.jpg | Bin .../body-of-water-ea34b1092e_960.jpg | Bin .../body-of-water-ea35b80721_960.jpg | Bin .../body-of-water-ea35b80821_960.jpg | Bin .../bokeh-eb32b30a20_960.jpg | Bin .../book-eb3cb3062e_960.jpg | Bin .../books-e832b4082f_960.jpg | Bin .../bottle-eb35b20d21_960.jpg | Bin .../bouquet-eb32b40a21_960.jpg | Bin .../{ => generation_1}/box-eb3cb40c2f_960.jpg | Bin .../branch-e832b40c2f_960.jpg | Bin .../bread-e832b70e29_960.jpg | Bin .../bread-eb32b40a28_960.jpg | Bin .../bread-eb34b80c2d_960.jpg | Bin .../breakfast-eb36b70828_960.jpg | Bin .../breakwater-eb33b80c2f_960.jpg | Bin .../bridge-ea34b10a20_960.jpg | Bin .../bridge-ea35b80621_960.jpg | Bin .../bridge-eb32b3082e_960.jpg | Bin .../bridge-eb32b5082d_960.jpg | Bin .../bridge-eb32b7082d_960.jpg | Bin .../broccoli-e83cb60b20_960.jpg | Bin .../bubble-e83db80c2b_960.jpg | Bin .../bugs-eb32b50b2e_960.jpg | Bin .../bulb-eb37b9082f_960.jpg | Bin .../bundestag-eb31b70c2a_960.jpg | Bin .../businessman-eb33b1092d_960.jpg | Bin .../butterfly-eb30b4062a_960.jpg | Bin .../butterfly-eb32b20c2a_960.jpg | Bin .../butterfly-eb32b20e2f_960.jpg | Bin .../buttons-e833b90729_960.jpg | Bin .../cafe-eb32b3062c_960.jpg | Bin .../caipirinha-e83db10b2c_960.jpg | Bin .../cake-e83cb60e2d_960.jpg | Bin .../calibrachoa-eb32b00a2e_960.jpg | Bin .../california-eb33b1072c_960.jpg | Bin .../california-eb33b70928_960.jpg | Bin .../california-eb33b9092b_960.jpg | Bin .../call-center-eb37b60a2f_960.jpg | Bin .../calm-eb32b7072d_960.jpg | Bin .../calm-eb36b00a2d_960.jpg | Bin .../camel-eb32b00b2e_960.jpg | Bin .../camel-eb32b4092b_960.jpg | Bin .../camera-e832b10f29_960.jpg | Bin .../candles-eb33b3072c_960.jpg | Bin .../candy-e83cb70e2d_960.jpg | Bin .../candy-eb30b20720_960.jpg | Bin .../canopy-eb30b40d21_960.jpg | Bin .../canton-eb37b6072c_960.jpg | Bin .../car-dashboard-eb33b7082c_960.jpg | Bin .../{ => generation_1}/car-e03db50e2d_960.jpg | Bin .../caramel-e83cb40d21_960.jpg | Bin .../carnival-eb35b80d20_960.jpg | Bin .../carrots-eb36b9082b_960.jpg | Bin .../caspian-eb30b60820_960.jpg | Bin .../castle-eb32b00d28_960.jpg | Bin .../castle-eb32b3092f_960.jpg | Bin .../{ => generation_1}/cat-eb32b00e20_960.jpg | Bin .../{ => generation_1}/cat-eb32b00e2f_960.jpg | Bin .../{ => generation_1}/cat-eb32b30929_960.jpg | Bin .../{ => generation_1}/cat-eb32b30d2c_960.jpg | Bin .../{ => generation_1}/cat-eb32b4072d_960.jpg | Bin .../{ => generation_1}/cat-eb33b1092b_960.jpg | Bin .../{ => generation_1}/cat-eb33b40e2c_960.jpg | Bin .../{ => generation_1}/cat-eb33b7062d_960.jpg | Bin .../{ => generation_1}/cat-eb33b8062e_960.jpg | Bin .../{ => generation_1}/cat-eb33b90c21_960.jpg | Bin .../{ => generation_1}/cat-eb35b90c2c_960.jpg | Bin .../{ => generation_1}/cat-eb37b60c2d_960.jpg | Bin .../cats-eyes-eb33b60e21_960.jpg | Bin .../cave-eb32b4082c_960.jpg | Bin .../chair-ea34b10d2d_960.jpg | Bin .../chamomile-eb32b2092e_960.jpg | Bin .../channel-ea34b10e2d_960.jpg | Bin .../charcoal-eb36b8092f_960.jpg | Bin .../chateau-ea34b10821_960.jpg | Bin .../chateau-eb33b70c2b_960.jpg | Bin .../cherries-eb31b10d2c_960.jpg | Bin .../cherry-e83cb80a2d_960.jpg | Bin .../cherry-tomatoes-eb30b7092c_960.jpg | Bin .../chess-eb31b9062d_960.jpg | Bin .../chess-eb32b3082c_960.jpg | Bin .../chestnut-eb32b40c21_960.jpg | Bin .../chestnut-eb32b50f2f_960.jpg | Bin .../chicken-eb32b50d2b_960.jpg | Bin .../chicks-eb31b3092e_960.jpg | Bin .../chiemsee-eb33b60b2c_960.jpg | Bin .../chihuahua-eb32b70a2b_960.jpg | Bin .../chocolate-eb37b30b21_960.jpg | Bin .../christmas-cookies-e83db9092f_960.jpg | Bin .../christmas-ea35b00f29_960.jpg | Bin .../christmas-eb30b8082f_960.jpg | Bin .../christmas-eb3cb60e21_960.jpg | Bin .../church-ea35b8062d_960.jpg | Bin .../church-eb31b40620_960.jpg | Bin .../church-eb31b70b20_960.jpg | Bin .../church-window-e83db50c21_960.jpg | Bin .../church-window-eb37b0082f_960.jpg | Bin .../cinnamon-e83cb60e2c_960.jpg | Bin .../city-ea34b10a28_960.jpg | Bin .../cliffs-of-moher-eb33b80628_960.jpg | Bin .../cloister-eb35b50e28_960.jpg | Bin .../cloud-eb32b00c2e_960.jpg | Bin .../cloud-eb32b30c2c_960.jpg | Bin .../clouds-eb30b0082e_960.jpg | Bin .../clouds-eb36b3062e_960.jpg | Bin .../club-eb31b80d28_960.jpg | Bin .../coast-eb31b40820_960.jpg | Bin .../coast-eb32b30c2f_960.jpg | Bin .../coast-eb32b30f28_960.jpg | Bin .../coast-eb32b40621_960.jpg | Bin .../coast-eb33b50629_960.jpg | Bin .../coffee-beans-eb37b40720_960.jpg | Bin .../coffee-cup-eb36b0082a_960.jpg | Bin .../coffee-e835b20f21_960.jpg | Bin .../coffee-eb32b00b21_960.jpg | Bin .../coffee-eb33b10720_960.jpg | Bin .../coffee-eb36b1092c_960.jpg | Bin .../coins-eb30b00d2a_960.jpg | Bin .../collared-lizard-eb37b60a20_960.jpg | Bin .../cologne-e83db5092b_960.jpg | Bin .../colorful-eb30b80e28_960.jpg | Bin .../concrete-e83db50a28_960.jpg | Bin ...nstance-beach-schmielen-eb36b80d2e_960.jpg | Bin .../cooking-eb34b20d20_960.jpg | Bin .../coral-eb32b0082a_960.jpg | Bin .../coral-eb33b20828_960.jpg | Bin .../coral-eb33b4062e_960.jpg | Bin .../coral-eb33b60a2e_960.jpg | Bin .../coral-eb33b80b2c_960.jpg | Bin .../cosmea-eb33b3072a_960.jpg | Bin .../countryside-eb34b60a2b_960.jpg | Bin .../countryside-eb36b3092f_960.jpg | Bin .../couple-ea35b70b28_960.jpg | Bin .../cove-ea34b10d2c_960.jpg | Bin .../crab-e83cb80f29_960.jpg | Bin .../crisp-eb33b50f2f_960.jpg | Bin .../crocodile-eb32b10829_960.jpg | Bin .../crocodile-eb32b20d20_960.jpg | Bin .../crocus-eb34b10828_960.jpg | Bin .../crocus-eb34b2062f_960.jpg | Bin .../crocus-eb34b50a2d_960.jpg | Bin .../cross-eb32b00c2b_960.jpg | Bin .../crown-e83cb4062a_960.jpg | Bin .../cube-e83cb70c28_960.jpg | Bin .../cucumbers-e832b6092f_960.jpg | Bin .../{ => generation_1}/cup-eb36b00a2d_960.jpg | Bin .../cyprus-eb32b50c28_960.jpg | Bin .../dahlia-eb32b00c2c_960.jpg | Bin .../dahlia-eb32b5082b_960.jpg | Bin .../dahlia-eb33b6062a_960.jpg | Bin .../dahlia-eb33b6062b_960.jpg | Bin .../dahlia-eb33b60f2a_960.jpg | Bin .../dahlia-eb33b70a2b_960.jpg | Bin .../dahlia-eb33b80f2e_960.jpg | Bin .../daisy-e135b00729_960.jpg | Bin .../daisy-eb32b2072d_960.jpg | Bin .../dandelion-eb30b90b2b_960.jpg | Bin .../dandelion-eb33b3082e_960.jpg | Bin .../dandelion-eb36b00a2d_960.jpg | Bin .../dandelion-eb37b80a2c_960.jpg | Bin ...corating-christmas-tree-eb3cb8062f_960.jpg | Bin .../deer-e83cb50f2b_960.jpg | Bin .../deer-eb32b1072a_960.jpg | Bin .../denmark-eb36b20b2b_960.jpg | Bin .../desert-ea34b10d2b_960.jpg | Bin .../desert-eb32b1082b_960.jpg | Bin .../desert-eb33b40f2d_960.jpg | Bin .../desirable-eb33b60d21_960.jpg | Bin .../dessert-eb33b8092f_960.jpg | Bin .../diez-eb32b10b2b_960.jpg | Bin .../discus-fish-e83cb50c2f_960.jpg | Bin .../doberman-eb33b6072f_960.jpg | Bin .../documentary-eb33b80a2b_960.jpg | Bin .../{ => generation_1}/dog-eb30b80628_960.jpg | Bin .../{ => generation_1}/dog-eb31b20829_960.jpg | Bin .../{ => generation_1}/dog-eb32b10728_960.jpg | Bin .../{ => generation_1}/dog-eb32b20c2a_960.jpg | Bin .../{ => generation_1}/dog-eb32b50c2f_960.jpg | Bin .../{ => generation_1}/dog-eb33b00829_960.jpg | Bin .../{ => generation_1}/dog-eb33b50b2f_960.jpg | Bin .../dogs-eb37b30d20_960.jpg | Bin .../doll-e83cb1082f_960.jpg | Bin .../doll-figure-e83db30820_960.jpg | Bin .../dolomites-eb32b00e2a_960.jpg | Bin .../dolomites-eb32b00e2b_960.jpg | Bin .../dorset-e832b2092d_960.jpg | Bin .../dove-eb30b0092e_960.jpg | Bin .../dove-eb30b5072a_960.jpg | Bin .../dove-eb32b00721_960.jpg | Bin .../dragonfly-eb33b20821_960.jpg | Bin .../drink-e83db60f29_960.jpg | Bin .../drink-eb31b60e2d_960.jpg | Bin .../drip-e832b30821_960.jpg | Bin .../drip-e83cb60d2c_960.jpg | Bin .../drip-eb37b20a2e_960.jpg | Bin .../drone-eb32b30b2a_960.jpg | Bin .../drop-of-water-eb36b8092f_960.jpg | Bin .../drops-of-milk-eb35b70d29_960.jpg | Bin .../duck-eb36b8062f_960.jpg | Bin .../dumbbells-eb31b70a2c_960.jpg | Bin .../dune-eb33b80c2b_960.jpg | Bin .../eagle-eb33b40820_960.jpg | Bin .../early-heath-dragonfly-eb34b90929_960.jpg | Bin .../easter-ea34b10d2e_960.jpg | Bin .../easter-ea34b10d2e_960_001.jpg | Bin .../egg-sandwich-eb32b70e20_960.jpg | Bin .../einsiedeln-eb33b60a21_960.jpg | Bin .../element-eb32b00920_960.jpg | Bin .../elephant-ea35b80c28_960.jpg | Bin .../elephant-eb32b3062c_960.jpg | Bin .../elephant-eb33b10a2a_960.jpg | Bin .../elephant-eb33b10a2e_960.jpg | Bin ...lephant-mother-and-baby-eb33b80a2f_960.jpg | Bin .../emotions-eb32b10f21_960.jpg | Bin .../emotions-eb33b6082d_960.jpg | Bin .../emotions-eb33b8092d_960.jpg | Bin .../eurasians-eb32b20a2b_960.jpg | Bin .../european-yew-e832b90c28_960.jpg | Bin .../evening-eb32b20c2a_960.jpg | Bin .../{ => generation_1}/eye-eb35b0062b_960.jpg | Bin .../eyes-eb35b0062b_960.jpg | Bin .../factory-e83db90f2a_960.jpg | Bin .../factory-eb32b00b2d_960.jpg | Bin .../falcon-eb32b4082a_960.jpg | Bin .../fall-anemone-eb33b4062b_960.jpg | Bin .../fantasy-ea35b60821_960.jpg | Bin .../fantasy-eb32b00620_960.jpg | Bin .../fantasy-eb32b30a28_960.jpg | Bin .../fantasy-eb32b40f21_960.jpg | Bin .../fantasy-eb32b60f2c_960.jpg | Bin .../fantasy-eb32b7082b_960.jpg | Bin .../fantasy-eb32b70c2e_960.jpg | Bin .../fantasy-eb32b70d2d_960.jpg | Bin .../fantasy-eb33b80a20_960.jpg | Bin .../father-and-son-eb37b4072e_960.jpg | Bin .../father-eb32b60f2b_960.jpg | Bin .../fern-e135b00820_960.jpg | Bin .../fern-e137b9062b_960.jpg | Bin .../field-ea35b80d28_960.jpg | Bin .../field-of-rapeseeds-eb32b4082a_960.jpg | Bin .../{ => generation_1}/fig-eb35b60629_960.jpg | Bin .../figures-e83db60f2c_960.jpg | Bin .../filey-eb32b20a2e_960.jpg | Bin .../{ => generation_1}/fir-eb37b9072a_960.jpg | Bin .../fire-e83db80620_960.jpg | Bin .../fire-eb30b80f2b_960.jpg | Bin .../fire-eb32b20f2f_960.jpg | Bin .../fire-eb34b8082e_960.jpg | Bin .../fire-eb37b10b29_960.jpg | Bin .../firefighter-e83db40e21_960.jpg | Bin .../fireworks-e83db90a2d_960.jpg | Bin .../fischer-eb32b20629_960.jpg | Bin .../fish-eb32b1092f_960.jpg | Bin .../fishing-eb33b70d2f_960.jpg | Bin .../flamingo-eb30b80e2c_960.jpg | Bin .../flamingos-eb32b10729_960.jpg | Bin .../flash-eb30b7072b_960.jpg | Bin .../floor-eb37b3072a_960.jpg | Bin .../flower-ea35b9092d_960.jpg | Bin .../flower-eb30b40629_960.jpg | Bin .../flower-eb31b3082a_960.jpg | Bin .../flower-eb32b10a2a_960.jpg | Bin .../flower-eb32b50f2d_960.jpg | Bin .../flower-eb33b20e20_960.jpg | Bin .../flower-eb33b6072e_960.jpg | Bin .../flower-eb33b9092e_960.jpg | Bin .../flower-eb33b90b2c_960.jpg | Bin .../flower-eb34b8082e_960.jpg | Bin .../flower-eb35b60e2d_960.jpg | Bin .../flower-eb36b8062e_960.jpg | Bin .../flowerpot-eb32b4092c_960.jpg | Bin .../flowers-eb33b50e2d_960.jpg | Bin .../flowers-eb33b7062c_960.jpg | Bin .../flowers-eb33b70d21_960.jpg | Bin .../flowers-eb37b20c2d_960.jpg | Bin .../flowers-orchid-eb33b9062a_960.jpg | Bin .../fly-agaric-eb32b0072b_960.jpg | Bin .../{ => generation_1}/fly-eb30b30c21_960.jpg | Bin .../{ => generation_1}/fog-ea34b10929_960.jpg | Bin .../{ => generation_1}/fog-eb32b20920_960.jpg | Bin .../{ => generation_1}/fog-eb32b4092c_960.jpg | Bin .../{ => generation_1}/fog-eb32b7092b_960.jpg | Bin .../food-eb33b80a20_960.jpg | Bin .../forest-e83cb40f2c_960.jpg | Bin .../forest-eb32b0082e_960.jpg | Bin .../forest-eb32b30d2e_960.jpg | Bin .../forest-eb33b20e20_960.jpg | Bin .../forest-eb33b60d28_960.jpg | Bin .../forest-eb33b80c29_960.jpg | Bin .../forest-eb34b70a21_960.jpg | Bin .../fountain-eb31b8072e_960.jpg | Bin .../{ => generation_1}/fox-e837b90b2d_960.jpg | Bin .../{ => generation_1}/fox-e83db90c2e_960.jpg | Bin .../{ => generation_1}/fox-eb30b20f2a_960.jpg | Bin .../foxtail-eb33b8062a_960.jpg | Bin .../france-e832b80f21_960.jpg | Bin .../freedom-eb32b7072d_960.jpg | Bin .../frog-e83db80c2a_960.jpg | Bin .../frog-eb30b10b2d_960.jpg | Bin .../frog-eb37b00e21_960.jpg | Bin .../frog-eb37b50f2f_960.jpg | Bin .../frozen-bubble-e83cb50c2a_960.jpg | Bin .../fruhjahrsputz-eb35b7092e_960.jpg | Bin .../fruit-eb36b10a29_960.jpg | Bin .../fruit-eb36b70828_960.jpg | Bin .../fruit-eb37b10f28_960.jpg | Bin .../fuchs-eb31b30b2b_960.jpg | Bin .../fuchsia-eb32b20d2f_960.jpg | Bin .../gangster-e83db60928_960.jpg | Bin .../garbage-eb32b2092d_960.jpg | Bin .../garden-eb32b20e28_960.jpg | Bin .../garden-eb35b50f2f_960.jpg | Bin .../gear-eb37b80e21_960.jpg | Bin .../geese-eb31b80b21_960.jpg | Bin .../germany-eb32b00a2f_960.jpg | Bin .../giant-eagle-eb32b10f2b_960.jpg | Bin .../giant-eagle-eb33b9062b_960.jpg | Bin .../giraffe-eb35b60c2e_960.jpg | Bin .../girl-eb32b0092f_960.jpg | Bin .../girl-eb32b70f20_960.jpg | Bin .../girl-eb33b30b2d_960.jpg | Bin .../girl-eb33b80921_960.jpg | Bin .../girl-eb35b20d20_960.jpg | Bin .../girl-looking-away-e83cb80a2e_960.jpg | Bin .../glacier-e832b50f20_960.jpg | Bin .../gladiolus-eb32b10d2a_960.jpg | Bin .../gladiolus-eb33b60f21_960.jpg | Bin .../gladiolus-eb33b80f2e_960.jpg | Bin .../glasses-e832b60c2f_960.jpg | Bin .../goat-eb32b50f2a_960.jpg | Bin .../goat-lip-eb32b50f2f_960.jpg | Bin .../golden-hour-eb32b00f2f_960.jpg | Bin .../golden-retriever-eb32b10e28_960.jpg | Bin .../golden-rod-eb33b70c29_960.jpg | Bin .../goldfliege-eb33b90628_960.jpg | Bin .../good-luck-e83cb80c2e_960.jpg | Bin .../gorilla-eb33b80e2e_960.jpg | Bin .../gorilla-eb36b00721_960.jpg | Bin .../graffiti-eb32b30b2d_960.jpg | Bin .../graffiti-eb32b4072d_960.jpg | Bin .../grand-canyon-eb33b9072a_960.jpg | Bin .../grape-eb32b4062d_960.jpg | Bin .../grapes-eb32b00620_960.jpg | Bin .../grapes-eb32b00a2f_960.jpg | Bin .../grapes-eb33b4092a_960.jpg | Bin .../grapes-eb33b80d2c_960.jpg | Bin .../grapes-eb35b20d20_960.jpg | Bin .../grass-eb33b00828_960.jpg | Bin .../grasshopper-eb30b40e2a_960.jpg | Bin .../great-smoky-mountains-eb32b1082c_960.jpg | Bin .../greece-ea34b10e2f_960.jpg | Bin .../greece-eb32b2092c_960.jpg | Bin .../greece-eb32b2092d_960.jpg | Bin .../greece-eb32b20a29_960.jpg | Bin .../greece-eb32b30c2d_960.jpg | Bin .../greece-eb32b50f2b_960.jpg | Bin .../greece-eb32b7062d_960.jpg | Bin .../greek-ea35b80729_960.jpg | Bin .../green-eb30b70b2f_960.jpg | Bin .../green-eb32b20b20_960.jpg | Bin .../greylag-goose-eb34b2062a_960.jpg | Bin .../guitar-eb37b60929_960.jpg | Bin .../gulls-eb33b70d2d_960.jpg | Bin .../{ => generation_1}/guy-eb33b1072d_960.jpg | Bin .../gyrfalcon-eb33b6072e_960.jpg | Bin .../haiti-eb33b80721_960.jpg | Bin .../halloween-e832b5092b_960.jpg | Bin .../halloween-eb32b60f28_960.jpg | Bin .../hallway-e135b30f2e_960.jpg | Bin .../hamburg-eb32b20c29_960.jpg | Bin .../hamster-eb32b30b2c_960.jpg | Bin .../hand-eb33b10828_960.jpg | Bin .../hand-eb37b30c29_960.jpg | Bin .../harbour-ea34b10b2b_960.jpg | Bin .../harley-davidson-e83cb10a2a_960.jpg | Bin .../hatching-chicks-eb31b5072d_960.jpg | Bin .../hawk-eb32b00b2e_960.jpg | Bin .../hedgehog-child-e832b40628_960.jpg | Bin .../hedgehog-child-e832b4062d_960.jpg | Bin .../hedgehog-eb32b00f29_960.jpg | Bin .../heliconia-leaf-eb33b90b2e_960.jpg | Bin .../{ => generation_1}/hen-eb33b5062c_960.jpg | Bin .../heron-eb33b60b2b_960.jpg | Bin .../hibiscus-eb32b20e29_960.jpg | Bin .../highland-cow-eb32b50e28_960.jpg | Bin .../highland-eb30b8062c_960.jpg | Bin .../highspeed-photography-eb31b2082f_960.jpg | Bin .../hill-eb33b10a21_960.jpg | Bin .../hill-eb34b70a2f_960.jpg | Bin .../hirsch-eb32b40c2b_960.jpg | Bin .../historic-eb32b1092c_960.jpg | Bin .../holiday-eb30b80b2f_960.jpg | Bin .../homberg-e83cb4062a_960.jpg | Bin .../home-eb32b0072e_960.jpg | Bin .../home-eb32b00a2b_960.jpg | Bin .../home-eb32b70c20_960.jpg | Bin .../hong-kong-e83cb80f2a_960.jpg | Bin .../hookah-eb32b10b2f_960.jpg | Bin .../hops-flower-eb32b20f2a_960.jpg | Bin .../horse-ea35b80820_960.jpg | Bin .../horse-eb30b60821_960.jpg | Bin .../horse-eb30b60d28_960.jpg | Bin .../horse-eb32b20f28_960.jpg | Bin .../horse-eb32b30828_960.jpg | Bin .../horse-eb32b30921_960.jpg | Bin .../horse-eb32b30c2a_960.jpg | Bin .../horse-eb33b00c21_960.jpg | Bin .../horse-eb33b20d28_960.jpg | Bin .../horse-eb33b80b21_960.jpg | Bin .../horse-eb34b8092f_960.jpg | Bin .../horse-mare-eb32b20829_960.jpg | Bin .../horses-e835b20e2a_960.jpg | Bin .../horses-eb31b3082d_960.jpg | Bin .../horseshoe-bend-e83cb1072a_960.jpg | Bin .../hot-air-balloon-eb32b70b2f_960.jpg | Bin .../hot-air-balloons-e83cb90b2b_960.jpg | Bin .../hot-chocolate-e83cb1092d_960.jpg | Bin .../{ => generation_1}/hot-ea34b1072d_960.jpg | Bin .../house-ea34b10c2d_960.jpg | Bin .../hummingbird-eb32b00929_960.jpg | Bin .../hummingbird-eb34b2062a_960.jpg | Bin .../humor-eb32b30f2e_960.jpg | Bin .../hyacinth-eb37b10d20_960.jpg | Bin .../ice-cubes-e83cb00b2b_960.jpg | Bin .../{ => generation_1}/ice-eb30b7082b_960.jpg | Bin .../{ => generation_1}/ice-eb35b70d2c_960.jpg | Bin .../{ => generation_1}/ice-eb37b0062d_960.jpg | Bin .../iceland-e83cb6062c_960.jpg | Bin .../iceland-eb32b10f2c_960.jpg | Bin .../iceland-eb33b10721_960.jpg | Bin .../iceland-eb33b70928_960.jpg | Bin .../iceland-eb33b80d2f_960.jpg | Bin .../icicle-e83cb40b20_960.jpg | Bin .../icicle-ea34b1072d_960.jpg | Bin .../iguana-eb35b2062f_960.jpg | Bin .../incense-e83cb70e2c_960.jpg | Bin .../indonesia-eb32b10f2b_960.jpg | Bin .../insects-eb33b90721_960.jpg | Bin .../irish-whiskey-eb34b40d29_960.jpg | Bin .../iskele-ea35b50621_960.jpg | Bin .../island-eb32b30d2b_960.jpg | Bin .../island-eb32b30d2c_960.jpg | Bin .../italy-eb35b90f28_960.jpg | Bin .../jaguar-e83db10829_960.jpg | Bin .../janvangent-eb32b4082a_960.jpg | Bin .../japan-eb32b5072f_960.jpg | Bin .../jellyfish-eb30b6092a_960.jpg | Bin .../jellyfish-eb30b7092f_960.jpg | Bin .../{ => generation_1}/joy-eb31b90c21_960.jpg | Bin .../kanyam-eb32b50b2b_960.jpg | Bin .../karden-eb33b6092e_960.jpg | Bin .../kenya-eb33b00c21_960.jpg | Bin .../{ => generation_1}/kid-eb30b30621_960.jpg | Bin .../{ => generation_1}/kid-eb33b70920_960.jpg | Bin .../kingfisher-e83cb10a2a_960.jpg | Bin .../kingfisher-eb35b5092c_960.jpg | Bin .../kite-boarder-ea34b10a2e_960.jpg | Bin .../kite-boarder-wallpaper-ea34b10f2f_960.jpg | Bin ...te-boarder-wave-jumping-ea34b10728_960.jpg | Bin ...te-boarder-wave-jumping-ea34b10f2f_960.jpg | Bin .../klatschmohn-eb31b30921_960.jpg | Bin .../klee-e83cb50621_960.jpg | Bin .../knotweed-eb33b80629_960.jpg | Bin .../kohlrabi-eb37b7092e_960.jpg | Bin .../labyrinth-eb32b40b2c_960.jpg | Bin .../lagoon-eb32b30f28_960.jpg | Bin .../lagoon-eb36b5062c_960.jpg | Bin .../lake-balaton-ea35b80d21_960.jpg | Bin .../lake-e832b90e2e_960.jpg | Bin .../lake-ea34b10928_960.jpg | Bin .../lake-eb30b8072c_960.jpg | Bin .../lake-eb30b8082d_960.jpg | Bin .../lake-eb32b00f21_960.jpg | Bin .../lake-eb32b3092e_960.jpg | Bin .../lake-eb33b60629_960.jpg | Bin .../lake-eb33b60a20_960.jpg | Bin .../lake-eb35b70c21_960.jpg | Bin .../lake-michigan-eb33b7082d_960.jpg | Bin .../lake-moraine-eb32b10f2b_960.jpg | Bin .../lama-e832b5062b_960.jpg | Bin .../lamb-eb37b00929_960.jpg | Bin .../lamp-eb33b70c28_960.jpg | Bin .../lampionblume-e832b00721_960.jpg | Bin .../lampionblume-eb34b90c29_960.jpg | Bin .../landscape-e83db10d2b_960.jpg | Bin .../landscape-eb30b70d28_960.jpg | Bin .../landscape-eb32b0072e_960.jpg | Bin .../landscape-eb32b1082b_960.jpg | Bin .../landscape-eb32b40b29_960.jpg | Bin .../landscape-eb32b50b21_960.jpg | Bin .../landscape-eb33b60d28_960.jpg | Bin .../landscape-eb33b70928_960.jpg | Bin .../landscape-eb33b70f20_960.jpg | Bin .../landscape-eb34b30b29_960.jpg | Bin .../landscape-eb35b80f2c_960.jpg | Bin .../landscape-eb36b90628_960.jpg | Bin .../landscape-eb37b00e2d_960.jpg | Bin .../landscape-eb37b7072f_960.jpg | Bin .../lantern-e83cb90d2e_960.jpg | Bin .../larva-eb33b7092f_960.jpg | Bin .../lasagna-e83cb10f2d_960.jpg | Bin .../leave-eb32b20e2d_960.jpg | Bin .../lemon-eb30b20629_960.jpg | Bin .../light-e83cb2062e_960.jpg | Bin .../light-eb33b60f2c_960.jpg | Bin .../lighthouse-eb32b2092a_960.jpg | Bin .../lighthouse-eb33b40a2f_960.jpg | Bin .../lighthouse-eb33b70b29_960.jpg | Bin .../lighthouse-eb37b30a2c_960.jpg | Bin .../lilac-bouquet-eb32b70d28_960.jpg | Bin .../lily-eb33b80d2c_960.jpg | Bin .../lime-eb31b90e2b_960.jpg | Bin .../lion-ea35b80621_960.jpg | Bin .../lion-eb32b30c2b_960.jpg | Bin .../lion-eb33b7072e_960.jpg | Bin .../lion-fish-eb32b50e2c_960.jpg | Bin .../lions-eb32b10d20_960.jpg | Bin .../little-girl-eb30b0092d_960.jpg | Bin .../lizard-eb31b3082a_960.jpg | Bin .../lizard-eb33b4092e_960.jpg | Bin .../lizard-eb33b70928_960.jpg | Bin .../locamotive-eb32b40c21_960.jpg | Bin .../locket-eb30b7062d_960.jpg | Bin .../loco-eb32b1082b_960.jpg | Bin .../lost-place-eb32b30c2d_960.jpg | Bin .../lotus-flower-eb30b1092c_960.jpg | Bin .../luck-eb32b30d2c_960.jpg | Bin .../luggage-e833b40f29_960.jpg | Bin .../luggage-e833b50a2a_960.jpg | Bin .../macarons-eb30b50720_960.jpg | Bin .../macedonia-eb33b1072d_960.jpg | Bin .../macro-e83db10d2b_960.jpg | Bin .../macro-eb34b6082f_960.jpg | Bin .../macro-eb36b10f29_960.jpg | Bin .../magic-cube-e83cb6092f_960.jpg | Bin .../magnifying-glass-eb30b8072d_960.jpg | Bin .../magnolia-eb33b80e2a_960.jpg | Bin .../make-up-eb34b20820_960.jpg | Bin .../maki-eb32b10829_960.jpg | Bin .../maki-eb32b1082b_960.jpg | Bin .../maldives-e83cb80c2f_960.jpg | Bin .../malibu-eb35b90f28_960.jpg | Bin .../mallard-e83db80c28_960.jpg | Bin .../mallard-eb34b50b2d_960.jpg | Bin .../mallow-eb33b90f29_960.jpg | Bin .../{ => generation_1}/man-eb32b4092c_960.jpg | Bin .../{ => generation_1}/man-eb33b80621_960.jpg | Bin .../{ => generation_1}/man-eb34b70f2e_960.jpg | Bin .../{ => generation_1}/man-eb35b2082a_960.jpg | Bin .../mango-e83cb90d2b_960.jpg | Bin .../marigold-e830b7072e_960.jpg | Bin .../marigold-eb32b10d2d_960.jpg | Bin .../meadow-eb34b90b21_960.jpg | Bin .../meditation-eb37b00b2d_960.jpg | Bin .../{ => generation_1}/men-eb31b30a29_960.jpg | Bin .../message-in-a-bottle-e833b80b20_960.jpg | Bin .../microphone-e837b10620_960.jpg | Bin .../milan-eb33b8072f_960.jpg | Bin .../milk-eb31b60b21_960.jpg | Bin .../milky-way-eb33b80a2d_960.jpg | Bin .../minced-meat-e832b50821_960.jpg | Bin .../minibus-eb33b8092d_960.jpg | Bin .../model-eb31b2092a_960.jpg | Bin .../model-eb32b4062f_960.jpg | Bin .../model-eb32b4072e_960.jpg | Bin .../model-eb32b50829_960.jpg | Bin .../model-eb33b00b2d_960.jpg | Bin .../model-eb36b10c2b_960.jpg | Bin .../model-eb36b10e2e_960.jpg | Bin .../money-eb33b8092a_960.jpg | Bin .../monkey-eb33b90629_960.jpg | Bin .../monkey-eb34b80a29_960.jpg | Bin .../monkey-eb35b60b28_960.jpg | Bin .../monument-eb35b00e29_960.jpg | Bin .../moon-eb32b70d29_960.jpg | Bin .../moon-eb37b60629_960.jpg | Bin .../moonlight-jetty-eb32b7082f_960.jpg | Bin .../moraine-lake-eb33b9092b_960.jpg | Bin .../morro-bay-eb33b2072a_960.jpg | Bin .../motorcycle-eb33b40e2a_960.jpg | Bin .../mountain-ea34b1082a_960.jpg | Bin .../mountain-ea34b10920_960.jpg | Bin .../mountain-ea34b10b28_960.jpg | Bin .../mountain-ea34b10d20_960.jpg | Bin .../mountain-ea35b80928_960.jpg | Bin .../mountain-ea35b80b21_960.jpg | Bin .../mountain-eb30b70c2e_960.jpg | Bin .../mountain-eb33b10c29_960.jpg | Bin .../mountaineer-eb34b10f28_960.jpg | Bin .../mountains-e133b20b2f_960.jpg | Bin .../mountains-e832b40d2f_960.jpg | Bin .../mountains-e83cb90a28_960.jpg | Bin .../mountains-ea34b10a21_960.jpg | Bin .../mountains-eb32b00e28_960.jpg | Bin .../mountains-eb32b10d20_960.jpg | Bin .../mountains-eb32b30d20_960.jpg | Bin .../mountains-eb32b30d2f_960.jpg | Bin .../mountains-eb33b00d2e_960.jpg | Bin .../mountains-eb33b5082c_960.jpg | Bin .../mountains-eb33b5092b_960.jpg | Bin .../mountains-eb33b60b2b_960.jpg | Bin .../mountains-eb33b70928_960.jpg | Bin .../mountains-eb33b80d2d_960.jpg | Bin .../mouse-e832b10729_960.jpg | Bin .../mouse-e832b1072b_960.jpg | Bin .../mt-fuji-eb37b20d2a_960.jpg | Bin .../mummy-eb33b60828_960.jpg | Bin .../mushroom-e832b70929_960.jpg | Bin .../mushroom-eb32b00e2f_960.jpg | Bin .../mushroom-eb32b2062f_960.jpg | Bin .../mushroom-eb32b20729_960.jpg | Bin .../mushroom-eb32b40e2b_960.jpg | Bin .../mushroom-eb32b50f28_960.jpg | Bin .../mushroom-eb32b70f28_960.jpg | Bin .../mushroom-eb33b4092a_960.jpg | Bin .../mushroom-eb33b40e29_960.jpg | Bin .../mushroom-eb33b7082a_960.jpg | Bin .../mushroom-eb37b6062d_960.jpg | Bin .../mushrooms-eb32b40d21_960.jpg | Bin .../mushrooms-eb37b00d20_960.jpg | Bin .../nachtschattengewachs-eb33b80b2a_960.jpg | Bin .../nature-ea34b10728_960.jpg | Bin .../nature-ea34b1072b_960.jpg | Bin .../nature-ea34b1082a_960.jpg | Bin .../nature-ea34b10a2f_960.jpg | Bin .../nature-ea34b10b28_960.jpg | Bin .../nature-ea34b10c2c_960.jpg | Bin .../nature-ea34b10d28_960.jpg | Bin .../nature-ea34b10d2f_960.jpg | Bin .../nature-ea34b10e2d_960.jpg | Bin .../nature-ea35b80628_960.jpg | Bin .../nature-ea35b80629_960.jpg | Bin .../nature-ea35b8072f_960.jpg | Bin .../nature-ea35b80d28_960.jpg | Bin .../nature-ea35b90d20_960.jpg | Bin .../nature-eb30b60729_960.jpg | Bin .../nature-eb32b0062a_960.jpg | Bin .../nature-eb32b00829_960.jpg | Bin .../nature-eb32b00a2a_960.jpg | Bin .../nature-eb32b00c2c_960.jpg | Bin .../nature-eb32b10c2e_960.jpg | Bin .../nature-eb32b30c20_960.jpg | Bin .../nature-eb32b5092f_960.jpg | Bin .../nature-eb32b7062c_960.jpg | Bin .../nature-eb33b0092c_960.jpg | Bin .../nature-eb33b1062c_960.jpg | Bin .../nature-eb33b10b21_960.jpg | Bin .../nature-eb33b20b2f_960.jpg | Bin .../nature-eb33b50a2a_960.jpg | Bin .../nature-eb33b6062c_960.jpg | Bin .../needle-e833b9082b_960.jpg | Bin .../night-ea35b90b2a_960.jpg | Bin .../noodles-eb32b20c2e_960.jpg | Bin .../noodles-eb34b40f29_960.jpg | Bin .../noodles-eb34b40f2a_960.jpg | Bin .../noodles-eb35b70f20_960.jpg | Bin .../northern-lights-e834b50629_960.jpg | Bin .../northern-lights-e835b90e2f_960.jpg | Bin .../not-hear-eb33b90821_960.jpg | Bin .../nuts-e832b2092d_960.jpg | Bin .../oak-leaf-eb35b00e28_960.jpg | Bin .../ocean-ea34b10828_960.jpg | Bin .../ocean-eb32b00e21_960.jpg | Bin .../ocean-eb32b10829_960.jpg | Bin .../ocean-eb32b2082e_960.jpg | Bin .../ocean-eb32b30f28_960.jpg | Bin .../ocean-eb33b40728_960.jpg | Bin .../ocean-eb33b70b29_960.jpg | Bin .../ocean-eb35b40e2f_960.jpg | Bin .../ocher-rocks-e830b80a2d_960.jpg | Bin .../of-prey-eagle-eb32b5062d_960.jpg | Bin .../{ => generation_1}/old-eb32b20e20_960.jpg | Bin .../old-house-eb32b20f2b_960.jpg | Bin .../old-house-eb32b70a2a_960.jpg | Bin .../orange-e83cb80a28_960.jpg | Bin .../oranges-eb34b10f29_960.jpg | Bin .../orchid-eb32b30e2f_960.jpg | Bin .../oregano-eb33b70d20_960.jpg | Bin .../ornamental-shrub-eb32b50c2b_960.jpg | Bin .../otter-eb33b6072f_960.jpg | Bin .../outdoors-ea34b10929_960.jpg | Bin .../{ => generation_1}/owl-eb32b00c2b_960.jpg | Bin .../{ => generation_1}/owl-eb32b10e20_960.jpg | Bin .../palm-tree-eb33b40920_960.jpg | Bin .../palm-trees-eb33b00620_960.jpg | Bin .../pancake-e83cb90b2f_960.jpg | Bin .../pancakes-eb35b30f20_960.jpg | Bin .../pancakes-eb37b80e21_960.jpg | Bin .../panorama-e83cb80c2e_960.jpg | Bin .../panorama-ea34b10b20_960.jpg | Bin .../panorama-eb32b10d29_960.jpg | Bin .../panorama-eb33b40728_960.jpg | Bin .../panorama-eb33b70f29_960.jpg | Bin .../panorama-eb34b0082b_960.jpg | Bin .../panorama-eb35b80720_960.jpg | Bin .../panoramic-ea34b1092a_960.jpg | Bin .../panoramic-ea35b5062d_960.jpg | Bin .../paprika-e83cb4082a_960.jpg | Bin .../parachute-e83db50c2b_960.jpg | Bin .../parasol-eb32b30a2f_960.jpg | Bin .../parrot-eb32b4092c_960.jpg | Bin .../parrot-eb33b80d29_960.jpg | Bin .../path-eb32b50e2a_960.jpg | Bin .../peach-eb30b60c20_960.jpg | Bin .../peacock-e83cb60c2d_960.jpg | Bin .../peacock-eb33b4072e_960.jpg | Bin .../peacock-eb34b50820_960.jpg | Bin .../peacock-eb37b10e2c_960.jpg | Bin .../pelikan-eb32b10728_960.jpg | Bin .../penguins-eb32b2092a_960.jpg | Bin .../pens-e832b50c2b_960.jpg | Bin .../people-ea34b10b2e_960.jpg | Bin .../people-eb30b60a21_960.jpg | Bin .../people-eb30b60d2c_960.jpg | Bin .../people-eb30b70c2c_960.jpg | Bin .../people-eb30b70e28_960.jpg | Bin .../people-eb30b8082a_960.jpg | Bin .../people-eb30b80c2c_960.jpg | Bin .../people-eb30b80c2d_960.jpg | Bin .../people-eb30b80f20_960.jpg | Bin .../people-eb30b80f29_960.jpg | Bin .../people-eb30b80f2e_960.jpg | Bin .../people-eb30b90729_960.jpg | Bin .../people-eb30b90821_960.jpg | Bin .../people-eb30b90921_960.jpg | Bin .../people-eb33b10c2f_960.jpg | Bin .../perch-eb33b6072a_960.jpg | Bin .../person-eb34b5092d_960.jpg | Bin .../petunia-eb32b3092b_960.jpg | Bin .../photographer-eb30b40f2b_960.jpg | Bin .../pine-cones-eb32b2092e_960.jpg | Bin .../pink-roses-eb30b20c2b_960.jpg | Bin .../plane-ea34b1092c_960.jpg | Bin .../planet-eb32b7072e_960.jpg | Bin .../plant-eb32b0062a_960.jpg | Bin .../plant-eb33b6062e_960.jpg | Bin .../plant-eb33b6062f_960.jpg | Bin .../plant-eb33b7072d_960.jpg | Bin .../play-stone-e832b50c2e_960.jpg | Bin .../plumage-e832b3072f_960.jpg | Bin .../plumber-eb30b5082b_960.jpg | Bin .../plums-eb32b30b29_960.jpg | Bin .../pocket-watch-eb35b20e28_960.jpg | Bin .../pocket-watch-eb35b70e2a_960.jpg | Bin .../pointed-flower-eb33b8072c_960.jpg | Bin .../poland-ea34b1092d_960.jpg | Bin .../polar-bear-ea34b10a21_960.jpg | Bin .../pompeii-eb32b30928_960.jpg | Bin .../pool-ea34b10a2f_960.jpg | Bin .../poppy-eb33b8062d_960.jpg | Bin .../poppyseed-eb30b4082b_960.jpg | Bin .../port-eb32b20d2d_960.jpg | Bin .../port-eb33b7082e_960.jpg | Bin .../potatoes-eb36b3062e_960.jpg | Bin .../pretzel-eb32b40621_960.jpg | Bin .../pretzel-eb37b60c2a_960.jpg | Bin .../pumpkin-eb32b00a28_960.jpg | Bin .../pumpkin-eb32b00b2e_960.jpg | Bin .../pumpkin-eb32b2072e_960.jpg | Bin .../pumpkin-eb32b20828_960.jpg | Bin .../pumpkin-eb32b50f2b_960.jpg | Bin .../pumpkins-eb32b00b2f_960.jpg | Bin .../pumpkins-eb32b20621_960.jpg | Bin .../pumpkins-eb32b20828_960.jpg | Bin .../pumpkins-eb32b20921_960.jpg | Bin .../pumpkins-eb33b70829_960.jpg | Bin .../pumpkins-eb37b10b2e_960.jpg | Bin .../purple-eb32b50e28_960.jpg | Bin .../pyramids-eb36b60e2d_960.jpg | Bin .../pyrenean-mountain-dog-eb33b80f21_960.jpg | Bin .../rabbit-e83cb10c28_960.jpg | Bin .../rabbit-e83db90d2e_960.jpg | Bin .../rabbit-eb32b5092f_960.jpg | Bin .../raccoon-e83db90a29_960.jpg | Bin .../railway-line-ea34b10b21_960.jpg | Bin .../railway-rails-eb32b2072d_960.jpg | Bin .../rain-eb30b2072c_960.jpg | Bin .../rainbow-eb32b50d21_960.jpg | Bin .../raindrop-e83cb00c2b_960.jpg | Bin .../rakozbrucke-eb32b20c2e_960.jpg | Bin .../raptor-eb32b2082a_960.jpg | Bin .../raptor-eb33b00c2f_960.jpg | Bin .../raspberries-eb31b20e28_960.jpg | Bin .../raspberries-eb33b70a2e_960.jpg | Bin .../raspberries-eb37b70721_960.jpg | Bin .../raspberry-eb35b30c2c_960.jpg | Bin .../real-chanterelles-e833b90f21_960.jpg | Bin .../red-fox-eb37b20f2f_960.jpg | Bin ...red-sunset-over-the-sea-eb32b20929_960.jpg | Bin .../red-wine-eb31b50c2e_960.jpg | Bin .../reefs-eb32b30f28_960.jpg | Bin .../reflection-ea34b10a2a_960.jpg | Bin .../relaxing-e83cb6062e_960.jpg | Bin .../reptile-eb35b50d21_960.jpg | Bin .../restaurant-eb32b30921_960.jpg | Bin .../rhodesian-ridgeback-eb32b3062b_960.jpg | Bin .../ribblehead-viaduct-eb31b50c28_960.jpg | Bin .../ring-eb30b60e2f_960.jpg | Bin .../rise-e832b90621_960.jpg | Bin .../river-eb33b00e2b_960.jpg | Bin .../road-eb30b80728_960.jpg | Bin .../robbe-ea35b9072f_960.jpg | Bin .../rock-eb30b6072a_960.jpg | Bin .../rock-eb32b40c20_960.jpg | Bin .../rocks-eb32b10f2f_960.jpg | Bin .../rocky-coast-eb32b50621_960.jpg | Bin .../roe-deer-eb32b40c2b_960.jpg | Bin .../roll-eb30b20d29_960.jpg | Bin .../roll-eb30b20e21_960.jpg | Bin .../room-eb32b40d20_960.jpg | Bin .../room-eb32b50629_960.jpg | Bin .../rose-eb31b0082b_960.jpg | Bin .../rose-eb33b70f29_960.jpg | Bin .../rose-eb33b9092d_960.jpg | Bin .../rose-eb34b10e2c_960.jpg | Bin .../rose-eb36b60729_960.jpg | Bin .../roses-eb32b50929_960.jpg | Bin .../roses-eb34b0082b_960.jpg | Bin .../roter-sand-eb35b50d2f_960.jpg | Bin .../rough-horn-eb34b50929_960.jpg | Bin .../running-eb32b50829_960.jpg | Bin .../saddle-eb33b00b28_960.jpg | Bin .../salad-eb35b7072a_960.jpg | Bin .../salami-eb33b50a2c_960.jpg | Bin .../salt-ea35b70f28_960.jpg | Bin .../san-francisco-e83db80c21_960.jpg | Bin .../sand-eb35b10a28_960.jpg | Bin .../santa-eb32b1092a_960.jpg | Bin .../santas-arm-e83cb1092d_960.jpg | Bin .../sarande-eb32b10d20_960.jpg | Bin .../scenery-eb33b80f28_960.jpg | Bin .../schilthorn-ea35b20c2c_960.jpg | Bin .../schrecksee-eb30b20b2c_960.jpg | Bin .../screw-e83cb30b29_960.jpg | Bin .../sculpture-eb35b00c28_960.jpg | Bin .../sculpture-eb37b10629_960.jpg | Bin .../{ => generation_1}/sea-e83cb80c2f_960.jpg | Bin .../{ => generation_1}/sea-ea34b10a2d_960.jpg | Bin .../{ => generation_1}/sea-ea34b10a2f_960.jpg | Bin .../{ => generation_1}/sea-eb30b4062b_960.jpg | Bin .../{ => generation_1}/sea-eb30b60e2d_960.jpg | Bin .../{ => generation_1}/sea-eb30b70721_960.jpg | Bin .../{ => generation_1}/sea-eb30b70b2c_960.jpg | Bin .../{ => generation_1}/sea-eb30b70b2e_960.jpg | Bin .../{ => generation_1}/sea-eb30b70e20_960.jpg | Bin .../{ => generation_1}/sea-eb30b70e2b_960.jpg | Bin .../{ => generation_1}/sea-eb30b8082a_960.jpg | Bin .../{ => generation_1}/sea-eb30b80921_960.jpg | Bin .../{ => generation_1}/sea-eb32b3082a_960.jpg | Bin .../{ => generation_1}/sea-eb32b3092b_960.jpg | Bin .../{ => generation_1}/sea-eb32b30a20_960.jpg | Bin .../{ => generation_1}/sea-eb32b30d21_960.jpg | Bin .../{ => generation_1}/sea-eb32b30f2d_960.jpg | Bin .../{ => generation_1}/sea-eb32b40a21_960.jpg | Bin .../{ => generation_1}/sea-eb32b40f2b_960.jpg | Bin .../{ => generation_1}/sea-eb33b2072a_960.jpg | Bin .../{ => generation_1}/sea-eb33b40920_960.jpg | Bin .../{ => generation_1}/sea-eb33b50f2b_960.jpg | Bin .../{ => generation_1}/sea-eb33b7072f_960.jpg | Bin .../{ => generation_1}/sea-eb33b80c2c_960.jpg | Bin .../{ => generation_1}/sea-eb33b90628_960.jpg | Bin .../{ => generation_1}/sea-eb33b90f2d_960.jpg | Bin .../{ => generation_1}/sea-eb35b40d2e_960.jpg | Bin .../{ => generation_1}/sea-eb36b70e2a_960.jpg | Bin .../sea-gull-ea34b10e2b_960.jpg | Bin .../seagull-e837b10620_960.jpg | Bin .../seagull-eb32b0072e_960.jpg | Bin .../seagull-eb32b2092a_960.jpg | Bin .../seagull-eb32b50b2b_960.jpg | Bin .../seagull-eb33b1072d_960.jpg | Bin .../seagull-eb33b40f21_960.jpg | Bin .../seal-eb31b7062b_960.jpg | Bin .../seals-eb32b1082d_960.jpg | Bin .../seascape-eb31b50b28_960.jpg | Bin .../seascape-eb32b00f2d_960.jpg | Bin .../seascape-eb32b30a28_960.jpg | Bin .../seashore-ea34b1082b_960.jpg | Bin .../section-eb32b00b2d_960.jpg | Bin .../senna-plant-eb32b10c2d_960.jpg | Bin .../setting-sun-eb33b2062e_960.jpg | Bin .../sheep-eb33b6092e_960.jpg | Bin .../sheep-eb33b60c20_960.jpg | Bin .../sheep-eb36b60d29_960.jpg | Bin .../shell-eb30b5092b_960.jpg | Bin .../shell-eb34b40d28_960.jpg | Bin .../ship-eb32b4092c_960.jpg | Bin .../shire-horse-eb34b8082a_960.jpg | Bin .../shoe-eb36b00c29_960.jpg | Bin .../shoes-eb37b0092c_960.jpg | Bin .../shore-eb32b7072d_960.jpg | Bin .../sience-fiction-ea35b8062f_960.jpg | Bin .../signal-eb33b40e2d_960.jpg | Bin .../silhouette-eb32b50e2a_960.jpg | Bin .../silhouettes-eb33b5082c_960.jpg | Bin .../{ => generation_1}/sky-ea34b1082b_960.jpg | Bin .../{ => generation_1}/sky-ea34b10e2e_960.jpg | Bin .../{ => generation_1}/sky-eb30b80e29_960.jpg | Bin .../{ => generation_1}/sky-eb33b10a2b_960.jpg | Bin .../{ => generation_1}/sky-eb33b10c2f_960.jpg | Bin .../{ => generation_1}/sky-eb33b60a21_960.jpg | Bin .../{ => generation_1}/sky-eb33b80620_960.jpg | Bin .../{ => generation_1}/sky-eb33b90e21_960.jpg | Bin .../{ => generation_1}/sky-eb33b90f28_960.jpg | Bin .../{ => generation_1}/sky-eb37b20a2f_960.jpg | Bin .../skyscraper-eb37b10c2b_960.jpg | Bin .../sleeve-eb33b00a20_960.jpg | Bin .../slice-of-lemon-eb34b20a2d_960.jpg | Bin .../slippers-eb32b3062d_960.jpg | Bin .../smartphone-e83cb4082f_960.jpg | Bin .../smartphone-e83cb9082a_960.jpg | Bin .../smartphone-eb31b80c2c_960.jpg | Bin .../snail-eb30b4062a_960.jpg | Bin .../snail-eb32b70f28_960.jpg | Bin .../snail-eb32b70f29_960.jpg | Bin .../sneakers-eb33b60620_960.jpg | Bin .../sneakers-eb33b6062f_960.jpg | Bin .../snow-crystals-e83cb4062a_960.jpg | Bin .../snow-e83cb10d28_960.jpg | Bin .../snow-ea34b10a2c_960.jpg | Bin .../snow-ea34b10c21_960.jpg | Bin .../snow-ea34b10e2b_960.jpg | Bin .../snow-eb33b80620_960.jpg | Bin .../snow-eb33b80b2b_960.jpg | Bin .../soap-bubble-e83cb50620_960.jpg | Bin .../soap-bubble-e83cb90b2b_960.jpg | Bin .../soap-bubble-eb31b10c2e_960.jpg | Bin .../soap-eb32b3092b_960.jpg | Bin .../son-of-a-bitch-eb33b00c29_960.jpg | Bin .../south-africa-eb32b1072a_960.jpg | Bin .../space-travel-eb32b50a2f_960.jpg | Bin .../spain-ea34b1092d_960.jpg | Bin .../sparrow-eb32b10a29_960.jpg | Bin .../sparrows-eb32b70c28_960.jpg | Bin .../sparrows-eb32b70c2d_960.jpg | Bin .../spider-e832b60d2f_960.jpg | Bin .../spoon-eb31b3092e_960.jpg | Bin .../sport-ea34b10b2c_960.jpg | Bin .../spray-cans-eb32b2072c_960.jpg | Bin .../spray-cans-eb32b2072d_960.jpg | Bin .../spread-e832b6092e_960.jpg | Bin .../spring-bird-eb37b80a2c_960.jpg | Bin .../spring-eb37b6092c_960.jpg | Bin .../spring-eb37b8072a_960.jpg | Bin .../star-winds-eb33b70f28_960.jpg | Bin .../starfish-eb31b30c21_960.jpg | Bin .../starry-sky-eb34b0092f_960.jpg | Bin .../station-e136b80d28_960.jpg | Bin .../statue-of-hercules-eb30b20e29_960.jpg | Bin .../steam-locomotive-eb32b50f20_960.jpg | Bin .../steamed-e832b80d2a_960.jpg | Bin .../stickies-eb32b30928_960.jpg | Bin .../still-life-e832b60e2b_960.jpg | Bin .../still-life-eb36b20720_960.jpg | Bin .../still-life-eb36b70928_960.jpg | Bin .../stinging-nettle-eb32b20c2c_960.jpg | Bin .../stone-arch-e137b9082b_960.jpg | Bin .../stone-eb30b90820_960.jpg | Bin .../stone-eb33b90d2a_960.jpg | Bin .../stonehenge-eb37b90821_960.jpg | Bin .../stork-eb31b20d21_960.jpg | Bin .../stork-eb32b40a28_960.jpg | Bin .../stork-eb36b1072a_960.jpg | Bin .../storks-eb30b30a20_960.jpg | Bin .../storm-eb30b7082e_960.jpg | Bin .../storm-eb32b30e2d_960.jpg | Bin .../straw-flowers-e833b90e2b_960.jpg | Bin .../strawberry-e83db90d2c_960.jpg | Bin .../strawberry-eb30b10d21_960.jpg | Bin .../streamer-eb35b90f2c_960.jpg | Bin .../street-eb32b20d2d_960.jpg | Bin .../streetsofindia-eb31b50c29_960.jpg | Bin .../subway-eb32b30a2f_960.jpg | Bin .../succulent-plant-eb32b20f2f_960.jpg | Bin .../succulents-eb36b5082d_960.jpg | Bin .../summer-eb32b40b21_960.jpg | Bin .../summer-eb32b70e21_960.jpg | Bin .../summer-eb36b80e2b_960.jpg | Bin .../{ => generation_1}/sun-eb33b50a20_960.jpg | Bin .../{ => generation_1}/sun-eb37b80821_960.jpg | Bin .../sun-flower-e833b50c2f_960.jpg | Bin .../sun-flower-eb30b00e21_960.jpg | Bin .../sun-flower-eb30b50928_960.jpg | Bin .../sun-flower-eb32b00b28_960.jpg | Bin .../sun-flower-eb32b10a29_960.jpg | Bin .../sun-flower-eb33b60d2a_960.jpg | Bin .../sun-flower-eb33b9092d_960.jpg | Bin .../sunbeam-eb32b70e21_960.jpg | Bin .../sunglasses-eb30b30c20_960.jpg | Bin .../sunlight-eb33b1092c_960.jpg | Bin .../sunrise-e83cb4062a_960.jpg | Bin .../sunrise-e83cb40f20_960.jpg | Bin .../sunrise-eb32b0082d_960.jpg | Bin .../sunrise-eb32b3062f_960.jpg | Bin .../sunrise-eb32b40c2f_960.jpg | Bin .../sunset-e832b30729_960.jpg | Bin .../sunset-e832b9092d_960.jpg | Bin .../sunset-ea34b1072f_960.jpg | Bin .../sunset-ea34b1082a_960.jpg | Bin .../sunset-ea34b1092a_960.jpg | Bin .../sunset-ea34b10a2f_960.jpg | Bin .../sunset-ea34b10b2c_960.jpg | Bin .../sunset-ea34b10c28_960.jpg | Bin .../sunset-ea34b10d21_960.jpg | Bin .../sunset-ea34b10d28_960.jpg | Bin .../sunset-ea34b10d2f_960.jpg | Bin .../sunset-ea34b10e2a_960.jpg | Bin .../sunset-ea34b10f2e_960.jpg | Bin .../sunset-ea35b80621_960.jpg | Bin .../sunset-ea35b8082c_960.jpg | Bin .../sunset-ea35b8092c_960.jpg | Bin .../sunset-ea35b80a2e_960.jpg | Bin .../sunset-ea35b80b21_960.jpg | Bin .../sunset-ea35b80d2a_960.jpg | Bin .../sunset-ea35b80d2f_960.jpg | Bin .../sunset-ea35b90829_960.jpg | Bin .../sunset-ea35b9082f_960.jpg | Bin .../sunset-ea35b90b2e_960.jpg | Bin .../sunset-eb30b20f29_960.jpg | Bin .../sunset-eb30b80b2d_960.jpg | Bin .../sunset-eb30b90e2d_960.jpg | Bin .../sunset-eb31b30f29_960.jpg | Bin .../sunset-eb31b40620_960.jpg | Bin .../sunset-eb32b0092d_960.jpg | Bin .../sunset-eb32b1072d_960.jpg | Bin .../sunset-eb32b10d29_960.jpg | Bin .../sunset-eb32b10e2e_960.jpg | Bin .../sunset-eb32b2082a_960.jpg | Bin .../sunset-eb32b2082c_960.jpg | Bin .../sunset-eb32b20921_960.jpg | Bin .../sunset-eb32b2092a_960.jpg | Bin .../sunset-eb32b20d21_960.jpg | Bin .../sunset-eb32b30c20_960.jpg | Bin .../sunset-eb32b30f28_960.jpg | Bin .../sunset-eb32b40b21_960.jpg | Bin .../sunset-eb32b40b2c_960.jpg | Bin .../sunset-eb32b50e29_960.jpg | Bin .../sunset-eb33b0082b_960.jpg | Bin .../sunset-eb33b00e2a_960.jpg | Bin .../sunset-eb33b10f2a_960.jpg | Bin .../sunset-eb33b20e2f_960.jpg | Bin .../sunset-eb33b30720_960.jpg | Bin .../sunset-eb33b30b21_960.jpg | Bin .../sunset-eb33b40921_960.jpg | Bin .../sunset-eb33b40c2c_960.jpg | Bin .../sunset-eb33b40d2f_960.jpg | Bin .../sunset-eb33b50820_960.jpg | Bin .../sunset-eb33b5082a_960.jpg | Bin .../sunset-eb33b50a2e_960.jpg | Bin .../sunset-eb33b50d28_960.jpg | Bin .../sunset-eb33b60721_960.jpg | Bin .../sunset-eb33b60a2a_960.jpg | Bin .../sunset-eb33b7062e_960.jpg | Bin .../sunset-eb33b80a20_960.jpg | Bin .../sunset-eb33b90921_960.jpg | Bin .../sunset-eb34b70f2b_960.jpg | Bin .../sunset-eb34b80e2e_960.jpg | Bin .../sunset-eb35b30e2a_960.jpg | Bin .../sunset-eb37b10a2d_960.jpg | Bin .../surf-ea34b10b20_960.jpg | Bin .../surf-ea35b80621_960.jpg | Bin .../surf-ea35b80a29_960.jpg | Bin .../surf-ea35b80c28_960.jpg | Bin .../surfer-eb33b70a21_960.jpg | Bin .../surfer-eb34b80c20_960.jpg | Bin .../surfer-eb37b00d21_960.jpg | Bin .../surfing-eb34b20b2d_960.jpg | Bin .../swan-eb31b00a21_960.jpg | Bin .../swan-eb31b80b21_960.jpg | Bin .../swan-eb34b10828_960.jpg | Bin .../swan-eb35b6082a_960.jpg | Bin .../swaziland-eb33b2082b_960.jpg | Bin .../swim-eb32b40b21_960.jpg | Bin .../szilvasvarad-eb32b10f2b_960.jpg | Bin .../table-decoration-eb32b40929_960.jpg | Bin .../tangerines-e832b30e2e_960.jpg | Bin .../tartan-track-eb33b6072d_960.jpg | Bin .../tarte-eb31b10621_960.jpg | Bin .../tatry-eb32b20a2e_960.jpg | Bin .../taxi-cab-ea3db00d2b_960.jpg | Bin .../tea-lights-eb37b30c20_960.jpg | Bin .../teacup-eb36b30a2f_960.jpg | Bin .../teacup-eb36b30b20_960.jpg | Bin .../teddy-ea35b70d20_960.jpg | Bin .../tennessee-eb32b1072a_960.jpg | Bin .../the-alpine-eryngo-eb33b6072e_960.jpg | Bin .../the-cabins-ea34b10b2d_960.jpg | Bin .../the-dawn-family-ea34b10e21_960.jpg | Bin .../the-maldives-eb32b20c2a_960.jpg | Bin .../the-pacific-ocean-ea34b1072e_960.jpg | Bin .../the-pacific-ocean-eb30b80e20_960.jpg | Bin .../the-pink-panter-e83cb8092a_960.jpg | Bin .../the-skyscraper-ea34b10a2f_960.jpg | Bin .../the-squirrel-eb32b10a2c_960.jpg | Bin .../the-sun-eb32b3082c_960.jpg | Bin .../thimble-eb36b60d2b_960.jpg | Bin .../tianjin-eb34b90a2d_960.jpg | Bin .../tic-tac-toe-e832b60820_960.jpg | Bin .../tiger-eb30b20a20_960.jpg | Bin .../tiger-eb30b20f29_960.jpg | Bin .../tiger-eb36b30f20_960.jpg | Bin .../tiger-ee33b90a2f_960.jpg | Bin .../to-reach-eb33b80821_960.jpg | Bin .../tomato-e83db70d20_960.jpg | Bin .../tomatoes-e83cb80c2e_960.jpg | Bin .../towel-e83db2072a_960.jpg | Bin .../tower-bridge-eb36b30b20_960.jpg | Bin .../town-eb31b20f2d_960.jpg | Bin .../train-eb34b90e2d_960.jpg | Bin .../transport-eb32b70a2b_960.jpg | Bin .../transportation-system-ea34b10b2f_960.jpg | Bin .../transportation-system-ea34b10e2a_960.jpg | Bin .../travel-e832b40929_960.jpg | Bin .../travel-ea34b10e2d_960.jpg | Bin .../travel-ea34b10f2f_960.jpg | Bin .../travel-ea35b8062d_960.jpg | Bin .../tree-bud-eb33b80f2c_960.jpg | Bin .../tree-e83cb50b2d_960.jpg | Bin .../tree-ea34b10a2b_960.jpg | Bin .../tree-ea35b60d2c_960.jpg | Bin .../tree-ea35b90d2f_960.jpg | Bin .../tree-eb31b20a2a_960.jpg | Bin .../tree-eb32b30920_960.jpg | Bin .../tree-eb33b70b29_960.jpg | Bin .../tree-eb34b10929_960.jpg | Bin .../trolley-eb37b10c2b_960.jpg | Bin .../trtoise-eb33b5082a_960.jpg | Bin .../tulip-eb34b50e2a_960.jpg | Bin .../tulips-eb37b10e2d_960.jpg | Bin .../turbine-ea34b1092f_960.jpg | Bin .../turkey-e83cb90a28_960.jpg | Bin .../turkey-ea34b10929_960.jpg | Bin .../turkey-ea34b1092a_960.jpg | Bin .../turkey-ea35b5072a_960.jpg | Bin .../turkey-ea35b80d21_960.jpg | Bin .../turkey-ea35b80d2f_960.jpg | Bin .../turkey-eb33b60b2b_960.jpg | Bin .../turkey-eb33b9062e_960.jpg | Bin .../turkey-eb33b9062f_960.jpg | Bin .../turtle-eb30b90b28_960.jpg | Bin .../turtle-eb37b10e2c_960.jpg | Bin .../tv-tower-eb35b00f20_960.jpg | Bin .../{ => generation_1}/ufo-eb32b30a21_960.jpg | Bin .../umbrella-e83db1082d_960.jpg | Bin .../urkey-to-ea34b10929_960.jpg | Bin .../{ => generation_1}/usa-eb33b40a2c_960.jpg | Bin .../valentines-day-eb35b50f21_960.jpg | Bin .../valley-eb33b5092b_960.jpg | Bin .../vegetables-e832b90c2f_960.jpg | Bin .../vehicle-eb34b20d2b_960.jpg | Bin .../vehicle-eb37b60a2c_960.jpg | Bin .../venice-eb32b40a29_960.jpg | Bin .../venice-eb33b60e2f_960.jpg | Bin .../venice-eb33b9092a_960.jpg | Bin .../verona-eb32b00a28_960.jpg | Bin .../view-eb30b60a20_960.jpg | Bin .../village-eb32b3062b_960.jpg | Bin .../vintage-look-eb37b60821_960.jpg | Bin .../volcano-eb32b00d2e_960.jpg | Bin .../volcano-eb32b4072b_960.jpg | Bin .../volcano-eb33b5092b_960.jpg | Bin .../volcano-eb33b70629_960.jpg | Bin .../volcano-eb37b20a29_960.jpg | Bin .../waddenzee-eb32b20d21_960.jpg | Bin .../waffles-eb34b80f21_960.jpg | Bin .../waiting-eb32b50929_960.jpg | Bin .../walking-eb32b40d28_960.jpg | Bin .../walking-eb33b20a28_960.jpg | Bin .../wallet-eb37b80d2c_960.jpg | Bin .../walnut-e832b40e2e_960.jpg | Bin .../walnuts-eb36b00d2d_960.jpg | Bin .../warm-and-cozy-e83cb60a2a_960.jpg | Bin .../wasp-eb33b4092c_960.jpg | Bin .../watch-e83db80c2b_960.jpg | Bin .../water-e832b4062f_960.jpg | Bin .../water-ea34b10720_960.jpg | Bin .../water-ea34b10920_960.jpg | Bin .../water-ea34b10b21_960.jpg | Bin .../water-ea35b80c2d_960.jpg | Bin .../water-eb37b10721_960.jpg | Bin .../water-lily-e83db80c2a_960.jpg | Bin .../water-lily-eb31b0072b_960.jpg | Bin .../water-lily-eb36b20b2a_960.jpg | Bin .../water-mill-eb32b1092d_960.jpg | Bin .../water-palace-ea34b10e2b_960.jpg | Bin ...l-bear-protective-gorge-eb33b60828_960.jpg | Bin .../waterfall-eb30b20e29_960.jpg | Bin .../waterfall-eb32b7082d_960.jpg | Bin .../waterfall-eb37b60e2a_960.jpg | Bin .../waterfalls-e834b50621_960.jpg | Bin .../waterfalls-eb30b70f20_960.jpg | Bin .../watermelon-e832b60d2e_960.jpg | Bin .../watermelon-e83cb70621_960.jpg | Bin .../waters-ea34b10a20_960.jpg | Bin .../waters-ea34b10a2f_960.jpg | Bin .../waters-ea34b10d2f_960.jpg | Bin .../waters-ea34b10f20_960.jpg | Bin .../waters-ea35b90c2d_960.jpg | Bin .../wave-e83cb00c2d_960.jpg | Bin .../wave-eb33b70c28_960.jpg | Bin .../wave-eb37b00e21_960.jpg | Bin .../wedding-eb32b10f2c_960.jpg | Bin .../western-tatras-eb33b80f21_960.jpg | Bin .../wheat-eb32b00c21_960.jpg | Bin .../wheel-ea34b10f2a_960.jpg | Bin .../whitby-eb32b00e29_960.jpg | Bin .../white-eb30b70b28_960.jpg | Bin .../white-eb30b90d20_960.jpg | Bin .../white-tailed-eagle-eb35b00a28_960.jpg | Bin .../wiesnbreze-eb36b70629_960.jpg | Bin .../wild-fig-eb32b70f2d_960.jpg | Bin .../wildflowers-eb33b8072c_960.jpg | Bin .../wind-farm-e832b5082b_960.jpg | Bin .../windsurfing-eb37b8072e_960.jpg | Bin .../wine-eb33b5082d_960.jpg | Bin .../wine-leaf-e832b30f29_960.jpg | Bin .../wine-leaf-eb32b00620_960.jpg | Bin .../wine-leaf-eb32b00a2f_960.jpg | Bin .../winter-e83cb70b2b_960.jpg | Bin .../winter-ea34b10928_960.jpg | Bin .../winter-ea35b8072a_960.jpg | Bin .../winter-eb32b0062e_960.jpg | Bin .../winter-eb33b20829_960.jpg | Bin .../winter-eb33b80e20_960.jpg | Bin .../winter-landscape-eb30b60e2f_960.jpg | Bin .../wintry-e83cb4062a_960.jpg | Bin .../wintry-eb35b7072a_960.jpg | Bin ...wolf-in-sheeps-clothing-eb30b60820_960.jpg | Bin .../{ => generation_1}/woman-837156_960.jpg | Bin .../woman-e83cb6062a_960.jpg | Bin .../woman-ea34b1072a_960.jpg | Bin .../woman-eb31b10e28_960.jpg | Bin .../woman-eb32b00e2a_960.jpg | Bin .../woman-eb32b20f21_960.jpg | Bin .../woman-eb32b30b21_960.jpg | Bin .../woman-eb33b90e28_960.jpg | Bin .../woman-eb34b80821_960.jpg | Bin .../wood-ea35b60e20_960.jpg | Bin .../wood-sunglasses-eb30b10f2a_960.jpg | Bin .../wood-sunglasses-eb30b10f2c_960.jpg | Bin .../wool-head-vulture-eb33b6072d_960.jpg | Bin .../workplace-eb36b50e2e_960.jpg | Bin .../yellow-thick-ear-eb33b20921_960.jpg | Bin .../yogurt-eb34b10b2b_960.jpg | Bin .../zaandam-eb32b40b28_960.jpg | Bin .../zauberglockchen-eb32b10c2d_960.jpg | Bin .../zemplen-eb32b2062d_960.jpg | Bin .../{ => generation_1}/zen-eb35b50f2b_960.jpg | Bin .../zugspitze-eb32b40b2b_960.jpg | Bin 1670 files changed, 879 insertions(+), 1870 deletions(-) create mode 100644 app/Livewire/Admin/SqlAi.php create mode 100644 app/Livewire/UserHubSettings.php create mode 100644 config/azure.php create mode 100644 config/hub.php create mode 100644 database/migrations/2024_07_10_155013_add_hub_related_fields_to_users_table.php create mode 100644 database/migrations/2024_07_10_155039_add_generation_and_query_level_to_hubs_table.php create mode 100644 database/migrations/update/2024_07_10_155039_add_generation_and_query_level_to_hubs_table.php rename database/seeders/{ => Generation1}/AdsTableSeeder.php (99%) rename database/seeders/{ => Generation1}/AnalyticsTableSeeder.php (84%) rename database/seeders/{ => Generation1}/CommentsTableSeeder.php (99%) rename database/seeders/{ => Generation1}/DatabaseSeeder.php (93%) rename database/seeders/{ => Generation1}/FollowsTableSeeder.php (99%) rename database/seeders/{ => Generation1}/LikesTableSeeder.php (99%) rename database/seeders/{ => Generation1}/PhotosTableSeeder.php (99%) rename database/seeders/{ => Generation1}/TagsTableSeeder.php (99%) rename database/seeders/{ => Generation1}/UsersTableSeeder.php (99%) create mode 100644 resources/views/admin/ai.blade.php create mode 100644 resources/views/admin/partials/result-table.blade.php create mode 100644 resources/views/livewire/admin/sql-ai.blade.php create mode 100644 resources/views/livewire/user-hub-settings.blade.php rename storage/app/avatars/{ => generation_1}/000.jpg (100%) rename storage/app/avatars/{ => generation_1}/001.jpg (100%) rename storage/app/avatars/{ => generation_1}/002.jpg (100%) rename storage/app/avatars/{ => generation_1}/003.jpg (100%) rename storage/app/avatars/{ => generation_1}/004.jpg (100%) rename storage/app/avatars/{ => generation_1}/005.jpg (100%) rename storage/app/avatars/{ => generation_1}/006.jpg (100%) rename storage/app/avatars/{ => generation_1}/007.jpg (100%) rename storage/app/avatars/{ => generation_1}/008.jpg (100%) rename storage/app/avatars/{ => generation_1}/009.jpg (100%) rename storage/app/avatars/{ => generation_1}/010.jpg (100%) rename storage/app/avatars/{ => generation_1}/011.jpg (100%) rename storage/app/avatars/{ => generation_1}/012.jpg (100%) rename storage/app/avatars/{ => generation_1}/013.jpg (100%) rename storage/app/avatars/{ => generation_1}/014.jpg (100%) rename storage/app/avatars/{ => generation_1}/015.jpg (100%) rename storage/app/avatars/{ => generation_1}/016.jpg (100%) rename storage/app/avatars/{ => generation_1}/017.jpg (100%) rename storage/app/avatars/{ => generation_1}/018.jpg (100%) rename storage/app/avatars/{ => generation_1}/019.jpg (100%) rename storage/app/avatars/{ => generation_1}/020.jpg (100%) rename storage/app/avatars/{ => generation_1}/021.jpg (100%) rename storage/app/avatars/{ => generation_1}/022.jpg (100%) rename storage/app/avatars/{ => generation_1}/023.jpg (100%) rename storage/app/avatars/{ => generation_1}/024.jpg (100%) rename storage/app/avatars/{ => generation_1}/025.jpg (100%) rename storage/app/avatars/{ => generation_1}/026.jpg (100%) rename storage/app/avatars/{ => generation_1}/027.jpg (100%) rename storage/app/avatars/{ => generation_1}/028.jpg (100%) rename storage/app/avatars/{ => generation_1}/029.jpg (100%) rename storage/app/avatars/{ => generation_1}/030.jpg (100%) rename storage/app/avatars/{ => generation_1}/031.jpg (100%) rename storage/app/avatars/{ => generation_1}/032.jpg (100%) rename storage/app/avatars/{ => generation_1}/033.jpg (100%) rename storage/app/avatars/{ => generation_1}/034.jpg (100%) rename storage/app/avatars/{ => generation_1}/035.jpg (100%) rename storage/app/avatars/{ => generation_1}/036.jpg (100%) rename storage/app/avatars/{ => generation_1}/037.jpg (100%) rename storage/app/avatars/{ => generation_1}/038.jpg (100%) rename storage/app/avatars/{ => generation_1}/039.jpg (100%) rename storage/app/avatars/{ => generation_1}/040.jpg (100%) rename storage/app/avatars/{ => generation_1}/041.jpg (100%) rename storage/app/avatars/{ => generation_1}/042.jpg (100%) rename storage/app/avatars/{ => generation_1}/043.jpg (100%) rename storage/app/avatars/{ => generation_1}/044.jpg (100%) rename storage/app/avatars/{ => generation_1}/045.jpg (100%) rename storage/app/avatars/{ => generation_1}/046.jpg (100%) rename storage/app/avatars/{ => generation_1}/047.jpg (100%) rename storage/app/avatars/{ => generation_1}/048.jpg (100%) rename storage/app/avatars/{ => generation_1}/049.jpg (100%) rename storage/app/avatars/{ => generation_1}/050.jpg (100%) rename storage/app/avatars/{ => generation_1}/051.jpg (100%) rename storage/app/avatars/{ => generation_1}/052.jpg (100%) rename storage/app/avatars/{ => generation_1}/053.jpg (100%) rename storage/app/avatars/{ => generation_1}/054.jpg (100%) rename storage/app/avatars/{ => generation_1}/055.jpg (100%) rename storage/app/avatars/{ => generation_1}/056.jpg (100%) rename storage/app/avatars/{ => generation_1}/057.jpg (100%) rename storage/app/avatars/{ => generation_1}/058.jpg (100%) rename storage/app/avatars/{ => generation_1}/059.jpg (100%) rename storage/app/avatars/{ => generation_1}/060.jpg (100%) rename storage/app/avatars/{ => generation_1}/061.jpg (100%) rename storage/app/avatars/{ => generation_1}/062.jpg (100%) rename storage/app/avatars/{ => generation_1}/063.jpg (100%) rename storage/app/avatars/{ => generation_1}/064.jpg (100%) rename storage/app/avatars/{ => generation_1}/065.jpg (100%) rename storage/app/avatars/{ => generation_1}/066.jpg (100%) rename storage/app/avatars/{ => generation_1}/067.jpg (100%) rename storage/app/avatars/{ => generation_1}/068.jpg (100%) rename storage/app/avatars/{ => generation_1}/069.jpg (100%) rename storage/app/avatars/{ => generation_1}/070.jpg (100%) rename storage/app/avatars/{ => generation_1}/071.jpg (100%) rename storage/app/avatars/{ => generation_1}/072.jpg (100%) rename storage/app/avatars/{ => generation_1}/073.jpg (100%) rename storage/app/avatars/{ => generation_1}/074.jpg (100%) rename storage/app/avatars/{ => generation_1}/075.jpg (100%) rename storage/app/avatars/{ => generation_1}/076.jpg (100%) rename storage/app/avatars/{ => generation_1}/077.jpg (100%) rename storage/app/avatars/{ => generation_1}/078.jpg (100%) rename storage/app/avatars/{ => generation_1}/079.jpg (100%) rename storage/app/avatars/{ => generation_1}/080.jpg (100%) rename storage/app/avatars/{ => generation_1}/081.jpg (100%) rename storage/app/avatars/{ => generation_1}/082.jpg (100%) rename storage/app/avatars/{ => generation_1}/083.jpg (100%) rename storage/app/avatars/{ => generation_1}/084.jpg (100%) rename storage/app/avatars/{ => generation_1}/085.jpg (100%) rename storage/app/avatars/{ => generation_1}/086.jpg (100%) rename storage/app/avatars/{ => generation_1}/087.jpg (100%) rename storage/app/avatars/{ => generation_1}/088.jpg (100%) rename storage/app/avatars/{ => generation_1}/089.jpg (100%) rename storage/app/avatars/{ => generation_1}/090.jpg (100%) rename storage/app/avatars/{ => generation_1}/091.jpg (100%) rename storage/app/avatars/{ => generation_1}/092.jpg (100%) rename storage/app/avatars/{ => generation_1}/093.jpg (100%) rename storage/app/avatars/{ => generation_1}/094.jpg (100%) rename storage/app/avatars/{ => generation_1}/095.jpg (100%) rename storage/app/avatars/{ => generation_1}/096.jpg (100%) rename storage/app/avatars/{ => generation_1}/097.jpg (100%) rename storage/app/avatars/{ => generation_1}/098.jpg (100%) rename storage/app/avatars/{ => generation_1}/099.jpg (100%) rename storage/app/avatars/{ => generation_1}/100.jpg (100%) rename storage/app/avatars/{ => generation_1}/101.jpg (100%) rename storage/app/avatars/{ => generation_1}/102.jpg (100%) rename storage/app/avatars/{ => generation_1}/103.jpg (100%) rename storage/app/avatars/{ => generation_1}/104.jpg (100%) rename storage/app/avatars/{ => generation_1}/105.jpg (100%) rename storage/app/avatars/{ => generation_1}/106.jpg (100%) rename storage/app/avatars/{ => generation_1}/107.jpg (100%) rename storage/app/avatars/{ => generation_1}/108.jpg (100%) rename storage/app/avatars/{ => generation_1}/109.jpg (100%) rename storage/app/avatars/{ => generation_1}/110.jpg (100%) rename storage/app/avatars/{ => generation_1}/111.jpg (100%) rename storage/app/avatars/{ => generation_1}/112.jpg (100%) rename storage/app/avatars/{ => generation_1}/113.jpg (100%) rename storage/app/avatars/{ => generation_1}/114.jpg (100%) rename storage/app/avatars/{ => generation_1}/115.jpg (100%) rename storage/app/avatars/{ => generation_1}/116.jpg (100%) rename storage/app/avatars/{ => generation_1}/117.jpg (100%) rename storage/app/avatars/{ => generation_1}/118.jpg (100%) rename storage/app/avatars/{ => generation_1}/119.jpg (100%) rename storage/app/avatars/{ => generation_1}/120.jpg (100%) rename storage/app/avatars/{ => generation_1}/121.jpg (100%) rename storage/app/avatars/{ => generation_1}/122.jpg (100%) rename storage/app/avatars/{ => generation_1}/123.jpg (100%) rename storage/app/avatars/{ => generation_1}/124.jpg (100%) rename storage/app/avatars/{ => generation_1}/125.jpg (100%) rename storage/app/avatars/{ => generation_1}/126.jpg (100%) rename storage/app/avatars/{ => generation_1}/127.jpg (100%) rename storage/app/avatars/{ => generation_1}/128.jpg (100%) rename storage/app/avatars/{ => generation_1}/129.jpg (100%) rename storage/app/avatars/{ => generation_1}/130.jpg (100%) rename storage/app/avatars/{ => generation_1}/131.jpg (100%) rename storage/app/avatars/{ => generation_1}/132.jpg (100%) rename storage/app/avatars/{ => generation_1}/133.jpg (100%) rename storage/app/avatars/{ => generation_1}/134.jpg (100%) rename storage/app/avatars/{ => generation_1}/135.jpg (100%) rename storage/app/avatars/{ => generation_1}/136.jpg (100%) rename storage/app/avatars/{ => generation_1}/137.jpg (100%) rename storage/app/avatars/{ => generation_1}/138.jpg (100%) rename storage/app/avatars/{ => generation_1}/139.jpg (100%) rename storage/app/avatars/{ => generation_1}/140.jpg (100%) rename storage/app/avatars/{ => generation_1}/141.jpg (100%) rename storage/app/avatars/{ => generation_1}/142.jpg (100%) rename storage/app/avatars/{ => generation_1}/143.jpg (100%) rename storage/app/avatars/{ => generation_1}/144.jpg (100%) rename storage/app/avatars/{ => generation_1}/145.jpg (100%) rename storage/app/avatars/{ => generation_1}/146.jpg (100%) rename storage/app/avatars/{ => generation_1}/147.jpg (100%) rename storage/app/avatars/{ => generation_1}/148.jpg (100%) rename storage/app/avatars/{ => generation_1}/149.jpg (100%) rename storage/app/avatars/{ => generation_1}/150.jpg (100%) rename storage/app/avatars/{ => generation_1}/151.jpg (100%) rename storage/app/avatars/{ => generation_1}/152.jpg (100%) rename storage/app/avatars/{ => generation_1}/153.jpg (100%) rename storage/app/avatars/{ => generation_1}/154.jpg (100%) rename storage/app/avatars/{ => generation_1}/155.jpg (100%) rename storage/app/avatars/{ => generation_1}/156.jpg (100%) rename storage/app/avatars/{ => generation_1}/157.jpg (100%) rename storage/app/avatars/{ => generation_1}/158.jpg (100%) rename storage/app/avatars/{ => generation_1}/159.jpg (100%) rename storage/app/avatars/{ => generation_1}/160.jpg (100%) rename storage/app/avatars/{ => generation_1}/161.jpg (100%) rename storage/app/avatars/{ => generation_1}/162.jpg (100%) rename storage/app/avatars/{ => generation_1}/163.jpg (100%) rename storage/app/avatars/{ => generation_1}/164.jpg (100%) rename storage/app/avatars/{ => generation_1}/165.jpg (100%) rename storage/app/avatars/{ => generation_1}/166.jpg (100%) rename storage/app/avatars/{ => generation_1}/167.jpg (100%) rename storage/app/avatars/{ => generation_1}/168.jpg (100%) rename storage/app/avatars/{ => generation_1}/169.jpg (100%) rename storage/app/avatars/{ => generation_1}/170.jpg (100%) rename storage/app/avatars/{ => generation_1}/171.jpg (100%) rename storage/app/avatars/{ => generation_1}/172.jpg (100%) rename storage/app/avatars/{ => generation_1}/173.jpg (100%) rename storage/app/avatars/{ => generation_1}/174.jpg (100%) rename storage/app/avatars/{ => generation_1}/175.jpg (100%) rename storage/app/avatars/{ => generation_1}/176.jpg (100%) rename storage/app/avatars/{ => generation_1}/177.jpg (100%) rename storage/app/avatars/{ => generation_1}/178.jpg (100%) rename storage/app/avatars/{ => generation_1}/179.jpg (100%) rename storage/app/avatars/{ => generation_1}/180.jpg (100%) rename storage/app/avatars/{ => generation_1}/181.jpg (100%) rename storage/app/avatars/{ => generation_1}/182.jpg (100%) rename storage/app/avatars/{ => generation_1}/183.jpg (100%) rename storage/app/avatars/{ => generation_1}/184.jpg (100%) rename storage/app/avatars/{ => generation_1}/185.jpg (100%) rename storage/app/avatars/{ => generation_1}/186.jpg (100%) rename storage/app/avatars/{ => generation_1}/187.jpg (100%) rename storage/app/avatars/{ => generation_1}/188.jpg (100%) rename storage/app/avatars/{ => generation_1}/189.jpg (100%) rename storage/app/avatars/{ => generation_1}/190.jpg (100%) rename storage/app/avatars/{ => generation_1}/191.jpg (100%) rename storage/app/avatars/{ => generation_1}/192.jpg (100%) rename storage/app/avatars/{ => generation_1}/193.jpg (100%) rename storage/app/avatars/{ => generation_1}/194.jpg (100%) rename storage/app/avatars/{ => generation_1}/195.jpg (100%) rename storage/app/avatars/{ => generation_1}/196.jpg (100%) rename storage/app/avatars/{ => generation_1}/197.jpg (100%) rename storage/app/avatars/{ => generation_1}/198.jpg (100%) rename storage/app/avatars/{ => generation_1}/199.jpg (100%) rename storage/app/avatars/{ => generation_1}/200.jpg (100%) rename storage/app/avatars/{ => generation_1}/201.jpg (100%) rename storage/app/avatars/{ => generation_1}/202.jpg (100%) rename storage/app/avatars/{ => generation_1}/203.jpg (100%) rename storage/app/avatars/{ => generation_1}/204.jpg (100%) rename storage/app/avatars/{ => generation_1}/205.jpg (100%) rename storage/app/avatars/{ => generation_1}/206.jpg (100%) rename storage/app/photos/{ => generation_1}/abendstimmung-eb33b40628_960.jpg (100%) rename storage/app/photos/{ => generation_1}/abendstimmung-eb33b80b21_960.jpg (100%) rename storage/app/photos/{ => generation_1}/abstract-eb32b00a2b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/acorn-eb32b40b28_960.jpg (100%) rename storage/app/photos/{ => generation_1}/adam-whitlock-I9j8Rk-JYFM-unsplash.jpg (100%) rename storage/app/photos/{ => generation_1}/adler-eb32b20f29_960.jpg (100%) rename storage/app/photos/{ => generation_1}/adler-eb33b00e2d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/adler-eb36b9092b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/adventure-eb30b3072c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/agaric-eb33b2072f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/agaric-eb33b40929_960.jpg (100%) rename storage/app/photos/{ => generation_1}/agriculture-e83db1082d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/air-bag-e833b8092c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/aircraft-e83db00c2f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/aircraft-eb32b2092e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/airplane-ea34b10f2a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/alabama-eb33b70928_960.jpg (100%) rename storage/app/photos/{ => generation_1}/alarm-clock-eb34b20d2a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/alarm-clock-eb34b60a2b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/alhambra-ea35b8072e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/alhambra-eb32b00a2f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/alpaca-eb32b5082c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/alpaca-eb37b00b2e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/alta-badia-eb33b60c2a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/ama-dablam-eb35b70b2d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/amanita-eb32b5092e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/amusement-eb31b40921_960.jpg (100%) rename storage/app/photos/{ => generation_1}/analytics-eb33b80821_960.jpg (100%) rename storage/app/photos/{ => generation_1}/ancient-e832b80c2c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/anemone-eb32b00d2b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/angel-e83db80e2c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/angel-eb30b20b20_960.jpg (100%) rename storage/app/photos/{ => generation_1}/animal-e832b9072a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/animal-e83db70721_960.jpg (100%) rename storage/app/photos/{ => generation_1}/animals-eb32b20929_960.jpg (100%) rename storage/app/photos/{ => generation_1}/animals-eb32b50929_960.jpg (100%) rename storage/app/photos/{ => generation_1}/animals-eb33b60e20_960.jpg (100%) rename storage/app/photos/{ => generation_1}/animals-eb37b30d28_960.jpg (100%) rename storage/app/photos/{ => generation_1}/anthony-delanoix-hzgs56Ze49s-unsplash.jpg (100%) rename storage/app/photos/{ => generation_1}/ape-eb33b70f28_960.jpg (100%) rename storage/app/photos/{ => generation_1}/apple-eb32b00a2a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/apple-eb32b10b29_960.jpg (100%) rename storage/app/photos/{ => generation_1}/apple-eb32b4092c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/apple-eb33b80e2f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/apricots-eb30b30c2a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/arbutus-e832b60e28_960.jpg (100%) rename storage/app/photos/{ => generation_1}/architecture-e832b40f2f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/architecture-e83cb00b2b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/architecture-ea34b1072b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/architecture-ea34b1072f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/architecture-ea34b10820_960.jpg (100%) rename storage/app/photos/{ => generation_1}/architecture-ea34b1092b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/architecture-ea34b10a2f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/architecture-ea34b10b2c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/architecture-ea34b10d28_960.jpg (100%) rename storage/app/photos/{ => generation_1}/architecture-ea34b10d2f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/architecture-ea34b10e29_960.jpg (100%) rename storage/app/photos/{ => generation_1}/architecture-ea34b10e2c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/architecture-ea35b6092e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/architecture-ea35b80a2d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/architecture-ea35b80a2f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/architecture-eb30b70f20_960.jpg (100%) rename storage/app/photos/{ => generation_1}/architecture-eb32b30a2a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/architecture-eb35b90c2e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/architecture-eb37b4092c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/art-e833b80621_960.jpg (100%) rename storage/app/photos/{ => generation_1}/art-eb32b40a2d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/artvin-eb32b30d2b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/asparagus-eb34b60729_960.jpg (100%) rename storage/app/photos/{ => generation_1}/asparagus-eb34b7062b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/aster-eb32b60f28_960.jpg (100%) rename storage/app/photos/{ => generation_1}/auto-e833b70e28_960.jpg (100%) rename storage/app/photos/{ => generation_1}/auto-ea34b10828_960.jpg (100%) rename storage/app/photos/{ => generation_1}/auto-ea35b80e2a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/auto-eb30b90c2a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/auto-eb30b90c2b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/autumn-eb32b00828_960.jpg (100%) rename storage/app/photos/{ => generation_1}/autumn-eb32b20a2f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/autumn-eb34b90c2c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/avenue-eb37b00a2b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/away-eb32b4092a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/baby-eb30b40c2d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/baby-eb31b0092f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/background-ea34b10729_960.jpg (100%) rename storage/app/photos/{ => generation_1}/background-ea34b10b2c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/baguette-e832b50c21_960.jpg (100%) rename storage/app/photos/{ => generation_1}/balance-eb32b50a2f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/bald-eagle-e832b3072f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/bald-eagle-eb32b00a2c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/balloon-eb36b20e2c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/baltic-sea-ea34b10e21_960.jpg (100%) rename storage/app/photos/{ => generation_1}/bank-eb32b10a2d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/bar-eb32b20c28_960.jpg (100%) rename storage/app/photos/{ => generation_1}/barbary-ape-eb33b7082b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/barley-eb34b0082c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/barrack-ea35b80829_960.jpg (100%) rename storage/app/photos/{ => generation_1}/baskets-eb35b3072a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/baths-eb32b20c2b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/bay-eb32b30f28_960.jpg (100%) rename storage/app/photos/{ => generation_1}/bay-eb33b60a2b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/beach-e83db7082a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/beach-ea34b10f29_960.jpg (100%) rename storage/app/photos/{ => generation_1}/beach-eb32b00c28_960.jpg (100%) rename storage/app/photos/{ => generation_1}/beach-eb32b1072d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/beach-eb32b3062d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/beach-eb32b30f29_960.jpg (100%) rename storage/app/photos/{ => generation_1}/beach-eb33b00829_960.jpg (100%) rename storage/app/photos/{ => generation_1}/beach-eb33b10929_960.jpg (100%) rename storage/app/photos/{ => generation_1}/beach-eb33b1092a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/beach-eb33b10a29_960.jpg (100%) rename storage/app/photos/{ => generation_1}/beach-eb33b40c29_960.jpg (100%) rename storage/app/photos/{ => generation_1}/beach-eb34b60629_960.jpg (100%) rename storage/app/photos/{ => generation_1}/beach-eb34b6062e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/beach-eb35b90621_960.jpg (100%) rename storage/app/photos/{ => generation_1}/beach-house-eb33b1072d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/beaded-e833b20f2c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/bear-eb33b00d20_960.jpg (100%) rename storage/app/photos/{ => generation_1}/beautiful-eb32b70728_960.jpg (100%) rename storage/app/photos/{ => generation_1}/beautiful-girl-eb35b10c2e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/beautiful-male-peacock-eb36b70c2f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/bee-e832b3092e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/bee-eb33b20f2d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/bee-eb33b60f2a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/bee-eb33b7092b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/bee-eb34b9062b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/beer-eb30b20929_960.jpg (100%) rename storage/app/photos/{ => generation_1}/beer-eb31b2062a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/beer-eb37b90729_960.jpg (100%) rename storage/app/photos/{ => generation_1}/begonias-eb32b00a2e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/begonias-eb32b10c2d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/belgium-eb33b3072b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/bellflower-eb33b60e2e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/belts-e833b90728_960.jpg (100%) rename storage/app/photos/{ => generation_1}/belts-e833b90729_960.jpg (100%) rename storage/app/photos/{ => generation_1}/belts-e833b90821_960.jpg (100%) rename storage/app/photos/{ => generation_1}/belts-eb34b70f2a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/berber-monkeys-eb33b7082b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/berries-eb31b50e2e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/bible-e83cb70f2e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/bicycle-eb32b20d21_960.jpg (100%) rename storage/app/photos/{ => generation_1}/bighorn-e832b30e2d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/bighorn-sheep-eb33b5092b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/birch-eb32b50c2b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/bird-eb33b5072d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/bird-eb33b70a29_960.jpg (100%) rename storage/app/photos/{ => generation_1}/bird-eb33b80a2e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/bird-eb33b80a2f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/bird-eb33b9092b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/bird-eb33b90c20_960.jpg (100%) rename storage/app/photos/{ => generation_1}/birds-e833b30b2c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/birds-ea34b10820_960.jpg (100%) rename storage/app/photos/{ => generation_1}/birds-ea35b80a29_960.jpg (100%) rename storage/app/photos/{ => generation_1}/birds-eb33b9072a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/bitcoin-eb35b1082f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/black-nosed-sheep-eb33b9092c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/black-vulture-eb32b40f29_960.jpg (100%) rename storage/app/photos/{ => generation_1}/blacksmith-eb32b50f29_960.jpg (100%) rename storage/app/photos/{ => generation_1}/bled-eb33b1072c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/blonde-eb35b80b29_960.jpg (100%) rename storage/app/photos/{ => generation_1}/blossom-e034b90b2d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/blossom-eb32b00b28_960.jpg (100%) rename storage/app/photos/{ => generation_1}/blossom-eb32b4062c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/blossom-eb33b30c2a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/blossom-eb33b9072d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/blossom-eb33b9092e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/blowfly-eb34b40e2c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/blue-eb32b10d29_960.jpg (100%) rename storage/app/photos/{ => generation_1}/blue-hour-eb33b70d21_960.jpg (100%) rename storage/app/photos/{ => generation_1}/blueberries-eb37b60721_960.jpg (100%) rename storage/app/photos/{ => generation_1}/blueberries-eb37b60f2b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/boat-eb33b40e20_960.jpg (100%) rename storage/app/photos/{ => generation_1}/boats-eb32b40721_960.jpg (100%) rename storage/app/photos/{ => generation_1}/body-of-water-ea34b1092e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/body-of-water-ea35b80721_960.jpg (100%) rename storage/app/photos/{ => generation_1}/body-of-water-ea35b80821_960.jpg (100%) rename storage/app/photos/{ => generation_1}/bokeh-eb32b30a20_960.jpg (100%) rename storage/app/photos/{ => generation_1}/book-eb3cb3062e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/books-e832b4082f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/bottle-eb35b20d21_960.jpg (100%) rename storage/app/photos/{ => generation_1}/bouquet-eb32b40a21_960.jpg (100%) rename storage/app/photos/{ => generation_1}/box-eb3cb40c2f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/branch-e832b40c2f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/bread-e832b70e29_960.jpg (100%) rename storage/app/photos/{ => generation_1}/bread-eb32b40a28_960.jpg (100%) rename storage/app/photos/{ => generation_1}/bread-eb34b80c2d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/breakfast-eb36b70828_960.jpg (100%) rename storage/app/photos/{ => generation_1}/breakwater-eb33b80c2f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/bridge-ea34b10a20_960.jpg (100%) rename storage/app/photos/{ => generation_1}/bridge-ea35b80621_960.jpg (100%) rename storage/app/photos/{ => generation_1}/bridge-eb32b3082e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/bridge-eb32b5082d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/bridge-eb32b7082d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/broccoli-e83cb60b20_960.jpg (100%) rename storage/app/photos/{ => generation_1}/bubble-e83db80c2b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/bugs-eb32b50b2e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/bulb-eb37b9082f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/bundestag-eb31b70c2a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/businessman-eb33b1092d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/butterfly-eb30b4062a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/butterfly-eb32b20c2a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/butterfly-eb32b20e2f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/buttons-e833b90729_960.jpg (100%) rename storage/app/photos/{ => generation_1}/cafe-eb32b3062c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/caipirinha-e83db10b2c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/cake-e83cb60e2d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/calibrachoa-eb32b00a2e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/california-eb33b1072c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/california-eb33b70928_960.jpg (100%) rename storage/app/photos/{ => generation_1}/california-eb33b9092b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/call-center-eb37b60a2f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/calm-eb32b7072d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/calm-eb36b00a2d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/camel-eb32b00b2e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/camel-eb32b4092b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/camera-e832b10f29_960.jpg (100%) rename storage/app/photos/{ => generation_1}/candles-eb33b3072c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/candy-e83cb70e2d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/candy-eb30b20720_960.jpg (100%) rename storage/app/photos/{ => generation_1}/canopy-eb30b40d21_960.jpg (100%) rename storage/app/photos/{ => generation_1}/canton-eb37b6072c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/car-dashboard-eb33b7082c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/car-e03db50e2d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/caramel-e83cb40d21_960.jpg (100%) rename storage/app/photos/{ => generation_1}/carnival-eb35b80d20_960.jpg (100%) rename storage/app/photos/{ => generation_1}/carrots-eb36b9082b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/caspian-eb30b60820_960.jpg (100%) rename storage/app/photos/{ => generation_1}/castle-eb32b00d28_960.jpg (100%) rename storage/app/photos/{ => generation_1}/castle-eb32b3092f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/cat-eb32b00e20_960.jpg (100%) rename storage/app/photos/{ => generation_1}/cat-eb32b00e2f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/cat-eb32b30929_960.jpg (100%) rename storage/app/photos/{ => generation_1}/cat-eb32b30d2c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/cat-eb32b4072d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/cat-eb33b1092b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/cat-eb33b40e2c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/cat-eb33b7062d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/cat-eb33b8062e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/cat-eb33b90c21_960.jpg (100%) rename storage/app/photos/{ => generation_1}/cat-eb35b90c2c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/cat-eb37b60c2d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/cats-eyes-eb33b60e21_960.jpg (100%) rename storage/app/photos/{ => generation_1}/cave-eb32b4082c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/chair-ea34b10d2d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/chamomile-eb32b2092e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/channel-ea34b10e2d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/charcoal-eb36b8092f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/chateau-ea34b10821_960.jpg (100%) rename storage/app/photos/{ => generation_1}/chateau-eb33b70c2b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/cherries-eb31b10d2c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/cherry-e83cb80a2d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/cherry-tomatoes-eb30b7092c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/chess-eb31b9062d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/chess-eb32b3082c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/chestnut-eb32b40c21_960.jpg (100%) rename storage/app/photos/{ => generation_1}/chestnut-eb32b50f2f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/chicken-eb32b50d2b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/chicks-eb31b3092e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/chiemsee-eb33b60b2c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/chihuahua-eb32b70a2b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/chocolate-eb37b30b21_960.jpg (100%) rename storage/app/photos/{ => generation_1}/christmas-cookies-e83db9092f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/christmas-ea35b00f29_960.jpg (100%) rename storage/app/photos/{ => generation_1}/christmas-eb30b8082f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/christmas-eb3cb60e21_960.jpg (100%) rename storage/app/photos/{ => generation_1}/church-ea35b8062d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/church-eb31b40620_960.jpg (100%) rename storage/app/photos/{ => generation_1}/church-eb31b70b20_960.jpg (100%) rename storage/app/photos/{ => generation_1}/church-window-e83db50c21_960.jpg (100%) rename storage/app/photos/{ => generation_1}/church-window-eb37b0082f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/cinnamon-e83cb60e2c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/city-ea34b10a28_960.jpg (100%) rename storage/app/photos/{ => generation_1}/cliffs-of-moher-eb33b80628_960.jpg (100%) rename storage/app/photos/{ => generation_1}/cloister-eb35b50e28_960.jpg (100%) rename storage/app/photos/{ => generation_1}/cloud-eb32b00c2e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/cloud-eb32b30c2c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/clouds-eb30b0082e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/clouds-eb36b3062e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/club-eb31b80d28_960.jpg (100%) rename storage/app/photos/{ => generation_1}/coast-eb31b40820_960.jpg (100%) rename storage/app/photos/{ => generation_1}/coast-eb32b30c2f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/coast-eb32b30f28_960.jpg (100%) rename storage/app/photos/{ => generation_1}/coast-eb32b40621_960.jpg (100%) rename storage/app/photos/{ => generation_1}/coast-eb33b50629_960.jpg (100%) rename storage/app/photos/{ => generation_1}/coffee-beans-eb37b40720_960.jpg (100%) rename storage/app/photos/{ => generation_1}/coffee-cup-eb36b0082a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/coffee-e835b20f21_960.jpg (100%) rename storage/app/photos/{ => generation_1}/coffee-eb32b00b21_960.jpg (100%) rename storage/app/photos/{ => generation_1}/coffee-eb33b10720_960.jpg (100%) rename storage/app/photos/{ => generation_1}/coffee-eb36b1092c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/coins-eb30b00d2a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/collared-lizard-eb37b60a20_960.jpg (100%) rename storage/app/photos/{ => generation_1}/cologne-e83db5092b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/colorful-eb30b80e28_960.jpg (100%) rename storage/app/photos/{ => generation_1}/concrete-e83db50a28_960.jpg (100%) rename storage/app/photos/{ => generation_1}/constance-beach-schmielen-eb36b80d2e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/cooking-eb34b20d20_960.jpg (100%) rename storage/app/photos/{ => generation_1}/coral-eb32b0082a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/coral-eb33b20828_960.jpg (100%) rename storage/app/photos/{ => generation_1}/coral-eb33b4062e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/coral-eb33b60a2e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/coral-eb33b80b2c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/cosmea-eb33b3072a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/countryside-eb34b60a2b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/countryside-eb36b3092f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/couple-ea35b70b28_960.jpg (100%) rename storage/app/photos/{ => generation_1}/cove-ea34b10d2c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/crab-e83cb80f29_960.jpg (100%) rename storage/app/photos/{ => generation_1}/crisp-eb33b50f2f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/crocodile-eb32b10829_960.jpg (100%) rename storage/app/photos/{ => generation_1}/crocodile-eb32b20d20_960.jpg (100%) rename storage/app/photos/{ => generation_1}/crocus-eb34b10828_960.jpg (100%) rename storage/app/photos/{ => generation_1}/crocus-eb34b2062f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/crocus-eb34b50a2d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/cross-eb32b00c2b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/crown-e83cb4062a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/cube-e83cb70c28_960.jpg (100%) rename storage/app/photos/{ => generation_1}/cucumbers-e832b6092f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/cup-eb36b00a2d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/cyprus-eb32b50c28_960.jpg (100%) rename storage/app/photos/{ => generation_1}/dahlia-eb32b00c2c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/dahlia-eb32b5082b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/dahlia-eb33b6062a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/dahlia-eb33b6062b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/dahlia-eb33b60f2a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/dahlia-eb33b70a2b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/dahlia-eb33b80f2e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/daisy-e135b00729_960.jpg (100%) rename storage/app/photos/{ => generation_1}/daisy-eb32b2072d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/dandelion-eb30b90b2b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/dandelion-eb33b3082e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/dandelion-eb36b00a2d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/dandelion-eb37b80a2c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/decorating-christmas-tree-eb3cb8062f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/deer-e83cb50f2b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/deer-eb32b1072a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/denmark-eb36b20b2b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/desert-ea34b10d2b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/desert-eb32b1082b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/desert-eb33b40f2d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/desirable-eb33b60d21_960.jpg (100%) rename storage/app/photos/{ => generation_1}/dessert-eb33b8092f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/diez-eb32b10b2b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/discus-fish-e83cb50c2f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/doberman-eb33b6072f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/documentary-eb33b80a2b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/dog-eb30b80628_960.jpg (100%) rename storage/app/photos/{ => generation_1}/dog-eb31b20829_960.jpg (100%) rename storage/app/photos/{ => generation_1}/dog-eb32b10728_960.jpg (100%) rename storage/app/photos/{ => generation_1}/dog-eb32b20c2a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/dog-eb32b50c2f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/dog-eb33b00829_960.jpg (100%) rename storage/app/photos/{ => generation_1}/dog-eb33b50b2f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/dogs-eb37b30d20_960.jpg (100%) rename storage/app/photos/{ => generation_1}/doll-e83cb1082f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/doll-figure-e83db30820_960.jpg (100%) rename storage/app/photos/{ => generation_1}/dolomites-eb32b00e2a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/dolomites-eb32b00e2b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/dorset-e832b2092d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/dove-eb30b0092e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/dove-eb30b5072a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/dove-eb32b00721_960.jpg (100%) rename storage/app/photos/{ => generation_1}/dragonfly-eb33b20821_960.jpg (100%) rename storage/app/photos/{ => generation_1}/drink-e83db60f29_960.jpg (100%) rename storage/app/photos/{ => generation_1}/drink-eb31b60e2d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/drip-e832b30821_960.jpg (100%) rename storage/app/photos/{ => generation_1}/drip-e83cb60d2c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/drip-eb37b20a2e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/drone-eb32b30b2a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/drop-of-water-eb36b8092f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/drops-of-milk-eb35b70d29_960.jpg (100%) rename storage/app/photos/{ => generation_1}/duck-eb36b8062f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/dumbbells-eb31b70a2c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/dune-eb33b80c2b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/eagle-eb33b40820_960.jpg (100%) rename storage/app/photos/{ => generation_1}/early-heath-dragonfly-eb34b90929_960.jpg (100%) rename storage/app/photos/{ => generation_1}/easter-ea34b10d2e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/easter-ea34b10d2e_960_001.jpg (100%) rename storage/app/photos/{ => generation_1}/egg-sandwich-eb32b70e20_960.jpg (100%) rename storage/app/photos/{ => generation_1}/einsiedeln-eb33b60a21_960.jpg (100%) rename storage/app/photos/{ => generation_1}/element-eb32b00920_960.jpg (100%) rename storage/app/photos/{ => generation_1}/elephant-ea35b80c28_960.jpg (100%) rename storage/app/photos/{ => generation_1}/elephant-eb32b3062c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/elephant-eb33b10a2a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/elephant-eb33b10a2e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/elephant-mother-and-baby-eb33b80a2f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/emotions-eb32b10f21_960.jpg (100%) rename storage/app/photos/{ => generation_1}/emotions-eb33b6082d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/emotions-eb33b8092d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/eurasians-eb32b20a2b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/european-yew-e832b90c28_960.jpg (100%) rename storage/app/photos/{ => generation_1}/evening-eb32b20c2a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/eye-eb35b0062b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/eyes-eb35b0062b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/factory-e83db90f2a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/factory-eb32b00b2d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/falcon-eb32b4082a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/fall-anemone-eb33b4062b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/fantasy-ea35b60821_960.jpg (100%) rename storage/app/photos/{ => generation_1}/fantasy-eb32b00620_960.jpg (100%) rename storage/app/photos/{ => generation_1}/fantasy-eb32b30a28_960.jpg (100%) rename storage/app/photos/{ => generation_1}/fantasy-eb32b40f21_960.jpg (100%) rename storage/app/photos/{ => generation_1}/fantasy-eb32b60f2c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/fantasy-eb32b7082b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/fantasy-eb32b70c2e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/fantasy-eb32b70d2d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/fantasy-eb33b80a20_960.jpg (100%) rename storage/app/photos/{ => generation_1}/father-and-son-eb37b4072e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/father-eb32b60f2b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/fern-e135b00820_960.jpg (100%) rename storage/app/photos/{ => generation_1}/fern-e137b9062b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/field-ea35b80d28_960.jpg (100%) rename storage/app/photos/{ => generation_1}/field-of-rapeseeds-eb32b4082a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/fig-eb35b60629_960.jpg (100%) rename storage/app/photos/{ => generation_1}/figures-e83db60f2c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/filey-eb32b20a2e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/fir-eb37b9072a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/fire-e83db80620_960.jpg (100%) rename storage/app/photos/{ => generation_1}/fire-eb30b80f2b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/fire-eb32b20f2f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/fire-eb34b8082e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/fire-eb37b10b29_960.jpg (100%) rename storage/app/photos/{ => generation_1}/firefighter-e83db40e21_960.jpg (100%) rename storage/app/photos/{ => generation_1}/fireworks-e83db90a2d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/fischer-eb32b20629_960.jpg (100%) rename storage/app/photos/{ => generation_1}/fish-eb32b1092f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/fishing-eb33b70d2f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/flamingo-eb30b80e2c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/flamingos-eb32b10729_960.jpg (100%) rename storage/app/photos/{ => generation_1}/flash-eb30b7072b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/floor-eb37b3072a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/flower-ea35b9092d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/flower-eb30b40629_960.jpg (100%) rename storage/app/photos/{ => generation_1}/flower-eb31b3082a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/flower-eb32b10a2a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/flower-eb32b50f2d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/flower-eb33b20e20_960.jpg (100%) rename storage/app/photos/{ => generation_1}/flower-eb33b6072e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/flower-eb33b9092e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/flower-eb33b90b2c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/flower-eb34b8082e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/flower-eb35b60e2d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/flower-eb36b8062e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/flowerpot-eb32b4092c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/flowers-eb33b50e2d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/flowers-eb33b7062c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/flowers-eb33b70d21_960.jpg (100%) rename storage/app/photos/{ => generation_1}/flowers-eb37b20c2d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/flowers-orchid-eb33b9062a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/fly-agaric-eb32b0072b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/fly-eb30b30c21_960.jpg (100%) rename storage/app/photos/{ => generation_1}/fog-ea34b10929_960.jpg (100%) rename storage/app/photos/{ => generation_1}/fog-eb32b20920_960.jpg (100%) rename storage/app/photos/{ => generation_1}/fog-eb32b4092c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/fog-eb32b7092b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/food-eb33b80a20_960.jpg (100%) rename storage/app/photos/{ => generation_1}/forest-e83cb40f2c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/forest-eb32b0082e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/forest-eb32b30d2e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/forest-eb33b20e20_960.jpg (100%) rename storage/app/photos/{ => generation_1}/forest-eb33b60d28_960.jpg (100%) rename storage/app/photos/{ => generation_1}/forest-eb33b80c29_960.jpg (100%) rename storage/app/photos/{ => generation_1}/forest-eb34b70a21_960.jpg (100%) rename storage/app/photos/{ => generation_1}/fountain-eb31b8072e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/fox-e837b90b2d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/fox-e83db90c2e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/fox-eb30b20f2a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/foxtail-eb33b8062a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/france-e832b80f21_960.jpg (100%) rename storage/app/photos/{ => generation_1}/freedom-eb32b7072d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/frog-e83db80c2a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/frog-eb30b10b2d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/frog-eb37b00e21_960.jpg (100%) rename storage/app/photos/{ => generation_1}/frog-eb37b50f2f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/frozen-bubble-e83cb50c2a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/fruhjahrsputz-eb35b7092e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/fruit-eb36b10a29_960.jpg (100%) rename storage/app/photos/{ => generation_1}/fruit-eb36b70828_960.jpg (100%) rename storage/app/photos/{ => generation_1}/fruit-eb37b10f28_960.jpg (100%) rename storage/app/photos/{ => generation_1}/fuchs-eb31b30b2b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/fuchsia-eb32b20d2f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/gangster-e83db60928_960.jpg (100%) rename storage/app/photos/{ => generation_1}/garbage-eb32b2092d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/garden-eb32b20e28_960.jpg (100%) rename storage/app/photos/{ => generation_1}/garden-eb35b50f2f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/gear-eb37b80e21_960.jpg (100%) rename storage/app/photos/{ => generation_1}/geese-eb31b80b21_960.jpg (100%) rename storage/app/photos/{ => generation_1}/germany-eb32b00a2f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/giant-eagle-eb32b10f2b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/giant-eagle-eb33b9062b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/giraffe-eb35b60c2e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/girl-eb32b0092f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/girl-eb32b70f20_960.jpg (100%) rename storage/app/photos/{ => generation_1}/girl-eb33b30b2d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/girl-eb33b80921_960.jpg (100%) rename storage/app/photos/{ => generation_1}/girl-eb35b20d20_960.jpg (100%) rename storage/app/photos/{ => generation_1}/girl-looking-away-e83cb80a2e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/glacier-e832b50f20_960.jpg (100%) rename storage/app/photos/{ => generation_1}/gladiolus-eb32b10d2a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/gladiolus-eb33b60f21_960.jpg (100%) rename storage/app/photos/{ => generation_1}/gladiolus-eb33b80f2e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/glasses-e832b60c2f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/goat-eb32b50f2a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/goat-lip-eb32b50f2f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/golden-hour-eb32b00f2f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/golden-retriever-eb32b10e28_960.jpg (100%) rename storage/app/photos/{ => generation_1}/golden-rod-eb33b70c29_960.jpg (100%) rename storage/app/photos/{ => generation_1}/goldfliege-eb33b90628_960.jpg (100%) rename storage/app/photos/{ => generation_1}/good-luck-e83cb80c2e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/gorilla-eb33b80e2e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/gorilla-eb36b00721_960.jpg (100%) rename storage/app/photos/{ => generation_1}/graffiti-eb32b30b2d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/graffiti-eb32b4072d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/grand-canyon-eb33b9072a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/grape-eb32b4062d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/grapes-eb32b00620_960.jpg (100%) rename storage/app/photos/{ => generation_1}/grapes-eb32b00a2f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/grapes-eb33b4092a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/grapes-eb33b80d2c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/grapes-eb35b20d20_960.jpg (100%) rename storage/app/photos/{ => generation_1}/grass-eb33b00828_960.jpg (100%) rename storage/app/photos/{ => generation_1}/grasshopper-eb30b40e2a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/great-smoky-mountains-eb32b1082c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/greece-ea34b10e2f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/greece-eb32b2092c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/greece-eb32b2092d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/greece-eb32b20a29_960.jpg (100%) rename storage/app/photos/{ => generation_1}/greece-eb32b30c2d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/greece-eb32b50f2b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/greece-eb32b7062d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/greek-ea35b80729_960.jpg (100%) rename storage/app/photos/{ => generation_1}/green-eb30b70b2f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/green-eb32b20b20_960.jpg (100%) rename storage/app/photos/{ => generation_1}/greylag-goose-eb34b2062a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/guitar-eb37b60929_960.jpg (100%) rename storage/app/photos/{ => generation_1}/gulls-eb33b70d2d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/guy-eb33b1072d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/gyrfalcon-eb33b6072e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/haiti-eb33b80721_960.jpg (100%) rename storage/app/photos/{ => generation_1}/halloween-e832b5092b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/halloween-eb32b60f28_960.jpg (100%) rename storage/app/photos/{ => generation_1}/hallway-e135b30f2e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/hamburg-eb32b20c29_960.jpg (100%) rename storage/app/photos/{ => generation_1}/hamster-eb32b30b2c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/hand-eb33b10828_960.jpg (100%) rename storage/app/photos/{ => generation_1}/hand-eb37b30c29_960.jpg (100%) rename storage/app/photos/{ => generation_1}/harbour-ea34b10b2b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/harley-davidson-e83cb10a2a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/hatching-chicks-eb31b5072d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/hawk-eb32b00b2e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/hedgehog-child-e832b40628_960.jpg (100%) rename storage/app/photos/{ => generation_1}/hedgehog-child-e832b4062d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/hedgehog-eb32b00f29_960.jpg (100%) rename storage/app/photos/{ => generation_1}/heliconia-leaf-eb33b90b2e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/hen-eb33b5062c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/heron-eb33b60b2b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/hibiscus-eb32b20e29_960.jpg (100%) rename storage/app/photos/{ => generation_1}/highland-cow-eb32b50e28_960.jpg (100%) rename storage/app/photos/{ => generation_1}/highland-eb30b8062c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/highspeed-photography-eb31b2082f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/hill-eb33b10a21_960.jpg (100%) rename storage/app/photos/{ => generation_1}/hill-eb34b70a2f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/hirsch-eb32b40c2b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/historic-eb32b1092c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/holiday-eb30b80b2f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/homberg-e83cb4062a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/home-eb32b0072e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/home-eb32b00a2b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/home-eb32b70c20_960.jpg (100%) rename storage/app/photos/{ => generation_1}/hong-kong-e83cb80f2a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/hookah-eb32b10b2f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/hops-flower-eb32b20f2a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/horse-ea35b80820_960.jpg (100%) rename storage/app/photos/{ => generation_1}/horse-eb30b60821_960.jpg (100%) rename storage/app/photos/{ => generation_1}/horse-eb30b60d28_960.jpg (100%) rename storage/app/photos/{ => generation_1}/horse-eb32b20f28_960.jpg (100%) rename storage/app/photos/{ => generation_1}/horse-eb32b30828_960.jpg (100%) rename storage/app/photos/{ => generation_1}/horse-eb32b30921_960.jpg (100%) rename storage/app/photos/{ => generation_1}/horse-eb32b30c2a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/horse-eb33b00c21_960.jpg (100%) rename storage/app/photos/{ => generation_1}/horse-eb33b20d28_960.jpg (100%) rename storage/app/photos/{ => generation_1}/horse-eb33b80b21_960.jpg (100%) rename storage/app/photos/{ => generation_1}/horse-eb34b8092f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/horse-mare-eb32b20829_960.jpg (100%) rename storage/app/photos/{ => generation_1}/horses-e835b20e2a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/horses-eb31b3082d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/horseshoe-bend-e83cb1072a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/hot-air-balloon-eb32b70b2f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/hot-air-balloons-e83cb90b2b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/hot-chocolate-e83cb1092d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/hot-ea34b1072d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/house-ea34b10c2d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/hummingbird-eb32b00929_960.jpg (100%) rename storage/app/photos/{ => generation_1}/hummingbird-eb34b2062a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/humor-eb32b30f2e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/hyacinth-eb37b10d20_960.jpg (100%) rename storage/app/photos/{ => generation_1}/ice-cubes-e83cb00b2b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/ice-eb30b7082b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/ice-eb35b70d2c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/ice-eb37b0062d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/iceland-e83cb6062c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/iceland-eb32b10f2c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/iceland-eb33b10721_960.jpg (100%) rename storage/app/photos/{ => generation_1}/iceland-eb33b70928_960.jpg (100%) rename storage/app/photos/{ => generation_1}/iceland-eb33b80d2f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/icicle-e83cb40b20_960.jpg (100%) rename storage/app/photos/{ => generation_1}/icicle-ea34b1072d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/iguana-eb35b2062f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/incense-e83cb70e2c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/indonesia-eb32b10f2b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/insects-eb33b90721_960.jpg (100%) rename storage/app/photos/{ => generation_1}/irish-whiskey-eb34b40d29_960.jpg (100%) rename storage/app/photos/{ => generation_1}/iskele-ea35b50621_960.jpg (100%) rename storage/app/photos/{ => generation_1}/island-eb32b30d2b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/island-eb32b30d2c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/italy-eb35b90f28_960.jpg (100%) rename storage/app/photos/{ => generation_1}/jaguar-e83db10829_960.jpg (100%) rename storage/app/photos/{ => generation_1}/janvangent-eb32b4082a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/japan-eb32b5072f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/jellyfish-eb30b6092a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/jellyfish-eb30b7092f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/joy-eb31b90c21_960.jpg (100%) rename storage/app/photos/{ => generation_1}/kanyam-eb32b50b2b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/karden-eb33b6092e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/kenya-eb33b00c21_960.jpg (100%) rename storage/app/photos/{ => generation_1}/kid-eb30b30621_960.jpg (100%) rename storage/app/photos/{ => generation_1}/kid-eb33b70920_960.jpg (100%) rename storage/app/photos/{ => generation_1}/kingfisher-e83cb10a2a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/kingfisher-eb35b5092c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/kite-boarder-ea34b10a2e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/kite-boarder-wallpaper-ea34b10f2f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/kite-boarder-wave-jumping-ea34b10728_960.jpg (100%) rename storage/app/photos/{ => generation_1}/kite-boarder-wave-jumping-ea34b10f2f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/klatschmohn-eb31b30921_960.jpg (100%) rename storage/app/photos/{ => generation_1}/klee-e83cb50621_960.jpg (100%) rename storage/app/photos/{ => generation_1}/knotweed-eb33b80629_960.jpg (100%) rename storage/app/photos/{ => generation_1}/kohlrabi-eb37b7092e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/labyrinth-eb32b40b2c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/lagoon-eb32b30f28_960.jpg (100%) rename storage/app/photos/{ => generation_1}/lagoon-eb36b5062c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/lake-balaton-ea35b80d21_960.jpg (100%) rename storage/app/photos/{ => generation_1}/lake-e832b90e2e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/lake-ea34b10928_960.jpg (100%) rename storage/app/photos/{ => generation_1}/lake-eb30b8072c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/lake-eb30b8082d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/lake-eb32b00f21_960.jpg (100%) rename storage/app/photos/{ => generation_1}/lake-eb32b3092e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/lake-eb33b60629_960.jpg (100%) rename storage/app/photos/{ => generation_1}/lake-eb33b60a20_960.jpg (100%) rename storage/app/photos/{ => generation_1}/lake-eb35b70c21_960.jpg (100%) rename storage/app/photos/{ => generation_1}/lake-michigan-eb33b7082d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/lake-moraine-eb32b10f2b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/lama-e832b5062b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/lamb-eb37b00929_960.jpg (100%) rename storage/app/photos/{ => generation_1}/lamp-eb33b70c28_960.jpg (100%) rename storage/app/photos/{ => generation_1}/lampionblume-e832b00721_960.jpg (100%) rename storage/app/photos/{ => generation_1}/lampionblume-eb34b90c29_960.jpg (100%) rename storage/app/photos/{ => generation_1}/landscape-e83db10d2b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/landscape-eb30b70d28_960.jpg (100%) rename storage/app/photos/{ => generation_1}/landscape-eb32b0072e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/landscape-eb32b1082b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/landscape-eb32b40b29_960.jpg (100%) rename storage/app/photos/{ => generation_1}/landscape-eb32b50b21_960.jpg (100%) rename storage/app/photos/{ => generation_1}/landscape-eb33b60d28_960.jpg (100%) rename storage/app/photos/{ => generation_1}/landscape-eb33b70928_960.jpg (100%) rename storage/app/photos/{ => generation_1}/landscape-eb33b70f20_960.jpg (100%) rename storage/app/photos/{ => generation_1}/landscape-eb34b30b29_960.jpg (100%) rename storage/app/photos/{ => generation_1}/landscape-eb35b80f2c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/landscape-eb36b90628_960.jpg (100%) rename storage/app/photos/{ => generation_1}/landscape-eb37b00e2d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/landscape-eb37b7072f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/lantern-e83cb90d2e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/larva-eb33b7092f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/lasagna-e83cb10f2d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/leave-eb32b20e2d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/lemon-eb30b20629_960.jpg (100%) rename storage/app/photos/{ => generation_1}/light-e83cb2062e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/light-eb33b60f2c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/lighthouse-eb32b2092a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/lighthouse-eb33b40a2f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/lighthouse-eb33b70b29_960.jpg (100%) rename storage/app/photos/{ => generation_1}/lighthouse-eb37b30a2c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/lilac-bouquet-eb32b70d28_960.jpg (100%) rename storage/app/photos/{ => generation_1}/lily-eb33b80d2c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/lime-eb31b90e2b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/lion-ea35b80621_960.jpg (100%) rename storage/app/photos/{ => generation_1}/lion-eb32b30c2b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/lion-eb33b7072e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/lion-fish-eb32b50e2c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/lions-eb32b10d20_960.jpg (100%) rename storage/app/photos/{ => generation_1}/little-girl-eb30b0092d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/lizard-eb31b3082a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/lizard-eb33b4092e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/lizard-eb33b70928_960.jpg (100%) rename storage/app/photos/{ => generation_1}/locamotive-eb32b40c21_960.jpg (100%) rename storage/app/photos/{ => generation_1}/locket-eb30b7062d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/loco-eb32b1082b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/lost-place-eb32b30c2d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/lotus-flower-eb30b1092c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/luck-eb32b30d2c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/luggage-e833b40f29_960.jpg (100%) rename storage/app/photos/{ => generation_1}/luggage-e833b50a2a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/macarons-eb30b50720_960.jpg (100%) rename storage/app/photos/{ => generation_1}/macedonia-eb33b1072d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/macro-e83db10d2b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/macro-eb34b6082f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/macro-eb36b10f29_960.jpg (100%) rename storage/app/photos/{ => generation_1}/magic-cube-e83cb6092f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/magnifying-glass-eb30b8072d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/magnolia-eb33b80e2a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/make-up-eb34b20820_960.jpg (100%) rename storage/app/photos/{ => generation_1}/maki-eb32b10829_960.jpg (100%) rename storage/app/photos/{ => generation_1}/maki-eb32b1082b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/maldives-e83cb80c2f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/malibu-eb35b90f28_960.jpg (100%) rename storage/app/photos/{ => generation_1}/mallard-e83db80c28_960.jpg (100%) rename storage/app/photos/{ => generation_1}/mallard-eb34b50b2d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/mallow-eb33b90f29_960.jpg (100%) rename storage/app/photos/{ => generation_1}/man-eb32b4092c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/man-eb33b80621_960.jpg (100%) rename storage/app/photos/{ => generation_1}/man-eb34b70f2e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/man-eb35b2082a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/mango-e83cb90d2b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/marigold-e830b7072e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/marigold-eb32b10d2d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/meadow-eb34b90b21_960.jpg (100%) rename storage/app/photos/{ => generation_1}/meditation-eb37b00b2d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/men-eb31b30a29_960.jpg (100%) rename storage/app/photos/{ => generation_1}/message-in-a-bottle-e833b80b20_960.jpg (100%) rename storage/app/photos/{ => generation_1}/microphone-e837b10620_960.jpg (100%) rename storage/app/photos/{ => generation_1}/milan-eb33b8072f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/milk-eb31b60b21_960.jpg (100%) rename storage/app/photos/{ => generation_1}/milky-way-eb33b80a2d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/minced-meat-e832b50821_960.jpg (100%) rename storage/app/photos/{ => generation_1}/minibus-eb33b8092d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/model-eb31b2092a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/model-eb32b4062f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/model-eb32b4072e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/model-eb32b50829_960.jpg (100%) rename storage/app/photos/{ => generation_1}/model-eb33b00b2d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/model-eb36b10c2b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/model-eb36b10e2e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/money-eb33b8092a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/monkey-eb33b90629_960.jpg (100%) rename storage/app/photos/{ => generation_1}/monkey-eb34b80a29_960.jpg (100%) rename storage/app/photos/{ => generation_1}/monkey-eb35b60b28_960.jpg (100%) rename storage/app/photos/{ => generation_1}/monument-eb35b00e29_960.jpg (100%) rename storage/app/photos/{ => generation_1}/moon-eb32b70d29_960.jpg (100%) rename storage/app/photos/{ => generation_1}/moon-eb37b60629_960.jpg (100%) rename storage/app/photos/{ => generation_1}/moonlight-jetty-eb32b7082f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/moraine-lake-eb33b9092b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/morro-bay-eb33b2072a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/motorcycle-eb33b40e2a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/mountain-ea34b1082a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/mountain-ea34b10920_960.jpg (100%) rename storage/app/photos/{ => generation_1}/mountain-ea34b10b28_960.jpg (100%) rename storage/app/photos/{ => generation_1}/mountain-ea34b10d20_960.jpg (100%) rename storage/app/photos/{ => generation_1}/mountain-ea35b80928_960.jpg (100%) rename storage/app/photos/{ => generation_1}/mountain-ea35b80b21_960.jpg (100%) rename storage/app/photos/{ => generation_1}/mountain-eb30b70c2e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/mountain-eb33b10c29_960.jpg (100%) rename storage/app/photos/{ => generation_1}/mountaineer-eb34b10f28_960.jpg (100%) rename storage/app/photos/{ => generation_1}/mountains-e133b20b2f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/mountains-e832b40d2f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/mountains-e83cb90a28_960.jpg (100%) rename storage/app/photos/{ => generation_1}/mountains-ea34b10a21_960.jpg (100%) rename storage/app/photos/{ => generation_1}/mountains-eb32b00e28_960.jpg (100%) rename storage/app/photos/{ => generation_1}/mountains-eb32b10d20_960.jpg (100%) rename storage/app/photos/{ => generation_1}/mountains-eb32b30d20_960.jpg (100%) rename storage/app/photos/{ => generation_1}/mountains-eb32b30d2f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/mountains-eb33b00d2e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/mountains-eb33b5082c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/mountains-eb33b5092b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/mountains-eb33b60b2b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/mountains-eb33b70928_960.jpg (100%) rename storage/app/photos/{ => generation_1}/mountains-eb33b80d2d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/mouse-e832b10729_960.jpg (100%) rename storage/app/photos/{ => generation_1}/mouse-e832b1072b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/mt-fuji-eb37b20d2a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/mummy-eb33b60828_960.jpg (100%) rename storage/app/photos/{ => generation_1}/mushroom-e832b70929_960.jpg (100%) rename storage/app/photos/{ => generation_1}/mushroom-eb32b00e2f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/mushroom-eb32b2062f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/mushroom-eb32b20729_960.jpg (100%) rename storage/app/photos/{ => generation_1}/mushroom-eb32b40e2b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/mushroom-eb32b50f28_960.jpg (100%) rename storage/app/photos/{ => generation_1}/mushroom-eb32b70f28_960.jpg (100%) rename storage/app/photos/{ => generation_1}/mushroom-eb33b4092a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/mushroom-eb33b40e29_960.jpg (100%) rename storage/app/photos/{ => generation_1}/mushroom-eb33b7082a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/mushroom-eb37b6062d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/mushrooms-eb32b40d21_960.jpg (100%) rename storage/app/photos/{ => generation_1}/mushrooms-eb37b00d20_960.jpg (100%) rename storage/app/photos/{ => generation_1}/nachtschattengewachs-eb33b80b2a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/nature-ea34b10728_960.jpg (100%) rename storage/app/photos/{ => generation_1}/nature-ea34b1072b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/nature-ea34b1082a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/nature-ea34b10a2f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/nature-ea34b10b28_960.jpg (100%) rename storage/app/photos/{ => generation_1}/nature-ea34b10c2c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/nature-ea34b10d28_960.jpg (100%) rename storage/app/photos/{ => generation_1}/nature-ea34b10d2f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/nature-ea34b10e2d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/nature-ea35b80628_960.jpg (100%) rename storage/app/photos/{ => generation_1}/nature-ea35b80629_960.jpg (100%) rename storage/app/photos/{ => generation_1}/nature-ea35b8072f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/nature-ea35b80d28_960.jpg (100%) rename storage/app/photos/{ => generation_1}/nature-ea35b90d20_960.jpg (100%) rename storage/app/photos/{ => generation_1}/nature-eb30b60729_960.jpg (100%) rename storage/app/photos/{ => generation_1}/nature-eb32b0062a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/nature-eb32b00829_960.jpg (100%) rename storage/app/photos/{ => generation_1}/nature-eb32b00a2a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/nature-eb32b00c2c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/nature-eb32b10c2e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/nature-eb32b30c20_960.jpg (100%) rename storage/app/photos/{ => generation_1}/nature-eb32b5092f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/nature-eb32b7062c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/nature-eb33b0092c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/nature-eb33b1062c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/nature-eb33b10b21_960.jpg (100%) rename storage/app/photos/{ => generation_1}/nature-eb33b20b2f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/nature-eb33b50a2a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/nature-eb33b6062c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/needle-e833b9082b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/night-ea35b90b2a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/noodles-eb32b20c2e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/noodles-eb34b40f29_960.jpg (100%) rename storage/app/photos/{ => generation_1}/noodles-eb34b40f2a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/noodles-eb35b70f20_960.jpg (100%) rename storage/app/photos/{ => generation_1}/northern-lights-e834b50629_960.jpg (100%) rename storage/app/photos/{ => generation_1}/northern-lights-e835b90e2f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/not-hear-eb33b90821_960.jpg (100%) rename storage/app/photos/{ => generation_1}/nuts-e832b2092d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/oak-leaf-eb35b00e28_960.jpg (100%) rename storage/app/photos/{ => generation_1}/ocean-ea34b10828_960.jpg (100%) rename storage/app/photos/{ => generation_1}/ocean-eb32b00e21_960.jpg (100%) rename storage/app/photos/{ => generation_1}/ocean-eb32b10829_960.jpg (100%) rename storage/app/photos/{ => generation_1}/ocean-eb32b2082e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/ocean-eb32b30f28_960.jpg (100%) rename storage/app/photos/{ => generation_1}/ocean-eb33b40728_960.jpg (100%) rename storage/app/photos/{ => generation_1}/ocean-eb33b70b29_960.jpg (100%) rename storage/app/photos/{ => generation_1}/ocean-eb35b40e2f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/ocher-rocks-e830b80a2d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/of-prey-eagle-eb32b5062d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/old-eb32b20e20_960.jpg (100%) rename storage/app/photos/{ => generation_1}/old-house-eb32b20f2b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/old-house-eb32b70a2a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/orange-e83cb80a28_960.jpg (100%) rename storage/app/photos/{ => generation_1}/oranges-eb34b10f29_960.jpg (100%) rename storage/app/photos/{ => generation_1}/orchid-eb32b30e2f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/oregano-eb33b70d20_960.jpg (100%) rename storage/app/photos/{ => generation_1}/ornamental-shrub-eb32b50c2b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/otter-eb33b6072f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/outdoors-ea34b10929_960.jpg (100%) rename storage/app/photos/{ => generation_1}/owl-eb32b00c2b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/owl-eb32b10e20_960.jpg (100%) rename storage/app/photos/{ => generation_1}/palm-tree-eb33b40920_960.jpg (100%) rename storage/app/photos/{ => generation_1}/palm-trees-eb33b00620_960.jpg (100%) rename storage/app/photos/{ => generation_1}/pancake-e83cb90b2f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/pancakes-eb35b30f20_960.jpg (100%) rename storage/app/photos/{ => generation_1}/pancakes-eb37b80e21_960.jpg (100%) rename storage/app/photos/{ => generation_1}/panorama-e83cb80c2e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/panorama-ea34b10b20_960.jpg (100%) rename storage/app/photos/{ => generation_1}/panorama-eb32b10d29_960.jpg (100%) rename storage/app/photos/{ => generation_1}/panorama-eb33b40728_960.jpg (100%) rename storage/app/photos/{ => generation_1}/panorama-eb33b70f29_960.jpg (100%) rename storage/app/photos/{ => generation_1}/panorama-eb34b0082b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/panorama-eb35b80720_960.jpg (100%) rename storage/app/photos/{ => generation_1}/panoramic-ea34b1092a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/panoramic-ea35b5062d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/paprika-e83cb4082a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/parachute-e83db50c2b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/parasol-eb32b30a2f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/parrot-eb32b4092c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/parrot-eb33b80d29_960.jpg (100%) rename storage/app/photos/{ => generation_1}/path-eb32b50e2a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/peach-eb30b60c20_960.jpg (100%) rename storage/app/photos/{ => generation_1}/peacock-e83cb60c2d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/peacock-eb33b4072e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/peacock-eb34b50820_960.jpg (100%) rename storage/app/photos/{ => generation_1}/peacock-eb37b10e2c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/pelikan-eb32b10728_960.jpg (100%) rename storage/app/photos/{ => generation_1}/penguins-eb32b2092a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/pens-e832b50c2b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/people-ea34b10b2e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/people-eb30b60a21_960.jpg (100%) rename storage/app/photos/{ => generation_1}/people-eb30b60d2c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/people-eb30b70c2c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/people-eb30b70e28_960.jpg (100%) rename storage/app/photos/{ => generation_1}/people-eb30b8082a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/people-eb30b80c2c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/people-eb30b80c2d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/people-eb30b80f20_960.jpg (100%) rename storage/app/photos/{ => generation_1}/people-eb30b80f29_960.jpg (100%) rename storage/app/photos/{ => generation_1}/people-eb30b80f2e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/people-eb30b90729_960.jpg (100%) rename storage/app/photos/{ => generation_1}/people-eb30b90821_960.jpg (100%) rename storage/app/photos/{ => generation_1}/people-eb30b90921_960.jpg (100%) rename storage/app/photos/{ => generation_1}/people-eb33b10c2f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/perch-eb33b6072a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/person-eb34b5092d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/petunia-eb32b3092b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/photographer-eb30b40f2b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/pine-cones-eb32b2092e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/pink-roses-eb30b20c2b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/plane-ea34b1092c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/planet-eb32b7072e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/plant-eb32b0062a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/plant-eb33b6062e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/plant-eb33b6062f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/plant-eb33b7072d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/play-stone-e832b50c2e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/plumage-e832b3072f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/plumber-eb30b5082b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/plums-eb32b30b29_960.jpg (100%) rename storage/app/photos/{ => generation_1}/pocket-watch-eb35b20e28_960.jpg (100%) rename storage/app/photos/{ => generation_1}/pocket-watch-eb35b70e2a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/pointed-flower-eb33b8072c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/poland-ea34b1092d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/polar-bear-ea34b10a21_960.jpg (100%) rename storage/app/photos/{ => generation_1}/pompeii-eb32b30928_960.jpg (100%) rename storage/app/photos/{ => generation_1}/pool-ea34b10a2f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/poppy-eb33b8062d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/poppyseed-eb30b4082b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/port-eb32b20d2d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/port-eb33b7082e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/potatoes-eb36b3062e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/pretzel-eb32b40621_960.jpg (100%) rename storage/app/photos/{ => generation_1}/pretzel-eb37b60c2a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/pumpkin-eb32b00a28_960.jpg (100%) rename storage/app/photos/{ => generation_1}/pumpkin-eb32b00b2e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/pumpkin-eb32b2072e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/pumpkin-eb32b20828_960.jpg (100%) rename storage/app/photos/{ => generation_1}/pumpkin-eb32b50f2b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/pumpkins-eb32b00b2f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/pumpkins-eb32b20621_960.jpg (100%) rename storage/app/photos/{ => generation_1}/pumpkins-eb32b20828_960.jpg (100%) rename storage/app/photos/{ => generation_1}/pumpkins-eb32b20921_960.jpg (100%) rename storage/app/photos/{ => generation_1}/pumpkins-eb33b70829_960.jpg (100%) rename storage/app/photos/{ => generation_1}/pumpkins-eb37b10b2e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/purple-eb32b50e28_960.jpg (100%) rename storage/app/photos/{ => generation_1}/pyramids-eb36b60e2d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/pyrenean-mountain-dog-eb33b80f21_960.jpg (100%) rename storage/app/photos/{ => generation_1}/rabbit-e83cb10c28_960.jpg (100%) rename storage/app/photos/{ => generation_1}/rabbit-e83db90d2e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/rabbit-eb32b5092f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/raccoon-e83db90a29_960.jpg (100%) rename storage/app/photos/{ => generation_1}/railway-line-ea34b10b21_960.jpg (100%) rename storage/app/photos/{ => generation_1}/railway-rails-eb32b2072d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/rain-eb30b2072c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/rainbow-eb32b50d21_960.jpg (100%) rename storage/app/photos/{ => generation_1}/raindrop-e83cb00c2b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/rakozbrucke-eb32b20c2e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/raptor-eb32b2082a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/raptor-eb33b00c2f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/raspberries-eb31b20e28_960.jpg (100%) rename storage/app/photos/{ => generation_1}/raspberries-eb33b70a2e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/raspberries-eb37b70721_960.jpg (100%) rename storage/app/photos/{ => generation_1}/raspberry-eb35b30c2c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/real-chanterelles-e833b90f21_960.jpg (100%) rename storage/app/photos/{ => generation_1}/red-fox-eb37b20f2f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/red-sunset-over-the-sea-eb32b20929_960.jpg (100%) rename storage/app/photos/{ => generation_1}/red-wine-eb31b50c2e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/reefs-eb32b30f28_960.jpg (100%) rename storage/app/photos/{ => generation_1}/reflection-ea34b10a2a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/relaxing-e83cb6062e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/reptile-eb35b50d21_960.jpg (100%) rename storage/app/photos/{ => generation_1}/restaurant-eb32b30921_960.jpg (100%) rename storage/app/photos/{ => generation_1}/rhodesian-ridgeback-eb32b3062b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/ribblehead-viaduct-eb31b50c28_960.jpg (100%) rename storage/app/photos/{ => generation_1}/ring-eb30b60e2f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/rise-e832b90621_960.jpg (100%) rename storage/app/photos/{ => generation_1}/river-eb33b00e2b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/road-eb30b80728_960.jpg (100%) rename storage/app/photos/{ => generation_1}/robbe-ea35b9072f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/rock-eb30b6072a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/rock-eb32b40c20_960.jpg (100%) rename storage/app/photos/{ => generation_1}/rocks-eb32b10f2f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/rocky-coast-eb32b50621_960.jpg (100%) rename storage/app/photos/{ => generation_1}/roe-deer-eb32b40c2b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/roll-eb30b20d29_960.jpg (100%) rename storage/app/photos/{ => generation_1}/roll-eb30b20e21_960.jpg (100%) rename storage/app/photos/{ => generation_1}/room-eb32b40d20_960.jpg (100%) rename storage/app/photos/{ => generation_1}/room-eb32b50629_960.jpg (100%) rename storage/app/photos/{ => generation_1}/rose-eb31b0082b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/rose-eb33b70f29_960.jpg (100%) rename storage/app/photos/{ => generation_1}/rose-eb33b9092d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/rose-eb34b10e2c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/rose-eb36b60729_960.jpg (100%) rename storage/app/photos/{ => generation_1}/roses-eb32b50929_960.jpg (100%) rename storage/app/photos/{ => generation_1}/roses-eb34b0082b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/roter-sand-eb35b50d2f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/rough-horn-eb34b50929_960.jpg (100%) rename storage/app/photos/{ => generation_1}/running-eb32b50829_960.jpg (100%) rename storage/app/photos/{ => generation_1}/saddle-eb33b00b28_960.jpg (100%) rename storage/app/photos/{ => generation_1}/salad-eb35b7072a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/salami-eb33b50a2c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/salt-ea35b70f28_960.jpg (100%) rename storage/app/photos/{ => generation_1}/san-francisco-e83db80c21_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sand-eb35b10a28_960.jpg (100%) rename storage/app/photos/{ => generation_1}/santa-eb32b1092a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/santas-arm-e83cb1092d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sarande-eb32b10d20_960.jpg (100%) rename storage/app/photos/{ => generation_1}/scenery-eb33b80f28_960.jpg (100%) rename storage/app/photos/{ => generation_1}/schilthorn-ea35b20c2c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/schrecksee-eb30b20b2c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/screw-e83cb30b29_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sculpture-eb35b00c28_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sculpture-eb37b10629_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sea-e83cb80c2f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sea-ea34b10a2d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sea-ea34b10a2f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sea-eb30b4062b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sea-eb30b60e2d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sea-eb30b70721_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sea-eb30b70b2c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sea-eb30b70b2e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sea-eb30b70e20_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sea-eb30b70e2b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sea-eb30b8082a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sea-eb30b80921_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sea-eb32b3082a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sea-eb32b3092b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sea-eb32b30a20_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sea-eb32b30d21_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sea-eb32b30f2d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sea-eb32b40a21_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sea-eb32b40f2b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sea-eb33b2072a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sea-eb33b40920_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sea-eb33b50f2b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sea-eb33b7072f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sea-eb33b80c2c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sea-eb33b90628_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sea-eb33b90f2d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sea-eb35b40d2e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sea-eb36b70e2a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sea-gull-ea34b10e2b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/seagull-e837b10620_960.jpg (100%) rename storage/app/photos/{ => generation_1}/seagull-eb32b0072e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/seagull-eb32b2092a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/seagull-eb32b50b2b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/seagull-eb33b1072d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/seagull-eb33b40f21_960.jpg (100%) rename storage/app/photos/{ => generation_1}/seal-eb31b7062b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/seals-eb32b1082d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/seascape-eb31b50b28_960.jpg (100%) rename storage/app/photos/{ => generation_1}/seascape-eb32b00f2d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/seascape-eb32b30a28_960.jpg (100%) rename storage/app/photos/{ => generation_1}/seashore-ea34b1082b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/section-eb32b00b2d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/senna-plant-eb32b10c2d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/setting-sun-eb33b2062e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sheep-eb33b6092e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sheep-eb33b60c20_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sheep-eb36b60d29_960.jpg (100%) rename storage/app/photos/{ => generation_1}/shell-eb30b5092b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/shell-eb34b40d28_960.jpg (100%) rename storage/app/photos/{ => generation_1}/ship-eb32b4092c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/shire-horse-eb34b8082a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/shoe-eb36b00c29_960.jpg (100%) rename storage/app/photos/{ => generation_1}/shoes-eb37b0092c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/shore-eb32b7072d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sience-fiction-ea35b8062f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/signal-eb33b40e2d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/silhouette-eb32b50e2a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/silhouettes-eb33b5082c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sky-ea34b1082b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sky-ea34b10e2e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sky-eb30b80e29_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sky-eb33b10a2b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sky-eb33b10c2f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sky-eb33b60a21_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sky-eb33b80620_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sky-eb33b90e21_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sky-eb33b90f28_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sky-eb37b20a2f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/skyscraper-eb37b10c2b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sleeve-eb33b00a20_960.jpg (100%) rename storage/app/photos/{ => generation_1}/slice-of-lemon-eb34b20a2d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/slippers-eb32b3062d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/smartphone-e83cb4082f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/smartphone-e83cb9082a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/smartphone-eb31b80c2c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/snail-eb30b4062a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/snail-eb32b70f28_960.jpg (100%) rename storage/app/photos/{ => generation_1}/snail-eb32b70f29_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sneakers-eb33b60620_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sneakers-eb33b6062f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/snow-crystals-e83cb4062a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/snow-e83cb10d28_960.jpg (100%) rename storage/app/photos/{ => generation_1}/snow-ea34b10a2c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/snow-ea34b10c21_960.jpg (100%) rename storage/app/photos/{ => generation_1}/snow-ea34b10e2b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/snow-eb33b80620_960.jpg (100%) rename storage/app/photos/{ => generation_1}/snow-eb33b80b2b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/soap-bubble-e83cb50620_960.jpg (100%) rename storage/app/photos/{ => generation_1}/soap-bubble-e83cb90b2b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/soap-bubble-eb31b10c2e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/soap-eb32b3092b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/son-of-a-bitch-eb33b00c29_960.jpg (100%) rename storage/app/photos/{ => generation_1}/south-africa-eb32b1072a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/space-travel-eb32b50a2f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/spain-ea34b1092d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sparrow-eb32b10a29_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sparrows-eb32b70c28_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sparrows-eb32b70c2d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/spider-e832b60d2f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/spoon-eb31b3092e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sport-ea34b10b2c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/spray-cans-eb32b2072c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/spray-cans-eb32b2072d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/spread-e832b6092e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/spring-bird-eb37b80a2c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/spring-eb37b6092c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/spring-eb37b8072a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/star-winds-eb33b70f28_960.jpg (100%) rename storage/app/photos/{ => generation_1}/starfish-eb31b30c21_960.jpg (100%) rename storage/app/photos/{ => generation_1}/starry-sky-eb34b0092f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/station-e136b80d28_960.jpg (100%) rename storage/app/photos/{ => generation_1}/statue-of-hercules-eb30b20e29_960.jpg (100%) rename storage/app/photos/{ => generation_1}/steam-locomotive-eb32b50f20_960.jpg (100%) rename storage/app/photos/{ => generation_1}/steamed-e832b80d2a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/stickies-eb32b30928_960.jpg (100%) rename storage/app/photos/{ => generation_1}/still-life-e832b60e2b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/still-life-eb36b20720_960.jpg (100%) rename storage/app/photos/{ => generation_1}/still-life-eb36b70928_960.jpg (100%) rename storage/app/photos/{ => generation_1}/stinging-nettle-eb32b20c2c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/stone-arch-e137b9082b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/stone-eb30b90820_960.jpg (100%) rename storage/app/photos/{ => generation_1}/stone-eb33b90d2a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/stonehenge-eb37b90821_960.jpg (100%) rename storage/app/photos/{ => generation_1}/stork-eb31b20d21_960.jpg (100%) rename storage/app/photos/{ => generation_1}/stork-eb32b40a28_960.jpg (100%) rename storage/app/photos/{ => generation_1}/stork-eb36b1072a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/storks-eb30b30a20_960.jpg (100%) rename storage/app/photos/{ => generation_1}/storm-eb30b7082e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/storm-eb32b30e2d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/straw-flowers-e833b90e2b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/strawberry-e83db90d2c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/strawberry-eb30b10d21_960.jpg (100%) rename storage/app/photos/{ => generation_1}/streamer-eb35b90f2c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/street-eb32b20d2d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/streetsofindia-eb31b50c29_960.jpg (100%) rename storage/app/photos/{ => generation_1}/subway-eb32b30a2f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/succulent-plant-eb32b20f2f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/succulents-eb36b5082d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/summer-eb32b40b21_960.jpg (100%) rename storage/app/photos/{ => generation_1}/summer-eb32b70e21_960.jpg (100%) rename storage/app/photos/{ => generation_1}/summer-eb36b80e2b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sun-eb33b50a20_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sun-eb37b80821_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sun-flower-e833b50c2f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sun-flower-eb30b00e21_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sun-flower-eb30b50928_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sun-flower-eb32b00b28_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sun-flower-eb32b10a29_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sun-flower-eb33b60d2a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sun-flower-eb33b9092d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sunbeam-eb32b70e21_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sunglasses-eb30b30c20_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sunlight-eb33b1092c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sunrise-e83cb4062a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sunrise-e83cb40f20_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sunrise-eb32b0082d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sunrise-eb32b3062f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sunrise-eb32b40c2f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sunset-e832b30729_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sunset-e832b9092d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sunset-ea34b1072f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sunset-ea34b1082a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sunset-ea34b1092a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sunset-ea34b10a2f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sunset-ea34b10b2c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sunset-ea34b10c28_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sunset-ea34b10d21_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sunset-ea34b10d28_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sunset-ea34b10d2f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sunset-ea34b10e2a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sunset-ea34b10f2e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sunset-ea35b80621_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sunset-ea35b8082c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sunset-ea35b8092c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sunset-ea35b80a2e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sunset-ea35b80b21_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sunset-ea35b80d2a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sunset-ea35b80d2f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sunset-ea35b90829_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sunset-ea35b9082f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sunset-ea35b90b2e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sunset-eb30b20f29_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sunset-eb30b80b2d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sunset-eb30b90e2d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sunset-eb31b30f29_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sunset-eb31b40620_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sunset-eb32b0092d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sunset-eb32b1072d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sunset-eb32b10d29_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sunset-eb32b10e2e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sunset-eb32b2082a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sunset-eb32b2082c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sunset-eb32b20921_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sunset-eb32b2092a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sunset-eb32b20d21_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sunset-eb32b30c20_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sunset-eb32b30f28_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sunset-eb32b40b21_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sunset-eb32b40b2c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sunset-eb32b50e29_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sunset-eb33b0082b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sunset-eb33b00e2a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sunset-eb33b10f2a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sunset-eb33b20e2f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sunset-eb33b30720_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sunset-eb33b30b21_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sunset-eb33b40921_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sunset-eb33b40c2c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sunset-eb33b40d2f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sunset-eb33b50820_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sunset-eb33b5082a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sunset-eb33b50a2e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sunset-eb33b50d28_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sunset-eb33b60721_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sunset-eb33b60a2a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sunset-eb33b7062e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sunset-eb33b80a20_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sunset-eb33b90921_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sunset-eb34b70f2b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sunset-eb34b80e2e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sunset-eb35b30e2a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/sunset-eb37b10a2d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/surf-ea34b10b20_960.jpg (100%) rename storage/app/photos/{ => generation_1}/surf-ea35b80621_960.jpg (100%) rename storage/app/photos/{ => generation_1}/surf-ea35b80a29_960.jpg (100%) rename storage/app/photos/{ => generation_1}/surf-ea35b80c28_960.jpg (100%) rename storage/app/photos/{ => generation_1}/surfer-eb33b70a21_960.jpg (100%) rename storage/app/photos/{ => generation_1}/surfer-eb34b80c20_960.jpg (100%) rename storage/app/photos/{ => generation_1}/surfer-eb37b00d21_960.jpg (100%) rename storage/app/photos/{ => generation_1}/surfing-eb34b20b2d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/swan-eb31b00a21_960.jpg (100%) rename storage/app/photos/{ => generation_1}/swan-eb31b80b21_960.jpg (100%) rename storage/app/photos/{ => generation_1}/swan-eb34b10828_960.jpg (100%) rename storage/app/photos/{ => generation_1}/swan-eb35b6082a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/swaziland-eb33b2082b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/swim-eb32b40b21_960.jpg (100%) rename storage/app/photos/{ => generation_1}/szilvasvarad-eb32b10f2b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/table-decoration-eb32b40929_960.jpg (100%) rename storage/app/photos/{ => generation_1}/tangerines-e832b30e2e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/tartan-track-eb33b6072d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/tarte-eb31b10621_960.jpg (100%) rename storage/app/photos/{ => generation_1}/tatry-eb32b20a2e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/taxi-cab-ea3db00d2b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/tea-lights-eb37b30c20_960.jpg (100%) rename storage/app/photos/{ => generation_1}/teacup-eb36b30a2f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/teacup-eb36b30b20_960.jpg (100%) rename storage/app/photos/{ => generation_1}/teddy-ea35b70d20_960.jpg (100%) rename storage/app/photos/{ => generation_1}/tennessee-eb32b1072a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/the-alpine-eryngo-eb33b6072e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/the-cabins-ea34b10b2d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/the-dawn-family-ea34b10e21_960.jpg (100%) rename storage/app/photos/{ => generation_1}/the-maldives-eb32b20c2a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/the-pacific-ocean-ea34b1072e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/the-pacific-ocean-eb30b80e20_960.jpg (100%) rename storage/app/photos/{ => generation_1}/the-pink-panter-e83cb8092a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/the-skyscraper-ea34b10a2f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/the-squirrel-eb32b10a2c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/the-sun-eb32b3082c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/thimble-eb36b60d2b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/tianjin-eb34b90a2d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/tic-tac-toe-e832b60820_960.jpg (100%) rename storage/app/photos/{ => generation_1}/tiger-eb30b20a20_960.jpg (100%) rename storage/app/photos/{ => generation_1}/tiger-eb30b20f29_960.jpg (100%) rename storage/app/photos/{ => generation_1}/tiger-eb36b30f20_960.jpg (100%) rename storage/app/photos/{ => generation_1}/tiger-ee33b90a2f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/to-reach-eb33b80821_960.jpg (100%) rename storage/app/photos/{ => generation_1}/tomato-e83db70d20_960.jpg (100%) rename storage/app/photos/{ => generation_1}/tomatoes-e83cb80c2e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/towel-e83db2072a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/tower-bridge-eb36b30b20_960.jpg (100%) rename storage/app/photos/{ => generation_1}/town-eb31b20f2d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/train-eb34b90e2d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/transport-eb32b70a2b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/transportation-system-ea34b10b2f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/transportation-system-ea34b10e2a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/travel-e832b40929_960.jpg (100%) rename storage/app/photos/{ => generation_1}/travel-ea34b10e2d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/travel-ea34b10f2f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/travel-ea35b8062d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/tree-bud-eb33b80f2c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/tree-e83cb50b2d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/tree-ea34b10a2b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/tree-ea35b60d2c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/tree-ea35b90d2f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/tree-eb31b20a2a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/tree-eb32b30920_960.jpg (100%) rename storage/app/photos/{ => generation_1}/tree-eb33b70b29_960.jpg (100%) rename storage/app/photos/{ => generation_1}/tree-eb34b10929_960.jpg (100%) rename storage/app/photos/{ => generation_1}/trolley-eb37b10c2b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/trtoise-eb33b5082a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/tulip-eb34b50e2a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/tulips-eb37b10e2d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/turbine-ea34b1092f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/turkey-e83cb90a28_960.jpg (100%) rename storage/app/photos/{ => generation_1}/turkey-ea34b10929_960.jpg (100%) rename storage/app/photos/{ => generation_1}/turkey-ea34b1092a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/turkey-ea35b5072a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/turkey-ea35b80d21_960.jpg (100%) rename storage/app/photos/{ => generation_1}/turkey-ea35b80d2f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/turkey-eb33b60b2b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/turkey-eb33b9062e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/turkey-eb33b9062f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/turtle-eb30b90b28_960.jpg (100%) rename storage/app/photos/{ => generation_1}/turtle-eb37b10e2c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/tv-tower-eb35b00f20_960.jpg (100%) rename storage/app/photos/{ => generation_1}/ufo-eb32b30a21_960.jpg (100%) rename storage/app/photos/{ => generation_1}/umbrella-e83db1082d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/urkey-to-ea34b10929_960.jpg (100%) rename storage/app/photos/{ => generation_1}/usa-eb33b40a2c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/valentines-day-eb35b50f21_960.jpg (100%) rename storage/app/photos/{ => generation_1}/valley-eb33b5092b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/vegetables-e832b90c2f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/vehicle-eb34b20d2b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/vehicle-eb37b60a2c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/venice-eb32b40a29_960.jpg (100%) rename storage/app/photos/{ => generation_1}/venice-eb33b60e2f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/venice-eb33b9092a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/verona-eb32b00a28_960.jpg (100%) rename storage/app/photos/{ => generation_1}/view-eb30b60a20_960.jpg (100%) rename storage/app/photos/{ => generation_1}/village-eb32b3062b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/vintage-look-eb37b60821_960.jpg (100%) rename storage/app/photos/{ => generation_1}/volcano-eb32b00d2e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/volcano-eb32b4072b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/volcano-eb33b5092b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/volcano-eb33b70629_960.jpg (100%) rename storage/app/photos/{ => generation_1}/volcano-eb37b20a29_960.jpg (100%) rename storage/app/photos/{ => generation_1}/waddenzee-eb32b20d21_960.jpg (100%) rename storage/app/photos/{ => generation_1}/waffles-eb34b80f21_960.jpg (100%) rename storage/app/photos/{ => generation_1}/waiting-eb32b50929_960.jpg (100%) rename storage/app/photos/{ => generation_1}/walking-eb32b40d28_960.jpg (100%) rename storage/app/photos/{ => generation_1}/walking-eb33b20a28_960.jpg (100%) rename storage/app/photos/{ => generation_1}/wallet-eb37b80d2c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/walnut-e832b40e2e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/walnuts-eb36b00d2d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/warm-and-cozy-e83cb60a2a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/wasp-eb33b4092c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/watch-e83db80c2b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/water-e832b4062f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/water-ea34b10720_960.jpg (100%) rename storage/app/photos/{ => generation_1}/water-ea34b10920_960.jpg (100%) rename storage/app/photos/{ => generation_1}/water-ea34b10b21_960.jpg (100%) rename storage/app/photos/{ => generation_1}/water-ea35b80c2d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/water-eb37b10721_960.jpg (100%) rename storage/app/photos/{ => generation_1}/water-lily-e83db80c2a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/water-lily-eb31b0072b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/water-lily-eb36b20b2a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/water-mill-eb32b1092d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/water-palace-ea34b10e2b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/waterfall-bear-protective-gorge-eb33b60828_960.jpg (100%) rename storage/app/photos/{ => generation_1}/waterfall-eb30b20e29_960.jpg (100%) rename storage/app/photos/{ => generation_1}/waterfall-eb32b7082d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/waterfall-eb37b60e2a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/waterfalls-e834b50621_960.jpg (100%) rename storage/app/photos/{ => generation_1}/waterfalls-eb30b70f20_960.jpg (100%) rename storage/app/photos/{ => generation_1}/watermelon-e832b60d2e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/watermelon-e83cb70621_960.jpg (100%) rename storage/app/photos/{ => generation_1}/waters-ea34b10a20_960.jpg (100%) rename storage/app/photos/{ => generation_1}/waters-ea34b10a2f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/waters-ea34b10d2f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/waters-ea34b10f20_960.jpg (100%) rename storage/app/photos/{ => generation_1}/waters-ea35b90c2d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/wave-e83cb00c2d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/wave-eb33b70c28_960.jpg (100%) rename storage/app/photos/{ => generation_1}/wave-eb37b00e21_960.jpg (100%) rename storage/app/photos/{ => generation_1}/wedding-eb32b10f2c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/western-tatras-eb33b80f21_960.jpg (100%) rename storage/app/photos/{ => generation_1}/wheat-eb32b00c21_960.jpg (100%) rename storage/app/photos/{ => generation_1}/wheel-ea34b10f2a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/whitby-eb32b00e29_960.jpg (100%) rename storage/app/photos/{ => generation_1}/white-eb30b70b28_960.jpg (100%) rename storage/app/photos/{ => generation_1}/white-eb30b90d20_960.jpg (100%) rename storage/app/photos/{ => generation_1}/white-tailed-eagle-eb35b00a28_960.jpg (100%) rename storage/app/photos/{ => generation_1}/wiesnbreze-eb36b70629_960.jpg (100%) rename storage/app/photos/{ => generation_1}/wild-fig-eb32b70f2d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/wildflowers-eb33b8072c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/wind-farm-e832b5082b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/windsurfing-eb37b8072e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/wine-eb33b5082d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/wine-leaf-e832b30f29_960.jpg (100%) rename storage/app/photos/{ => generation_1}/wine-leaf-eb32b00620_960.jpg (100%) rename storage/app/photos/{ => generation_1}/wine-leaf-eb32b00a2f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/winter-e83cb70b2b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/winter-ea34b10928_960.jpg (100%) rename storage/app/photos/{ => generation_1}/winter-ea35b8072a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/winter-eb32b0062e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/winter-eb33b20829_960.jpg (100%) rename storage/app/photos/{ => generation_1}/winter-eb33b80e20_960.jpg (100%) rename storage/app/photos/{ => generation_1}/winter-landscape-eb30b60e2f_960.jpg (100%) rename storage/app/photos/{ => generation_1}/wintry-e83cb4062a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/wintry-eb35b7072a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/wolf-in-sheeps-clothing-eb30b60820_960.jpg (100%) rename storage/app/photos/{ => generation_1}/woman-837156_960.jpg (100%) rename storage/app/photos/{ => generation_1}/woman-e83cb6062a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/woman-ea34b1072a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/woman-eb31b10e28_960.jpg (100%) rename storage/app/photos/{ => generation_1}/woman-eb32b00e2a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/woman-eb32b20f21_960.jpg (100%) rename storage/app/photos/{ => generation_1}/woman-eb32b30b21_960.jpg (100%) rename storage/app/photos/{ => generation_1}/woman-eb33b90e28_960.jpg (100%) rename storage/app/photos/{ => generation_1}/woman-eb34b80821_960.jpg (100%) rename storage/app/photos/{ => generation_1}/wood-ea35b60e20_960.jpg (100%) rename storage/app/photos/{ => generation_1}/wood-sunglasses-eb30b10f2a_960.jpg (100%) rename storage/app/photos/{ => generation_1}/wood-sunglasses-eb30b10f2c_960.jpg (100%) rename storage/app/photos/{ => generation_1}/wool-head-vulture-eb33b6072d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/workplace-eb36b50e2e_960.jpg (100%) rename storage/app/photos/{ => generation_1}/yellow-thick-ear-eb33b20921_960.jpg (100%) rename storage/app/photos/{ => generation_1}/yogurt-eb34b10b2b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/zaandam-eb32b40b28_960.jpg (100%) rename storage/app/photos/{ => generation_1}/zauberglockchen-eb32b10c2d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/zemplen-eb32b2062d_960.jpg (100%) rename storage/app/photos/{ => generation_1}/zen-eb35b50f2b_960.jpg (100%) rename storage/app/photos/{ => generation_1}/zugspitze-eb32b40b2b_960.jpg (100%) diff --git a/.env.example b/.env.example index 524c4474..9b846141 100644 --- a/.env.example +++ b/.env.example @@ -15,7 +15,8 @@ APP_MAINTENANCE_STORE=database APP_COPYRIGHT=wi-wissen.de -DOC_URL=https://wi-wissen.github.io/instahub-doc-de/ +HUB_DEFAULT_GENERATION=1 +HUB_DOC_1_URL=https://wi-wissen.github.io/instahub-doc-de/ BCRYPT_ROUNDS=12 @@ -55,6 +56,11 @@ MAIL_ENCRYPTION=null MAIL_FROM_ADDRESS="hello@example.com" MAIL_FROM_NAME="${APP_NAME}" +AZURE_RESOURCE_NAME= +AZURE_DEPLOYMENT_ID= +AZURE_OPENAI_KEY= +AZURE_VERSION=2024-02-01 + VITE_APP_NAME="${APP_NAME}" WORD=achatgrau,ahornrot,agavengruen,alaskagrau,alpinaweiss,altrosa,aluminiumgrau,amarant,amarantrot,amazonasgruen,ameisenrot,ananasgelb,anthrazit,anthrazitgrau,antikgelb,antikrot,antiktuerkis,antikweiss,apfelgruen,aquamarin,aquamarinblau,asphaltgrau,atlantikblau,atlantisblau,azorenblau,azurblau,ballettrosa,bananengelb,basaltgrau,beige,beigerot,betongrau,birkengruen,blattgruen,blau,bleigrau,bluescreenblau,blutorange,blutrot,braun,braunbeige,braunrot,brillantblau,brombeerrot,bronze,burgunderrot,cappuccino,capriblau,carrerarot,cayennerot,cherry,chromgelb,creepergruen,cremeweiss,currygelb,cyan,dahliengelb,delphinblau,diamantblau,diamantgruen,diamantrot,diamantschwarz,dunkelblau,dunkelbraun,dunkelgelb,dunkelgrau,dunkelgruen,dunkellila,dunkelrosa,dunkelrot,eisblau,eisengrau,elefantengrau,elfenbein,enzianblau,erdbeerrot,erikarot,espressobraun,estorilblau,farblos,farngruen,fehengrau,fenstergrau,feuerrot,flamingorosa,flamingorot,flaschengruen,flieder,froschgruen,fruehlingsgruen,fuchsienrot,gelb,gelbgruen,gelblich,gelborange,geraniumrot,giftgruen,gilblich,ginstergelb,gletscherblau,gold,goldbraun,golden,goldgelb,granitgrau,graphitgrau,grasgruen,grau,graubeige,gruen,gruenbeige,gruenlich,guelden,haselnussbraun,heidelbeerblau,hellblau,hellbraun,hellelfenbein,hellgelb,hellgrau,hellgruen,hellrosa,hellrot,hellrotorange,himbeerrot,himmelblau,honiggelb,hummerrot,indianerrot,indigo,indigoblau,indigorot,indischgelb,indischrot,infernorot,inkarnat,italienischrot,jadegruen,jerichorot,johannisbeerrot,kadmiumgelb,kaffeebraun,kamillengelb,kanariengelb,karamellbraun,kardinalrot,karibikblau,karminrot,karminrot,kastanienbraun,kieferngruen,kieselgrau,kirschrot,kiwigruen,khakigrau,khakigruen,kobaltblau,kobaltgruen,koenigsblau,korallenrosa,korallenrot,kornblumenblau,koronagelb,kosmosschwarz,kupferrot,lachsorange,lachsrosa,lachsrot,laubgruen,lavendelblau,lehmbraun,lemongruen,leuchtgelb,leuchthellorange,leuchthellrot,leuchtorange,leuchtrot,lichtblau,lila,limonengruen,lindgruen,lotusrot,magenta,magnolienrosa,magnolienrot,mahagonibraun,mahagonirot,maigruen,maisgelb,marmor,mandelbraun,marineblau,mauritiusblau,mausgrau,meeresgruen,melonengelb,mintgruen,mohnrot,moosgrau,moosgruen,nachtblau,narzissengelb,neapelgelb,neonblau,neongelb,neongruen,neonlila,neonorange,neonpink,neonrosa,neonrot,neontuerkis,neonviolett,nougatbraun,nussbraun,ocker,ockerbraun,ockergelb,ockerrot,olivgelb,olivgrau,olivgruen,orange,orangegelb,orangerot,orchidee,orientrot,oxidrot,ozeanblau,papageirot,paprikarot,papyrus,papyrusweiss,pastell,pastellgelb,pastellorange,patinagruen,pazifikblau,pechrabenschwarz,perlbeige,perlgold,perlgrau,perlorange,perlrosa,perlrubinrot,perlweiss,permamentrosa,permamentrot,persischrot,petrol,pfirsichrot,pigmentgruen,pink,pistaziengruen,platingrau,plazentarot,porzellanblau,pflaumenblau,pumucklrot,purpur,purpurlila,purpurrot,quarzgrau,quittegelb,quittengelb,rapsgelb,rehbraun,reinorange,reinrot,resedagruen,rhabarberrot,rindenbraun,ringelblumengelb,rosa,rosenrosa,rosenrot,rosig,rostbraun,rostrot,rot,rotorange,royalblau,rubinrot,safrangelb,safranrot,saharagelb,sandgelb,sandgelb,sandsteinrot,saphirblau,scharlachrot,schiefergrau,schilfgruen,schneeweiss,schokoladenbraun,schwarz,schwarzbraun,schwarzrot,schwefelgelb,seegruen,seidengrau,sepiabraun,siena,sienabraun,signalgelb,signalorange,signalrot,silber,silbergrau,silbrig,smalteblau,smaragdgruen,sonnengelb,stahlblau,staubgrau,suedseeblau,steingrau,tabakbraun,tannengruen,taubenblau,terrabraun,terracotta,tieforange,tiefschwarz,tintenblau,tintenrot,tintenschwarz,titangrau,tizianrot,tomatenrot,torfbraun,tumblau,tuerkis,tuerkischrot,umbra,universalblau,ultramarinblau,veilchenblau,venezianischrot,violett,walnussbraun,wasserblau,weinrot,weiss,wiesengruen,wuestenrot,xenon,zartgruen,zartrosa,zeltgrau,zementgrau,ziegelrot,zimtbraun,zinkgelb,zinnoberrot,zitronengelb,zitrusgelb,zyan diff --git a/app/Helpers/HubHelper.php b/app/Helpers/HubHelper.php index 477f4a6c..52c70fff 100644 --- a/app/Helpers/HubHelper.php +++ b/app/Helpers/HubHelper.php @@ -119,6 +119,24 @@ public function name() } } + public function generation() + { + if ($this->isHub()) { + return $this->hub->generation; + } else { + return null; + } + } + + public function query_level() + { + if ($this->isHub()) { + return $this->hub->query_level; + } else { + return null; + } + } + public function url($name = null) { $protocol = $_SERVER['PROTOCOL'] = isset($_SERVER['HTTPS']) && ! empty($_SERVER['HTTPS']) ? 'https' : 'http'; diff --git a/app/Http/Controllers/FileController.php b/app/Http/Controllers/FileController.php index 261cc4b5..98ae4a70 100644 --- a/app/Http/Controllers/FileController.php +++ b/app/Http/Controllers/FileController.php @@ -24,13 +24,16 @@ public function showPhoto($filename) { $entry = Photo::where('url', '=', 'photos/'.$filename)->firstOrFail(); - //$this->authorize('view', $entry); + $url = $entry->url; + if (strpos($url, '_960') == false || strpos($url, '-unsplash') == false) { + $url = 'photos/generation_1/'.$filename; // legacy support + } - if (Storage::disk('local')->exists($entry->url)) { - $file = Storage::disk('local')->get($entry->url); + if (Storage::disk('local')->exists($url)) { + $file = Storage::disk('local')->get($url); return (new Response($file, 200)) - ->header('Content-Type', Storage::mimeType($entry->url)) + ->header('Content-Type', Storage::mimeType($url)) ->header('Content-Disposition', 'attachment; filename="'.'photo'.'"'); } else { abort(404); @@ -53,10 +56,15 @@ public function showAvatar($filename) $user = User::where('avatar', '=', 'avatars/'.$filename)->firstOrFail(); - $file = Storage::disk('local')->get($user->avatar); + $avatar = $user->avatar; + if (preg_match('/^(\d{3})\.jpg$/', $filename) && intval($filename) <= 196) { + $avatar = 'avatars/generation_1/'.$filename; // legacy support + } + + $file = Storage::disk('local')->get($avatar); return (new Response($file, 200)) - ->header('Content-Type', Storage::mimeType($user->avatar)) + ->header('Content-Type', Storage::mimeType($avatar)) ->header('Content-Disposition', 'attachment; filename="'.$user->username.'"'); } @@ -70,10 +78,10 @@ public function destroyAvatar($filename) { $user = User::where('avatar', '=', 'avatars/'.$filename)->firstOrFail(); - $preset_avatars = ['000.jpg', '001.jpg', '002.jpg', '003.jpg', '004.jpg', '005.jpg', '006.jpg', '007.jpg', '008.jpg', '009.jpg', '010.jpg', '011.jpg', '012.jpg', '013.jpg', '014.jpg', '015.jpg', '016.jpg', '017.jpg', '018.jpg', '019.jpg', '020.jpg', '021.jpg', '022.jpg', '023.jpg', '024.jpg', '025.jpg', '026.jpg', '027.jpg', '028.jpg', '029.jpg', '030.jpg', '031.jpg', '032.jpg', '033.jpg', '034.jpg', '035.jpg', '036.jpg', '037.jpg', '038.jpg', '039.jpg', '040.jpg', '041.jpg', '042.jpg', '043.jpg', '044.jpg', '045.jpg', '046.jpg', '047.jpg', '048.jpg', '049.jpg', '050.jpg', '051.jpg', '052.jpg', '053.jpg', '054.jpg', '055.jpg', '056.jpg', '057.jpg', '058.jpg', '059.jpg', '060.jpg', '061.jpg', '062.jpg', '063.jpg', '064.jpg', '065.jpg', '066.jpg', '067.jpg', '068.jpg', '069.jpg', '070.jpg', '071.jpg', '072.jpg', '073.jpg', '074.jpg', '075.jpg', '076.jpg', '077.jpg', '078.jpg', '079.jpg', '080.jpg', '081.jpg', '082.jpg', '083.jpg', '084.jpg', '085.jpg', '086.jpg', '087.jpg', '088.jpg', '089.jpg', '090.jpg', '091.jpg', '092.jpg', '093.jpg', '094.jpg', '095.jpg', '096.jpg', '097.jpg', '098.jpg', '099.jpg', '100.jpg', '101.jpg', '102.jpg', '103.jpg', '104.jpg', '105.jpg', '106.jpg', '107.jpg', '108.jpg', '109.jpg', '110.jpg', '111.jpg', '112.jpg', '113.jpg', '114.jpg', '115.jpg', '116.jpg', '117.jpg', '118.jpg', '119.jpg', '120.jpg', '121.jpg', '122.jpg', '123.jpg', '124.jpg', '125.jpg', '126.jpg', '127.jpg', '128.jpg', '129.jpg', '130.jpg', '131.jpg', '132.jpg', '133.jpg', '134.jpg', '135.jpg', '136.jpg', '137.jpg', '138.jpg', '139.jpg', '140.jpg', '141.jpg', '142.jpg', '143.jpg', '144.jpg', '145.jpg', '146.jpg', '147.jpg', '148.jpg', '149.jpg', '150.jpg', '151.jpg', '152.jpg', '153.jpg', '154.jpg', '155.jpg', '156.jpg', '157.jpg', '158.jpg', '159.jpg', '160.jpg', '161.jpg', '162.jpg', '163.jpg', '164.jpg', '165.jpg', '166.jpg', '167.jpg', '168.jpg', '169.jpg', '170.jpg', '171.jpg', '172.jpg', '173.jpg', '174.jpg', '175.jpg', '176.jpg', '177.jpg', '178.jpg', '179.jpg', '180.jpg', '181.jpg', '182.jpg', '183.jpg', '184.jpg', '185.jpg', '186.jpg', '187.jpg', '188.jpg', '189.jpg', '190.jpg', '191.jpg', '192.jpg', '193.jpg', '194.jpg', '195.jpg', '196.jpg']; + $isPresetAvatar = preg_match('/^(\d{3})\.jpg$/', $filename) && intval($filename) <= 196; - if (! in_array($filename, $preset_avatars)) { - //uploaded avater + if (!$isPresetAvatar) { + // uploaded avatar return Storage::disk('local')->delete($user->avatar); } } diff --git a/app/Http/Controllers/HubController.php b/app/Http/Controllers/HubController.php index 2d5afec1..b7c7929a 100644 --- a/app/Http/Controllers/HubController.php +++ b/app/Http/Controllers/HubController.php @@ -163,13 +163,16 @@ function ($attribute, $value, $fail) { RequestHub::setHubDB($hub->id); - DB::statement('SET FOREIGN_KEY_CHECKS = 0'); - Schema::dropIfExists('users'); //not necesary but sometimes happend strage bug while registering.. - DB::statement('SET FOREIGN_KEY_CHECKS = 1'); - - Artisan::call('migrate', ['--path' => 'database/migrations/create/users', '--force' => true]); - Artisan::call('db:seed', ['--class' => 'UsersTableSeeder', '--force' => true]); - Schema::dropIfExists('migrations'); //sorry laravel, but thats the only way. + // hydrate hub + if(Auth::user()->hub_default_creating == 'users') { + $hub->changeTables(['users'], 'users'); + } + else if(Auth::user()->hub_default_creating == 'all_empty') { + $hub->changeTables(['users'], 'create'); + } + else if(Auth::user()->hub_default_creating == 'all_full') { + $hub->changeTables(['users','photos','tags','likes','follows','comments','analytics','ads'], 'fill'); + } //insert admin $url = 'avatar.png'; diff --git a/app/Http/Controllers/SqlController.php b/app/Http/Controllers/SqlController.php index 8b7a6fc0..3557b0a8 100644 --- a/app/Http/Controllers/SqlController.php +++ b/app/Http/Controllers/SqlController.php @@ -2,6 +2,7 @@ namespace App\Http\Controllers; +use App\Facades\RequestHub; use App\Http\Controllers\Controller; use Illuminate\Http\Request; use Illuminate\Support\Facades\DB; @@ -21,6 +22,19 @@ public function sql() public function selectGui() { + if(RequestHub::query_level() != 'gui' && RequestHub::query_level() != 'ai') { + abort(403); + } + return view('admin.select'); } + + public function sqlAi() + { + if(RequestHub::query_level() != 'ai') { + abort(403); + } + + return view('admin.ai'); + } } diff --git a/app/Livewire/Admin/Sql.php b/app/Livewire/Admin/Sql.php index a2ee463b..b67843ea 100644 --- a/app/Livewire/Admin/Sql.php +++ b/app/Livewire/Admin/Sql.php @@ -13,7 +13,8 @@ class Sql extends Component public $result = ''; public $tables = ''; public $message = null; - public $type = null; + public $results = []; + public function mount() { @@ -30,61 +31,38 @@ public function runQuery() { $this->result = ''; $this->message = null; - $this->type = null; try { if (strpos(strtolower(trim($this->query)), 'select') !== 0) { DB::statement($this->query); - $this->message = 'Anfrage ausgeführt.'; - $this->type = 'success'; + $this->message = [ + 'type' => 'success', + 'text' => __('Query executed.'), + ]; } else { - $r = DB::select($this->query); - if (!$r) { - $this->message = __('Query executed. 0 results found.'); - $this->type = 'warning'; + $this->results = DB::select($this->query); + if (! $this->results) { + $this->message = [ + 'type' => 'warning', + 'text' => __('Query executed. 0 results found.'), + ]; } else { - $this->message = __('Query executed successfully. :count results found.', ['count' => count($r)]); - $this->type = 'success'; - $this->result = $this->formatResult($r); + $this->message = [ + 'type' => 'success', + 'text' => __('Query executed successfully. :count results found.', ['count' => count($this->results)]) + ]; } } - } catch (QueryException $ex) { - $this->message = $ex->getMessage(); - $this->type = 'danger'; + } catch (QueryException $e) { + $this->message = [ + 'type' => 'danger', + 'text' => $e->getMessage() + ]; } session(['last_query' => $this->query]); } - private function formatResult($r) - { - $cols = array_keys((array) $r[0]); - $t = ""; - $t .= ""; - foreach ($cols as $col) { - $t .= ""; - } - $t .= ""; - foreach ($r as $row) { - $t .= ""; - foreach ($cols as $col) { - $value = $row->$col; - if ($value === null) { - $t .= ""; - } elseif (filter_var($value, FILTER_VALIDATE_URL)) { - $t .= ""; - } elseif (preg_match("/^.*\.(jpg|jpeg|png|gif)$/i", $value)) { - $t .= ""; - } else { - $t .= ""; - } - } - $t .= ""; - } - $t .= "
" . htmlspecialchars($col) . "
NULL" . htmlspecialchars($value) . "" . htmlspecialchars($value) . "" . htmlspecialchars($value) . "
"; - return $t; - } - private function loadTables() { $r = DB::table('information_schema.tables')->where('table_schema', DB::getDatabaseName())->get(); diff --git a/app/Livewire/Admin/SqlAi.php b/app/Livewire/Admin/SqlAi.php new file mode 100644 index 00000000..6f6c7ece --- /dev/null +++ b/app/Livewire/Admin/SqlAi.php @@ -0,0 +1,150 @@ +prompt = session('last_prompt', ''); + $this->loadTables(); + } + + public function render() + { + return view('livewire.admin.sql-ai'); + } + + public function runQuery() + { + $this->result = ''; + $this->message = null; + + if(! $this->prompt) { + return; + } + + try { + $client = OpenAI::factory() + ->withBaseUri(config('azure.resource_name').'.openai.azure.com/openai/deployments/'.config('azure.deployment_id')) + ->withHttpHeader('api-key', config('azure.openai_key')) + ->withQueryParam('api-version', config('azure.api_version')) + ->make(); + + $result = $client->chat()->create([ + 'messages' => [ + ['role' => 'system', 'content' => $this->buildSystemPrompt()], + ['role' => 'user', 'content' => $this->prompt], + ], + 'max_tokens' => 100, + ]); + + $this->query = $this->extractSQL($result->choices[0]->message->content); + + if($this->query == 'UNKNOWN') { + $this->message = [ + 'type' => 'danger', + 'text' => __('The input cannot be implemented with a database query.'), + ]; + + return; + } + } catch (Throwable $e) { + $this->message = [ + 'type' => 'danger', + 'text' => (config('app.debug')) ? $e->getMessage() : __('Error in the AI query.'), + ]; + + return; + } + + try { + if (strpos(strtolower(trim($this->query)), 'select') !== 0) { + DB::statement($this->query); + $this->message = [ + 'type' => 'success', + 'text' => __('Query executed.'), + ]; + } else { + $this->results = DB::select($this->query); + if (! $this->results) { + $this->message = [ + 'type' => 'warning', + 'text' => __('Query executed. 0 results found.'), + ]; + } else { + $this->message = [ + 'type' => 'success', + 'text' => __('Query executed successfully. :count results found.', ['count' => count($this->results)]) + ]; + } + } + } catch (QueryException $e) { + $this->message = [ + 'type' => 'danger', + 'text' => $e->getMessage() + ]; + } + + session(['last_prompt' => $this->prompt]); + } + + private function buildSystemPrompt() + { + $command = <<<'EOT' +Du bist ein SQL-Generator. Du antwortest ausschließlich in gültigen SQL. + +Der Nutzer hat eine Aufgabe, die sich mit SQL Lösen lässt. Andernfalls schreibe nur UNKNOWN + +Folgende einzelne Tabellen können abgefragt werden: +EOT; + + return $command . '\n' . $this->loadTables(); + } + + private function loadTables() + { + $r = DB::table('information_schema.tables')->where('table_schema', DB::getDatabaseName())->get(); + $dbclass = ''; + foreach ($r as $v) { + if (!strcmp($v->TABLE_TYPE, 'BASE TABLE') && $v->TABLE_NAME != 'migrations') { + $dbclass .= $v->TABLE_NAME . ': '; + $columns = Schema::getColumnListing($v->TABLE_NAME); + $dbclass .= implode(', ', $columns); + $dbclass .= '\n'; + } + } + $this->tables = $dbclass; + } + + private function extractSQL($input) { + // Entferne Leerzeichen am Anfang und Ende + $input = trim($input); + + // Prüfe, ob der Input mit Markdown-Codeblock-Syntax beginnt + if (preg_match('/^```sql\s*(.*?)\s*```$/s', $input, $matches)) { + // Extrahiere den SQL-Code aus dem Markdown-Codeblock + return trim($matches[1]); + } elseif (preg_match('/^```\s*(.*?)\s*```$/s', $input, $matches)) { + // Für den Fall, dass 'sql' nach '```' fehlt, aber es trotzdem ein Codeblock ist + return trim($matches[1]); + } else { + // Wenn kein Markdown-Codeblock gefunden wurde, gib den gesamten Input zurück + return $input; + } + } +} \ No newline at end of file diff --git a/app/Livewire/Admin/SqlBuilder.php b/app/Livewire/Admin/SqlBuilder.php index 11a8e6ff..c916ae0c 100644 --- a/app/Livewire/Admin/SqlBuilder.php +++ b/app/Livewire/Admin/SqlBuilder.php @@ -2,6 +2,7 @@ namespace App\Livewire\Admin; +use Exception; use Livewire\Component; use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Schema; @@ -31,7 +32,7 @@ class SqlBuilder extends Component public $attr = []; public $rules = []; public $message = null; - public $table = null; + public $results = []; public function mount() { @@ -97,48 +98,23 @@ public function getQueryRules() public function getResult() { try { - $results = DB::select($this->query); - if (!$results) { + $this->results = DB::select($this->query); + if (! $this->results) { $this->message = [ 'type' => 'warning', - 'text' => __('Anfrage ausgeführt. 0 Ergebnisse gefunden.') + 'text' => __('Query executed. 0 results found.'), ]; } else { $this->message = [ 'type' => 'success', - 'text' => __('Query executed successfully. :count results found.', ['count' => count($results)]) + 'text' => __('Query executed successfully. :count results found.', ['count' => count($this->results)]) ]; } - $this->table = $this->formatResult($results); - } catch (\Exception $e) { + } catch (Exception $e) { $this->message = [ 'type' => 'danger', 'text' => $e->getMessage() ]; } } - - private function formatResult($results) - { - if (empty($results)) { - return null; - } - - $html = ''; - foreach (array_keys((array)$results[0]) as $column) { - $html .= ""; - } - $html .= ''; - - foreach ($results as $row) { - $html .= ''; - foreach ((array)$row as $value) { - $html .= ""; - } - $html .= ''; - } - - $html .= '
$column
$value
'; - return $html; - } } \ No newline at end of file diff --git a/app/Livewire/Hub/Index.php b/app/Livewire/Hub/Index.php index 4b88ad9e..ef6f84a1 100644 --- a/app/Livewire/Hub/Index.php +++ b/app/Livewire/Hub/Index.php @@ -20,6 +20,13 @@ class Index extends Component protected $queryString = ['search']; + public $selectedQueryLevel; + + public function mount(Hub $hub) + { + $this->selectedQueryLevel = $hub->query_level; + } + public function updatingSearch() { $this->resetPage(); @@ -47,35 +54,32 @@ public function render() public function setActivate($hubId, $activate) { - $this->loading['activate'] = true; - $hub = Hub::findOrFail($hubId); $hub->activated = $activate; // computed property - - $this->loading['activate'] = false; } public function setReadonly($hubId, $readonly) { - $this->loading['readonly'] = true; - $hub = Hub::findOrFail($hubId); $hub->readonly = $readonly; // computed property + } + + public function setQueryLevel($hubId, $queryLevel) + { + $hub = Hub::findOrFail($hubId); + $hub->query_level = $queryLevel; + $hub->save(); - $this->loading['readonly'] = false; + $this->selectedQueryLevel = $queryLevel; } public function fillTables($hubId, $tables) { - $this->loading['fill'] = true; - $hub = Hub::findOrFail($hubId); $tableArray = explode(',', $tables); $hub->changeTables($tableArray, 'fill'); - - $this->loading['fill'] = false; } } \ No newline at end of file diff --git a/app/Livewire/UserHubSettings.php b/app/Livewire/UserHubSettings.php new file mode 100644 index 00000000..64a5c3ac --- /dev/null +++ b/app/Livewire/UserHubSettings.php @@ -0,0 +1,55 @@ + 'required|integer', + 'hubDefaultCreating' => 'required|in:users,all_empty,all_full', + 'hubDefaultQueryLevel' => 'required|in:ai,gui,sql', + ]; + + public function mount() + { + $user = Auth::user(); + $this->generation = $user->hub_default_generation; + $this->hubDefaultCreating = $user->hub_default_creating; + $this->hubDefaultQueryLevel = $user->hub_default_query_level; + $this->availableGenerations = config('hub.generations'); + } + + public function updatedHubDefaultQueryLevel() + { + if ($this->hubDefaultQueryLevel === 'ai' && !Auth::user()->is_sponsor) { + $this->hubDefaultQueryLevel = 'gui'; + $this->addError('hubDefaultQueryLevel', __('You need to be a sponsor to use AI query level.')); + } + } + + public function save() + { + $this->validate(); + + $user = Auth::user(); + $user->hub_default_generation = $this->generation; + $user->hub_default_creating = $this->hubDefaultCreating; + $user->hub_default_query_level = $this->hubDefaultQueryLevel; + $user->save(); + + session()->flash('message', __('Settings updated successfully.')); + } + + public function render() + { + return view('livewire.user-hub-settings'); + } +} \ No newline at end of file diff --git a/app/Models/Hub.php b/app/Models/Hub.php index 3a5b4373..8ccc07c8 100644 --- a/app/Models/Hub.php +++ b/app/Models/Hub.php @@ -8,6 +8,7 @@ use Config; use Illuminate\Database\Eloquent\Model; use Illuminate\Support\Facades\Artisan; +use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Schema; use Storage; @@ -16,7 +17,7 @@ class Hub extends Model { protected $table = 'hubs'; - protected $fillable = ['teacher_id', 'password', 'name']; + protected $fillable = ['teacher_id', 'password', 'name', 'generation', 'query_level']; public function teacher() { @@ -208,7 +209,7 @@ public function fillTable($tablename) Schema::dropIfExists('migrations'); //sorry laravel, but thats the only way. } - Artisan::call('db:seed', ['--class' => ucfirst($tablename).'TableSeeder', '--force' => true]); + Artisan::call('db:seed', ['--class' => 'Database\Seeders\Generation'.Auth::user()->hub_default_generation.'\\'.ucfirst($tablename).'TableSeeder', '--force' => true]); // $this->messages[] = "Table $tablename filled with dummy data."; diff --git a/app/Models/User.php b/app/Models/User.php index 347e900d..e27fdb7e 100644 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -34,6 +34,7 @@ class User extends Authenticatable implements MustVerifyEmail protected $fillable = [ 'username', 'name', 'email', 'password', 'bio', 'avatar', 'birthday', 'city', 'country', 'gender', 'centimeters', 'is_active', 'role', 'is_admin', + 'is_sponsor', 'hub_default_generation', 'hub_default_creating', 'hub_default_query_level', ]; /** diff --git a/composer.json b/composer.json index f348a2bf..44d28e80 100644 --- a/composer.json +++ b/composer.json @@ -12,6 +12,7 @@ "laravel/tinker": "^2.9", "laravel/ui": "^4.5", "livewire/livewire": "^3.5", + "openai-php/client": "^0.10.1", "orangehill/iseed": "^3.0" }, "require-dev": { diff --git a/composer.lock b/composer.lock index 34e69f0a..5830bccc 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "52c6015c185ec9e06e0e4ea560209646", + "content-hash": "1995d0662a503b94587803beec5e5d2b", "packages": [ { "name": "brick/math", @@ -2956,6 +2956,98 @@ ], "time": "2024-03-06T16:17:14+00:00" }, + { + "name": "openai-php/client", + "version": "v0.10.1", + "source": { + "type": "git", + "url": "https://github.com/openai-php/client.git", + "reference": "8b63d27a2f009a7ce4714fda77769e93d883c8da" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/openai-php/client/zipball/8b63d27a2f009a7ce4714fda77769e93d883c8da", + "reference": "8b63d27a2f009a7ce4714fda77769e93d883c8da", + "shasum": "" + }, + "require": { + "php": "^8.1.0", + "php-http/discovery": "^1.19.4", + "php-http/multipart-stream-builder": "^1.3.0", + "psr/http-client": "^1.0.3", + "psr/http-client-implementation": "^1.0.1", + "psr/http-factory-implementation": "*", + "psr/http-message": "^1.1.0|^2.0.0" + }, + "require-dev": { + "guzzlehttp/guzzle": "^7.8.1", + "guzzlehttp/psr7": "^2.6.2", + "laravel/pint": "^1.16.0", + "mockery/mockery": "^1.6.12", + "nunomaduro/collision": "^7.10.0", + "pestphp/pest": "^2.34.7", + "pestphp/pest-plugin-arch": "^2.7", + "pestphp/pest-plugin-type-coverage": "^2.8.2", + "phpstan/phpstan": "^1.11.2", + "rector/rector": "^1.1.0", + "symfony/var-dumper": "^6.4.7" + }, + "type": "library", + "autoload": { + "files": [ + "src/OpenAI.php" + ], + "psr-4": { + "OpenAI\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nuno Maduro", + "email": "enunomaduro@gmail.com" + }, + { + "name": "Sandro Gehri" + } + ], + "description": "OpenAI PHP is a supercharged PHP API client that allows you to interact with the Open AI API", + "keywords": [ + "GPT-3", + "api", + "client", + "codex", + "dall-e", + "language", + "natural", + "openai", + "php", + "processing", + "sdk" + ], + "support": { + "issues": "https://github.com/openai-php/client/issues", + "source": "https://github.com/openai-php/client/tree/v0.10.1" + }, + "funding": [ + { + "url": "https://www.paypal.com/paypalme/enunomaduro", + "type": "custom" + }, + { + "url": "https://github.com/gehrisandro", + "type": "github" + }, + { + "url": "https://github.com/nunomaduro", + "type": "github" + } + ], + "time": "2024-06-06T20:27:51+00:00" + }, { "name": "orangehill/iseed", "version": "v3.0.4", @@ -3019,6 +3111,141 @@ }, "time": "2024-03-27T08:01:21+00:00" }, + { + "name": "php-http/discovery", + "version": "1.19.4", + "source": { + "type": "git", + "url": "https://github.com/php-http/discovery.git", + "reference": "0700efda8d7526335132360167315fdab3aeb599" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-http/discovery/zipball/0700efda8d7526335132360167315fdab3aeb599", + "reference": "0700efda8d7526335132360167315fdab3aeb599", + "shasum": "" + }, + "require": { + "composer-plugin-api": "^1.0|^2.0", + "php": "^7.1 || ^8.0" + }, + "conflict": { + "nyholm/psr7": "<1.0", + "zendframework/zend-diactoros": "*" + }, + "provide": { + "php-http/async-client-implementation": "*", + "php-http/client-implementation": "*", + "psr/http-client-implementation": "*", + "psr/http-factory-implementation": "*", + "psr/http-message-implementation": "*" + }, + "require-dev": { + "composer/composer": "^1.0.2|^2.0", + "graham-campbell/phpspec-skip-example-extension": "^5.0", + "php-http/httplug": "^1.0 || ^2.0", + "php-http/message-factory": "^1.0", + "phpspec/phpspec": "^5.1 || ^6.1 || ^7.3", + "sebastian/comparator": "^3.0.5 || ^4.0.8", + "symfony/phpunit-bridge": "^6.4.4 || ^7.0.1" + }, + "type": "composer-plugin", + "extra": { + "class": "Http\\Discovery\\Composer\\Plugin", + "plugin-optional": true + }, + "autoload": { + "psr-4": { + "Http\\Discovery\\": "src/" + }, + "exclude-from-classmap": [ + "src/Composer/Plugin.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Márk Sági-Kazár", + "email": "mark.sagikazar@gmail.com" + } + ], + "description": "Finds and installs PSR-7, PSR-17, PSR-18 and HTTPlug implementations", + "homepage": "http://php-http.org", + "keywords": [ + "adapter", + "client", + "discovery", + "factory", + "http", + "message", + "psr17", + "psr7" + ], + "support": { + "issues": "https://github.com/php-http/discovery/issues", + "source": "https://github.com/php-http/discovery/tree/1.19.4" + }, + "time": "2024-03-29T13:00:05+00:00" + }, + { + "name": "php-http/multipart-stream-builder", + "version": "1.3.1", + "source": { + "type": "git", + "url": "https://github.com/php-http/multipart-stream-builder.git", + "reference": "ed56da23b95949ae4747378bed8a5b61a2fdae24" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-http/multipart-stream-builder/zipball/ed56da23b95949ae4747378bed8a5b61a2fdae24", + "reference": "ed56da23b95949ae4747378bed8a5b61a2fdae24", + "shasum": "" + }, + "require": { + "php": "^7.1 || ^8.0", + "php-http/discovery": "^1.15", + "psr/http-factory-implementation": "^1.0" + }, + "require-dev": { + "nyholm/psr7": "^1.0", + "php-http/message": "^1.5", + "php-http/message-factory": "^1.0.2", + "phpunit/phpunit": "^7.5.15 || ^8.5 || ^9.3" + }, + "type": "library", + "autoload": { + "psr-4": { + "Http\\Message\\MultipartStream\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Tobias Nyholm", + "email": "tobias.nyholm@gmail.com" + } + ], + "description": "A builder class that help you create a multipart stream", + "homepage": "http://php-http.org", + "keywords": [ + "factory", + "http", + "message", + "multipart stream", + "stream" + ], + "support": { + "issues": "https://github.com/php-http/multipart-stream-builder/issues", + "source": "https://github.com/php-http/multipart-stream-builder/tree/1.3.1" + }, + "time": "2024-06-10T14:51:55+00:00" + }, { "name": "phpoption/phpoption", "version": "1.9.2", @@ -10176,5 +10403,5 @@ "php": "^8.2" }, "platform-dev": [], - "plugin-api-version": "2.3.0" + "plugin-api-version": "2.6.0" } diff --git a/config/azure.php b/config/azure.php new file mode 100644 index 00000000..8667752b --- /dev/null +++ b/config/azure.php @@ -0,0 +1,8 @@ + env('AZURE_RESOURCE_NAME'), + 'deployment_id' => env('AZURE_DEPLOYMENT_ID'), + 'openai_key' => env('AZURE_OPENAI_KEY'), + 'api_version' => env('AZURE_VERSION'), +]; \ No newline at end of file diff --git a/config/hub.php b/config/hub.php new file mode 100644 index 00000000..1cc2d478 --- /dev/null +++ b/config/hub.php @@ -0,0 +1,11 @@ + env('HUB_DEFAULT_GENERATION'), + 'generations' => [ + 1 => [ + 'name' => 'Generation 2017', + 'url' => env('HUB_DOC_1_URL'), + ], + ], +]; \ No newline at end of file diff --git a/database/migrations/2024_07_10_155013_add_hub_related_fields_to_users_table.php b/database/migrations/2024_07_10_155013_add_hub_related_fields_to_users_table.php new file mode 100644 index 00000000..d9600439 --- /dev/null +++ b/database/migrations/2024_07_10_155013_add_hub_related_fields_to_users_table.php @@ -0,0 +1,28 @@ +boolean('is_sponsor')->default(false)->after('is_active'); + $table->integer('hub_default_generation')->default(1)->after('is_sponsor'); + $table->enum('hub_default_creating', ['users', 'all_empty', 'all_full'])->after('hub_default_generation'); + $table->enum('hub_default_query_level', ['ai', 'gui', 'sql'])->default('gui')->after('hub_default_creating'); + }); + } + + public function down() + { + Schema::table('users', function (Blueprint $table) { + $table->dropColumn('hub_default_generation'); + $table->dropColumn('is_sponsor'); + $table->dropColumn('hub_default_creating'); + $table->dropColumn('hub_default_query_level'); + }); + } +}; \ No newline at end of file diff --git a/database/migrations/2024_07_10_155039_add_generation_and_query_level_to_hubs_table.php b/database/migrations/2024_07_10_155039_add_generation_and_query_level_to_hubs_table.php new file mode 100644 index 00000000..bfd9a158 --- /dev/null +++ b/database/migrations/2024_07_10_155039_add_generation_and_query_level_to_hubs_table.php @@ -0,0 +1,24 @@ +integer('generation')->default(1)->after('password'); + $table->enum('query_level', ['ai', 'gui', 'sql'])->default('gui')->after('generation'); + }); + } + + public function down() + { + Schema::table('hubs', function (Blueprint $table) { + $table->dropColumn('generation'); + $table->dropColumn('query_level'); + }); + } +}; \ No newline at end of file diff --git a/database/migrations/update/2024_07_10_155039_add_generation_and_query_level_to_hubs_table.php b/database/migrations/update/2024_07_10_155039_add_generation_and_query_level_to_hubs_table.php new file mode 100644 index 00000000..bfd9a158 --- /dev/null +++ b/database/migrations/update/2024_07_10_155039_add_generation_and_query_level_to_hubs_table.php @@ -0,0 +1,24 @@ +integer('generation')->default(1)->after('password'); + $table->enum('query_level', ['ai', 'gui', 'sql'])->default('gui')->after('generation'); + }); + } + + public function down() + { + Schema::table('hubs', function (Blueprint $table) { + $table->dropColumn('generation'); + $table->dropColumn('query_level'); + }); + } +}; \ No newline at end of file diff --git a/database/seeders/AdsTableSeeder.php b/database/seeders/Generation1/AdsTableSeeder.php similarity index 99% rename from database/seeders/AdsTableSeeder.php rename to database/seeders/Generation1/AdsTableSeeder.php index 988839c0..f26a73b7 100644 --- a/database/seeders/AdsTableSeeder.php +++ b/database/seeders/Generation1/AdsTableSeeder.php @@ -1,6 +1,6 @@ diff --git a/resources/views/admin/ai.blade.php b/resources/views/admin/ai.blade.php new file mode 100644 index 00000000..ec025ad5 --- /dev/null +++ b/resources/views/admin/ai.blade.php @@ -0,0 +1,21 @@ +@extends('layouts.app') + +@section('content') +
+
+
+ @include('flash::message') +
+
+

{{__('Ask')}}

+
+
+ @livewire('admin.sql-ai') +
+
+
+
+
+
+
+@endsection \ No newline at end of file diff --git a/resources/views/admin/partials/result-table.blade.php b/resources/views/admin/partials/result-table.blade.php new file mode 100644 index 00000000..7ac7ff6c --- /dev/null +++ b/resources/views/admin/partials/result-table.blade.php @@ -0,0 +1,32 @@ +@if(!empty($results)) + + + + @foreach(array_keys((array)$results[0]) as $column) + + @endforeach + + + + @foreach($results as $row) + + @foreach((array)$row as $value) + + @endforeach + + @endforeach + +
{{ $column }}
+ @if(is_null($value)) + NULL + @elseif(filter_var($value, FILTER_VALIDATE_URL)) + {{ $value }} + @elseif(preg_match("/^.*\.(jpg|jpeg|png|gif)$/i", $value)) + {{ $value }} + @else + {{ $value }} + @endif +
+@else +

Keine Ergebnisse gefunden.

+@endif \ No newline at end of file diff --git a/resources/views/auth/login.blade.php b/resources/views/auth/login.blade.php index 0734e19a..7c448055 100644 --- a/resources/views/auth/login.blade.php +++ b/resources/views/auth/login.blade.php @@ -73,7 +73,7 @@

{{ __('messages.firstStepTeacher') }}

- {{ __('Documentation') }} + {{ __('Documentation') }} diff --git a/resources/views/hub/index.blade.php b/resources/views/hub/index.blade.php index 478a7093..1cc13a9c 100644 --- a/resources/views/hub/index.blade.php +++ b/resources/views/hub/index.blade.php @@ -3,6 +3,10 @@ @section('content')

{{ __('Hubs') }}

+
+ @livewire('user-hub-settings') +
+
@livewire('hub.index')
@endsection diff --git a/resources/views/layouts/app.blade.php b/resources/views/layouts/app.blade.php index 9ed600e0..3251fcf7 100644 --- a/resources/views/layouts/app.blade.php +++ b/resources/views/layouts/app.blade.php @@ -114,6 +114,7 @@ {{ __('Database') }} @@ -122,7 +123,7 @@ @if (!Auth::guest() && ! RequestHub::isHub() && Auth::user()->allowed('teacher'))