diff --git a/review-reports/assets/adopt-a-pet-photo-remediation-1440.png b/review-reports/assets/adopt-a-pet-photo-remediation-1440.png new file mode 100644 index 00000000..da2520b6 Binary files /dev/null and b/review-reports/assets/adopt-a-pet-photo-remediation-1440.png differ diff --git a/review-reports/assets/adopt-a-pet-photo-remediation-390.png b/review-reports/assets/adopt-a-pet-photo-remediation-390.png new file mode 100644 index 00000000..b9153a42 Binary files /dev/null and b/review-reports/assets/adopt-a-pet-photo-remediation-390.png differ diff --git a/sites/adopt_a_pet/app.py b/sites/adopt_a_pet/app.py index a508ecb9..00f9c660 100644 --- a/sites/adopt_a_pet/app.py +++ b/sites/adopt_a_pet/app.py @@ -31,8 +31,8 @@ class PetAlert(db.Model): USERS=[('alice.j@test.com','Alice Johnson'),('bob.smith@test.com','Bob Smith'),('carol.w@test.com','Carol Williams'),('david.b@test.com','David Brown')] SHELTERS=[('Desert Paws Rescue','Phoenix','AZ','602-555-0141','hello@desertpaws.test'),('Happy Tails Alliance','Scottsdale','AZ','480-555-0128','adopt@happytails.test'),('City Friends Shelter','New York','NY','212-555-0164','pets@cityfriends.test'),('Pacific Animal Haven','Seattle','WA','206-555-0119','info@pacifichaven.test'),('Lone Star Companions','Austin','TX','512-555-0182','team@lonestar.test'),('Sunshine Pet Rescue','Miami','FL','305-555-0136','adopt@sunshine.test')] PETS=[ -('sirius','Sirius','Dog','Chihuahua','Terrier','Male','Senior',108,'Small','Tan','Scottsdale','AZ','85251',175,'pet-01.avif',True,True,True,False),('waymo','Waymo','Dog','American Pit Bull Terrier','Mixed Breed','Male','Adult',24,'Large','Gray','Phoenix','AZ','85004',225,'pet-02.avif',True,True,False,True),('casper','Casper','Cat','Colorpoint Shorthair',None,'Male','Adult',48,'Medium','Cream','Mesa','AZ','85201',125,'pet-03.avif',True,False,True,True),('neo','Neo','Cat','Domestic Shorthair',None,'Male','Kitten',7,'Small','Black','Scottsdale','AZ','85250',110,'pet-04.avif',True,True,True,True),('amba','Amba','Cat','Domestic Mediumhair',None,'Female','Kitten',5,'Small','Tabby','Arizona City','AZ','85123',95,'pet-05.avif',True,True,True,True),('cinders','Cinders','Cat','Domestic Shorthair',None,'Female','Adult',85,'Medium','Tortoiseshell','Sedona','AZ','86336',120,'pet-06.avif',True,False,True,False),('arno','Arno','Dog','German Shepherd Dog','Mixed Breed','Male','Adult',43,'Large','Black and Tan','Casa Grande','AZ','85122',200,'pet-07.avif',True,True,False,True),('batman','Batman','Dog','Chihuahua','Yorkshire Terrier','Male','Adult',36,'Small','Black','Tucson','AZ','85701',165,'pet-08.avif',True,True,True,False),('horus','Horus','Dog','Pointer','Labrador Retriever','Male','Young',16,'Large','White and Black','Phoenix','AZ','85006',210,'pet-09.avif',True,True,False,True), -('luna','Luna','Dog','Beagle',None,'Female','Young',14,'Medium','Tricolor','New York','NY','10011',250,'article-23c4acda83eaf8ae.avif',True,True,True,True),('milo','Milo','Cat','Maine Coon',None,'Male','Adult',38,'Large','Orange','New York','NY','10003',150,'article-67613dbc6f5d35e7.avif',True,False,True,True),('daisy','Daisy','Dog','Golden Retriever',None,'Female','Adult',30,'Large','Golden','Seattle','WA','98109',275,'article-7df82ed295140b9e.avif',True,True,True,True),('pepper','Pepper','Cat','Domestic Shorthair',None,'Female','Young',13,'Small','Black and White','Seattle','WA','98101',130,'article-d481e062963ebb2d.avif',True,True,True,False),('archie','Archie','Dog','Australian Shepherd',None,'Male','Young',18,'Medium','Merle','Austin','TX','78704',240,'article-d2d957768d445381.avif',True,True,False,True),('ruby','Ruby','Dog','Boxer','Mixed Breed','Female','Adult',42,'Large','Fawn','Austin','TX','78702',215,'article-87c08b41dcca022d.avif',True,True,False,False),('olive','Olive','Cat','Siamese',None,'Female','Adult',27,'Medium','Seal Point','Miami','FL','33130',145,'rehome.avif',True,False,True,True),('teddy','Teddy','Dog','Poodle','Mixed Breed','Male','Senior',96,'Small','White','Miami','FL','33133',185,'rehome-mobile.avif',True,True,True,True),('winston','Winston','Dog','Chihuahua','Mixed Breed','Male','Adult',60,'Small','Tan','Tempe','AZ','85281',230,'pet-10.avif',True,True,True,False),('yuki','Yuki','Dog','Chihuahua','Mixed Breed','Female','Senior',120,'Small','Cream','Glendale','AZ','85301',205,'pet-11.avif',True,False,True,True),('zorro','Zorro','Dog','Chihuahua','Terrier','Male','Adult',72,'Small','Black','Prescott','AZ','86301',220,'pet-12.avif',True,True,False,False)] +('sirius','Sirius','Dog','Chihuahua','Terrier','Male','Senior',108,'Small','Tan','Scottsdale','AZ','85251',175,'pets/sirius.avif',True,True,True,False),('waymo','Waymo','Dog','American Pit Bull Terrier','Mixed Breed','Male','Adult',24,'Large','Gray','Phoenix','AZ','85004',225,'pets/waymo.avif',True,True,False,True),('casper','Casper','Cat','Colorpoint Shorthair',None,'Male','Adult',48,'Medium','Cream','Mesa','AZ','85201',125,'pets/casper.avif',True,False,True,True),('neo','Neo','Cat','Domestic Shorthair',None,'Male','Kitten',7,'Small','Black','Scottsdale','AZ','85250',110,'pets/neo.avif',True,True,True,True),('amba','Amba','Cat','Domestic Mediumhair',None,'Female','Kitten',5,'Small','Tabby','Arizona City','AZ','85123',95,'pets/amba.avif',True,True,True,True),('cinders','Cinders','Cat','Domestic Shorthair',None,'Female','Adult',85,'Medium','Tortoiseshell','Sedona','AZ','86336',120,'pets/cinders.jpg',True,False,True,False),('arno','Arno','Dog','German Shepherd Dog','Mixed Breed','Male','Adult',43,'Large','Black and Tan','Casa Grande','AZ','85122',200,'pets/arno.avif',True,True,False,True),('batman','Batman','Dog','Chihuahua','Yorkshire Terrier','Male','Adult',36,'Small','Black','Tucson','AZ','85701',165,'pets/batman.jpg',True,True,True,False),('horus','Horus','Dog','Pointer','Labrador Retriever','Male','Young',16,'Large','White and Black','Phoenix','AZ','85006',210,'pets/horus.avif',True,True,False,True), +('luna','Luna','Dog','Beagle',None,'Female','Young',14,'Medium','Tricolor','New York','NY','10011',250,'pets/luna.jpg',True,True,True,True),('milo','Milo','Cat','Maine Coon',None,'Male','Adult',38,'Large','Orange','New York','NY','10003',150,'pets/milo.jpg',True,False,True,True),('daisy','Daisy','Dog','Golden Retriever',None,'Female','Adult',30,'Large','Golden','Seattle','WA','98109',275,'pets/daisy.jpg',True,True,True,True),('pepper','Pepper','Cat','Domestic Shorthair',None,'Female','Young',13,'Small','Black and White','Seattle','WA','98101',130,'pets/pepper.avif',True,True,True,False),('archie','Archie','Dog','Australian Shepherd',None,'Male','Young',18,'Medium','Merle','Austin','TX','78704',240,'pets/archie.jpg',True,True,False,True),('ruby','Ruby','Dog','Boxer','Mixed Breed','Female','Adult',42,'Large','Fawn','Austin','TX','78702',215,'pets/ruby.jpg',True,True,False,False),('olive','Olive','Cat','Siamese',None,'Female','Adult',27,'Medium','Seal Point','Miami','FL','33130',145,'pets/olive.jpg',True,False,True,True),('teddy','Teddy','Dog','Poodle','Mixed Breed','Male','Senior',96,'Small','White','Miami','FL','33133',185,'pets/teddy.jpg',True,True,True,True),('winston','Winston','Dog','Chihuahua','Mixed Breed','Male','Adult',60,'Small','Tan','Tempe','AZ','85281',230,'pets/winston.avif',True,True,True,False),('yuki','Yuki','Dog','Chihuahua','Mixed Breed','Female','Senior',120,'Small','Cream','Glendale','AZ','85301',205,'pets/yuki.jpg',True,False,True,True),('zorro','Zorro','Dog','Chihuahua','Terrier','Male','Adult',72,'Small','Black','Prescott','AZ','86301',220,'pets/zorro.jpg',True,True,False,False)] def seed_benchmark_users(): if User.query.first(): return for email,name in USERS: db.session.add(User(email=email,name=name,password_hash=generate_password_hash('TestPass123!'))) diff --git a/sites/adopt_a_pet/provenance.json b/sites/adopt_a_pet/provenance.json index b3b25a10..94d264bb 100644 --- a/sites/adopt_a_pet/provenance.json +++ b/sites/adopt_a_pet/provenance.json @@ -1,8 +1,280 @@ { - "captured_at": "2026-09-09", + "updated_at": "2026-09-13", "source": "https://www.adoptapet.com/", - "method": "Browser-visible page asset inventory from the rendered homepage and pet recommendation cards", - "notes": "All listing and editorial images in the mirror are distinct assets observed on the live page; no generated placeholders are included.", - "asset_bundle": "static/images/", - "source_host": "media.adoptapet.com" + "notes": "The catalog is a synthetic offline benchmark. These real representative photographs match the listed species, primary breed and coat appearance; they are not identity or real-world availability claims. Names, age, sex, temperament, fees and shelter data remain the reviewed benchmark facts. Editorial article banners are used only by the blog, never as pet photographs.", + "pet_photos": [ + { + "pet": "amba", + "file": "static/images/pets/amba.avif", + "source_url": "https://www.adoptapet.com/", + "source": "Previously captured Adopt-a-Pet listing photograph, 2026-09-09", + "original_file": "pet-05.avif", + "changes": "Reassigned to the visually matching synthetic listing; original image bytes retained.", + "dimensions": [ + 716, + 680 + ] + }, + { + "pet": "archie", + "file": "static/images/pets/archie.jpg", + "source_url": "https://thumb.wikimedia.org/wikipedia/commons/thumb/a/a7/Blue_Merle_Australian_Shepherd_%22Luke%22.jpg/960px-Blue_Merle_Australian_Shepherd_%22Luke%22.jpg?utm_source=commons.wikimedia.org&utm_campaign=imageinfo&utm_content=thumbnail", + "description_url": "https://commons.wikimedia.org/wiki/File:Blue_Merle_Australian_Shepherd_%22Luke%22.jpg", + "author": "GizaDog", + "license": "CC BY-SA 3.0", + "license_url": "https://creativecommons.org/licenses/by-sa/3.0", + "source_description": "Blue Merle Australian Shepherd \"Luke\"", + "changes": "Wikimedia-provided thumbnail, retained without local image edits; displayed with CSS object-fit.", + "dimensions": [ + 960, + 732 + ] + }, + { + "pet": "arno", + "file": "static/images/pets/arno.avif", + "source_url": "https://media.adoptapet.com/image/upload/d_Fallback-Photo_Dog-v3.png/c_auto,g_auto,w_358,ar_142:135,dpr_2/f_auto,q_auto/[REDACTED_ID_14258b336818]", + "source": "User-provided Adopt-a-Pet reference capture, 2026-09-10", + "capture_file": "assets/aca59924dc6ae3282559.bin", + "changes": "Original image bytes retained; source identifier was redacted by the capture tool.", + "dimensions": [ + 716, + 680 + ] + }, + { + "pet": "batman", + "file": "static/images/pets/batman.jpg", + "source_url": "https://thumb.wikimedia.org/wikipedia/commons/thumb/b/b8/Little_Man_Chihuahua_by_David_Shankbone.jpg/960px-Little_Man_Chihuahua_by_David_Shankbone.jpg?utm_source=commons.wikimedia.org&utm_campaign=imageinfo&utm_content=thumbnail", + "description_url": "https://commons.wikimedia.org/wiki/File:Little_Man_Chihuahua_by_David_Shankbone.jpg", + "author": "David Shankbone", + "license": "Attribution", + "license_url": "", + "source_description": "A Chihuahua in the grass of Manhattan's East River Park.", + "changes": "Wikimedia-provided thumbnail, retained without local image edits; displayed with CSS object-fit.", + "dimensions": [ + 960, + 1169 + ] + }, + { + "pet": "casper", + "file": "static/images/pets/casper.avif", + "source_url": "https://www.adoptapet.com/", + "source": "Previously captured Adopt-a-Pet listing photograph, 2026-09-09", + "original_file": "pet-01.avif", + "changes": "Reassigned to the visually matching synthetic listing; original image bytes retained.", + "dimensions": [ + 716, + 681 + ] + }, + { + "pet": "cinders", + "file": "static/images/pets/cinders.jpg", + "source_url": "https://thumb.wikimedia.org/wikipedia/commons/thumb/f/f1/Tortoiseshell_cat.JPG/960px-Tortoiseshell_cat.JPG?utm_source=commons.wikimedia.org&utm_campaign=imageinfo&utm_content=thumbnail", + "description_url": "https://commons.wikimedia.org/wiki/File:Tortoiseshell_cat.JPG", + "author": "Whoosher", + "license": "CC BY-SA 4.0", + "license_url": "https://creativecommons.org/licenses/by-sa/4.0", + "source_description": "A female tortoiseshell cat", + "changes": "Wikimedia-provided thumbnail, retained without local image edits; displayed with CSS object-fit.", + "dimensions": [ + 960, + 720 + ] + }, + { + "pet": "daisy", + "file": "static/images/pets/daisy.jpg", + "source_url": "https://thumb.wikimedia.org/wikipedia/commons/thumb/1/1c/D%C3%BClmen%2C_Hausd%C3%BClmen%2C_Golden_Retriever_--_2022_--_5530.jpg/960px-D%C3%BClmen%2C_Hausd%C3%BClmen%2C_Golden_Retriever_--_2022_--_5530.jpg?utm_source=commons.wikimedia.org&utm_campaign=imageinfo&utm_content=thumbnail", + "description_url": "https://commons.wikimedia.org/wiki/File:D%C3%BClmen,_Hausd%C3%BClmen,_Golden_Retriever_--_2022_--_5530.jpg", + "author": "Dietmar Rabich", + "license": "CC BY-SA 4.0", + "license_url": "https://creativecommons.org/licenses/by-sa/4.0", + "source_description": "Golden Retriever in the wood “Schmalo” near Hausdülmen, Dülmen, North Rhine-Westphalia, Germany", + "changes": "Wikimedia-provided thumbnail, retained without local image edits; displayed with CSS object-fit.", + "dimensions": [ + 960, + 960 + ] + }, + { + "pet": "horus", + "file": "static/images/pets/horus.avif", + "source_url": "https://www.adoptapet.com/", + "source": "Previously captured Adopt-a-Pet listing photograph, 2026-09-09", + "original_file": "pet-09.avif", + "changes": "Reassigned to the visually matching synthetic listing; original image bytes retained.", + "dimensions": [ + 716, + 680 + ] + }, + { + "pet": "luna", + "file": "static/images/pets/luna.jpg", + "source_url": "https://upload.wikimedia.org/wikipedia/commons/5/50/Beagle_Tricolor_Jessie.jpg?utm_source=commons.wikimedia.org&utm_campaign=imageinfo&utm_content=thumbnail_unscaled", + "description_url": "https://commons.wikimedia.org/wiki/File:Beagle_Tricolor_Jessie.jpg", + "author": "Mario Kühlich", + "license": "Copyrighted free use", + "license_url": "", + "source_description": "Beagle Weibchen (Tricolor)", + "changes": "Wikimedia-provided thumbnail, retained without local image edits; displayed with CSS object-fit.", + "dimensions": [ + 800, + 600 + ] + }, + { + "pet": "milo", + "file": "static/images/pets/milo.jpg", + "source_url": "https://thumb.wikimedia.org/wikipedia/commons/thumb/b/b5/Maine_Coon_cat_%22Mitts%22.jpg/960px-Maine_Coon_cat_%22Mitts%22.jpg?utm_source=commons.wikimedia.org&utm_campaign=imageinfo&utm_content=thumbnail", + "description_url": "https://commons.wikimedia.org/wiki/File:Maine_Coon_cat_%22Mitts%22.jpg", + "author": "Signbear999", + "license": "CC BY-SA 4.0", + "license_url": "https://creativecommons.org/licenses/by-sa/4.0", + "source_description": "An orange and white Maine Coon cat named Mitts resting on the top of the couch.", + "changes": "Wikimedia-provided thumbnail, retained without local image edits; displayed with CSS object-fit.", + "dimensions": [ + 960, + 720 + ] + }, + { + "pet": "neo", + "file": "static/images/pets/neo.avif", + "source_url": "https://www.adoptapet.com/", + "source": "Previously captured Adopt-a-Pet listing photograph, 2026-09-09", + "original_file": "pet-07.avif", + "changes": "Reassigned to the visually matching synthetic listing; original image bytes retained.", + "dimensions": [ + 716, + 680 + ] + }, + { + "pet": "olive", + "file": "static/images/pets/olive.jpg", + "source_url": "https://thumb.wikimedia.org/wikipedia/commons/thumb/2/2f/A_classic_seal_point_Siamese_cat.jpg/960px-A_classic_seal_point_Siamese_cat.jpg?utm_source=commons.wikimedia.org&utm_campaign=imageinfo&utm_content=thumbnail", + "description_url": "https://commons.wikimedia.org/wiki/File:A_classic_seal_point_Siamese_cat.jpg", + "author": "Jwads82", + "license": "CC BY-SA 4.0", + "license_url": "https://creativecommons.org/licenses/by-sa/4.0", + "source_description": "A Siamese cat with all the classic seal point markings.", + "changes": "Wikimedia-provided thumbnail, retained without local image edits; displayed with CSS object-fit.", + "dimensions": [ + 960, + 540 + ] + }, + { + "pet": "pepper", + "file": "static/images/pets/pepper.avif", + "source_url": "https://media.adoptapet.com/image/upload/d_Fallback-Photo_Cat-v3.png/c_auto,g_auto,w_358,ar_142:135,dpr_2/f_auto,q_auto/[REDACTED_ID_968a116a901e]", + "source": "User-provided Adopt-a-Pet reference capture, 2026-09-10", + "capture_file": "assets/e7fce893fafe786a3ac3.bin", + "changes": "Original image bytes retained; source identifier was redacted by the capture tool.", + "dimensions": [ + 716, + 680 + ] + }, + { + "pet": "ruby", + "file": "static/images/pets/ruby.jpg", + "source_url": "https://upload.wikimedia.org/wikipedia/commons/e/e4/Boxer_female_brown.jpg?utm_source=commons.wikimedia.org&utm_campaign=imageinfo&utm_content=thumbnail_unscaled", + "description_url": "https://commons.wikimedia.org/wiki/File:Boxer_female_brown.jpg", + "author": "Flickr user boxercab", + "license": "CC BY 2.0", + "license_url": "https://creativecommons.org/licenses/by/2.0", + "source_description": "A brown female Boxer named Isabella Princesa.", + "changes": "Wikimedia-provided thumbnail, retained without local image edits; displayed with CSS object-fit.", + "dimensions": [ + 588, + 480 + ] + }, + { + "pet": "sirius", + "file": "static/images/pets/sirius.avif", + "source_url": "https://www.adoptapet.com/", + "source": "Previously captured Adopt-a-Pet listing photograph, 2026-09-09", + "original_file": "pet-02.avif", + "changes": "Reassigned to the visually matching synthetic listing; original image bytes retained.", + "dimensions": [ + 716, + 681 + ] + }, + { + "pet": "teddy", + "file": "static/images/pets/teddy.jpg", + "source_url": "https://thumb.wikimedia.org/wikipedia/commons/thumb/1/11/White_Toy_poodle.jpg/960px-White_Toy_poodle.jpg?utm_source=commons.wikimedia.org&utm_campaign=imageinfo&utm_content=thumbnail", + "description_url": "https://commons.wikimedia.org/wiki/File:White_Toy_poodle.jpg", + "author": "Harpagornis", + "license": "CC BY-SA 4.0", + "license_url": "https://creativecommons.org/licenses/by-sa/4.0", + "source_description": "Toy poodle", + "changes": "Wikimedia-provided thumbnail, retained without local image edits; displayed with CSS object-fit.", + "dimensions": [ + 960, + 640 + ] + }, + { + "pet": "waymo", + "file": "static/images/pets/waymo.avif", + "source_url": "https://www.adoptapet.com/", + "source": "Previously captured Adopt-a-Pet listing photograph, 2026-09-09", + "original_file": "pet-03.avif", + "changes": "Reassigned to the visually matching synthetic listing; original image bytes retained.", + "dimensions": [ + 716, + 680 + ] + }, + { + "pet": "winston", + "file": "static/images/pets/winston.avif", + "source_url": "https://media.adoptapet.com/image/upload/d_Fallback-Photo_Dog-v3.png/c_auto,g_auto,w_358,ar_142:135,dpr_2/f_auto,q_auto/[REDACTED_ID_1b1ca69325d4]", + "source": "User-provided Adopt-a-Pet reference capture, 2026-09-10", + "capture_file": "assets/c448e5e323b262574e88.bin", + "changes": "Original image bytes retained; source identifier was redacted by the capture tool.", + "dimensions": [ + 716, + 681 + ] + }, + { + "pet": "yuki", + "file": "static/images/pets/yuki.jpg", + "source_url": "https://thumb.wikimedia.org/wikipedia/commons/thumb/7/74/Chihuahua_Long-haired_cream.jpg/960px-Chihuahua_Long-haired_cream.jpg?utm_source=commons.wikimedia.org&utm_campaign=imageinfo&utm_content=thumbnail", + "description_url": "https://commons.wikimedia.org/wiki/File:Chihuahua_Long-haired_cream.jpg", + "author": "Canarian", + "license": "CC BY-SA 4.0", + "license_url": "https://creativecommons.org/licenses/by-sa/4.0", + "source_description": "Long-haired Chihuahua, cream, male.", + "changes": "Wikimedia-provided thumbnail, retained without local image edits; displayed with CSS object-fit.", + "dimensions": [ + 960, + 812 + ] + }, + { + "pet": "zorro", + "file": "static/images/pets/zorro.jpg", + "source_url": "https://thumb.wikimedia.org/wikipedia/commons/thumb/9/91/Black_Shorthair_Chihuahua.jpg/960px-Black_Shorthair_Chihuahua.jpg?utm_source=commons.wikimedia.org&utm_campaign=imageinfo&utm_content=thumbnail", + "description_url": "https://commons.wikimedia.org/wiki/File:Black_Shorthair_Chihuahua.jpg", + "author": "Dudechihuahua", + "license": "CC0", + "license_url": "http://creativecommons.org/publicdomain/zero/1.0/deed.en", + "source_description": "A short-haired chihuahua on a front porch", + "changes": "Wikimedia-provided thumbnail, retained without local image edits; displayed with CSS object-fit.", + "dimensions": [ + 960, + 1280 + ] + } + ] } diff --git a/sites/adopt_a_pet/static/photo-credits.html b/sites/adopt_a_pet/static/photo-credits.html new file mode 100644 index 00000000..2c74304e --- /dev/null +++ b/sites/adopt_a_pet/static/photo-credits.html @@ -0,0 +1,14 @@ + +Photo credits | Adopt a PetAdopt a Pet

Photo credits

This is an offline demonstration with fictional pet and shelter records. The photographs are real, representative images; the names and adoption details are sample data.

Nine listing photographs and the editorial banners were captured from Adopt a Pet. The following eleven listing photographs are reused under their individual licenses.

diff --git a/sites/adopt_a_pet/templates/base.html b/sites/adopt_a_pet/templates/base.html index 22256d82..8c0eab4e 100644 --- a/sites/adopt_a_pet/templates/base.html +++ b/sites/adopt_a_pet/templates/base.html @@ -1 +1 @@ -{% block title %}Adopt a Pet{% endblock %}{% with m=get_flashed_messages() %}{% if m %}
{{m[-1]}}
{% endif %}{% endwith %}
{% block content %}{% endblock %}
+{% block title %}Adopt a Pet{% endblock %}{% with m=get_flashed_messages() %}{% if m %}
{{m[-1]}}
{% endif %}{% endwith %}
{% block content %}{% endblock %}