From aa79125d8b8a2cf97b460ea140f5732fb2f7b764 Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Thu, 16 Nov 2017 13:49:15 +0100 Subject: [PATCH 001/312] Explain the new usage with including the module --- README.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/README.md b/README.md index a35d1164..83e4d40b 100644 --- a/README.md +++ b/README.md @@ -28,6 +28,24 @@ Or install it yourself as: ## Usage +In your test class, include the `Capybara::Screenshot::Diff` module: + +```ruby +class FeatureTest < ActionDispatch::IntegrationTest + include Capybara::Screenshot::Diff + ... +end +``` + +or if you use the integration test directly: + +```ruby +class ActionDispatch::IntegrationTest + include Capybara::Screenshot::Diff + ... +end +``` + Add `screenshot ''` to your tests. The screenshot will be saved in the `doc/screenshots` directory. From 93b99029f4121a87b1771a7452926a3140512f0b Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Thu, 16 Nov 2017 14:16:38 +0100 Subject: [PATCH 002/312] Add explanation of rspec usage to README --- README.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/README.md b/README.md index 83e4d40b..5c376e0a 100644 --- a/README.md +++ b/README.md @@ -28,6 +28,8 @@ Or install it yourself as: ## Usage +### Minitest + In your test class, include the `Capybara::Screenshot::Diff` module: ```ruby @@ -46,6 +48,22 @@ class ActionDispatch::IntegrationTest end ``` +### rspec + +```ruby +describe 'Permissions admin', :type => :feature, :js => true do + + include Capybara::Screenshot::Diff + + it 'works with permissions' do + visit('/') + screenshot 'home_page' + end + +end +``` + + Add `screenshot ''` to your tests. The screenshot will be saved in the `doc/screenshots` directory. From e29d8c08216397b2d31886f68f271f4e8416eeab Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Thu, 16 Nov 2017 14:21:53 +0100 Subject: [PATCH 003/312] Added header --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5c376e0a..b80d632e 100644 --- a/README.md +++ b/README.md @@ -63,6 +63,7 @@ describe 'Permissions admin', :type => :feature, :js => true do end ``` +### Taking screenshots Add `screenshot ''` to your tests. The screenshot will be saved in the `doc/screenshots` directory. From 1f7bb0855dbb15c810cc3e3db99824c220e9d460 Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Fri, 24 Nov 2017 23:03:52 +0100 Subject: [PATCH 004/312] Use current_driver when adding the driver to the image path Set change dimension to the whole image if the size has changed --- .rubocop_todo.yml | 2 +- lib/capybara/screenshot/diff.rb | 2 +- lib/capybara/screenshot/diff/image_compare.rb | 4 ++++ lib/capybara/screenshot/diff/version.rb | 2 +- .../screenshot/diff/image_compare_test.rb | 6 ++++++ test/images/a_cropped.png | Bin 0 -> 11076 bytes 6 files changed, 13 insertions(+), 3 deletions(-) create mode 100644 test/images/a_cropped.png diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index 214123ce..6869a804 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -13,7 +13,7 @@ Metrics/AbcSize: # Offense count: 1 # Configuration parameters: CountComments. Metrics/ClassLength: - Max: 182 + Max: 186 # Offense count: 3 Metrics/CyclomaticComplexity: diff --git a/lib/capybara/screenshot/diff.rb b/lib/capybara/screenshot/diff.rb index 4273f692..2bd6f58c 100644 --- a/lib/capybara/screenshot/diff.rb +++ b/lib/capybara/screenshot/diff.rb @@ -21,7 +21,7 @@ def active? def screenshot_area parts = ['doc/screenshots'] - parts << Capybara.default_driver.to_s if Capybara::Screenshot.add_driver_path + parts << Capybara.current_driver.to_s if Capybara::Screenshot.add_driver_path parts << os_name if Capybara::Screenshot.add_os_path File.join parts end diff --git a/lib/capybara/screenshot/diff/image_compare.rb b/lib/capybara/screenshot/diff/image_compare.rb index 049fc78c..7a32df4f 100644 --- a/lib/capybara/screenshot/diff/image_compare.rb +++ b/lib/capybara/screenshot/diff/image_compare.rb @@ -78,6 +78,10 @@ def different? if sizes_changed?(old_img, new_img) save_images(@annotated_new_file_name, new_img, @annotated_old_file_name, old_img) + @left = 0 + @top = 0 + @right = old_img.dimension.width - 1 + @bottom = old_img.dimension.height - 1 return true end diff --git a/lib/capybara/screenshot/diff/version.rb b/lib/capybara/screenshot/diff/version.rb index a3a30af4..c870c3eb 100644 --- a/lib/capybara/screenshot/diff/version.rb +++ b/lib/capybara/screenshot/diff/version.rb @@ -3,7 +3,7 @@ module Capybara module Screenshot module Diff - VERSION = '0.10.1'.freeze + VERSION = '0.10.2'.freeze end end end diff --git a/test/capybara/screenshot/diff/image_compare_test.rb b/test/capybara/screenshot/diff/image_compare_test.rb index 7e075011..6e3e8687 100644 --- a/test/capybara/screenshot/diff/image_compare_test.rb +++ b/test/capybara/screenshot/diff/image_compare_test.rb @@ -85,6 +85,12 @@ class ImageCompareTest < ActionDispatch::IntegrationTest assert_equal 1, comp.max_color_distance end end + + test 'size a vs a_cropped' do + comp = make_comparison(:a, :a_cropped) + comp.different? + assert_equal 6400, comp.size + end end end end diff --git a/test/images/a_cropped.png b/test/images/a_cropped.png new file mode 100644 index 0000000000000000000000000000000000000000..9277010e8867c3729534bd1e98c6837a5bae6cfb GIT binary patch literal 11076 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%0A%aDq9^c^ z^eHHuX4M0N`-h)d6h={uR?@Udt>h+psDH#yjMbTutzmS^WF04e=ucFEqYA>+bZ5-h z@-OPQH$h|V-lC)56kW{*@n1e={W0785y>IiKg^fp@@^dxsRPpaL=uBVdC$*{fB%hudYy@i{8# zBR!I7yo@zCs~ewHGG6n|+oj%-$5cgfk<-lMs%=!bOw`m&R}vzm1P@=%)$5KE(U~R4 z6(&z;YPUt&$Szh_lsvCR4!7QdH8MVW5c-E*vep~K6kqf>)F%YF7&LO`FM3LLZ`Ttz z0hp13T)tbufW+}~Qvw>u7jO7P(j@>Zmo{RMmC8-QeJ48Hcfe z87aoXUlfGw+=@JX7T9znvqX1jo;jlwuUO)-*w~sYn|&F7B}G189~5C|)A3KkH}D#7 zF_;(BOx{xIUphv6=0}DNW6Z0QXlWZt-kmf>2$pcA4s7^&(_SJbqVqHIU=_z%KDb%G zV-Xwn1n4`_Z~u62nN$71A{4fsd=-?j2Ecm20qah~2=m=fLoG8YHss;OeRa#D>bLJk zBy%%0A45sq!_(=`ZAbHNv}b!9X^+<)lBXNC0%vH29Oqx zaAoE(8gV`A)jdW!1o0SP-Sb>+qKvC4Q+YKPsrgIVQSC6cM{F*oG+IN@h=j93U==Az^q zlagOU&zjN|7vtaLbk{(hZCStelr-!8_CtYh$4;v(pVMrs0E5^7@Df=tEmO9)47569 z!#w+`%O}MAjGj1w>6;fFM8kFjxCnG&;{AotUMLbdDa;dLEcp|n3}n*DtIJqN`#|46 z9%XX-X^{=qWX#;=j5Ynz!f1&=`pbL}`GN{BEe6gx?l>(UljSlP#Hp1!7YXtX2b`W^aC8r;Z9NE?WGb}#eV(f z6G;F(K#6nIv2IG`nxz~wRT`eY{YQk84H^Am#)J z^p9($cYoTQ_#~ilZuRCY*Imcr5%VuEbCS`P@~uZ|Bx!OX*M~fww`RMfxSa5m_>WvP z_k*cY=tw1V?TCbDWKi&CNloLZP&yA#ign^FXq7bXL$`y@?+Q2Z4i)eP?yoZ9X|>qA zn#|mq)_yg7?CR(e9`!b__J$+LA_2Q<8R)JS^oocFM6m)PwJ>{~9_+-i+kUo2?m3%2 zW_`kur-}*H=v!fwh`%K7W(5~(-3ZE(i4!I=(i~IHl8IQ`ac;tym5!|H%>RbD9ksPs0?&1r(4DRi=&biPdBZD_$;tR%)2 z(Dui%aT66DrAI*;bGn4#t?Q-72p@~8k6QMk==GcBT@T;q2WjJv+B#+}M7J^i^dTiN z-Q8Z3E^v2s@=HxCUqNf~UoE9|H ztSlyq(Bp=Jpm5qf%qXS~3Ot!)0G)j+ih9U8w`E~MF=GyM$7kS|0z@JwvHf3Bj~t)W zIOdvPcITjs675~xFK0WgQl5~0;6fYZxX9fn_qHEjYsfnIjD=Vi;7h;R-R*+0Dy4oZ71R36v|*ktjB1FZOZq94 z`Ba~ta4Cb*j#3ed6i9MD5G2cXdd4bYQ^8S?G+mrlI>bfAclGzsrN9}tCuIi}{Tl3* z@bLxf{j|#>P|PBv0_cfdGQG)(20yREJUk1sQCCp6(Q}kzj52xgYF+yk+G$5^njb(B zM9H)z2~(j8Kq3lN(L46Y*&X}sh=Wyo5&$9rVJXHcicxEX0Aa9X&L6M^K>x0uRtVAn z5nNuhHrCB($YH~zw^y^cYQxt2V2 zpH><lW1Ys&>}d{U26ErFk?n2ynoq6 z`o8e%GPlj;`NhbDFkO#boFLp9K10`H8zPjk@&ML##lctH**SEuMk86qvF%=NRgtxAna z|IN^Q`OZ!u5u>#%TWW>}P82A~Q(BFD`dlw|YX|T*((1 z(6zq%H7HBs&cSJ~kVxH~8)9j}{Hq=9C4)N(V}h0sOz}A4$oI{tle#rcFgM#qRaDRZ zLK8g*cJ_6%2BtiKtioihJ@TFA(OeP1frv;W!EPtR8b$d0z-yOskNEkE85B8OSlC%C z0KR4`w9R6T5EWD3;4bk3uT>L2@b2`ph=!(G-Mkpdcr|awx@b-V&1O{dFUnCjO>kkx z8O7v@W%kyZDrw2Zph^H z0EiJ0uYjn)^YArJiQF&V(2Dzlv}t}(@ZRZmi16r<*(aT?pRP_Y;ZF_(-Ye&Nycu(p z&Y)J-S^|Q}&SrWm-#CZAZ#I^d_Ekw?^#~0$Hb6yry8O;=Z98!&*y!1`7Oh|Tw<&TaIkDH>K6d-5Y1tqvvDLLOOm?CdK%Cg}Q}&_H*?ii5`$ z$Dxw*doO6-e=RvRn?=^&Q@Y5-Far!kkk$N^$ zRq!^}dg=l{0`(3<6qAs$p0_As%MTG z(NEEa5Jyr*tf3hrs99S)oDScV+Iq96ahMO2z`J`oz-q}>@24w7hjr`bBV>#i4kYVlAWz8}MXEF#63n0~Z#EWby=P$hT&{rB~1 zVzh#>i Date: Thu, 29 Mar 2018 07:57:30 -0600 Subject: [PATCH 005/312] Support alternate save path for screenshots. README previously suggested setting Capybara::Screenshot.save_path, but Diff was actually hardcoded to use `doc/screenshot`. However, Capybara::Screenshot doesn't have a `save_path` config option anyway, and instead in it's README suggests setting `Capybara.save_path`. It seems completely reasonable though, that users of Capybara::Screenshot::Diff would want screenshots saved to someplace other than a tmp folder Capybara uses for `save_and_open_page`, and visa-versa, so, this commit introduces the option, with the default being the previously hardcoded path to maintain backwards compatability. --- README.md | 21 +++++++++++++++++++-- lib/capybara/screenshot/diff.rb | 3 ++- test/capybara/screenshot/diff_test.rb | 11 +++++++++++ 3 files changed, 32 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index b80d632e..642c4e47 100644 --- a/README.md +++ b/README.md @@ -261,10 +261,27 @@ Capybara::Screenshot::Diff.enabled = ENV['COMPARE_SCREENSHOTS'] ### Screen shot save path -If you would like the screen shots to be saved in a different location set +By default, `Capybara::Screenshot::Diff` saves screenshots to a +`doc/screenshots` folder, relative to either `Rails.root` (if you're in Rails), + or your current directory otherwise. + +If you want to change where screenshots are saved to, then there are two +configuration options that that are relevant. + +The most likely one you'll want to modify is ... + +```ruby +Capybara::Screenshot::Diff.save_path = "other/path" +``` + +The `save_path` option is relative to `Capybara::Screenshot.root`. + +`Capybara::Screenshot.root` defaults to either `Rails.root` (if you're in +Rails) or your current directory. You can change it to something entirely +different if necessary, such as when using an alternative web framework. ```ruby -Capybara::Screenshot.save_path = "#{Rails.root}/doc/gui" +Capybara::Screenshot.root = Hanami.root ``` ### Screen shot stability diff --git a/lib/capybara/screenshot/diff.rb b/lib/capybara/screenshot/diff.rb index 247aaf2f..a94fe13d 100644 --- a/lib/capybara/screenshot/diff.rb +++ b/lib/capybara/screenshot/diff.rb @@ -13,6 +13,7 @@ module Screenshot mattr_accessor(:root) { (defined?(Rails.root) && Rails.root) || File.expand_path('.') } mattr_accessor :stability_time_limit mattr_accessor :window_size + mattr_accessor(:save_path) { 'doc/screenshots' } class << self def active? @@ -20,7 +21,7 @@ def active? end def screenshot_area - parts = ['doc/screenshots'] + parts = [Capybara::Screenshot.save_path] parts << Capybara.current_driver.to_s if Capybara::Screenshot.add_driver_path parts << os_name if Capybara::Screenshot.add_os_path File.join parts diff --git a/test/capybara/screenshot/diff_test.rb b/test/capybara/screenshot/diff_test.rb index e1f365b3..541258d0 100644 --- a/test/capybara/screenshot/diff_test.rb +++ b/test/capybara/screenshot/diff_test.rb @@ -43,6 +43,17 @@ def test_screenshot_section_is_prepended screenshot 'a' end + def test_screenshot_with_alternate_save_path + default_path = Capybara::Screenshot.save_path + Capybara::Screenshot.save_path = 'foo/bar' + screenshot_section 'a' + screenshot_group 'b' + screenshot 'a' + assert_match %r{foo/bar/rack_test/(macos|linux)/a/b}, screenshot_dir + ensure + Capybara::Screenshot.save_path = default_path + end + def test_screenshot_with_stability_time_limit Capybara::Screenshot.stability_time_limit = 0.001 screenshot 'a' From b6499de6f26ee557edb694b2e92c9f2504ed1537 Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Sat, 31 Mar 2018 22:26:12 +0200 Subject: [PATCH 006/312] Create CODE_OF_CONDUCT.md --- CODE_OF_CONDUCT.md | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 CODE_OF_CONDUCT.md diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 00000000..fc5e8e36 --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,46 @@ +# Contributor Covenant Code of Conduct + +## Our Pledge + +In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation. + +## Our Standards + +Examples of behavior that contributes to creating a positive environment include: + +* Using welcoming and inclusive language +* Being respectful of differing viewpoints and experiences +* Gracefully accepting constructive criticism +* Focusing on what is best for the community +* Showing empathy towards other community members + +Examples of unacceptable behavior by participants include: + +* The use of sexualized language or imagery and unwelcome sexual attention or advances +* Trolling, insulting/derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or electronic address, without explicit permission +* Other conduct which could reasonably be considered inappropriate in a professional setting + +## Our Responsibilities + +Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior. + +Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. + +## Scope + +This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at uwe@kubosch.no. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. + +Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version] + +[homepage]: http://contributor-covenant.org +[version]: http://contributor-covenant.org/version/1/4/ From 3e44429de4dcca96d8c68e519af8114971f60edd Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Sat, 31 Mar 2018 22:40:01 +0200 Subject: [PATCH 007/312] Add warning when reducing retina screenshot --- .rubocop_todo.yml | 19 ++++++++++++------- lib/capybara/screenshot/diff/stabilization.rb | 5 +++++ 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index 6869a804..717a9419 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -1,29 +1,34 @@ # This configuration was generated by # `rubocop --auto-gen-config` -# on 2017-07-24 15:55:18 +0200 using RuboCop version 0.49.1. +# on 2018-03-31 22:38:44 +0200 using RuboCop version 0.49.1. # The point is for the user to remove these configuration records # one by one as the offenses are removed from the code base. # Note that changes in the inspected code, or installation of new # versions of RuboCop, may require this file to be generated again. -# Offense count: 7 +# Offense count: 8 Metrics/AbcSize: - Max: 38 + Max: 35 # Offense count: 1 # Configuration parameters: CountComments. Metrics/ClassLength: Max: 186 -# Offense count: 3 +# Offense count: 4 Metrics/CyclomaticComplexity: Max: 10 -# Offense count: 9 +# Offense count: 12 # Configuration parameters: CountComments. Metrics/MethodLength: - Max: 32 + Max: 31 -# Offense count: 2 +# Offense count: 1 +# Configuration parameters: CountComments. +Metrics/ModuleLength: + Max: 101 + +# Offense count: 4 Metrics/PerceivedComplexity: Max: 10 diff --git a/lib/capybara/screenshot/diff/stabilization.rb b/lib/capybara/screenshot/diff/stabilization.rb index 3d19759d..0393afd8 100644 --- a/lib/capybara/screenshot/diff/stabilization.rb +++ b/lib/capybara/screenshot/diff/stabilization.rb @@ -64,6 +64,11 @@ def take_stable_screenshot(comparison, color_distance_limit:, area_size_limit:) saved_image = ChunkyPNG::Image.from_file(file_name) width = Capybara::Screenshot.window_size[0] return if saved_image.width < width * 2 + unless @_csd_retina_warned + warn 'Halving retina screenshot. ' \ + 'You should add "force-device-scale-factor=1" to your Chrome chromeOptions args.' + @_csd_retina_warned = true + end height = (width * saved_image.height) / saved_image.width resized_image = saved_image.resample_bilinear(width, height) resized_image.save(file_name) From c5e443198793818673a1bd7b54600d76b21ccdf5 Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Sat, 31 Mar 2018 23:24:26 +0200 Subject: [PATCH 008/312] Project refresh with rubocop + MRI 2.5.1 --- .rubocop.yml | 9 ++++++++- .travis.yml | 9 +++++---- capybara-screenshot-diff.gemspec | 4 +--- lib/capybara/screenshot/diff/image_compare.rb | 2 +- lib/capybara/screenshot/diff/test_methods.rb | 1 - test/test_helper.rb | 5 +++-- 6 files changed, 18 insertions(+), 12 deletions(-) diff --git a/.rubocop.yml b/.rubocop.yml index 6670069c..a7a4dd15 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -21,8 +21,15 @@ Layout/MultilineOperationIndentation: Lint/Debugger: Enabled: false +# Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, IgnoredPatterns. +# URISchemes: http, https Metrics/LineLength: - Max: 110 + Max: 107 + IgnoreCopDirectives: true + +Security/Eval: + Exclude: + - gemfiles/*.gemfile Style/Documentation: Enabled: false diff --git a/.travis.yml b/.travis.yml index 2e7b86a3..98e4d7ac 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,10 +1,11 @@ language: ruby sudo: false rvm: - - ruby-2.4.1 - - jruby-9.1.12.0 - - ruby-2.3.4 - - ruby-2.2.7 + - ruby-2.5.1 + - ruby-2.4.4 + - jruby-9.1.16.0 + - ruby-2.3.7 + - ruby-2.2.10 gemfile: - gemfiles/rails51.gemfile diff --git a/capybara-screenshot-diff.gemspec b/capybara-screenshot-diff.gemspec index f6950738..25eea64a 100644 --- a/capybara-screenshot-diff.gemspec +++ b/capybara-screenshot-diff.gemspec @@ -1,6 +1,4 @@ -# coding: utf-8 - -lib = File.expand_path('../lib', __FILE__) +lib = File.expand_path('lib', __dir__) $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib) require 'capybara/screenshot/diff/version' diff --git a/lib/capybara/screenshot/diff/image_compare.rb b/lib/capybara/screenshot/diff/image_compare.rb index 7a32df4f..63e1a7a1 100644 --- a/lib/capybara/screenshot/diff/image_compare.rb +++ b/lib/capybara/screenshot/diff/image_compare.rb @@ -110,7 +110,7 @@ def old_file_exists? end def old_file_size - @_old_filesize ||= old_file_exists? && File.size(@old_file_name) + @old_file_size ||= old_file_exists? && File.size(@old_file_name) end def new_file_size diff --git a/lib/capybara/screenshot/diff/test_methods.rb b/lib/capybara/screenshot/diff/test_methods.rb index 16531f16..6d5566d5 100644 --- a/lib/capybara/screenshot/diff/test_methods.rb +++ b/lib/capybara/screenshot/diff/test_methods.rb @@ -117,4 +117,3 @@ def assert_image_not_changed(caller, name, comparison) end end end -# rubocop:enable Metrics/ClassLength diff --git a/test/test_helper.rb b/test/test_helper.rb index 5f25a3c5..af1d12d6 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -4,7 +4,7 @@ SimpleCov.minimum_coverage RUBY_ENGINE == 'jruby' ? 82.5 : 83.5 end -$LOAD_PATH.unshift File.expand_path('../../lib', __FILE__) +$LOAD_PATH.unshift File.expand_path('../lib', __dir__) TEST_IMAGES_DIR = File.expand_path('images', __dir__) @@ -36,7 +36,8 @@ def save_screenshot(file_name) end def make_comparison(old_img, new_img, color_distance_limit: nil) - comp = ImageCompare.new("#{Rails.root}/screenshot.png", color_distance_limit: color_distance_limit) + comp = ImageCompare + .new("#{Rails.root}/screenshot.png", color_distance_limit: color_distance_limit) set_test_images(comp, old_img, new_img) comp end From 013323a7d016dd3038f1974482b6ea228aa74f82 Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Sat, 31 Mar 2018 23:34:59 +0200 Subject: [PATCH 009/312] Disable rubocop for good x,y variables --- lib/capybara/screenshot/diff/image_compare.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/capybara/screenshot/diff/image_compare.rb b/lib/capybara/screenshot/diff/image_compare.rb index 63e1a7a1..f91e3690 100644 --- a/lib/capybara/screenshot/diff/image_compare.rb +++ b/lib/capybara/screenshot/diff/image_compare.rb @@ -237,7 +237,7 @@ def sizes_changed?(org_image, new_image) bottom end - private def same_color?(old_img, new_img, x, y) + private def same_color?(old_img, new_img, x, y) # rubocop: disable Naming/UncommunicativeMethodParamName org_color = old_img[x, y] new_color = new_img[x, y] return true if org_color == new_color From e1ca3a111605be5ac05421c1e51bebc6b27f442c Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Sat, 31 Mar 2018 23:37:35 +0200 Subject: [PATCH 010/312] Allow x,y parameter names --- .rubocop.yml | 8 ++++++++ lib/capybara/screenshot/diff/image_compare.rb | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/.rubocop.yml b/.rubocop.yml index a7a4dd15..ed38f04b 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -27,6 +27,14 @@ Metrics/LineLength: Max: 107 IgnoreCopDirectives: true +# Offense count: 2 +# Configuration parameters: MinNameLength, AllowNamesEndingInNumbers, AllowedNames, ForbiddenNames. +# AllowedNames: io, id, to +Naming/UncommunicativeMethodParamName: + AllowedNames: + - x + - y + Security/Eval: Exclude: - gemfiles/*.gemfile diff --git a/lib/capybara/screenshot/diff/image_compare.rb b/lib/capybara/screenshot/diff/image_compare.rb index f91e3690..63e1a7a1 100644 --- a/lib/capybara/screenshot/diff/image_compare.rb +++ b/lib/capybara/screenshot/diff/image_compare.rb @@ -237,7 +237,7 @@ def sizes_changed?(org_image, new_image) bottom end - private def same_color?(old_img, new_img, x, y) # rubocop: disable Naming/UncommunicativeMethodParamName + private def same_color?(old_img, new_img, x, y) org_color = old_img[x, y] new_color = new_img[x, y] return true if org_color == new_color From 28bd97eec3e21e1c43f4afecfcf1972c20bb26f9 Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Sat, 31 Mar 2018 23:40:34 +0200 Subject: [PATCH 011/312] Speed up travis builds by caching the bundle --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index 98e4d7ac..31c17ecf 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,5 +1,6 @@ language: ruby sudo: false +cache: bundler rvm: - ruby-2.5.1 - ruby-2.4.4 From bdaec5f03d18b5ce000f5afd8b1f4fd980426aea Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Sat, 31 Mar 2018 23:41:45 +0200 Subject: [PATCH 012/312] Test JRuby earlier --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 31c17ecf..1bd900c2 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,8 +3,8 @@ sudo: false cache: bundler rvm: - ruby-2.5.1 - - ruby-2.4.4 - jruby-9.1.16.0 + - ruby-2.4.4 - ruby-2.3.7 - ruby-2.2.10 From c846b3da8fc38ad14e685f4179a906b73739faa7 Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Sat, 31 Mar 2018 23:42:15 +0200 Subject: [PATCH 013/312] Start JRuby testing first since it takes the longest --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 1bd900c2..0f805209 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,8 +2,8 @@ language: ruby sudo: false cache: bundler rvm: - - ruby-2.5.1 - jruby-9.1.16.0 + - ruby-2.5.1 - ruby-2.4.4 - ruby-2.3.7 - ruby-2.2.10 From 9b9d38e7fab25c2e1b63e974cffb5f6006c4b71d Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Sat, 31 Mar 2018 23:48:21 +0200 Subject: [PATCH 014/312] Ignore cached gems in travis-ci --- .rubocop.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.rubocop.yml b/.rubocop.yml index ed38f04b..79a5ee40 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -4,6 +4,8 @@ AllCops: TargetRubyVersion: 2.2 DisplayCopNames: true DisplayStyleGuide: true + Exclude: + - gemfiles/vendor Layout/AlignParameters: EnforcedStyle: with_fixed_indentation From 34e3c4d234dcb19dbf8acd08cf5f93057e4dcf8d Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Sun, 1 Apr 2018 00:10:00 +0200 Subject: [PATCH 015/312] Ignore cached gems in travis-ci --- .rubocop.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.rubocop.yml b/.rubocop.yml index 79a5ee40..9275e84d 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -5,7 +5,7 @@ AllCops: DisplayCopNames: true DisplayStyleGuide: true Exclude: - - gemfiles/vendor + - gemfiles/vendor/**/* Layout/AlignParameters: EnforcedStyle: with_fixed_indentation From 731df59f5c26d329195dd5c410ad65a29ff1d21f Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Sun, 1 Apr 2018 00:30:56 +0200 Subject: [PATCH 016/312] Workaround for https://github.com/travis-ci/travis-ci/issues/9383 --- .travis.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.travis.yml b/.travis.yml index 0f805209..66214856 100644 --- a/.travis.yml +++ b/.travis.yml @@ -18,3 +18,8 @@ env: jdk: - oraclejdk8 + +# FIXME(uwe): Remove when fixed: https://github.com/travis-ci/travis-ci/issues/9383 +before_install: + - gem install bundler +# EMXIF From b883e6e93ef4f7f15b3c1eae3b371911af74fc87 Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Sun, 1 Apr 2018 00:33:03 +0200 Subject: [PATCH 017/312] Workaround for https://github.com/travis-ci/travis-ci/issues/9383 --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 66214856..0bdb244e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -21,5 +21,5 @@ jdk: # FIXME(uwe): Remove when fixed: https://github.com/travis-ci/travis-ci/issues/9383 before_install: - - gem install bundler + - gem pristine bundler # EMXIF From 2609377ab4670f7c60d7f22357c71ab58f616175 Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Sun, 1 Apr 2018 00:41:28 +0200 Subject: [PATCH 018/312] Workaround for https://github.com/travis-ci/travis-ci/issues/9383 --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 0bdb244e..66214856 100644 --- a/.travis.yml +++ b/.travis.yml @@ -21,5 +21,5 @@ jdk: # FIXME(uwe): Remove when fixed: https://github.com/travis-ci/travis-ci/issues/9383 before_install: - - gem pristine bundler + - gem install bundler # EMXIF From 4d953639fed571d4d2a104bcb9e14f49da76c936 Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Sun, 1 Apr 2018 01:05:56 +0200 Subject: [PATCH 019/312] Create CONTRIBUTING.md --- CONTRIBUTING.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 CONTRIBUTING.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 00000000..7444bdd3 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,18 @@ +## Contributing + +Bug reports and pull requests are welcome on GitHub at https://github.com/donv/capybara-screenshot-diff. +This project is intended to be a safe, welcoming space for collaboration, and contributors are expected +to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct. + +### Testing + +Run the tests before committing using Rake + + rake + +#### Matrix testing + +Run the tests for a matrix of configurations of Ruby implementations and Rails versions + + ./matrix_text.rb + From 8a9e4498398223b06c751d8bf9f7d3c80e82d010 Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Sun, 1 Apr 2018 01:09:11 +0200 Subject: [PATCH 020/312] Silence vulnerability warning in GitHub --- capybara-screenshot-diff.gemspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/capybara-screenshot-diff.gemspec b/capybara-screenshot-diff.gemspec index 25eea64a..20e0849b 100644 --- a/capybara-screenshot-diff.gemspec +++ b/capybara-screenshot-diff.gemspec @@ -26,6 +26,6 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'minitest', '~> 5.0' spec.add_development_dependency 'minitest-reporters' spec.add_development_dependency 'rake' - spec.add_development_dependency 'rubocop', '~> 0.39' + spec.add_development_dependency 'rubocop', '~> 0.54' spec.add_development_dependency 'simplecov', '~> 0.11' end From dd6ef79d3dbc1fe69fe8f6411728384690ba329e Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Sun, 1 Apr 2018 01:28:21 +0200 Subject: [PATCH 021/312] Renamed `screenshot_root` to `root` since the context is given by the surrounding module (Capybara::Screenshot) --- lib/capybara/screenshot/diff.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/capybara/screenshot/diff.rb b/lib/capybara/screenshot/diff.rb index 2bd6f58c..247aaf2f 100644 --- a/lib/capybara/screenshot/diff.rb +++ b/lib/capybara/screenshot/diff.rb @@ -10,7 +10,7 @@ module Screenshot mattr_accessor :add_os_path mattr_accessor :blur_active_element mattr_accessor :enabled - mattr_accessor(:screenshot_root) { (defined?(Rails.root) && Rails.root) || File.expand_path('.') } + mattr_accessor(:root) { (defined?(Rails.root) && Rails.root) || File.expand_path('.') } mattr_accessor :stability_time_limit mattr_accessor :window_size @@ -27,7 +27,7 @@ def screenshot_area end def screenshot_area_abs - "#{screenshot_root}/#{screenshot_area}".freeze + "#{root}/#{screenshot_area}".freeze end end From 68eb6c807436d3a7b092d63b9bfa5a140c873597 Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Wed, 4 Apr 2018 10:59:11 +0200 Subject: [PATCH 022/312] Update CONTRIBUTING.md --- CONTRIBUTING.md | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 7444bdd3..1eb58e11 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,18 +1,22 @@ -## Contributing +Contributing +============ Bug reports and pull requests are welcome on GitHub at https://github.com/donv/capybara-screenshot-diff. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct. -### Testing +## Testing Run the tests before committing using Rake rake -#### Matrix testing +### Matrix testing Run the tests for a matrix of configurations of Ruby implementations and Rails versions ./matrix_text.rb +## Merging to master + +Before merging to master, please have a member of the project review your changes, and make sure the tests are green in travis-ci. From ee0e4f18b50db7495e5c7664fc7ff4f6eeaa8265 Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Tue, 7 Aug 2018 00:56:35 +0200 Subject: [PATCH 023/312] Added a "shift distance" option for ignoring small shifts in the image --- .rubocop.yml | 6 + .rubocop_todo.yml | 39 +++-- capybara-screenshot-diff.gemspec | 2 +- lib/capybara/screenshot/diff.rb | 1 + lib/capybara/screenshot/diff/image_compare.rb | 138 +++++++++++++++--- lib/capybara/screenshot/diff/os.rb | 6 +- lib/capybara/screenshot/diff/stabilization.rb | 20 +-- lib/capybara/screenshot/diff/test_methods.rb | 6 +- lib/capybara/screenshot/diff/version.rb | 2 +- .../screenshot/diff/image_compare_test.rb | 14 +- .../screenshot/diff/test_methods_test.rb | 2 +- test/test_helper.rb | 5 +- 12 files changed, 189 insertions(+), 52 deletions(-) diff --git a/.rubocop.yml b/.rubocop.yml index 9275e84d..8ed710d4 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -41,9 +41,15 @@ Security/Eval: Exclude: - gemfiles/*.gemfile +#Style/AccessModifierDeclarations: +# Enabled: false + Style/Documentation: Enabled: false +Style/DoubleNegation: + Enabled: false + Style/NumericPredicate: Enabled: false diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index 717a9419..adf8e446 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -1,34 +1,51 @@ # This configuration was generated by # `rubocop --auto-gen-config` -# on 2018-03-31 22:38:44 +0200 using RuboCop version 0.49.1. +# on 2018-06-26 14:23:03 +0200 using RuboCop version 0.57.2. # The point is for the user to remove these configuration records # one by one as the offenses are removed from the code base. # Note that changes in the inspected code, or installation of new # versions of RuboCop, may require this file to be generated again. -# Offense count: 8 +# Offense count: 12 Metrics/AbcSize: - Max: 35 + Max: 52 + +# Offense count: 1 +# Configuration parameters: CountComments, ExcludedMethods. +Metrics/BlockLength: + Max: 33 # Offense count: 1 # Configuration parameters: CountComments. Metrics/ClassLength: - Max: 186 + Max: 273 -# Offense count: 4 +# Offense count: 6 Metrics/CyclomaticComplexity: - Max: 10 + Max: 12 -# Offense count: 12 +# Offense count: 16 # Configuration parameters: CountComments. Metrics/MethodLength: - Max: 31 + Max: 38 # Offense count: 1 # Configuration parameters: CountComments. Metrics/ModuleLength: - Max: 101 + Max: 103 -# Offense count: 4 +# Offense count: 1 +# Configuration parameters: CountKeywordArgs. +Metrics/ParameterLists: + Max: 6 + +# Offense count: 6 Metrics/PerceivedComplexity: - Max: 10 + Max: 12 + +# Offense count: 2 +# Configuration parameters: MinNameLength, AllowNamesEndingInNumbers, AllowedNames, ForbiddenNames. +# AllowedNames: io, id, to, by, on, in, at +Naming/UncommunicativeMethodParamName: + Exclude: + - 'lib/capybara/screenshot/diff/image_compare.rb' diff --git a/capybara-screenshot-diff.gemspec b/capybara-screenshot-diff.gemspec index 20e0849b..24d0bac2 100644 --- a/capybara-screenshot-diff.gemspec +++ b/capybara-screenshot-diff.gemspec @@ -18,7 +18,7 @@ Gem::Specification.new do |spec| spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) } spec.require_paths = ['lib'] - spec.add_runtime_dependency 'actionpack', '>= 4.2', '<5.2' + spec.add_runtime_dependency 'actionpack', '>= 4.2', '<5.3' spec.add_runtime_dependency 'capybara', '~> 2.0' spec.add_runtime_dependency 'chunky_png', '~> 1.3' diff --git a/lib/capybara/screenshot/diff.rb b/lib/capybara/screenshot/diff.rb index a94fe13d..91e2fd6f 100644 --- a/lib/capybara/screenshot/diff.rb +++ b/lib/capybara/screenshot/diff.rb @@ -40,6 +40,7 @@ module Diff mattr_accessor :area_size_limit mattr_accessor :color_distance_limit mattr_accessor(:enabled) { true } + mattr_accessor :shift_distance_limit def self.included(clas) clas.include TestMethods diff --git a/lib/capybara/screenshot/diff/image_compare.rb b/lib/capybara/screenshot/diff/image_compare.rb index 63e1a7a1..333b55aa 100644 --- a/lib/capybara/screenshot/diff/image_compare.rb +++ b/lib/capybara/screenshot/diff/image_compare.rb @@ -12,10 +12,11 @@ class ImageCompare :old_file_name def initialize(new_file_name, old_file_name = nil, dimensions: nil, color_distance_limit: nil, - area_size_limit: nil) + area_size_limit: nil, shift_distance_limit: nil) @new_file_name = new_file_name @color_distance_limit = color_distance_limit @area_size_limit = area_size_limit + @shift_distance_limit = shift_distance_limit @dimensions = dimensions @old_file_name = old_file_name || "#{new_file_name}~" @annotated_old_file_name = "#{new_file_name.chomp('.png')}_0.png~" @@ -27,6 +28,7 @@ def initialize(new_file_name, old_file_name = nil, dimensions: nil, color_distan # Data about the original image is kept. def reset @max_color_distance = @color_distance_limit ? 0 : nil + @max_shift_distance = @shift_distance_limit ? 0 : nil @left = @top = @right = @bottom = nil end @@ -100,11 +102,6 @@ def different? true end - private def not_different - clean_tmp_files - false - end - def old_file_exists? @old_file_name && File.exist?(@old_file_name) end @@ -126,9 +123,20 @@ def size end def max_color_distance - return @max_color_distance if @max_color_distance + calculate_metrics unless @max_color_distance + @max_color_distance + end + + def max_shift_distance + calculate_metrics unless @max_shift_distance + @max_shift_distance + end + + private + + def calculate_metrics old_file, new_file = load_image_files(@old_file_name, @new_file_name) - return @max_color_distance = 0 if old_file == new_file + @max_color_distance = 0 if old_file == new_file old_image, new_image = load_images(old_file, new_file) @@ -137,9 +145,17 @@ def max_color_distance d = ChunkyPNG::Color.euclidean_distance_rgba(p1, p2) [max, d].max end + + (0...new_image.width).each do |_x| + (0...new_image.height).each do |y| + end + end end - private + def not_different + clean_tmp_files + false + end def save_images(new_file_name, new_img, org_file_name, org_img) org_img.save(org_file_name) @@ -170,7 +186,7 @@ def sizes_changed?(org_image, new_image) true end - private def crop_images(images, dimensions) + def crop_images(images, dimensions) images.map! do |i| if i.dimension.to_a == dimensions || i.width < dimensions[0] || i.height < dimensions[1] i @@ -180,7 +196,7 @@ def sizes_changed?(org_image, new_image) end end - private def draw_rectangles(images, bottom, left, right, top) + def draw_rectangles(images, bottom, left, right, top) images.map do |image| new_img = image.dup new_img.rect(left - 1, top - 1, right + 1, bottom + 1, ChunkyPNG::Color.rgb(255, 0, 0)) @@ -188,13 +204,13 @@ def sizes_changed?(org_image, new_image) end end - private def find_diff_rectangle(org_img, new_img) + def find_diff_rectangle(org_img, new_img) left, top, right, bottom = find_left_right_and_top(org_img, new_img) bottom = find_bottom(org_img, new_img, left, right, bottom) [left, top, right, bottom] end - private def find_top(old_img, new_img) + def find_top(old_img, new_img) old_img.height.times do |y| old_img.width.times do |x| return [x, y, x, y] unless same_color?(old_img, new_img, x, y) @@ -202,7 +218,7 @@ def sizes_changed?(org_image, new_image) end end - private def find_left_right_and_top(old_img, new_img) + def find_left_right_and_top(old_img, new_img) top = @top bottom = @bottom left = @left || old_img.width - 1 @@ -226,7 +242,7 @@ def sizes_changed?(org_image, new_image) [left, top, right, bottom] end - private def find_bottom(old_img, new_img, left, right, bottom) + def find_bottom(old_img, new_img, left, right, bottom) if bottom (old_img.height - 1).step(bottom + 1, -1).find do |y| (left..right).find do |x| @@ -237,15 +253,95 @@ def sizes_changed?(org_image, new_image) bottom end - private def same_color?(old_img, new_img, x, y) + def same_color?(old_img, new_img, x, y) + color_distance = + color_distance_at(new_img, old_img, x, y, shift_distance_limit: @shift_distance_limit) + shift_distance = + shift_distance_at(new_img, old_img, x, y, color_distance_limit: @color_distance_limit) + if !@max_color_distance || color_distance > @max_color_distance + @max_color_distance = color_distance + end + if !@max_shift_distance || shift_distance > @max_shift_distance + @max_shift_distance = shift_distance + end + (color_distance == 0 || (@color_distance_limit && @color_distance_limit > 0 && + color_distance <= @color_distance_limit)) && + (shift_distance == 0 || (@shift_distance_limit && @shift_distance_limit > 0 && + shift_distance <= @shift_distance_limit)) + end + + def color_distance_at(new_img, old_img, x, y, shift_distance_limit:) org_color = old_img[x, y] - new_color = new_img[x, y] - return true if org_color == new_color + if shift_distance_limit + start_x = [0, x - shift_distance_limit].max + end_x = [x + shift_distance_limit, new_img.width - 1].min + xs = (start_x..end_x).to_a + start_y = [0, y - shift_distance_limit].max + end_y = [y + shift_distance_limit, new_img.height - 1].min + ys = (start_y..end_y).to_a + new_pixels = xs.product(ys) + distances = new_pixels.map do |dx, dy| + new_color = new_img[dx, dy] + ChunkyPNG::Color.euclidean_distance_rgba(org_color, new_color) + end + distances.min + else + new_color = new_img[x, y] + ChunkyPNG::Color.euclidean_distance_rgba(org_color, new_color) + end + end - distance = ChunkyPNG::Color.euclidean_distance_rgba(org_color, new_color) - @max_color_distance = distance if !@max_color_distance || distance > @max_color_distance + def shift_distance_at(new_img, old_img, x, y, color_distance_limit:) + org_color = old_img[x, y] + shift_distance = 0 + loop do + if (y - shift_distance) >= 0 # top + ([0, x - shift_distance].max..[x + shift_distance, new_img.width - 1].min).each do |dx| + if color_matches(new_img, org_color, dx, y - shift_distance, color_distance_limit) + return shift_distance + end + end + end + if shift_distance > 0 + if (x - shift_distance) >= 0 # left + ([0, y - shift_distance + 1].max..[y + shift_distance, new_img.height - 2].min) + .each do |dy| + if color_matches(new_img, org_color, x - shift_distance, dy, color_distance_limit) + return shift_distance + end + end + end + if (y + shift_distance) < new_img.height # bottom + ([0, x - shift_distance].max..[x + shift_distance, new_img.width - 1].min).each do |dx| + if color_matches(new_img, org_color, dx, y + shift_distance, color_distance_limit) + return shift_distance + end + end + end + if (x + shift_distance) < new_img.width # right + ([0, y - shift_distance + 1].max..[y + shift_distance, new_img.height - 2].min) + .each do |dy| + if color_matches(new_img, org_color, x + shift_distance, dy, color_distance_limit) + return shift_distance + end + end + end + end + shift_distance += 1 + # puts "Bumped shift_distance to #{shift_distance}" + end + shift_distance + end - @color_distance_limit && @color_distance_limit > 0 && distance <= @color_distance_limit + def color_matches(new_img, org_color, dx, dy, color_distance_limit) + new_color = new_img[dx, dy] + return new_color == org_color unless color_distance_limit + color_distance = ChunkyPNG::Color.euclidean_distance_rgba(org_color, new_color) + # if color_distance > 0 + # puts "color_distance: #{dx} #{dy} #{color_distance} #{color_distance_limit} " \ + # "#{color_distance <= color_distance_limit}" + # end + color_distance <= color_distance_limit end end end diff --git a/lib/capybara/screenshot/diff/os.rb b/lib/capybara/screenshot/diff/os.rb index d5e9744f..b548fea3 100644 --- a/lib/capybara/screenshot/diff/os.rb +++ b/lib/capybara/screenshot/diff/os.rb @@ -1,9 +1,9 @@ module Capybara module Screenshot module Os - ON_WINDOWS = RbConfig::CONFIG['host_os'] =~ /mswin|mingw|cygwin/ - ON_MAC = RbConfig::CONFIG['host_os'] =~ /darwin/ - ON_LINUX = RbConfig::CONFIG['host_os'] =~ /linux/ + ON_WINDOWS = !!(RbConfig::CONFIG['host_os'] =~ /mswin|mingw|cygwin/) + ON_MAC = !!(RbConfig::CONFIG['host_os'] =~ /darwin/) + ON_LINUX = !!(RbConfig::CONFIG['host_os'] =~ /linux/) def os_name return 'windows' if ON_WINDOWS diff --git a/lib/capybara/screenshot/diff/stabilization.rb b/lib/capybara/screenshot/diff/stabilization.rb index 0393afd8..f24c3275 100644 --- a/lib/capybara/screenshot/diff/stabilization.rb +++ b/lib/capybara/screenshot/diff/stabilization.rb @@ -18,7 +18,8 @@ module Stabilization }() JS - def take_stable_screenshot(comparison, color_distance_limit:, area_size_limit:) + def take_stable_screenshot(comparison, color_distance_limit:, shift_distance_limit:, + area_size_limit:) input = prepare_page_for_screenshot previous_file_name = comparison.old_file_name screenshot_started_at = last_image_change_at = Time.now @@ -35,7 +36,8 @@ def take_stable_screenshot(comparison, color_distance_limit:, area_size_limit:) if previous_file_name stabilization_comparison = ImageCompare.new(comparison.new_file_name, previous_file_name, - color_distance_limit: color_distance_limit, area_size_limit: area_size_limit) + color_distance_limit: color_distance_limit, shift_distance_limit: shift_distance_limit, + area_size_limit: area_size_limit) if stabilization_comparison.quick_equal? if (Time.now - last_image_change_at) > Capybara::Screenshot.stability_time_limit clean_stabilization_images(comparison.new_file_name) @@ -59,7 +61,7 @@ def take_stable_screenshot(comparison, color_distance_limit:, area_size_limit:) private - private def reduce_retina_image_size(file_name) + def reduce_retina_image_size(file_name) return if !ON_MAC || !selenium? || !Capybara::Screenshot.window_size saved_image = ChunkyPNG::Image.from_file(file_name) width = Capybara::Screenshot.window_size[0] @@ -74,15 +76,15 @@ def take_stable_screenshot(comparison, color_distance_limit:, area_size_limit:) resized_image.save(file_name) end - private def stabilization_images(base_file) + def stabilization_images(base_file) Dir["#{base_file.chomp('.png')}_x*.png~"] end - private def clean_stabilization_images(base_file) + def clean_stabilization_images(base_file) FileUtils.rm stabilization_images(base_file) end - private def prepare_page_for_screenshot + def prepare_page_for_screenshot assert_images_loaded if Capybara::Screenshot.blur_active_element active_element = execute_script(<<-JS) @@ -98,7 +100,7 @@ def take_stable_screenshot(comparison, color_distance_limit:, area_size_limit:) input end - private def take_right_size_screenshot(comparison) + def take_right_size_screenshot(comparison) save_screenshot(comparison.new_file_name) # TODO(uwe): Remove when chromedriver takes right size screenshots @@ -106,13 +108,13 @@ def take_stable_screenshot(comparison, color_distance_limit:, area_size_limit:) # ODOT end - private def check_max_wait_time(comparison, screenshot_started_at) + def check_max_wait_time(comparison, screenshot_started_at) assert (Time.now - screenshot_started_at) < Capybara.default_max_wait_time, "Could not get stable screenshot within #{Capybara.default_max_wait_time}s\n" \ "#{stabilization_images(comparison.new_file_name).join("\n")}" end - private def assert_images_loaded(timeout: Capybara.default_max_wait_time) + def assert_images_loaded(timeout: Capybara.default_max_wait_time) return unless respond_to? :evaluate_script start = Time.now loop do diff --git a/lib/capybara/screenshot/diff/test_methods.rb b/lib/capybara/screenshot/diff/test_methods.rb index 6d5566d5..abcf7072 100644 --- a/lib/capybara/screenshot/diff/test_methods.rb +++ b/lib/capybara/screenshot/diff/test_methods.rb @@ -64,7 +64,7 @@ def screenshot_group(name) end def screenshot(name, color_distance_limit: Diff.color_distance_limit, - area_size_limit: Diff.area_size_limit) + shift_distance_limit: Diff.shift_distance_limit, area_size_limit: Diff.area_size_limit) return unless Screenshot.active? return if window_size_is_wrong? if @screenshot_counter @@ -80,6 +80,7 @@ def screenshot(name, color_distance_limit: Diff.color_distance_limit, area_size_limit: area_size_limit) checkout_vcs(name, comparison) take_stable_screenshot(comparison, color_distance_limit: color_distance_limit, + shift_distance_limit: shift_distance_limit, area_size_limit: area_size_limit) return unless comparison.old_file_exists? (@test_screenshots ||= []) << [caller(1..1).first, name, comparison] @@ -108,7 +109,8 @@ def assert_image_not_changed(caller, name, comparison) # ODOT "Screenshot does not match for '#{name}' (area: #{comparison.size}px #{comparison.dimensions}" \ - ", max_color_distance: #{max_color_distance})\n" \ + ", max_color_distance: #{max_color_distance}" \ + ", max_shift_distance: #{comparison.max_shift_distance})\n" \ "#{comparison.new_file_name}\n#{comparison.annotated_old_file_name}\n" \ "#{comparison.annotated_new_file_name}\n" \ "at #{caller}" diff --git a/lib/capybara/screenshot/diff/version.rb b/lib/capybara/screenshot/diff/version.rb index c870c3eb..745ef10e 100644 --- a/lib/capybara/screenshot/diff/version.rb +++ b/lib/capybara/screenshot/diff/version.rb @@ -3,7 +3,7 @@ module Capybara module Screenshot module Diff - VERSION = '0.10.2'.freeze + VERSION = '0.11.0'.freeze end end end diff --git a/test/capybara/screenshot/diff/image_compare_test.rb b/test/capybara/screenshot/diff/image_compare_test.rb index 6e3e8687..a95acc87 100644 --- a/test/capybara/screenshot/diff/image_compare_test.rb +++ b/test/capybara/screenshot/diff/image_compare_test.rb @@ -46,6 +46,18 @@ class ImageCompareTest < ActionDispatch::IntegrationTest assert_equal 223, comp.max_color_distance.ceil end + test 'compare with shift_distance_limit above difference' do + comp = make_comparison(:a, :b, shift_distance_limit: 11) + assert !comp.different? + assert_equal 11, comp.max_shift_distance.ceil + end + + test 'compare with shift_distance_limit below difference' do + comp = make_comparison(:a, :b, shift_distance_limit: 9) + assert comp.different? + assert_equal 11, comp.max_shift_distance.ceil + end + test 'quick_equal' do comp = make_comparison(:a, :b) assert !comp.quick_equal? @@ -54,7 +66,7 @@ class ImageCompareTest < ActionDispatch::IntegrationTest test 'quick_equal with color distance limit' do comp = make_comparison(:a, :b, color_distance_limit: 222) - assert comp.different? + assert !comp.quick_equal? assert_equal 223, comp.max_color_distance.ceil end diff --git a/test/capybara/screenshot/diff/test_methods_test.rb b/test/capybara/screenshot/diff/test_methods_test.rb index 4bebc3a0..49012a58 100644 --- a/test/capybara/screenshot/diff/test_methods_test.rb +++ b/test/capybara/screenshot/diff/test_methods_test.rb @@ -11,7 +11,7 @@ def test_assert_image_not_changed message = assert_image_not_changed('caller', 'name', make_comparison(:a, :c)) value = RUBY_VERSION >= '2.4' ? 187.4 : 188 assert_equal <<-MSG.strip_heredoc.chomp, message - Screenshot does not match for 'name' (area: 684px [11, 3, 48, 20], max_color_distance: #{value}) + Screenshot does not match for 'name' (area: 684px [11, 3, 48, 20], max_color_distance: #{value}, max_shift_distance: 15) #{Rails.root}/screenshot.png #{Rails.root}/screenshot_0.png~ #{Rails.root}/screenshot_1.png~ diff --git a/test/test_helper.rb b/test/test_helper.rb index af1d12d6..44197135 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -35,9 +35,10 @@ def save_screenshot(file_name) FileUtils.cp File.expand_path("images/#{source_image}", __dir__), file_name end - def make_comparison(old_img, new_img, color_distance_limit: nil) + def make_comparison(old_img, new_img, color_distance_limit: nil, shift_distance_limit: nil) comp = ImageCompare - .new("#{Rails.root}/screenshot.png", color_distance_limit: color_distance_limit) + .new("#{Rails.root}/screenshot.png", color_distance_limit: color_distance_limit, + shift_distance_limit: shift_distance_limit) set_test_images(comp, old_img, new_img) comp end From 05dc67efe74c29aa0b22ce173b421580fa49b443 Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Sun, 19 Aug 2018 21:14:03 +0200 Subject: [PATCH 024/312] Dereference bytes after use to allow garbage collection and ease debug output --- lib/capybara/screenshot/diff/image_compare.rb | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/lib/capybara/screenshot/diff/image_compare.rb b/lib/capybara/screenshot/diff/image_compare.rb index 333b55aa..9e7e2318 100644 --- a/lib/capybara/screenshot/diff/image_compare.rb +++ b/lib/capybara/screenshot/diff/image_compare.rb @@ -37,9 +37,10 @@ def reset def quick_equal? return nil unless old_file_exists? return true if new_file_size == old_file_size - old_file, new_file = load_image_files(@old_file_name, @new_file_name) - return true if old_file == new_file - images = load_images(old_file, new_file) + old_bytes, new_bytes = load_image_files(@old_file_name, @new_file_name) + return true if old_bytes == new_bytes + images = load_images(old_bytes, new_bytes) + old_bytes = new_bytes = nil crop_images(images, @dimensions) if @dimensions old_img = images.first From 8fab95f6bcf8554ae000df7e7906a9ad2b05b5f8 Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Sun, 19 Aug 2018 23:34:15 +0200 Subject: [PATCH 025/312] Optimizations for shift_distance --- CODE_OF_CONDUCT.md | 46 ------------------- lib/capybara/screenshot/diff/image_compare.rb | 26 +++++++---- lib/capybara/screenshot/diff/version.rb | 2 +- 3 files changed, 18 insertions(+), 56 deletions(-) delete mode 100644 CODE_OF_CONDUCT.md diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md deleted file mode 100644 index fc5e8e36..00000000 --- a/CODE_OF_CONDUCT.md +++ /dev/null @@ -1,46 +0,0 @@ -# Contributor Covenant Code of Conduct - -## Our Pledge - -In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation. - -## Our Standards - -Examples of behavior that contributes to creating a positive environment include: - -* Using welcoming and inclusive language -* Being respectful of differing viewpoints and experiences -* Gracefully accepting constructive criticism -* Focusing on what is best for the community -* Showing empathy towards other community members - -Examples of unacceptable behavior by participants include: - -* The use of sexualized language or imagery and unwelcome sexual attention or advances -* Trolling, insulting/derogatory comments, and personal or political attacks -* Public or private harassment -* Publishing others' private information, such as a physical or electronic address, without explicit permission -* Other conduct which could reasonably be considered inappropriate in a professional setting - -## Our Responsibilities - -Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior. - -Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. - -## Scope - -This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers. - -## Enforcement - -Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at uwe@kubosch.no. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. - -Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. - -## Attribution - -This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version] - -[homepage]: http://contributor-covenant.org -[version]: http://contributor-covenant.org/version/1/4/ diff --git a/lib/capybara/screenshot/diff/image_compare.rb b/lib/capybara/screenshot/diff/image_compare.rb index 9e7e2318..22cadc50 100644 --- a/lib/capybara/screenshot/diff/image_compare.rb +++ b/lib/capybara/screenshot/diff/image_compare.rb @@ -43,19 +43,17 @@ def quick_equal? old_bytes = new_bytes = nil crop_images(images, @dimensions) if @dimensions - old_img = images.first - new_img = images.last + return false if sizes_changed?(*images) + return true if images.first.pixels == images.last.pixels - return false if sizes_changed?(old_img, new_img) + return false unless @color_distance_limit || @shift_distance_limit - return true if old_img.pixels == new_img.pixels - - @left, @top, @right, @bottom = find_top(old_img, new_img) + @left, @top, @right, @bottom = find_top(*images) return true if @top.nil? if @area_size_limit - @left, @top, @right, @bottom = find_diff_rectangle(old_img, new_img) + @left, @top, @right, @bottom = find_diff_rectangle(*images) return true if size <= @area_size_limit end @@ -262,7 +260,7 @@ def same_color?(old_img, new_img, x, y) if !@max_color_distance || color_distance > @max_color_distance @max_color_distance = color_distance end - if !@max_shift_distance || shift_distance > @max_shift_distance + if shift_distance.to_i > @max_shift_distance.to_i @max_shift_distance = shift_distance end (color_distance == 0 || (@color_distance_limit && @color_distance_limit > 0 && @@ -296,12 +294,15 @@ def shift_distance_at(new_img, old_img, x, y, color_distance_limit:) org_color = old_img[x, y] shift_distance = 0 loop do + bounds_breached = 0 if (y - shift_distance) >= 0 # top ([0, x - shift_distance].max..[x + shift_distance, new_img.width - 1].min).each do |dx| if color_matches(new_img, org_color, dx, y - shift_distance, color_distance_limit) return shift_distance end end + else + bounds_breached += 1 end if shift_distance > 0 if (x - shift_distance) >= 0 # left @@ -311,6 +312,8 @@ def shift_distance_at(new_img, old_img, x, y, color_distance_limit:) return shift_distance end end + else + bounds_breached += 1 end if (y + shift_distance) < new_img.height # bottom ([0, x - shift_distance].max..[x + shift_distance, new_img.width - 1].min).each do |dx| @@ -318,6 +321,8 @@ def shift_distance_at(new_img, old_img, x, y, color_distance_limit:) return shift_distance end end + else + bounds_breached += 1 end if (x + shift_distance) < new_img.width # right ([0, y - shift_distance + 1].max..[y + shift_distance, new_img.height - 2].min) @@ -326,12 +331,15 @@ def shift_distance_at(new_img, old_img, x, y, color_distance_limit:) return shift_distance end end + else + bounds_breached += 1 end end + break if bounds_breached == 4 shift_distance += 1 # puts "Bumped shift_distance to #{shift_distance}" end - shift_distance + nil end def color_matches(new_img, org_color, dx, dy, color_distance_limit) diff --git a/lib/capybara/screenshot/diff/version.rb b/lib/capybara/screenshot/diff/version.rb index 745ef10e..df291a91 100644 --- a/lib/capybara/screenshot/diff/version.rb +++ b/lib/capybara/screenshot/diff/version.rb @@ -3,7 +3,7 @@ module Capybara module Screenshot module Diff - VERSION = '0.11.0'.freeze + VERSION = '0.11.1'.freeze end end end From 1ca77fbc3f73eaef60e19aa81e36932f5f79652a Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Mon, 20 Aug 2018 22:44:47 +0200 Subject: [PATCH 026/312] Optimizations for shift_distance --- .rubocop_todo.yml | 10 ++++---- lib/capybara/screenshot/diff/image_compare.rb | 25 +++++++------------ lib/capybara/screenshot/diff/test_methods.rb | 3 ++- lib/capybara/screenshot/diff/version.rb | 2 +- .../screenshot/diff/image_compare_test.rb | 2 +- .../screenshot/diff/test_methods_test.rb | 2 +- 6 files changed, 19 insertions(+), 25 deletions(-) diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index adf8e446..95058a83 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -8,17 +8,17 @@ # Offense count: 12 Metrics/AbcSize: - Max: 52 + Max: 55 # Offense count: 1 # Configuration parameters: CountComments, ExcludedMethods. Metrics/BlockLength: - Max: 33 + Max: 43 # Offense count: 1 # Configuration parameters: CountComments. Metrics/ClassLength: - Max: 273 + Max: 283 # Offense count: 6 Metrics/CyclomaticComplexity: @@ -27,7 +27,7 @@ Metrics/CyclomaticComplexity: # Offense count: 16 # Configuration parameters: CountComments. Metrics/MethodLength: - Max: 38 + Max: 48 # Offense count: 1 # Configuration parameters: CountComments. @@ -41,7 +41,7 @@ Metrics/ParameterLists: # Offense count: 6 Metrics/PerceivedComplexity: - Max: 12 + Max: 15 # Offense count: 2 # Configuration parameters: MinNameLength, AllowNamesEndingInNumbers, AllowedNames, ForbiddenNames. diff --git a/lib/capybara/screenshot/diff/image_compare.rb b/lib/capybara/screenshot/diff/image_compare.rb index 22cadc50..c25fdfe6 100644 --- a/lib/capybara/screenshot/diff/image_compare.rb +++ b/lib/capybara/screenshot/diff/image_compare.rb @@ -40,7 +40,7 @@ def quick_equal? old_bytes, new_bytes = load_image_files(@old_file_name, @new_file_name) return true if old_bytes == new_bytes images = load_images(old_bytes, new_bytes) - old_bytes = new_bytes = nil + old_bytes = new_bytes = nil # rubocop: disable Lint/UselessAssignment crop_images(images, @dimensions) if @dimensions return false if sizes_changed?(*images) @@ -91,7 +91,6 @@ def different? @left, @top, @right, @bottom = find_diff_rectangle(old_img, new_img) return not_different if @top.nil? - return not_different if @area_size_limit && size <= @area_size_limit annotated_old_img, annotated_new_img = draw_rectangles(images, @bottom, @left, @right, @top) @@ -255,18 +254,18 @@ def find_bottom(old_img, new_img, left, right, bottom) def same_color?(old_img, new_img, x, y) color_distance = color_distance_at(new_img, old_img, x, y, shift_distance_limit: @shift_distance_limit) - shift_distance = - shift_distance_at(new_img, old_img, x, y, color_distance_limit: @color_distance_limit) if !@max_color_distance || color_distance > @max_color_distance @max_color_distance = color_distance end - if shift_distance.to_i > @max_shift_distance.to_i + color_matches = color_distance == 0 || (@color_distance_limit && @color_distance_limit > 0 && + color_distance <= @color_distance_limit) + return color_matches unless @shift_distance_limit + shift_distance = + shift_distance_at(new_img, old_img, x, y, color_distance_limit: @color_distance_limit) + if shift_distance && (@max_shift_distance.nil? || shift_distance > @max_shift_distance) @max_shift_distance = shift_distance end - (color_distance == 0 || (@color_distance_limit && @color_distance_limit > 0 && - color_distance <= @color_distance_limit)) && - (shift_distance == 0 || (@shift_distance_limit && @shift_distance_limit > 0 && - shift_distance <= @shift_distance_limit)) + color_matches end def color_distance_at(new_img, old_img, x, y, shift_distance_limit:) @@ -285,8 +284,7 @@ def color_distance_at(new_img, old_img, x, y, shift_distance_limit:) end distances.min else - new_color = new_img[x, y] - ChunkyPNG::Color.euclidean_distance_rgba(org_color, new_color) + ChunkyPNG::Color.euclidean_distance_rgba(org_color, new_img[x, y]) end end @@ -337,7 +335,6 @@ def shift_distance_at(new_img, old_img, x, y, color_distance_limit:) end break if bounds_breached == 4 shift_distance += 1 - # puts "Bumped shift_distance to #{shift_distance}" end nil end @@ -346,10 +343,6 @@ def color_matches(new_img, org_color, dx, dy, color_distance_limit) new_color = new_img[dx, dy] return new_color == org_color unless color_distance_limit color_distance = ChunkyPNG::Color.euclidean_distance_rgba(org_color, new_color) - # if color_distance > 0 - # puts "color_distance: #{dx} #{dy} #{color_distance} #{color_distance_limit} " \ - # "#{color_distance <= color_distance_limit}" - # end color_distance <= color_distance_limit end end diff --git a/lib/capybara/screenshot/diff/test_methods.rb b/lib/capybara/screenshot/diff/test_methods.rb index abcf7072..25ac3fb5 100644 --- a/lib/capybara/screenshot/diff/test_methods.rb +++ b/lib/capybara/screenshot/diff/test_methods.rb @@ -108,9 +108,10 @@ def assert_image_not_changed(caller, name, comparison) end # ODOT + max_shift_distance = comparison.max_shift_distance "Screenshot does not match for '#{name}' (area: #{comparison.size}px #{comparison.dimensions}" \ ", max_color_distance: #{max_color_distance}" \ - ", max_shift_distance: #{comparison.max_shift_distance})\n" \ + "#{", max_shift_distance: #{max_shift_distance}" if max_shift_distance})\n" \ "#{comparison.new_file_name}\n#{comparison.annotated_old_file_name}\n" \ "#{comparison.annotated_new_file_name}\n" \ "at #{caller}" diff --git a/lib/capybara/screenshot/diff/version.rb b/lib/capybara/screenshot/diff/version.rb index df291a91..9f1a108b 100644 --- a/lib/capybara/screenshot/diff/version.rb +++ b/lib/capybara/screenshot/diff/version.rb @@ -3,7 +3,7 @@ module Capybara module Screenshot module Diff - VERSION = '0.11.1'.freeze + VERSION = '0.11.2'.freeze end end end diff --git a/test/capybara/screenshot/diff/image_compare_test.rb b/test/capybara/screenshot/diff/image_compare_test.rb index a95acc87..d1edcfd9 100644 --- a/test/capybara/screenshot/diff/image_compare_test.rb +++ b/test/capybara/screenshot/diff/image_compare_test.rb @@ -61,7 +61,7 @@ class ImageCompareTest < ActionDispatch::IntegrationTest test 'quick_equal' do comp = make_comparison(:a, :b) assert !comp.quick_equal? - assert_equal 10, comp.max_color_distance.ceil + assert_equal 223, comp.max_color_distance.ceil end test 'quick_equal with color distance limit' do diff --git a/test/capybara/screenshot/diff/test_methods_test.rb b/test/capybara/screenshot/diff/test_methods_test.rb index 49012a58..4bebc3a0 100644 --- a/test/capybara/screenshot/diff/test_methods_test.rb +++ b/test/capybara/screenshot/diff/test_methods_test.rb @@ -11,7 +11,7 @@ def test_assert_image_not_changed message = assert_image_not_changed('caller', 'name', make_comparison(:a, :c)) value = RUBY_VERSION >= '2.4' ? 187.4 : 188 assert_equal <<-MSG.strip_heredoc.chomp, message - Screenshot does not match for 'name' (area: 684px [11, 3, 48, 20], max_color_distance: #{value}, max_shift_distance: 15) + Screenshot does not match for 'name' (area: 684px [11, 3, 48, 20], max_color_distance: #{value}) #{Rails.root}/screenshot.png #{Rails.root}/screenshot_0.png~ #{Rails.root}/screenshot_1.png~ From 39b1495961a271fbed27f9515e9222e219d5c22b Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Thu, 6 Sep 2018 08:49:05 +0200 Subject: [PATCH 027/312] Delete old file when there is no difference --- lib/capybara/screenshot/diff/image_compare.rb | 2 +- lib/capybara/screenshot/diff/version.rb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/capybara/screenshot/diff/image_compare.rb b/lib/capybara/screenshot/diff/image_compare.rb index c25fdfe6..d289a116 100644 --- a/lib/capybara/screenshot/diff/image_compare.rb +++ b/lib/capybara/screenshot/diff/image_compare.rb @@ -162,7 +162,7 @@ def save_images(new_file_name, new_img, org_file_name, org_img) def clean_tmp_files FileUtils.cp @old_file_name, @new_file_name - File.delete(@old_file_name) if File.exist?(@annotated_old_file_name) + File.delete(@old_file_name) if File.exist?(@old_file_name) File.delete(@annotated_old_file_name) if File.exist?(@annotated_old_file_name) File.delete(@annotated_new_file_name) if File.exist?(@annotated_new_file_name) end diff --git a/lib/capybara/screenshot/diff/version.rb b/lib/capybara/screenshot/diff/version.rb index 9f1a108b..39b417f0 100644 --- a/lib/capybara/screenshot/diff/version.rb +++ b/lib/capybara/screenshot/diff/version.rb @@ -3,7 +3,7 @@ module Capybara module Screenshot module Diff - VERSION = '0.11.2'.freeze + VERSION = '0.11.3'.freeze end end end From 6001e08e09892f6bdb86ea9727d2ea6aa02712df Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Tue, 25 Sep 2018 11:08:30 +0200 Subject: [PATCH 028/312] Clarify that image comparison is against a previously commit version of the same image. --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 642c4e47..a99bee77 100644 --- a/README.md +++ b/README.md @@ -93,6 +93,8 @@ doc To store the screen shot history, add the `doc/screenshots` directory to your version control system (git, svn, etc). + + Screen shots are compared to the previously COMMITTED version of the same screen shot. ### Screenshot groups From c28908da8df2253da26baa8259718da927cb392b Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Tue, 25 Sep 2018 11:15:04 +0200 Subject: [PATCH 029/312] Add `oily_png` to usage section for performance on MRI --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a99bee77..5c6c9632 100644 --- a/README.md +++ b/README.md @@ -16,6 +16,7 @@ Add this line to your application's Gemfile: ```ruby gem 'capybara-screenshot-diff' +gem 'oily_png', platform :ruby ``` And then execute: From 07b1780a7ea7e13aab515574d195ebcc19255dbc Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Thu, 27 Sep 2018 16:33:56 +0200 Subject: [PATCH 030/312] Try to optimize lookaround / shift_limit --- .rubocop_todo.yml | 6 +-- lib/capybara/screenshot/diff/image_compare.rb | 44 ++++++++++++++----- lib/capybara/screenshot/diff/version.rb | 2 +- .../screenshot/diff/image_compare_test.rb | 2 +- .../screenshot/diff/test_methods_test.rb | 2 +- 5 files changed, 38 insertions(+), 18 deletions(-) diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index 95058a83..60a4b441 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -13,12 +13,12 @@ Metrics/AbcSize: # Offense count: 1 # Configuration parameters: CountComments, ExcludedMethods. Metrics/BlockLength: - Max: 43 + Max: 44 # Offense count: 1 # Configuration parameters: CountComments. Metrics/ClassLength: - Max: 283 + Max: 302 # Offense count: 6 Metrics/CyclomaticComplexity: @@ -27,7 +27,7 @@ Metrics/CyclomaticComplexity: # Offense count: 16 # Configuration parameters: CountComments. Metrics/MethodLength: - Max: 48 + Max: 49 # Offense count: 1 # Configuration parameters: CountComments. diff --git a/lib/capybara/screenshot/diff/image_compare.rb b/lib/capybara/screenshot/diff/image_compare.rb index d289a116..0eafcf64 100644 --- a/lib/capybara/screenshot/diff/image_compare.rb +++ b/lib/capybara/screenshot/diff/image_compare.rb @@ -8,8 +8,7 @@ module Diff class ImageCompare include ChunkyPNG::Color - attr_reader :annotated_new_file_name, :annotated_old_file_name, :new_file_name, - :old_file_name + attr_reader :annotated_new_file_name, :annotated_old_file_name, :new_file_name, :old_file_name def initialize(new_file_name, old_file_name = nil, dimensions: nil, color_distance_limit: nil, area_size_limit: nil, shift_distance_limit: nil) @@ -134,18 +133,34 @@ def max_shift_distance def calculate_metrics old_file, new_file = load_image_files(@old_file_name, @new_file_name) - @max_color_distance = 0 if old_file == new_file + if old_file == new_file + @max_color_distance = 0 + @max_shift_distance = 0 + return + end old_image, new_image = load_images(old_file, new_file) + calculate_max_color_distance(new_image, old_image) + calculate_max_shift_limit(new_image, old_image) + end + def calculate_max_color_distance(new_image, old_image) pixel_pairs = old_image.pixels.zip(new_image.pixels) @max_color_distance = pixel_pairs.inject(0) do |max, (p1, p2)| d = ChunkyPNG::Color.euclidean_distance_rgba(p1, p2) [max, d].max end + end - (0...new_image.width).each do |_x| - (0...new_image.height).each do |y| + def calculate_max_shift_limit(new_img, old_img) + (0...new_img.width).each do |x| + (0...new_img.height).each do |y| + shift_distance = + shift_distance_at(new_img, old_img, x, y, color_distance_limit: @color_distance_limit) + if shift_distance && (@max_shift_distance.nil? || shift_distance > @max_shift_distance) + @max_shift_distance = shift_distance + return if @max_shift_distance == Float::INFINITY # rubocop: disable Lint/NonLocalExitFromIterator + end end end end @@ -259,9 +274,13 @@ def same_color?(old_img, new_img, x, y) end color_matches = color_distance == 0 || (@color_distance_limit && @color_distance_limit > 0 && color_distance <= @color_distance_limit) - return color_matches unless @shift_distance_limit + return color_matches if !@shift_distance_limit || @max_shift_distance == Float::INFINITY shift_distance = - shift_distance_at(new_img, old_img, x, y, color_distance_limit: @color_distance_limit) + if color_matches + 0 + else + shift_distance_at(new_img, old_img, x, y, color_distance_limit: @color_distance_limit) + end if shift_distance && (@max_shift_distance.nil? || shift_distance > @max_shift_distance) @max_shift_distance = shift_distance end @@ -293,9 +312,10 @@ def shift_distance_at(new_img, old_img, x, y, color_distance_limit:) shift_distance = 0 loop do bounds_breached = 0 - if (y - shift_distance) >= 0 # top + top_row = y - shift_distance + if top_row >= 0 # top ([0, x - shift_distance].max..[x + shift_distance, new_img.width - 1].min).each do |dx| - if color_matches(new_img, org_color, dx, y - shift_distance, color_distance_limit) + if color_matches(new_img, org_color, dx, top_row, color_distance_limit) return shift_distance end end @@ -304,7 +324,7 @@ def shift_distance_at(new_img, old_img, x, y, color_distance_limit:) end if shift_distance > 0 if (x - shift_distance) >= 0 # left - ([0, y - shift_distance + 1].max..[y + shift_distance, new_img.height - 2].min) + ([0, top_row + 1].max..[y + shift_distance, new_img.height - 2].min) .each do |dy| if color_matches(new_img, org_color, x - shift_distance, dy, color_distance_limit) return shift_distance @@ -323,7 +343,7 @@ def shift_distance_at(new_img, old_img, x, y, color_distance_limit:) bounds_breached += 1 end if (x + shift_distance) < new_img.width # right - ([0, y - shift_distance + 1].max..[y + shift_distance, new_img.height - 2].min) + ([0, top_row + 1].max..[y + shift_distance, new_img.height - 2].min) .each do |dy| if color_matches(new_img, org_color, x + shift_distance, dy, color_distance_limit) return shift_distance @@ -336,7 +356,7 @@ def shift_distance_at(new_img, old_img, x, y, color_distance_limit:) break if bounds_breached == 4 shift_distance += 1 end - nil + Float::INFINITY end def color_matches(new_img, org_color, dx, dy, color_distance_limit) diff --git a/lib/capybara/screenshot/diff/version.rb b/lib/capybara/screenshot/diff/version.rb index 39b417f0..17e1af2d 100644 --- a/lib/capybara/screenshot/diff/version.rb +++ b/lib/capybara/screenshot/diff/version.rb @@ -3,7 +3,7 @@ module Capybara module Screenshot module Diff - VERSION = '0.11.3'.freeze + VERSION = '0.12.0'.freeze end end end diff --git a/test/capybara/screenshot/diff/image_compare_test.rb b/test/capybara/screenshot/diff/image_compare_test.rb index d1edcfd9..4be240dc 100644 --- a/test/capybara/screenshot/diff/image_compare_test.rb +++ b/test/capybara/screenshot/diff/image_compare_test.rb @@ -49,7 +49,7 @@ class ImageCompareTest < ActionDispatch::IntegrationTest test 'compare with shift_distance_limit above difference' do comp = make_comparison(:a, :b, shift_distance_limit: 11) assert !comp.different? - assert_equal 11, comp.max_shift_distance.ceil + assert_equal 0, comp.max_shift_distance.ceil end test 'compare with shift_distance_limit below difference' do diff --git a/test/capybara/screenshot/diff/test_methods_test.rb b/test/capybara/screenshot/diff/test_methods_test.rb index 4bebc3a0..6295ab07 100644 --- a/test/capybara/screenshot/diff/test_methods_test.rb +++ b/test/capybara/screenshot/diff/test_methods_test.rb @@ -11,7 +11,7 @@ def test_assert_image_not_changed message = assert_image_not_changed('caller', 'name', make_comparison(:a, :c)) value = RUBY_VERSION >= '2.4' ? 187.4 : 188 assert_equal <<-MSG.strip_heredoc.chomp, message - Screenshot does not match for 'name' (area: 684px [11, 3, 48, 20], max_color_distance: #{value}) + Screenshot does not match for 'name' (area: 684px [11, 3, 48, 20], max_color_distance: #{value}, max_shift_distance: 44) #{Rails.root}/screenshot.png #{Rails.root}/screenshot_0.png~ #{Rails.root}/screenshot_1.png~ From 643eb1e342e749fdd61400793d6c6a6830db1d0e Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Thu, 27 Sep 2018 16:39:43 +0200 Subject: [PATCH 031/312] rubocop: Layout/EmptyLineAfterGuardClause --- lib/capybara/screenshot/diff/image_compare.rb | 7 +++++++ lib/capybara/screenshot/diff/os.rb | 1 + lib/capybara/screenshot/diff/stabilization.rb | 5 +++++ lib/capybara/screenshot/diff/test_methods.rb | 4 ++++ matrix_test.rb | 1 + 5 files changed, 18 insertions(+) diff --git a/lib/capybara/screenshot/diff/image_compare.rb b/lib/capybara/screenshot/diff/image_compare.rb index 0eafcf64..79f9cc04 100644 --- a/lib/capybara/screenshot/diff/image_compare.rb +++ b/lib/capybara/screenshot/diff/image_compare.rb @@ -36,8 +36,10 @@ def reset def quick_equal? return nil unless old_file_exists? return true if new_file_size == old_file_size + old_bytes, new_bytes = load_image_files(@old_file_name, @new_file_name) return true if old_bytes == new_bytes + images = load_images(old_bytes, new_bytes) old_bytes = new_bytes = nil # rubocop: disable Lint/UselessAssignment crop_images(images, @dimensions) if @dimensions @@ -194,6 +196,7 @@ def load_image_files(old_file_name, file_name) def sizes_changed?(org_image, new_image) return unless org_image.dimension != new_image.dimension + change_msg = [org_image, new_image].map { |i| "#{i.width}x#{i.height}" }.join(' => ') puts "Image size has changed for #{@new_file_name}: #{change_msg}" true @@ -239,6 +242,7 @@ def find_left_right_and_top(old_img, new_img) old_img.height.times do |y| (0...left).find do |x| next if same_color?(old_img, new_img, x, y) + top ||= y bottom = y left = x @@ -275,6 +279,7 @@ def same_color?(old_img, new_img, x, y) color_matches = color_distance == 0 || (@color_distance_limit && @color_distance_limit > 0 && color_distance <= @color_distance_limit) return color_matches if !@shift_distance_limit || @max_shift_distance == Float::INFINITY + shift_distance = if color_matches 0 @@ -354,6 +359,7 @@ def shift_distance_at(new_img, old_img, x, y, color_distance_limit:) end end break if bounds_breached == 4 + shift_distance += 1 end Float::INFINITY @@ -362,6 +368,7 @@ def shift_distance_at(new_img, old_img, x, y, color_distance_limit:) def color_matches(new_img, org_color, dx, dy, color_distance_limit) new_color = new_img[dx, dy] return new_color == org_color unless color_distance_limit + color_distance = ChunkyPNG::Color.euclidean_distance_rgba(org_color, new_color) color_distance <= color_distance_limit end diff --git a/lib/capybara/screenshot/diff/os.rb b/lib/capybara/screenshot/diff/os.rb index b548fea3..5d71d577 100644 --- a/lib/capybara/screenshot/diff/os.rb +++ b/lib/capybara/screenshot/diff/os.rb @@ -9,6 +9,7 @@ def os_name return 'windows' if ON_WINDOWS return 'macos' if ON_MAC return 'linux' if ON_LINUX + 'unknown' end end diff --git a/lib/capybara/screenshot/diff/stabilization.rb b/lib/capybara/screenshot/diff/stabilization.rb index f24c3275..19337fa4 100644 --- a/lib/capybara/screenshot/diff/stabilization.rb +++ b/lib/capybara/screenshot/diff/stabilization.rb @@ -27,6 +27,7 @@ def take_stable_screenshot(comparison, color_distance_limit:, shift_distance_lim take_right_size_screenshot(comparison) break unless Capybara::Screenshot.stability_time_limit + if comparison.quick_equal? clean_stabilization_images(comparison.new_file_name) break @@ -63,9 +64,11 @@ def take_stable_screenshot(comparison, color_distance_limit:, shift_distance_lim def reduce_retina_image_size(file_name) return if !ON_MAC || !selenium? || !Capybara::Screenshot.window_size + saved_image = ChunkyPNG::Image.from_file(file_name) width = Capybara::Screenshot.window_size[0] return if saved_image.width < width * 2 + unless @_csd_retina_warned warn 'Halving retina screenshot. ' \ 'You should add "force-device-scale-factor=1" to your Chrome chromeOptions args.' @@ -116,10 +119,12 @@ def check_max_wait_time(comparison, screenshot_started_at) def assert_images_loaded(timeout: Capybara.default_max_wait_time) return unless respond_to? :evaluate_script + start = Time.now loop do pending_image = evaluate_script IMAGE_WAIT_SCRIPT break unless pending_image + assert (Time.now - start) < timeout, "Images not loaded after #{timeout}s: #{pending_image.inspect}" sleep 0.1 diff --git a/lib/capybara/screenshot/diff/test_methods.rb b/lib/capybara/screenshot/diff/test_methods.rb index 25ac3fb5..52fe6579 100644 --- a/lib/capybara/screenshot/diff/test_methods.rb +++ b/lib/capybara/screenshot/diff/test_methods.rb @@ -49,6 +49,7 @@ def selenium? def poltergeist? return false unless defined?(Capybara::Poltergeist::Driver) + current_capybara_driver_class <= Capybara::Poltergeist::Driver end @@ -60,6 +61,7 @@ def screenshot_group(name) @screenshot_group = name.to_s @screenshot_counter = 0 return unless Screenshot.active? && name.present? + FileUtils.rm_rf screenshot_dir end @@ -67,6 +69,7 @@ def screenshot(name, color_distance_limit: Diff.color_distance_limit, shift_distance_limit: Diff.shift_distance_limit, area_size_limit: Diff.area_size_limit) return unless Screenshot.active? return if window_size_is_wrong? + if @screenshot_counter name = "#{format('%02i', @screenshot_counter)}_#{name}" @screenshot_counter += 1 @@ -83,6 +86,7 @@ def screenshot(name, color_distance_limit: Diff.color_distance_limit, shift_distance_limit: shift_distance_limit, area_size_limit: area_size_limit) return unless comparison.old_file_exists? + (@test_screenshots ||= []) << [caller(1..1).first, name, comparison] end diff --git a/matrix_test.rb b/matrix_test.rb index 6a75c498..f9994d42 100755 --- a/matrix_test.rb +++ b/matrix_test.rb @@ -35,6 +35,7 @@ def use_gemfile(ruby, gemfile, update_gemfiles) travis['rvm'].each do |ruby| next if ruby =~ /head/ # ruby-install does not support HEAD installation + puts '#' * 80 puts "Testing #{ruby}" puts From 4b7ed2cd5b61b6c224eb221eaa3e78e6e4affafe Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Thu, 27 Sep 2018 17:37:52 +0200 Subject: [PATCH 032/312] Try testing with Capybara 3.x --- capybara-screenshot-diff.gemspec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/capybara-screenshot-diff.gemspec b/capybara-screenshot-diff.gemspec index 24d0bac2..95a297ae 100644 --- a/capybara-screenshot-diff.gemspec +++ b/capybara-screenshot-diff.gemspec @@ -18,8 +18,8 @@ Gem::Specification.new do |spec| spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) } spec.require_paths = ['lib'] - spec.add_runtime_dependency 'actionpack', '>= 4.2', '<5.3' - spec.add_runtime_dependency 'capybara', '~> 2.0' + spec.add_runtime_dependency 'actionpack', '>= 4.2', '< 5.3' + spec.add_runtime_dependency 'capybara', '>= 2', '< 4' spec.add_runtime_dependency 'chunky_png', '~> 1.3' spec.add_development_dependency 'bundler', '~> 1.11' From 44f0fc20bb60540deb660e84f1b85e806d67fa10 Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Thu, 27 Sep 2018 17:41:04 +0200 Subject: [PATCH 033/312] Start testing with Rails 5.2 and JRuby 9.2.0.0 --- .travis.yml | 3 ++- gemfiles/rails52.gemfile | 3 +++ 2 files changed, 5 insertions(+), 1 deletion(-) create mode 100644 gemfiles/rails52.gemfile diff --git a/.travis.yml b/.travis.yml index 66214856..36776589 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,13 +2,14 @@ language: ruby sudo: false cache: bundler rvm: - - jruby-9.1.16.0 + - jruby-9.2.0.0 - ruby-2.5.1 - ruby-2.4.4 - ruby-2.3.7 - ruby-2.2.10 gemfile: + - gemfiles/rails52.gemfile - gemfiles/rails51.gemfile - gemfiles/rails50.gemfile - gemfiles/rails42.gemfile diff --git a/gemfiles/rails52.gemfile b/gemfiles/rails52.gemfile new file mode 100644 index 00000000..219ef13c --- /dev/null +++ b/gemfiles/rails52.gemfile @@ -0,0 +1,3 @@ +eval File.read("#{__dir__}/common.gemfile") + +gem 'actionpack', '~>5.2.1' From 86acd41990bb9de1798446f706ad9bb4fb32bf58 Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Thu, 27 Sep 2018 17:45:04 +0200 Subject: [PATCH 034/312] Stop testing Ruby 2.2 since it is end-of-life --- .travis.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 36776589..b2a12151 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,7 +6,6 @@ rvm: - ruby-2.5.1 - ruby-2.4.4 - ruby-2.3.7 - - ruby-2.2.10 gemfile: - gemfiles/rails52.gemfile From 036c4e7f8250f448619cbcdddafbf588b0d191d8 Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Fri, 9 Nov 2018 23:27:23 +0100 Subject: [PATCH 035/312] Allow for changes in image size --- .rubocop_todo.yml | 2 +- lib/capybara/screenshot/diff/image_compare.rb | 2 ++ lib/capybara/screenshot/diff/version.rb | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index 60a4b441..d347422b 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -18,7 +18,7 @@ Metrics/BlockLength: # Offense count: 1 # Configuration parameters: CountComments. Metrics/ClassLength: - Max: 302 + Max: 303 # Offense count: 6 Metrics/CyclomaticComplexity: diff --git a/lib/capybara/screenshot/diff/image_compare.rb b/lib/capybara/screenshot/diff/image_compare.rb index 79f9cc04..6df98da5 100644 --- a/lib/capybara/screenshot/diff/image_compare.rb +++ b/lib/capybara/screenshot/diff/image_compare.rb @@ -149,6 +149,8 @@ def calculate_metrics def calculate_max_color_distance(new_image, old_image) pixel_pairs = old_image.pixels.zip(new_image.pixels) @max_color_distance = pixel_pairs.inject(0) do |max, (p1, p2)| + next max unless p1 && p2 + d = ChunkyPNG::Color.euclidean_distance_rgba(p1, p2) [max, d].max end diff --git a/lib/capybara/screenshot/diff/version.rb b/lib/capybara/screenshot/diff/version.rb index 17e1af2d..e4283a8b 100644 --- a/lib/capybara/screenshot/diff/version.rb +++ b/lib/capybara/screenshot/diff/version.rb @@ -3,7 +3,7 @@ module Capybara module Screenshot module Diff - VERSION = '0.12.0'.freeze + VERSION = '0.12.1'.freeze end end end From 11fe3d178725405350eb93e4289ecbd7830ec092 Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Sat, 10 Nov 2018 00:03:31 +0100 Subject: [PATCH 036/312] Ignore shift_distance_limit if not set --- lib/capybara/screenshot/diff/image_compare.rb | 2 +- lib/capybara/screenshot/diff/version.rb | 2 +- .../capybara/screenshot/diff/test_methods_test.rb | 15 ++++++++++++++- 3 files changed, 16 insertions(+), 3 deletions(-) diff --git a/lib/capybara/screenshot/diff/image_compare.rb b/lib/capybara/screenshot/diff/image_compare.rb index 6df98da5..f00f11d1 100644 --- a/lib/capybara/screenshot/diff/image_compare.rb +++ b/lib/capybara/screenshot/diff/image_compare.rb @@ -127,7 +127,7 @@ def max_color_distance end def max_shift_distance - calculate_metrics unless @max_shift_distance + calculate_metrics unless @max_shift_distance || !@shift_distance_limit @max_shift_distance end diff --git a/lib/capybara/screenshot/diff/version.rb b/lib/capybara/screenshot/diff/version.rb index e4283a8b..ec945521 100644 --- a/lib/capybara/screenshot/diff/version.rb +++ b/lib/capybara/screenshot/diff/version.rb @@ -3,7 +3,7 @@ module Capybara module Screenshot module Diff - VERSION = '0.12.1'.freeze + VERSION = '0.12.2'.freeze end end end diff --git a/test/capybara/screenshot/diff/test_methods_test.rb b/test/capybara/screenshot/diff/test_methods_test.rb index 6295ab07..c55d7ccb 100644 --- a/test/capybara/screenshot/diff/test_methods_test.rb +++ b/test/capybara/screenshot/diff/test_methods_test.rb @@ -11,7 +11,20 @@ def test_assert_image_not_changed message = assert_image_not_changed('caller', 'name', make_comparison(:a, :c)) value = RUBY_VERSION >= '2.4' ? 187.4 : 188 assert_equal <<-MSG.strip_heredoc.chomp, message - Screenshot does not match for 'name' (area: 684px [11, 3, 48, 20], max_color_distance: #{value}, max_shift_distance: 44) + Screenshot does not match for 'name' (area: 684px [11, 3, 48, 20], max_color_distance: #{value}) + #{Rails.root}/screenshot.png + #{Rails.root}/screenshot_0.png~ + #{Rails.root}/screenshot_1.png~ + at caller + MSG + end + + def test_assert_image_not_changed_with_shift_distance_limit + message = + assert_image_not_changed('caller', 'name', make_comparison(:a, :c, shift_distance_limit: 1)) + value = RUBY_VERSION >= '2.4' ? 5.0 : 5 + assert_equal <<-MSG.strip_heredoc.chomp, message + Screenshot does not match for 'name' (area: 684px [11, 3, 48, 20], max_color_distance: #{value}, max_shift_distance: 15) #{Rails.root}/screenshot.png #{Rails.root}/screenshot_0.png~ #{Rails.root}/screenshot_1.png~ From 1faa9a2a00e579faf58dc1b655b3e00de0d1d3aa Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Thu, 29 Nov 2018 15:53:25 +0100 Subject: [PATCH 037/312] Add "Capybara::Screenshot.hide_caret" option --- .rubocop_todo.yml | 2 +- lib/capybara/screenshot/diff.rb | 1 + lib/capybara/screenshot/diff/stabilization.rb | 11 +++++++---- lib/capybara/screenshot/diff/version.rb | 2 +- 4 files changed, 10 insertions(+), 6 deletions(-) diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index d347422b..b9a5f289 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -32,7 +32,7 @@ Metrics/MethodLength: # Offense count: 1 # Configuration parameters: CountComments. Metrics/ModuleLength: - Max: 103 + Max: 106 # Offense count: 1 # Configuration parameters: CountKeywordArgs. diff --git a/lib/capybara/screenshot/diff.rb b/lib/capybara/screenshot/diff.rb index 91e2fd6f..4815124f 100644 --- a/lib/capybara/screenshot/diff.rb +++ b/lib/capybara/screenshot/diff.rb @@ -10,6 +10,7 @@ module Screenshot mattr_accessor :add_os_path mattr_accessor :blur_active_element mattr_accessor :enabled + mattr_accessor :hide_caret mattr_accessor(:root) { (defined?(Rails.root) && Rails.root) || File.expand_path('.') } mattr_accessor :stability_time_limit mattr_accessor :window_size diff --git a/lib/capybara/screenshot/diff/stabilization.rb b/lib/capybara/screenshot/diff/stabilization.rb index 19337fa4..2dbc24f8 100644 --- a/lib/capybara/screenshot/diff/stabilization.rb +++ b/lib/capybara/screenshot/diff/stabilization.rb @@ -20,7 +20,7 @@ module Stabilization def take_stable_screenshot(comparison, color_distance_limit:, shift_distance_limit:, area_size_limit:) - input = prepare_page_for_screenshot + blurred_input = prepare_page_for_screenshot previous_file_name = comparison.old_file_name screenshot_started_at = last_image_change_at = Time.now loop.with_index do |_x, i| @@ -57,7 +57,7 @@ def take_stable_screenshot(comparison, color_distance_limit:, shift_distance_lim FileUtils.mv comparison.new_file_name, previous_file_name end ensure - input.click if input + blurred_input.click if blurred_input end private @@ -98,9 +98,12 @@ def prepare_page_for_screenshot } return null; JS - input = page.driver.send :unwrap_script_result, active_element + blurred_input = page.driver.send :unwrap_script_result, active_element end - input + if Capybara::Screenshot.hide_caret + execute_script("$('*').css('caret-color','transparent !important')") + end + blurred_input end def take_right_size_screenshot(comparison) diff --git a/lib/capybara/screenshot/diff/version.rb b/lib/capybara/screenshot/diff/version.rb index ec945521..df4f63ea 100644 --- a/lib/capybara/screenshot/diff/version.rb +++ b/lib/capybara/screenshot/diff/version.rb @@ -3,7 +3,7 @@ module Capybara module Screenshot module Diff - VERSION = '0.12.2'.freeze + VERSION = '0.13.0'.freeze end end end From ef56c84865a9be22becaef433e1c5e495c45a4f0 Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Thu, 29 Nov 2018 15:56:51 +0100 Subject: [PATCH 038/312] Document the "Capybara::Screenshot.hide_caret" option --- README.md | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 5c6c9632..3d70f478 100644 --- a/README.md +++ b/README.md @@ -303,7 +303,19 @@ Capybara::Screenshot.stability_time_limit = 0.5 ### Removing focus from the active element In Chrome the screenshot includes the blinking input cursor. This can make it impossible to get a -stable screenshot. To get around this you can set the `blur_active_element` option: +stable screenshot. To get around this you can set the `hide caret` option: + +```ruby +Capybara::Screenshot.hide_caret = true +``` + +This will make the cursor (caret) transparent (invisible), so the blinking does not delay the screen shot. + + + +### Removing focus from the active element + +Another way to avoid the cursor blinking is to set the `blur_active_element` option: ```ruby Capybara::Screenshot.blur_active_element = true From 0dc6c1dc07a4f3559c250c39b5aa7e5dc2f5022b Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Wed, 5 Dec 2018 17:28:13 +0100 Subject: [PATCH 039/312] Set a legal value for caret-color --- lib/capybara/screenshot/diff/stabilization.rb | 2 +- lib/capybara/screenshot/diff/version.rb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/capybara/screenshot/diff/stabilization.rb b/lib/capybara/screenshot/diff/stabilization.rb index 2dbc24f8..5f9d50e2 100644 --- a/lib/capybara/screenshot/diff/stabilization.rb +++ b/lib/capybara/screenshot/diff/stabilization.rb @@ -101,7 +101,7 @@ def prepare_page_for_screenshot blurred_input = page.driver.send :unwrap_script_result, active_element end if Capybara::Screenshot.hide_caret - execute_script("$('*').css('caret-color','transparent !important')") + execute_script("$('*').css('caret-color','transparent')") end blurred_input end diff --git a/lib/capybara/screenshot/diff/version.rb b/lib/capybara/screenshot/diff/version.rb index df4f63ea..9926189b 100644 --- a/lib/capybara/screenshot/diff/version.rb +++ b/lib/capybara/screenshot/diff/version.rb @@ -3,7 +3,7 @@ module Capybara module Screenshot module Diff - VERSION = '0.13.0'.freeze + VERSION = '0.13.1'.freeze end end end From 8ba857d45f4f9a15c538ea619830fe754cd0504a Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Thu, 31 Jan 2019 14:34:33 +0100 Subject: [PATCH 040/312] Reinstate the max_shift_distance option --- README.md | 24 +++++++++++++++++++ lib/capybara/screenshot/diff/image_compare.rb | 6 +---- lib/capybara/screenshot/diff/stabilization.rb | 4 +--- lib/capybara/screenshot/diff/test_methods.rb | 2 +- lib/capybara/screenshot/diff/version.rb | 2 +- 5 files changed, 28 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 3d70f478..5779062a 100644 --- a/README.md +++ b/README.md @@ -345,6 +345,30 @@ Capybara::Screenshot::Diff.color_distance_limit = 42 ``` +### Allowed shift distance + +Sometimes you want to allow small movements in the images. For example, jquer-tablesorter +renders the same table slightly differently sometimes. You can set set the shift distance +threshold for the comparison using the `shift_distance_limit` option to the `screenshot` +method: + +```ruby +test 'color threshold' do + visit '/' + screenshot 'index', shift_distance_limit: 6 +end +``` + +The difference is calculated as maximum distance in either the X or the Y axis. +You can also set this globally: + +```ruby +Capybara::Screenshot::Diff.shift_distance_limit = 4 +``` + +If `shift_distance_limit` is `nil` shift distance is not measured. If `shift_distance_limit` is set, +even to `0`, shift distabnce is measured and reported on image differences. + ### Allowed difference size You can set set a threshold for the differing area size for the comparison diff --git a/lib/capybara/screenshot/diff/image_compare.rb b/lib/capybara/screenshot/diff/image_compare.rb index f00f11d1..7e60dda0 100644 --- a/lib/capybara/screenshot/diff/image_compare.rb +++ b/lib/capybara/screenshot/diff/image_compare.rb @@ -282,12 +282,8 @@ def same_color?(old_img, new_img, x, y) color_distance <= @color_distance_limit) return color_matches if !@shift_distance_limit || @max_shift_distance == Float::INFINITY - shift_distance = - if color_matches - 0 - else + shift_distance = (color_matches && 0) || shift_distance_at(new_img, old_img, x, y, color_distance_limit: @color_distance_limit) - end if shift_distance && (@max_shift_distance.nil? || shift_distance > @max_shift_distance) @max_shift_distance = shift_distance end diff --git a/lib/capybara/screenshot/diff/stabilization.rb b/lib/capybara/screenshot/diff/stabilization.rb index 5f9d50e2..2fa87ced 100644 --- a/lib/capybara/screenshot/diff/stabilization.rb +++ b/lib/capybara/screenshot/diff/stabilization.rb @@ -100,9 +100,7 @@ def prepare_page_for_screenshot JS blurred_input = page.driver.send :unwrap_script_result, active_element end - if Capybara::Screenshot.hide_caret - execute_script("$('*').css('caret-color','transparent')") - end + execute_script("$('*').css('caret-color','transparent')") if Capybara::Screenshot.hide_caret blurred_input end diff --git a/lib/capybara/screenshot/diff/test_methods.rb b/lib/capybara/screenshot/diff/test_methods.rb index 52fe6579..558b8c4c 100644 --- a/lib/capybara/screenshot/diff/test_methods.rb +++ b/lib/capybara/screenshot/diff/test_methods.rb @@ -80,7 +80,7 @@ def screenshot(name, color_distance_limit: Diff.color_distance_limit, FileUtils.mkdir_p File.dirname(file_name) comparison = ImageCompare.new(file_name, dimensions: Screenshot.window_size, color_distance_limit: color_distance_limit, - area_size_limit: area_size_limit) + area_size_limit: area_size_limit, shift_distance_limit: shift_distance_limit) checkout_vcs(name, comparison) take_stable_screenshot(comparison, color_distance_limit: color_distance_limit, shift_distance_limit: shift_distance_limit, diff --git a/lib/capybara/screenshot/diff/version.rb b/lib/capybara/screenshot/diff/version.rb index 9926189b..769fda72 100644 --- a/lib/capybara/screenshot/diff/version.rb +++ b/lib/capybara/screenshot/diff/version.rb @@ -3,7 +3,7 @@ module Capybara module Screenshot module Diff - VERSION = '0.13.1'.freeze + VERSION = '0.14.0'.freeze end end end From 7db96d3042599ec367f42d4e33c5222d765374ab Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Thu, 31 Jan 2019 14:36:52 +0100 Subject: [PATCH 041/312] rubocop --- .rubocop_todo.yml | 2 +- lib/capybara/screenshot/diff/image_compare.rb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index b9a5f289..2a6c5440 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -22,7 +22,7 @@ Metrics/ClassLength: # Offense count: 6 Metrics/CyclomaticComplexity: - Max: 12 + Max: 13 # Offense count: 16 # Configuration parameters: CountComments. diff --git a/lib/capybara/screenshot/diff/image_compare.rb b/lib/capybara/screenshot/diff/image_compare.rb index 7e60dda0..7bd9d79a 100644 --- a/lib/capybara/screenshot/diff/image_compare.rb +++ b/lib/capybara/screenshot/diff/image_compare.rb @@ -283,7 +283,7 @@ def same_color?(old_img, new_img, x, y) return color_matches if !@shift_distance_limit || @max_shift_distance == Float::INFINITY shift_distance = (color_matches && 0) || - shift_distance_at(new_img, old_img, x, y, color_distance_limit: @color_distance_limit) + shift_distance_at(new_img, old_img, x, y, color_distance_limit: @color_distance_limit) if shift_distance && (@max_shift_distance.nil? || shift_distance > @max_shift_distance) @max_shift_distance = shift_distance end From d5c2e336c0fdf2ae30eb6c04ba5fcc48cdd82259 Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Wed, 13 Feb 2019 19:55:22 +0100 Subject: [PATCH 042/312] Wait longer when shift_distance is set --- README.md | 7 +++++-- lib/capybara/screenshot/diff/stabilization.rb | 10 ++++++---- lib/capybara/screenshot/diff/version.rb | 2 +- 3 files changed, 12 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 5779062a..8527de40 100644 --- a/README.md +++ b/README.md @@ -355,7 +355,7 @@ method: ```ruby test 'color threshold' do visit '/' - screenshot 'index', shift_distance_limit: 6 + screenshot 'index', shift_distance_limit: 2 end ``` @@ -363,9 +363,12 @@ The difference is calculated as maximum distance in either the X or the Y axis. You can also set this globally: ```ruby -Capybara::Screenshot::Diff.shift_distance_limit = 4 +Capybara::Screenshot::Diff.shift_distance_limit = 1 ``` +**Note:** For each increase in `shift_distance_limit` more pixels are searched for a matching color value, and +this will impact performance **severely** if a match cannot be found. + If `shift_distance_limit` is `nil` shift distance is not measured. If `shift_distance_limit` is set, even to `0`, shift distabnce is measured and reported on image differences. diff --git a/lib/capybara/screenshot/diff/stabilization.rb b/lib/capybara/screenshot/diff/stabilization.rb index 2fa87ced..7215a32e 100644 --- a/lib/capybara/screenshot/diff/stabilization.rb +++ b/lib/capybara/screenshot/diff/stabilization.rb @@ -49,7 +49,7 @@ def take_stable_screenshot(comparison, color_distance_limit:, shift_distance_lim last_image_change_at = Time.now end - check_max_wait_time(comparison, screenshot_started_at) + check_max_wait_time(comparison, screenshot_started_at, shift_distance_limit: shift_distance_limit) end previous_file_name = "#{comparison.new_file_name.chomp('.png')}_x#{format('%02i', i)}.png~" @@ -112,9 +112,11 @@ def take_right_size_screenshot(comparison) # ODOT end - def check_max_wait_time(comparison, screenshot_started_at) - assert (Time.now - screenshot_started_at) < Capybara.default_max_wait_time, - "Could not get stable screenshot within #{Capybara.default_max_wait_time}s\n" \ + def check_max_wait_time(comparison, screenshot_started_at, shift_distance_limit:) + shift_factor = shift_distance_limit ? (shift_distance_limit * 2 + 1) ^ 2 : 1 + max_wait_time = Capybara.default_max_wait_time * shift_factor + assert (Time.now - screenshot_started_at) < max_wait_time, + "Could not get stable screenshot within #{max_wait_time}s\n" \ "#{stabilization_images(comparison.new_file_name).join("\n")}" end diff --git a/lib/capybara/screenshot/diff/version.rb b/lib/capybara/screenshot/diff/version.rb index 769fda72..3b318b17 100644 --- a/lib/capybara/screenshot/diff/version.rb +++ b/lib/capybara/screenshot/diff/version.rb @@ -3,7 +3,7 @@ module Capybara module Screenshot module Diff - VERSION = '0.14.0'.freeze + VERSION = '0.14.1'.freeze end end end From fd2f83bdcedc4b2df428f5f8faff6b4f5d9c6a7f Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Wed, 13 Feb 2019 20:15:30 +0100 Subject: [PATCH 043/312] rubocop --- .rubocop_todo.yml | 2 +- lib/capybara/screenshot/diff/stabilization.rb | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index 2a6c5440..fe2c8890 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -32,7 +32,7 @@ Metrics/MethodLength: # Offense count: 1 # Configuration parameters: CountComments. Metrics/ModuleLength: - Max: 106 + Max: 107 # Offense count: 1 # Configuration parameters: CountKeywordArgs. diff --git a/lib/capybara/screenshot/diff/stabilization.rb b/lib/capybara/screenshot/diff/stabilization.rb index 7215a32e..35bac514 100644 --- a/lib/capybara/screenshot/diff/stabilization.rb +++ b/lib/capybara/screenshot/diff/stabilization.rb @@ -49,7 +49,8 @@ def take_stable_screenshot(comparison, color_distance_limit:, shift_distance_lim last_image_change_at = Time.now end - check_max_wait_time(comparison, screenshot_started_at, shift_distance_limit: shift_distance_limit) + check_max_wait_time(comparison, screenshot_started_at, + shift_distance_limit: shift_distance_limit) end previous_file_name = "#{comparison.new_file_name.chomp('.png')}_x#{format('%02i', i)}.png~" From ae98d84dc0c764459e0779e203a2ae47a4a1f658 Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Fri, 1 Mar 2019 17:29:37 +0100 Subject: [PATCH 044/312] Handle matching images --- lib/capybara/screenshot/diff/image_compare.rb | 1 + lib/capybara/screenshot/diff/test_methods.rb | 2 ++ lib/capybara/screenshot/diff/version.rb | 2 +- 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/capybara/screenshot/diff/image_compare.rb b/lib/capybara/screenshot/diff/image_compare.rb index 7bd9d79a..ebce614a 100644 --- a/lib/capybara/screenshot/diff/image_compare.rb +++ b/lib/capybara/screenshot/diff/image_compare.rb @@ -234,6 +234,7 @@ def find_top(old_img, new_img) return [x, y, x, y] unless same_color?(old_img, new_img, x, y) end end + nil end def find_left_right_and_top(old_img, new_img) diff --git a/lib/capybara/screenshot/diff/test_methods.rb b/lib/capybara/screenshot/diff/test_methods.rb index 558b8c4c..373243fd 100644 --- a/lib/capybara/screenshot/diff/test_methods.rb +++ b/lib/capybara/screenshot/diff/test_methods.rb @@ -65,6 +65,7 @@ def screenshot_group(name) FileUtils.rm_rf screenshot_dir end + # @return [Boolean] wether a screenshot was taken def screenshot(name, color_distance_limit: Diff.color_distance_limit, shift_distance_limit: Diff.shift_distance_limit, area_size_limit: Diff.area_size_limit) return unless Screenshot.active? @@ -88,6 +89,7 @@ def screenshot(name, color_distance_limit: Diff.color_distance_limit, return unless comparison.old_file_exists? (@test_screenshots ||= []) << [caller(1..1).first, name, comparison] + true end def window_size_is_wrong? diff --git a/lib/capybara/screenshot/diff/version.rb b/lib/capybara/screenshot/diff/version.rb index 3b318b17..aae3cebe 100644 --- a/lib/capybara/screenshot/diff/version.rb +++ b/lib/capybara/screenshot/diff/version.rb @@ -3,7 +3,7 @@ module Capybara module Screenshot module Diff - VERSION = '0.14.1'.freeze + VERSION = '0.14.2'.freeze end end end From f18217f5518bb0654e5a6445a6ae2f2ad1ea8d47 Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Tue, 9 Apr 2019 10:51:41 +0200 Subject: [PATCH 045/312] Allow setting `skip_area:` - not in use, yet --- lib/capybara/screenshot/diff/image_compare.rb | 2 +- lib/capybara/screenshot/diff/test_methods.rb | 9 ++++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/lib/capybara/screenshot/diff/image_compare.rb b/lib/capybara/screenshot/diff/image_compare.rb index ebce614a..72360168 100644 --- a/lib/capybara/screenshot/diff/image_compare.rb +++ b/lib/capybara/screenshot/diff/image_compare.rb @@ -11,7 +11,7 @@ class ImageCompare attr_reader :annotated_new_file_name, :annotated_old_file_name, :new_file_name, :old_file_name def initialize(new_file_name, old_file_name = nil, dimensions: nil, color_distance_limit: nil, - area_size_limit: nil, shift_distance_limit: nil) + area_size_limit: nil, shift_distance_limit: nil, skip_area: nil) @new_file_name = new_file_name @color_distance_limit = color_distance_limit @area_size_limit = area_size_limit diff --git a/lib/capybara/screenshot/diff/test_methods.rb b/lib/capybara/screenshot/diff/test_methods.rb index 373243fd..0ac10a15 100644 --- a/lib/capybara/screenshot/diff/test_methods.rb +++ b/lib/capybara/screenshot/diff/test_methods.rb @@ -67,7 +67,8 @@ def screenshot_group(name) # @return [Boolean] wether a screenshot was taken def screenshot(name, color_distance_limit: Diff.color_distance_limit, - shift_distance_limit: Diff.shift_distance_limit, area_size_limit: Diff.area_size_limit) + shift_distance_limit: Diff.shift_distance_limit, area_size_limit: Diff.area_size_limit, + skip_area: nil) return unless Screenshot.active? return if window_size_is_wrong? @@ -81,11 +82,13 @@ def screenshot(name, color_distance_limit: Diff.color_distance_limit, FileUtils.mkdir_p File.dirname(file_name) comparison = ImageCompare.new(file_name, dimensions: Screenshot.window_size, color_distance_limit: color_distance_limit, - area_size_limit: area_size_limit, shift_distance_limit: shift_distance_limit) + area_size_limit: area_size_limit, shift_distance_limit: shift_distance_limit, + skip_area: skip_area) checkout_vcs(name, comparison) take_stable_screenshot(comparison, color_distance_limit: color_distance_limit, shift_distance_limit: shift_distance_limit, - area_size_limit: area_size_limit) + area_size_limit: area_size_limit, + skip_area: skip_area) return unless comparison.old_file_exists? (@test_screenshots ||= []) << [caller(1..1).first, name, comparison] From 2df741dd24a0e010d836002cc67b47b95caf7bac Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Tue, 9 Apr 2019 22:54:34 +0200 Subject: [PATCH 046/312] Add the `skip_area` option --- README.md | 19 +++++++++++++++++++ lib/capybara/screenshot/diff/image_compare.rb | 2 ++ lib/capybara/screenshot/diff/stabilization.rb | 4 ++-- lib/capybara/screenshot/diff/version.rb | 2 +- 4 files changed, 24 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 8527de40..cd153153 100644 --- a/README.md +++ b/README.md @@ -391,6 +391,25 @@ Capybara::Screenshot::Diff.area_size_limit = 42 ``` +### Skipping an area + +Sometimes you have expected change that you want to ignore. +You can use the `skip_area` option to the `screenshot` method to ignore an area: + +```ruby +test 'unstable area' do + visit '/' + screenshot 'index', skip_area: [17, 6, 27, 16] +end +``` + +The arguments are [x1, y1, x2, y2] for the area you want to ignore. You can also set this globally: + +```ruby +Capybara::Screenshot::Diff.skip_area = [0, 0, 64, 48] +``` + + ## Development After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake test` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment. diff --git a/lib/capybara/screenshot/diff/image_compare.rb b/lib/capybara/screenshot/diff/image_compare.rb index 72360168..e52444cf 100644 --- a/lib/capybara/screenshot/diff/image_compare.rb +++ b/lib/capybara/screenshot/diff/image_compare.rb @@ -17,6 +17,7 @@ def initialize(new_file_name, old_file_name = nil, dimensions: nil, color_distan @area_size_limit = area_size_limit @shift_distance_limit = shift_distance_limit @dimensions = dimensions + @skip_area = skip_area @old_file_name = old_file_name || "#{new_file_name}~" @annotated_old_file_name = "#{new_file_name.chomp('.png')}_0.png~" @annotated_new_file_name = "#{new_file_name.chomp('.png')}_1.png~" @@ -274,6 +275,7 @@ def find_bottom(old_img, new_img, left, right, bottom) end def same_color?(old_img, new_img, x, y) + return true if @skip_area && @skip_area[0] <= x && x <= @skip_area[2] && @skip_area[1] <= y && y <= @skip_area[3] color_distance = color_distance_at(new_img, old_img, x, y, shift_distance_limit: @shift_distance_limit) if !@max_color_distance || color_distance > @max_color_distance diff --git a/lib/capybara/screenshot/diff/stabilization.rb b/lib/capybara/screenshot/diff/stabilization.rb index 35bac514..8859a78e 100644 --- a/lib/capybara/screenshot/diff/stabilization.rb +++ b/lib/capybara/screenshot/diff/stabilization.rb @@ -19,7 +19,7 @@ module Stabilization JS def take_stable_screenshot(comparison, color_distance_limit:, shift_distance_limit:, - area_size_limit:) + area_size_limit:, skip_area:) blurred_input = prepare_page_for_screenshot previous_file_name = comparison.old_file_name screenshot_started_at = last_image_change_at = Time.now @@ -38,7 +38,7 @@ def take_stable_screenshot(comparison, color_distance_limit:, shift_distance_lim stabilization_comparison = ImageCompare.new(comparison.new_file_name, previous_file_name, color_distance_limit: color_distance_limit, shift_distance_limit: shift_distance_limit, - area_size_limit: area_size_limit) + area_size_limit: area_size_limit, skip_area: skip_area) if stabilization_comparison.quick_equal? if (Time.now - last_image_change_at) > Capybara::Screenshot.stability_time_limit clean_stabilization_images(comparison.new_file_name) diff --git a/lib/capybara/screenshot/diff/version.rb b/lib/capybara/screenshot/diff/version.rb index aae3cebe..43ed9fe3 100644 --- a/lib/capybara/screenshot/diff/version.rb +++ b/lib/capybara/screenshot/diff/version.rb @@ -3,7 +3,7 @@ module Capybara module Screenshot module Diff - VERSION = '0.14.2'.freeze + VERSION = '0.15.0'.freeze end end end From 3028b6ade1598c303ba8f09411e8926b921afda8 Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Thu, 11 Apr 2019 18:41:13 +0200 Subject: [PATCH 047/312] Sort stabilization images --- .rubocop_todo.yml | 21 ++++++++++--------- lib/capybara/screenshot/diff/image_compare.rb | 6 +++++- lib/capybara/screenshot/diff/stabilization.rb | 2 +- lib/capybara/screenshot/diff/version.rb | 2 +- 4 files changed, 18 insertions(+), 13 deletions(-) diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index fe2c8890..14e5fe86 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -1,6 +1,6 @@ # This configuration was generated by # `rubocop --auto-gen-config` -# on 2018-06-26 14:23:03 +0200 using RuboCop version 0.57.2. +# on 2019-04-11 18:39:44 +0200 using RuboCop version 0.67.2. # The point is for the user to remove these configuration records # one by one as the offenses are removed from the code base. # Note that changes in the inspected code, or installation of new @@ -8,24 +8,25 @@ # Offense count: 12 Metrics/AbcSize: - Max: 55 + Max: 50 -# Offense count: 1 +# Offense count: 2 # Configuration parameters: CountComments, ExcludedMethods. +# ExcludedMethods: refine Metrics/BlockLength: Max: 44 # Offense count: 1 # Configuration parameters: CountComments. Metrics/ClassLength: - Max: 303 + Max: 305 # Offense count: 6 Metrics/CyclomaticComplexity: - Max: 13 + Max: 18 -# Offense count: 16 -# Configuration parameters: CountComments. +# Offense count: 15 +# Configuration parameters: CountComments, ExcludedMethods. Metrics/MethodLength: Max: 49 @@ -37,15 +38,15 @@ Metrics/ModuleLength: # Offense count: 1 # Configuration parameters: CountKeywordArgs. Metrics/ParameterLists: - Max: 6 + Max: 7 # Offense count: 6 Metrics/PerceivedComplexity: - Max: 15 + Max: 18 # Offense count: 2 # Configuration parameters: MinNameLength, AllowNamesEndingInNumbers, AllowedNames, ForbiddenNames. -# AllowedNames: io, id, to, by, on, in, at +# AllowedNames: io, id, to, by, on, in, at, ip, db Naming/UncommunicativeMethodParamName: Exclude: - 'lib/capybara/screenshot/diff/image_compare.rb' diff --git a/lib/capybara/screenshot/diff/image_compare.rb b/lib/capybara/screenshot/diff/image_compare.rb index e52444cf..71765877 100644 --- a/lib/capybara/screenshot/diff/image_compare.rb +++ b/lib/capybara/screenshot/diff/image_compare.rb @@ -275,7 +275,11 @@ def find_bottom(old_img, new_img, left, right, bottom) end def same_color?(old_img, new_img, x, y) - return true if @skip_area && @skip_area[0] <= x && x <= @skip_area[2] && @skip_area[1] <= y && y <= @skip_area[3] + if @skip_area && @skip_area[0] <= x && x <= @skip_area[2] && + @skip_area[1] <= y && y <= @skip_area[3] + return true + end + color_distance = color_distance_at(new_img, old_img, x, y, shift_distance_limit: @shift_distance_limit) if !@max_color_distance || color_distance > @max_color_distance diff --git a/lib/capybara/screenshot/diff/stabilization.rb b/lib/capybara/screenshot/diff/stabilization.rb index 8859a78e..15c91312 100644 --- a/lib/capybara/screenshot/diff/stabilization.rb +++ b/lib/capybara/screenshot/diff/stabilization.rb @@ -81,7 +81,7 @@ def reduce_retina_image_size(file_name) end def stabilization_images(base_file) - Dir["#{base_file.chomp('.png')}_x*.png~"] + Dir["#{base_file.chomp('.png')}_x*.png~"].sort end def clean_stabilization_images(base_file) diff --git a/lib/capybara/screenshot/diff/version.rb b/lib/capybara/screenshot/diff/version.rb index 43ed9fe3..2b8cd3a4 100644 --- a/lib/capybara/screenshot/diff/version.rb +++ b/lib/capybara/screenshot/diff/version.rb @@ -3,7 +3,7 @@ module Capybara module Screenshot module Diff - VERSION = '0.15.0'.freeze + VERSION = '0.15.1'.freeze end end end From c4f86a6aeac3835185e36f049b957702fd85d0c9 Mon Sep 17 00:00:00 2001 From: Miguel Parramon Date: Tue, 7 May 2019 15:33:41 +0200 Subject: [PATCH 048/312] Fix a couple of typos MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 😄 --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index cd153153..7efaad3a 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,7 @@ Add this line to your application's Gemfile: ```ruby gem 'capybara-screenshot-diff' -gem 'oily_png', platform :ruby +gem 'oily_png', platform: :ruby ``` And then execute: @@ -145,7 +145,7 @@ end test 'my subfeature' do screenshot_group 'subfeature' visit '/feature' - click_button 'Interresting button' + click_button 'Interesting button' screenshot 'subfeature_index' click_button 'Perform action' screenshot 'action_performed' From 12e4745aaec1468c81dc819b85b9a19438626cc0 Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Wed, 8 May 2019 10:18:43 +0200 Subject: [PATCH 049/312] Add indentation setting fro Rubocop --- .rubocop.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.rubocop.yml b/.rubocop.yml index 8ed710d4..d7bfdeea 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -7,6 +7,10 @@ AllCops: Exclude: - gemfiles/vendor/**/* +Layout/AlignArguments: + EnforcedStyle: with_fixed_indentation + IndentationWidth: 4 + Layout/AlignParameters: EnforcedStyle: with_fixed_indentation IndentationWidth: 4 From b90ec53be90a24b45afe6080a48b9f4fc51c4d76 Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Wed, 8 May 2019 10:21:20 +0200 Subject: [PATCH 050/312] Bump supported Ruby version to 2.3 Test with truffleruby Update travis Ruby versions --- .rubocop.yml | 2 +- .travis.yml | 15 ++++++--------- 2 files changed, 7 insertions(+), 10 deletions(-) diff --git a/.rubocop.yml b/.rubocop.yml index d7bfdeea..35817ee3 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -1,7 +1,7 @@ inherit_from: .rubocop_todo.yml AllCops: - TargetRubyVersion: 2.2 + TargetRubyVersion: 2.3 DisplayCopNames: true DisplayStyleGuide: true Exclude: diff --git a/.travis.yml b/.travis.yml index b2a12151..9ef476e9 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,10 +2,12 @@ language: ruby sudo: false cache: bundler rvm: - - jruby-9.2.0.0 - - ruby-2.5.1 - - ruby-2.4.4 - - ruby-2.3.7 + - jruby-9.2.7.0 + - ruby-2.6.3 + - ruby-2.5.5 + - ruby-2.4.6 + - ruby-2.3.8 + - truffleruby-1.0.0-rc16 gemfile: - gemfiles/rails52.gemfile @@ -18,8 +20,3 @@ env: jdk: - oraclejdk8 - -# FIXME(uwe): Remove when fixed: https://github.com/travis-ci/travis-ci/issues/9383 -before_install: - - gem install bundler -# EMXIF From e63533de437553e60e60fc47d2be469d29de9f3c Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Wed, 8 May 2019 10:35:39 +0200 Subject: [PATCH 051/312] Start using Ruby 2.3 syntax Test with Rails 6.0 --- Gemfile | 2 ++ Rakefile | 2 ++ bin/console | 1 + capybara-screenshot-diff.gemspec | 4 +++- gemfiles/common.gemfile | 2 ++ gemfiles/rails42.gemfile | 2 ++ gemfiles/rails50.gemfile | 2 ++ gemfiles/rails51.gemfile | 2 ++ gemfiles/rails52.gemfile | 2 ++ gemfiles/rails60.gemfile | 5 +++++ lib/capybara/screenshot/diff.rb | 4 +++- lib/capybara/screenshot/diff/image_compare.rb | 2 ++ lib/capybara/screenshot/diff/os.rb | 2 ++ lib/capybara/screenshot/diff/stabilization.rb | 4 +++- lib/capybara/screenshot/diff/test_methods.rb | 2 ++ lib/capybara/screenshot/diff/vcs.rb | 2 ++ lib/capybara/screenshot/diff/version.rb | 2 +- matrix_test.rb | 1 + test/capybara/screenshot/diff/image_compare_test.rb | 2 ++ test/capybara/screenshot/diff/test_methods_test.rb | 2 ++ test/capybara/screenshot/diff_test.rb | 2 ++ test/test_helper.rb | 2 ++ 22 files changed, 47 insertions(+), 4 deletions(-) create mode 100644 gemfiles/rails60.gemfile diff --git a/Gemfile b/Gemfile index 2042e964..41cfa798 100644 --- a/Gemfile +++ b/Gemfile @@ -1,3 +1,5 @@ +# frozen_string_literal: true + source 'https://rubygems.org' # Specify your gem's dependencies in capybara-screenshot-diff.gemspec diff --git a/Rakefile b/Rakefile index d92a03f8..0a0a49b3 100644 --- a/Rakefile +++ b/Rakefile @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'bundler/gem_tasks' require 'rake/testtask' diff --git a/bin/console b/bin/console index 22f25a19..5669dd41 100755 --- a/bin/console +++ b/bin/console @@ -1,4 +1,5 @@ #!/usr/bin/env ruby +# frozen_string_literal: true require 'bundler/setup' require 'capybara/screenshot/diff' diff --git a/capybara-screenshot-diff.gemspec b/capybara-screenshot-diff.gemspec index 95a297ae..1d2e71d7 100644 --- a/capybara-screenshot-diff.gemspec +++ b/capybara-screenshot-diff.gemspec @@ -1,3 +1,5 @@ +# frozen_string_literal: true + lib = File.expand_path('lib', __dir__) $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib) require 'capybara/screenshot/diff/version' @@ -10,7 +12,7 @@ Gem::Specification.new do |spec| spec.summary = 'Track your GUI changes with diff assertions' spec.description = 'Save screen shots and track changes with graphical diff' spec.homepage = 'https://github.com/donv/capybara-screenshot-diff' - spec.required_ruby_version = '~> 2.2' + spec.required_ruby_version = '~> 2.3' spec.license = 'MIT' spec.metadata['allowed_push_host'] = 'https://rubygems.org/' spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) } diff --git a/gemfiles/common.gemfile b/gemfiles/common.gemfile index c856e015..2a950a78 100644 --- a/gemfiles/common.gemfile +++ b/gemfiles/common.gemfile @@ -1,3 +1,5 @@ +# frozen_string_literal: true + source 'https://rubygems.org' gem 'capybara', '~> 2.0' diff --git a/gemfiles/rails42.gemfile b/gemfiles/rails42.gemfile index fd6bd986..54dc409d 100644 --- a/gemfiles/rails42.gemfile +++ b/gemfiles/rails42.gemfile @@ -1,3 +1,5 @@ +# frozen_string_literal: true + eval File.read("#{__dir__}/common.gemfile") gem 'actionpack', '~>4.2.7' diff --git a/gemfiles/rails50.gemfile b/gemfiles/rails50.gemfile index 2a5c55af..1159aa6e 100644 --- a/gemfiles/rails50.gemfile +++ b/gemfiles/rails50.gemfile @@ -1,3 +1,5 @@ +# frozen_string_literal: true + eval File.read("#{__dir__}/common.gemfile") gem 'actionpack', '~>5.0.1' diff --git a/gemfiles/rails51.gemfile b/gemfiles/rails51.gemfile index 215689cf..010b03c9 100644 --- a/gemfiles/rails51.gemfile +++ b/gemfiles/rails51.gemfile @@ -1,3 +1,5 @@ +# frozen_string_literal: true + eval File.read("#{__dir__}/common.gemfile") gem 'actionpack', '~>5.1.2' diff --git a/gemfiles/rails52.gemfile b/gemfiles/rails52.gemfile index 219ef13c..8527e323 100644 --- a/gemfiles/rails52.gemfile +++ b/gemfiles/rails52.gemfile @@ -1,3 +1,5 @@ +# frozen_string_literal: true + eval File.read("#{__dir__}/common.gemfile") gem 'actionpack', '~>5.2.1' diff --git a/gemfiles/rails60.gemfile b/gemfiles/rails60.gemfile new file mode 100644 index 00000000..bbb0ca97 --- /dev/null +++ b/gemfiles/rails60.gemfile @@ -0,0 +1,5 @@ +# frozen_string_literal: true + +eval File.read("#{__dir__}/common.gemfile") + +gem 'actionpack', '~>6.0.0' diff --git a/lib/capybara/screenshot/diff.rb b/lib/capybara/screenshot/diff.rb index 4815124f..65eedb7a 100644 --- a/lib/capybara/screenshot/diff.rb +++ b/lib/capybara/screenshot/diff.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'capybara/dsl' require 'capybara/screenshot/diff/version' require 'capybara/screenshot/diff/image_compare' @@ -29,7 +31,7 @@ def screenshot_area end def screenshot_area_abs - "#{root}/#{screenshot_area}".freeze + "#{root}/#{screenshot_area}" end end diff --git a/lib/capybara/screenshot/diff/image_compare.rb b/lib/capybara/screenshot/diff/image_compare.rb index 71765877..971b905c 100644 --- a/lib/capybara/screenshot/diff/image_compare.rb +++ b/lib/capybara/screenshot/diff/image_compare.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'chunky_png' module Capybara diff --git a/lib/capybara/screenshot/diff/os.rb b/lib/capybara/screenshot/diff/os.rb index 5d71d577..fcd71f34 100644 --- a/lib/capybara/screenshot/diff/os.rb +++ b/lib/capybara/screenshot/diff/os.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + module Capybara module Screenshot module Os diff --git a/lib/capybara/screenshot/diff/stabilization.rb b/lib/capybara/screenshot/diff/stabilization.rb index 15c91312..b217f582 100644 --- a/lib/capybara/screenshot/diff/stabilization.rb +++ b/lib/capybara/screenshot/diff/stabilization.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require_relative 'os' module Capybara @@ -58,7 +60,7 @@ def take_stable_screenshot(comparison, color_distance_limit:, shift_distance_lim FileUtils.mv comparison.new_file_name, previous_file_name end ensure - blurred_input.click if blurred_input + blurred_input&.click end private diff --git a/lib/capybara/screenshot/diff/test_methods.rb b/lib/capybara/screenshot/diff/test_methods.rb index 0ac10a15..0418bc56 100644 --- a/lib/capybara/screenshot/diff/test_methods.rb +++ b/lib/capybara/screenshot/diff/test_methods.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'English' require 'capybara' require 'action_controller' diff --git a/lib/capybara/screenshot/diff/vcs.rb b/lib/capybara/screenshot/diff/vcs.rb index 2627fcc6..cd822026 100644 --- a/lib/capybara/screenshot/diff/vcs.rb +++ b/lib/capybara/screenshot/diff/vcs.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require_relative 'os' module Capybara module Screenshot diff --git a/lib/capybara/screenshot/diff/version.rb b/lib/capybara/screenshot/diff/version.rb index 2b8cd3a4..dad80d87 100644 --- a/lib/capybara/screenshot/diff/version.rb +++ b/lib/capybara/screenshot/diff/version.rb @@ -3,7 +3,7 @@ module Capybara module Screenshot module Diff - VERSION = '0.15.1'.freeze + VERSION = '0.15.1' end end end diff --git a/matrix_test.rb b/matrix_test.rb index f9994d42..913bf2de 100755 --- a/matrix_test.rb +++ b/matrix_test.rb @@ -1,4 +1,5 @@ #!/usr/bin/env ruby -w +# frozen_string_literal: true system('rubocop --auto-correct') || exit(1) diff --git a/test/capybara/screenshot/diff/image_compare_test.rb b/test/capybara/screenshot/diff/image_compare_test.rb index 4be240dc..d649fcd8 100644 --- a/test/capybara/screenshot/diff/image_compare_test.rb +++ b/test/capybara/screenshot/diff/image_compare_test.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'test_helper' module Capybara diff --git a/test/capybara/screenshot/diff/test_methods_test.rb b/test/capybara/screenshot/diff/test_methods_test.rb index c55d7ccb..94a4764a 100644 --- a/test/capybara/screenshot/diff/test_methods_test.rb +++ b/test/capybara/screenshot/diff/test_methods_test.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'test_helper' module Capybara diff --git a/test/capybara/screenshot/diff_test.rb b/test/capybara/screenshot/diff_test.rb index 541258d0..47d83c57 100644 --- a/test/capybara/screenshot/diff_test.rb +++ b/test/capybara/screenshot/diff_test.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'test_helper' module Capybara diff --git a/test/test_helper.rb b/test/test_helper.rb index 44197135..284b0f7e 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + if defined?(Rake) && (RUBY_ENGINE != 'jruby' || org.jruby.RubyInstanceConfig.FULL_TRACE_ENABLED) require 'simplecov' SimpleCov.start From a68ec00d4b1af5bb7ff4123ef194b2827a1a8ce8 Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Wed, 8 May 2019 10:47:28 +0200 Subject: [PATCH 052/312] Test with Rails 6.0 --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index 9ef476e9..92296e74 100644 --- a/.travis.yml +++ b/.travis.yml @@ -10,6 +10,7 @@ rvm: - truffleruby-1.0.0-rc16 gemfile: + - gemfiles/rails60.gemfile - gemfiles/rails52.gemfile - gemfiles/rails51.gemfile - gemfiles/rails50.gemfile From aafd03bc9416be9618349a919612a1384ca7ccff Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Wed, 8 May 2019 10:58:16 +0200 Subject: [PATCH 053/312] use dist: xenial --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index 92296e74..c7823743 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,3 +1,4 @@ +dist: xenial language: ruby sudo: false cache: bundler From 9d8b325664b307d36b1d6b22b2e5439af8a8b40d Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Wed, 8 May 2019 11:00:50 +0200 Subject: [PATCH 054/312] Rails 6 has not bee released yet --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index c7823743..1e8fbadf 100644 --- a/.travis.yml +++ b/.travis.yml @@ -11,7 +11,7 @@ rvm: - truffleruby-1.0.0-rc16 gemfile: - - gemfiles/rails60.gemfile +# - gemfiles/rails60.gemfile - gemfiles/rails52.gemfile - gemfiles/rails51.gemfile - gemfiles/rails50.gemfile From fdf3e6aafe9a5c5a92a242e1779c10552ccf8782 Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Wed, 8 May 2019 11:02:21 +0200 Subject: [PATCH 055/312] Seems xenial does not support JDK8 --- .travis.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 1e8fbadf..23319c47 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,4 +1,3 @@ -dist: xenial language: ruby sudo: false cache: bundler From 8c0246864b50ce7bd388f50a36af596ef32f8d52 Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Wed, 8 May 2019 12:43:52 +0200 Subject: [PATCH 056/312] Re-enable testing with Raisl 6.0.0.rc1 Allow truffleruby to fail Add rubocop-performance --- .rubocop.yml | 1 + .travis.yml | 9 +++++++-- capybara-screenshot-diff.gemspec | 1 + gemfiles/common.gemfile | 1 + gemfiles/rails60.gemfile | 2 +- lib/capybara/screenshot/diff.rb | 2 +- matrix_test.rb | 16 ++++++++++------ 7 files changed, 22 insertions(+), 10 deletions(-) diff --git a/.rubocop.yml b/.rubocop.yml index 35817ee3..97bb1f62 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -1,4 +1,5 @@ inherit_from: .rubocop_todo.yml +require: rubocop-performance AllCops: TargetRubyVersion: 2.3 diff --git a/.travis.yml b/.travis.yml index 23319c47..c50e87ad 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,7 +2,7 @@ language: ruby sudo: false cache: bundler rvm: - - jruby-9.2.7.0 +# - jruby-9.2.7.0 - ruby-2.6.3 - ruby-2.5.5 - ruby-2.4.6 @@ -10,7 +10,7 @@ rvm: - truffleruby-1.0.0-rc16 gemfile: -# - gemfiles/rails60.gemfile + - gemfiles/rails60.gemfile - gemfiles/rails52.gemfile - gemfiles/rails51.gemfile - gemfiles/rails50.gemfile @@ -21,3 +21,8 @@ env: jdk: - oraclejdk8 + +matrix: + fast_finish: true + allow_failures: + - rvm: truffleruby-1.0.0-rc16 diff --git a/capybara-screenshot-diff.gemspec b/capybara-screenshot-diff.gemspec index 1d2e71d7..0f292373 100644 --- a/capybara-screenshot-diff.gemspec +++ b/capybara-screenshot-diff.gemspec @@ -29,5 +29,6 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'minitest-reporters' spec.add_development_dependency 'rake' spec.add_development_dependency 'rubocop', '~> 0.54' + spec.add_development_dependency 'rubocop-performance', '~> 0.0' spec.add_development_dependency 'simplecov', '~> 0.11' end diff --git a/gemfiles/common.gemfile b/gemfiles/common.gemfile index 2a950a78..389e15c0 100644 --- a/gemfiles/common.gemfile +++ b/gemfiles/common.gemfile @@ -8,4 +8,5 @@ gem 'minitest', '~> 5.0' gem 'minitest-reporters' gem 'rake' gem 'rubocop', '~> 0.39' +gem 'rubocop-performance', '~> 0.0' gem 'simplecov', '~> 0.11' diff --git a/gemfiles/rails60.gemfile b/gemfiles/rails60.gemfile index bbb0ca97..d98310a8 100644 --- a/gemfiles/rails60.gemfile +++ b/gemfiles/rails60.gemfile @@ -2,4 +2,4 @@ eval File.read("#{__dir__}/common.gemfile") -gem 'actionpack', '~>6.0.0' +gem 'actionpack', '~>6.0.0.rc1' diff --git a/lib/capybara/screenshot/diff.rb b/lib/capybara/screenshot/diff.rb index 65eedb7a..864021a3 100644 --- a/lib/capybara/screenshot/diff.rb +++ b/lib/capybara/screenshot/diff.rb @@ -60,7 +60,7 @@ def self.included(clas) clas.teardown do if Capybara::Screenshot::Diff.enabled && @test_screenshots test_screenshot_errors = @test_screenshots - .map { |caller, name, compare| assert_image_not_changed(caller, name, compare) }.compact + .map { |caller, name, compare| assert_image_not_changed(caller, name, compare) }.compact! fail(test_screenshot_errors.join("\n\n")) if test_screenshot_errors.any? end end diff --git a/matrix_test.rb b/matrix_test.rb index 913bf2de..da14febf 100755 --- a/matrix_test.rb +++ b/matrix_test.rb @@ -16,21 +16,27 @@ def run_script(ruby, env, gemfile) puts "Testing #{ruby} #{gemfile} #{env}" puts system("chruby-exec #{ruby} -- bundle exec rake") || exit(1) + puts "Testing #{ruby} #{gemfile} OK" puts '*' * 80 end def use_gemfile(ruby, gemfile, update_gemfiles) puts '$' * 80 - puts "Testing #{gemfile}" - puts ENV['BUNDLE_GEMFILE'] = gemfile + + bundler_version = `grep -A1 "BUNDLED WITH" #{gemfile}.lock | tail -n 1` + bundler_version = '~> 2.0' if bundler_version.strip.empty? + + version_arg = "-v '#{bundler_version}'" + bundler_gem_check_cmd = "chruby-exec #{ruby} -- gem query -i -n bundler #{version_arg} >/dev/null" + system "#{bundler_gem_check_cmd} || chruby-exec #{ruby} -- gem install #{version_arg} bundler" || exit(1) + if update_gemfiles system "chruby-exec #{ruby} -- bundle update" else - system "chruby-exec #{ruby} -- bundle check || chruby-exec #{ruby} -- bundle install" + system "chruby-exec #{ruby} -- bundle check >/dev/null || chruby-exec #{ruby} -- bundle install" end || exit(1) yield - puts "Testing #{gemfile} OK" puts '$' * 80 end @@ -41,8 +47,6 @@ def use_gemfile(ruby, gemfile, update_gemfiles) puts "Testing #{ruby}" puts system "ruby-install --no-reinstall #{ruby}" || exit(1) - bundler_gem_check_cmd = "chruby-exec #{ruby} -- gem query -i -n bundler >/dev/null" - system "#{bundler_gem_check_cmd} || chruby-exec #{ruby} -- gem install bundler" || exit(1) travis['gemfile'].each do |gemfile| if travis['matrix'] && (travis['matrix']['exclude'].to_a + travis['matrix']['allowed_failures'].to_a) From c673bd7ba3cb72054549342547d831643c7b506b Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Wed, 8 May 2019 13:41:17 +0200 Subject: [PATCH 057/312] Exclude Rails 6 + older Rubies --- .travis.yml | 7 ++++++- matrix_test.rb | 4 ++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index c50e87ad..04eb9337 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,7 +2,7 @@ language: ruby sudo: false cache: bundler rvm: -# - jruby-9.2.7.0 + - jruby-9.2.7.0 - ruby-2.6.3 - ruby-2.5.5 - ruby-2.4.6 @@ -24,5 +24,10 @@ jdk: matrix: fast_finish: true + exclude: + - rvm: ruby-2.4.6 + gemfile: gemfiles/rails60.gemfile + - rvm: ruby-2.3.8 + gemfile: gemfiles/rails60.gemfile allow_failures: - rvm: truffleruby-1.0.0-rc16 diff --git a/matrix_test.rb b/matrix_test.rb index da14febf..5f8674e2 100755 --- a/matrix_test.rb +++ b/matrix_test.rb @@ -49,8 +49,8 @@ def use_gemfile(ruby, gemfile, update_gemfiles) system "ruby-install --no-reinstall #{ruby}" || exit(1) travis['gemfile'].each do |gemfile| if travis['matrix'] && - (travis['matrix']['exclude'].to_a + travis['matrix']['allowed_failures'].to_a) - .any? { |f| f['rvm'] == ruby && f['gemfile'] == gemfile } + (travis['matrix']['exclude'].to_a + travis['matrix']['allow_failures'].to_a) + .any? { |f| f['rvm'] == ruby && (f['gemfile'].nil? || f['gemfile'] == gemfile) } puts 'Skipping known failure.' next end From fa72c7d2ed4fc8bde8e305e93de5b2d294f54c96 Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Wed, 8 May 2019 13:49:39 +0200 Subject: [PATCH 058/312] Allow using with Rails 6.x --- README.md | 2 +- capybara-screenshot-diff.gemspec | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 7efaad3a..2a37a487 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ taking screen shots and comparing them to the previous revision. ## Installation -Add this line to your application's Gemfile: +Add these lines to your application's Gemfile: ```ruby gem 'capybara-screenshot-diff' diff --git a/capybara-screenshot-diff.gemspec b/capybara-screenshot-diff.gemspec index 0f292373..504f7a74 100644 --- a/capybara-screenshot-diff.gemspec +++ b/capybara-screenshot-diff.gemspec @@ -20,7 +20,7 @@ Gem::Specification.new do |spec| spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) } spec.require_paths = ['lib'] - spec.add_runtime_dependency 'actionpack', '>= 4.2', '< 5.3' + spec.add_runtime_dependency 'actionpack', '>= 4.2', '< 7' spec.add_runtime_dependency 'capybara', '>= 2', '< 4' spec.add_runtime_dependency 'chunky_png', '~> 1.3' From cd62ae624cceaf3361c32c6aee2c0c0dd6822ece Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Wed, 8 May 2019 13:53:54 +0200 Subject: [PATCH 059/312] Bump version to 1.0.0 to indicate stable API --- lib/capybara/screenshot/diff/version.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/capybara/screenshot/diff/version.rb b/lib/capybara/screenshot/diff/version.rb index dad80d87..997a1f84 100644 --- a/lib/capybara/screenshot/diff/version.rb +++ b/lib/capybara/screenshot/diff/version.rb @@ -3,7 +3,7 @@ module Capybara module Screenshot module Diff - VERSION = '0.15.1' + VERSION = '1.0.0' end end end From d240bc4ffb889709252163ad98d4b92c159c985d Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Mon, 27 May 2019 22:15:24 +0200 Subject: [PATCH 060/312] Avoid nil reference --- lib/capybara/screenshot/diff.rb | 4 ++-- lib/capybara/screenshot/diff/version.rb | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/capybara/screenshot/diff.rb b/lib/capybara/screenshot/diff.rb index 864021a3..22e46a2d 100644 --- a/lib/capybara/screenshot/diff.rb +++ b/lib/capybara/screenshot/diff.rb @@ -59,8 +59,8 @@ def self.included(clas) clas.teardown do if Capybara::Screenshot::Diff.enabled && @test_screenshots - test_screenshot_errors = @test_screenshots - .map { |caller, name, compare| assert_image_not_changed(caller, name, compare) }.compact! + test_screenshot_errors = @test_screenshots.map(&method(:assert_image_not_changed)) + test_screenshot_errors.compact! fail(test_screenshot_errors.join("\n\n")) if test_screenshot_errors.any? end end diff --git a/lib/capybara/screenshot/diff/version.rb b/lib/capybara/screenshot/diff/version.rb index 997a1f84..528b3095 100644 --- a/lib/capybara/screenshot/diff/version.rb +++ b/lib/capybara/screenshot/diff/version.rb @@ -3,7 +3,7 @@ module Capybara module Screenshot module Diff - VERSION = '1.0.0' + VERSION = '1.0.1' end end end From a037a4b4fab2242cd79d117db39805095e72ae05 Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Mon, 27 May 2019 22:24:44 +0200 Subject: [PATCH 061/312] Fix method arguments --- lib/capybara/screenshot/diff.rb | 3 ++- lib/capybara/screenshot/diff/version.rb | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/capybara/screenshot/diff.rb b/lib/capybara/screenshot/diff.rb index 22e46a2d..ec2b9ecb 100644 --- a/lib/capybara/screenshot/diff.rb +++ b/lib/capybara/screenshot/diff.rb @@ -59,7 +59,8 @@ def self.included(clas) clas.teardown do if Capybara::Screenshot::Diff.enabled && @test_screenshots - test_screenshot_errors = @test_screenshots.map(&method(:assert_image_not_changed)) + test_screenshot_errors = @test_screenshots + .map { |caller, name, compare| assert_image_not_changed(caller, name, compare) } test_screenshot_errors.compact! fail(test_screenshot_errors.join("\n\n")) if test_screenshot_errors.any? end diff --git a/lib/capybara/screenshot/diff/version.rb b/lib/capybara/screenshot/diff/version.rb index 528b3095..2a502ddf 100644 --- a/lib/capybara/screenshot/diff/version.rb +++ b/lib/capybara/screenshot/diff/version.rb @@ -3,7 +3,7 @@ module Capybara module Screenshot module Diff - VERSION = '1.0.1' + VERSION = '1.0.2' end end end From 05cbd41de87e3edf714686ec17aaff890374b676 Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Tue, 28 May 2019 15:46:51 +0200 Subject: [PATCH 062/312] Tighter loop --- lib/capybara/screenshot/diff/stabilization.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/capybara/screenshot/diff/stabilization.rb b/lib/capybara/screenshot/diff/stabilization.rb index b217f582..9420e02e 100644 --- a/lib/capybara/screenshot/diff/stabilization.rb +++ b/lib/capybara/screenshot/diff/stabilization.rb @@ -25,7 +25,7 @@ def take_stable_screenshot(comparison, color_distance_limit:, shift_distance_lim blurred_input = prepare_page_for_screenshot previous_file_name = comparison.old_file_name screenshot_started_at = last_image_change_at = Time.now - loop.with_index do |_x, i| + 0.step do |i| take_right_size_screenshot(comparison) break unless Capybara::Screenshot.stability_time_limit From 8545c6ff12e06d3ff97f917213e7397c4fafac15 Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Tue, 27 Aug 2019 17:41:57 +0200 Subject: [PATCH 063/312] Allow multiple ignored areas --- .rubocop_todo.yml | 2 +- README.md | 6 ++++++ lib/capybara/screenshot/diff.rb | 1 + lib/capybara/screenshot/diff/image_compare.rb | 5 ++--- lib/capybara/screenshot/diff/stabilization.rb | 10 +++++----- lib/capybara/screenshot/diff/test_methods.rb | 4 +++- lib/capybara/screenshot/diff/version.rb | 2 +- 7 files changed, 19 insertions(+), 11 deletions(-) diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index 14e5fe86..8c335d39 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -33,7 +33,7 @@ Metrics/MethodLength: # Offense count: 1 # Configuration parameters: CountComments. Metrics/ModuleLength: - Max: 107 + Max: 109 # Offense count: 1 # Configuration parameters: CountKeywordArgs. diff --git a/README.md b/README.md index 2a37a487..ffa883b4 100644 --- a/README.md +++ b/README.md @@ -409,6 +409,12 @@ The arguments are [x1, y1, x2, y2] for the area you want to ignore. You can als Capybara::Screenshot::Diff.skip_area = [0, 0, 64, 48] ``` +If you need to ignore multiple areas, you can supply an array of arrays: + +```ruby +screenshot 'index', skip_area: [[0, 0, 64, 48], [17, 6, 27, 16]] +``` + ## Development diff --git a/lib/capybara/screenshot/diff.rb b/lib/capybara/screenshot/diff.rb index ec2b9ecb..9e15288f 100644 --- a/lib/capybara/screenshot/diff.rb +++ b/lib/capybara/screenshot/diff.rb @@ -44,6 +44,7 @@ module Diff mattr_accessor :color_distance_limit mattr_accessor(:enabled) { true } mattr_accessor :shift_distance_limit + mattr_accessor :skip_area def self.included(clas) clas.include TestMethods diff --git a/lib/capybara/screenshot/diff/image_compare.rb b/lib/capybara/screenshot/diff/image_compare.rb index 971b905c..4b28013c 100644 --- a/lib/capybara/screenshot/diff/image_compare.rb +++ b/lib/capybara/screenshot/diff/image_compare.rb @@ -277,9 +277,8 @@ def find_bottom(old_img, new_img, left, right, bottom) end def same_color?(old_img, new_img, x, y) - if @skip_area && @skip_area[0] <= x && x <= @skip_area[2] && - @skip_area[1] <= y && y <= @skip_area[3] - return true + @skip_area&.each do |skip_start_x, skip_start_y, skip_end_x, skip_end_y| + return true if skip_start_x <= x && x <= skip_end_x && skip_start_y <= y && y <= skip_end_y end color_distance = diff --git a/lib/capybara/screenshot/diff/stabilization.rb b/lib/capybara/screenshot/diff/stabilization.rb index 9420e02e..db9e16e2 100644 --- a/lib/capybara/screenshot/diff/stabilization.rb +++ b/lib/capybara/screenshot/diff/stabilization.rb @@ -25,7 +25,7 @@ def take_stable_screenshot(comparison, color_distance_limit:, shift_distance_lim blurred_input = prepare_page_for_screenshot previous_file_name = comparison.old_file_name screenshot_started_at = last_image_change_at = Time.now - 0.step do |i| + 1.step do |i| take_right_size_screenshot(comparison) break unless Capybara::Screenshot.stability_time_limit @@ -118,9 +118,9 @@ def take_right_size_screenshot(comparison) def check_max_wait_time(comparison, screenshot_started_at, shift_distance_limit:) shift_factor = shift_distance_limit ? (shift_distance_limit * 2 + 1) ^ 2 : 1 max_wait_time = Capybara.default_max_wait_time * shift_factor - assert (Time.now - screenshot_started_at) < max_wait_time, + assert((Time.now - screenshot_started_at) < max_wait_time, "Could not get stable screenshot within #{max_wait_time}s\n" \ - "#{stabilization_images(comparison.new_file_name).join("\n")}" + "#{stabilization_images(comparison.new_file_name).join("\n")}") end def assert_images_loaded(timeout: Capybara.default_max_wait_time) @@ -131,8 +131,8 @@ def assert_images_loaded(timeout: Capybara.default_max_wait_time) pending_image = evaluate_script IMAGE_WAIT_SCRIPT break unless pending_image - assert (Time.now - start) < timeout, - "Images not loaded after #{timeout}s: #{pending_image.inspect}" + assert((Time.now - start) < timeout, + "Images not loaded after #{timeout}s: #{pending_image.inspect}") sleep 0.1 end end diff --git a/lib/capybara/screenshot/diff/test_methods.rb b/lib/capybara/screenshot/diff/test_methods.rb index 0418bc56..f451e592 100644 --- a/lib/capybara/screenshot/diff/test_methods.rb +++ b/lib/capybara/screenshot/diff/test_methods.rb @@ -70,10 +70,12 @@ def screenshot_group(name) # @return [Boolean] wether a screenshot was taken def screenshot(name, color_distance_limit: Diff.color_distance_limit, shift_distance_limit: Diff.shift_distance_limit, area_size_limit: Diff.area_size_limit, - skip_area: nil) + skip_area: Diff.skip_area) return unless Screenshot.active? return if window_size_is_wrong? + skip_area = skip_area&.flatten&.each_cons(4)&.to_a # Allow nil or single or multiple areas + if @screenshot_counter name = "#{format('%02i', @screenshot_counter)}_#{name}" @screenshot_counter += 1 diff --git a/lib/capybara/screenshot/diff/version.rb b/lib/capybara/screenshot/diff/version.rb index 2a502ddf..5572378e 100644 --- a/lib/capybara/screenshot/diff/version.rb +++ b/lib/capybara/screenshot/diff/version.rb @@ -3,7 +3,7 @@ module Capybara module Screenshot module Diff - VERSION = '1.0.2' + VERSION = '1.1.0' end end end From c1e1a050c60b525b1da89e6fa7b05b70f974f86b Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Tue, 27 Aug 2019 17:49:15 +0200 Subject: [PATCH 064/312] Try jdk 14 --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 04eb9337..d56ce048 100644 --- a/.travis.yml +++ b/.travis.yml @@ -20,7 +20,7 @@ env: - JRUBY_OPTS="--dev --debug" jdk: - - oraclejdk8 + - oraclejdk14 matrix: fast_finish: true From d8ef06fcabcf08cca3bf2409fc3c4b8aaf2968d1 Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Tue, 27 Aug 2019 17:53:45 +0200 Subject: [PATCH 065/312] Update test setup --- .travis.yml | 15 ++++++--------- gemfiles/rails60.gemfile | 2 +- 2 files changed, 7 insertions(+), 10 deletions(-) diff --git a/.travis.yml b/.travis.yml index d56ce048..3a864037 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,12 +2,11 @@ language: ruby sudo: false cache: bundler rvm: - - jruby-9.2.7.0 + - jruby-9.2.8.0 - ruby-2.6.3 - - ruby-2.5.5 - - ruby-2.4.6 - - ruby-2.3.8 - - truffleruby-1.0.0-rc16 + - ruby-2.5.6 + - ruby-2.4.7 + - truffleruby-19.2.0 gemfile: - gemfiles/rails60.gemfile @@ -25,9 +24,7 @@ jdk: matrix: fast_finish: true exclude: - - rvm: ruby-2.4.6 - gemfile: gemfiles/rails60.gemfile - - rvm: ruby-2.3.8 + - rvm: ruby-2.4.7 gemfile: gemfiles/rails60.gemfile allow_failures: - - rvm: truffleruby-1.0.0-rc16 + - rvm: truffleruby-19.2.0 diff --git a/gemfiles/rails60.gemfile b/gemfiles/rails60.gemfile index d98310a8..bbb0ca97 100644 --- a/gemfiles/rails60.gemfile +++ b/gemfiles/rails60.gemfile @@ -2,4 +2,4 @@ eval File.read("#{__dir__}/common.gemfile") -gem 'actionpack', '~>6.0.0.rc1' +gem 'actionpack', '~>6.0.0' From b471f69355f2292ac0dd4a704e54e56a96d8dfcc Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Tue, 27 Aug 2019 23:16:30 +0200 Subject: [PATCH 066/312] Something wrong with ruby-2.5.6 --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 3a864037..47328e08 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,7 +4,7 @@ cache: bundler rvm: - jruby-9.2.8.0 - ruby-2.6.3 - - ruby-2.5.6 + - ruby-2.5.5 - ruby-2.4.7 - truffleruby-19.2.0 From 918c38d11fecd03d423cfaf33bd3441db3520799 Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Tue, 27 Aug 2019 23:39:20 +0200 Subject: [PATCH 067/312] Something wrong with ruby-2.4.7 --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 47328e08..d4943b66 100644 --- a/.travis.yml +++ b/.travis.yml @@ -24,7 +24,7 @@ jdk: matrix: fast_finish: true exclude: - - rvm: ruby-2.4.7 + - rvm: ruby-2.4.6 gemfile: gemfiles/rails60.gemfile allow_failures: - rvm: truffleruby-19.2.0 From d295b361eb04cfe16719f30b328d3fcedbe6e822 Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Wed, 28 Aug 2019 11:39:01 +0200 Subject: [PATCH 068/312] Downgrade to ruby 2.4.6 since 2.4.7 fails with rvm --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index d4943b66..0f304007 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,7 +5,7 @@ rvm: - jruby-9.2.8.0 - ruby-2.6.3 - ruby-2.5.5 - - ruby-2.4.7 + - ruby-2.4.6 - truffleruby-19.2.0 gemfile: From 5f98fd83a7dc7be46a90b39a894d876e3a70d231 Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Thu, 29 Aug 2019 00:43:06 +0200 Subject: [PATCH 069/312] Improved metrics --- .rubocop_todo.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index 8c335d39..b5e90b1a 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -1,6 +1,6 @@ # This configuration was generated by # `rubocop --auto-gen-config` -# on 2019-04-11 18:39:44 +0200 using RuboCop version 0.67.2. +# on 2019-08-29 00:41:08 +0200 using RuboCop version 0.68.1. # The point is for the user to remove these configuration records # one by one as the offenses are removed from the code base. # Note that changes in the inspected code, or installation of new @@ -19,11 +19,11 @@ Metrics/BlockLength: # Offense count: 1 # Configuration parameters: CountComments. Metrics/ClassLength: - Max: 305 + Max: 304 -# Offense count: 6 +# Offense count: 5 Metrics/CyclomaticComplexity: - Max: 18 + Max: 17 # Offense count: 15 # Configuration parameters: CountComments, ExcludedMethods. @@ -33,16 +33,16 @@ Metrics/MethodLength: # Offense count: 1 # Configuration parameters: CountComments. Metrics/ModuleLength: - Max: 109 + Max: 107 # Offense count: 1 # Configuration parameters: CountKeywordArgs. Metrics/ParameterLists: Max: 7 -# Offense count: 6 +# Offense count: 5 Metrics/PerceivedComplexity: - Max: 18 + Max: 17 # Offense count: 2 # Configuration parameters: MinNameLength, AllowNamesEndingInNumbers, AllowedNames, ForbiddenNames. From 782547d1eff8042c9a3be24c3a7304dc56df1254 Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Fri, 30 Aug 2019 08:00:50 +0200 Subject: [PATCH 070/312] Allow setting a stability time limit on a single screenshot --- README.md | 10 +++++++++- lib/capybara/screenshot/diff/stabilization.rb | 6 +++--- lib/capybara/screenshot/diff/test_methods.rb | 10 ++++++---- lib/capybara/screenshot/diff/version.rb | 2 +- 4 files changed, 19 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index ffa883b4..b5e6e4e2 100644 --- a/README.md +++ b/README.md @@ -295,9 +295,17 @@ shot will be taken and compared to the first. This is repeated until two subsequent screen shots are identical. ```ruby -Capybara::Screenshot.stability_time_limit = 0.5 +Capybara::Screenshot.stability_time_limit = 0.1 ``` +This can be overridden on a single screenshot: + +```ruby +test 'stability_time_limit' do + visit '/' + screenshot 'index', stability_time_limit: 0.5 +end +``` ### Removing focus from the active element diff --git a/lib/capybara/screenshot/diff/stabilization.rb b/lib/capybara/screenshot/diff/stabilization.rb index db9e16e2..59ec95dc 100644 --- a/lib/capybara/screenshot/diff/stabilization.rb +++ b/lib/capybara/screenshot/diff/stabilization.rb @@ -21,14 +21,14 @@ module Stabilization JS def take_stable_screenshot(comparison, color_distance_limit:, shift_distance_limit:, - area_size_limit:, skip_area:) + area_size_limit:, skip_area:, stability_time_limit:) blurred_input = prepare_page_for_screenshot previous_file_name = comparison.old_file_name screenshot_started_at = last_image_change_at = Time.now 1.step do |i| take_right_size_screenshot(comparison) - break unless Capybara::Screenshot.stability_time_limit + break unless stability_time_limit if comparison.quick_equal? clean_stabilization_images(comparison.new_file_name) @@ -42,7 +42,7 @@ def take_stable_screenshot(comparison, color_distance_limit:, shift_distance_lim color_distance_limit: color_distance_limit, shift_distance_limit: shift_distance_limit, area_size_limit: area_size_limit, skip_area: skip_area) if stabilization_comparison.quick_equal? - if (Time.now - last_image_change_at) > Capybara::Screenshot.stability_time_limit + if (Time.now - last_image_change_at) > stability_time_limit clean_stabilization_images(comparison.new_file_name) break end diff --git a/lib/capybara/screenshot/diff/test_methods.rb b/lib/capybara/screenshot/diff/test_methods.rb index f451e592..03cd3875 100644 --- a/lib/capybara/screenshot/diff/test_methods.rb +++ b/lib/capybara/screenshot/diff/test_methods.rb @@ -68,9 +68,10 @@ def screenshot_group(name) end # @return [Boolean] wether a screenshot was taken - def screenshot(name, color_distance_limit: Diff.color_distance_limit, - shift_distance_limit: Diff.shift_distance_limit, area_size_limit: Diff.area_size_limit, - skip_area: Diff.skip_area) + def screenshot(name, area_size_limit: Diff.area_size_limit, + color_distance_limit: Diff.color_distance_limit, + shift_distance_limit: Diff.shift_distance_limit, skip_area: Diff.skip_area, + stability_time_limit: Screenshot.stability_time_limit) return unless Screenshot.active? return if window_size_is_wrong? @@ -92,7 +93,8 @@ def screenshot(name, color_distance_limit: Diff.color_distance_limit, take_stable_screenshot(comparison, color_distance_limit: color_distance_limit, shift_distance_limit: shift_distance_limit, area_size_limit: area_size_limit, - skip_area: skip_area) + skip_area: skip_area, + stability_time_limit: stability_time_limit) return unless comparison.old_file_exists? (@test_screenshots ||= []) << [caller(1..1).first, name, comparison] diff --git a/lib/capybara/screenshot/diff/version.rb b/lib/capybara/screenshot/diff/version.rb index 5572378e..d462b17e 100644 --- a/lib/capybara/screenshot/diff/version.rb +++ b/lib/capybara/screenshot/diff/version.rb @@ -3,7 +3,7 @@ module Capybara module Screenshot module Diff - VERSION = '1.1.0' + VERSION = '1.2.0' end end end From edbf48616820b96551e65139e12fbefdf5e4e034 Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Mon, 23 Sep 2019 14:13:08 +0200 Subject: [PATCH 071/312] Log first screenshot on timeout --- lib/capybara/screenshot/diff/stabilization.rb | 7 +++---- lib/capybara/screenshot/diff/version.rb | 2 +- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/lib/capybara/screenshot/diff/stabilization.rb b/lib/capybara/screenshot/diff/stabilization.rb index 59ec95dc..a1a89671 100644 --- a/lib/capybara/screenshot/diff/stabilization.rb +++ b/lib/capybara/screenshot/diff/stabilization.rb @@ -50,14 +50,13 @@ def take_stable_screenshot(comparison, color_distance_limit:, shift_distance_lim else last_image_change_at = Time.now end - - check_max_wait_time(comparison, screenshot_started_at, - shift_distance_limit: shift_distance_limit) end previous_file_name = "#{comparison.new_file_name.chomp('.png')}_x#{format('%02i', i)}.png~" - FileUtils.mv comparison.new_file_name, previous_file_name + + check_max_wait_time(comparison, screenshot_started_at, + shift_distance_limit: shift_distance_limit) end ensure blurred_input&.click diff --git a/lib/capybara/screenshot/diff/version.rb b/lib/capybara/screenshot/diff/version.rb index d462b17e..e23e3dbc 100644 --- a/lib/capybara/screenshot/diff/version.rb +++ b/lib/capybara/screenshot/diff/version.rb @@ -3,7 +3,7 @@ module Capybara module Screenshot module Diff - VERSION = '1.2.0' + VERSION = '1.2.1' end end end From 29ded8fe14c6527a412f31f30c7ba6c36db2776f Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Fri, 27 Sep 2019 15:43:14 +0200 Subject: [PATCH 072/312] Add `wait` option --- README.md | 11 +++++++++++ lib/capybara/screenshot/diff/stabilization.rb | 16 ++++++++-------- lib/capybara/screenshot/diff/test_methods.rb | 6 ++++-- lib/capybara/screenshot/diff/version.rb | 2 +- 4 files changed, 24 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index b5e6e4e2..ed149718 100644 --- a/README.md +++ b/README.md @@ -307,6 +307,17 @@ test 'stability_time_limit' do end ``` +### Maximum wait limit + +When the `stability_time_limit` is set, but no stable screenshot can be taken, a timeout occurs. +The timeout occurs after `Capybara.default_max_wait_time`, but can be overridden by an option. + +```ruby +test 'max wait time' do + visit '/' + screenshot 'index', wait: 20.seconds +end +``` ### Removing focus from the active element diff --git a/lib/capybara/screenshot/diff/stabilization.rb b/lib/capybara/screenshot/diff/stabilization.rb index a1a89671..b7ce8ede 100644 --- a/lib/capybara/screenshot/diff/stabilization.rb +++ b/lib/capybara/screenshot/diff/stabilization.rb @@ -21,8 +21,8 @@ module Stabilization JS def take_stable_screenshot(comparison, color_distance_limit:, shift_distance_limit:, - area_size_limit:, skip_area:, stability_time_limit:) - blurred_input = prepare_page_for_screenshot + area_size_limit:, skip_area:, stability_time_limit:, wait:) + blurred_input = prepare_page_for_screenshot(timeout: wait) previous_file_name = comparison.old_file_name screenshot_started_at = last_image_change_at = Time.now 1.step do |i| @@ -56,7 +56,7 @@ def take_stable_screenshot(comparison, color_distance_limit:, shift_distance_lim FileUtils.mv comparison.new_file_name, previous_file_name check_max_wait_time(comparison, screenshot_started_at, - shift_distance_limit: shift_distance_limit) + wait: wait, shift_distance_limit: shift_distance_limit) end ensure blurred_input&.click @@ -89,8 +89,8 @@ def clean_stabilization_images(base_file) FileUtils.rm stabilization_images(base_file) end - def prepare_page_for_screenshot - assert_images_loaded + def prepare_page_for_screenshot(timeout:) + assert_images_loaded(timeout: timeout) if Capybara::Screenshot.blur_active_element active_element = execute_script(<<-JS) ae = document.activeElement; @@ -114,15 +114,15 @@ def take_right_size_screenshot(comparison) # ODOT end - def check_max_wait_time(comparison, screenshot_started_at, shift_distance_limit:) + def check_max_wait_time(comparison, screenshot_started_at, wait:, shift_distance_limit:) shift_factor = shift_distance_limit ? (shift_distance_limit * 2 + 1) ^ 2 : 1 - max_wait_time = Capybara.default_max_wait_time * shift_factor + max_wait_time = wait * shift_factor assert((Time.now - screenshot_started_at) < max_wait_time, "Could not get stable screenshot within #{max_wait_time}s\n" \ "#{stabilization_images(comparison.new_file_name).join("\n")}") end - def assert_images_loaded(timeout: Capybara.default_max_wait_time) + def assert_images_loaded(timeout:) return unless respond_to? :evaluate_script start = Time.now diff --git a/lib/capybara/screenshot/diff/test_methods.rb b/lib/capybara/screenshot/diff/test_methods.rb index 03cd3875..4667d059 100644 --- a/lib/capybara/screenshot/diff/test_methods.rb +++ b/lib/capybara/screenshot/diff/test_methods.rb @@ -71,7 +71,8 @@ def screenshot_group(name) def screenshot(name, area_size_limit: Diff.area_size_limit, color_distance_limit: Diff.color_distance_limit, shift_distance_limit: Diff.shift_distance_limit, skip_area: Diff.skip_area, - stability_time_limit: Screenshot.stability_time_limit) + stability_time_limit: Screenshot.stability_time_limit, + wait: Capybara.default_max_wait_time) return unless Screenshot.active? return if window_size_is_wrong? @@ -94,7 +95,8 @@ def screenshot(name, area_size_limit: Diff.area_size_limit, shift_distance_limit: shift_distance_limit, area_size_limit: area_size_limit, skip_area: skip_area, - stability_time_limit: stability_time_limit) + stability_time_limit: stability_time_limit, + wait: wait) return unless comparison.old_file_exists? (@test_screenshots ||= []) << [caller(1..1).first, name, comparison] diff --git a/lib/capybara/screenshot/diff/version.rb b/lib/capybara/screenshot/diff/version.rb index e23e3dbc..b9e2e112 100644 --- a/lib/capybara/screenshot/diff/version.rb +++ b/lib/capybara/screenshot/diff/version.rb @@ -3,7 +3,7 @@ module Capybara module Screenshot module Diff - VERSION = '1.2.1' + VERSION = '1.3.0' end end end From 12e5836f468eb3fc084a9a0222f7f879f529bd97 Mon Sep 17 00:00:00 2001 From: aimodosia Date: Tue, 29 Oct 2019 11:00:00 +0200 Subject: [PATCH 073/312] * Do not use ~ on save images + use reference/current tag * Fix in README --- README.md | 2 +- lib/capybara/screenshot/diff/image_compare.rb | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index ed149718..d38a82f8 100644 --- a/README.md +++ b/README.md @@ -274,7 +274,7 @@ configuration options that that are relevant. The most likely one you'll want to modify is ... ```ruby -Capybara::Screenshot::Diff.save_path = "other/path" +Capybara::Screenshot.save_path = "other/path" ``` The `save_path` option is relative to `Capybara::Screenshot.root`. diff --git a/lib/capybara/screenshot/diff/image_compare.rb b/lib/capybara/screenshot/diff/image_compare.rb index 4b28013c..94470d67 100644 --- a/lib/capybara/screenshot/diff/image_compare.rb +++ b/lib/capybara/screenshot/diff/image_compare.rb @@ -21,8 +21,8 @@ def initialize(new_file_name, old_file_name = nil, dimensions: nil, color_distan @dimensions = dimensions @skip_area = skip_area @old_file_name = old_file_name || "#{new_file_name}~" - @annotated_old_file_name = "#{new_file_name.chomp('.png')}_0.png~" - @annotated_new_file_name = "#{new_file_name.chomp('.png')}_1.png~" + @annotated_old_file_name = "#{new_file_name.chomp('.png')}.reference.png" + @annotated_new_file_name = "#{new_file_name.chomp('.png')}.current.png" reset end From c201c62d132350d3d3afe5a7dd513ee93e910958 Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Tue, 29 Oct 2019 17:35:22 +0100 Subject: [PATCH 074/312] Annotate the stabilization images with a rectangle indicating the diff --- .rubocop_todo.yml | 4 +-- lib/capybara/screenshot/diff/image_compare.rb | 19 +++++++++----- lib/capybara/screenshot/diff/stabilization.rb | 26 ++++++++++++++++--- lib/capybara/screenshot/diff/version.rb | 2 +- 4 files changed, 38 insertions(+), 13 deletions(-) diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index b5e90b1a..73692ec6 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -19,7 +19,7 @@ Metrics/BlockLength: # Offense count: 1 # Configuration parameters: CountComments. Metrics/ClassLength: - Max: 304 + Max: 309 # Offense count: 5 Metrics/CyclomaticComplexity: @@ -33,7 +33,7 @@ Metrics/MethodLength: # Offense count: 1 # Configuration parameters: CountComments. Metrics/ModuleLength: - Max: 107 + Max: 123 # Offense count: 1 # Configuration parameters: CountKeywordArgs. diff --git a/lib/capybara/screenshot/diff/image_compare.rb b/lib/capybara/screenshot/diff/image_compare.rb index 4b28013c..9b199221 100644 --- a/lib/capybara/screenshot/diff/image_compare.rb +++ b/lib/capybara/screenshot/diff/image_compare.rb @@ -5,12 +5,13 @@ module Capybara module Screenshot module Diff - # Compare two images and determine if they are equal, different, or within som comparison + # Compare two images and determine if they are equal, different, or within some comparison # range considering color values and difference area size. class ImageCompare include ChunkyPNG::Color - attr_reader :annotated_new_file_name, :annotated_old_file_name, :new_file_name, :old_file_name + attr_reader :annotated_new_file_name, :annotated_old_file_name, :area_size_limit, + :color_distance_limit, :new_file_name, :old_file_name, :shift_distance_limit, :skip_area def initialize(new_file_name, old_file_name = nil, dimensions: nil, color_distance_limit: nil, area_size_limit: nil, shift_distance_limit: nil, skip_area: nil) @@ -97,10 +98,7 @@ def different? return not_different if @top.nil? return not_different if @area_size_limit && size <= @area_size_limit - annotated_old_img, annotated_new_img = draw_rectangles(images, @bottom, @left, @right, @top) - - save_images(@annotated_new_file_name, annotated_new_img, - @annotated_old_file_name, annotated_old_img) + save_annotated_images(images) true end @@ -117,6 +115,8 @@ def new_file_size end def dimensions + return unless @left || @top || @right || @bottom + [@left, @top, @right, @bottom] end @@ -136,6 +136,13 @@ def max_shift_distance private + def save_annotated_images(images) + annotated_old_img, annotated_new_img = draw_rectangles(images, @bottom, @left, @right, @top) + + save_images(@annotated_new_file_name, annotated_new_img, + @annotated_old_file_name, annotated_old_img) + end + def calculate_metrics old_file, new_file = load_image_files(@old_file_name, @new_file_name) if old_file == new_file diff --git a/lib/capybara/screenshot/diff/stabilization.rb b/lib/capybara/screenshot/diff/stabilization.rb index b7ce8ede..0bf27ccf 100644 --- a/lib/capybara/screenshot/diff/stabilization.rb +++ b/lib/capybara/screenshot/diff/stabilization.rb @@ -52,7 +52,9 @@ def take_stable_screenshot(comparison, color_distance_limit:, shift_distance_lim end end - previous_file_name = "#{comparison.new_file_name.chomp('.png')}_x#{format('%02i', i)}.png~" + previous_file_name = "#{comparison.new_file_name.chomp('.png')}" \ + "_x#{format('%02i', i)}_#{(Time.now - screenshot_started_at).round(1)}s" \ + "_#{stabilization_comparison.dimensions&.to_s&.gsub(', ', '_') || :initial}.png~" FileUtils.mv comparison.new_file_name, previous_file_name check_max_wait_time(comparison, screenshot_started_at, @@ -117,9 +119,25 @@ def take_right_size_screenshot(comparison) def check_max_wait_time(comparison, screenshot_started_at, wait:, shift_distance_limit:) shift_factor = shift_distance_limit ? (shift_distance_limit * 2 + 1) ^ 2 : 1 max_wait_time = wait * shift_factor - assert((Time.now - screenshot_started_at) < max_wait_time, - "Could not get stable screenshot within #{max_wait_time}s\n" \ - "#{stabilization_images(comparison.new_file_name).join("\n")}") + return if (Time.now - screenshot_started_at) < max_wait_time + + # FIXME(uwe): Change to store the failure and only report if the test succeeds functionally. + previous_file = comparison.old_file_name + stabilization_images(comparison.new_file_name).each do |file_name| + if File.exist? previous_file + stabilization_comparison = + ImageCompare.new(file_name, previous_file, + color_distance_limit: comparison.color_distance_limit, + shift_distance_limit: comparison.shift_distance_limit, + area_size_limit: comparison.area_size_limit, skip_area: comparison.skip_area) + assert stabilization_comparison.different? + FileUtils.mv stabilization_comparison.annotated_new_file_name, file_name + FileUtils.rm stabilization_comparison.annotated_old_file_name + end + previous_file = file_name + end + fail("Could not get stable screenshot within #{max_wait_time}s\n" \ + "#{stabilization_images(comparison.new_file_name).join("\n")}") end def assert_images_loaded(timeout:) diff --git a/lib/capybara/screenshot/diff/version.rb b/lib/capybara/screenshot/diff/version.rb index b9e2e112..dbb96fd0 100644 --- a/lib/capybara/screenshot/diff/version.rb +++ b/lib/capybara/screenshot/diff/version.rb @@ -3,7 +3,7 @@ module Capybara module Screenshot module Diff - VERSION = '1.3.0' + VERSION = '1.3.1' end end end From 47e3f019c2590da8fa10a47a2f8776e020bc8122 Mon Sep 17 00:00:00 2001 From: aimodosia Date: Tue, 29 Oct 2019 11:00:00 +0200 Subject: [PATCH 075/312] * Do not use ~ on save images + use committed/latest tag * Fix in README --- lib/capybara/screenshot/diff/image_compare.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/capybara/screenshot/diff/image_compare.rb b/lib/capybara/screenshot/diff/image_compare.rb index 94470d67..e408d030 100644 --- a/lib/capybara/screenshot/diff/image_compare.rb +++ b/lib/capybara/screenshot/diff/image_compare.rb @@ -21,8 +21,8 @@ def initialize(new_file_name, old_file_name = nil, dimensions: nil, color_distan @dimensions = dimensions @skip_area = skip_area @old_file_name = old_file_name || "#{new_file_name}~" - @annotated_old_file_name = "#{new_file_name.chomp('.png')}.reference.png" - @annotated_new_file_name = "#{new_file_name.chomp('.png')}.current.png" + @annotated_old_file_name = "#{new_file_name.chomp('.png')}.committed.png" + @annotated_new_file_name = "#{new_file_name.chomp('.png')}.latest.png" reset end From d8396e9bc05b81b09acbca7326903a62a2ba10da Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Tue, 29 Oct 2019 17:51:08 +0100 Subject: [PATCH 076/312] Prefer formatting without the extra concept of naming each marker --- .rubocop.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.rubocop.yml b/.rubocop.yml index 97bb1f62..beadd227 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -55,6 +55,9 @@ Style/Documentation: Style/DoubleNegation: Enabled: false +Style/FormatStringToken: + EnforcedStyle: unannotated + Style/NumericPredicate: Enabled: false From 0f2881a6f96167a3cdccd094dc2af583923c220b Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Tue, 29 Oct 2019 17:57:36 +0100 Subject: [PATCH 077/312] Adjust file names for tests --- test/capybara/screenshot/diff/test_methods_test.rb | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/test/capybara/screenshot/diff/test_methods_test.rb b/test/capybara/screenshot/diff/test_methods_test.rb index 94a4764a..1ab42667 100644 --- a/test/capybara/screenshot/diff/test_methods_test.rb +++ b/test/capybara/screenshot/diff/test_methods_test.rb @@ -15,8 +15,8 @@ def test_assert_image_not_changed assert_equal <<-MSG.strip_heredoc.chomp, message Screenshot does not match for 'name' (area: 684px [11, 3, 48, 20], max_color_distance: #{value}) #{Rails.root}/screenshot.png - #{Rails.root}/screenshot_0.png~ - #{Rails.root}/screenshot_1.png~ + #{Rails.root}/screenshot.committed.png + #{Rails.root}/screenshot.latest.png at caller MSG end @@ -28,8 +28,8 @@ def test_assert_image_not_changed_with_shift_distance_limit assert_equal <<-MSG.strip_heredoc.chomp, message Screenshot does not match for 'name' (area: 684px [11, 3, 48, 20], max_color_distance: #{value}, max_shift_distance: 15) #{Rails.root}/screenshot.png - #{Rails.root}/screenshot_0.png~ - #{Rails.root}/screenshot_1.png~ + #{Rails.root}/screenshot.committed.png + #{Rails.root}/screenshot.latest.png at caller MSG end From c9eca17cf2c5ab2aeb0cf4938c9b2940d6f84a13 Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Tue, 29 Oct 2019 18:03:05 +0100 Subject: [PATCH 078/312] Test newest TruffleRuby --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 0f304007..e19a0e60 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,7 +6,7 @@ rvm: - ruby-2.6.3 - ruby-2.5.5 - ruby-2.4.6 - - truffleruby-19.2.0 + - truffleruby gemfile: - gemfiles/rails60.gemfile From 51d3426771b0372d144968a4138b10866960f17a Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Tue, 29 Oct 2019 18:23:55 +0100 Subject: [PATCH 079/312] Allow truffleruby to fail --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index e19a0e60..703f6579 100644 --- a/.travis.yml +++ b/.travis.yml @@ -27,4 +27,4 @@ matrix: - rvm: ruby-2.4.6 gemfile: gemfiles/rails60.gemfile allow_failures: - - rvm: truffleruby-19.2.0 + - rvm: truffleruby From 0155e1e23c199575a29962993b9cf7f4cf6f8ab5 Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Tue, 29 Oct 2019 18:40:06 +0100 Subject: [PATCH 080/312] Test latest stable release of each supported Ruby --- .travis.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.travis.yml b/.travis.yml index 703f6579..96bc526d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,10 +2,10 @@ language: ruby sudo: false cache: bundler rvm: - - jruby-9.2.8.0 - - ruby-2.6.3 - - ruby-2.5.5 - - ruby-2.4.6 + - jruby + - ruby-2.6 + - ruby-2.5 + - ruby-2.4 - truffleruby gemfile: @@ -24,7 +24,7 @@ jdk: matrix: fast_finish: true exclude: - - rvm: ruby-2.4.6 + - rvm: ruby-2.4 gemfile: gemfiles/rails60.gemfile allow_failures: - rvm: truffleruby From e0637a7b64d495ffabf4ec2900dbec635172360b Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Tue, 29 Oct 2019 22:31:40 +0100 Subject: [PATCH 081/312] Require Ruby 2.4+ --- capybara-screenshot-diff.gemspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/capybara-screenshot-diff.gemspec b/capybara-screenshot-diff.gemspec index 504f7a74..d4ccb775 100644 --- a/capybara-screenshot-diff.gemspec +++ b/capybara-screenshot-diff.gemspec @@ -12,7 +12,7 @@ Gem::Specification.new do |spec| spec.summary = 'Track your GUI changes with diff assertions' spec.description = 'Save screen shots and track changes with graphical diff' spec.homepage = 'https://github.com/donv/capybara-screenshot-diff' - spec.required_ruby_version = '~> 2.3' + spec.required_ruby_version = '~> 2.4' spec.license = 'MIT' spec.metadata['allowed_push_host'] = 'https://rubygems.org/' spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) } From c0eef9f11a2cac3f3f8a788c2d2509dc6e5b612d Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Tue, 29 Oct 2019 22:48:37 +0100 Subject: [PATCH 082/312] Require Ruby 2.4+ --- .rubocop.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.rubocop.yml b/.rubocop.yml index beadd227..8a9759b0 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -2,7 +2,7 @@ inherit_from: .rubocop_todo.yml require: rubocop-performance AllCops: - TargetRubyVersion: 2.3 + TargetRubyVersion: 2.4 DisplayCopNames: true DisplayStyleGuide: true Exclude: From 21264730fc08b6e981dc7eb7ef0066054f3c79ae Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Mon, 4 Nov 2019 19:53:35 +0100 Subject: [PATCH 083/312] Remove old patches --- lib/capybara/screenshot/diff/test_methods.rb | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-) diff --git a/lib/capybara/screenshot/diff/test_methods.rb b/lib/capybara/screenshot/diff/test_methods.rb index 4667d059..e19a7d82 100644 --- a/lib/capybara/screenshot/diff/test_methods.rb +++ b/lib/capybara/screenshot/diff/test_methods.rb @@ -105,11 +105,6 @@ def screenshot(name, area_size_limit: Diff.area_size_limit, def window_size_is_wrong? selenium? && Screenshot.window_size && - - # FIXME(uwe): This happens with headless chrome. Why?! - page.driver.browser.manage.window.size.width && - # EMXIF - page.driver.browser.manage.window.size != ::Selenium::WebDriver::Dimension.new(*Screenshot.window_size) end @@ -117,14 +112,7 @@ def window_size_is_wrong? def assert_image_not_changed(caller, name, comparison) return unless comparison.different? - # TODO(uwe): Remove check when we stop supporting Ruby 2.3 and older - max_color_distance = if RUBY_VERSION >= '2.4' - comparison.max_color_distance.ceil(1) - else - comparison.max_color_distance.ceil - end - # ODOT - + max_color_distance = comparison.max_color_distance.ceil(1) max_shift_distance = comparison.max_shift_distance "Screenshot does not match for '#{name}' (area: #{comparison.size}px #{comparison.dimensions}" \ ", max_color_distance: #{max_color_distance}" \ From d66ab28cc68616cdc0757d475a61924edb2b8709 Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Sun, 12 Apr 2020 16:43:55 +0200 Subject: [PATCH 084/312] Added guide to setting the `screenshot_section` and/or `screenshot_group` for all tests --- README.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/README.md b/README.md index d38a82f8..9824f834 100644 --- a/README.md +++ b/README.md @@ -164,6 +164,21 @@ doc ``` +#### Setting `screenshot_section` and/or `screenshot_group` for all tests + +Setting the `screenshot_section` and/or `screenshot_group` for all tests can be +done in the super class setup: + +```ruby +class ApplicationSystemTestCase < ActionDispatch::SystemTestCase + setup do + screenshot_section class_name.underscore.sub(/(_feature|_system)?_test$/, '') + screenshot_group name[5..-1] + end +end +``` + + ### Multiple Capybara drivers From 5eedaa819e850202a3ac148c0fbc112808666d92 Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Sun, 12 Apr 2020 16:46:05 +0200 Subject: [PATCH 085/312] Added line about overriding `screenshot_section` and/or `screenshot_group` in specific tests --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 9824f834..d19fc235 100644 --- a/README.md +++ b/README.md @@ -178,6 +178,9 @@ class ApplicationSystemTestCase < ActionDispatch::SystemTestCase end ``` +`screenshot_section` and/or `screenshot_group` can still be overridden in each +test. + ### Multiple Capybara drivers From be919e69cf99d306927563a9ed7122be62210d0f Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Sun, 12 Apr 2020 21:11:56 +0200 Subject: [PATCH 086/312] Drop support for Ruby 2.4 and start testing with Ruby 2.7 --- .rubocop.yml | 42 +++++++++++-------- .rubocop_todo.yml | 18 ++++---- .travis.yml | 8 +--- capybara-screenshot-diff.gemspec | 5 +-- lib/capybara/screenshot/diff/image_compare.rb | 4 +- matrix_test.rb | 2 +- .../screenshot/diff/image_compare_test.rb | 14 +++---- 7 files changed, 45 insertions(+), 48 deletions(-) diff --git a/.rubocop.yml b/.rubocop.yml index 8a9759b0..4073477e 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -2,42 +2,53 @@ inherit_from: .rubocop_todo.yml require: rubocop-performance AllCops: - TargetRubyVersion: 2.4 + TargetRubyVersion: 2.5 DisplayCopNames: true DisplayStyleGuide: true Exclude: - gemfiles/vendor/**/* -Layout/AlignArguments: +# TODO(uwe): Remove after updating to rubocop 1.0 +Lint/RaiseException: + Enabled: true +Lint/StructNewOverride: + Enabled: true +Style/HashEachMethods: + Enabled: true +Style/HashTransformKeys: + Enabled: true +Style/HashTransformValues: + Enabled: true +# ODOT + +Layout/ArgumentAlignment: EnforcedStyle: with_fixed_indentation IndentationWidth: 4 -Layout/AlignParameters: - EnforcedStyle: with_fixed_indentation - IndentationWidth: 4 - -Layout/IndentHeredoc: +Layout/HeredocIndentation: EnforcedStyle: active_support +Layout/LineLength: + Max: 107 + IgnoreCopDirectives: true + Layout/MultilineMethodCallIndentation: EnforcedStyle: indented Layout/MultilineOperationIndentation: EnforcedStyle: indented +Layout/ParameterAlignment: + EnforcedStyle: with_fixed_indentation + IndentationWidth: 4 + Lint/Debugger: Enabled: false -# Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, IgnoredPatterns. -# URISchemes: http, https -Metrics/LineLength: - Max: 107 - IgnoreCopDirectives: true - # Offense count: 2 # Configuration parameters: MinNameLength, AllowNamesEndingInNumbers, AllowedNames, ForbiddenNames. # AllowedNames: io, id, to -Naming/UncommunicativeMethodParamName: +Naming/MethodParameterName: AllowedNames: - x - y @@ -46,9 +57,6 @@ Security/Eval: Exclude: - gemfiles/*.gemfile -#Style/AccessModifierDeclarations: -# Enabled: false - Style/Documentation: Enabled: false diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index 73692ec6..ab48194c 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -1,12 +1,13 @@ # This configuration was generated by # `rubocop --auto-gen-config` -# on 2019-08-29 00:41:08 +0200 using RuboCop version 0.68.1. +# on 2020-04-12 21:00:11 +0200 using RuboCop version 0.81.0. # The point is for the user to remove these configuration records # one by one as the offenses are removed from the code base. # Note that changes in the inspected code, or installation of new # versions of RuboCop, may require this file to be generated again. # Offense count: 12 +# Configuration parameters: IgnoredMethods. Metrics/AbcSize: Max: 50 @@ -21,7 +22,8 @@ Metrics/BlockLength: Metrics/ClassLength: Max: 309 -# Offense count: 5 +# Offense count: 6 +# Configuration parameters: IgnoredMethods. Metrics/CyclomaticComplexity: Max: 17 @@ -35,18 +37,12 @@ Metrics/MethodLength: Metrics/ModuleLength: Max: 123 -# Offense count: 1 +# Offense count: 3 # Configuration parameters: CountKeywordArgs. Metrics/ParameterLists: Max: 7 -# Offense count: 5 +# Offense count: 6 +# Configuration parameters: IgnoredMethods. Metrics/PerceivedComplexity: Max: 17 - -# Offense count: 2 -# Configuration parameters: MinNameLength, AllowNamesEndingInNumbers, AllowedNames, ForbiddenNames. -# AllowedNames: io, id, to, by, on, in, at, ip, db -Naming/UncommunicativeMethodParamName: - Exclude: - - 'lib/capybara/screenshot/diff/image_compare.rb' diff --git a/.travis.yml b/.travis.yml index 96bc526d..c65357cb 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,11 +1,10 @@ language: ruby -sudo: false cache: bundler rvm: - - jruby + - ruby-2.7 - ruby-2.6 - ruby-2.5 - - ruby-2.4 + - jruby - truffleruby gemfile: @@ -23,8 +22,5 @@ jdk: matrix: fast_finish: true - exclude: - - rvm: ruby-2.4 - gemfile: gemfiles/rails60.gemfile allow_failures: - rvm: truffleruby diff --git a/capybara-screenshot-diff.gemspec b/capybara-screenshot-diff.gemspec index d4ccb775..97b5853e 100644 --- a/capybara-screenshot-diff.gemspec +++ b/capybara-screenshot-diff.gemspec @@ -12,7 +12,7 @@ Gem::Specification.new do |spec| spec.summary = 'Track your GUI changes with diff assertions' spec.description = 'Save screen shots and track changes with graphical diff' spec.homepage = 'https://github.com/donv/capybara-screenshot-diff' - spec.required_ruby_version = '~> 2.4' + spec.required_ruby_version = '~> 2.5' spec.license = 'MIT' spec.metadata['allowed_push_host'] = 'https://rubygems.org/' spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) } @@ -24,11 +24,10 @@ Gem::Specification.new do |spec| spec.add_runtime_dependency 'capybara', '>= 2', '< 4' spec.add_runtime_dependency 'chunky_png', '~> 1.3' - spec.add_development_dependency 'bundler', '~> 1.11' spec.add_development_dependency 'minitest', '~> 5.0' spec.add_development_dependency 'minitest-reporters' spec.add_development_dependency 'rake' spec.add_development_dependency 'rubocop', '~> 0.54' - spec.add_development_dependency 'rubocop-performance', '~> 0.0' + spec.add_development_dependency 'rubocop-performance', '~> 1.5' spec.add_development_dependency 'simplecov', '~> 0.11' end diff --git a/lib/capybara/screenshot/diff/image_compare.rb b/lib/capybara/screenshot/diff/image_compare.rb index 742110e8..2c5617a8 100644 --- a/lib/capybara/screenshot/diff/image_compare.rb +++ b/lib/capybara/screenshot/diff/image_compare.rb @@ -378,8 +378,8 @@ def shift_distance_at(new_img, old_img, x, y, color_distance_limit:) Float::INFINITY end - def color_matches(new_img, org_color, dx, dy, color_distance_limit) - new_color = new_img[dx, dy] + def color_matches(new_img, org_color, x, y, color_distance_limit) + new_color = new_img[x, y] return new_color == org_color unless color_distance_limit color_distance = ChunkyPNG::Color.euclidean_distance_rgba(org_color, new_color) diff --git a/matrix_test.rb b/matrix_test.rb index 5f8674e2..c522531d 100755 --- a/matrix_test.rb +++ b/matrix_test.rb @@ -41,7 +41,7 @@ def use_gemfile(ruby, gemfile, update_gemfiles) end travis['rvm'].each do |ruby| - next if ruby =~ /head/ # ruby-install does not support HEAD installation + next if /head/.match?(ruby) # ruby-install does not support HEAD installation puts '#' * 80 puts "Testing #{ruby}" diff --git a/test/capybara/screenshot/diff/image_compare_test.rb b/test/capybara/screenshot/diff/image_compare_test.rb index d649fcd8..e00dfb5a 100644 --- a/test/capybara/screenshot/diff/image_compare_test.rb +++ b/test/capybara/screenshot/diff/image_compare_test.rb @@ -88,16 +88,14 @@ class ImageCompareTest < ActionDispatch::IntegrationTest end test 'max_color_distance 1.0' do - begin - a_img = ChunkyPNG::Image.from_blob(File.binread("#{TEST_IMAGES_DIR}/a.png")) - a_img[9, 6] += 0x010000 + a_img = ChunkyPNG::Image.from_blob(File.binread("#{TEST_IMAGES_DIR}/a.png")) + a_img[9, 6] += 0x010000 - comp = make_comparison(:a, :b) - other_img_filename = comp.new_file_name - a_img.save(other_img_filename) + comp = make_comparison(:a, :b) + other_img_filename = comp.new_file_name + a_img.save(other_img_filename) - assert_equal 1, comp.max_color_distance - end + assert_equal 1, comp.max_color_distance end test 'size a vs a_cropped' do From 58cf16dd7575b4ce7908f829af79fa24e0863bea Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Sun, 12 Apr 2020 21:13:50 +0200 Subject: [PATCH 087/312] Use "jobs" instead of "matrix" to avoid warnings --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index c65357cb..782b96d7 100644 --- a/.travis.yml +++ b/.travis.yml @@ -20,7 +20,7 @@ env: jdk: - oraclejdk14 -matrix: +jobs: fast_finish: true allow_failures: - rvm: truffleruby From 66ab1870569504bf598cb54df8aa51a0582bc0ef Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Sun, 12 Apr 2020 21:22:09 +0200 Subject: [PATCH 088/312] Use rubocop 0.81+ --- capybara-screenshot-diff.gemspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/capybara-screenshot-diff.gemspec b/capybara-screenshot-diff.gemspec index 97b5853e..7f436f31 100644 --- a/capybara-screenshot-diff.gemspec +++ b/capybara-screenshot-diff.gemspec @@ -27,7 +27,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'minitest', '~> 5.0' spec.add_development_dependency 'minitest-reporters' spec.add_development_dependency 'rake' - spec.add_development_dependency 'rubocop', '~> 0.54' + spec.add_development_dependency 'rubocop', '~> 0.81' spec.add_development_dependency 'rubocop-performance', '~> 1.5' spec.add_development_dependency 'simplecov', '~> 0.11' end From 15f83871f95288550447d37a4e0bfca61c75859f Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Sun, 12 Apr 2020 23:16:27 +0200 Subject: [PATCH 089/312] Move development and test gems into Gemfile since the wrong versions were loaded in travis --- Gemfile | 9 +++++++++ capybara-screenshot-diff.gemspec | 7 ------- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/Gemfile b/Gemfile index 41cfa798..97161b1e 100644 --- a/Gemfile +++ b/Gemfile @@ -4,3 +4,12 @@ source 'https://rubygems.org' # Specify your gem's dependencies in capybara-screenshot-diff.gemspec gemspec + +group :development, :test do + gem 'minitest', '~> 5.0' + gem 'minitest-reporters' + gem 'rake' + gem 'rubocop', '~> 0.81' + gem 'rubocop-performance', '~> 1.5' + gem 'simplecov', '~> 0.11' +end diff --git a/capybara-screenshot-diff.gemspec b/capybara-screenshot-diff.gemspec index 7f436f31..49b83bd9 100644 --- a/capybara-screenshot-diff.gemspec +++ b/capybara-screenshot-diff.gemspec @@ -23,11 +23,4 @@ Gem::Specification.new do |spec| spec.add_runtime_dependency 'actionpack', '>= 4.2', '< 7' spec.add_runtime_dependency 'capybara', '>= 2', '< 4' spec.add_runtime_dependency 'chunky_png', '~> 1.3' - - spec.add_development_dependency 'minitest', '~> 5.0' - spec.add_development_dependency 'minitest-reporters' - spec.add_development_dependency 'rake' - spec.add_development_dependency 'rubocop', '~> 0.81' - spec.add_development_dependency 'rubocop-performance', '~> 1.5' - spec.add_development_dependency 'simplecov', '~> 0.11' end From c31833c91bf06207b5b026074a4aca300ddc8e29 Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Mon, 13 Apr 2020 00:16:31 +0200 Subject: [PATCH 090/312] Remove duplicate definition of test gems --- .gitignore | 2 +- .travis.yml | 2 +- Gemfile | 15 --------------- capybara-screenshot-diff.gemspec | 7 +++++++ gemfiles/common.gemfile | 12 ------------ gemfiles/rails42.gemfile | 4 +++- gemfiles/rails50.gemfile | 3 ++- gemfiles/rails51.gemfile | 3 ++- gemfiles/rails52.gemfile | 3 ++- gemfiles/rails60.gemfile | 5 ----- gemfiles/rails60_gems.rb | 6 ++++++ gems.rb | 6 ++++++ 12 files changed, 30 insertions(+), 38 deletions(-) delete mode 100644 Gemfile delete mode 100644 gemfiles/common.gemfile delete mode 100644 gemfiles/rails60.gemfile create mode 100644 gemfiles/rails60_gems.rb create mode 100644 gems.rb diff --git a/.gitignore b/.gitignore index 06404f5e..ae563352 100644 --- a/.gitignore +++ b/.gitignore @@ -2,11 +2,11 @@ /.bundle/ /.idea /.yardoc -/Gemfile.lock /_yardoc/ /coverage/ /doc/ /gemfiles/*.lock +/gems.locked /pkg/ /spec/reports/ /tmp/ diff --git a/.travis.yml b/.travis.yml index 782b96d7..200df8ad 100644 --- a/.travis.yml +++ b/.travis.yml @@ -8,7 +8,7 @@ rvm: - truffleruby gemfile: - - gemfiles/rails60.gemfile + - gemfiles/rails60_gems.rb - gemfiles/rails52.gemfile - gemfiles/rails51.gemfile - gemfiles/rails50.gemfile diff --git a/Gemfile b/Gemfile deleted file mode 100644 index 97161b1e..00000000 --- a/Gemfile +++ /dev/null @@ -1,15 +0,0 @@ -# frozen_string_literal: true - -source 'https://rubygems.org' - -# Specify your gem's dependencies in capybara-screenshot-diff.gemspec -gemspec - -group :development, :test do - gem 'minitest', '~> 5.0' - gem 'minitest-reporters' - gem 'rake' - gem 'rubocop', '~> 0.81' - gem 'rubocop-performance', '~> 1.5' - gem 'simplecov', '~> 0.11' -end diff --git a/capybara-screenshot-diff.gemspec b/capybara-screenshot-diff.gemspec index 49b83bd9..7f436f31 100644 --- a/capybara-screenshot-diff.gemspec +++ b/capybara-screenshot-diff.gemspec @@ -23,4 +23,11 @@ Gem::Specification.new do |spec| spec.add_runtime_dependency 'actionpack', '>= 4.2', '< 7' spec.add_runtime_dependency 'capybara', '>= 2', '< 4' spec.add_runtime_dependency 'chunky_png', '~> 1.3' + + spec.add_development_dependency 'minitest', '~> 5.0' + spec.add_development_dependency 'minitest-reporters' + spec.add_development_dependency 'rake' + spec.add_development_dependency 'rubocop', '~> 0.81' + spec.add_development_dependency 'rubocop-performance', '~> 1.5' + spec.add_development_dependency 'simplecov', '~> 0.11' end diff --git a/gemfiles/common.gemfile b/gemfiles/common.gemfile deleted file mode 100644 index 389e15c0..00000000 --- a/gemfiles/common.gemfile +++ /dev/null @@ -1,12 +0,0 @@ -# frozen_string_literal: true - -source 'https://rubygems.org' - -gem 'capybara', '~> 2.0' -gem 'chunky_png', '~> 1.3' -gem 'minitest', '~> 5.0' -gem 'minitest-reporters' -gem 'rake' -gem 'rubocop', '~> 0.39' -gem 'rubocop-performance', '~> 0.0' -gem 'simplecov', '~> 0.11' diff --git a/gemfiles/rails42.gemfile b/gemfiles/rails42.gemfile index 54dc409d..ef2078f1 100644 --- a/gemfiles/rails42.gemfile +++ b/gemfiles/rails42.gemfile @@ -1,5 +1,7 @@ # frozen_string_literal: true -eval File.read("#{__dir__}/common.gemfile") +gems = "#{File.dirname __dir__}/gems.rb" +eval File.read(gems), binding, gems gem 'actionpack', '~>4.2.7' +gem 'bigdecimal', '<2' diff --git a/gemfiles/rails50.gemfile b/gemfiles/rails50.gemfile index 1159aa6e..d24e667a 100644 --- a/gemfiles/rails50.gemfile +++ b/gemfiles/rails50.gemfile @@ -1,5 +1,6 @@ # frozen_string_literal: true -eval File.read("#{__dir__}/common.gemfile") +gems = "#{File.dirname __dir__}/gems.rb" +eval File.read(gems), binding, gems gem 'actionpack', '~>5.0.1' diff --git a/gemfiles/rails51.gemfile b/gemfiles/rails51.gemfile index 010b03c9..c25c292f 100644 --- a/gemfiles/rails51.gemfile +++ b/gemfiles/rails51.gemfile @@ -1,5 +1,6 @@ # frozen_string_literal: true -eval File.read("#{__dir__}/common.gemfile") +gems = "#{File.dirname __dir__}/gems.rb" +eval File.read(gems), binding, gems gem 'actionpack', '~>5.1.2' diff --git a/gemfiles/rails52.gemfile b/gemfiles/rails52.gemfile index 8527e323..673a1ec7 100644 --- a/gemfiles/rails52.gemfile +++ b/gemfiles/rails52.gemfile @@ -1,5 +1,6 @@ # frozen_string_literal: true -eval File.read("#{__dir__}/common.gemfile") +gems = "#{File.dirname __dir__}/gems.rb" +eval File.read(gems), binding, gems gem 'actionpack', '~>5.2.1' diff --git a/gemfiles/rails60.gemfile b/gemfiles/rails60.gemfile deleted file mode 100644 index bbb0ca97..00000000 --- a/gemfiles/rails60.gemfile +++ /dev/null @@ -1,5 +0,0 @@ -# frozen_string_literal: true - -eval File.read("#{__dir__}/common.gemfile") - -gem 'actionpack', '~>6.0.0' diff --git a/gemfiles/rails60_gems.rb b/gemfiles/rails60_gems.rb new file mode 100644 index 00000000..4bc83260 --- /dev/null +++ b/gemfiles/rails60_gems.rb @@ -0,0 +1,6 @@ +# frozen_string_literal: true + +gems = "#{File.dirname __dir__}/gems.rb" +eval File.read(gems), binding, gems # rubocop: disable Security/Eval + +gem 'actionpack', '~>6.0.0' diff --git a/gems.rb b/gems.rb new file mode 100644 index 00000000..a6656283 --- /dev/null +++ b/gems.rb @@ -0,0 +1,6 @@ +# frozen_string_literal: true + +source 'https://rubygems.org' + +# Specify your gem's dependencies in capybara-screenshot-diff.gemspec +gemspec path: __dir__ From b4c330ba4e4a3df59fd3ae1438e8cf3fa126e4ab Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Mon, 13 Apr 2020 00:25:34 +0200 Subject: [PATCH 091/312] Try using `ruby-install` instead of `rvm` --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 200df8ad..1d69f6e2 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,6 +1,6 @@ language: ruby cache: bundler -rvm: +ruby: - ruby-2.7 - ruby-2.6 - ruby-2.5 From 5ac1e9790d612233f75c75f487c90e25cf9c71bd Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Mon, 13 Apr 2020 00:27:40 +0200 Subject: [PATCH 092/312] Try using newest BigDecimal on JRuby --- gemfiles/rails42.gemfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gemfiles/rails42.gemfile b/gemfiles/rails42.gemfile index ef2078f1..41716bf5 100644 --- a/gemfiles/rails42.gemfile +++ b/gemfiles/rails42.gemfile @@ -4,4 +4,4 @@ gems = "#{File.dirname __dir__}/gems.rb" eval File.read(gems), binding, gems gem 'actionpack', '~>4.2.7' -gem 'bigdecimal', '<2' +gem 'bigdecimal', '<2', platform: :mri From 53079d1ca38d1ba58aa87e8212d7533253530369 Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Mon, 13 Apr 2020 00:50:50 +0200 Subject: [PATCH 093/312] Try using the default BigDecimal on JRuby --- gemfiles/rails42.gemfile | 2 +- matrix_test.rb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/gemfiles/rails42.gemfile b/gemfiles/rails42.gemfile index 41716bf5..e7744a37 100644 --- a/gemfiles/rails42.gemfile +++ b/gemfiles/rails42.gemfile @@ -4,4 +4,4 @@ gems = "#{File.dirname __dir__}/gems.rb" eval File.read(gems), binding, gems gem 'actionpack', '~>4.2.7' -gem 'bigdecimal', '<2', platform: :mri +gem 'bigdecimal', '<2' unless Gem.java_platform? diff --git a/matrix_test.rb b/matrix_test.rb index c522531d..f8f5fe33 100755 --- a/matrix_test.rb +++ b/matrix_test.rb @@ -40,7 +40,7 @@ def use_gemfile(ruby, gemfile, update_gemfiles) puts '$' * 80 end -travis['rvm'].each do |ruby| +travis['ruby'].each do |ruby| next if /head/.match?(ruby) # ruby-install does not support HEAD installation puts '#' * 80 From f4c06306c79f73604c548f870cc3e295850e735c Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Mon, 13 Apr 2020 00:53:47 +0200 Subject: [PATCH 094/312] Try using the default BigDecimal on JRuby --- gemfiles/rails42.gemfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gemfiles/rails42.gemfile b/gemfiles/rails42.gemfile index e7744a37..41716bf5 100644 --- a/gemfiles/rails42.gemfile +++ b/gemfiles/rails42.gemfile @@ -4,4 +4,4 @@ gems = "#{File.dirname __dir__}/gems.rb" eval File.read(gems), binding, gems gem 'actionpack', '~>4.2.7' -gem 'bigdecimal', '<2' unless Gem.java_platform? +gem 'bigdecimal', '<2', platform: :mri From 20950b09ba04ce3263ce4c2914258bfe279e5b6c Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Mon, 13 Apr 2020 00:57:18 +0200 Subject: [PATCH 095/312] Revert to using "rvm" since "ruby" is an alias --- .travis.yml | 2 +- matrix_test.rb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 1d69f6e2..200df8ad 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,6 +1,6 @@ language: ruby cache: bundler -ruby: +rvm: - ruby-2.7 - ruby-2.6 - ruby-2.5 diff --git a/matrix_test.rb b/matrix_test.rb index f8f5fe33..c522531d 100755 --- a/matrix_test.rb +++ b/matrix_test.rb @@ -40,7 +40,7 @@ def use_gemfile(ruby, gemfile, update_gemfiles) puts '$' * 80 end -travis['ruby'].each do |ruby| +travis['rvm'].each do |ruby| next if /head/.match?(ruby) # ruby-install does not support HEAD installation puts '#' * 80 From be101f5ffc6a39d41f8a5b79e0e635d4e05969f5 Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Mon, 13 Apr 2020 01:21:51 +0200 Subject: [PATCH 096/312] Use openjdk14 --- .travis.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 200df8ad..c3db74f0 100644 --- a/.travis.yml +++ b/.travis.yml @@ -17,8 +17,7 @@ gemfile: env: - JRUBY_OPTS="--dev --debug" -jdk: - - oraclejdk14 +jdk: openjdk14 jobs: fast_finish: true From 6f58a79d203fdd7e482a98465be3e2f55f692b40 Mon Sep 17 00:00:00 2001 From: Paul Keen <125715+pftg@users.noreply.github.com> Date: Mon, 1 Jun 2020 22:44:37 +0300 Subject: [PATCH 097/312] Prevents browser leaking on taking screenshots --- .travis.yml | 6 +++- capybara-screenshot-diff.gemspec | 3 ++ lib/capybara/screenshot/diff/test_methods.rb | 2 +- .../diff/test_methods_system_test.rb | 30 +++++++++++++++++++ test/test_helper.rb | 11 ++++++- 5 files changed, 49 insertions(+), 3 deletions(-) create mode 100644 test/capybara/screenshot/diff/test_methods_system_test.rb diff --git a/.travis.yml b/.travis.yml index c3db74f0..8e7143ec 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,5 +1,7 @@ language: ruby cache: bundler +addons: + chrome: stable rvm: - ruby-2.7 - ruby-2.6 @@ -15,7 +17,9 @@ gemfile: - gemfiles/rails42.gemfile env: - - JRUBY_OPTS="--dev --debug" + global: + - JRUBY_OPTS="--dev --debug" + - COVERAGE="enabled" jdk: openjdk14 diff --git a/capybara-screenshot-diff.gemspec b/capybara-screenshot-diff.gemspec index 7f436f31..b6b63678 100644 --- a/capybara-screenshot-diff.gemspec +++ b/capybara-screenshot-diff.gemspec @@ -26,8 +26,11 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'minitest', '~> 5.0' spec.add_development_dependency 'minitest-reporters' + spec.add_development_dependency 'puma' spec.add_development_dependency 'rake' spec.add_development_dependency 'rubocop', '~> 0.81' spec.add_development_dependency 'rubocop-performance', '~> 1.5' + spec.add_development_dependency 'selenium-webdriver' spec.add_development_dependency 'simplecov', '~> 0.11' + spec.add_development_dependency 'webdrivers' end diff --git a/lib/capybara/screenshot/diff/test_methods.rb b/lib/capybara/screenshot/diff/test_methods.rb index e19a7d82..5cb48aad 100644 --- a/lib/capybara/screenshot/diff/test_methods.rb +++ b/lib/capybara/screenshot/diff/test_methods.rb @@ -42,7 +42,7 @@ def screenshot_dir end def current_capybara_driver_class - Capybara.drivers[Capybara.current_driver].call({}).class + Capybara.current_session.driver.class end def selenium? diff --git a/test/capybara/screenshot/diff/test_methods_system_test.rb b/test/capybara/screenshot/diff/test_methods_system_test.rb new file mode 100644 index 00000000..8877dae8 --- /dev/null +++ b/test/capybara/screenshot/diff/test_methods_system_test.rb @@ -0,0 +1,30 @@ +# frozen_string_literal: true + +require 'action_pack/version' + +if [ActionPack::VERSION::MAJOR, ActionPack::VERSION::MINOR].join > '60' + require 'test_helper' + require 'webdrivers/chromedriver' + + Webdrivers::Chromedriver.update + + module Capybara + module Screenshot + module Diff + class TestMethodsSystemTest < ActionDispatch::SystemTestCase + driven_by :selenium, using: :headless_chrome + + teardown { Capybara.use_default_driver } + + include TestMethods + include TestHelper + + def test_current_capybara_driver_class_do_not_spawn_new_process + 5.times { current_capybara_driver_class } + assert_equal 1, `ps x -o pid= -o command=`.scan('webdrivers/chromedriver').size + end + end + end + end + end +end diff --git a/test/test_helper.rb b/test/test_helper.rb index 284b0f7e..25f92f79 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -1,6 +1,10 @@ # frozen_string_literal: true -if defined?(Rake) && (RUBY_ENGINE != 'jruby' || org.jruby.RubyInstanceConfig.FULL_TRACE_ENABLED) +coverage_enabled = ENV['COVERAGE'] && + defined?(Rake) && + (RUBY_ENGINE != 'jruby' || org.jruby.RubyInstanceConfig.FULL_TRACE_ENABLED) + +if coverage_enabled require 'simplecov' SimpleCov.start SimpleCov.minimum_coverage RUBY_ENGINE == 'jruby' ? 82.5 : 83.5 @@ -21,6 +25,11 @@ def self.root require 'minitest/reporters' Minitest::Reporters.use! +require 'capybara/minitest' + +Capybara.threadsafe = true +Capybara.app = Rack::Builder.new { map('/') { run Rails.application } } + # TODO(uwe): Remove when we stop support for Rails 4.2 ActiveSupport.test_order = :random # ODOT From f0aea554ae12bcb5b205ae3ef9ece4590c33decd Mon Sep 17 00:00:00 2001 From: Paul Keen <125715+pftg@users.noreply.github.com> Date: Tue, 14 Jul 2020 19:36:40 +0300 Subject: [PATCH 098/312] Introduce VIPs adapter for faster image processing Ref: donv/capybara-screenshot-diff#15 * Allow to switch between chunky_png and vips version: global and per screenshot * Moved chunkypng to separate impl * Adds native vips implementation to find difference * Adds new strategies to find difference tollerance option and median filter size option * Setup Travis to install libvips with minimal required version --- .rubocop.yml | 93 +++- .rubocop_todo.yml | 10 +- .travis.yml | 12 +- Dockerfile | 51 +++ README.md | 60 ++- bin/install-vips | 11 + gems.rb | 5 + lib/capybara/screenshot/diff.rb | 2 + .../diff/drivers/chunky_png_driver.rb | 409 ++++++++++++++++++ .../screenshot/diff/drivers/vips_driver.rb | 308 +++++++++++++ lib/capybara/screenshot/diff/image_compare.rb | 385 +---------------- lib/capybara/screenshot/diff/stabilization.rb | 50 ++- lib/capybara/screenshot/diff/test_methods.rb | 54 +-- .../diff/drivers/chunky_png_driver_test.rb | 129 ++++++ .../diff/drivers/vips_driver_test.rb | 185 ++++++++ .../screenshot/diff/image_compare_test.rb | 101 +---- .../screenshot/diff/test_methods_test.rb | 4 + test/test_helper.rb | 12 +- tmp/.keep | 0 19 files changed, 1361 insertions(+), 520 deletions(-) create mode 100644 Dockerfile create mode 100755 bin/install-vips create mode 100644 lib/capybara/screenshot/diff/drivers/chunky_png_driver.rb create mode 100644 lib/capybara/screenshot/diff/drivers/vips_driver.rb create mode 100644 test/capybara/screenshot/diff/drivers/chunky_png_driver_test.rb create mode 100644 test/capybara/screenshot/diff/drivers/vips_driver_test.rb create mode 100644 tmp/.keep diff --git a/.rubocop.yml b/.rubocop.yml index 4073477e..7d6713a6 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -21,12 +21,12 @@ Style/HashTransformValues: Enabled: true # ODOT -Layout/ArgumentAlignment: - EnforcedStyle: with_fixed_indentation - IndentationWidth: 4 +#Layout/ArgumentAlignment: +# EnforcedStyle: with_fixed_indentation +# IndentationWidth: 4 Layout/HeredocIndentation: - EnforcedStyle: active_support + Enabled: true Layout/LineLength: Max: 107 @@ -40,7 +40,8 @@ Layout/MultilineOperationIndentation: Layout/ParameterAlignment: EnforcedStyle: with_fixed_indentation - IndentationWidth: 4 + IndentationWidth: 2 + Lint/Debugger: Enabled: false @@ -71,3 +72,85 @@ Style/NumericPredicate: Style/SignalException: EnforcedStyle: semantic + +# TODO: Review and enable +Layout/EmptyLinesAroundAttributeAccessor: + Enabled: false +Layout/SpaceAroundMethodCallOperator: + Enabled: false +Lint/BinaryOperatorWithIdenticalOperands: + Enabled: false +Lint/DeprecatedOpenSSLConstant: + Enabled: false +Lint/DuplicateElsifCondition: + Enabled: false +Lint/DuplicateRescueException: + Enabled: false +Lint/EmptyConditionalBody: + Enabled: false +Lint/FloatComparison: + Enabled: false +Lint/MissingSuper: + Enabled: false +Lint/MixedRegexpCaptureTypes: + Enabled: false +Lint/SelfAssignment: + Enabled: false +Lint/TopLevelReturnWithArgument: + Enabled: false +Lint/OutOfRangeRegexpRef: + Enabled: false +Lint/UnreachableLoop: + Enabled: false +Style/AccessorGrouping: + Enabled: false +Style/ArrayCoercion: + Enabled: false +Style/BisectedAttrAccessor: + Enabled: false +Style/CaseLikeIf: + Enabled: false +Style/ExplicitBlockArgument: + Enabled: false +Style/ExponentialNotation: + Enabled: false +Style/GlobalStdStream: + Enabled: false +Style/HashAsLastArrayItem: + Enabled: false +Style/HashLikeCase: + Enabled: false +Style/OptionalBooleanParameter: + Enabled: false +Style/RedundantAssignment: + Enabled: false +Style/RedundantFetchBlock: + Enabled: false +Style/RedundantFileExtensionInRequire: + Enabled: false +Style/RedundantRegexpCharacterClass: + Enabled: false +Style/RedundantRegexpEscape: + Enabled: false +Style/SingleArgumentDig: + Enabled: false +Style/SlicingWithRange: + Enabled: false +Style/StringConcatenation: + Enabled: false +Performance/AncestorsInclude: + Enabled: false +Performance/BigDecimalWithNumericArgument: + Enabled: false +Performance/RedundantSortBlock: + Enabled: false +Performance/RedundantStringChars: + Enabled: false +Performance/ReverseFirst: + Enabled: false +Performance/SortReverse: + Enabled: false +Performance/Squeeze: + Enabled: false +Performance/StringInclude: + Enabled: false diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index ab48194c..83122eee 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -9,7 +9,7 @@ # Offense count: 12 # Configuration parameters: IgnoredMethods. Metrics/AbcSize: - Max: 50 + Max: 60 # Offense count: 2 # Configuration parameters: CountComments, ExcludedMethods. @@ -20,12 +20,12 @@ Metrics/BlockLength: # Offense count: 1 # Configuration parameters: CountComments. Metrics/ClassLength: - Max: 309 + Max: 400 # Offense count: 6 # Configuration parameters: IgnoredMethods. Metrics/CyclomaticComplexity: - Max: 17 + Max: 20 # Offense count: 15 # Configuration parameters: CountComments, ExcludedMethods. @@ -35,7 +35,7 @@ Metrics/MethodLength: # Offense count: 1 # Configuration parameters: CountComments. Metrics/ModuleLength: - Max: 123 + Max: 150 # Offense count: 3 # Configuration parameters: CountKeywordArgs. @@ -45,4 +45,4 @@ Metrics/ParameterLists: # Offense count: 6 # Configuration parameters: IgnoredMethods. Metrics/PerceivedComplexity: - Max: 17 + Max: 20 diff --git a/.travis.yml b/.travis.yml index 8e7143ec..0eeab8e9 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,7 +1,17 @@ +dist: focal language: ruby cache: bundler addons: - chrome: stable + apt: + update: true + packages: + - libvips + - libvips-dev + - libvips-tools + +before_install: + - vips --version + rvm: - ruby-2.7 - ruby-2.6 diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 00000000..9764e902 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,51 @@ +ARG RUBY_VERSION=2.7 + +FROM cimg/ruby:${RUBY_VERSION} + +RUN \ + + # Install dependencies + sudo apt-get update && \ + DEBIAN_FRONTEND=noninteractive sudo apt-get install -y \ + automake \ + build-essential \ + curl \ + fftw3-dev \ + gettext \ + gobject-introspection \ + gtk-doc-tools \ + libexif-dev \ + libfftw3-dev \ + libgif-dev \ + libglib2.0-dev \ + libgsf-1-dev \ + libgtk2.0-dev \ + libmagickwand-dev \ + libmatio-dev \ + libopenexr-dev \ + libopenslide-dev \ + liborc-0.4-dev \ + libpango1.0-dev \ + libpoppler-glib-dev \ + librsvg2-dev \ + libtiff5-dev \ + libwebp-dev \ + libxml2-dev \ + swig + + +WORKDIR /app +ADD . /app/ + +RUN \ + bundle install && \ + sudo /app/bin/install-vips + +RUN \ + # Clean up + sudo apt-get remove -y curl automake build-essential && \ + sudo apt-get autoremove -y && \ + sudo apt-get autoclean && \ + sudo apt-get clean && \ + sudo rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* + diff --git a/README.md b/README.md index d19fc235..236f66b2 100644 --- a/README.md +++ b/README.md @@ -27,6 +27,10 @@ Or install it yourself as: $ gem install capybara-screenshot-diff +### Requirements + +* [for :vips driver] libvips 8.9 or later, see the [libvips install instructions](https://libvips.github.io/libvips/install.html) + ## Usage ### Minitest @@ -452,10 +456,60 @@ If you need to ignore multiple areas, you can supply an array of arrays: screenshot 'index', skip_area: [[0, 0, 64, 48], [17, 6, 27, 16]] ``` +### Enable VIPS image processing + +By default for image processing is using ChunkyPNG, but there is option to switch to [Vips](https://www.rubydoc.info/gems/ruby-vips/Vips/Image) +To switch to the Vips processor, you have 2 options: + + * Globally: `Capybara::Screenshot::Diff.driver = :vips` + * Per screenshot option: `screenshot 'index', driver: :vips` + +With enabled VIPS there are new alternatives to process differences, which easier to find and support. +For example, `shift_distance_limit` is very heavy operation, and instead better to use `median_filter_window_size`. + +#### Tolerance level (vips only) + +You can set a “tolerance” anywhere from 0% to 100%. This is the amount of change that's allowable. +If the screenshot has changed by more than that amount, it'll flag it as a failure. + +This is alternative to "Allowed difference size", only the difference that area calculates including valid pixels. +But "tolerance" compares only different pixels. + +You can use the `tolerance` option to the `screenshot` method to set level: + +```ruby +test 'unstable area' do + visit '/' + screenshot 'index', tolerance: 0.3 +end +``` + +You can also set this globally: + +```ruby +Capybara::Screenshot::Diff.tolerance = 0.3 +``` + +#### Median filter size (vips only) + +This is an alternative to "Allowed shift distance", but much faster. +You can find more about this strategy on [Median Filter](https://en.wikipedia.org/wiki/Median_filter). +Think about this like smoothing of the image, before comparison. + +You can use the `median_filter_window_size` option to the `screenshot` method to set level: + +```ruby +test 'unstable area' do + visit '/' + screenshot 'index', median_filter_window_size: 2 +end +``` ## Development -After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake test` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment. +After checking out the repo, run `bin/setup` to install dependencies. +Then, run `rake test` to run the tests. +You can also run `bin/console` for an interactive prompt that will allow you to experiment. To install this gem onto your local machine, run `bundle exec rake install`. @@ -463,7 +517,9 @@ To release a new version, update the version number in `lib/capybara/screenshot/ ## Contributing -Bug reports and pull requests are welcome on GitHub at https://github.com/donv/capybara-screenshot-diff. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct. +Bug reports and pull requests are welcome on GitHub at https://github.com/donv/capybara-screenshot-diff. +This project is intended to be a safe, welcoming space for collaboration, +and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct. ## License diff --git a/bin/install-vips b/bin/install-vips new file mode 100755 index 00000000..5aae584b --- /dev/null +++ b/bin/install-vips @@ -0,0 +1,11 @@ +#!/bin/bash + +set -e + +version=${VIPS_VERSION:-8.10.0} + +wget "https://github.com/libvips/libvips/releases/download/v$version/vips-$version.tar.gz" +tar xf "vips-$version.tar.gz" +cd "vips-$version" +CXXFLAGS=-D_GLIBCXX_USE_CXX11_ABI=0 ./configure --enable-debug=no --without-python "$*" +make && make install && ldconfig diff --git a/gems.rb b/gems.rb index a6656283..695d58ea 100644 --- a/gems.rb +++ b/gems.rb @@ -4,3 +4,8 @@ # Specify your gem's dependencies in capybara-screenshot-diff.gemspec gemspec path: __dir__ + +gem 'oily_png', platform: :ruby + +gem 'image_processing', require: false +gem 'ruby-vips', require: false diff --git a/lib/capybara/screenshot/diff.rb b/lib/capybara/screenshot/diff.rb index 9e15288f..e9e2c10d 100644 --- a/lib/capybara/screenshot/diff.rb +++ b/lib/capybara/screenshot/diff.rb @@ -45,6 +45,8 @@ module Diff mattr_accessor(:enabled) { true } mattr_accessor :shift_distance_limit mattr_accessor :skip_area + mattr_accessor(:driver) { :chunky_png } + mattr_accessor(:tolerance) { 0.001 } def self.included(clas) clas.include TestMethods diff --git a/lib/capybara/screenshot/diff/drivers/chunky_png_driver.rb b/lib/capybara/screenshot/diff/drivers/chunky_png_driver.rb new file mode 100644 index 00000000..ef801053 --- /dev/null +++ b/lib/capybara/screenshot/diff/drivers/chunky_png_driver.rb @@ -0,0 +1,409 @@ +# frozen_string_literal: true + +require 'chunky_png' + +module Capybara + module Screenshot + module Diff + # Compare two images and determine if they are equal, different, or within some comparison + # range considering color values and difference area size. + module Drivers + class ChunkyPNGDriver + include ChunkyPNG::Color + + attr_reader :annotated_new_file_name, :annotated_old_file_name, :area_size_limit, + :color_distance_limit, :new_file_name, :old_file_name, :shift_distance_limit, + :skip_area + + def initialize(new_file_name, old_file_name = nil, **options) + @new_file_name = new_file_name + @old_file_name = old_file_name || "#{new_file_name}~" + @annotated_old_file_name = "#{new_file_name.chomp('.png')}.committed.png" + @annotated_new_file_name = "#{new_file_name.chomp('.png')}.latest.png" + + @color_distance_limit = options[:color_distance_limit] + @area_size_limit = options[:area_size_limit] + @shift_distance_limit = options[:shift_distance_limit] + @dimensions = options[:dimensions] + @skip_area = options[:skip_area] + + reset + end + + # Resets the calculated data about the comparison with regard to the "new_image". + # Data about the original image is kept. + def reset + @max_color_distance = @color_distance_limit ? 0 : nil + @max_shift_distance = @shift_distance_limit ? 0 : nil + @left = @top = @right = @bottom = nil + end + + # Compare the two image files and return `true` or `false` as quickly as possible. + # Return falsish if the old file does not exist or the image dimensions do not match. + def quick_equal? + return nil unless old_file_exists? + return true if new_file_size == old_file_size + + old_bytes, new_bytes = load_image_files(@old_file_name, @new_file_name) + return true if old_bytes == new_bytes + + images = load_images(old_bytes, new_bytes) + crop_images(images, @dimensions) if @dimensions + + return false if sizes_changed?(*images) + return true if images.first.pixels == images.last.pixels + + return false unless @color_distance_limit || @shift_distance_limit + + @left, @top, @right, @bottom = find_top(*images) + + return true if @top.nil? + + if @area_size_limit + @left, @top, @right, @bottom = find_diff_rectangle(*images) + return true if size <= @area_size_limit + end + + false + end + + # Compare the two images referenced by this object, and return `true` if they are different, + # and `false` if they are the same. + # Return `nil` if the old file does not exist or if the image dimensions do not match. + def different? + return nil unless old_file_exists? + + old_file, new_file = load_image_files(@old_file_name, @new_file_name) + + return not_different if old_file == new_file + + images = load_images(old_file, new_file) + + crop_images(images, @dimensions) if @dimensions + + old_img = images.first + new_img = images.last + + if sizes_changed?(old_img, new_img) + save_images(@annotated_new_file_name, new_img, @annotated_old_file_name, old_img) + @left = 0 + @top = 0 + @right = old_img.dimension.width - 1 + @bottom = old_img.dimension.height - 1 + return true + end + + return not_different if old_img.pixels == new_img.pixels + + @left, @top, @right, @bottom = find_diff_rectangle(old_img, new_img) + + return not_different if @top.nil? + return not_different if @area_size_limit && size <= @area_size_limit + + save_annotated_images(images) + true + end + + def old_file_exists? + @old_file_name && File.exist?(@old_file_name) + end + + def dimensions + return unless @left || @top || @right || @bottom + + [@left, @top, @right, @bottom] + end + + def size + (@right - @left + 1) * (@bottom - @top + 1) + end + + def max_color_distance + calculate_metrics unless @max_color_distance + @max_color_distance + end + + def max_shift_distance + calculate_metrics unless @max_shift_distance || !@shift_distance_limit + @max_shift_distance + end + + def error_message + max_color_distance = self.max_color_distance.ceil(1) + max_shift_distance = self.max_shift_distance + + "(area: #{size}px #{dimensions}" \ + ", max_color_distance: #{max_color_distance}" \ + "#{", max_shift_distance: #{max_shift_distance}" if max_shift_distance})\n" \ + "#{new_file_name}\n#{annotated_old_file_name}\n" \ + "#{annotated_new_file_name}" + end + + private + + def old_file_size + @old_file_size ||= old_file_exists? && File.size(@old_file_name) + end + + def new_file_size + File.size(@new_file_name) + end + + def save_annotated_images(images) + annotated_old_img, annotated_new_img = draw_rectangles(images, @bottom, @left, @right, @top) + + save_images( + @annotated_new_file_name, + annotated_new_img, + @annotated_old_file_name, + annotated_old_img + ) + end + + def calculate_metrics + old_file, new_file = load_image_files(@old_file_name, @new_file_name) + if old_file == new_file + @max_color_distance = 0 + @max_shift_distance = 0 + return + end + + old_image, new_image = load_images(old_file, new_file) + calculate_max_color_distance(new_image, old_image) + calculate_max_shift_limit(new_image, old_image) + end + + def calculate_max_color_distance(new_image, old_image) + pixel_pairs = old_image.pixels.zip(new_image.pixels) + @max_color_distance = pixel_pairs.inject(0) do |max, (p1, p2)| + next max unless p1 && p2 + + d = ChunkyPNG::Color.euclidean_distance_rgba(p1, p2) + [max, d].max + end + end + + def calculate_max_shift_limit(new_img, old_img) + (0...new_img.width).each do |x| + (0...new_img.height).each do |y| + shift_distance = + shift_distance_at(new_img, old_img, x, y, color_distance_limit: @color_distance_limit) + if shift_distance && (@max_shift_distance.nil? || shift_distance > @max_shift_distance) + @max_shift_distance = shift_distance + return if @max_shift_distance == Float::INFINITY # rubocop: disable Lint/NonLocalExitFromIterator + end + end + end + end + + def not_different + clean_tmp_files + false + end + + def save_images(new_file_name, new_img, org_file_name, org_img) + org_img.save(org_file_name) + new_img.save(new_file_name) + end + + def clean_tmp_files + FileUtils.cp @old_file_name, @new_file_name + File.delete(@old_file_name) if File.exist?(@old_file_name) + File.delete(@annotated_old_file_name) if File.exist?(@annotated_old_file_name) + File.delete(@annotated_new_file_name) if File.exist?(@annotated_new_file_name) + end + + def load_images(old_file, new_file) + [ChunkyPNG::Image.from_blob(old_file), ChunkyPNG::Image.from_blob(new_file)] + end + + def load_image_files(old_file_name, file_name) + old_file = File.binread(old_file_name) + new_file = File.binread(file_name) + [old_file, new_file] + end + + def sizes_changed?(org_image, new_image) + return unless org_image.dimension != new_image.dimension + + change_msg = [org_image, new_image].map { |i| "#{i.width}x#{i.height}" }.join(' => ') + warn "Image size has changed for #{@new_file_name}: #{change_msg}" + true + end + + def crop_images(images, dimensions) + images.map! do |i| + if i.dimension.to_a == dimensions || i.width < dimensions[0] || i.height < dimensions[1] + i + else + i.crop(0, 0, *dimensions) + end + end + end + + def draw_rectangles(images, bottom, left, right, top) + images.map do |image| + new_img = image.dup + new_img.rect(left - 1, top - 1, right + 1, bottom + 1, ChunkyPNG::Color.rgb(255, 0, 0)) + new_img + end + end + + def find_diff_rectangle(org_img, new_img) + left, top, right, bottom = find_left_right_and_top(org_img, new_img) + bottom = find_bottom(org_img, new_img, left, right, bottom) + [left, top, right, bottom] + end + + def find_top(old_img, new_img) + old_img.height.times do |y| + old_img.width.times do |x| + return [x, y, x, y] unless same_color?(old_img, new_img, x, y) + end + end + nil + end + + def find_left_right_and_top(old_img, new_img) + top = @top + bottom = @bottom + left = @left || old_img.width - 1 + right = @right || 0 + old_img.height.times do |y| + (0...left).find do |x| + next if same_color?(old_img, new_img, x, y) + + top ||= y + bottom = y + left = x + right = x if x > right + x + end + (old_img.width - 1).step(right + 1, -1).find do |x| + unless same_color?(old_img, new_img, x, y) + bottom = y + right = x + end + end + end + [left, top, right, bottom] + end + + def find_bottom(old_img, new_img, left, right, bottom) + if bottom + (old_img.height - 1).step(bottom + 1, -1).find do |y| + (left..right).find do |x| + bottom = y unless same_color?(old_img, new_img, x, y) + end + end + end + bottom + end + + def same_color?(old_img, new_img, x, y) + @skip_area&.each do |skip_start_x, skip_start_y, skip_end_x, skip_end_y| + return true if skip_start_x <= x && x <= skip_end_x && skip_start_y <= y && y <= skip_end_y + end + + color_distance = + color_distance_at(new_img, old_img, x, y, shift_distance_limit: @shift_distance_limit) + if !@max_color_distance || color_distance > @max_color_distance + @max_color_distance = color_distance + end + color_matches = color_distance == 0 || (@color_distance_limit && @color_distance_limit > 0 && + color_distance <= @color_distance_limit) + return color_matches if !@shift_distance_limit || @max_shift_distance == Float::INFINITY + + shift_distance = (color_matches && 0) || + shift_distance_at(new_img, old_img, x, y, color_distance_limit: @color_distance_limit) + if shift_distance && (@max_shift_distance.nil? || shift_distance > @max_shift_distance) + @max_shift_distance = shift_distance + end + color_matches + end + + def color_distance_at(new_img, old_img, x, y, shift_distance_limit:) + org_color = old_img[x, y] + if shift_distance_limit + start_x = [0, x - shift_distance_limit].max + end_x = [x + shift_distance_limit, new_img.width - 1].min + xs = (start_x..end_x).to_a + start_y = [0, y - shift_distance_limit].max + end_y = [y + shift_distance_limit, new_img.height - 1].min + ys = (start_y..end_y).to_a + new_pixels = xs.product(ys) + distances = new_pixels.map do |dx, dy| + new_color = new_img[dx, dy] + ChunkyPNG::Color.euclidean_distance_rgba(org_color, new_color) + end + distances.min + else + ChunkyPNG::Color.euclidean_distance_rgba(org_color, new_img[x, y]) + end + end + + def shift_distance_at(new_img, old_img, x, y, color_distance_limit:) + org_color = old_img[x, y] + shift_distance = 0 + loop do + bounds_breached = 0 + top_row = y - shift_distance + if top_row >= 0 # top + ([0, x - shift_distance].max..[x + shift_distance, new_img.width - 1].min).each do |dx| + if color_matches(new_img, org_color, dx, top_row, color_distance_limit) + return shift_distance + end + end + else + bounds_breached += 1 + end + if shift_distance > 0 + if (x - shift_distance) >= 0 # left + ([0, top_row + 1].max..[y + shift_distance, new_img.height - 2].min) + .each do |dy| + if color_matches(new_img, org_color, x - shift_distance, dy, color_distance_limit) + return shift_distance + end + end + else + bounds_breached += 1 + end + if (y + shift_distance) < new_img.height # bottom + ([0, x - shift_distance].max..[x + shift_distance, new_img.width - 1].min).each do |dx| + if color_matches(new_img, org_color, dx, y + shift_distance, color_distance_limit) + return shift_distance + end + end + else + bounds_breached += 1 + end + if (x + shift_distance) < new_img.width # right + ([0, top_row + 1].max..[y + shift_distance, new_img.height - 2].min) + .each do |dy| + if color_matches(new_img, org_color, x + shift_distance, dy, color_distance_limit) + return shift_distance + end + end + else + bounds_breached += 1 + end + end + break if bounds_breached == 4 + + shift_distance += 1 + end + Float::INFINITY + end + + def color_matches(new_img, org_color, x, y, color_distance_limit) + new_color = new_img[x, y] + return new_color == org_color unless color_distance_limit + + color_distance = ChunkyPNG::Color.euclidean_distance_rgba(org_color, new_color) + color_distance <= color_distance_limit + end + end + end + end + end +end diff --git a/lib/capybara/screenshot/diff/drivers/vips_driver.rb b/lib/capybara/screenshot/diff/drivers/vips_driver.rb new file mode 100644 index 00000000..1a86d06f --- /dev/null +++ b/lib/capybara/screenshot/diff/drivers/vips_driver.rb @@ -0,0 +1,308 @@ +# frozen_string_literal: true + +begin + require 'vips' +rescue LoadError => e + warn 'Required ruby-vips gem is missing. Add `gem "ruby-vips"` to Gemfile' if e.message.include?('vips') + raise +end + +require_relative './chunky_png_driver' + +module Capybara + module Screenshot + module Diff + # Compare two images and determine if they are equal, different, or within some comparison + # range considering color values and difference area size. + module Drivers + class VipsDriver + attr_reader :annotated_new_file_name, :annotated_old_file_name, :area_size_limit, + :color_distance_limit, :new_file_name, :old_file_name, :shift_distance_limit, + :skip_area, :tolerance + + def initialize(new_file_name, old_file_name = nil, **options) + @new_file_name = new_file_name + @old_file_name = old_file_name || "#{new_file_name}~" + @annotated_old_file_name = "#{new_file_name.chomp('.png')}.committed.png" + @annotated_new_file_name = "#{new_file_name.chomp('.png')}.latest.png" + + @color_distance_limit = options[:color_distance_limit] || 0 + @area_size_limit = options[:area_size_limit] + @shift_distance_limit = options[:shift_distance_limit] + @dimensions = options[:dimensions] + @skip_area = options[:skip_area] + @tolerance = options[:tolerance] + @median_filter_window_size = options[:median_filter_window_size] + + reset + end + + # Resets the calculated data about the comparison with regard to the "new_image". + # Data about the original image is kept. + def reset + self.difference_region = nil + end + + # Compare the two image files and return `true` or `false` as quickly as possible. + # Return falsish if the old file does not exist or the image dimensions do not match. + def quick_equal? + return nil unless old_file_exists? + + old_image, new_image = preprocess_images vips_load_images(@old_file_name, @new_file_name) + + return false if dimension_changed?(old_image, new_image) + + diff_mask = VipsUtil.difference_mask(@color_distance_limit, old_image, new_image) + self.difference_region = VipsUtil.difference_region_by(diff_mask) + + return true if difference_region_empty?(new_image) + + return true if @area_size_limit && size <= @area_size_limit + + return true if @tolerance && @tolerance >= difference_level(diff_mask, old_image) + + # TODO: Remove this or find similar solution for vips + if @shift_distance_limit + warn '[capybara-screenshot-diff] Instead of shift_distance_limit ' \ + 'please use median_filter_window_size and color_distance_limit options' + return true if chunky_png_driver.quick_equal? + end + + false + end + + # Compare the two images referenced by this object, and return `true` if they are different, + # and `false` if they are the same. + # Return `nil` if the old file does not exist or if the image dimensions do not match. + def different? + return nil unless old_file_exists? + + images = vips_load_images(@old_file_name, @new_file_name) + + old_img, new_img = preprocess_images(images) + + if dimension_changed?(old_img, new_img) + save(new_img, old_img) + + self.difference_region = 0, 0, width_for(old_img), height_for(old_img) + + return true + end + + diff_mask = VipsUtil.difference_mask(@color_distance_limit, old_img, new_img) + self.difference_region = VipsUtil.difference_region_by(diff_mask) + + return not_different if difference_region_empty?(old_img) + return not_different if @area_size_limit && size <= @area_size_limit + return not_different if @tolerance && @tolerance > difference_level(diff_mask, old_img) + + # TODO: Remove this or find similar solution for vips + if @shift_distance_limit + warn '[capybara-screenshot-diff] Instead of shift_distance_limit ' \ + 'please use median_filter_window_size and color_distance_limit options' + return not_different unless chunky_png_driver.different? + end + + annotate_and_save(images) + + true + end + + def old_file_exists? + @old_file_name && File.exist?(@old_file_name) + end + + def dimensions + difference_region + end + + def size + return 0 unless dimensions + + (@right - @left) * (@bottom - @top) + end + + def error_message + "(area: #{size}px #{dimensions})\n" \ + "#{new_file_name}\n#{annotated_old_file_name}\n" \ + "#{annotated_new_file_name}" + end + + private + + def difference_region + return nil unless @left || @top || @right || @bottom + + [@left, @top, @right, @bottom] + end + + def difference_region=(region) + @left, @top, @right, @bottom = region + end + + def chunky_png_driver + @chunky_png_driver ||= ChunkyPNGDriver.new( + @new_file_name, + @old_file_name, + dimensions: @dimensions, + color_distance_limit: @color_distance_limit, + area_size_limit: @area_size_limit, + shift_distance_limit: @shift_distance_limit, + skip_area: @skip_area + ) + end + + def difference_region_empty?(old_img) + difference_region.nil? || + (@top == height_for(old_img) && @left == width_for(old_img) && @right.zero? && @bottom.zero?) + end + + def preprocess_images(images) + # TODO: Run preprocesses for new files only + crop_images(images, @dimensions) if @dimensions + + old_img = preprocess_image(images.first) + new_img = preprocess_image(images.last) + + [old_img, new_img] + end + + def preprocess_image(image) + result = @median_filter_window_size ? image.median(@median_filter_window_size) : image + + if @skip_area + result = @skip_area.reduce(result) do |memo, region| + memo.draw_rect([0, 0, 0, 0], *region, fill: true) + end + end + + result + end + + def difference_level(diff_mask, old_img) + VipsUtil.difference_area_size_by(diff_mask).to_f / image_area_size(old_img) + end + + def image_area_size(old_img) + width_for(old_img) * height_for(old_img) + end + + def equal_by_pixels(new_img, old_img) + old_img.to_a == new_img.to_a + end + + def height_for(image) + image.height + end + + def width_for(image) + image.width + end + + def annotate_and_save(images) + annotated_old_img, annotated_new_img = draw_rectangles(images, *difference_region) + + save(annotated_new_img, annotated_old_img) + end + + def save(annotated_new_img, annotated_old_img) + annotated_new_img.write_to_file(@annotated_new_file_name) + annotated_old_img.write_to_file(@annotated_old_file_name) + end + + def pixels(old_image) + old_image.to_a + end + + def not_different + clean_tmp_files + false + end + + def clean_tmp_files + FileUtils.cp @old_file_name, @new_file_name if old_file_exists? + File.delete(@old_file_name) if old_file_exists? + File.delete(@annotated_old_file_name) if File.exist?(@annotated_old_file_name) + File.delete(@annotated_new_file_name) if File.exist?(@annotated_new_file_name) + end + + def vips_load_images(old_file_name, new_file_name) + [from_file(old_file_name), from_file(new_file_name)] + end + + def from_file(old_file_name) + result = Vips::Image.new_from_file(old_file_name) + + result = result.colourspace('srgb') if result.bands < 3 + result = result.bandjoin(255) if result.bands == 3 + + result + end + + def dimension_changed?(org_image, new_image) + return unless dimension(org_image) != dimension(new_image) + + change_msg = [org_image, new_image].map { |i| "#{i.width}x#{i.height}" }.join(' => ') + warn "Image size has changed for #{@new_file_name}: #{change_msg}" + + true + end + + def dimension(image) + [image.width, image.height] + end + + def crop_images(images, dimensions) + images.map! do |i| + if dimension(i) == dimensions || i.width < dimensions[0] || i.height < dimensions[1] + i + else + i.crop(0, 0, *dimensions) + end + end + end + + RED_INK = [255, 0, 0, 255].freeze + + def draw_rectangles(images, left, top, right, bottom) + images.map do |image| + image.draw_rect(RED_INK, left - 1, top - 1, right - left + 2, bottom - top + 2) + end + end + + class VipsUtil + def self.difference(old_image, new_image, color_distance: 0) + diff_mask = difference_mask(color_distance, new_image, old_image) + difference_region_by(diff_mask) + end + + def self.difference_area(old_image, new_image, color_distance: 0) + difference_mask = difference_mask(color_distance, new_image, old_image) + difference_area_size_by(difference_mask) + end + + def self.difference_area_size_by(difference_mask) + diff_mask = difference_mask == 0 + diff_mask.hist_find.to_a[0][0].max + end + + def self.difference_mask(color_distance, old_image, new_image) + (new_image - old_image).abs > color_distance + end + + def self.difference_region_by(diff_mask) + columns, rows = diff_mask.project + + left = columns.profile[1].min + right = columns.width - columns.flip('horizontal').profile[1].min + top = rows.profile[0].min + bottom = rows.height - rows.flip('vertical').profile[0].min + + [left, top, right, bottom] + end + end + end + end + end + end +end diff --git a/lib/capybara/screenshot/diff/image_compare.rb b/lib/capybara/screenshot/diff/image_compare.rb index 2c5617a8..692bbc8c 100644 --- a/lib/capybara/screenshot/diff/image_compare.rb +++ b/lib/capybara/screenshot/diff/image_compare.rb @@ -1,389 +1,36 @@ # frozen_string_literal: true -require 'chunky_png' +require_relative './drivers/chunky_png_driver' +require_relative './drivers/vips_driver' module Capybara module Screenshot module Diff # Compare two images and determine if they are equal, different, or within some comparison # range considering color values and difference area size. - class ImageCompare - include ChunkyPNG::Color + class ImageCompare < SimpleDelegator + attr_reader :driver, :driver_options - attr_reader :annotated_new_file_name, :annotated_old_file_name, :area_size_limit, - :color_distance_limit, :new_file_name, :old_file_name, :shift_distance_limit, :skip_area + def initialize(new_file_name, old_file_name = nil, **driver_options) + @driver_options = driver_options - def initialize(new_file_name, old_file_name = nil, dimensions: nil, color_distance_limit: nil, - area_size_limit: nil, shift_distance_limit: nil, skip_area: nil) - @new_file_name = new_file_name - @color_distance_limit = color_distance_limit - @area_size_limit = area_size_limit - @shift_distance_limit = shift_distance_limit - @dimensions = dimensions - @skip_area = skip_area - @old_file_name = old_file_name || "#{new_file_name}~" - @annotated_old_file_name = "#{new_file_name.chomp('.png')}.committed.png" - @annotated_new_file_name = "#{new_file_name.chomp('.png')}.latest.png" - reset - end - - # Resets the calculated data about the comparison with regard to the "new_image". - # Data about the original image is kept. - def reset - @max_color_distance = @color_distance_limit ? 0 : nil - @max_shift_distance = @shift_distance_limit ? 0 : nil - @left = @top = @right = @bottom = nil - end - - # Compare the two image files and return `true` or `false` as quickly as possible. - # Return falsish if the old file does not exist or the image dimensions do not match. - def quick_equal? - return nil unless old_file_exists? - return true if new_file_size == old_file_size - - old_bytes, new_bytes = load_image_files(@old_file_name, @new_file_name) - return true if old_bytes == new_bytes - - images = load_images(old_bytes, new_bytes) - old_bytes = new_bytes = nil # rubocop: disable Lint/UselessAssignment - crop_images(images, @dimensions) if @dimensions - - return false if sizes_changed?(*images) - return true if images.first.pixels == images.last.pixels - - return false unless @color_distance_limit || @shift_distance_limit - - @left, @top, @right, @bottom = find_top(*images) - - return true if @top.nil? - - if @area_size_limit - @left, @top, @right, @bottom = find_diff_rectangle(*images) - return true if size <= @area_size_limit - end - - false - end - - # Compare the two images referenced by this object, and return `true` if they are different, - # and `false` if they are the same. - # Return `nil` if the old file does not exist or if the image dimensions do not match. - def different? - return nil unless old_file_exists? - - old_file, new_file = load_image_files(@old_file_name, @new_file_name) - - return not_different if old_file == new_file - - images = load_images(old_file, new_file) - - crop_images(images, @dimensions) if @dimensions - - old_img = images.first - new_img = images.last - - if sizes_changed?(old_img, new_img) - save_images(@annotated_new_file_name, new_img, @annotated_old_file_name, old_img) - @left = 0 - @top = 0 - @right = old_img.dimension.width - 1 - @bottom = old_img.dimension.height - 1 - return true - end - - return not_different if old_img.pixels == new_img.pixels - - @left, @top, @right, @bottom = find_diff_rectangle(old_img, new_img) - - return not_different if @top.nil? - return not_different if @area_size_limit && size <= @area_size_limit + driver_klass = find_driver_class_for(driver_options.fetch(:driver) { :chunky_png }) + @driver = driver_klass.new(new_file_name, old_file_name, **driver_options) - save_annotated_images(images) - true - end - - def old_file_exists? - @old_file_name && File.exist?(@old_file_name) - end - - def old_file_size - @old_file_size ||= old_file_exists? && File.size(@old_file_name) - end - - def new_file_size - File.size(@new_file_name) - end - - def dimensions - return unless @left || @top || @right || @bottom - - [@left, @top, @right, @bottom] - end - - def size - (@right - @left + 1) * (@bottom - @top + 1) - end - - def max_color_distance - calculate_metrics unless @max_color_distance - @max_color_distance - end - - def max_shift_distance - calculate_metrics unless @max_shift_distance || !@shift_distance_limit - @max_shift_distance + super(@driver) end private - def save_annotated_images(images) - annotated_old_img, annotated_new_img = draw_rectangles(images, @bottom, @left, @right, @top) - - save_images(@annotated_new_file_name, annotated_new_img, - @annotated_old_file_name, annotated_old_img) - end - - def calculate_metrics - old_file, new_file = load_image_files(@old_file_name, @new_file_name) - if old_file == new_file - @max_color_distance = 0 - @max_shift_distance = 0 - return - end - - old_image, new_image = load_images(old_file, new_file) - calculate_max_color_distance(new_image, old_image) - calculate_max_shift_limit(new_image, old_image) - end - - def calculate_max_color_distance(new_image, old_image) - pixel_pairs = old_image.pixels.zip(new_image.pixels) - @max_color_distance = pixel_pairs.inject(0) do |max, (p1, p2)| - next max unless p1 && p2 - - d = ChunkyPNG::Color.euclidean_distance_rgba(p1, p2) - [max, d].max - end - end - - def calculate_max_shift_limit(new_img, old_img) - (0...new_img.width).each do |x| - (0...new_img.height).each do |y| - shift_distance = - shift_distance_at(new_img, old_img, x, y, color_distance_limit: @color_distance_limit) - if shift_distance && (@max_shift_distance.nil? || shift_distance > @max_shift_distance) - @max_shift_distance = shift_distance - return if @max_shift_distance == Float::INFINITY # rubocop: disable Lint/NonLocalExitFromIterator - end - end - end - end - - def not_different - clean_tmp_files - false - end - - def save_images(new_file_name, new_img, org_file_name, org_img) - org_img.save(org_file_name) - new_img.save(new_file_name) - end - - def clean_tmp_files - FileUtils.cp @old_file_name, @new_file_name - File.delete(@old_file_name) if File.exist?(@old_file_name) - File.delete(@annotated_old_file_name) if File.exist?(@annotated_old_file_name) - File.delete(@annotated_new_file_name) if File.exist?(@annotated_new_file_name) - end - - def load_images(old_file, new_file) - [ChunkyPNG::Image.from_blob(old_file), ChunkyPNG::Image.from_blob(new_file)] - end - - def load_image_files(old_file_name, file_name) - old_file = File.binread(old_file_name) - new_file = File.binread(file_name) - [old_file, new_file] - end - - def sizes_changed?(org_image, new_image) - return unless org_image.dimension != new_image.dimension - - change_msg = [org_image, new_image].map { |i| "#{i.width}x#{i.height}" }.join(' => ') - puts "Image size has changed for #{@new_file_name}: #{change_msg}" - true - end - - def crop_images(images, dimensions) - images.map! do |i| - if i.dimension.to_a == dimensions || i.width < dimensions[0] || i.height < dimensions[1] - i - else - i.crop(0, 0, *dimensions) - end - end - end - - def draw_rectangles(images, bottom, left, right, top) - images.map do |image| - new_img = image.dup - new_img.rect(left - 1, top - 1, right + 1, bottom + 1, ChunkyPNG::Color.rgb(255, 0, 0)) - new_img - end - end - - def find_diff_rectangle(org_img, new_img) - left, top, right, bottom = find_left_right_and_top(org_img, new_img) - bottom = find_bottom(org_img, new_img, left, right, bottom) - [left, top, right, bottom] - end - - def find_top(old_img, new_img) - old_img.height.times do |y| - old_img.width.times do |x| - return [x, y, x, y] unless same_color?(old_img, new_img, x, y) - end - end - nil - end - - def find_left_right_and_top(old_img, new_img) - top = @top - bottom = @bottom - left = @left || old_img.width - 1 - right = @right || 0 - old_img.height.times do |y| - (0...left).find do |x| - next if same_color?(old_img, new_img, x, y) - - top ||= y - bottom = y - left = x - right = x if x > right - x - end - (old_img.width - 1).step(right + 1, -1).find do |x| - unless same_color?(old_img, new_img, x, y) - bottom = y - right = x - end - end - end - [left, top, right, bottom] - end - - def find_bottom(old_img, new_img, left, right, bottom) - if bottom - (old_img.height - 1).step(bottom + 1, -1).find do |y| - (left..right).find do |x| - bottom = y unless same_color?(old_img, new_img, x, y) - end - end - end - bottom - end - - def same_color?(old_img, new_img, x, y) - @skip_area&.each do |skip_start_x, skip_start_y, skip_end_x, skip_end_y| - return true if skip_start_x <= x && x <= skip_end_x && skip_start_y <= y && y <= skip_end_y - end - - color_distance = - color_distance_at(new_img, old_img, x, y, shift_distance_limit: @shift_distance_limit) - if !@max_color_distance || color_distance > @max_color_distance - @max_color_distance = color_distance - end - color_matches = color_distance == 0 || (@color_distance_limit && @color_distance_limit > 0 && - color_distance <= @color_distance_limit) - return color_matches if !@shift_distance_limit || @max_shift_distance == Float::INFINITY - - shift_distance = (color_matches && 0) || - shift_distance_at(new_img, old_img, x, y, color_distance_limit: @color_distance_limit) - if shift_distance && (@max_shift_distance.nil? || shift_distance > @max_shift_distance) - @max_shift_distance = shift_distance - end - color_matches - end - - def color_distance_at(new_img, old_img, x, y, shift_distance_limit:) - org_color = old_img[x, y] - if shift_distance_limit - start_x = [0, x - shift_distance_limit].max - end_x = [x + shift_distance_limit, new_img.width - 1].min - xs = (start_x..end_x).to_a - start_y = [0, y - shift_distance_limit].max - end_y = [y + shift_distance_limit, new_img.height - 1].min - ys = (start_y..end_y).to_a - new_pixels = xs.product(ys) - distances = new_pixels.map do |dx, dy| - new_color = new_img[dx, dy] - ChunkyPNG::Color.euclidean_distance_rgba(org_color, new_color) - end - distances.min + def find_driver_class_for(driver) + case driver + when :vips + Drivers::VipsDriver + when :chunky_png + Drivers::ChunkyPNGDriver else - ChunkyPNG::Color.euclidean_distance_rgba(org_color, new_img[x, y]) - end - end - - def shift_distance_at(new_img, old_img, x, y, color_distance_limit:) - org_color = old_img[x, y] - shift_distance = 0 - loop do - bounds_breached = 0 - top_row = y - shift_distance - if top_row >= 0 # top - ([0, x - shift_distance].max..[x + shift_distance, new_img.width - 1].min).each do |dx| - if color_matches(new_img, org_color, dx, top_row, color_distance_limit) - return shift_distance - end - end - else - bounds_breached += 1 - end - if shift_distance > 0 - if (x - shift_distance) >= 0 # left - ([0, top_row + 1].max..[y + shift_distance, new_img.height - 2].min) - .each do |dy| - if color_matches(new_img, org_color, x - shift_distance, dy, color_distance_limit) - return shift_distance - end - end - else - bounds_breached += 1 - end - if (y + shift_distance) < new_img.height # bottom - ([0, x - shift_distance].max..[x + shift_distance, new_img.width - 1].min).each do |dx| - if color_matches(new_img, org_color, dx, y + shift_distance, color_distance_limit) - return shift_distance - end - end - else - bounds_breached += 1 - end - if (x + shift_distance) < new_img.width # right - ([0, top_row + 1].max..[y + shift_distance, new_img.height - 2].min) - .each do |dy| - if color_matches(new_img, org_color, x + shift_distance, dy, color_distance_limit) - return shift_distance - end - end - else - bounds_breached += 1 - end - end - break if bounds_breached == 4 - - shift_distance += 1 + fail "Wrong adapter #{driver.inspect}. Available adapter: :vips or :chunky_png" end - Float::INFINITY - end - - def color_matches(new_img, org_color, x, y, color_distance_limit) - new_color = new_img[x, y] - return new_color == org_color unless color_distance_limit - - color_distance = ChunkyPNG::Color.euclidean_distance_rgba(org_color, new_color) - color_distance <= color_distance_limit end end end diff --git a/lib/capybara/screenshot/diff/stabilization.rb b/lib/capybara/screenshot/diff/stabilization.rb index 0bf27ccf..ddb57da5 100644 --- a/lib/capybara/screenshot/diff/stabilization.rb +++ b/lib/capybara/screenshot/diff/stabilization.rb @@ -20,8 +20,7 @@ module Stabilization }() JS - def take_stable_screenshot(comparison, color_distance_limit:, shift_distance_limit:, - area_size_limit:, skip_area:, stability_time_limit:, wait:) + def take_stable_screenshot(comparison, stability_time_limit:, wait:) blurred_input = prepare_page_for_screenshot(timeout: wait) previous_file_name = comparison.old_file_name screenshot_started_at = last_image_change_at = Time.now @@ -37,10 +36,11 @@ def take_stable_screenshot(comparison, color_distance_limit:, shift_distance_lim comparison.reset if previous_file_name - stabilization_comparison = - ImageCompare.new(comparison.new_file_name, previous_file_name, - color_distance_limit: color_distance_limit, shift_distance_limit: shift_distance_limit, - area_size_limit: area_size_limit, skip_area: skip_area) + stabilization_comparison = make_stabilization_comparison_from( + comparison, + comparison.new_file_name, + previous_file_name + ) if stabilization_comparison.quick_equal? if (Time.now - last_image_change_at) > stability_time_limit clean_stabilization_images(comparison.new_file_name) @@ -57,8 +57,11 @@ def take_stable_screenshot(comparison, color_distance_limit:, shift_distance_lim "_#{stabilization_comparison.dimensions&.to_s&.gsub(', ', '_') || :initial}.png~" FileUtils.mv comparison.new_file_name, previous_file_name - check_max_wait_time(comparison, screenshot_started_at, - wait: wait, shift_distance_limit: shift_distance_limit) + check_max_wait_time( + comparison, + screenshot_started_at, + max_wait_time: max_wait_time(comparison.shift_distance_limit, wait) + ) end ensure blurred_input&.click @@ -66,6 +69,10 @@ def take_stable_screenshot(comparison, color_distance_limit:, shift_distance_lim private + def make_stabilization_comparison_from(comparison, new_file_name, previous_file_name) + ImageCompare.new(new_file_name, previous_file_name, **comparison.driver_options) + end + def reduce_retina_image_size(file_name) return if !ON_MAC || !selenium? || !Capybara::Screenshot.window_size @@ -116,30 +123,34 @@ def take_right_size_screenshot(comparison) # ODOT end - def check_max_wait_time(comparison, screenshot_started_at, wait:, shift_distance_limit:) - shift_factor = shift_distance_limit ? (shift_distance_limit * 2 + 1) ^ 2 : 1 - max_wait_time = wait * shift_factor + def check_max_wait_time(comparison, screenshot_started_at, max_wait_time:) return if (Time.now - screenshot_started_at) < max_wait_time # FIXME(uwe): Change to store the failure and only report if the test succeeds functionally. previous_file = comparison.old_file_name stabilization_images(comparison.new_file_name).each do |file_name| if File.exist? previous_file - stabilization_comparison = - ImageCompare.new(file_name, previous_file, - color_distance_limit: comparison.color_distance_limit, - shift_distance_limit: comparison.shift_distance_limit, - area_size_limit: comparison.area_size_limit, skip_area: comparison.skip_area) + stabilization_comparison = make_stabilization_comparison_from( + comparison, + file_name, + previous_file + ) assert stabilization_comparison.different? FileUtils.mv stabilization_comparison.annotated_new_file_name, file_name FileUtils.rm stabilization_comparison.annotated_old_file_name end previous_file = file_name end + fail("Could not get stable screenshot within #{max_wait_time}s\n" \ "#{stabilization_images(comparison.new_file_name).join("\n")}") end + def max_wait_time(shift_distance_limit, wait) + shift_factor = shift_distance_limit ? (shift_distance_limit * 2 + 1) ^ 2 : 1 + wait * shift_factor + end + def assert_images_loaded(timeout:) return unless respond_to? :evaluate_script @@ -148,8 +159,11 @@ def assert_images_loaded(timeout:) pending_image = evaluate_script IMAGE_WAIT_SCRIPT break unless pending_image - assert((Time.now - start) < timeout, - "Images not loaded after #{timeout}s: #{pending_image.inspect}") + assert( + (Time.now - start) < timeout, + "Images not loaded after #{timeout}s: #{pending_image.inspect}" + ) + sleep 0.1 end end diff --git a/lib/capybara/screenshot/diff/test_methods.rb b/lib/capybara/screenshot/diff/test_methods.rb index 5cb48aad..904c5403 100644 --- a/lib/capybara/screenshot/diff/test_methods.rb +++ b/lib/capybara/screenshot/diff/test_methods.rb @@ -68,15 +68,28 @@ def screenshot_group(name) end # @return [Boolean] wether a screenshot was taken - def screenshot(name, area_size_limit: Diff.area_size_limit, + def screenshot( + name, + stability_time_limit: Screenshot.stability_time_limit, + wait: Capybara.default_max_wait_time, + **driver_options + ) + return false unless Screenshot.active? + return false if window_size_is_wrong? + + driver_options = { + area_size_limit: Diff.area_size_limit, color_distance_limit: Diff.color_distance_limit, - shift_distance_limit: Diff.shift_distance_limit, skip_area: Diff.skip_area, - stability_time_limit: Screenshot.stability_time_limit, - wait: Capybara.default_max_wait_time) - return unless Screenshot.active? - return if window_size_is_wrong? - - skip_area = skip_area&.flatten&.each_cons(4)&.to_a # Allow nil or single or multiple areas + driver: Diff.driver, + shift_distance_limit: Diff.shift_distance_limit, + skip_area: Diff.skip_area, + tolerance: Diff.tolerance + }.merge(driver_options) + + # Allow nil or single or multiple areas + if driver_options[:skip_area] + driver_options[:skip_area] = driver_options[:skip_area].flatten&.each_cons(4)&.to_a + end if @screenshot_counter name = "#{format('%02i', @screenshot_counter)}_#{name}" @@ -86,20 +99,14 @@ def screenshot(name, area_size_limit: Diff.area_size_limit, file_name = "#{Screenshot.screenshot_area_abs}/#{name}.png" FileUtils.mkdir_p File.dirname(file_name) - comparison = ImageCompare.new(file_name, - dimensions: Screenshot.window_size, color_distance_limit: color_distance_limit, - area_size_limit: area_size_limit, shift_distance_limit: shift_distance_limit, - skip_area: skip_area) + comparison = ImageCompare.new(file_name, **driver_options) checkout_vcs(name, comparison) - take_stable_screenshot(comparison, color_distance_limit: color_distance_limit, - shift_distance_limit: shift_distance_limit, - area_size_limit: area_size_limit, - skip_area: skip_area, - stability_time_limit: stability_time_limit, - wait: wait) - return unless comparison.old_file_exists? + take_stable_screenshot(comparison, stability_time_limit: stability_time_limit, wait: wait) + + return false unless comparison.old_file_exists? (@test_screenshots ||= []) << [caller(1..1).first, name, comparison] + true end @@ -112,14 +119,7 @@ def window_size_is_wrong? def assert_image_not_changed(caller, name, comparison) return unless comparison.different? - max_color_distance = comparison.max_color_distance.ceil(1) - max_shift_distance = comparison.max_shift_distance - "Screenshot does not match for '#{name}' (area: #{comparison.size}px #{comparison.dimensions}" \ - ", max_color_distance: #{max_color_distance}" \ - "#{", max_shift_distance: #{max_shift_distance}" if max_shift_distance})\n" \ - "#{comparison.new_file_name}\n#{comparison.annotated_old_file_name}\n" \ - "#{comparison.annotated_new_file_name}\n" \ - "at #{caller}" + "Screenshot does not match for '#{name}' #{comparison.error_message}\nat #{caller}" end end end diff --git a/test/capybara/screenshot/diff/drivers/chunky_png_driver_test.rb b/test/capybara/screenshot/diff/drivers/chunky_png_driver_test.rb new file mode 100644 index 00000000..70a23156 --- /dev/null +++ b/test/capybara/screenshot/diff/drivers/chunky_png_driver_test.rb @@ -0,0 +1,129 @@ +# frozen_string_literal: true + +require 'test_helper' + +module Capybara + module Screenshot + module Diff + module Drivers + class ChunkyPNGDriverTest < ActionDispatch::IntegrationTest + include TestHelper + + test 'it can be instantiated' do + assert ChunkyPNGDriver.new('images/b.png') + end + + test 'it can be instantiated with dimensions' do + assert ChunkyPNGDriver.new('images/b.png', dimensions: [80, 80]) + end + + test '#different? for equal is negative' do + comp = make_comparison(:a, :a) + assert_not comp.different? + end + + test '#quick_equal? for equal is positive' do + comp = make_comparison(:a, :a) + assert comp.quick_equal? + end + + test 'compare then dimensions and cleanup' do + comp = make_comparison(:a, :c) + assert comp.different? + assert_equal [11, 3, 48, 20], comp.dimensions + assert File.exist?(comp.old_file_name) + assert File.exist?(comp.annotated_old_file_name) + assert File.exist?(comp.annotated_new_file_name) + comp = make_comparison(:c, :c) + assert !comp.different? + assert !File.exist?(comp.old_file_name) + assert !File.exist?(comp.annotated_old_file_name) + assert !File.exist?(comp.annotated_new_file_name) + end + + test 'compare of 1 pixel wide diff' do + comp = make_comparison(:a, :d) + assert comp.different? + assert_equal [9, 6, 9, 13], comp.dimensions + end + + test 'compare with color_distance_limit above difference' do + comp = make_comparison(:a, :b, color_distance_limit: 223) + assert_not comp.different? + assert_equal 223, comp.max_color_distance.ceil + end + + test 'compare with color_distance_limit below difference' do + comp = make_comparison(:a, :b, color_distance_limit: 222) + assert comp.different? + assert_equal 223, comp.max_color_distance.ceil + end + + test 'compare with shift_distance_limit above difference' do + comp = make_comparison(:a, :b, shift_distance_limit: 11) + assert_not comp.different? + assert_equal 0, comp.max_shift_distance.ceil + end + + test 'compare with shift_distance_limit below difference' do + comp = make_comparison(:a, :b, shift_distance_limit: 9) + assert comp.different? + assert_equal 11, comp.max_shift_distance.ceil + end + + test 'quick_equal' do + comp = make_comparison(:a, :b) + assert !comp.quick_equal? + assert_equal 223, comp.max_color_distance.ceil + end + + test 'quick_equal with color distance limit' do + comp = make_comparison(:a, :b, color_distance_limit: 222) + assert !comp.quick_equal? + assert_equal 223, comp.max_color_distance.ceil + end + + test 'max_color_distance a vs b' do + comp = make_comparison(:a, :b) + assert_equal 223, comp.max_color_distance.ceil + end + + test 'max_color_distance a vs c' do + comp = make_comparison(:a, :c) + assert_equal 318, comp.max_color_distance.ceil + end + + test 'max_color_distance a vs d' do + comp = make_comparison(:a, :d) + assert_equal 271, comp.max_color_distance.ceil + end + + test 'max_color_distance 1.0' do + a_img = ChunkyPNG::Image.from_blob(File.binread("#{TEST_IMAGES_DIR}/a.png")) + a_img[9, 6] += 0x010000 + + comp = make_comparison(:a, :b) + other_img_filename = comp.new_file_name + a_img.save(other_img_filename) + + assert_equal 1, comp.max_color_distance + end + + test 'size a vs a_cropped' do + comp = make_comparison(:a, :a_cropped) + comp.different? + assert_equal 6400, comp.size + end + + private + + def make_comparison(old_img, new_img, **options) + comp = ChunkyPNGDriver.new("#{Rails.root}/screenshot.png", **options) + set_test_images(comp, old_img, new_img) + comp + end + end + end + end + end +end diff --git a/test/capybara/screenshot/diff/drivers/vips_driver_test.rb b/test/capybara/screenshot/diff/drivers/vips_driver_test.rb new file mode 100644 index 00000000..3e4a441f --- /dev/null +++ b/test/capybara/screenshot/diff/drivers/vips_driver_test.rb @@ -0,0 +1,185 @@ +# frozen_string_literal: true + +require 'test_helper' +require 'capybara/screenshot/diff/drivers/vips_driver' + +module Capybara + module Screenshot + module Diff + module Drivers + class VipsDriverTest < ActionDispatch::IntegrationTest + include TestHelper + + setup do + @new_screenshot_result = Tempfile.new(%w[screenshot .png], Rails.root) + end + + teardown do + if @new_screenshot_result + @new_screenshot_result.close + @new_screenshot_result.unlink + end + end + + test '#different? for equal is negative' do + comp = make_comparison(:a, :a) + assert_not comp.different? + end + + test '#quick_equal? for equal is positive' do + comp = make_comparison(:a, :a) + + assert comp.quick_equal? + end + + test 'it can be instantiated' do + assert VipsDriver.new('images/b.png') + end + + test 'it can be instantiated with dimensions' do + assert VipsDriver.new('images/b.png', dimensions: [80, 80]) + end + + test 'when different does not clean runtime files' do + comp = make_comparison(:a, :c) + assert comp.different? + assert_equal [11.0, 3.0, 49.0, 21.0], comp.dimensions + assert File.exist?(comp.old_file_name) + assert File.exist?(comp.annotated_old_file_name) + assert File.exist?(comp.annotated_new_file_name) + end + + test 'when equal clean runtime files' do + comp = make_comparison(:c, :c) + assert_not comp.different? + assert_not File.exist?(comp.old_file_name) + assert_not File.exist?(comp.annotated_old_file_name) + assert_not File.exist?(comp.annotated_new_file_name) + end + + test 'compare of 1 pixel wide diff' do + comp = make_comparison(:a, :d) + assert comp.different? + assert_equal [9.0, 6.0, 10.0, 14.0], comp.dimensions + end + + test 'compare with color_distance_limit above difference' do + comp = make_comparison(:a, :b, color_distance_limit: 255) + assert_not comp.different? + end + + test 'compare with color_distance_limit below difference' do + comp = make_comparison(:a, :b, color_distance_limit: 3) + assert comp.different? + end + + test 'compare with tolerance level more then area of the difference' do + comp = make_comparison(:a, :b, tolerance: 0.01) + assert comp.quick_equal? + assert_not comp.different? + end + + test 'compare with tolerance level less then area of the difference' do + comp = make_comparison(:a, :b, tolerance: 0.000001) + assert_not comp.quick_equal? + assert comp.different? + end + + test 'compare with median_filter_window_size when images have 1px line difference' do + comp = make_comparison(:a, :d, median_filter_window_size: 3, color_distance_limit: 8) + assert comp.quick_equal? + assert_not comp.different? + end + + test 'quick_equal compare with shift_distance_limit above difference' do + comp = make_comparison(:a, :d, shift_distance_limit: 11) + assert comp.quick_equal? + end + + test 'different with shift_distance_limit above difference' do + comp = make_comparison(:a, :d, shift_distance_limit: 11) + assert_not comp.different? + end + + test 'quick_equal? with shift_distance_limit below difference' do + comp = make_comparison(:a, :b, shift_distance_limit: 9) + assert_not comp.quick_equal? + end + + test 'different? with shift_distance_limit below difference' do + comp = make_comparison(:a, :b, shift_distance_limit: 9) + assert comp.different? + end + + test 'quick_equal' do + comp = make_comparison(:a, :b) + assert_not comp.quick_equal? + end + + test 'quick_equal with color distance limit below current level' do + comp = make_comparison(:a, :b, color_distance_limit: 2) + assert_not comp.quick_equal? + end + + test 'quick_equal with color distance limit above current level' do + comp = make_comparison(:a, :b, color_distance_limit: 200) + assert comp.quick_equal? + end + + test 'size a vs a_cropped' do + comp = make_comparison(:a, :a_cropped) + comp.different? + assert_equal 6400, comp.size + end + + test 'quick_equal compare skips difference if skip_area covers it' do + comp = make_comparison(:a, :d, skip_area: [[9, 0, 11, 80], [79, 79, 80, 80]]) + assert comp.quick_equal? + assert_not comp.different? + end + + test 'quick_equal compare skips difference if skip_area does not cover it' do + comp = make_comparison(:a, :d, skip_area: [[79, 79, 80, 80], [78, 78, 80, 80]]) + assert_not comp.quick_equal? + assert comp.different? + end + + private + + def make_comparison(old_img, new_img, **driver_args) + result = VipsDriver.new(@new_screenshot_result.path, **driver_args) + set_test_images(result, old_img, new_img) + result + end + end + + class VipsUtilTest < ActiveSupport::TestCase + test 'segment difference without min color difference' do + old_image = Vips::Image.new_from_file("#{TEST_IMAGES_DIR}/a.png") + new_image = Vips::Image.new_from_file("#{TEST_IMAGES_DIR}/b.png") + + left, top, right, bottom = VipsDriver::VipsUtil.difference(old_image, new_image) + + assert_equal [20.0, 15.0, 30.0, 25.0], [left, top, right, bottom] + end + + test 'segment difference' do + old_image = Vips::Image.new_from_file("#{TEST_IMAGES_DIR}/a.png") + new_image = Vips::Image.new_from_file("#{TEST_IMAGES_DIR}/b.png") + + left, top, right, bottom = VipsDriver::VipsUtil.difference(old_image, new_image) + + assert_equal [20.0, 15.0, 30.0, 25.0], [left, top, right, bottom] + end + + test 'area of the difference' do + old_image = Vips::Image.new_from_file("#{TEST_IMAGES_DIR}/a.png") + new_image = Vips::Image.new_from_file("#{TEST_IMAGES_DIR}/d.png").bandjoin(255) + + assert_equal 8, VipsDriver::VipsUtil.difference_area(old_image, new_image, color_distance: 10) + end + end + end + end + end +end diff --git a/test/capybara/screenshot/diff/image_compare_test.rb b/test/capybara/screenshot/diff/image_compare_test.rb index e00dfb5a..ae19e9e9 100644 --- a/test/capybara/screenshot/diff/image_compare_test.rb +++ b/test/capybara/screenshot/diff/image_compare_test.rb @@ -8,100 +8,33 @@ module Diff class ImageCompareTest < ActionDispatch::IntegrationTest include TestHelper - test 'it can be instantiated' do - assert ImageCompare.new('images/b.png') + test 'it can be instantiated with chunky_png driver' do + comparison = ImageCompare.new('images/b.png') + assert_kind_of Drivers::ChunkyPNGDriver, comparison.driver end - test 'it can be instantiated with dimensions' do - assert ImageCompare.new('images/b.png', dimensions: [80, 80]) - end - - test 'compare then dimensions and cleanup' do - comp = make_comparison(:a, :c) - assert comp.different? - assert_equal [11, 3, 48, 20], comp.dimensions - assert File.exist?(comp.old_file_name) - assert File.exist?(comp.annotated_old_file_name) - assert File.exist?(comp.annotated_new_file_name) - comp = make_comparison(:c, :c) - assert !comp.different? - assert !File.exist?(comp.old_file_name) - assert !File.exist?(comp.annotated_old_file_name) - assert !File.exist?(comp.annotated_new_file_name) - end - - test 'compare of 1 pixel wide diff' do - comp = make_comparison(:a, :d) - assert comp.different? - assert_equal [9, 6, 9, 13], comp.dimensions - end - - test 'compare with color_distance_limit above difference' do - comp = make_comparison(:a, :b, color_distance_limit: 223) - assert !comp.different? - assert_equal 223, comp.max_color_distance.ceil - end - - test 'compare with color_distance_limit below difference' do - comp = make_comparison(:a, :b, color_distance_limit: 222) - assert comp.different? - assert_equal 223, comp.max_color_distance.ceil - end - - test 'compare with shift_distance_limit above difference' do - comp = make_comparison(:a, :b, shift_distance_limit: 11) - assert !comp.different? - assert_equal 0, comp.max_shift_distance.ceil + test 'it can be instantiated with explicit chunky_png adapter' do + comparison = ImageCompare.new('images/b.png', driver: :chunky_png) + assert_kind_of Drivers::ChunkyPNGDriver, comparison.driver end - test 'compare with shift_distance_limit below difference' do - comp = make_comparison(:a, :b, shift_distance_limit: 9) - assert comp.different? - assert_equal 11, comp.max_shift_distance.ceil + test 'it can be instantiated with vips adapter' do + comparison = ImageCompare.new('images/b.png', driver: :vips) + assert_kind_of Drivers::VipsDriver, comparison.driver end - test 'quick_equal' do - comp = make_comparison(:a, :b) - assert !comp.quick_equal? - assert_equal 223, comp.max_color_distance.ceil + test 'it can be instantiated with vips adapter and tolerance option' do + comp = make_comparison(:a, :b, driver: :vips, tolerance: 0.02) + assert comp.quick_equal? + assert_not comp.different? end - test 'quick_equal with color distance limit' do - comp = make_comparison(:a, :b, color_distance_limit: 222) - assert !comp.quick_equal? - assert_equal 223, comp.max_color_distance.ceil + test 'could pass use tolerance for chunky_png driver' do + ImageCompare.new('images/b.png', driver: :chunky_png, tolerance: 0.02) end - test 'max_color_distance a vs b' do - comp = make_comparison(:a, :b) - assert_equal 223, comp.max_color_distance.ceil - end - - test 'max_color_distance a vs c' do - comp = make_comparison(:a, :c) - assert_equal 318, comp.max_color_distance.ceil - end - - test 'max_color_distance a vs d' do - comp = make_comparison(:a, :d) - assert_equal 271, comp.max_color_distance.ceil - end - - test 'max_color_distance 1.0' do - a_img = ChunkyPNG::Image.from_blob(File.binread("#{TEST_IMAGES_DIR}/a.png")) - a_img[9, 6] += 0x010000 - - comp = make_comparison(:a, :b) - other_img_filename = comp.new_file_name - a_img.save(other_img_filename) - - assert_equal 1, comp.max_color_distance - end - - test 'size a vs a_cropped' do - comp = make_comparison(:a, :a_cropped) - comp.different? - assert_equal 6400, comp.size + test 'it can be instantiated with dimensions' do + assert ImageCompare.new('images/b.png', dimensions: [80, 80]) end end end diff --git a/test/capybara/screenshot/diff/test_methods_test.rb b/test/capybara/screenshot/diff/test_methods_test.rb index 1ab42667..d92ea87a 100644 --- a/test/capybara/screenshot/diff/test_methods_test.rb +++ b/test/capybara/screenshot/diff/test_methods_test.rb @@ -33,6 +33,10 @@ def test_assert_image_not_changed_with_shift_distance_limit at caller MSG end + + def test_screenshot_support_drivers_options + screenshot('a', driver: :vips) + end end end end diff --git a/test/test_helper.rb b/test/test_helper.rb index 25f92f79..18c94d72 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -1,10 +1,6 @@ # frozen_string_literal: true -coverage_enabled = ENV['COVERAGE'] && - defined?(Rake) && - (RUBY_ENGINE != 'jruby' || org.jruby.RubyInstanceConfig.FULL_TRACE_ENABLED) - -if coverage_enabled +if ENV['COVERAGE'] && (RUBY_ENGINE != 'jruby' || org.jruby.RubyInstanceConfig.FULL_TRACE_ENABLED) require 'simplecov' SimpleCov.start SimpleCov.minimum_coverage RUBY_ENGINE == 'jruby' ? 82.5 : 83.5 @@ -46,10 +42,8 @@ def save_screenshot(file_name) FileUtils.cp File.expand_path("images/#{source_image}", __dir__), file_name end - def make_comparison(old_img, new_img, color_distance_limit: nil, shift_distance_limit: nil) - comp = ImageCompare - .new("#{Rails.root}/screenshot.png", color_distance_limit: color_distance_limit, - shift_distance_limit: shift_distance_limit) + def make_comparison(old_img, new_img, **options) + comp = ImageCompare.new("#{Rails.root}/screenshot.png", **options) set_test_images(comp, old_img, new_img) comp end diff --git a/tmp/.keep b/tmp/.keep new file mode 100644 index 00000000..e69de29b From 337917024c326240c030ec9420e6be74d3583196 Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Thu, 10 Sep 2020 11:22:57 +0200 Subject: [PATCH 099/312] Skip `nil` values for `skip_area` --- lib/capybara/screenshot/diff/test_methods.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/capybara/screenshot/diff/test_methods.rb b/lib/capybara/screenshot/diff/test_methods.rb index 904c5403..f82b7140 100644 --- a/lib/capybara/screenshot/diff/test_methods.rb +++ b/lib/capybara/screenshot/diff/test_methods.rb @@ -88,7 +88,7 @@ def screenshot( # Allow nil or single or multiple areas if driver_options[:skip_area] - driver_options[:skip_area] = driver_options[:skip_area].flatten&.each_cons(4)&.to_a + driver_options[:skip_area] = driver_options[:skip_area].compact.flatten&.each_cons(4)&.to_a end if @screenshot_counter From 1feb82211fc7210a56446194946fb03ed5fb1da8 Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Fri, 11 Sep 2020 14:12:14 +0200 Subject: [PATCH 100/312] Only load the required drivers --- lib/capybara/screenshot/diff/image_compare.rb | 24 ++++++++++--------- lib/capybara/screenshot/diff/test_methods.rb | 3 ++- 2 files changed, 15 insertions(+), 12 deletions(-) diff --git a/lib/capybara/screenshot/diff/image_compare.rb b/lib/capybara/screenshot/diff/image_compare.rb index 692bbc8c..e31687fe 100644 --- a/lib/capybara/screenshot/diff/image_compare.rb +++ b/lib/capybara/screenshot/diff/image_compare.rb @@ -1,11 +1,10 @@ # frozen_string_literal: true -require_relative './drivers/chunky_png_driver' -require_relative './drivers/vips_driver' - module Capybara module Screenshot module Diff + LOADED_DRIVERS = {} + # Compare two images and determine if they are equal, different, or within some comparison # range considering color values and difference area size. class ImageCompare < SimpleDelegator @@ -23,14 +22,17 @@ def initialize(new_file_name, old_file_name = nil, **driver_options) private def find_driver_class_for(driver) - case driver - when :vips - Drivers::VipsDriver - when :chunky_png - Drivers::ChunkyPNGDriver - else - fail "Wrong adapter #{driver.inspect}. Available adapter: :vips or :chunky_png" - end + LOADED_DRIVERS[driver] ||= + case driver + when :chunky_png + require_relative 'drivers/chunky_png_driver' + Drivers::ChunkyPNGDriver + when :vips + require_relative 'drivers/vips_driver' + Drivers::VipsDriver + else + fail "Wrong adapter #{driver.inspect}. Available adapters: :vips or :chunky_png" + end end end end diff --git a/lib/capybara/screenshot/diff/test_methods.rb b/lib/capybara/screenshot/diff/test_methods.rb index f82b7140..039654ed 100644 --- a/lib/capybara/screenshot/diff/test_methods.rb +++ b/lib/capybara/screenshot/diff/test_methods.rb @@ -119,7 +119,8 @@ def window_size_is_wrong? def assert_image_not_changed(caller, name, comparison) return unless comparison.different? - "Screenshot does not match for '#{name}' #{comparison.error_message}\nat #{caller}" + backtrace = defined?(Rails) ? Rails.backtrace_cleaner.clean(caller) : caller + "Screenshot does not match for '#{name}' #{comparison.error_message}\nat #{backtrace}" end end end From fcebb62e639a4391dd8c84494c47c1ec38e9d1fd Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Fri, 11 Sep 2020 19:35:10 +0200 Subject: [PATCH 101/312] Need a mysterious "dot" --- lib/capybara/screenshot/diff/image_compare.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/capybara/screenshot/diff/image_compare.rb b/lib/capybara/screenshot/diff/image_compare.rb index e31687fe..9faab139 100644 --- a/lib/capybara/screenshot/diff/image_compare.rb +++ b/lib/capybara/screenshot/diff/image_compare.rb @@ -25,10 +25,10 @@ def find_driver_class_for(driver) LOADED_DRIVERS[driver] ||= case driver when :chunky_png - require_relative 'drivers/chunky_png_driver' + require_relative './drivers/chunky_png_driver' Drivers::ChunkyPNGDriver when :vips - require_relative 'drivers/vips_driver' + require_relative './drivers/vips_driver' Drivers::VipsDriver else fail "Wrong adapter #{driver.inspect}. Available adapters: :vips or :chunky_png" From 9c4f9d60ae1026dd59cde22e4d93787d845bd637 Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Fri, 11 Sep 2020 21:01:58 +0200 Subject: [PATCH 102/312] Fix wonky require_relative --- lib/capybara/screenshot/diff/image_compare.rb | 22 +++++++++---------- lib/capybara/screenshot/diff/test_methods.rb | 3 +-- 2 files changed, 12 insertions(+), 13 deletions(-) diff --git a/lib/capybara/screenshot/diff/image_compare.rb b/lib/capybara/screenshot/diff/image_compare.rb index 9faab139..069ee6fb 100644 --- a/lib/capybara/screenshot/diff/image_compare.rb +++ b/lib/capybara/screenshot/diff/image_compare.rb @@ -3,7 +3,7 @@ module Capybara module Screenshot module Diff - LOADED_DRIVERS = {} + LOADED_DRIVERS = {} # rubocop: disable Style/MutableConstant # Compare two images and determine if they are equal, different, or within some comparison # range considering color values and difference area size. @@ -23,16 +23,16 @@ def initialize(new_file_name, old_file_name = nil, **driver_options) def find_driver_class_for(driver) LOADED_DRIVERS[driver] ||= - case driver - when :chunky_png - require_relative './drivers/chunky_png_driver' - Drivers::ChunkyPNGDriver - when :vips - require_relative './drivers/vips_driver' - Drivers::VipsDriver - else - fail "Wrong adapter #{driver.inspect}. Available adapters: :vips or :chunky_png" - end + case driver + when :chunky_png + require 'capybara/screenshot/diff/drivers/chunky_png_driver' + Drivers::ChunkyPNGDriver + when :vips + require 'capybara/screenshot/diff/drivers/vips_driver' + Drivers::VipsDriver + else + fail "Wrong adapter #{driver.inspect}. Available adapters: :vips or :chunky_png" + end end end end diff --git a/lib/capybara/screenshot/diff/test_methods.rb b/lib/capybara/screenshot/diff/test_methods.rb index 039654ed..f82b7140 100644 --- a/lib/capybara/screenshot/diff/test_methods.rb +++ b/lib/capybara/screenshot/diff/test_methods.rb @@ -119,8 +119,7 @@ def window_size_is_wrong? def assert_image_not_changed(caller, name, comparison) return unless comparison.different? - backtrace = defined?(Rails) ? Rails.backtrace_cleaner.clean(caller) : caller - "Screenshot does not match for '#{name}' #{comparison.error_message}\nat #{backtrace}" + "Screenshot does not match for '#{name}' #{comparison.error_message}\nat #{caller}" end end end From 89b033a0697dde59e8bf6a6ac4ac0c476c5dfdb0 Mon Sep 17 00:00:00 2001 From: Paul Keen <125715+pftg@users.noreply.github.com> Date: Thu, 17 Sep 2020 19:02:10 +0300 Subject: [PATCH 103/312] Handles auto driver option For :auto we will try to use vips driver if it's available, if not then we will use chunky_png For now we require chunky_png, but if we will decide to make it optional then this code will support this --- README.md | 16 ++++-- capybara-screenshot-diff.gemspec | 1 + lib/capybara/screenshot/diff.rb | 5 +- lib/capybara/screenshot/diff/drivers/utils.rb | 16 ++++++ .../screenshot/diff/drivers/vips_driver.rb | 2 +- lib/capybara/screenshot/diff/image_compare.rb | 4 +- .../screenshot/diff/drivers/utils_test.rb | 49 +++++++++++++++++++ .../screenshot/diff/image_compare_test.rb | 14 ++++++ test/capybara/screenshot/diff_test.rb | 5 ++ 9 files changed, 106 insertions(+), 6 deletions(-) create mode 100644 lib/capybara/screenshot/diff/drivers/utils.rb create mode 100644 test/capybara/screenshot/diff/drivers/utils_test.rb diff --git a/README.md b/README.md index 236f66b2..30212dd5 100644 --- a/README.md +++ b/README.md @@ -456,16 +456,26 @@ If you need to ignore multiple areas, you can supply an array of arrays: screenshot 'index', skip_area: [[0, 0, 64, 48], [17, 6, 27, 16]] ``` +### Available Image Processing Drivers + +There are several image processing supported by this gem. +There are several options to setup active driver: `:auto`, `:chunky_png` and `:vips`. + +* `:auto` - will try to load `:vips` if there is gem `ruby-vips`, in other cases will load `:chunky_png` +* `:chunky_png` and `:vips` will load correspondent driver + ### Enable VIPS image processing -By default for image processing is using ChunkyPNG, but there is option to switch to [Vips](https://www.rubydoc.info/gems/ruby-vips/Vips/Image) -To switch to the Vips processor, you have 2 options: +[Vips](https://www.rubydoc.info/gems/ruby-vips/Vips/Image) driver provides a faster comparison, +and could be enabled by adding `ruby-vips` to `Gemfile`. + +If need to setup explicitly Vips driver, there are several ways to do this: * Globally: `Capybara::Screenshot::Diff.driver = :vips` * Per screenshot option: `screenshot 'index', driver: :vips` With enabled VIPS there are new alternatives to process differences, which easier to find and support. -For example, `shift_distance_limit` is very heavy operation, and instead better to use `median_filter_window_size`. +For example, `shift_distance_limit` is very heavy operation. Instead better to use `median_filter_window_size`. #### Tolerance level (vips only) diff --git a/capybara-screenshot-diff.gemspec b/capybara-screenshot-diff.gemspec index b6b63678..7535294f 100644 --- a/capybara-screenshot-diff.gemspec +++ b/capybara-screenshot-diff.gemspec @@ -26,6 +26,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'minitest', '~> 5.0' spec.add_development_dependency 'minitest-reporters' + spec.add_development_dependency 'minitest-stub-const' spec.add_development_dependency 'puma' spec.add_development_dependency 'rake' spec.add_development_dependency 'rubocop', '~> 0.81' diff --git a/lib/capybara/screenshot/diff.rb b/lib/capybara/screenshot/diff.rb index e9e2c10d..73b05ab3 100644 --- a/lib/capybara/screenshot/diff.rb +++ b/lib/capybara/screenshot/diff.rb @@ -2,6 +2,7 @@ require 'capybara/dsl' require 'capybara/screenshot/diff/version' +require 'capybara/screenshot/diff/drivers/utils' require 'capybara/screenshot/diff/image_compare' require 'capybara/screenshot/diff/test_methods' @@ -45,9 +46,11 @@ module Diff mattr_accessor(:enabled) { true } mattr_accessor :shift_distance_limit mattr_accessor :skip_area - mattr_accessor(:driver) { :chunky_png } + mattr_accessor(:driver) { :auto } mattr_accessor(:tolerance) { 0.001 } + AVAILABLE_DRIVERS = Utils.detect_available_drivers.freeze + def self.included(clas) clas.include TestMethods clas.setup do diff --git a/lib/capybara/screenshot/diff/drivers/utils.rb b/lib/capybara/screenshot/diff/drivers/utils.rb new file mode 100644 index 00000000..ff4313a8 --- /dev/null +++ b/lib/capybara/screenshot/diff/drivers/utils.rb @@ -0,0 +1,16 @@ +# frozen_string_literal: true + +module Capybara + module Screenshot + module Diff + module Utils + def self.detect_available_drivers + result = [] + result << :vips if defined?(Vips) || require('vips') + result << :chunky_png if defined?(ChunkyPNG) || require('chunky_png') + result + end + end + end + end +end diff --git a/lib/capybara/screenshot/diff/drivers/vips_driver.rb b/lib/capybara/screenshot/diff/drivers/vips_driver.rb index 1a86d06f..ca2d00cf 100644 --- a/lib/capybara/screenshot/diff/drivers/vips_driver.rb +++ b/lib/capybara/screenshot/diff/drivers/vips_driver.rb @@ -231,7 +231,7 @@ def vips_load_images(old_file_name, new_file_name) end def from_file(old_file_name) - result = Vips::Image.new_from_file(old_file_name) + result = ::Vips::Image.new_from_file(old_file_name) result = result.colourspace('srgb') if result.bands < 3 result = result.bandjoin(255) if result.bands == 3 diff --git a/lib/capybara/screenshot/diff/image_compare.rb b/lib/capybara/screenshot/diff/image_compare.rb index 069ee6fb..feee3ecf 100644 --- a/lib/capybara/screenshot/diff/image_compare.rb +++ b/lib/capybara/screenshot/diff/image_compare.rb @@ -22,6 +22,8 @@ def initialize(new_file_name, old_file_name = nil, **driver_options) private def find_driver_class_for(driver) + driver = AVAILABLE_DRIVERS.first if driver == :auto + LOADED_DRIVERS[driver] ||= case driver when :chunky_png @@ -31,7 +33,7 @@ def find_driver_class_for(driver) require 'capybara/screenshot/diff/drivers/vips_driver' Drivers::VipsDriver else - fail "Wrong adapter #{driver.inspect}. Available adapters: :vips or :chunky_png" + fail "Wrong adapter #{driver.inspect}. Available adapters: #{AVAILABLE_DRIVERS.inspect}" end end end diff --git a/test/capybara/screenshot/diff/drivers/utils_test.rb b/test/capybara/screenshot/diff/drivers/utils_test.rb new file mode 100644 index 00000000..a122885f --- /dev/null +++ b/test/capybara/screenshot/diff/drivers/utils_test.rb @@ -0,0 +1,49 @@ +# frozen_string_literal: true + +require 'test_helper' +require 'capybara/screenshot/diff/drivers/utils' +require 'minitest/stub_const' + +module Capybara + module Screenshot + module Diff + class UtilsTest < ActiveSupport::TestCase + test 'detect_available_drivers add vips when ruby-vips is available' do + Object.stub :require, ->(gem) { gem == 'vips' } do + assert_includes Utils.detect_available_drivers, :vips + end + end + + test 'detect_available_drivers does not add :vips when ruby-vips is unavailable' do + Object.stub_remove_const(:Vips) do + Object.stub :require, ->(gem) { gem != 'vips' } do + assert_not_includes Utils.detect_available_drivers, :vips + end + end + end + + test 'detect_available_drivers returns vips before chunky_png if both gems are available' do + Object.stub_consts(Vips: Class.new, ChunkyPNG: Class.new) do + Object.stub :require, true do + assert_equal %i[vips chunky_png], Utils.detect_available_drivers + end + end + end + + test 'detect_available_drivers add chunky_png when chunky_png is available' do + Object.stub :require, ->(gem) { gem == 'chunky_png' } do + assert_includes Utils.detect_available_drivers, :chunky_png + end + end + + test 'detect_available_drivers does not add chunky_png when chunky_png is not available' do + Object.stub_remove_const(:ChunkyPNG) do + Object.stub :require, ->(gem) { gem != 'chunky_png' } do + assert_not_includes Utils.detect_available_drivers, :chunky_png + end + end + end + end + end + end +end diff --git a/test/capybara/screenshot/diff/image_compare_test.rb b/test/capybara/screenshot/diff/image_compare_test.rb index ae19e9e9..a785f629 100644 --- a/test/capybara/screenshot/diff/image_compare_test.rb +++ b/test/capybara/screenshot/diff/image_compare_test.rb @@ -1,6 +1,7 @@ # frozen_string_literal: true require 'test_helper' +require 'minitest/stub_const' module Capybara module Screenshot @@ -36,6 +37,19 @@ class ImageCompareTest < ActionDispatch::IntegrationTest test 'it can be instantiated with dimensions' do assert ImageCompare.new('images/b.png', dimensions: [80, 80]) end + + test 'for driver: :auto returns first from available drivers' do + comparison = ImageCompare.new('images/b.png', driver: :auto) + assert_kind_of Drivers::VipsDriver, comparison.driver + end + + test 'for driver: :auto raise error if no drivers are available' do + Capybara::Screenshot::Diff.stub_const(:AVAILABLE_DRIVERS, []) do + assert_raise(RuntimeError) do + ImageCompare.new('images/b.png', driver: :auto) + end + end + end end end end diff --git a/test/capybara/screenshot/diff_test.rb b/test/capybara/screenshot/diff_test.rb index 47d83c57..bd4dd70b 100644 --- a/test/capybara/screenshot/diff_test.rb +++ b/test/capybara/screenshot/diff_test.rb @@ -90,6 +90,11 @@ def test_screenshot_with_color_threshold screenshot_group :b assert_equal 'b/a', full_name(:a) end + + test 'detect available diff drivers on the loading' do + # NOTE for tests we are loading both drivers, so we expect that all of them are available + assert_equal %i[vips chunky_png], Capybara::Screenshot::Diff::AVAILABLE_DRIVERS + end end end end From c4fbc35a30cb7f1561a33a19357be209423b4f66 Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Sat, 26 Sep 2020 22:30:26 +0200 Subject: [PATCH 104/312] Allow probing for vips without raising --- lib/capybara/screenshot/diff/drivers/utils.rb | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/lib/capybara/screenshot/diff/drivers/utils.rb b/lib/capybara/screenshot/diff/drivers/utils.rb index ff4313a8..80a35888 100644 --- a/lib/capybara/screenshot/diff/drivers/utils.rb +++ b/lib/capybara/screenshot/diff/drivers/utils.rb @@ -6,8 +6,16 @@ module Diff module Utils def self.detect_available_drivers result = [] - result << :vips if defined?(Vips) || require('vips') - result << :chunky_png if defined?(ChunkyPNG) || require('chunky_png') + begin + result << :vips if defined?(Vips) || require('vips') + rescue LoadError + # vips not present + end + begin + result << :chunky_png if defined?(ChunkyPNG) || require('chunky_png') + rescue LoadError + # chunky_png not present + end result end end From f1b061d093c0add6589017598f0e5991d7b98c53 Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Sat, 26 Sep 2020 22:31:20 +0200 Subject: [PATCH 105/312] Simplify rubocop config --- .rubocop.yml | 96 +---------------------------------------------- .rubocop_todo.yml | 49 ++++++++++++++---------- 2 files changed, 30 insertions(+), 115 deletions(-) diff --git a/.rubocop.yml b/.rubocop.yml index 7d6713a6..d9dc7ce9 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -7,19 +7,7 @@ AllCops: DisplayStyleGuide: true Exclude: - gemfiles/vendor/**/* - -# TODO(uwe): Remove after updating to rubocop 1.0 -Lint/RaiseException: - Enabled: true -Lint/StructNewOverride: - Enabled: true -Style/HashEachMethods: - Enabled: true -Style/HashTransformKeys: - Enabled: true -Style/HashTransformValues: - Enabled: true -# ODOT + NewCops: enable #Layout/ArgumentAlignment: # EnforcedStyle: with_fixed_indentation @@ -72,85 +60,3 @@ Style/NumericPredicate: Style/SignalException: EnforcedStyle: semantic - -# TODO: Review and enable -Layout/EmptyLinesAroundAttributeAccessor: - Enabled: false -Layout/SpaceAroundMethodCallOperator: - Enabled: false -Lint/BinaryOperatorWithIdenticalOperands: - Enabled: false -Lint/DeprecatedOpenSSLConstant: - Enabled: false -Lint/DuplicateElsifCondition: - Enabled: false -Lint/DuplicateRescueException: - Enabled: false -Lint/EmptyConditionalBody: - Enabled: false -Lint/FloatComparison: - Enabled: false -Lint/MissingSuper: - Enabled: false -Lint/MixedRegexpCaptureTypes: - Enabled: false -Lint/SelfAssignment: - Enabled: false -Lint/TopLevelReturnWithArgument: - Enabled: false -Lint/OutOfRangeRegexpRef: - Enabled: false -Lint/UnreachableLoop: - Enabled: false -Style/AccessorGrouping: - Enabled: false -Style/ArrayCoercion: - Enabled: false -Style/BisectedAttrAccessor: - Enabled: false -Style/CaseLikeIf: - Enabled: false -Style/ExplicitBlockArgument: - Enabled: false -Style/ExponentialNotation: - Enabled: false -Style/GlobalStdStream: - Enabled: false -Style/HashAsLastArrayItem: - Enabled: false -Style/HashLikeCase: - Enabled: false -Style/OptionalBooleanParameter: - Enabled: false -Style/RedundantAssignment: - Enabled: false -Style/RedundantFetchBlock: - Enabled: false -Style/RedundantFileExtensionInRequire: - Enabled: false -Style/RedundantRegexpCharacterClass: - Enabled: false -Style/RedundantRegexpEscape: - Enabled: false -Style/SingleArgumentDig: - Enabled: false -Style/SlicingWithRange: - Enabled: false -Style/StringConcatenation: - Enabled: false -Performance/AncestorsInclude: - Enabled: false -Performance/BigDecimalWithNumericArgument: - Enabled: false -Performance/RedundantSortBlock: - Enabled: false -Performance/RedundantStringChars: - Enabled: false -Performance/ReverseFirst: - Enabled: false -Performance/SortReverse: - Enabled: false -Performance/Squeeze: - Enabled: false -Performance/StringInclude: - Enabled: false diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index 83122eee..2d0fe627 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -1,48 +1,57 @@ # This configuration was generated by # `rubocop --auto-gen-config` -# on 2020-04-12 21:00:11 +0200 using RuboCop version 0.81.0. +# on 2020-09-26 20:21:37 UTC using RuboCop version 0.92.0. # The point is for the user to remove these configuration records # one by one as the offenses are removed from the code base. # Note that changes in the inspected code, or installation of new # versions of RuboCop, may require this file to be generated again. -# Offense count: 12 +# Offense count: 13 # Configuration parameters: IgnoredMethods. Metrics/AbcSize: - Max: 60 + Max: 51 # Offense count: 2 -# Configuration parameters: CountComments, ExcludedMethods. +# Configuration parameters: CountComments, CountAsOne, ExcludedMethods. # ExcludedMethods: refine Metrics/BlockLength: Max: 44 -# Offense count: 1 -# Configuration parameters: CountComments. +# Offense count: 3 +# Configuration parameters: CountComments, CountAsOne. Metrics/ClassLength: - Max: 400 + Max: 321 -# Offense count: 6 +# Offense count: 10 # Configuration parameters: IgnoredMethods. Metrics/CyclomaticComplexity: - Max: 20 + Max: 19 -# Offense count: 15 -# Configuration parameters: CountComments, ExcludedMethods. +# Offense count: 20 +# Configuration parameters: CountComments, CountAsOne, ExcludedMethods. Metrics/MethodLength: Max: 49 # Offense count: 1 -# Configuration parameters: CountComments. +# Configuration parameters: CountComments, CountAsOne. Metrics/ModuleLength: - Max: 150 - -# Offense count: 3 -# Configuration parameters: CountKeywordArgs. -Metrics/ParameterLists: - Max: 7 + Max: 136 -# Offense count: 6 +# Offense count: 10 # Configuration parameters: IgnoredMethods. Metrics/PerceivedComplexity: - Max: 20 + Max: 19 + +# Offense count: 2 +# Cop supports --auto-correct. +# Configuration parameters: AutoCorrect. +Performance/StringInclude: + Exclude: + - 'lib/capybara/screenshot/diff/os.rb' + +# Offense count: 1 +# Cop supports --auto-correct. +# Configuration parameters: SafeForConstants. +Style/RedundantFetchBlock: + Exclude: + - 'lib/capybara/screenshot/diff/image_compare.rb' From cefc14fbdb2b6e72b8ffe658525bdf1eb54185ff Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Sat, 26 Sep 2020 22:31:57 +0200 Subject: [PATCH 106/312] Blur cursor when not stabilizing screenshot --- lib/capybara/screenshot/diff/stabilization.rb | 19 +++++++++++-------- lib/capybara/screenshot/diff/test_methods.rb | 11 ++++++++++- 2 files changed, 21 insertions(+), 9 deletions(-) diff --git a/lib/capybara/screenshot/diff/stabilization.rb b/lib/capybara/screenshot/diff/stabilization.rb index ddb57da5..e5cddfb3 100644 --- a/lib/capybara/screenshot/diff/stabilization.rb +++ b/lib/capybara/screenshot/diff/stabilization.rb @@ -21,14 +21,12 @@ module Stabilization JS def take_stable_screenshot(comparison, stability_time_limit:, wait:) - blurred_input = prepare_page_for_screenshot(timeout: wait) previous_file_name = comparison.old_file_name screenshot_started_at = last_image_change_at = Time.now + clean_stabilization_images(comparison.new_file_name) + 1.step do |i| take_right_size_screenshot(comparison) - - break unless stability_time_limit - if comparison.quick_equal? clean_stabilization_images(comparison.new_file_name) break @@ -63,8 +61,6 @@ def take_stable_screenshot(comparison, stability_time_limit:, wait:) max_wait_time: max_wait_time(comparison.shift_distance_limit, wait) ) end - ensure - blurred_input&.click end private @@ -126,7 +122,13 @@ def take_right_size_screenshot(comparison) def check_max_wait_time(comparison, screenshot_started_at, max_wait_time:) return if (Time.now - screenshot_started_at) < max_wait_time + annotate_stabilization_images(comparison) # FIXME(uwe): Change to store the failure and only report if the test succeeds functionally. + fail("Could not get stable screenshot within #{max_wait_time}s\n" \ + "#{stabilization_images(comparison.new_file_name).join("\n")}") + end + + def annotate_stabilization_images(comparison) previous_file = comparison.old_file_name stabilization_images(comparison.new_file_name).each do |file_name| if File.exist? previous_file @@ -135,8 +137,9 @@ def check_max_wait_time(comparison, screenshot_started_at, max_wait_time:) file_name, previous_file ) - assert stabilization_comparison.different? - FileUtils.mv stabilization_comparison.annotated_new_file_name, file_name + if stabilization_comparison.different? + FileUtils.mv stabilization_comparison.annotated_new_file_name, file_name + end FileUtils.rm stabilization_comparison.annotated_old_file_name end previous_file = file_name diff --git a/lib/capybara/screenshot/diff/test_methods.rb b/lib/capybara/screenshot/diff/test_methods.rb index f82b7140..2e5220e0 100644 --- a/lib/capybara/screenshot/diff/test_methods.rb +++ b/lib/capybara/screenshot/diff/test_methods.rb @@ -101,7 +101,16 @@ def screenshot( FileUtils.mkdir_p File.dirname(file_name) comparison = ImageCompare.new(file_name, **driver_options) checkout_vcs(name, comparison) - take_stable_screenshot(comparison, stability_time_limit: stability_time_limit, wait: wait) + begin + blurred_input = prepare_page_for_screenshot(timeout: wait) + if stability_time_limit + take_stable_screenshot(comparison, stability_time_limit: stability_time_limit, wait: wait) + else + take_right_size_screenshot(comparison) + end + ensure + blurred_input&.click + end return false unless comparison.old_file_exists? From b3a555bf46927d655dd860d14d394395c4cd5fbc Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Sat, 26 Sep 2020 22:48:31 +0200 Subject: [PATCH 107/312] Skip minitest-reporters since it is not needed anymore --- capybara-screenshot-diff.gemspec | 1 - test/test_helper.rb | 3 --- 2 files changed, 4 deletions(-) diff --git a/capybara-screenshot-diff.gemspec b/capybara-screenshot-diff.gemspec index 7535294f..828d9ff3 100644 --- a/capybara-screenshot-diff.gemspec +++ b/capybara-screenshot-diff.gemspec @@ -25,7 +25,6 @@ Gem::Specification.new do |spec| spec.add_runtime_dependency 'chunky_png', '~> 1.3' spec.add_development_dependency 'minitest', '~> 5.0' - spec.add_development_dependency 'minitest-reporters' spec.add_development_dependency 'minitest-stub-const' spec.add_development_dependency 'puma' spec.add_development_dependency 'rake' diff --git a/test/test_helper.rb b/test/test_helper.rb index 18c94d72..63081d84 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -18,9 +18,6 @@ def self.root require 'capybara/screenshot/diff' require 'minitest/autorun' -require 'minitest/reporters' -Minitest::Reporters.use! - require 'capybara/minitest' Capybara.threadsafe = true From f5c98820cee65d77479b0242cc01fbeb99986382 Mon Sep 17 00:00:00 2001 From: James 'zofrex' Sanderson Date: Tue, 29 Sep 2020 14:52:51 +0100 Subject: [PATCH 108/312] Support checking out old images via LFS --- lib/capybara/screenshot/diff.rb | 1 + lib/capybara/screenshot/diff/vcs.rb | 7 ++++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/lib/capybara/screenshot/diff.rb b/lib/capybara/screenshot/diff.rb index 73b05ab3..cf5f8b9a 100644 --- a/lib/capybara/screenshot/diff.rb +++ b/lib/capybara/screenshot/diff.rb @@ -18,6 +18,7 @@ module Screenshot mattr_accessor :stability_time_limit mattr_accessor :window_size mattr_accessor(:save_path) { 'doc/screenshots' } + mattr_accessor(:use_lfs) class << self def active? diff --git a/lib/capybara/screenshot/diff/vcs.rb b/lib/capybara/screenshot/diff/vcs.rb index cd822026..5ea0ce84 100644 --- a/lib/capybara/screenshot/diff/vcs.rb +++ b/lib/capybara/screenshot/diff/vcs.rb @@ -9,7 +9,12 @@ module Vcs def restore_git_revision(name, target_file_name) redirect_target = "#{target_file_name} #{SILENCE_ERRORS}" - `git show HEAD~0:./#{Capybara::Screenshot.screenshot_area}/#{name}.png > #{redirect_target}` + show_command = "git show HEAD~0:./#{Capybara::Screenshot.screenshot_area}/#{name}.png" + if Capybara::Screenshot.use_lfs + `#{show_command} | git lfs smudge > #{redirect_target}` + else + `#{show_command} > #{redirect_target}` + end FileUtils.rm_f(target_file_name) unless $CHILD_STATUS == 0 end From bb9109984afb95b3b3cb21a8db234b47718e8bdc Mon Sep 17 00:00:00 2001 From: Paul Keen <125715+pftg@users.noreply.github.com> Date: Sun, 11 Oct 2020 18:55:42 +0300 Subject: [PATCH 109/312] Adds tests when ruby-vips raises load error --- test/capybara/screenshot/diff/drivers/utils_test.rb | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/test/capybara/screenshot/diff/drivers/utils_test.rb b/test/capybara/screenshot/diff/drivers/utils_test.rb index a122885f..f604dad8 100644 --- a/test/capybara/screenshot/diff/drivers/utils_test.rb +++ b/test/capybara/screenshot/diff/drivers/utils_test.rb @@ -22,6 +22,14 @@ class UtilsTest < ActiveSupport::TestCase end end + test 'detect_available_drivers does not add :vips when there is no system libvips installed' do + Object.stub_remove_const(:Vips) do + Object.stub :require, ->(gem) { gem == 'vips' && raise(LoadError.new('Could not ... vips')) } do + assert_not_includes Utils.detect_available_drivers, :vips + end + end + end + test 'detect_available_drivers returns vips before chunky_png if both gems are available' do Object.stub_consts(Vips: Class.new, ChunkyPNG: Class.new) do Object.stub :require, true do From afc0700febaf5e1301d4d3c4b48444fe13f7f3fd Mon Sep 17 00:00:00 2001 From: James 'zofrex' Sanderson Date: Tue, 29 Sep 2020 15:45:03 +0100 Subject: [PATCH 110/312] Remove dependency on JQuery for hiding the caret --- lib/capybara/screenshot/diff/stabilization.rb | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/lib/capybara/screenshot/diff/stabilization.rb b/lib/capybara/screenshot/diff/stabilization.rb index e5cddfb3..6c5de15c 100644 --- a/lib/capybara/screenshot/diff/stabilization.rb +++ b/lib/capybara/screenshot/diff/stabilization.rb @@ -107,7 +107,13 @@ def prepare_page_for_screenshot(timeout:) JS blurred_input = page.driver.send :unwrap_script_result, active_element end - execute_script("$('*').css('caret-color','transparent')") if Capybara::Screenshot.hide_caret + hide_caret = <<~SCRIPT + var style = document.createElement('style'); + document.head.appendChild(style); + var styleSheet = style.sheet; + styleSheet.insertRule("* { caret-color: transparent !important; }", 0); + SCRIPT + execute_script(hide_caret) if Capybara::Screenshot.hide_caret blurred_input end From 0a53e3f3e50492efbdf4b5d9233ef526a8402dbf Mon Sep 17 00:00:00 2001 From: James 'zofrex' Sanderson Date: Tue, 13 Oct 2020 10:58:35 +0100 Subject: [PATCH 111/312] Remove broken, duplicated error message --- lib/capybara/screenshot/diff/stabilization.rb | 3 --- 1 file changed, 3 deletions(-) diff --git a/lib/capybara/screenshot/diff/stabilization.rb b/lib/capybara/screenshot/diff/stabilization.rb index e5cddfb3..649fd848 100644 --- a/lib/capybara/screenshot/diff/stabilization.rb +++ b/lib/capybara/screenshot/diff/stabilization.rb @@ -144,9 +144,6 @@ def annotate_stabilization_images(comparison) end previous_file = file_name end - - fail("Could not get stable screenshot within #{max_wait_time}s\n" \ - "#{stabilization_images(comparison.new_file_name).join("\n")}") end def max_wait_time(shift_distance_limit, wait) From 4e860ac02c24161ff68e38a76f8011affdf4fb6b Mon Sep 17 00:00:00 2001 From: James 'zofrex' Sanderson Date: Fri, 16 Oct 2020 22:11:07 +0100 Subject: [PATCH 112/312] Only hide caret once --- .rubocop_todo.yml | 2 +- lib/capybara/screenshot/diff/stabilization.rb | 16 +++++++++------- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index 2d0fe627..88f74a2e 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -35,7 +35,7 @@ Metrics/MethodLength: # Offense count: 1 # Configuration parameters: CountComments, CountAsOne. Metrics/ModuleLength: - Max: 136 + Max: 144 # Offense count: 10 # Configuration parameters: IgnoredMethods. diff --git a/lib/capybara/screenshot/diff/stabilization.rb b/lib/capybara/screenshot/diff/stabilization.rb index 6c5de15c..5fe4d046 100644 --- a/lib/capybara/screenshot/diff/stabilization.rb +++ b/lib/capybara/screenshot/diff/stabilization.rb @@ -107,13 +107,15 @@ def prepare_page_for_screenshot(timeout:) JS blurred_input = page.driver.send :unwrap_script_result, active_element end - hide_caret = <<~SCRIPT - var style = document.createElement('style'); - document.head.appendChild(style); - var styleSheet = style.sheet; - styleSheet.insertRule("* { caret-color: transparent !important; }", 0); - SCRIPT - execute_script(hide_caret) if Capybara::Screenshot.hide_caret + if Capybara::Screenshot.hide_caret && !@hid_caret + execute_script(<<~JS) + var style = document.createElement('style'); + document.head.appendChild(style); + var styleSheet = style.sheet; + styleSheet.insertRule("* { caret-color: transparent !important; }", 0); + JS + @hid_caret = true + end blurred_input end From b0ff9c41a1515235c48ed91f9b7608be470c2a45 Mon Sep 17 00:00:00 2001 From: Paul Keen <125715+pftg@users.noreply.github.com> Date: Sun, 11 Oct 2020 11:44:52 +0300 Subject: [PATCH 113/312] Replaces Rubocop with Standard --- .rubocop.yml | 62 -------------------------------- .rubocop_todo.yml | 57 ----------------------------- .standard.yml | 12 +++++++ .travis.yml | 12 +++++-- bin/standardrb | 29 +++++++++++++++ capybara-screenshot-diff.gemspec | 3 +- matrix_test.rb | 2 -- 7 files changed, 52 insertions(+), 125 deletions(-) delete mode 100644 .rubocop.yml delete mode 100644 .rubocop_todo.yml create mode 100644 .standard.yml create mode 100755 bin/standardrb diff --git a/.rubocop.yml b/.rubocop.yml deleted file mode 100644 index d9dc7ce9..00000000 --- a/.rubocop.yml +++ /dev/null @@ -1,62 +0,0 @@ -inherit_from: .rubocop_todo.yml -require: rubocop-performance - -AllCops: - TargetRubyVersion: 2.5 - DisplayCopNames: true - DisplayStyleGuide: true - Exclude: - - gemfiles/vendor/**/* - NewCops: enable - -#Layout/ArgumentAlignment: -# EnforcedStyle: with_fixed_indentation -# IndentationWidth: 4 - -Layout/HeredocIndentation: - Enabled: true - -Layout/LineLength: - Max: 107 - IgnoreCopDirectives: true - -Layout/MultilineMethodCallIndentation: - EnforcedStyle: indented - -Layout/MultilineOperationIndentation: - EnforcedStyle: indented - -Layout/ParameterAlignment: - EnforcedStyle: with_fixed_indentation - IndentationWidth: 2 - - -Lint/Debugger: - Enabled: false - -# Offense count: 2 -# Configuration parameters: MinNameLength, AllowNamesEndingInNumbers, AllowedNames, ForbiddenNames. -# AllowedNames: io, id, to -Naming/MethodParameterName: - AllowedNames: - - x - - y - -Security/Eval: - Exclude: - - gemfiles/*.gemfile - -Style/Documentation: - Enabled: false - -Style/DoubleNegation: - Enabled: false - -Style/FormatStringToken: - EnforcedStyle: unannotated - -Style/NumericPredicate: - Enabled: false - -Style/SignalException: - EnforcedStyle: semantic diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml deleted file mode 100644 index 88f74a2e..00000000 --- a/.rubocop_todo.yml +++ /dev/null @@ -1,57 +0,0 @@ -# This configuration was generated by -# `rubocop --auto-gen-config` -# on 2020-09-26 20:21:37 UTC using RuboCop version 0.92.0. -# The point is for the user to remove these configuration records -# one by one as the offenses are removed from the code base. -# Note that changes in the inspected code, or installation of new -# versions of RuboCop, may require this file to be generated again. - -# Offense count: 13 -# Configuration parameters: IgnoredMethods. -Metrics/AbcSize: - Max: 51 - -# Offense count: 2 -# Configuration parameters: CountComments, CountAsOne, ExcludedMethods. -# ExcludedMethods: refine -Metrics/BlockLength: - Max: 44 - -# Offense count: 3 -# Configuration parameters: CountComments, CountAsOne. -Metrics/ClassLength: - Max: 321 - -# Offense count: 10 -# Configuration parameters: IgnoredMethods. -Metrics/CyclomaticComplexity: - Max: 19 - -# Offense count: 20 -# Configuration parameters: CountComments, CountAsOne, ExcludedMethods. -Metrics/MethodLength: - Max: 49 - -# Offense count: 1 -# Configuration parameters: CountComments, CountAsOne. -Metrics/ModuleLength: - Max: 144 - -# Offense count: 10 -# Configuration parameters: IgnoredMethods. -Metrics/PerceivedComplexity: - Max: 19 - -# Offense count: 2 -# Cop supports --auto-correct. -# Configuration parameters: AutoCorrect. -Performance/StringInclude: - Exclude: - - 'lib/capybara/screenshot/diff/os.rb' - -# Offense count: 1 -# Cop supports --auto-correct. -# Configuration parameters: SafeForConstants. -Style/RedundantFetchBlock: - Exclude: - - 'lib/capybara/screenshot/diff/image_compare.rb' diff --git a/.standard.yml b/.standard.yml new file mode 100644 index 00000000..4398814a --- /dev/null +++ b/.standard.yml @@ -0,0 +1,12 @@ +fix: true # default: false +parallel: true # default: false +format: progress # default: Standard::Formatter +ruby_version: 2.5 # default: RUBY_VERSION +default_ignores: false # default: true + +ignore: # default: [] + - 'gemfiles/vendor/**/*' + - 'gemfiles/**/*': + - Security/Eval + - 'lib/**/*': + - Lint/Debugger diff --git a/.travis.yml b/.travis.yml index 0eeab8e9..e22fd293 100644 --- a/.travis.yml +++ b/.travis.yml @@ -9,8 +9,9 @@ addons: - libvips-dev - libvips-tools -before_install: - - vips --version +stages: + - linter + - test rvm: - ruby-2.7 @@ -37,3 +38,10 @@ jobs: fast_finish: true allow_failures: - rvm: truffleruby + + include: + - stage: linter + name: Analyze Code by Linters + language: ruby + ruby: 2.7 + script: bin/standardrb diff --git a/bin/standardrb b/bin/standardrb new file mode 100755 index 00000000..f0c8e62c --- /dev/null +++ b/bin/standardrb @@ -0,0 +1,29 @@ +#!/usr/bin/env ruby +# frozen_string_literal: true + +# +# This file was generated by Bundler. +# +# The application 'standardrb' is installed as part of a gem, and +# this file is here to facilitate running it. +# + +require "pathname" +ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../gems.rb", + Pathname.new(__FILE__).realpath) + +bundle_binstub = File.expand_path("../bundle", __FILE__) + +if File.file?(bundle_binstub) + if /This file was generated by Bundler/.match?(File.read(bundle_binstub, 300)) + load(bundle_binstub) + else + abort("Your `bin/bundle` was not generated by Bundler, so this binstub cannot run. +Replace `bin/bundle` by running `bundle binstubs bundler --force`, then run this command again.") + end +end + +require "rubygems" +require "bundler/setup" + +load Gem.bin_path("standard", "standardrb") diff --git a/capybara-screenshot-diff.gemspec b/capybara-screenshot-diff.gemspec index 828d9ff3..d92a1648 100644 --- a/capybara-screenshot-diff.gemspec +++ b/capybara-screenshot-diff.gemspec @@ -28,8 +28,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'minitest-stub-const' spec.add_development_dependency 'puma' spec.add_development_dependency 'rake' - spec.add_development_dependency 'rubocop', '~> 0.81' - spec.add_development_dependency 'rubocop-performance', '~> 1.5' + spec.add_development_dependency "standard" spec.add_development_dependency 'selenium-webdriver' spec.add_development_dependency 'simplecov', '~> 0.11' spec.add_development_dependency 'webdrivers' diff --git a/matrix_test.rb b/matrix_test.rb index c522531d..a0f84b80 100755 --- a/matrix_test.rb +++ b/matrix_test.rb @@ -1,8 +1,6 @@ #!/usr/bin/env ruby -w # frozen_string_literal: true -system('rubocop --auto-correct') || exit(1) - update_gemfiles = ARGV.delete('--update') require 'yaml' From 55c1a069e21d395fd6e48991b0bc2bfd6709d54b Mon Sep 17 00:00:00 2001 From: Paul Keen <125715+pftg@users.noreply.github.com> Date: Sun, 11 Oct 2020 11:45:40 +0300 Subject: [PATCH 114/312] Apply standard linter fixes --- Rakefile | 14 ++--- bin/console | 6 +- capybara-screenshot-diff.gemspec | 50 ++++++++-------- gemfiles/rails42.gemfile | 4 +- gemfiles/rails50.gemfile | 2 +- gemfiles/rails51.gemfile | 2 +- gemfiles/rails52.gemfile | 2 +- gemfiles/rails60_gems.rb | 4 +- gems.rb | 8 +-- lib/capybara/screenshot/diff.rb | 14 ++--- .../diff/drivers/chunky_png_driver.rb | 20 +++---- lib/capybara/screenshot/diff/drivers/utils.rb | 4 +- .../screenshot/diff/drivers/vips_driver.rb | 34 +++++------ lib/capybara/screenshot/diff/image_compare.rb | 8 +-- lib/capybara/screenshot/diff/os.rb | 14 ++--- lib/capybara/screenshot/diff/stabilization.rb | 12 ++-- lib/capybara/screenshot/diff/test_methods.rb | 18 +++--- lib/capybara/screenshot/diff/vcs.rb | 4 +- lib/capybara/screenshot/diff/version.rb | 2 +- matrix_test.rb | 38 ++++++------ .../diff/drivers/chunky_png_driver_test.rb | 40 ++++++------- .../screenshot/diff/drivers/utils_test.rb | 28 ++++----- .../diff/drivers/vips_driver_test.rb | 58 +++++++++--------- .../screenshot/diff/image_compare_test.rb | 34 +++++------ .../diff/test_methods_system_test.rb | 10 ++-- .../screenshot/diff/test_methods_test.rb | 12 ++-- test/capybara/screenshot/diff_test.rb | 60 +++++++++---------- test/test_helper.rb | 20 +++---- 28 files changed, 259 insertions(+), 263 deletions(-) diff --git a/Rakefile b/Rakefile index 0a0a49b3..75811df0 100644 --- a/Rakefile +++ b/Rakefile @@ -1,16 +1,12 @@ # frozen_string_literal: true -require 'bundler/gem_tasks' -require 'rake/testtask' +require "bundler/gem_tasks" +require "rake/testtask" task default: :test Rake::TestTask.new(:test) do |t| - t.libs << 'test' - t.libs << 'lib' - t.test_files = FileList['test/**/*_test.rb'] + t.libs << "test" + t.libs << "lib" + t.test_files = FileList["test/**/*_test.rb"] end - -require 'rubocop/rake_task' -RuboCop::RakeTask.new -task test: %i[rubocop:auto_correct] diff --git a/bin/console b/bin/console index 5669dd41..0c77c72b 100755 --- a/bin/console +++ b/bin/console @@ -1,8 +1,8 @@ #!/usr/bin/env ruby # frozen_string_literal: true -require 'bundler/setup' -require 'capybara/screenshot/diff' +require "bundler/setup" +require "capybara/screenshot/diff" # You can add fixtures and/or initialization code here to make experimenting # with your gem easier. You can also use a different console, if you like. @@ -11,5 +11,5 @@ require 'capybara/screenshot/diff' # require "pry" # Pry.start -require 'irb' +require "irb" IRB.start diff --git a/capybara-screenshot-diff.gemspec b/capybara-screenshot-diff.gemspec index d92a1648..831b6992 100644 --- a/capybara-screenshot-diff.gemspec +++ b/capybara-screenshot-diff.gemspec @@ -1,35 +1,35 @@ # frozen_string_literal: true -lib = File.expand_path('lib', __dir__) +lib = File.expand_path("lib", __dir__) $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib) -require 'capybara/screenshot/diff/version' +require "capybara/screenshot/diff/version" Gem::Specification.new do |spec| - spec.name = 'capybara-screenshot-diff' - spec.version = Capybara::Screenshot::Diff::VERSION - spec.authors = ['Uwe Kubosch'] - spec.email = ['uwe@kubosch.no'] - spec.summary = 'Track your GUI changes with diff assertions' - spec.description = 'Save screen shots and track changes with graphical diff' - spec.homepage = 'https://github.com/donv/capybara-screenshot-diff' - spec.required_ruby_version = '~> 2.5' - spec.license = 'MIT' - spec.metadata['allowed_push_host'] = 'https://rubygems.org/' + spec.name = "capybara-screenshot-diff" + spec.version = Capybara::Screenshot::Diff::VERSION + spec.authors = ["Uwe Kubosch"] + spec.email = ["uwe@kubosch.no"] + spec.summary = "Track your GUI changes with diff assertions" + spec.description = "Save screen shots and track changes with graphical diff" + spec.homepage = "https://github.com/donv/capybara-screenshot-diff" + spec.required_ruby_version = "~> 2.5" + spec.license = "MIT" + spec.metadata["allowed_push_host"] = "https://rubygems.org/" spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) } - spec.bindir = 'exe' - spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) } - spec.require_paths = ['lib'] + spec.bindir = "exe" + spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) } + spec.require_paths = ["lib"] - spec.add_runtime_dependency 'actionpack', '>= 4.2', '< 7' - spec.add_runtime_dependency 'capybara', '>= 2', '< 4' - spec.add_runtime_dependency 'chunky_png', '~> 1.3' + spec.add_runtime_dependency "actionpack", ">= 4.2", "< 7" + spec.add_runtime_dependency "capybara", ">= 2", "< 4" + spec.add_runtime_dependency "chunky_png", "~> 1.3" - spec.add_development_dependency 'minitest', '~> 5.0' - spec.add_development_dependency 'minitest-stub-const' - spec.add_development_dependency 'puma' - spec.add_development_dependency 'rake' + spec.add_development_dependency "minitest", "~> 5.0" + spec.add_development_dependency "minitest-stub-const" + spec.add_development_dependency "puma" + spec.add_development_dependency "rake" spec.add_development_dependency "standard" - spec.add_development_dependency 'selenium-webdriver' - spec.add_development_dependency 'simplecov', '~> 0.11' - spec.add_development_dependency 'webdrivers' + spec.add_development_dependency "selenium-webdriver" + spec.add_development_dependency "simplecov", "~> 0.11" + spec.add_development_dependency "webdrivers" end diff --git a/gemfiles/rails42.gemfile b/gemfiles/rails42.gemfile index 41716bf5..2d2b5fa3 100644 --- a/gemfiles/rails42.gemfile +++ b/gemfiles/rails42.gemfile @@ -3,5 +3,5 @@ gems = "#{File.dirname __dir__}/gems.rb" eval File.read(gems), binding, gems -gem 'actionpack', '~>4.2.7' -gem 'bigdecimal', '<2', platform: :mri +gem "actionpack", "~>4.2.7" +gem "bigdecimal", "<2", platform: :mri diff --git a/gemfiles/rails50.gemfile b/gemfiles/rails50.gemfile index d24e667a..cb412ff2 100644 --- a/gemfiles/rails50.gemfile +++ b/gemfiles/rails50.gemfile @@ -3,4 +3,4 @@ gems = "#{File.dirname __dir__}/gems.rb" eval File.read(gems), binding, gems -gem 'actionpack', '~>5.0.1' +gem "actionpack", "~>5.0.1" diff --git a/gemfiles/rails51.gemfile b/gemfiles/rails51.gemfile index c25c292f..b1db25dd 100644 --- a/gemfiles/rails51.gemfile +++ b/gemfiles/rails51.gemfile @@ -3,4 +3,4 @@ gems = "#{File.dirname __dir__}/gems.rb" eval File.read(gems), binding, gems -gem 'actionpack', '~>5.1.2' +gem "actionpack", "~>5.1.2" diff --git a/gemfiles/rails52.gemfile b/gemfiles/rails52.gemfile index 673a1ec7..170b73db 100644 --- a/gemfiles/rails52.gemfile +++ b/gemfiles/rails52.gemfile @@ -3,4 +3,4 @@ gems = "#{File.dirname __dir__}/gems.rb" eval File.read(gems), binding, gems -gem 'actionpack', '~>5.2.1' +gem "actionpack", "~>5.2.1" diff --git a/gemfiles/rails60_gems.rb b/gemfiles/rails60_gems.rb index 4bc83260..29ab98dd 100644 --- a/gemfiles/rails60_gems.rb +++ b/gemfiles/rails60_gems.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true gems = "#{File.dirname __dir__}/gems.rb" -eval File.read(gems), binding, gems # rubocop: disable Security/Eval +eval File.read(gems), binding, gems -gem 'actionpack', '~>6.0.0' +gem "actionpack", "~>6.0.0" diff --git a/gems.rb b/gems.rb index 695d58ea..9065f2d6 100644 --- a/gems.rb +++ b/gems.rb @@ -1,11 +1,11 @@ # frozen_string_literal: true -source 'https://rubygems.org' +source "https://rubygems.org" # Specify your gem's dependencies in capybara-screenshot-diff.gemspec gemspec path: __dir__ -gem 'oily_png', platform: :ruby +gem "oily_png", platform: :ruby -gem 'image_processing', require: false -gem 'ruby-vips', require: false +gem "image_processing", require: false +gem "ruby-vips", require: false diff --git a/lib/capybara/screenshot/diff.rb b/lib/capybara/screenshot/diff.rb index cf5f8b9a..42603c34 100644 --- a/lib/capybara/screenshot/diff.rb +++ b/lib/capybara/screenshot/diff.rb @@ -1,10 +1,10 @@ # frozen_string_literal: true -require 'capybara/dsl' -require 'capybara/screenshot/diff/version' -require 'capybara/screenshot/diff/drivers/utils' -require 'capybara/screenshot/diff/image_compare' -require 'capybara/screenshot/diff/test_methods' +require "capybara/dsl" +require "capybara/screenshot/diff/version" +require "capybara/screenshot/diff/drivers/utils" +require "capybara/screenshot/diff/image_compare" +require "capybara/screenshot/diff/test_methods" module Capybara module Screenshot @@ -14,10 +14,10 @@ module Screenshot mattr_accessor :blur_active_element mattr_accessor :enabled mattr_accessor :hide_caret - mattr_accessor(:root) { (defined?(Rails.root) && Rails.root) || File.expand_path('.') } + mattr_accessor(:root) { (defined?(Rails.root) && Rails.root) || File.expand_path(".") } mattr_accessor :stability_time_limit mattr_accessor :window_size - mattr_accessor(:save_path) { 'doc/screenshots' } + mattr_accessor(:save_path) { "doc/screenshots" } mattr_accessor(:use_lfs) class << self diff --git a/lib/capybara/screenshot/diff/drivers/chunky_png_driver.rb b/lib/capybara/screenshot/diff/drivers/chunky_png_driver.rb index ef801053..617b8bff 100644 --- a/lib/capybara/screenshot/diff/drivers/chunky_png_driver.rb +++ b/lib/capybara/screenshot/diff/drivers/chunky_png_driver.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -require 'chunky_png' +require "chunky_png" module Capybara module Screenshot @@ -12,14 +12,14 @@ class ChunkyPNGDriver include ChunkyPNG::Color attr_reader :annotated_new_file_name, :annotated_old_file_name, :area_size_limit, - :color_distance_limit, :new_file_name, :old_file_name, :shift_distance_limit, - :skip_area + :color_distance_limit, :new_file_name, :old_file_name, :shift_distance_limit, + :skip_area def initialize(new_file_name, old_file_name = nil, **options) @new_file_name = new_file_name @old_file_name = old_file_name || "#{new_file_name}~" - @annotated_old_file_name = "#{new_file_name.chomp('.png')}.committed.png" - @annotated_new_file_name = "#{new_file_name.chomp('.png')}.latest.png" + @annotated_old_file_name = "#{new_file_name.chomp(".png")}.committed.png" + @annotated_new_file_name = "#{new_file_name.chomp(".png")}.latest.png" @color_distance_limit = options[:color_distance_limit] @area_size_limit = options[:area_size_limit] @@ -175,12 +175,12 @@ def calculate_metrics def calculate_max_color_distance(new_image, old_image) pixel_pairs = old_image.pixels.zip(new_image.pixels) - @max_color_distance = pixel_pairs.inject(0) do |max, (p1, p2)| + @max_color_distance = pixel_pairs.inject(0) { |max, (p1, p2)| next max unless p1 && p2 d = ChunkyPNG::Color.euclidean_distance_rgba(p1, p2) [max, d].max - end + } end def calculate_max_shift_limit(new_img, old_img) @@ -226,7 +226,7 @@ def load_image_files(old_file_name, file_name) def sizes_changed?(org_image, new_image) return unless org_image.dimension != new_image.dimension - change_msg = [org_image, new_image].map { |i| "#{i.width}x#{i.height}" }.join(' => ') + change_msg = [org_image, new_image].map { |i| "#{i.width}x#{i.height}" }.join(" => ") warn "Image size has changed for #{@new_file_name}: #{change_msg}" true end @@ -332,10 +332,10 @@ def color_distance_at(new_img, old_img, x, y, shift_distance_limit:) end_y = [y + shift_distance_limit, new_img.height - 1].min ys = (start_y..end_y).to_a new_pixels = xs.product(ys) - distances = new_pixels.map do |dx, dy| + distances = new_pixels.map { |dx, dy| new_color = new_img[dx, dy] ChunkyPNG::Color.euclidean_distance_rgba(org_color, new_color) - end + } distances.min else ChunkyPNG::Color.euclidean_distance_rgba(org_color, new_img[x, y]) diff --git a/lib/capybara/screenshot/diff/drivers/utils.rb b/lib/capybara/screenshot/diff/drivers/utils.rb index 80a35888..527f65cc 100644 --- a/lib/capybara/screenshot/diff/drivers/utils.rb +++ b/lib/capybara/screenshot/diff/drivers/utils.rb @@ -7,12 +7,12 @@ module Utils def self.detect_available_drivers result = [] begin - result << :vips if defined?(Vips) || require('vips') + result << :vips if defined?(Vips) || require("vips") rescue LoadError # vips not present end begin - result << :chunky_png if defined?(ChunkyPNG) || require('chunky_png') + result << :chunky_png if defined?(ChunkyPNG) || require("chunky_png") rescue LoadError # chunky_png not present end diff --git a/lib/capybara/screenshot/diff/drivers/vips_driver.rb b/lib/capybara/screenshot/diff/drivers/vips_driver.rb index ca2d00cf..7eada1cf 100644 --- a/lib/capybara/screenshot/diff/drivers/vips_driver.rb +++ b/lib/capybara/screenshot/diff/drivers/vips_driver.rb @@ -1,13 +1,13 @@ # frozen_string_literal: true begin - require 'vips' + require "vips" rescue LoadError => e - warn 'Required ruby-vips gem is missing. Add `gem "ruby-vips"` to Gemfile' if e.message.include?('vips') + warn 'Required ruby-vips gem is missing. Add `gem "ruby-vips"` to Gemfile' if e.message.include?("vips") raise end -require_relative './chunky_png_driver' +require_relative "./chunky_png_driver" module Capybara module Screenshot @@ -17,14 +17,14 @@ module Diff module Drivers class VipsDriver attr_reader :annotated_new_file_name, :annotated_old_file_name, :area_size_limit, - :color_distance_limit, :new_file_name, :old_file_name, :shift_distance_limit, - :skip_area, :tolerance + :color_distance_limit, :new_file_name, :old_file_name, :shift_distance_limit, + :skip_area, :tolerance def initialize(new_file_name, old_file_name = nil, **options) @new_file_name = new_file_name @old_file_name = old_file_name || "#{new_file_name}~" - @annotated_old_file_name = "#{new_file_name.chomp('.png')}.committed.png" - @annotated_new_file_name = "#{new_file_name.chomp('.png')}.latest.png" + @annotated_old_file_name = "#{new_file_name.chomp(".png")}.committed.png" + @annotated_new_file_name = "#{new_file_name.chomp(".png")}.latest.png" @color_distance_limit = options[:color_distance_limit] || 0 @area_size_limit = options[:area_size_limit] @@ -63,8 +63,8 @@ def quick_equal? # TODO: Remove this or find similar solution for vips if @shift_distance_limit - warn '[capybara-screenshot-diff] Instead of shift_distance_limit ' \ - 'please use median_filter_window_size and color_distance_limit options' + warn "[capybara-screenshot-diff] Instead of shift_distance_limit " \ + "please use median_filter_window_size and color_distance_limit options" return true if chunky_png_driver.quick_equal? end @@ -98,8 +98,8 @@ def different? # TODO: Remove this or find similar solution for vips if @shift_distance_limit - warn '[capybara-screenshot-diff] Instead of shift_distance_limit ' \ - 'please use median_filter_window_size and color_distance_limit options' + warn "[capybara-screenshot-diff] Instead of shift_distance_limit " \ + "please use median_filter_window_size and color_distance_limit options" return not_different unless chunky_png_driver.different? end @@ -171,9 +171,9 @@ def preprocess_image(image) result = @median_filter_window_size ? image.median(@median_filter_window_size) : image if @skip_area - result = @skip_area.reduce(result) do |memo, region| + result = @skip_area.reduce(result) { |memo, region| memo.draw_rect([0, 0, 0, 0], *region, fill: true) - end + } end result @@ -233,7 +233,7 @@ def vips_load_images(old_file_name, new_file_name) def from_file(old_file_name) result = ::Vips::Image.new_from_file(old_file_name) - result = result.colourspace('srgb') if result.bands < 3 + result = result.colourspace("srgb") if result.bands < 3 result = result.bandjoin(255) if result.bands == 3 result @@ -242,7 +242,7 @@ def from_file(old_file_name) def dimension_changed?(org_image, new_image) return unless dimension(org_image) != dimension(new_image) - change_msg = [org_image, new_image].map { |i| "#{i.width}x#{i.height}" }.join(' => ') + change_msg = [org_image, new_image].map { |i| "#{i.width}x#{i.height}" }.join(" => ") warn "Image size has changed for #{@new_file_name}: #{change_msg}" true @@ -294,9 +294,9 @@ def self.difference_region_by(diff_mask) columns, rows = diff_mask.project left = columns.profile[1].min - right = columns.width - columns.flip('horizontal').profile[1].min + right = columns.width - columns.flip("horizontal").profile[1].min top = rows.profile[0].min - bottom = rows.height - rows.flip('vertical').profile[0].min + bottom = rows.height - rows.flip("vertical").profile[0].min [left, top, right, bottom] end diff --git a/lib/capybara/screenshot/diff/image_compare.rb b/lib/capybara/screenshot/diff/image_compare.rb index feee3ecf..b6edf40a 100644 --- a/lib/capybara/screenshot/diff/image_compare.rb +++ b/lib/capybara/screenshot/diff/image_compare.rb @@ -3,7 +3,7 @@ module Capybara module Screenshot module Diff - LOADED_DRIVERS = {} # rubocop: disable Style/MutableConstant + LOADED_DRIVERS = {} # Compare two images and determine if they are equal, different, or within some comparison # range considering color values and difference area size. @@ -13,7 +13,7 @@ class ImageCompare < SimpleDelegator def initialize(new_file_name, old_file_name = nil, **driver_options) @driver_options = driver_options - driver_klass = find_driver_class_for(driver_options.fetch(:driver) { :chunky_png }) + driver_klass = find_driver_class_for(driver_options.fetch(:driver, :chunky_png)) @driver = driver_klass.new(new_file_name, old_file_name, **driver_options) super(@driver) @@ -27,10 +27,10 @@ def find_driver_class_for(driver) LOADED_DRIVERS[driver] ||= case driver when :chunky_png - require 'capybara/screenshot/diff/drivers/chunky_png_driver' + require "capybara/screenshot/diff/drivers/chunky_png_driver" Drivers::ChunkyPNGDriver when :vips - require 'capybara/screenshot/diff/drivers/vips_driver' + require "capybara/screenshot/diff/drivers/vips_driver" Drivers::VipsDriver else fail "Wrong adapter #{driver.inspect}. Available adapters: #{AVAILABLE_DRIVERS.inspect}" diff --git a/lib/capybara/screenshot/diff/os.rb b/lib/capybara/screenshot/diff/os.rb index fcd71f34..d96d86bd 100644 --- a/lib/capybara/screenshot/diff/os.rb +++ b/lib/capybara/screenshot/diff/os.rb @@ -3,16 +3,16 @@ module Capybara module Screenshot module Os - ON_WINDOWS = !!(RbConfig::CONFIG['host_os'] =~ /mswin|mingw|cygwin/) - ON_MAC = !!(RbConfig::CONFIG['host_os'] =~ /darwin/) - ON_LINUX = !!(RbConfig::CONFIG['host_os'] =~ /linux/) + ON_WINDOWS = !!(RbConfig::CONFIG["host_os"] =~ /mswin|mingw|cygwin/) + ON_MAC = !!(RbConfig::CONFIG["host_os"] =~ /darwin/) + ON_LINUX = !!(RbConfig::CONFIG["host_os"] =~ /linux/) def os_name - return 'windows' if ON_WINDOWS - return 'macos' if ON_MAC - return 'linux' if ON_LINUX + return "windows" if ON_WINDOWS + return "macos" if ON_MAC + return "linux" if ON_LINUX - 'unknown' + "unknown" end end end diff --git a/lib/capybara/screenshot/diff/stabilization.rb b/lib/capybara/screenshot/diff/stabilization.rb index 16643770..9cdfd11c 100644 --- a/lib/capybara/screenshot/diff/stabilization.rb +++ b/lib/capybara/screenshot/diff/stabilization.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -require_relative 'os' +require_relative "os" module Capybara module Screenshot @@ -50,9 +50,9 @@ def take_stable_screenshot(comparison, stability_time_limit:, wait:) end end - previous_file_name = "#{comparison.new_file_name.chomp('.png')}" \ - "_x#{format('%02i', i)}_#{(Time.now - screenshot_started_at).round(1)}s" \ - "_#{stabilization_comparison.dimensions&.to_s&.gsub(', ', '_') || :initial}.png~" + previous_file_name = "#{comparison.new_file_name.chomp(".png")}" \ + "_x#{format("%02i", i)}_#{(Time.now - screenshot_started_at).round(1)}s" \ + "_#{stabilization_comparison.dimensions&.to_s&.gsub(", ", "_") || :initial}.png~" FileUtils.mv comparison.new_file_name, previous_file_name check_max_wait_time( @@ -77,7 +77,7 @@ def reduce_retina_image_size(file_name) return if saved_image.width < width * 2 unless @_csd_retina_warned - warn 'Halving retina screenshot. ' \ + warn "Halving retina screenshot. " \ 'You should add "force-device-scale-factor=1" to your Chrome chromeOptions args.' @_csd_retina_warned = true end @@ -87,7 +87,7 @@ def reduce_retina_image_size(file_name) end def stabilization_images(base_file) - Dir["#{base_file.chomp('.png')}_x*.png~"].sort + Dir["#{base_file.chomp(".png")}_x*.png~"].sort end def clean_stabilization_images(base_file) diff --git a/lib/capybara/screenshot/diff/test_methods.rb b/lib/capybara/screenshot/diff/test_methods.rb index 2e5220e0..5a4a91e9 100644 --- a/lib/capybara/screenshot/diff/test_methods.rb +++ b/lib/capybara/screenshot/diff/test_methods.rb @@ -1,13 +1,13 @@ # frozen_string_literal: true -require 'English' -require 'capybara' -require 'action_controller' -require 'action_dispatch' -require 'active_support/core_ext/string/strip' -require_relative 'image_compare' -require_relative 'stabilization' -require_relative 'vcs' +require "English" +require "capybara" +require "action_controller" +require "action_dispatch" +require "active_support/core_ext/string/strip" +require_relative "image_compare" +require_relative "stabilization" +require_relative "vcs" # Add the `screenshot` method to ActionDispatch::IntegrationTest module Capybara @@ -92,7 +92,7 @@ def screenshot( end if @screenshot_counter - name = "#{format('%02i', @screenshot_counter)}_#{name}" + name = "#{format("%02i", @screenshot_counter)}_#{name}" @screenshot_counter += 1 end name = full_name(name) diff --git a/lib/capybara/screenshot/diff/vcs.rb b/lib/capybara/screenshot/diff/vcs.rb index 5ea0ce84..2e12de49 100644 --- a/lib/capybara/screenshot/diff/vcs.rb +++ b/lib/capybara/screenshot/diff/vcs.rb @@ -1,11 +1,11 @@ # frozen_string_literal: true -require_relative 'os' +require_relative "os" module Capybara module Screenshot module Diff module Vcs - SILENCE_ERRORS = Os::ON_WINDOWS ? '2>nul' : '2>/dev/null' + SILENCE_ERRORS = Os::ON_WINDOWS ? "2>nul" : "2>/dev/null" def restore_git_revision(name, target_file_name) redirect_target = "#{target_file_name} #{SILENCE_ERRORS}" diff --git a/lib/capybara/screenshot/diff/version.rb b/lib/capybara/screenshot/diff/version.rb index dbb96fd0..deae9026 100644 --- a/lib/capybara/screenshot/diff/version.rb +++ b/lib/capybara/screenshot/diff/version.rb @@ -3,7 +3,7 @@ module Capybara module Screenshot module Diff - VERSION = '1.3.1' + VERSION = "1.3.1" end end end diff --git a/matrix_test.rb b/matrix_test.rb index a0f84b80..6416eba7 100755 --- a/matrix_test.rb +++ b/matrix_test.rb @@ -1,29 +1,29 @@ #!/usr/bin/env ruby -w # frozen_string_literal: true -update_gemfiles = ARGV.delete('--update') +update_gemfiles = ARGV.delete("--update") -require 'yaml' -travis = YAML.safe_load(File.read('.travis.yml')) +require "yaml" +travis = YAML.safe_load(File.read(".travis.yml")) def run_script(ruby, env, gemfile) env.scan(/\b(?[A-Z_]+)="(?.+?)"/) do |key, value| ENV[key] = value end - puts '*' * 80 + puts "*" * 80 puts "Testing #{ruby} #{gemfile} #{env}" puts system("chruby-exec #{ruby} -- bundle exec rake") || exit(1) puts "Testing #{ruby} #{gemfile} OK" - puts '*' * 80 + puts "*" * 80 end def use_gemfile(ruby, gemfile, update_gemfiles) - puts '$' * 80 - ENV['BUNDLE_GEMFILE'] = gemfile + puts "$" * 80 + ENV["BUNDLE_GEMFILE"] = gemfile bundler_version = `grep -A1 "BUNDLED WITH" #{gemfile}.lock | tail -n 1` - bundler_version = '~> 2.0' if bundler_version.strip.empty? + bundler_version = "~> 2.0" if bundler_version.strip.empty? version_arg = "-v '#{bundler_version}'" bundler_gem_check_cmd = "chruby-exec #{ruby} -- gem query -i -n bundler #{version_arg} >/dev/null" @@ -35,33 +35,33 @@ def use_gemfile(ruby, gemfile, update_gemfiles) system "chruby-exec #{ruby} -- bundle check >/dev/null || chruby-exec #{ruby} -- bundle install" end || exit(1) yield - puts '$' * 80 + puts "$" * 80 end -travis['rvm'].each do |ruby| +travis["rvm"].each do |ruby| next if /head/.match?(ruby) # ruby-install does not support HEAD installation - puts '#' * 80 + puts "#" * 80 puts "Testing #{ruby}" puts system "ruby-install --no-reinstall #{ruby}" || exit(1) - travis['gemfile'].each do |gemfile| - if travis['matrix'] && - (travis['matrix']['exclude'].to_a + travis['matrix']['allow_failures'].to_a) - .any? { |f| f['rvm'] == ruby && (f['gemfile'].nil? || f['gemfile'] == gemfile) } - puts 'Skipping known failure.' + travis["gemfile"].each do |gemfile| + if travis["matrix"] && + (travis["matrix"]["exclude"].to_a + travis["matrix"]["allow_failures"].to_a) + .any? { |f| f["rvm"] == ruby && (f["gemfile"].nil? || f["gemfile"] == gemfile) } + puts "Skipping known failure." next end use_gemfile(ruby, gemfile, update_gemfiles) do - travis['env'].each do |env| + travis["env"].each do |env| run_script(ruby, env, gemfile) end end end puts "Testing #{ruby} OK" - puts '#' * 80 + puts "#" * 80 end print "\033[0;32m" -print ' TESTS PASSED OK!' +print " TESTS PASSED OK!" puts "\033[0m" diff --git a/test/capybara/screenshot/diff/drivers/chunky_png_driver_test.rb b/test/capybara/screenshot/diff/drivers/chunky_png_driver_test.rb index 70a23156..52d082aa 100644 --- a/test/capybara/screenshot/diff/drivers/chunky_png_driver_test.rb +++ b/test/capybara/screenshot/diff/drivers/chunky_png_driver_test.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -require 'test_helper' +require "test_helper" module Capybara module Screenshot @@ -9,25 +9,25 @@ module Drivers class ChunkyPNGDriverTest < ActionDispatch::IntegrationTest include TestHelper - test 'it can be instantiated' do - assert ChunkyPNGDriver.new('images/b.png') + test "it can be instantiated" do + assert ChunkyPNGDriver.new("images/b.png") end - test 'it can be instantiated with dimensions' do - assert ChunkyPNGDriver.new('images/b.png', dimensions: [80, 80]) + test "it can be instantiated with dimensions" do + assert ChunkyPNGDriver.new("images/b.png", dimensions: [80, 80]) end - test '#different? for equal is negative' do + test "#different? for equal is negative" do comp = make_comparison(:a, :a) assert_not comp.different? end - test '#quick_equal? for equal is positive' do + test "#quick_equal? for equal is positive" do comp = make_comparison(:a, :a) assert comp.quick_equal? end - test 'compare then dimensions and cleanup' do + test "compare then dimensions and cleanup" do comp = make_comparison(:a, :c) assert comp.different? assert_equal [11, 3, 48, 20], comp.dimensions @@ -41,64 +41,64 @@ class ChunkyPNGDriverTest < ActionDispatch::IntegrationTest assert !File.exist?(comp.annotated_new_file_name) end - test 'compare of 1 pixel wide diff' do + test "compare of 1 pixel wide diff" do comp = make_comparison(:a, :d) assert comp.different? assert_equal [9, 6, 9, 13], comp.dimensions end - test 'compare with color_distance_limit above difference' do + test "compare with color_distance_limit above difference" do comp = make_comparison(:a, :b, color_distance_limit: 223) assert_not comp.different? assert_equal 223, comp.max_color_distance.ceil end - test 'compare with color_distance_limit below difference' do + test "compare with color_distance_limit below difference" do comp = make_comparison(:a, :b, color_distance_limit: 222) assert comp.different? assert_equal 223, comp.max_color_distance.ceil end - test 'compare with shift_distance_limit above difference' do + test "compare with shift_distance_limit above difference" do comp = make_comparison(:a, :b, shift_distance_limit: 11) assert_not comp.different? assert_equal 0, comp.max_shift_distance.ceil end - test 'compare with shift_distance_limit below difference' do + test "compare with shift_distance_limit below difference" do comp = make_comparison(:a, :b, shift_distance_limit: 9) assert comp.different? assert_equal 11, comp.max_shift_distance.ceil end - test 'quick_equal' do + test "quick_equal" do comp = make_comparison(:a, :b) assert !comp.quick_equal? assert_equal 223, comp.max_color_distance.ceil end - test 'quick_equal with color distance limit' do + test "quick_equal with color distance limit" do comp = make_comparison(:a, :b, color_distance_limit: 222) assert !comp.quick_equal? assert_equal 223, comp.max_color_distance.ceil end - test 'max_color_distance a vs b' do + test "max_color_distance a vs b" do comp = make_comparison(:a, :b) assert_equal 223, comp.max_color_distance.ceil end - test 'max_color_distance a vs c' do + test "max_color_distance a vs c" do comp = make_comparison(:a, :c) assert_equal 318, comp.max_color_distance.ceil end - test 'max_color_distance a vs d' do + test "max_color_distance a vs d" do comp = make_comparison(:a, :d) assert_equal 271, comp.max_color_distance.ceil end - test 'max_color_distance 1.0' do + test "max_color_distance 1.0" do a_img = ChunkyPNG::Image.from_blob(File.binread("#{TEST_IMAGES_DIR}/a.png")) a_img[9, 6] += 0x010000 @@ -109,7 +109,7 @@ class ChunkyPNGDriverTest < ActionDispatch::IntegrationTest assert_equal 1, comp.max_color_distance end - test 'size a vs a_cropped' do + test "size a vs a_cropped" do comp = make_comparison(:a, :a_cropped) comp.different? assert_equal 6400, comp.size diff --git a/test/capybara/screenshot/diff/drivers/utils_test.rb b/test/capybara/screenshot/diff/drivers/utils_test.rb index f604dad8..e79ae9ef 100644 --- a/test/capybara/screenshot/diff/drivers/utils_test.rb +++ b/test/capybara/screenshot/diff/drivers/utils_test.rb @@ -1,36 +1,36 @@ # frozen_string_literal: true -require 'test_helper' -require 'capybara/screenshot/diff/drivers/utils' -require 'minitest/stub_const' +require "test_helper" +require "capybara/screenshot/diff/drivers/utils" +require "minitest/stub_const" module Capybara module Screenshot module Diff class UtilsTest < ActiveSupport::TestCase - test 'detect_available_drivers add vips when ruby-vips is available' do - Object.stub :require, ->(gem) { gem == 'vips' } do + test "detect_available_drivers add vips when ruby-vips is available" do + Object.stub :require, ->(gem) { gem == "vips" } do assert_includes Utils.detect_available_drivers, :vips end end - test 'detect_available_drivers does not add :vips when ruby-vips is unavailable' do + test "detect_available_drivers does not add :vips when ruby-vips is unavailable" do Object.stub_remove_const(:Vips) do - Object.stub :require, ->(gem) { gem != 'vips' } do + Object.stub :require, ->(gem) { gem != "vips" } do assert_not_includes Utils.detect_available_drivers, :vips end end end - test 'detect_available_drivers does not add :vips when there is no system libvips installed' do + test "detect_available_drivers does not add :vips when there is no system libvips installed" do Object.stub_remove_const(:Vips) do - Object.stub :require, ->(gem) { gem == 'vips' && raise(LoadError.new('Could not ... vips')) } do + Object.stub :require, ->(gem) { gem == "vips" && raise(LoadError.new("Could not ... vips")) } do assert_not_includes Utils.detect_available_drivers, :vips end end end - test 'detect_available_drivers returns vips before chunky_png if both gems are available' do + test "detect_available_drivers returns vips before chunky_png if both gems are available" do Object.stub_consts(Vips: Class.new, ChunkyPNG: Class.new) do Object.stub :require, true do assert_equal %i[vips chunky_png], Utils.detect_available_drivers @@ -38,15 +38,15 @@ class UtilsTest < ActiveSupport::TestCase end end - test 'detect_available_drivers add chunky_png when chunky_png is available' do - Object.stub :require, ->(gem) { gem == 'chunky_png' } do + test "detect_available_drivers add chunky_png when chunky_png is available" do + Object.stub :require, ->(gem) { gem == "chunky_png" } do assert_includes Utils.detect_available_drivers, :chunky_png end end - test 'detect_available_drivers does not add chunky_png when chunky_png is not available' do + test "detect_available_drivers does not add chunky_png when chunky_png is not available" do Object.stub_remove_const(:ChunkyPNG) do - Object.stub :require, ->(gem) { gem != 'chunky_png' } do + Object.stub :require, ->(gem) { gem != "chunky_png" } do assert_not_includes Utils.detect_available_drivers, :chunky_png end end diff --git a/test/capybara/screenshot/diff/drivers/vips_driver_test.rb b/test/capybara/screenshot/diff/drivers/vips_driver_test.rb index 3e4a441f..6d9e7c65 100644 --- a/test/capybara/screenshot/diff/drivers/vips_driver_test.rb +++ b/test/capybara/screenshot/diff/drivers/vips_driver_test.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true -require 'test_helper' -require 'capybara/screenshot/diff/drivers/vips_driver' +require "test_helper" +require "capybara/screenshot/diff/drivers/vips_driver" module Capybara module Screenshot @@ -21,26 +21,26 @@ class VipsDriverTest < ActionDispatch::IntegrationTest end end - test '#different? for equal is negative' do + test "#different? for equal is negative" do comp = make_comparison(:a, :a) assert_not comp.different? end - test '#quick_equal? for equal is positive' do + test "#quick_equal? for equal is positive" do comp = make_comparison(:a, :a) assert comp.quick_equal? end - test 'it can be instantiated' do - assert VipsDriver.new('images/b.png') + test "it can be instantiated" do + assert VipsDriver.new("images/b.png") end - test 'it can be instantiated with dimensions' do - assert VipsDriver.new('images/b.png', dimensions: [80, 80]) + test "it can be instantiated with dimensions" do + assert VipsDriver.new("images/b.png", dimensions: [80, 80]) end - test 'when different does not clean runtime files' do + test "when different does not clean runtime files" do comp = make_comparison(:a, :c) assert comp.different? assert_equal [11.0, 3.0, 49.0, 21.0], comp.dimensions @@ -49,7 +49,7 @@ class VipsDriverTest < ActionDispatch::IntegrationTest assert File.exist?(comp.annotated_new_file_name) end - test 'when equal clean runtime files' do + test "when equal clean runtime files" do comp = make_comparison(:c, :c) assert_not comp.different? assert_not File.exist?(comp.old_file_name) @@ -57,88 +57,88 @@ class VipsDriverTest < ActionDispatch::IntegrationTest assert_not File.exist?(comp.annotated_new_file_name) end - test 'compare of 1 pixel wide diff' do + test "compare of 1 pixel wide diff" do comp = make_comparison(:a, :d) assert comp.different? assert_equal [9.0, 6.0, 10.0, 14.0], comp.dimensions end - test 'compare with color_distance_limit above difference' do + test "compare with color_distance_limit above difference" do comp = make_comparison(:a, :b, color_distance_limit: 255) assert_not comp.different? end - test 'compare with color_distance_limit below difference' do + test "compare with color_distance_limit below difference" do comp = make_comparison(:a, :b, color_distance_limit: 3) assert comp.different? end - test 'compare with tolerance level more then area of the difference' do + test "compare with tolerance level more then area of the difference" do comp = make_comparison(:a, :b, tolerance: 0.01) assert comp.quick_equal? assert_not comp.different? end - test 'compare with tolerance level less then area of the difference' do + test "compare with tolerance level less then area of the difference" do comp = make_comparison(:a, :b, tolerance: 0.000001) assert_not comp.quick_equal? assert comp.different? end - test 'compare with median_filter_window_size when images have 1px line difference' do + test "compare with median_filter_window_size when images have 1px line difference" do comp = make_comparison(:a, :d, median_filter_window_size: 3, color_distance_limit: 8) assert comp.quick_equal? assert_not comp.different? end - test 'quick_equal compare with shift_distance_limit above difference' do + test "quick_equal compare with shift_distance_limit above difference" do comp = make_comparison(:a, :d, shift_distance_limit: 11) assert comp.quick_equal? end - test 'different with shift_distance_limit above difference' do + test "different with shift_distance_limit above difference" do comp = make_comparison(:a, :d, shift_distance_limit: 11) assert_not comp.different? end - test 'quick_equal? with shift_distance_limit below difference' do + test "quick_equal? with shift_distance_limit below difference" do comp = make_comparison(:a, :b, shift_distance_limit: 9) assert_not comp.quick_equal? end - test 'different? with shift_distance_limit below difference' do + test "different? with shift_distance_limit below difference" do comp = make_comparison(:a, :b, shift_distance_limit: 9) assert comp.different? end - test 'quick_equal' do + test "quick_equal" do comp = make_comparison(:a, :b) assert_not comp.quick_equal? end - test 'quick_equal with color distance limit below current level' do + test "quick_equal with color distance limit below current level" do comp = make_comparison(:a, :b, color_distance_limit: 2) assert_not comp.quick_equal? end - test 'quick_equal with color distance limit above current level' do + test "quick_equal with color distance limit above current level" do comp = make_comparison(:a, :b, color_distance_limit: 200) assert comp.quick_equal? end - test 'size a vs a_cropped' do + test "size a vs a_cropped" do comp = make_comparison(:a, :a_cropped) comp.different? assert_equal 6400, comp.size end - test 'quick_equal compare skips difference if skip_area covers it' do + test "quick_equal compare skips difference if skip_area covers it" do comp = make_comparison(:a, :d, skip_area: [[9, 0, 11, 80], [79, 79, 80, 80]]) assert comp.quick_equal? assert_not comp.different? end - test 'quick_equal compare skips difference if skip_area does not cover it' do + test "quick_equal compare skips difference if skip_area does not cover it" do comp = make_comparison(:a, :d, skip_area: [[79, 79, 80, 80], [78, 78, 80, 80]]) assert_not comp.quick_equal? assert comp.different? @@ -154,7 +154,7 @@ def make_comparison(old_img, new_img, **driver_args) end class VipsUtilTest < ActiveSupport::TestCase - test 'segment difference without min color difference' do + test "segment difference without min color difference" do old_image = Vips::Image.new_from_file("#{TEST_IMAGES_DIR}/a.png") new_image = Vips::Image.new_from_file("#{TEST_IMAGES_DIR}/b.png") @@ -163,7 +163,7 @@ class VipsUtilTest < ActiveSupport::TestCase assert_equal [20.0, 15.0, 30.0, 25.0], [left, top, right, bottom] end - test 'segment difference' do + test "segment difference" do old_image = Vips::Image.new_from_file("#{TEST_IMAGES_DIR}/a.png") new_image = Vips::Image.new_from_file("#{TEST_IMAGES_DIR}/b.png") @@ -172,7 +172,7 @@ class VipsUtilTest < ActiveSupport::TestCase assert_equal [20.0, 15.0, 30.0, 25.0], [left, top, right, bottom] end - test 'area of the difference' do + test "area of the difference" do old_image = Vips::Image.new_from_file("#{TEST_IMAGES_DIR}/a.png") new_image = Vips::Image.new_from_file("#{TEST_IMAGES_DIR}/d.png").bandjoin(255) diff --git a/test/capybara/screenshot/diff/image_compare_test.rb b/test/capybara/screenshot/diff/image_compare_test.rb index a785f629..f0673921 100644 --- a/test/capybara/screenshot/diff/image_compare_test.rb +++ b/test/capybara/screenshot/diff/image_compare_test.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true -require 'test_helper' -require 'minitest/stub_const' +require "test_helper" +require "minitest/stub_const" module Capybara module Screenshot @@ -9,44 +9,44 @@ module Diff class ImageCompareTest < ActionDispatch::IntegrationTest include TestHelper - test 'it can be instantiated with chunky_png driver' do - comparison = ImageCompare.new('images/b.png') + test "it can be instantiated with chunky_png driver" do + comparison = ImageCompare.new("images/b.png") assert_kind_of Drivers::ChunkyPNGDriver, comparison.driver end - test 'it can be instantiated with explicit chunky_png adapter' do - comparison = ImageCompare.new('images/b.png', driver: :chunky_png) + test "it can be instantiated with explicit chunky_png adapter" do + comparison = ImageCompare.new("images/b.png", driver: :chunky_png) assert_kind_of Drivers::ChunkyPNGDriver, comparison.driver end - test 'it can be instantiated with vips adapter' do - comparison = ImageCompare.new('images/b.png', driver: :vips) + test "it can be instantiated with vips adapter" do + comparison = ImageCompare.new("images/b.png", driver: :vips) assert_kind_of Drivers::VipsDriver, comparison.driver end - test 'it can be instantiated with vips adapter and tolerance option' do + test "it can be instantiated with vips adapter and tolerance option" do comp = make_comparison(:a, :b, driver: :vips, tolerance: 0.02) assert comp.quick_equal? assert_not comp.different? end - test 'could pass use tolerance for chunky_png driver' do - ImageCompare.new('images/b.png', driver: :chunky_png, tolerance: 0.02) + test "could pass use tolerance for chunky_png driver" do + ImageCompare.new("images/b.png", driver: :chunky_png, tolerance: 0.02) end - test 'it can be instantiated with dimensions' do - assert ImageCompare.new('images/b.png', dimensions: [80, 80]) + test "it can be instantiated with dimensions" do + assert ImageCompare.new("images/b.png", dimensions: [80, 80]) end - test 'for driver: :auto returns first from available drivers' do - comparison = ImageCompare.new('images/b.png', driver: :auto) + test "for driver: :auto returns first from available drivers" do + comparison = ImageCompare.new("images/b.png", driver: :auto) assert_kind_of Drivers::VipsDriver, comparison.driver end - test 'for driver: :auto raise error if no drivers are available' do + test "for driver: :auto raise error if no drivers are available" do Capybara::Screenshot::Diff.stub_const(:AVAILABLE_DRIVERS, []) do assert_raise(RuntimeError) do - ImageCompare.new('images/b.png', driver: :auto) + ImageCompare.new("images/b.png", driver: :auto) end end end diff --git a/test/capybara/screenshot/diff/test_methods_system_test.rb b/test/capybara/screenshot/diff/test_methods_system_test.rb index 8877dae8..ceaeda8f 100644 --- a/test/capybara/screenshot/diff/test_methods_system_test.rb +++ b/test/capybara/screenshot/diff/test_methods_system_test.rb @@ -1,10 +1,10 @@ # frozen_string_literal: true -require 'action_pack/version' +require "action_pack/version" -if [ActionPack::VERSION::MAJOR, ActionPack::VERSION::MINOR].join > '60' - require 'test_helper' - require 'webdrivers/chromedriver' +if [ActionPack::VERSION::MAJOR, ActionPack::VERSION::MINOR].join > "60" + require "test_helper" + require "webdrivers/chromedriver" Webdrivers::Chromedriver.update @@ -21,7 +21,7 @@ class TestMethodsSystemTest < ActionDispatch::SystemTestCase def test_current_capybara_driver_class_do_not_spawn_new_process 5.times { current_capybara_driver_class } - assert_equal 1, `ps x -o pid= -o command=`.scan('webdrivers/chromedriver').size + assert_equal 1, `ps x -o pid= -o command=`.scan("webdrivers/chromedriver").size end end end diff --git a/test/capybara/screenshot/diff/test_methods_test.rb b/test/capybara/screenshot/diff/test_methods_test.rb index d92ea87a..a17be092 100644 --- a/test/capybara/screenshot/diff/test_methods_test.rb +++ b/test/capybara/screenshot/diff/test_methods_test.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -require 'test_helper' +require "test_helper" module Capybara module Screenshot @@ -10,8 +10,8 @@ class TestMethodsTest < ActionDispatch::IntegrationTest include TestHelper def test_assert_image_not_changed - message = assert_image_not_changed('caller', 'name', make_comparison(:a, :c)) - value = RUBY_VERSION >= '2.4' ? 187.4 : 188 + message = assert_image_not_changed("caller", "name", make_comparison(:a, :c)) + value = RUBY_VERSION >= "2.4" ? 187.4 : 188 assert_equal <<-MSG.strip_heredoc.chomp, message Screenshot does not match for 'name' (area: 684px [11, 3, 48, 20], max_color_distance: #{value}) #{Rails.root}/screenshot.png @@ -23,8 +23,8 @@ def test_assert_image_not_changed def test_assert_image_not_changed_with_shift_distance_limit message = - assert_image_not_changed('caller', 'name', make_comparison(:a, :c, shift_distance_limit: 1)) - value = RUBY_VERSION >= '2.4' ? 5.0 : 5 + assert_image_not_changed("caller", "name", make_comparison(:a, :c, shift_distance_limit: 1)) + value = RUBY_VERSION >= "2.4" ? 5.0 : 5 assert_equal <<-MSG.strip_heredoc.chomp, message Screenshot does not match for 'name' (area: 684px [11, 3, 48, 20], max_color_distance: #{value}, max_shift_distance: 15) #{Rails.root}/screenshot.png @@ -35,7 +35,7 @@ def test_assert_image_not_changed_with_shift_distance_limit end def test_screenshot_support_drivers_options - screenshot('a', driver: :vips) + screenshot("a", driver: :vips) end end end diff --git a/test/capybara/screenshot/diff_test.rb b/test/capybara/screenshot/diff_test.rb index bd4dd70b..3d5394aa 100644 --- a/test/capybara/screenshot/diff_test.rb +++ b/test/capybara/screenshot/diff_test.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -require 'test_helper' +require "test_helper" module Capybara module Screenshot @@ -20,37 +20,37 @@ def test_that_it_has_a_version_number def test_screenshot_groups_are_replaced assert_nil @screenshot_group - screenshot_group 'a' - assert_equal 'a', @screenshot_group - screenshot_group 'b' - assert_equal 'b', @screenshot_group + screenshot_group "a" + assert_equal "a", @screenshot_group + screenshot_group "b" + assert_equal "b", @screenshot_group end def test_screenshot_section_is_prepended assert_nil @screenshot_section assert_nil @screenshot_group - screenshot_section 'a' - assert_equal 'a', @screenshot_section + screenshot_section "a" + assert_equal "a", @screenshot_section assert_match %r{doc/screenshots/rack_test/(macos|linux)/a}, screenshot_dir - screenshot_group 'b' - assert_equal 'b', @screenshot_group + screenshot_group "b" + assert_equal "b", @screenshot_group assert_match %r{doc/screenshots/rack_test/(macos|linux)/a/b}, screenshot_dir - screenshot_group 'c' - assert_equal 'c', @screenshot_group + screenshot_group "c" + assert_equal "c", @screenshot_group assert_match %r{doc/screenshots/rack_test/(macos|linux)/a/c}, screenshot_dir end - test 'screenshot' do - screenshot_group 'screenshot' - screenshot 'a' + test "screenshot" do + screenshot_group "screenshot" + screenshot "a" end def test_screenshot_with_alternate_save_path default_path = Capybara::Screenshot.save_path - Capybara::Screenshot.save_path = 'foo/bar' - screenshot_section 'a' - screenshot_group 'b' - screenshot 'a' + Capybara::Screenshot.save_path = "foo/bar" + screenshot_section "a" + screenshot_group "b" + screenshot "a" assert_match %r{foo/bar/rack_test/(macos|linux)/a/b}, screenshot_dir ensure Capybara::Screenshot.save_path = default_path @@ -58,7 +58,7 @@ def test_screenshot_with_alternate_save_path def test_screenshot_with_stability_time_limit Capybara::Screenshot.stability_time_limit = 0.001 - screenshot 'a' + screenshot "a" ensure Capybara::Screenshot.stability_time_limit = nil end @@ -71,27 +71,27 @@ def test_screenshot_with_color_threshold FileUtils.mkdir_p(File.dirname(rev_filename)) a_img.save(rev_filename) - screenshot 'a', color_distance_limit: 3 + screenshot "a", color_distance_limit: 3 ensure File.delete(rev_filename) if File.exist?(rev_filename) end - test 'full_name' do - assert_equal 'a', full_name('a') - screenshot_group 'b' - assert_equal 'b/a', full_name('a') - screenshot_section 'c' - assert_equal 'c/b/a', full_name('a') + test "full_name" do + assert_equal "a", full_name("a") + screenshot_group "b" + assert_equal "b/a", full_name("a") + screenshot_section "c" + assert_equal "c/b/a", full_name("a") screenshot_group nil - assert_equal 'c/a', full_name('a') + assert_equal "c/a", full_name("a") end - test 'full_name allows symbol' do + test "full_name allows symbol" do screenshot_group :b - assert_equal 'b/a', full_name(:a) + assert_equal "b/a", full_name(:a) end - test 'detect available diff drivers on the loading' do + test "detect available diff drivers on the loading" do # NOTE for tests we are loading both drivers, so we expect that all of them are available assert_equal %i[vips chunky_png], Capybara::Screenshot::Diff::AVAILABLE_DRIVERS end diff --git a/test/test_helper.rb b/test/test_helper.rb index 63081d84..6bc76686 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -1,27 +1,27 @@ # frozen_string_literal: true -if ENV['COVERAGE'] && (RUBY_ENGINE != 'jruby' || org.jruby.RubyInstanceConfig.FULL_TRACE_ENABLED) - require 'simplecov' +if ENV["COVERAGE"] && (RUBY_ENGINE != "jruby" || org.jruby.RubyInstanceConfig.FULL_TRACE_ENABLED) + require "simplecov" SimpleCov.start - SimpleCov.minimum_coverage RUBY_ENGINE == 'jruby' ? 82.5 : 83.5 + SimpleCov.minimum_coverage RUBY_ENGINE == "jruby" ? 82.5 : 83.5 end -$LOAD_PATH.unshift File.expand_path('../lib', __dir__) +$LOAD_PATH.unshift File.expand_path("../lib", __dir__) -TEST_IMAGES_DIR = File.expand_path('images', __dir__) +TEST_IMAGES_DIR = File.expand_path("images", __dir__) module Rails def self.root - File.expand_path '../tmp', __dir__ + File.expand_path "../tmp", __dir__ end end -require 'capybara/screenshot/diff' -require 'minitest/autorun' -require 'capybara/minitest' +require "capybara/screenshot/diff" +require "minitest/autorun" +require "capybara/minitest" Capybara.threadsafe = true -Capybara.app = Rack::Builder.new { map('/') { run Rails.application } } +Capybara.app = Rack::Builder.new { map("/") { run Rails.application } } # TODO(uwe): Remove when we stop support for Rails 4.2 ActiveSupport.test_order = :random From 0198cbf6b871e9e5ba37086682bb7307b7cee58d Mon Sep 17 00:00:00 2001 From: Paul Keen <125715+pftg@users.noreply.github.com> Date: Thu, 3 Dec 2020 20:10:36 +0200 Subject: [PATCH 115/312] Migrates from Travis to Github Actions There is an issue with running a lot of tests on the Travis CI for free. It requires to buy credits. But GitHub Actions provides totally free plan. --- .github/workflows/test.yml | 58 ++++++++++++++++++++++++++++++++++++++ .standard.yml | 3 +- .travis.yml | 47 ------------------------------ 3 files changed, 60 insertions(+), 48 deletions(-) create mode 100644 .github/workflows/test.yml delete mode 100644 .travis.yml diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 00000000..134928ea --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,58 @@ +name: Test + +on: + push: + branches: [ $default-branch ] + pull_request: + +jobs: + lint: + name: Lint + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v2 + + - name: Set up Ruby + uses: ruby/setup-ruby@v1 + with: + ruby-version: '2.7.2' + bundler-cache: true + + - name: Install dependencies + run: bundle install + + - name: Run Standard Ruby linter + run: bin/standardrb + + test: + name: Tests + needs: lint + runs-on: ubuntu-20.04 + + strategy: + matrix: + ruby-version: [ '2.7', '2.6', '2.5', 'jruby' ] + gemfile: [ 'rails60_gems.rb', 'rails52.gemfile', 'rails51.gemfile', 'rails50.gemfile', 'rails42.gemfile' ] + + steps: + - name: Checkout code + uses: actions/checkout@v2 + + - name: Set up Ruby + uses: ruby/setup-ruby@v1 + env: + BUNDLE_GEMFILE: gemfiles/${{ matrix.gemfile }} + with: + ruby-version: ${{ matrix.ruby-version }} + bundler-cache: true + + - name: Install dependencies + run: bundle install + + - name: Install libvips + run: sudo apt install libvips libvips-dev libvips-tools + + - name: Run tests + run: bundle exec rake diff --git a/.standard.yml b/.standard.yml index 4398814a..806913b0 100644 --- a/.standard.yml +++ b/.standard.yml @@ -5,8 +5,9 @@ ruby_version: 2.5 # default: RUBY_VERSION default_ignores: false # default: true ignore: # default: [] - - 'gemfiles/vendor/**/*' - 'gemfiles/**/*': - Security/Eval + - 'gemfiles/vendor/**/*' - 'lib/**/*': - Lint/Debugger + - 'vendor/**/*' diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index e22fd293..00000000 --- a/.travis.yml +++ /dev/null @@ -1,47 +0,0 @@ -dist: focal -language: ruby -cache: bundler -addons: - apt: - update: true - packages: - - libvips - - libvips-dev - - libvips-tools - -stages: - - linter - - test - -rvm: - - ruby-2.7 - - ruby-2.6 - - ruby-2.5 - - jruby - - truffleruby - -gemfile: - - gemfiles/rails60_gems.rb - - gemfiles/rails52.gemfile - - gemfiles/rails51.gemfile - - gemfiles/rails50.gemfile - - gemfiles/rails42.gemfile - -env: - global: - - JRUBY_OPTS="--dev --debug" - - COVERAGE="enabled" - -jdk: openjdk14 - -jobs: - fast_finish: true - allow_failures: - - rvm: truffleruby - - include: - - stage: linter - name: Analyze Code by Linters - language: ruby - ruby: 2.7 - script: bin/standardrb From d457c7629224faabd5c6b617cf1e6d44999b2688 Mon Sep 17 00:00:00 2001 From: Paul Keen <125715+pftg@users.noreply.github.com> Date: Mon, 23 Nov 2020 14:30:42 +0200 Subject: [PATCH 116/312] Adds browser tests to verify integrations * Valdiates JavaScripts logic required for detecting loading state of the async elements, blur and hide carets * Allow to verify integrations with different capybara drivers * Allow to run browser tests in docker --- .github/workflows/test.yml | 45 ++++++++++-- Dockerfile | 23 ++++-- lib/capybara/screenshot/diff.rb | 8 ++- test/capybara/screenshot/diff_test.rb | 17 ++++- test/capybara/screenshot/screenshot_test.rb | 28 ++++++++ .../index-blur_active_element-disabled.png | Bin 0 -> 27553 bytes .../index-blur_active_element-enabled.png | Bin 0 -> 27045 bytes .../linux/index-hide_caret-disabled.png | Bin 0 -> 27553 bytes .../linux/index-hide_caret-enabled.png | Bin 0 -> 27230 bytes .../selenium_chrome_headless/linux/index.png | Bin 0 -> 25700 bytes .../index-blur_active_element-disabled.png | Bin 0 -> 26011 bytes .../index-blur_active_element-enabled.png | Bin 0 -> 25831 bytes .../macos/index-hide_caret-disabled.png | Bin 0 -> 26011 bytes .../macos/index-hide_caret-enabled.png | Bin 0 -> 26034 bytes .../selenium_chrome_headless/macos/index.png | Bin 0 -> 24475 bytes test/fixtures/app/image.png | Bin 0 -> 14886 bytes test/fixtures/app/index-changed.html | 5 ++ test/fixtures/app/index.html | 16 +++++ test/integration/browser_screenshot_test.rb | 68 ++++++++++++++++++ test/system_test_case.rb | 62 ++++++++++++++++ test/test_helper.rb | 17 +++-- 21 files changed, 267 insertions(+), 22 deletions(-) create mode 100644 test/capybara/screenshot/screenshot_test.rb create mode 100644 test/fixtures/app/doc/screenshots/selenium_chrome_headless/linux/index-blur_active_element-disabled.png create mode 100644 test/fixtures/app/doc/screenshots/selenium_chrome_headless/linux/index-blur_active_element-enabled.png create mode 100644 test/fixtures/app/doc/screenshots/selenium_chrome_headless/linux/index-hide_caret-disabled.png create mode 100644 test/fixtures/app/doc/screenshots/selenium_chrome_headless/linux/index-hide_caret-enabled.png create mode 100644 test/fixtures/app/doc/screenshots/selenium_chrome_headless/linux/index.png create mode 100644 test/fixtures/app/doc/screenshots/selenium_chrome_headless/macos/index-blur_active_element-disabled.png create mode 100644 test/fixtures/app/doc/screenshots/selenium_chrome_headless/macos/index-blur_active_element-enabled.png create mode 100644 test/fixtures/app/doc/screenshots/selenium_chrome_headless/macos/index-hide_caret-disabled.png create mode 100644 test/fixtures/app/doc/screenshots/selenium_chrome_headless/macos/index-hide_caret-enabled.png create mode 100644 test/fixtures/app/doc/screenshots/selenium_chrome_headless/macos/index.png create mode 100644 test/fixtures/app/image.png create mode 100644 test/fixtures/app/index-changed.html create mode 100644 test/fixtures/app/index.html create mode 100644 test/integration/browser_screenshot_test.rb create mode 100644 test/system_test_case.rb diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 134928ea..173e94ca 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -17,7 +17,7 @@ jobs: - name: Set up Ruby uses: ruby/setup-ruby@v1 with: - ruby-version: '2.7.2' + ruby-version: '2.7' bundler-cache: true - name: Install dependencies @@ -27,8 +27,45 @@ jobs: run: bin/standardrb test: - name: Tests - needs: lint + name: Functional Testing + runs-on: ubuntu-20.04 + + steps: + - name: Checkout code + uses: actions/checkout@v2 + + - name: Set up Ruby + uses: ruby/setup-ruby@v1 + with: + ruby-version: '2.7' + bundler-cache: true + + - name: Install dependencies + run: bundle install + + - name: Install libvips + run: sudo apt install libvips libvips-dev libvips-tools + + - name: Run Tests with coverage + run: bundle exec rake test + env: + COVERAGE: enabled + + - name: Upload Screenshots + if: ${{ always() }} + uses: actions/upload-artifact@v2 + with: + path: test/fixtures/app/doc/screenshots/ + + - name: Upload Coverage + uses: actions/upload-artifact@v2 + with: + name: coverage + path: coverage + + matrix: + name: Test Integration + needs: [ 'test', 'lint' ] runs-on: ubuntu-20.04 strategy: @@ -55,4 +92,4 @@ jobs: run: sudo apt install libvips libvips-dev libvips-tools - name: Run tests - run: bundle exec rake + run: bundle exec rake test diff --git a/Dockerfile b/Dockerfile index 9764e902..00ab718b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,9 +1,13 @@ -ARG RUBY_VERSION=2.7 +# Usage: +# +# $ docker build . -t csd +# $ docker run -v $(pwd):/app -ti csd rake test -FROM cimg/ruby:${RUBY_VERSION} +ARG RUBY_VERSION=2.7.2 -RUN \ +FROM circleci/ruby:2.7.2-node-browsers +RUN \ # Install dependencies sudo apt-get update && \ DEBIAN_FRONTEND=noninteractive sudo apt-get install -y \ @@ -35,11 +39,16 @@ RUN \ WORKDIR /app -ADD . /app/ +RUN sudo chmod a+w -R /app -RUN \ - bundle install && \ - sudo /app/bin/install-vips +ADD ./bin/install-vips /app/bin/ +RUN sudo /app/bin/install-vips + +ADD ./lib/capybara/screenshot/diff/version.rb /app/lib/capybara/screenshot/diff/ +ADD ./capybara-screenshot-diff.gemspec /app/ +ADD ./gems.rb /app/ + +RUN bundle install RUN \ # Clean up diff --git a/lib/capybara/screenshot/diff.rb b/lib/capybara/screenshot/diff.rb index 42603c34..7b347f63 100644 --- a/lib/capybara/screenshot/diff.rb +++ b/lib/capybara/screenshot/diff.rb @@ -14,13 +14,17 @@ module Screenshot mattr_accessor :blur_active_element mattr_accessor :enabled mattr_accessor :hide_caret - mattr_accessor(:root) { (defined?(Rails.root) && Rails.root) || File.expand_path(".") } + mattr_reader(:root) { (defined?(Rails.root) && Rails.root) || "." } mattr_accessor :stability_time_limit mattr_accessor :window_size mattr_accessor(:save_path) { "doc/screenshots" } mattr_accessor(:use_lfs) class << self + def root=(path) + @@root = Pathname(path).expand_path + end + def active? enabled || (enabled.nil? && Diff.enabled) end @@ -33,7 +37,7 @@ def screenshot_area end def screenshot_area_abs - "#{root}/#{screenshot_area}" + root / screenshot_area end end diff --git a/test/capybara/screenshot/diff_test.rb b/test/capybara/screenshot/diff_test.rb index 3d5394aa..29643317 100644 --- a/test/capybara/screenshot/diff_test.rb +++ b/test/capybara/screenshot/diff_test.rb @@ -5,15 +5,26 @@ module Capybara module Screenshot class DiffTest < ActionDispatch::IntegrationTest - include Capybara::Screenshot::Diff - include Diff::TestHelper - setup do + @orig_add_os_path = Capybara::Screenshot.add_os_path Capybara::Screenshot.add_os_path = true + + @orig_add_driver_path = Capybara::Screenshot.add_driver_path Capybara::Screenshot.add_driver_path = true + + @orig_window_size = Capybara::Screenshot.window_size Capybara::Screenshot.window_size = [80, 80] end + include Capybara::Screenshot::Diff + include Diff::TestHelper + + teardown do + Capybara::Screenshot.add_os_path = @orig_add_os_path + Capybara::Screenshot.add_driver_path = @orig_add_driver_path + Capybara::Screenshot.window_size = @orig_window_size + end + def test_that_it_has_a_version_number refute_nil ::Capybara::Screenshot::Diff::VERSION end diff --git a/test/capybara/screenshot/screenshot_test.rb b/test/capybara/screenshot/screenshot_test.rb new file mode 100644 index 00000000..cc242037 --- /dev/null +++ b/test/capybara/screenshot/screenshot_test.rb @@ -0,0 +1,28 @@ +# frozen_string_literal: true + +require "test_helper" +require "minitest/mock" + +module Capybara + class ScreenshotTest < ActionDispatch::IntegrationTest + def test_screenshot_area_abs_is_absolute + assert Capybara::Screenshot.screenshot_area_abs.absolute? + end + + def test_root_is_a_pathname + # NOTE: We test that Rails.root is Pathname, which is true. + assert_kind_of Pathname, Capybara::Screenshot.root + assert Capybara::Screenshot.root.absolute? + end + + def test_root_could_be_assigned_relative_path + @orig_root = Capybara::Screenshot.root + + Capybara::Screenshot.root = "." + assert_kind_of Pathname, Capybara::Screenshot.root + assert Capybara::Screenshot.root.absolute? + ensure + Capybara::Screenshot.root = @orig_root + end + end +end diff --git a/test/fixtures/app/doc/screenshots/selenium_chrome_headless/linux/index-blur_active_element-disabled.png b/test/fixtures/app/doc/screenshots/selenium_chrome_headless/linux/index-blur_active_element-disabled.png new file mode 100644 index 0000000000000000000000000000000000000000..8ea8d75a5e85e9f78e53a977b099348983fbc3e8 GIT binary patch literal 27553 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
y55GgPqBJ_|*) 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 literal 0 HcmV?d00001 diff --git a/test/fixtures/app/doc/screenshots/selenium_chrome_headless/linux/index-hide_caret-disabled.png b/test/fixtures/app/doc/screenshots/selenium_chrome_headless/linux/index-hide_caret-disabled.png new file mode 100644 index 0000000000000000000000000000000000000000..8ea8d75a5e85e9f78e53a977b099348983fbc3e8 GIT binary patch literal 27553 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 gDA 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%0DsG#$?6b&`$17 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 Ppmg29SieHg>5u;byVWW~ literal 0 HcmV?d00001 diff --git a/test/fixtures/app/image.png b/test/fixtures/app/image.png new file mode 100644 index 0000000000000000000000000000000000000000..7224843996b9b779ebc90c580234ed7e9614d135 GIT binary patch literal 14886 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

EvFc~2X4!iawK-E`$Fl`W0~Z3Xzj$ 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 + +

DIFFERENCE: No Image

+ + diff --git a/test/fixtures/app/index.html b/test/fixtures/app/index.html new file mode 100644 index 00000000..6bc13454 --- /dev/null +++ b/test/fixtures/app/index.html @@ -0,0 +1,16 @@ + + + +
+
+ + +
+ +
+ + +
+
+ + diff --git a/test/integration/browser_screenshot_test.rb b/test/integration/browser_screenshot_test.rb new file mode 100644 index 00000000..afccca77 --- /dev/null +++ b/test/integration/browser_screenshot_test.rb @@ -0,0 +1,68 @@ +require "system_test_case" + +class BrowserScreenshotTest < SystemTestCase + def test_screenshot_without_changes + visit '/' + screenshot 'index' + end + + def test_screenshot_with_changes + visit '/index-changed.html' + screenshot 'index' + assert_screenshot_error_for('index') + end + + def test_window_size_should_resize_browser_window_in_setup + assert_equal [800, 600], page.driver.browser.manage.window.size.to_a + end + + def test_screenshot_with_hide_caret_enabled + Capybara::Screenshot.hide_caret = true + + visit '/' + fill_in 'First Field:', with: 'Test Input With Hide Caret' + screenshot 'index-hide_caret-enabled' + ensure + Capybara::Screenshot.hide_caret = nil + end + + def test_screenshot_with_hide_caret_disabled + Capybara::Screenshot.hide_caret = false + + visit '/' + fill_in 'First Field:', with: 'Test Input Without Hide Caret' + screenshot 'index-hide_caret-disabled' + ensure + Capybara::Screenshot.hide_caret = nil + end + + def test_screenshot_with_blur_active_element_enabled + Capybara::Screenshot.blur_active_element = true + + visit '/' + fill_in 'First Field:', with: 'Test Input With Hide Caret' + screenshot 'index-blur_active_element-enabled' + ensure + Capybara::Screenshot.blur_active_element = nil + end + + def test_screenshot_with_blur_active_element_disabled + Capybara::Screenshot.blur_active_element = false + + visit '/' + fill_in 'First Field:', with: 'Test Input Without Hide Caret' + screenshot 'index-blur_active_element-disabled' + ensure + Capybara::Screenshot.blur_active_element = nil + end + + private + + def assert_screenshot_error_for(screenshot_name) + assert_equal 1, @test_screenshots.length, 'expecting to have just one difference' + assert_equal screenshot_name, @test_screenshots[0][1], 'index screenshot should have difference for changed page' + end + + #TODO: Add test for stability to await while image are loading + #TODO: Allow to run tests for browser which was selected by ENV: chrome, firefox, cuprite and other +end diff --git a/test/system_test_case.rb b/test/system_test_case.rb new file mode 100644 index 00000000..993311d0 --- /dev/null +++ b/test/system_test_case.rb @@ -0,0 +1,62 @@ +require 'test_helper' + +require 'webdrivers/chromedriver' +Webdrivers::Chromedriver.update + +class SystemTestCase < ActionDispatch::IntegrationTest + setup do + Capybara.current_driver = :selenium_chrome_headless + # TODO: Allow to test with different drivers by ENV + # Capybara.current_driver = :selenium_chrome + # Capybara.current_driver = :selenium + + # TODO: Reset original settings to previous values + @orig_root = Capybara::Screenshot.root + Capybara::Screenshot.root = '.' + @orig_save_path = Capybara::Screenshot.save_path + Capybara::Screenshot.save_path = 'test/fixtures/app/doc/screenshots' + Capybara::Screenshot.enabled = true + Capybara::Screenshot::Diff.enabled = true + + # TODO: Makes configurations copying and restoring much easier + + @orig_add_os_path = Capybara::Screenshot.add_os_path + Capybara::Screenshot.add_os_path = true + @orig_add_driver_path = Capybara::Screenshot.add_driver_path + Capybara::Screenshot.add_driver_path = true + # NOTE: Only works before `include Capybara::Screenshot::Diff` line + @orig_window_size = Capybara::Screenshot.window_size + Capybara::Screenshot.window_size = [800, 600] + + # NOTE: For small screenshots we should have pixel perfect comparisons + @orig_tolerance = Capybara::Screenshot::Diff.tolerance + Capybara::Screenshot::Diff.tolerance = nil + end + + include Capybara::Screenshot::Diff + + teardown do + if @test_screenshots + @test_screenshots.each(&method(:rollback_comparison_runtime_files)) + # NOTE: We clear tracked different errors in order to not raise error + @test_screenshots.clear + end + + # Restore to previous values + Capybara::Screenshot.root = @orig_root + Capybara::Screenshot.save_path = @orig_save_path + Capybara::Screenshot.add_os_path = @orig_add_os_path + Capybara::Screenshot.add_driver_path = @orig_add_driver_path + Capybara::Screenshot.window_size = @orig_window_size + Capybara::Screenshot::Diff.tolerance = @orig_tolerance + Capybara.current_driver = Capybara.default_driver + end + + private + + def rollback_comparison_runtime_files(screenshot_error) + screenshot_name, comparison = screenshot_error[1], screenshot_error[2] + restore_git_revision(screenshot_name, comparison.new_file_name) + comparison.driver.send(:clean_tmp_files) + end +end diff --git a/test/test_helper.rb b/test/test_helper.rb index 6bc76686..4c6dd5fb 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -6,22 +6,27 @@ SimpleCov.minimum_coverage RUBY_ENGINE == "jruby" ? 82.5 : 83.5 end -$LOAD_PATH.unshift File.expand_path("../lib", __dir__) - -TEST_IMAGES_DIR = File.expand_path("images", __dir__) - +# NOTE: Simulate Rails Environment module Rails def self.root - File.expand_path "../tmp", __dir__ + Pathname("../tmp").expand_path(__dir__) end end +$LOAD_PATH.unshift File.expand_path("../lib", __dir__) + +TEST_IMAGES_DIR = File.expand_path("images", __dir__) + require "capybara/screenshot/diff" require "minitest/autorun" require "capybara/minitest" +require 'capybara/dsl' Capybara.threadsafe = true -Capybara.app = Rack::Builder.new { map("/") { run Rails.application } } +Capybara.app = Rack::Builder.new do + use(Rack::Static, urls: [""], root: "test/fixtures/app", index: "index.html") + run ->(_env) { [200, {}, []] } +end.to_app # TODO(uwe): Remove when we stop support for Rails 4.2 ActiveSupport.test_order = :random From 20cee9cfd9f06eaf052a803c5b2bae20440ef02b Mon Sep 17 00:00:00 2001 From: Paul Keen <125715+pftg@users.noreply.github.com> Date: Fri, 4 Dec 2020 20:03:10 +0200 Subject: [PATCH 117/312] Adds git attributes for better diff --- .gitattributes | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 .gitattributes diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 00000000..04445ec6 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,4 @@ +*.gemspec diff=ruby +*.rake diff=ruby +*.rb diff=ruby +*.md diff=md From 4df1ad8d585dae53dc203fd5a95896cbc842dba1 Mon Sep 17 00:00:00 2001 From: Paul Keen <125715+pftg@users.noreply.github.com> Date: Sat, 5 Dec 2020 03:20:36 +0200 Subject: [PATCH 118/312] Extracts compare strategy from drivers to ImageCompare Removes duplications between drivers to run comparision and handle differences with error messages --- .../diff/drivers/chunky_png_driver.rb | 200 ++++++----------- .../screenshot/diff/drivers/vips_driver.rb | 206 ++++-------------- lib/capybara/screenshot/diff/image_compare.rb | 196 ++++++++++++++++- lib/capybara/screenshot/diff/stabilization.rb | 17 +- .../diff/drivers/chunky_png_driver_test.rb | 27 ++- .../diff/drivers/vips_driver_test.rb | 21 +- .../screenshot/diff/test_methods_test.rb | 4 +- test/integration/browser_screenshot_test.rb | 42 ++-- test/system_test_case.rb | 10 +- test/test_helper.rb | 3 +- 10 files changed, 378 insertions(+), 348 deletions(-) diff --git a/lib/capybara/screenshot/diff/drivers/chunky_png_driver.rb b/lib/capybara/screenshot/diff/drivers/chunky_png_driver.rb index 617b8bff..81f4448c 100644 --- a/lib/capybara/screenshot/diff/drivers/chunky_png_driver.rb +++ b/lib/capybara/screenshot/diff/drivers/chunky_png_driver.rb @@ -11,20 +11,14 @@ module Drivers class ChunkyPNGDriver include ChunkyPNG::Color - attr_reader :annotated_new_file_name, :annotated_old_file_name, :area_size_limit, - :color_distance_limit, :new_file_name, :old_file_name, :shift_distance_limit, - :skip_area + attr_reader :new_file_name, :old_file_name def initialize(new_file_name, old_file_name = nil, **options) @new_file_name = new_file_name @old_file_name = old_file_name || "#{new_file_name}~" - @annotated_old_file_name = "#{new_file_name.chomp(".png")}.committed.png" - @annotated_new_file_name = "#{new_file_name.chomp(".png")}.latest.png" @color_distance_limit = options[:color_distance_limit] - @area_size_limit = options[:area_size_limit] @shift_distance_limit = options[:shift_distance_limit] - @dimensions = options[:dimensions] @skip_area = options[:skip_area] reset @@ -35,87 +29,69 @@ def initialize(new_file_name, old_file_name = nil, **options) def reset @max_color_distance = @color_distance_limit ? 0 : nil @max_shift_distance = @shift_distance_limit ? 0 : nil - @left = @top = @right = @bottom = nil end - # Compare the two image files and return `true` or `false` as quickly as possible. - # Return falsish if the old file does not exist or the image dimensions do not match. - def quick_equal? - return nil unless old_file_exists? - return true if new_file_size == old_file_size + def load_images(old_file_name, new_file_name) + old_bytes, new_bytes = load_image_files(old_file_name, new_file_name) - old_bytes, new_bytes = load_image_files(@old_file_name, @new_file_name) - return true if old_bytes == new_bytes - - images = load_images(old_bytes, new_bytes) - crop_images(images, @dimensions) if @dimensions - - return false if sizes_changed?(*images) - return true if images.first.pixels == images.last.pixels + _load_images(old_bytes, new_bytes) + end - return false unless @color_distance_limit || @shift_distance_limit + def filter_image_with_median(_image) + raise NotImplementedError + end - @left, @top, @right, @bottom = find_top(*images) + def add_black_box(_image, _region) + # noop + end - return true if @top.nil? + def difference_level(_diff_mask, old_img, region) + size(region) / image_area_size(old_img) + end - if @area_size_limit - @left, @top, @right, @bottom = find_diff_rectangle(*images) - return true if size <= @area_size_limit - end + def image_area_size(old_img) + width_for(old_img) * height_for(old_img) + end + def shift_distance_equal? + # Stub false end - # Compare the two images referenced by this object, and return `true` if they are different, - # and `false` if they are the same. - # Return `nil` if the old file does not exist or if the image dimensions do not match. - def different? - return nil unless old_file_exists? - - old_file, new_file = load_image_files(@old_file_name, @new_file_name) - - return not_different if old_file == new_file - - images = load_images(old_file, new_file) - - crop_images(images, @dimensions) if @dimensions + def shift_distance_different? + # Stub + true + end - old_img = images.first - new_img = images.last + def find_difference_region(new_image, old_image, color_distance_limit, shift_distance_limit, area_size_limit, fast_fail: false) + return nil, nil if new_image.pixels == old_image.pixels - if sizes_changed?(old_img, new_img) - save_images(@annotated_new_file_name, new_img, @annotated_old_file_name, old_img) - @left = 0 - @top = 0 - @right = old_img.dimension.width - 1 - @bottom = old_img.dimension.height - 1 - return true + if fast_fail && !(color_distance_limit || shift_distance_limit || area_size_limit) + return [0, 0, width_for(new_image), height_for(new_image)], nil end - return not_different if old_img.pixels == new_img.pixels - - @left, @top, @right, @bottom = find_diff_rectangle(old_img, new_img) - - return not_different if @top.nil? - return not_different if @area_size_limit && size <= @area_size_limit + region = find_top(old_image, new_image) + region = if region.nil? || region[1].nil? + nil + else + find_diff_rectangle(old_image, new_image, region) + end - save_annotated_images(images) - true + [region, nil] end - def old_file_exists? - @old_file_name && File.exist?(@old_file_name) + def height_for(image) + image.height end - def dimensions - return unless @left || @top || @right || @bottom - - [@left, @top, @right, @bottom] + def width_for(image) + image.width end - def size - (@right - @left + 1) * (@bottom - @top + 1) + def size(region) + return 0 unless region + + (region[2] - region[0] + 1) * (region[3] - region[1] + 1) end def max_color_distance @@ -128,47 +104,30 @@ def max_shift_distance @max_shift_distance end - def error_message + def adds_error_details_to(log) max_color_distance = self.max_color_distance.ceil(1) max_shift_distance = self.max_shift_distance - "(area: #{size}px #{dimensions}" \ - ", max_color_distance: #{max_color_distance}" \ - "#{", max_shift_distance: #{max_shift_distance}" if max_shift_distance})\n" \ - "#{new_file_name}\n#{annotated_old_file_name}\n" \ - "#{annotated_new_file_name}" + log[:max_color_distance] = max_color_distance + log.merge!(max_shift_distance: max_shift_distance) if max_shift_distance end - private - - def old_file_size - @old_file_size ||= old_file_exists? && File.size(@old_file_name) + def crop(dimensions, i) + i.crop(0, 0, *dimensions) end - def new_file_size - File.size(@new_file_name) - end - - def save_annotated_images(images) - annotated_old_img, annotated_new_img = draw_rectangles(images, @bottom, @left, @right, @top) - - save_images( - @annotated_new_file_name, - annotated_new_img, - @annotated_old_file_name, - annotated_old_img - ) - end + # private def calculate_metrics old_file, new_file = load_image_files(@old_file_name, @new_file_name) + if old_file == new_file @max_color_distance = 0 @max_shift_distance = 0 return end - old_image, new_image = load_images(old_file, new_file) + old_image, new_image = _load_images(old_file, new_file) calculate_max_color_distance(new_image, old_image) calculate_max_shift_limit(new_image, old_image) end @@ -196,25 +155,8 @@ def calculate_max_shift_limit(new_img, old_img) end end - def not_different - clean_tmp_files - false - end - - def save_images(new_file_name, new_img, org_file_name, org_img) - org_img.save(org_file_name) - new_img.save(new_file_name) - end - - def clean_tmp_files - FileUtils.cp @old_file_name, @new_file_name - File.delete(@old_file_name) if File.exist?(@old_file_name) - File.delete(@annotated_old_file_name) if File.exist?(@annotated_old_file_name) - File.delete(@annotated_new_file_name) if File.exist?(@annotated_new_file_name) - end - - def load_images(old_file, new_file) - [ChunkyPNG::Image.from_blob(old_file), ChunkyPNG::Image.from_blob(new_file)] + def save_image_to(image, filename) + image.save(filename) end def load_image_files(old_file_name, file_name) @@ -223,25 +165,15 @@ def load_image_files(old_file_name, file_name) [old_file, new_file] end - def sizes_changed?(org_image, new_image) - return unless org_image.dimension != new_image.dimension + def dimension_changed?(old_image, new_image) + return unless old_image.dimension != new_image.dimension - change_msg = [org_image, new_image].map { |i| "#{i.width}x#{i.height}" }.join(" => ") + change_msg = [old_image, new_image].map { |i| "#{i.width}x#{i.height}" }.join(" => ") warn "Image size has changed for #{@new_file_name}: #{change_msg}" true end - def crop_images(images, dimensions) - images.map! do |i| - if i.dimension.to_a == dimensions || i.width < dimensions[0] || i.height < dimensions[1] - i - else - i.crop(0, 0, *dimensions) - end - end - end - - def draw_rectangles(images, bottom, left, right, top) + def draw_rectangles(images, left, top, right, bottom) images.map do |image| new_img = image.dup new_img.rect(left - 1, top - 1, right + 1, bottom + 1, ChunkyPNG::Color.rgb(255, 0, 0)) @@ -249,8 +181,10 @@ def draw_rectangles(images, bottom, left, right, top) end end - def find_diff_rectangle(org_img, new_img) - left, top, right, bottom = find_left_right_and_top(org_img, new_img) + private + + def find_diff_rectangle(org_img, new_img, region) + left, top, right, bottom = find_left_right_and_top(org_img, new_img, region) bottom = find_bottom(org_img, new_img, left, right, bottom) [left, top, right, bottom] end @@ -264,11 +198,11 @@ def find_top(old_img, new_img) nil end - def find_left_right_and_top(old_img, new_img) - top = @top - bottom = @bottom - left = @left || old_img.width - 1 - right = @right || 0 + def find_left_right_and_top(old_img, new_img, region) + left = region[0] || old_img.width - 1 + top = region[1] + bottom = region[2] + right = region[3] || 0 old_img.height.times do |y| (0...left).find do |x| next if same_color?(old_img, new_img, x, y) @@ -402,6 +336,10 @@ def color_matches(new_img, org_color, x, y, color_distance_limit) color_distance = ChunkyPNG::Color.euclidean_distance_rgba(org_color, new_color) color_distance <= color_distance_limit end + + def _load_images(old_file, new_file) + [ChunkyPNG::Image.from_blob(old_file), ChunkyPNG::Image.from_blob(new_file)] + end end end end diff --git a/lib/capybara/screenshot/diff/drivers/vips_driver.rb b/lib/capybara/screenshot/diff/drivers/vips_driver.rb index 7eada1cf..80542b71 100644 --- a/lib/capybara/screenshot/diff/drivers/vips_driver.rb +++ b/lib/capybara/screenshot/diff/drivers/vips_driver.rb @@ -16,23 +16,13 @@ module Diff # range considering color values and difference area size. module Drivers class VipsDriver - attr_reader :annotated_new_file_name, :annotated_old_file_name, :area_size_limit, - :color_distance_limit, :new_file_name, :old_file_name, :shift_distance_limit, - :skip_area, :tolerance + attr_reader :new_file_name, :old_file_name, :options def initialize(new_file_name, old_file_name = nil, **options) @new_file_name = new_file_name @old_file_name = old_file_name || "#{new_file_name}~" - @annotated_old_file_name = "#{new_file_name.chomp(".png")}.committed.png" - @annotated_new_file_name = "#{new_file_name.chomp(".png")}.latest.png" - @color_distance_limit = options[:color_distance_limit] || 0 - @area_size_limit = options[:area_size_limit] - @shift_distance_limit = options[:shift_distance_limit] - @dimensions = options[:dimensions] - @skip_area = options[:skip_area] - @tolerance = options[:tolerance] - @median_filter_window_size = options[:median_filter_window_size] + @options = options || {} reset end @@ -40,146 +30,63 @@ def initialize(new_file_name, old_file_name = nil, **options) # Resets the calculated data about the comparison with regard to the "new_image". # Data about the original image is kept. def reset - self.difference_region = nil end - # Compare the two image files and return `true` or `false` as quickly as possible. - # Return falsish if the old file does not exist or the image dimensions do not match. - def quick_equal? - return nil unless old_file_exists? - - old_image, new_image = preprocess_images vips_load_images(@old_file_name, @new_file_name) - - return false if dimension_changed?(old_image, new_image) - - diff_mask = VipsUtil.difference_mask(@color_distance_limit, old_image, new_image) - self.difference_region = VipsUtil.difference_region_by(diff_mask) - - return true if difference_region_empty?(new_image) - - return true if @area_size_limit && size <= @area_size_limit - - return true if @tolerance && @tolerance >= difference_level(diff_mask, old_image) - - # TODO: Remove this or find similar solution for vips - if @shift_distance_limit - warn "[capybara-screenshot-diff] Instead of shift_distance_limit " \ + def shift_distance_equal? + warn "[capybara-screenshot-diff] Instead of shift_distance_limit " \ "please use median_filter_window_size and color_distance_limit options" - return true if chunky_png_driver.quick_equal? - end - - false + chunky_png_comparator.quick_equal? end - # Compare the two images referenced by this object, and return `true` if they are different, - # and `false` if they are the same. - # Return `nil` if the old file does not exist or if the image dimensions do not match. - def different? - return nil unless old_file_exists? - - images = vips_load_images(@old_file_name, @new_file_name) - - old_img, new_img = preprocess_images(images) - - if dimension_changed?(old_img, new_img) - save(new_img, old_img) - - self.difference_region = 0, 0, width_for(old_img), height_for(old_img) - - return true - end - - diff_mask = VipsUtil.difference_mask(@color_distance_limit, old_img, new_img) - self.difference_region = VipsUtil.difference_region_by(diff_mask) - - return not_different if difference_region_empty?(old_img) - return not_different if @area_size_limit && size <= @area_size_limit - return not_different if @tolerance && @tolerance > difference_level(diff_mask, old_img) - - # TODO: Remove this or find similar solution for vips - if @shift_distance_limit - warn "[capybara-screenshot-diff] Instead of shift_distance_limit " \ + def shift_distance_different? + warn "[capybara-screenshot-diff] Instead of shift_distance_limit " \ "please use median_filter_window_size and color_distance_limit options" - return not_different unless chunky_png_driver.different? - end + chunky_png_comparator.different? + end - annotate_and_save(images) + def find_difference_region(new_image, old_image, color_distance_limit, _shift_distance_limit, _area_size_limit, fast_fail: false) + diff_mask = VipsUtil.difference_mask(color_distance_limit, old_image, new_image) + region = VipsUtil.difference_region_by(diff_mask) - true + [region, diff_mask] end - def old_file_exists? - @old_file_name && File.exist?(@old_file_name) + def size(region) + return 0 unless region + + (region[2] - region[0]) * (region[3] - region[1]) end - def dimensions - difference_region + def adds_error_details_to(_log) end - def size - return 0 unless dimensions + # old private - (@right - @left) * (@bottom - @top) + def inscribed?(dimensions, i) + dimension(i) == dimensions || i.width < dimensions[0] || i.height < dimensions[1] end - def error_message - "(area: #{size}px #{dimensions})\n" \ - "#{new_file_name}\n#{annotated_old_file_name}\n" \ - "#{annotated_new_file_name}" + def crop(dimensions, i) + i.crop(0, 0, *dimensions) end - private - - def difference_region - return nil unless @left || @top || @right || @bottom - - [@left, @top, @right, @bottom] + def filter_image_with_median(image, median_filter_window_size) + image.median(median_filter_window_size) end - def difference_region=(region) - @left, @top, @right, @bottom = region + def add_black_box(memo, region) + memo.draw_rect([0, 0, 0, 0], *region, fill: true) end - def chunky_png_driver - @chunky_png_driver ||= ChunkyPNGDriver.new( + def chunky_png_comparator + @chunky_png_comparator ||= ImageCompare.new( @new_file_name, @old_file_name, - dimensions: @dimensions, - color_distance_limit: @color_distance_limit, - area_size_limit: @area_size_limit, - shift_distance_limit: @shift_distance_limit, - skip_area: @skip_area + @options.merge(driver: :chunky_png, tolerance: nil, median_filter_window_size: nil) ) end - def difference_region_empty?(old_img) - difference_region.nil? || - (@top == height_for(old_img) && @left == width_for(old_img) && @right.zero? && @bottom.zero?) - end - - def preprocess_images(images) - # TODO: Run preprocesses for new files only - crop_images(images, @dimensions) if @dimensions - - old_img = preprocess_image(images.first) - new_img = preprocess_image(images.last) - - [old_img, new_img] - end - - def preprocess_image(image) - result = @median_filter_window_size ? image.median(@median_filter_window_size) : image - - if @skip_area - result = @skip_area.reduce(result) { |memo, region| - memo.draw_rect([0, 0, 0, 0], *region, fill: true) - } - end - - result - end - - def difference_level(diff_mask, old_img) + def difference_level(diff_mask, old_img, _region = nil) VipsUtil.difference_area_size_by(diff_mask).to_f / image_area_size(old_img) end @@ -187,10 +94,6 @@ def image_area_size(old_img) width_for(old_img) * height_for(old_img) end - def equal_by_pixels(new_img, old_img) - old_img.to_a == new_img.to_a - end - def height_for(image) image.height end @@ -199,39 +102,16 @@ def width_for(image) image.width end - def annotate_and_save(images) - annotated_old_img, annotated_new_img = draw_rectangles(images, *difference_region) - - save(annotated_new_img, annotated_old_img) - end - - def save(annotated_new_img, annotated_old_img) - annotated_new_img.write_to_file(@annotated_new_file_name) - annotated_old_img.write_to_file(@annotated_old_file_name) - end - - def pixels(old_image) - old_image.to_a - end - - def not_different - clean_tmp_files - false - end - - def clean_tmp_files - FileUtils.cp @old_file_name, @new_file_name if old_file_exists? - File.delete(@old_file_name) if old_file_exists? - File.delete(@annotated_old_file_name) if File.exist?(@annotated_old_file_name) - File.delete(@annotated_new_file_name) if File.exist?(@annotated_new_file_name) + def save_image_to(image, filename) + image.write_to_file(filename) end - def vips_load_images(old_file_name, new_file_name) - [from_file(old_file_name), from_file(new_file_name)] + def load_images(old_file_name, new_file_name, driver = self) + [driver.from_file(old_file_name), driver.from_file(new_file_name)] end - def from_file(old_file_name) - result = ::Vips::Image.new_from_file(old_file_name) + def from_file(filename) + result = ::Vips::Image.new_from_file(filename) result = result.colourspace("srgb") if result.bands < 3 result = result.bandjoin(255) if result.bands == 3 @@ -240,7 +120,7 @@ def from_file(old_file_name) end def dimension_changed?(org_image, new_image) - return unless dimension(org_image) != dimension(new_image) + return false if dimension(org_image) == dimension(new_image) change_msg = [org_image, new_image].map { |i| "#{i.width}x#{i.height}" }.join(" => ") warn "Image size has changed for #{@new_file_name}: #{change_msg}" @@ -252,16 +132,6 @@ def dimension(image) [image.width, image.height] end - def crop_images(images, dimensions) - images.map! do |i| - if dimension(i) == dimensions || i.width < dimensions[0] || i.height < dimensions[1] - i - else - i.crop(0, 0, *dimensions) - end - end - end - RED_INK = [255, 0, 0, 255].freeze def draw_rectangles(images, left, top, right, bottom) diff --git a/lib/capybara/screenshot/diff/image_compare.rb b/lib/capybara/screenshot/diff/image_compare.rb index b6edf40a..29d40a82 100644 --- a/lib/capybara/screenshot/diff/image_compare.rb +++ b/lib/capybara/screenshot/diff/image_compare.rb @@ -10,15 +10,151 @@ module Diff class ImageCompare < SimpleDelegator attr_reader :driver, :driver_options + attr_reader :annotated_new_file_name, :annotated_old_file_name, :area_size_limit, + :color_distance_limit, :new_file_name, :old_file_name, :shift_distance_limit, + :skip_area + def initialize(new_file_name, old_file_name = nil, **driver_options) + @new_file_name = new_file_name + @old_file_name = old_file_name || "#{new_file_name}~" + @annotated_old_file_name = "#{new_file_name.chomp(".png")}.committed.png" + @annotated_new_file_name = "#{new_file_name.chomp(".png")}.latest.png" + @driver_options = driver_options - driver_klass = find_driver_class_for(driver_options.fetch(:driver, :chunky_png)) - @driver = driver_klass.new(new_file_name, old_file_name, **driver_options) + @color_distance_limit = driver_options[:color_distance_limit] || 0 + @area_size_limit = driver_options[:area_size_limit] + @shift_distance_limit = driver_options[:shift_distance_limit] + @dimensions = driver_options[:dimensions] + @skip_area = driver_options[:skip_area] + @tolerance = driver_options[:tolerance] + @median_filter_window_size = driver_options[:median_filter_window_size] + + driver_klass = find_driver_class_for(@driver_options.fetch(:driver, :chunky_png)) + @driver = driver_klass.new(@new_file_name, @old_file_name, **@driver_options) super(@driver) end + # Compare the two image files and return `true` or `false` as quickly as possible. + # Return falsish if the old file does not exist or the image dimensions do not match. + def quick_equal? + return false unless old_file_exists? + return true if new_file_size == old_file_size + + # old_bytes, new_bytes = load_image_files(@old_file_name, @new_file_name) + # return true if old_bytes == new_bytes + + images = driver.load_images(@old_file_name, @new_file_name) + old_image, new_image = preprocess_images(images, driver) + + return false if driver.dimension_changed?(old_image, new_image) + + region, meta = driver.find_difference_region( + new_image, + old_image, + @color_distance_limit, + @shift_distance_limit, + @area_size_limit, + fast_fail: true + ) + + self.difference_region = region + + return true if difference_region_empty?(new_image, region) + + return true if @area_size_limit && driver.size(region) <= @area_size_limit + + return true if @tolerance && @tolerance >= driver.difference_level(meta, old_image, region) + + # TODO: Remove this or find similar solution for vips + return true if @shift_distance_limit && driver.shift_distance_equal? + + false + end + + # Compare the two images referenced by this object, and return `true` if they are different, + # and `false` if they are the same. + # Return `nil` if the old file does not exist or if the image dimensions do not match. + def different? + return nil unless old_file_exists? + + images = driver.load_images(@old_file_name, @new_file_name) + + old_image, new_image = preprocess_images(images, driver) + + if driver.dimension_changed?(old_image, new_image) + save(new_image, old_image, @annotated_new_file_name, @annotated_old_file_name) + + self.difference_region = 0, 0, driver.width_for(old_image), driver.height_for(old_image) + + return true + end + + region, meta = driver.find_difference_region( + new_image, + old_image, + @color_distance_limit, + @shift_distance_limit, + @area_size_limit + ) + self.difference_region = region + + return not_different if difference_region_empty?(old_image, region) + return not_different if @area_size_limit && driver.size(region) <= @area_size_limit + return not_different if @tolerance && @tolerance > driver.difference_level(meta, old_image, region) + + # TODO: Remove this or find similar solution for vips + return not_different if @shift_distance_limit && !driver.shift_distance_different? + + annotate_and_save(images, region) + + true + end + + def clean_tmp_files + FileUtils.cp @old_file_name, @new_file_name if old_file_exists? + File.delete(@old_file_name) if old_file_exists? + File.delete(@annotated_old_file_name) if File.exist?(@annotated_old_file_name) + File.delete(@annotated_new_file_name) if File.exist?(@annotated_new_file_name) + end + + def annotate_and_save(images, region = difference_region) + annotated_old_img, annotated_new_img = driver.draw_rectangles(images, *region) + save(annotated_new_img, annotated_old_img, @annotated_new_file_name, @annotated_old_file_name) + end + + def save(new_img, old_img, annotated_new_file_name, annotated_old_file_name) + driver.save_image_to(old_img, annotated_old_file_name) + driver.save_image_to(new_img, annotated_new_file_name) + end + + def old_file_exists? + @old_file_name && File.exist?(@old_file_name) + end + + def reset + self.difference_region = nil + driver.reset + end + + def error_message + result = { + area_size: driver.size(difference_region), + region: difference_region + } + + driver.adds_error_details_to(result) + + ["(#{result.to_json})", new_file_name, annotated_old_file_name, annotated_new_file_name].join("\n") + end + + def difference_region + return nil unless @left || @top || @right || @bottom + + [@left, @top, @right, @bottom] + end + private def find_driver_class_for(driver) @@ -36,6 +172,62 @@ def find_driver_class_for(driver) fail "Wrong adapter #{driver.inspect}. Available adapters: #{AVAILABLE_DRIVERS.inspect}" end end + + def old_file_size + @old_file_size ||= old_file_exists? && File.size(@old_file_name) + end + + def new_file_size + File.size(@new_file_name) + end + + def not_different + clean_tmp_files + false + end + + def load_images(old_file_name, new_file_name, driver = self) + [driver.from_file(old_file_name), driver.from_file(new_file_name)] + end + + def preprocess_images(images, driver = self) + old_img = preprocess_image(images.first, driver) + new_img = preprocess_image(images.last, driver) + + [old_img, new_img] + end + + def preprocess_image(image, driver = self) + result = image + + if @dimensions && driver.inscribed?(@dimensions, result) + result = driver.crop(@dimensions, result) + end + + if @median_filter_window_size + result = driver.filter_image_with_median(image, @median_filter_window_size) + end + + if @skip_area + result = @skip_area.reduce(result) { |image, region| driver.add_black_box(image, region) } + end + + result + end + + def difference_region=(region) + @left, @top, @right, @bottom = region + end + + def difference_region_empty?(new_image, region) + region.nil? || + ( + region[1] == height_for(new_image) && + region[0] == width_for(new_image) && + region[2].zero? && + region[3].zero? + ) + end end end end diff --git a/lib/capybara/screenshot/diff/stabilization.rb b/lib/capybara/screenshot/diff/stabilization.rb index 9cdfd11c..976f00a1 100644 --- a/lib/capybara/screenshot/diff/stabilization.rb +++ b/lib/capybara/screenshot/diff/stabilization.rb @@ -52,7 +52,7 @@ def take_stable_screenshot(comparison, stability_time_limit:, wait:) previous_file_name = "#{comparison.new_file_name.chomp(".png")}" \ "_x#{format("%02i", i)}_#{(Time.now - screenshot_started_at).round(1)}s" \ - "_#{stabilization_comparison.dimensions&.to_s&.gsub(", ", "_") || :initial}.png~" + "_#{stabilization_comparison.difference_region&.to_s&.gsub(", ", "_") || :initial}.png~" FileUtils.mv comparison.new_file_name, previous_file_name check_max_wait_time( @@ -63,6 +63,14 @@ def take_stable_screenshot(comparison, stability_time_limit:, wait:) end end + def notice_how_to_avoid_this + unless @_csd_retina_warned + warn "Halving retina screenshot. " \ + 'You should add "force-device-scale-factor=1" to your Chrome chromeOptions args.' + @_csd_retina_warned = true + end + end + private def make_stabilization_comparison_from(comparison, new_file_name, previous_file_name) @@ -76,11 +84,8 @@ def reduce_retina_image_size(file_name) width = Capybara::Screenshot.window_size[0] return if saved_image.width < width * 2 - unless @_csd_retina_warned - warn "Halving retina screenshot. " \ - 'You should add "force-device-scale-factor=1" to your Chrome chromeOptions args.' - @_csd_retina_warned = true - end + notice_how_to_avoid_this + height = (width * saved_image.height) / saved_image.width resized_image = saved_image.resample_bilinear(width, height) resized_image.save(file_name) diff --git a/test/capybara/screenshot/diff/drivers/chunky_png_driver_test.rb b/test/capybara/screenshot/diff/drivers/chunky_png_driver_test.rb index 52d082aa..6369b16b 100644 --- a/test/capybara/screenshot/diff/drivers/chunky_png_driver_test.rb +++ b/test/capybara/screenshot/diff/drivers/chunky_png_driver_test.rb @@ -1,6 +1,8 @@ # frozen_string_literal: true require "test_helper" +require "capybara/screenshot/diff/image_compare" +require "capybara/screenshot/diff/drivers/chunky_png_driver" module Capybara module Screenshot @@ -30,7 +32,7 @@ class ChunkyPNGDriverTest < ActionDispatch::IntegrationTest test "compare then dimensions and cleanup" do comp = make_comparison(:a, :c) assert comp.different? - assert_equal [11, 3, 48, 20], comp.dimensions + assert_equal [11, 3, 48, 20], comp.difference_region assert File.exist?(comp.old_file_name) assert File.exist?(comp.annotated_old_file_name) assert File.exist?(comp.annotated_new_file_name) @@ -44,7 +46,7 @@ class ChunkyPNGDriverTest < ActionDispatch::IntegrationTest test "compare of 1 pixel wide diff" do comp = make_comparison(:a, :d) assert comp.different? - assert_equal [9, 6, 9, 13], comp.dimensions + assert_equal [9, 6, 9, 13], comp.difference_region end test "compare with color_distance_limit above difference" do @@ -71,9 +73,9 @@ class ChunkyPNGDriverTest < ActionDispatch::IntegrationTest assert_equal 11, comp.max_shift_distance.ceil end - test "quick_equal" do - comp = make_comparison(:a, :b) - assert !comp.quick_equal? + test "quick_equal with color distance limit above max color distance" do + comp = make_comparison(:a, :b, color_distance_limit: 224) + assert comp.quick_equal? assert_equal 223, comp.max_color_distance.ceil end @@ -112,16 +114,27 @@ class ChunkyPNGDriverTest < ActionDispatch::IntegrationTest test "size a vs a_cropped" do comp = make_comparison(:a, :a_cropped) comp.different? - assert_equal 6400, comp.size + assert_equal 6561, comp.size(comp.difference_region) + end + + # Test Interface Contracts + + test "size requires region" do + driver = ChunkyPNGDriver.new("#{Rails.root}/screenshot.png") + assert driver.size(sample_region) end private def make_comparison(old_img, new_img, **options) - comp = ChunkyPNGDriver.new("#{Rails.root}/screenshot.png", **options) + comp = ImageCompare.new("#{Rails.root}/screenshot.png", **options.merge(driver: :chunky_png)) set_test_images(comp, old_img, new_img) comp end + + def sample_region + [0, 0, 0, 0] + end end end end diff --git a/test/capybara/screenshot/diff/drivers/vips_driver_test.rb b/test/capybara/screenshot/diff/drivers/vips_driver_test.rb index 6d9e7c65..f9b0a1b3 100644 --- a/test/capybara/screenshot/diff/drivers/vips_driver_test.rb +++ b/test/capybara/screenshot/diff/drivers/vips_driver_test.rb @@ -43,7 +43,7 @@ class VipsDriverTest < ActionDispatch::IntegrationTest test "when different does not clean runtime files" do comp = make_comparison(:a, :c) assert comp.different? - assert_equal [11.0, 3.0, 49.0, 21.0], comp.dimensions + assert_equal [11.0, 3.0, 49.0, 21.0], comp.difference_region assert File.exist?(comp.old_file_name) assert File.exist?(comp.annotated_old_file_name) assert File.exist?(comp.annotated_new_file_name) @@ -60,7 +60,7 @@ class VipsDriverTest < ActionDispatch::IntegrationTest test "compare of 1 pixel wide diff" do comp = make_comparison(:a, :d) assert comp.different? - assert_equal [9.0, 6.0, 10.0, 14.0], comp.dimensions + assert_equal [9.0, 6.0, 10.0, 14.0], comp.difference_region end test "compare with color_distance_limit above difference" do @@ -97,7 +97,7 @@ class VipsDriverTest < ActionDispatch::IntegrationTest end test "different with shift_distance_limit above difference" do - comp = make_comparison(:a, :d, shift_distance_limit: 11) + comp = make_comparison(:a, :d, shift_distance_limit: 20) assert_not comp.different? end @@ -129,7 +129,7 @@ class VipsDriverTest < ActionDispatch::IntegrationTest test "size a vs a_cropped" do comp = make_comparison(:a, :a_cropped) comp.different? - assert_equal 6400, comp.size + assert_equal 6400, comp.size(comp.difference_region) end test "quick_equal compare skips difference if skip_area covers it" do @@ -144,13 +144,24 @@ class VipsDriverTest < ActionDispatch::IntegrationTest assert comp.different? end + # Test Interface Contracts + + test "size requires region" do + driver = VipsDriver.new("#{Rails.root}/screenshot.png") + assert driver.size(sample_region) + end + private def make_comparison(old_img, new_img, **driver_args) - result = VipsDriver.new(@new_screenshot_result.path, **driver_args) + result = ImageCompare.new(@new_screenshot_result.path, **driver_args.merge(driver: :vips)) set_test_images(result, old_img, new_img) result end + + def sample_region + [0, 0, 0, 0] + end end class VipsUtilTest < ActiveSupport::TestCase diff --git a/test/capybara/screenshot/diff/test_methods_test.rb b/test/capybara/screenshot/diff/test_methods_test.rb index a17be092..18b3a074 100644 --- a/test/capybara/screenshot/diff/test_methods_test.rb +++ b/test/capybara/screenshot/diff/test_methods_test.rb @@ -13,7 +13,7 @@ def test_assert_image_not_changed message = assert_image_not_changed("caller", "name", make_comparison(:a, :c)) value = RUBY_VERSION >= "2.4" ? 187.4 : 188 assert_equal <<-MSG.strip_heredoc.chomp, message - Screenshot does not match for 'name' (area: 684px [11, 3, 48, 20], max_color_distance: #{value}) + Screenshot does not match for 'name' ({"area_size":684,"region":[11,3,48,20],"max_color_distance":#{value}}) #{Rails.root}/screenshot.png #{Rails.root}/screenshot.committed.png #{Rails.root}/screenshot.latest.png @@ -26,7 +26,7 @@ def test_assert_image_not_changed_with_shift_distance_limit assert_image_not_changed("caller", "name", make_comparison(:a, :c, shift_distance_limit: 1)) value = RUBY_VERSION >= "2.4" ? 5.0 : 5 assert_equal <<-MSG.strip_heredoc.chomp, message - Screenshot does not match for 'name' (area: 684px [11, 3, 48, 20], max_color_distance: #{value}, max_shift_distance: 15) + Screenshot does not match for 'name' ({"area_size":684,"region":[11,3,48,20],"max_color_distance":#{value},"max_shift_distance":15}) #{Rails.root}/screenshot.png #{Rails.root}/screenshot.committed.png #{Rails.root}/screenshot.latest.png diff --git a/test/integration/browser_screenshot_test.rb b/test/integration/browser_screenshot_test.rb index afccca77..90ccbb6e 100644 --- a/test/integration/browser_screenshot_test.rb +++ b/test/integration/browser_screenshot_test.rb @@ -2,14 +2,14 @@ class BrowserScreenshotTest < SystemTestCase def test_screenshot_without_changes - visit '/' - screenshot 'index' + visit "/" + screenshot "index" end def test_screenshot_with_changes - visit '/index-changed.html' - screenshot 'index' - assert_screenshot_error_for('index') + visit "/index-changed.html" + screenshot "index" + assert_screenshot_error_for("index") end def test_window_size_should_resize_browser_window_in_setup @@ -19,9 +19,9 @@ def test_window_size_should_resize_browser_window_in_setup def test_screenshot_with_hide_caret_enabled Capybara::Screenshot.hide_caret = true - visit '/' - fill_in 'First Field:', with: 'Test Input With Hide Caret' - screenshot 'index-hide_caret-enabled' + visit "/" + fill_in "First Field:", with: "Test Input With Hide Caret" + screenshot "index-hide_caret-enabled" ensure Capybara::Screenshot.hide_caret = nil end @@ -29,9 +29,9 @@ def test_screenshot_with_hide_caret_enabled def test_screenshot_with_hide_caret_disabled Capybara::Screenshot.hide_caret = false - visit '/' - fill_in 'First Field:', with: 'Test Input Without Hide Caret' - screenshot 'index-hide_caret-disabled' + visit "/" + fill_in "First Field:", with: "Test Input Without Hide Caret" + screenshot "index-hide_caret-disabled" ensure Capybara::Screenshot.hide_caret = nil end @@ -39,9 +39,9 @@ def test_screenshot_with_hide_caret_disabled def test_screenshot_with_blur_active_element_enabled Capybara::Screenshot.blur_active_element = true - visit '/' - fill_in 'First Field:', with: 'Test Input With Hide Caret' - screenshot 'index-blur_active_element-enabled' + visit "/" + fill_in "First Field:", with: "Test Input With Hide Caret" + screenshot "index-blur_active_element-enabled" ensure Capybara::Screenshot.blur_active_element = nil end @@ -49,9 +49,9 @@ def test_screenshot_with_blur_active_element_enabled def test_screenshot_with_blur_active_element_disabled Capybara::Screenshot.blur_active_element = false - visit '/' - fill_in 'First Field:', with: 'Test Input Without Hide Caret' - screenshot 'index-blur_active_element-disabled' + visit "/" + fill_in "First Field:", with: "Test Input Without Hide Caret" + screenshot "index-blur_active_element-disabled" ensure Capybara::Screenshot.blur_active_element = nil end @@ -59,10 +59,10 @@ def test_screenshot_with_blur_active_element_disabled private def assert_screenshot_error_for(screenshot_name) - assert_equal 1, @test_screenshots.length, 'expecting to have just one difference' - assert_equal screenshot_name, @test_screenshots[0][1], 'index screenshot should have difference for changed page' + assert_equal 1, @test_screenshots.length, "expecting to have just one difference" + assert_equal screenshot_name, @test_screenshots[0][1], "index screenshot should have difference for changed page" end - #TODO: Add test for stability to await while image are loading - #TODO: Allow to run tests for browser which was selected by ENV: chrome, firefox, cuprite and other + # TODO: Add test for stability to await while image are loading + # TODO: Allow to run tests for browser which was selected by ENV: chrome, firefox, cuprite and other end diff --git a/test/system_test_case.rb b/test/system_test_case.rb index 993311d0..fdbe4040 100644 --- a/test/system_test_case.rb +++ b/test/system_test_case.rb @@ -1,6 +1,6 @@ -require 'test_helper' +require "test_helper" -require 'webdrivers/chromedriver' +require "webdrivers/chromedriver" Webdrivers::Chromedriver.update class SystemTestCase < ActionDispatch::IntegrationTest @@ -12,9 +12,9 @@ class SystemTestCase < ActionDispatch::IntegrationTest # TODO: Reset original settings to previous values @orig_root = Capybara::Screenshot.root - Capybara::Screenshot.root = '.' + Capybara::Screenshot.root = "." @orig_save_path = Capybara::Screenshot.save_path - Capybara::Screenshot.save_path = 'test/fixtures/app/doc/screenshots' + Capybara::Screenshot.save_path = "test/fixtures/app/doc/screenshots" Capybara::Screenshot.enabled = true Capybara::Screenshot::Diff.enabled = true @@ -57,6 +57,6 @@ class SystemTestCase < ActionDispatch::IntegrationTest def rollback_comparison_runtime_files(screenshot_error) screenshot_name, comparison = screenshot_error[1], screenshot_error[2] restore_git_revision(screenshot_name, comparison.new_file_name) - comparison.driver.send(:clean_tmp_files) + comparison.clean_tmp_files end end diff --git a/test/test_helper.rb b/test/test_helper.rb index 4c6dd5fb..a9c86638 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -21,7 +21,7 @@ def self.root require "minitest/autorun" require "capybara/minitest" -require 'capybara/dsl' +require "capybara/dsl" Capybara.threadsafe = true Capybara.app = Rack::Builder.new do use(Rack::Static, urls: [""], root: "test/fixtures/app", index: "index.html") @@ -38,6 +38,7 @@ module Diff module TestHelper private + # Stub of the Capybara's save_screenshot def save_screenshot(file_name) source_image = File.basename(file_name) source_image.slice!(/^\d\d_/) From 85b8e986c5e1f3ed4fe9dedd78d9b527525d2304 Mon Sep 17 00:00:00 2001 From: Paul Keen <125715+pftg@users.noreply.github.com> Date: Sat, 5 Dec 2020 12:32:18 +0200 Subject: [PATCH 119/312] Allow to use selected driver for handling retina screens * Adds resize methods for drivers * Removes inplace rescaling images in order to have support vips --- .../diff/drivers/chunky_png_driver.rb | 8 +++++++ .../screenshot/diff/drivers/vips_driver.rb | 4 ++++ lib/capybara/screenshot/diff/stabilization.rb | 21 ++++++++++++------- .../diff/drivers/chunky_png_driver_test.rb | 5 +++++ .../diff/drivers/vips_driver_test.rb | 5 +++++ test/system_test_case.rb | 1 + 6 files changed, 36 insertions(+), 8 deletions(-) diff --git a/lib/capybara/screenshot/diff/drivers/chunky_png_driver.rb b/lib/capybara/screenshot/diff/drivers/chunky_png_driver.rb index 81f4448c..b6af51c3 100644 --- a/lib/capybara/screenshot/diff/drivers/chunky_png_driver.rb +++ b/lib/capybara/screenshot/diff/drivers/chunky_png_driver.rb @@ -116,6 +116,10 @@ def crop(dimensions, i) i.crop(0, 0, *dimensions) end + def from_file(filename) + ChunkyPNG::Image.from_file(filename) + end + # private def calculate_metrics @@ -159,6 +163,10 @@ def save_image_to(image, filename) image.save(filename) end + def resize_image_to(image, new_width, new_height) + image.resample_bilinear(new_width, new_height) + end + def load_image_files(old_file_name, file_name) old_file = File.binread(old_file_name) new_file = File.binread(file_name) diff --git a/lib/capybara/screenshot/diff/drivers/vips_driver.rb b/lib/capybara/screenshot/diff/drivers/vips_driver.rb index 80542b71..64c1966c 100644 --- a/lib/capybara/screenshot/diff/drivers/vips_driver.rb +++ b/lib/capybara/screenshot/diff/drivers/vips_driver.rb @@ -106,6 +106,10 @@ def save_image_to(image, filename) image.write_to_file(filename) end + def resize_image_to(image, new_width, new_height) + image.resize(1.* new_width / new_height) + end + def load_images(old_file_name, new_file_name, driver = self) [driver.from_file(old_file_name), driver.from_file(new_file_name)] end diff --git a/lib/capybara/screenshot/diff/stabilization.rb b/lib/capybara/screenshot/diff/stabilization.rb index 976f00a1..dcfd21c7 100644 --- a/lib/capybara/screenshot/diff/stabilization.rb +++ b/lib/capybara/screenshot/diff/stabilization.rb @@ -77,18 +77,23 @@ def make_stabilization_comparison_from(comparison, new_file_name, previous_file_ ImageCompare.new(new_file_name, previous_file_name, **comparison.driver_options) end - def reduce_retina_image_size(file_name) + def reduce_retina_image_size(file_name, driver) return if !ON_MAC || !selenium? || !Capybara::Screenshot.window_size - saved_image = ChunkyPNG::Image.from_file(file_name) - width = Capybara::Screenshot.window_size[0] - return if saved_image.width < width * 2 + expected_image_width = Capybara::Screenshot.window_size[0] + saved_image = driver.from_file(file_name) + return if driver.width_for(saved_image) < expected_image_width * 2 notice_how_to_avoid_this - height = (width * saved_image.height) / saved_image.width - resized_image = saved_image.resample_bilinear(width, height) - resized_image.save(file_name) + new_height = expected_image_width * driver.height_for(saved_image) / driver.width_for(saved_image) + resized_image = driver.resize_image_to(saved_image, expected_image_width, new_height) + + Dir.mktmpdir do |dir| + resized_image_file = "#{dir}/resized.png" + driver.save_image_to(resized_image, resized_image_file) + FileUtils.mv(resized_image_file, file_name) + end end def stabilization_images(base_file) @@ -128,7 +133,7 @@ def take_right_size_screenshot(comparison) save_screenshot(comparison.new_file_name) # TODO(uwe): Remove when chromedriver takes right size screenshots - reduce_retina_image_size(comparison.new_file_name) + reduce_retina_image_size(comparison.new_file_name, comparison.driver) # ODOT end diff --git a/test/capybara/screenshot/diff/drivers/chunky_png_driver_test.rb b/test/capybara/screenshot/diff/drivers/chunky_png_driver_test.rb index 6369b16b..e5670557 100644 --- a/test/capybara/screenshot/diff/drivers/chunky_png_driver_test.rb +++ b/test/capybara/screenshot/diff/drivers/chunky_png_driver_test.rb @@ -119,6 +119,11 @@ class ChunkyPNGDriverTest < ActionDispatch::IntegrationTest # Test Interface Contracts + test "from_file loads image from path" do + driver = ChunkyPNGDriver.new("#{Rails.root}/screenshot.png") + assert driver.from_file("#{TEST_IMAGES_DIR}/a.png") + end + test "size requires region" do driver = ChunkyPNGDriver.new("#{Rails.root}/screenshot.png") assert driver.size(sample_region) diff --git a/test/capybara/screenshot/diff/drivers/vips_driver_test.rb b/test/capybara/screenshot/diff/drivers/vips_driver_test.rb index f9b0a1b3..c330325e 100644 --- a/test/capybara/screenshot/diff/drivers/vips_driver_test.rb +++ b/test/capybara/screenshot/diff/drivers/vips_driver_test.rb @@ -146,6 +146,11 @@ class VipsDriverTest < ActionDispatch::IntegrationTest # Test Interface Contracts + test "from_file loads image from path" do + driver = VipsDriver.new("#{Rails.root}/screenshot.png") + assert driver.from_file("#{TEST_IMAGES_DIR}/a.png") + end + test "size requires region" do driver = VipsDriver.new("#{Rails.root}/screenshot.png") assert driver.size(sample_region) diff --git a/test/system_test_case.rb b/test/system_test_case.rb index fdbe4040..1d0d4238 100644 --- a/test/system_test_case.rb +++ b/test/system_test_case.rb @@ -17,6 +17,7 @@ class SystemTestCase < ActionDispatch::IntegrationTest Capybara::Screenshot.save_path = "test/fixtures/app/doc/screenshots" Capybara::Screenshot.enabled = true Capybara::Screenshot::Diff.enabled = true + Capybara::Screenshot::Diff.driver = :vips # TODO: Makes configurations copying and restoring much easier From bd517e5a7bbce55b559894aa4fab8a926c08c3da Mon Sep 17 00:00:00 2001 From: Paul Keen <125715+pftg@users.noreply.github.com> Date: Sat, 5 Dec 2020 12:08:54 +0200 Subject: [PATCH 120/312] Drop coverage support for JRuby in order to reduce complexity --- test/test_helper.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/test_helper.rb b/test/test_helper.rb index a9c86638..d0c815f7 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -1,9 +1,9 @@ # frozen_string_literal: true -if ENV["COVERAGE"] && (RUBY_ENGINE != "jruby" || org.jruby.RubyInstanceConfig.FULL_TRACE_ENABLED) +if ENV["COVERAGE"] require "simplecov" SimpleCov.start - SimpleCov.minimum_coverage RUBY_ENGINE == "jruby" ? 82.5 : 83.5 + SimpleCov.minimum_coverage 92 end # NOTE: Simulate Rails Environment From 5126ef2bc31d6afd15cbde9644bf4449e425f18e Mon Sep 17 00:00:00 2001 From: Paul Keen <125715+pftg@users.noreply.github.com> Date: Sat, 5 Dec 2020 18:14:38 +0200 Subject: [PATCH 121/312] Moves tests and development gems from gemspec --- capybara-screenshot-diff.gemspec | 9 --------- gems.rb | 21 +++++++++++++++++++-- 2 files changed, 19 insertions(+), 11 deletions(-) diff --git a/capybara-screenshot-diff.gemspec b/capybara-screenshot-diff.gemspec index 831b6992..acdea655 100644 --- a/capybara-screenshot-diff.gemspec +++ b/capybara-screenshot-diff.gemspec @@ -23,13 +23,4 @@ Gem::Specification.new do |spec| spec.add_runtime_dependency "actionpack", ">= 4.2", "< 7" spec.add_runtime_dependency "capybara", ">= 2", "< 4" spec.add_runtime_dependency "chunky_png", "~> 1.3" - - spec.add_development_dependency "minitest", "~> 5.0" - spec.add_development_dependency "minitest-stub-const" - spec.add_development_dependency "puma" - spec.add_development_dependency "rake" - spec.add_development_dependency "standard" - spec.add_development_dependency "selenium-webdriver" - spec.add_development_dependency "simplecov", "~> 0.11" - spec.add_development_dependency "webdrivers" end diff --git a/gems.rb b/gems.rb index 9065f2d6..d6ed1120 100644 --- a/gems.rb +++ b/gems.rb @@ -5,7 +5,24 @@ # Specify your gem's dependencies in capybara-screenshot-diff.gemspec gemspec path: __dir__ -gem "oily_png", platform: :ruby +gem "rake" -gem "image_processing", require: false +# Image processing libraries +gem "oily_png", platform: :ruby gem "ruby-vips", require: false + +# Test +gem "minitest", require: false +gem "minitest-stub-const", require: false +gem "simplecov", require: false + +# Capybara +gem "puma", require: false + +# Capybara Drivers +gem "selenium-webdriver", require: false +gem "webdrivers", require: false + +group :tools do + gem "standard", require: false +end From 705c336348ade648bff9feb009af55cd77e88133 Mon Sep 17 00:00:00 2001 From: Paul Keen <125715+pftg@users.noreply.github.com> Date: Sat, 5 Dec 2020 14:42:37 +0200 Subject: [PATCH 122/312] Adds cuprite driver --- gems.rb | 1 + lib/capybara/screenshot/diff.rb | 14 ++-- lib/capybara/screenshot/diff/test_methods.rb | 6 -- .../diff/test_methods_system_test.rb | 30 ------- .../index-blur_active_element-disabled.png | Bin .../index-blur_active_element-enabled.png | Bin .../macos => }/index-hide_caret-disabled.png | Bin .../macos => }/index-hide_caret-enabled.png | Bin .../macos => }/index.png | Bin .../index-blur_active_element-disabled.png | Bin 27553 -> 0 bytes .../index-blur_active_element-enabled.png | Bin 27045 -> 0 bytes .../linux/index-hide_caret-disabled.png | Bin 27553 -> 0 bytes .../linux/index-hide_caret-enabled.png | Bin 27230 -> 0 bytes .../selenium_chrome_headless/linux/index.png | Bin 25700 -> 0 bytes test/integration/browser_screenshot_test.rb | 10 ++- test/integration/test_methods_system_test.rb | 32 ++++++++ test/support/setup_capybara_drivers.rb | 77 ++++++++++++++++++ test/system_test_case.rb | 12 +-- test/test_helper.rb | 22 +++-- 19 files changed, 144 insertions(+), 60 deletions(-) delete mode 100644 test/capybara/screenshot/diff/test_methods_system_test.rb rename test/fixtures/app/doc/screenshots/{selenium_chrome_headless/macos => }/index-blur_active_element-disabled.png (100%) rename test/fixtures/app/doc/screenshots/{selenium_chrome_headless/macos => }/index-blur_active_element-enabled.png (100%) rename test/fixtures/app/doc/screenshots/{selenium_chrome_headless/macos => }/index-hide_caret-disabled.png (100%) rename test/fixtures/app/doc/screenshots/{selenium_chrome_headless/macos => }/index-hide_caret-enabled.png (100%) rename test/fixtures/app/doc/screenshots/{selenium_chrome_headless/macos => }/index.png (100%) delete mode 100644 test/fixtures/app/doc/screenshots/selenium_chrome_headless/linux/index-blur_active_element-disabled.png delete mode 100644 test/fixtures/app/doc/screenshots/selenium_chrome_headless/linux/index-blur_active_element-enabled.png delete mode 100644 test/fixtures/app/doc/screenshots/selenium_chrome_headless/linux/index-hide_caret-disabled.png delete mode 100644 test/fixtures/app/doc/screenshots/selenium_chrome_headless/linux/index-hide_caret-enabled.png delete mode 100644 test/fixtures/app/doc/screenshots/selenium_chrome_headless/linux/index.png create mode 100644 test/integration/test_methods_system_test.rb create mode 100644 test/support/setup_capybara_drivers.rb diff --git a/gems.rb b/gems.rb index d6ed1120..4f20a60a 100644 --- a/gems.rb +++ b/gems.rb @@ -20,6 +20,7 @@ gem "puma", require: false # Capybara Drivers +gem "cuprite", require: false gem "selenium-webdriver", require: false gem "webdrivers", require: false diff --git a/lib/capybara/screenshot/diff.rb b/lib/capybara/screenshot/diff.rb index 7b347f63..0e782566 100644 --- a/lib/capybara/screenshot/diff.rb +++ b/lib/capybara/screenshot/diff.rb @@ -56,19 +56,19 @@ module Diff AVAILABLE_DRIVERS = Utils.detect_available_drivers.freeze - def self.included(clas) - clas.include TestMethods - clas.setup do + def self.included(klass) + klass.include TestMethods + klass.setup do if Capybara::Screenshot.window_size - if selenium? - page.driver.browser.manage.window.resize_to(*Capybara::Screenshot.window_size) - elsif poltergeist? + if page.driver.respond_to?(:resize) page.driver.resize(*Capybara::Screenshot.window_size) + elsif selenium? + page.driver.browser.manage.window.resize_to(*Capybara::Screenshot.window_size) end end end - clas.teardown do + klass.teardown do if Capybara::Screenshot::Diff.enabled && @test_screenshots test_screenshot_errors = @test_screenshots .map { |caller, name, compare| assert_image_not_changed(caller, name, compare) } diff --git a/lib/capybara/screenshot/diff/test_methods.rb b/lib/capybara/screenshot/diff/test_methods.rb index 5a4a91e9..264fc015 100644 --- a/lib/capybara/screenshot/diff/test_methods.rb +++ b/lib/capybara/screenshot/diff/test_methods.rb @@ -49,12 +49,6 @@ def selenium? current_capybara_driver_class <= Capybara::Selenium::Driver end - def poltergeist? - return false unless defined?(Capybara::Poltergeist::Driver) - - current_capybara_driver_class <= Capybara::Poltergeist::Driver - end - def screenshot_section(name) @screenshot_section = name.to_s end diff --git a/test/capybara/screenshot/diff/test_methods_system_test.rb b/test/capybara/screenshot/diff/test_methods_system_test.rb deleted file mode 100644 index ceaeda8f..00000000 --- a/test/capybara/screenshot/diff/test_methods_system_test.rb +++ /dev/null @@ -1,30 +0,0 @@ -# frozen_string_literal: true - -require "action_pack/version" - -if [ActionPack::VERSION::MAJOR, ActionPack::VERSION::MINOR].join > "60" - require "test_helper" - require "webdrivers/chromedriver" - - Webdrivers::Chromedriver.update - - module Capybara - module Screenshot - module Diff - class TestMethodsSystemTest < ActionDispatch::SystemTestCase - driven_by :selenium, using: :headless_chrome - - teardown { Capybara.use_default_driver } - - include TestMethods - include TestHelper - - def test_current_capybara_driver_class_do_not_spawn_new_process - 5.times { current_capybara_driver_class } - assert_equal 1, `ps x -o pid= -o command=`.scan("webdrivers/chromedriver").size - end - end - end - end - end -end diff --git a/test/fixtures/app/doc/screenshots/selenium_chrome_headless/macos/index-blur_active_element-disabled.png b/test/fixtures/app/doc/screenshots/index-blur_active_element-disabled.png similarity index 100% rename from test/fixtures/app/doc/screenshots/selenium_chrome_headless/macos/index-blur_active_element-disabled.png rename to test/fixtures/app/doc/screenshots/index-blur_active_element-disabled.png diff --git a/test/fixtures/app/doc/screenshots/selenium_chrome_headless/macos/index-blur_active_element-enabled.png b/test/fixtures/app/doc/screenshots/index-blur_active_element-enabled.png similarity index 100% rename from test/fixtures/app/doc/screenshots/selenium_chrome_headless/macos/index-blur_active_element-enabled.png rename to test/fixtures/app/doc/screenshots/index-blur_active_element-enabled.png diff --git a/test/fixtures/app/doc/screenshots/selenium_chrome_headless/macos/index-hide_caret-disabled.png b/test/fixtures/app/doc/screenshots/index-hide_caret-disabled.png similarity index 100% rename from test/fixtures/app/doc/screenshots/selenium_chrome_headless/macos/index-hide_caret-disabled.png rename to test/fixtures/app/doc/screenshots/index-hide_caret-disabled.png diff --git a/test/fixtures/app/doc/screenshots/selenium_chrome_headless/macos/index-hide_caret-enabled.png b/test/fixtures/app/doc/screenshots/index-hide_caret-enabled.png similarity index 100% rename from test/fixtures/app/doc/screenshots/selenium_chrome_headless/macos/index-hide_caret-enabled.png rename to test/fixtures/app/doc/screenshots/index-hide_caret-enabled.png diff --git a/test/fixtures/app/doc/screenshots/selenium_chrome_headless/macos/index.png b/test/fixtures/app/doc/screenshots/index.png similarity index 100% rename from test/fixtures/app/doc/screenshots/selenium_chrome_headless/macos/index.png rename to test/fixtures/app/doc/screenshots/index.png diff --git a/test/fixtures/app/doc/screenshots/selenium_chrome_headless/linux/index-blur_active_element-disabled.png b/test/fixtures/app/doc/screenshots/selenium_chrome_headless/linux/index-blur_active_element-disabled.png deleted file mode 100644 index 8ea8d75a5e85e9f78e53a977b099348983fbc3e8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27553 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
y55GgPqBJ_|*) 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 diff --git a/test/fixtures/app/doc/screenshots/selenium_chrome_headless/linux/index-hide_caret-disabled.png b/test/fixtures/app/doc/screenshots/selenium_chrome_headless/linux/index-hide_caret-disabled.png deleted file mode 100644 index 8ea8d75a5e85e9f78e53a977b099348983fbc3e8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27553 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 g= "60" && ENV["CAPYBARA_DRIVER"].include?("chrome") + warn "Regression only for 6x Rails and Chrome" + return +end + +module Capybara + module Screenshot + module Diff + class TestMethodsSystemTest < ActionDispatch::SystemTestCase + driven_by :selenium, using: :headless_chrome + + teardown { Capybara.use_default_driver } + + include TestMethods + include TestHelper + + def test_current_capybara_driver_class_do_not_spawn_new_process + 2.times { current_capybara_driver_class } + assert_equal 1, `ps x -o pid= -o command=`.scan("webdrivers/chromedriver").size + end + end + end + end +end diff --git a/test/support/setup_capybara_drivers.rb b/test/support/setup_capybara_drivers.rb new file mode 100644 index 00000000..a9d5f25e --- /dev/null +++ b/test/support/setup_capybara_drivers.rb @@ -0,0 +1,77 @@ +# frozen_string_literal: true + +# Try to load other drivers if they are available + +ENV["CAPYBARA_DRIVER"] ||= "cuprite" + +if ENV["CAPYBARA_DRIVER"] == "cuprite" + require "capybara/cuprite" + CHROME_ARGS = { + "allow-running-insecure-content" => nil, + "autoplay-policy" => "user-gesture-required", + "disable-add-to-shelf" => nil, + "disable-background-networking" => nil, + "disable-background-timer-throttling" => nil, + "disable-backgrounding-occluded-windows" => nil, + "disable-breakpad" => nil, + "disable-checker-imaging" => nil, + "disable-client-side-phishing-detection" => nil, + "disable-component-extensions-with-background-pages" => nil, + "disable-datasaver-prompt" => nil, + "disable-default-apps" => nil, + "disable-desktop-notifications" => nil, + "disable-dev-shm-usage" => nil, + "disable-domain-reliability" => nil, + "disable-extensions" => nil, + "disable-features" => "TranslateUI,BlinkGenPropertyTrees", + 'disable-gpu' => nil, + "disable-hang-monitor" => nil, + "disable-infobars" => nil, + "disable-ipc-flooding-protection" => nil, + "disable-notifications" => nil, + "disable-popup-blocking" => nil, + "disable-prompt-on-repost" => nil, + "disable-renderer-backgrounding" => nil, + "disable-setuid-sandbox" => nil, + "disable-site-isolation-trials" => nil, + "disable-sync" => nil, + "disable-web-security" => nil, + "enable-automation" => nil, + "enable-features" => "NetworkService,NetworkServiceInProcess", + "enable-logging" => "stderr", + "force-color-profile" => "srgb", + "force-device-scale-factor" => "1", + "hide-scrollbars" => nil, + "ignore-certificate-errors" => nil, + "js-flags" => "--random-seed=1157259157", + "log-level" => "0", + "metrics-recording-only" => nil, + "mute-audio" => nil, + "no-default-browser-check" => nil, + "no-first-run" => nil, + "no-sandbox" => nil, + "password-store=basic" => nil, + "test-type" => nil, + "use-mock-keychain" => nil + }.freeze + + Capybara.register_driver(:cuprite) do |app| + Capybara::Cuprite::Driver.new( + app, + browser_options: CHROME_ARGS, + js_errors: true, + process_timeout: 10, + screen_size: [800, 600], + window_size: [800, 600] + ) + end + +elsif ENV["CAPYBARA_DRIVER"].include?("chrome") + require "webdrivers/chromedriver" + Webdrivers::Chromedriver.update +else + require "webdrivers/geckodriver" + Webdrivers::Geckodriver.update +end + +Capybara.javascript_driver = ENV.fetch("CAPYBARA_DRIVER", :cuprite).to_sym diff --git a/test/system_test_case.rb b/test/system_test_case.rb index 1d0d4238..13606cd3 100644 --- a/test/system_test_case.rb +++ b/test/system_test_case.rb @@ -1,14 +1,10 @@ require "test_helper" -require "webdrivers/chromedriver" -Webdrivers::Chromedriver.update +require "support/setup_capybara_drivers" class SystemTestCase < ActionDispatch::IntegrationTest setup do - Capybara.current_driver = :selenium_chrome_headless - # TODO: Allow to test with different drivers by ENV - # Capybara.current_driver = :selenium_chrome - # Capybara.current_driver = :selenium + Capybara.current_driver = Capybara.javascript_driver # TODO: Reset original settings to previous values @orig_root = Capybara::Screenshot.root @@ -22,9 +18,9 @@ class SystemTestCase < ActionDispatch::IntegrationTest # TODO: Makes configurations copying and restoring much easier @orig_add_os_path = Capybara::Screenshot.add_os_path - Capybara::Screenshot.add_os_path = true + Capybara::Screenshot.add_os_path = false @orig_add_driver_path = Capybara::Screenshot.add_driver_path - Capybara::Screenshot.add_driver_path = true + Capybara::Screenshot.add_driver_path = false # NOTE: Only works before `include Capybara::Screenshot::Diff` line @orig_window_size = Capybara::Screenshot.window_size Capybara::Screenshot.window_size = [800, 600] diff --git a/test/test_helper.rb b/test/test_helper.rb index d0c815f7..863bba98 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -6,27 +6,33 @@ SimpleCov.minimum_coverage 92 end +$LOAD_PATH.unshift File.expand_path("../lib", __dir__) + +TEST_IMAGES_DIR = File.expand_path("images", __dir__) + # NOTE: Simulate Rails Environment module Rails def self.root Pathname("../tmp").expand_path(__dir__) end -end -$LOAD_PATH.unshift File.expand_path("../lib", __dir__) - -TEST_IMAGES_DIR = File.expand_path("images", __dir__) + def self.application + Rack::Builder.new { + use(Rack::Static, urls: [""], root: "test/fixtures/app", index: "index.html") + run ->(_env) { [200, {}, []] } + }.to_app + end +end require "capybara/screenshot/diff" require "minitest/autorun" require "capybara/minitest" require "capybara/dsl" +Capybara.disable_animation = true +Capybara.server = :puma, {Silent: true} Capybara.threadsafe = true -Capybara.app = Rack::Builder.new do - use(Rack::Static, urls: [""], root: "test/fixtures/app", index: "index.html") - run ->(_env) { [200, {}, []] } -end.to_app +Capybara.app = Rails.application # TODO(uwe): Remove when we stop support for Rails 4.2 ActiveSupport.test_order = :random From 0c544782ede24fc8b28a450558f30c064eac0072 Mon Sep 17 00:00:00 2001 From: Paul Keen <125715+pftg@users.noreply.github.com> Date: Sat, 5 Dec 2020 13:30:39 +0200 Subject: [PATCH 123/312] Exteneds matrix with capybara and screenshot drivers --- .github/workflows/test.yml | 35 +++++++++++++++++++++++++++++++++++ Rakefile | 6 ++++++ test/system_test_case.rb | 2 +- 3 files changed, 42 insertions(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 173e94ca..7a7e1b63 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -93,3 +93,38 @@ jobs: - name: Run tests run: bundle exec rake test + + matrix_screenshot_driver: + name: Test Integration + needs: [ 'test', 'lint' ] + runs-on: ubuntu-20.04 + + strategy: + matrix: + screenshot-driver: [ 'vips', 'chunky_png' ] + capybara-driver: [ 'selenium_headless', 'selenium_chrome_headless' ] + include: + - screenshot-driver: 'chunky_png' + capybara-driver: 'cuprite' + + steps: + - name: Checkout code + uses: actions/checkout@v2 + + - name: Set up Ruby + uses: ruby/setup-ruby@v1 + with: + ruby-version: '2.7' + bundler-cache: true + + - name: Install dependencies + run: bundle install + + - name: Install libvips + run: sudo apt install libvips libvips-dev libvips-tools + + - name: Run tests + run: bundle exec rake test:integration + env: + SCREENSHOT_DRIVER: ${{ matrix.screenshot-driver }} + CAPYBARA_DRIVER: ${{ matrix.capybara-driver }} diff --git a/Rakefile b/Rakefile index 75811df0..b6538e1a 100644 --- a/Rakefile +++ b/Rakefile @@ -10,3 +10,9 @@ Rake::TestTask.new(:test) do |t| t.libs << "lib" t.test_files = FileList["test/**/*_test.rb"] end + +Rake::TestTask.new("test:integration") do |t| + t.libs << "test" + t.libs << "lib" + t.test_files = FileList["test/integration/**/*_test.rb"] +end diff --git a/test/system_test_case.rb b/test/system_test_case.rb index 13606cd3..531955b2 100644 --- a/test/system_test_case.rb +++ b/test/system_test_case.rb @@ -13,7 +13,7 @@ class SystemTestCase < ActionDispatch::IntegrationTest Capybara::Screenshot.save_path = "test/fixtures/app/doc/screenshots" Capybara::Screenshot.enabled = true Capybara::Screenshot::Diff.enabled = true - Capybara::Screenshot::Diff.driver = :vips + Capybara::Screenshot::Diff.driver = ENV.fetch("SCREENSHOT_DRIVER", "vips").to_sym # TODO: Makes configurations copying and restoring much easier From efc840eb312dd7a0536ce93655dbb2dc59ccc5d9 Mon Sep 17 00:00:00 2001 From: Paul Keen <125715+pftg@users.noreply.github.com> Date: Fri, 18 Dec 2020 11:33:01 +0200 Subject: [PATCH 124/312] Adds 6 1 rails to test (#34) * Adds rails 6.1 gems.rb * Fixes flaky tests on CI * Increases timeouts for chrome to start or process requests on CI * Removes problem when we have serveral drivers usage for counting leaking processes * For matrixes tests we used default bundler instead of gemfiles. Added gemfile selection for all stpes on CI * There were double bundle install, removed redundent bundle install for default gemfile * Caret problem: added more time to make sure we have a stable screenshot. * Make lint job to fail if there are lint errors in the code --- .github/workflows/test.yml | 33 ++++++++++---------- .standard.yml | 2 -- gemfiles/rails60_gems.rb | 4 ++- gemfiles/rails61_gems.rb | 7 +++++ gems.rb | 2 +- test/integration/browser_screenshot_test.rb | 4 ++- test/integration/test_methods_system_test.rb | 30 +++++++++++------- test/support/setup_capybara_drivers.rb | 3 +- 8 files changed, 50 insertions(+), 35 deletions(-) create mode 100644 gemfiles/rails61_gems.rb diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 7a7e1b63..8cc017b6 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -5,6 +5,11 @@ on: branches: [ $default-branch ] pull_request: +env: + BUNDLE_GEMFILE: 'gemfiles/rails61_gems.rb' + FERRUM_PROCESS_TIMEOUT: '15' + WD_CACHE_TIME: '864000' # 10 days + jobs: lint: name: Lint @@ -20,15 +25,12 @@ jobs: ruby-version: '2.7' bundler-cache: true - - name: Install dependencies - run: bundle install - - name: Run Standard Ruby linter - run: bin/standardrb + run: bin/standardrb --no-fix --fail-fast test: name: Functional Testing - runs-on: ubuntu-20.04 + runs-on: ubuntu-20.04 # In order to install libvips 8.9+ version steps: - name: Checkout code @@ -40,9 +42,6 @@ jobs: ruby-version: '2.7' bundler-cache: true - - name: Install dependencies - run: bundle install - - name: Install libvips run: sudo apt install libvips libvips-dev libvips-tools @@ -71,7 +70,15 @@ jobs: strategy: matrix: ruby-version: [ '2.7', '2.6', '2.5', 'jruby' ] - gemfile: [ 'rails60_gems.rb', 'rails52.gemfile', 'rails51.gemfile', 'rails50.gemfile', 'rails42.gemfile' ] + gemfile: + - 'rails61_gems.rb' + - 'rails60_gems.rb' + - 'rails52.gemfile' + - 'rails51.gemfile' + - 'rails50.gemfile' + - 'rails42.gemfile' + env: + BUNDLE_GEMFILE: gemfiles/${{ matrix.gemfile }} steps: - name: Checkout code @@ -79,15 +86,10 @@ jobs: - name: Set up Ruby uses: ruby/setup-ruby@v1 - env: - BUNDLE_GEMFILE: gemfiles/${{ matrix.gemfile }} with: ruby-version: ${{ matrix.ruby-version }} bundler-cache: true - - name: Install dependencies - run: bundle install - - name: Install libvips run: sudo apt install libvips libvips-dev libvips-tools @@ -117,9 +119,6 @@ jobs: ruby-version: '2.7' bundler-cache: true - - name: Install dependencies - run: bundle install - - name: Install libvips run: sudo apt install libvips libvips-dev libvips-tools diff --git a/.standard.yml b/.standard.yml index 806913b0..34b94d1f 100644 --- a/.standard.yml +++ b/.standard.yml @@ -8,6 +8,4 @@ ignore: # default: [] - 'gemfiles/**/*': - Security/Eval - 'gemfiles/vendor/**/*' - - 'lib/**/*': - - Lint/Debugger - 'vendor/**/*' diff --git a/gemfiles/rails60_gems.rb b/gemfiles/rails60_gems.rb index 29ab98dd..265afa0f 100644 --- a/gemfiles/rails60_gems.rb +++ b/gemfiles/rails60_gems.rb @@ -3,4 +3,6 @@ gems = "#{File.dirname __dir__}/gems.rb" eval File.read(gems), binding, gems -gem "actionpack", "~>6.0.0" +gem "actionpack", "~> 6.0.1", "< 6.1" +gem "capybara", ">= 2.15" +gem "selenium-webdriver" diff --git a/gemfiles/rails61_gems.rb b/gemfiles/rails61_gems.rb new file mode 100644 index 00000000..200877de --- /dev/null +++ b/gemfiles/rails61_gems.rb @@ -0,0 +1,7 @@ +# frozen_string_literal: true + +gems = "#{File.dirname __dir__}/gems.rb" +eval File.read(gems), binding, gems + +gem "actionpack", "~> 6.1.0", "< 6.2" +gem "capybara", ">= 3.26" diff --git a/gems.rb b/gems.rb index 4f20a60a..4f3ea7cf 100644 --- a/gems.rb +++ b/gems.rb @@ -16,7 +16,7 @@ gem "minitest-stub-const", require: false gem "simplecov", require: false -# Capybara +# Capybara Server gem "puma", require: false # Capybara Drivers diff --git a/test/integration/browser_screenshot_test.rb b/test/integration/browser_screenshot_test.rb index f3473dd4..a5e1572d 100644 --- a/test/integration/browser_screenshot_test.rb +++ b/test/integration/browser_screenshot_test.rb @@ -39,7 +39,9 @@ def test_screenshot_with_hide_caret_disabled visit "/" fill_in "First Field:", with: "Test Input Without Hide Caret" - screenshot "index-hide_caret-disabled" + + # Hide caret is flaky issue, let's give more tries to take stable screenshot + screenshot "index-hide_caret-disabled", wait: Capybara.default_max_wait_time * 5 ensure Capybara::Screenshot.hide_caret = nil end diff --git a/test/integration/test_methods_system_test.rb b/test/integration/test_methods_system_test.rb index a140ad89..ffafbff4 100644 --- a/test/integration/test_methods_system_test.rb +++ b/test/integration/test_methods_system_test.rb @@ -1,30 +1,36 @@ # frozen_string_literal: true -require "action_pack/version" - -ENV["CAPYBARA_DRIVER"] ||= "selenium_chrome_headless" - require "system_test_case" -unless [ActionPack::VERSION::MAJOR, ActionPack::VERSION::MINOR].join >= "60" && ENV["CAPYBARA_DRIVER"].include?("chrome") - warn "Regression only for 6x Rails and Chrome" +# NOTE: For this test we need only chrome browser, +# because we can spot problem by counting running chrome driver processes +require "action_pack/version" +unless [ActionPack::VERSION::MAJOR, ActionPack::VERSION::MINOR].join >= "60" && ENV["CAPYBARA_DRIVER"].include?("selenium_chrome") + warn "Regression only for 6x Rails and driven_by construction" return end +require "objspace" + module Capybara module Screenshot module Diff class TestMethodsSystemTest < ActionDispatch::SystemTestCase + include TestMethods + include TestHelper + driven_by :selenium, using: :headless_chrome - teardown { Capybara.use_default_driver } + def test_current_capybara_driver_class_do_not_spawn_new_process_when_we_use_system_test_cases + # NOTE: There is possible that we have several drivers usage in the one suite, + # so each of them will have separate instance + other_activated_drivers = ObjectSpace.each_object(Capybara::Selenium::Driver).count - include TestMethods - include TestHelper + 3.times { current_capybara_driver_class } - def test_current_capybara_driver_class_do_not_spawn_new_process - 2.times { current_capybara_driver_class } - assert_equal 1, `ps x -o pid= -o command=`.scan("webdrivers/chromedriver").size + run_chrome_drivers = ObjectSpace.each_object(Capybara::Selenium::Driver).count + assert run_chrome_drivers.positive? + assert run_chrome_drivers - other_activated_drivers <= 1 end end end diff --git a/test/support/setup_capybara_drivers.rb b/test/support/setup_capybara_drivers.rb index a9d5f25e..2b1c4c50 100644 --- a/test/support/setup_capybara_drivers.rb +++ b/test/support/setup_capybara_drivers.rb @@ -24,7 +24,7 @@ "disable-domain-reliability" => nil, "disable-extensions" => nil, "disable-features" => "TranslateUI,BlinkGenPropertyTrees", - 'disable-gpu' => nil, + "disable-gpu" => nil, "disable-hang-monitor" => nil, "disable-infobars" => nil, "disable-ipc-flooding-protection" => nil, @@ -62,6 +62,7 @@ js_errors: true, process_timeout: 10, screen_size: [800, 600], + timeout: ENV["CI"] ? 40 : 10, window_size: [800, 600] ) end From f192b5017052a4f58cee4ef1640df5c5adacf7f3 Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Fri, 18 Dec 2020 11:16:57 +0100 Subject: [PATCH 125/312] Draw skip_areas + some fixes after trying to use master on a project (#33) * Draw skip_areas + some fixes after trying to use master on a project * Fix Standard offence * Make the root path default an absolute path --- lib/capybara/screenshot/diff.rb | 2 +- .../screenshot/diff/drivers/chunky_png_driver.rb | 10 +++++----- lib/capybara/screenshot/diff/drivers/vips_driver.rb | 6 ++---- lib/capybara/screenshot/diff/image_compare.rb | 10 ++++++++-- 4 files changed, 16 insertions(+), 12 deletions(-) diff --git a/lib/capybara/screenshot/diff.rb b/lib/capybara/screenshot/diff.rb index 0e782566..ee631421 100644 --- a/lib/capybara/screenshot/diff.rb +++ b/lib/capybara/screenshot/diff.rb @@ -14,7 +14,7 @@ module Screenshot mattr_accessor :blur_active_element mattr_accessor :enabled mattr_accessor :hide_caret - mattr_reader(:root) { (defined?(Rails.root) && Rails.root) || "." } + mattr_reader(:root) { (defined?(Rails.root) && Rails.root) || Pathname(".").expand_path } mattr_accessor :stability_time_limit mattr_accessor :window_size mattr_accessor(:save_path) { "doc/screenshots" } diff --git a/lib/capybara/screenshot/diff/drivers/chunky_png_driver.rb b/lib/capybara/screenshot/diff/drivers/chunky_png_driver.rb index b6af51c3..dad0c522 100644 --- a/lib/capybara/screenshot/diff/drivers/chunky_png_driver.rb +++ b/lib/capybara/screenshot/diff/drivers/chunky_png_driver.rb @@ -41,12 +41,12 @@ def filter_image_with_median(_image) raise NotImplementedError end - def add_black_box(_image, _region) - # noop + def add_black_box(image, _region) + image end def difference_level(_diff_mask, old_img, region) - size(region) / image_area_size(old_img) + size(region).to_f / image_area_size(old_img) end def image_area_size(old_img) @@ -181,10 +181,10 @@ def dimension_changed?(old_image, new_image) true end - def draw_rectangles(images, left, top, right, bottom) + def draw_rectangles(images, (left, top, right, bottom), (r, g, b)) images.map do |image| new_img = image.dup - new_img.rect(left - 1, top - 1, right + 1, bottom + 1, ChunkyPNG::Color.rgb(255, 0, 0)) + new_img.rect(left - 1, top - 1, right + 1, bottom + 1, ChunkyPNG::Color.rgb(r, g, b)) new_img end end diff --git a/lib/capybara/screenshot/diff/drivers/vips_driver.rb b/lib/capybara/screenshot/diff/drivers/vips_driver.rb index 64c1966c..37089376 100644 --- a/lib/capybara/screenshot/diff/drivers/vips_driver.rb +++ b/lib/capybara/screenshot/diff/drivers/vips_driver.rb @@ -136,11 +136,9 @@ def dimension(image) [image.width, image.height] end - RED_INK = [255, 0, 0, 255].freeze - - def draw_rectangles(images, left, top, right, bottom) + def draw_rectangles(images, (left, top, right, bottom), rgba) images.map do |image| - image.draw_rect(RED_INK, left - 1, top - 1, right - left + 2, bottom - top + 2) + image.draw_rect(rgba, left - 1, top - 1, right - left + 2, bottom - top + 2) end end diff --git a/lib/capybara/screenshot/diff/image_compare.rb b/lib/capybara/screenshot/diff/image_compare.rb index 29d40a82..bc71ac0a 100644 --- a/lib/capybara/screenshot/diff/image_compare.rb +++ b/lib/capybara/screenshot/diff/image_compare.rb @@ -119,9 +119,15 @@ def clean_tmp_files File.delete(@annotated_new_file_name) if File.exist?(@annotated_new_file_name) end + DIFF_COLOR = [255, 0, 0, 255].freeze + SKIP_COLOR = [255, 192, 0, 255].freeze + def annotate_and_save(images, region = difference_region) - annotated_old_img, annotated_new_img = driver.draw_rectangles(images, *region) - save(annotated_new_img, annotated_old_img, @annotated_new_file_name, @annotated_old_file_name) + annotated_images = driver.draw_rectangles(images, region, DIFF_COLOR) + @skip_area.to_a.flatten.each_slice(4) do |region| + annotated_images = driver.draw_rectangles(annotated_images, region, SKIP_COLOR) + end + save(*annotated_images, @annotated_new_file_name, @annotated_old_file_name) end def save(new_img, old_img, annotated_new_file_name, annotated_old_file_name) From c95876335061e21c8807d71ba606e8b0814a9b3c Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Fri, 18 Dec 2020 11:28:21 +0100 Subject: [PATCH 126/312] Bump version to 1.4.0 --- lib/capybara/screenshot/diff/version.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/capybara/screenshot/diff/version.rb b/lib/capybara/screenshot/diff/version.rb index deae9026..039a12bf 100644 --- a/lib/capybara/screenshot/diff/version.rb +++ b/lib/capybara/screenshot/diff/version.rb @@ -3,7 +3,7 @@ module Capybara module Screenshot module Diff - VERSION = "1.3.1" + VERSION = "1.4.0" end end end From d1c9e2c84b7e557fc6da359727ecde01a9f21924 Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Wed, 23 Dec 2020 11:55:55 +0100 Subject: [PATCH 127/312] Fix reverted file names of annotated images --- lib/capybara/screenshot/diff/image_compare.rb | 4 ++-- lib/capybara/screenshot/diff/version.rb | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/capybara/screenshot/diff/image_compare.rb b/lib/capybara/screenshot/diff/image_compare.rb index bc71ac0a..77ef3972 100644 --- a/lib/capybara/screenshot/diff/image_compare.rb +++ b/lib/capybara/screenshot/diff/image_compare.rb @@ -127,10 +127,10 @@ def annotate_and_save(images, region = difference_region) @skip_area.to_a.flatten.each_slice(4) do |region| annotated_images = driver.draw_rectangles(annotated_images, region, SKIP_COLOR) end - save(*annotated_images, @annotated_new_file_name, @annotated_old_file_name) + save(*annotated_images, @annotated_old_file_name, @annotated_new_file_name) end - def save(new_img, old_img, annotated_new_file_name, annotated_old_file_name) + def save(old_img, new_img, annotated_old_file_name, annotated_new_file_name) driver.save_image_to(old_img, annotated_old_file_name) driver.save_image_to(new_img, annotated_new_file_name) end diff --git a/lib/capybara/screenshot/diff/version.rb b/lib/capybara/screenshot/diff/version.rb index 039a12bf..73885d79 100644 --- a/lib/capybara/screenshot/diff/version.rb +++ b/lib/capybara/screenshot/diff/version.rb @@ -3,7 +3,7 @@ module Capybara module Screenshot module Diff - VERSION = "1.4.0" + VERSION = "1.4.1" end end end From ac8f816cbfd0dbd6357bda765ab97902323f9df0 Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Tue, 29 Dec 2020 08:47:11 +0100 Subject: [PATCH 128/312] Allow testing without installing VIPS --- lib/capybara/screenshot/diff/stabilization.rb | 20 +- lib/capybara/screenshot/diff/version.rb | 2 +- .../diff/drivers/vips_driver_test.rb | 305 +++++++++--------- .../screenshot/diff/image_compare_test.rb | 3 + .../screenshot/diff/test_methods_test.rb | 1 + test/capybara/screenshot/diff_test.rb | 7 +- test/system_test_case.rb | 2 +- 7 files changed, 178 insertions(+), 162 deletions(-) diff --git a/lib/capybara/screenshot/diff/stabilization.rb b/lib/capybara/screenshot/diff/stabilization.rb index dcfd21c7..2935025c 100644 --- a/lib/capybara/screenshot/diff/stabilization.rb +++ b/lib/capybara/screenshot/diff/stabilization.rb @@ -20,6 +20,16 @@ module Stabilization }() JS + HIDE_CARET_SCRIPT = <<~JS + if (!document.getElementById('csdHideCaretStyle')) { + let style = document.createElement('style'); + style.setAttribute('id', 'csdHideCaretStyle'); + document.head.appendChild(style); + let styleSheet = style.sheet; + styleSheet.insertRule("* { caret-color: transparent !important; }", 0); + } + JS + def take_stable_screenshot(comparison, stability_time_limit:, wait:) previous_file_name = comparison.old_file_name screenshot_started_at = last_image_change_at = Time.now @@ -117,15 +127,7 @@ def prepare_page_for_screenshot(timeout:) JS blurred_input = page.driver.send :unwrap_script_result, active_element end - if Capybara::Screenshot.hide_caret && !@hid_caret - execute_script(<<~JS) - var style = document.createElement('style'); - document.head.appendChild(style); - var styleSheet = style.sheet; - styleSheet.insertRule("* { caret-color: transparent !important; }", 0); - JS - @hid_caret = true - end + execute_script(HIDE_CARET_SCRIPT) if Capybara::Screenshot.hide_caret blurred_input end diff --git a/lib/capybara/screenshot/diff/version.rb b/lib/capybara/screenshot/diff/version.rb index 73885d79..c57d1c23 100644 --- a/lib/capybara/screenshot/diff/version.rb +++ b/lib/capybara/screenshot/diff/version.rb @@ -3,7 +3,7 @@ module Capybara module Screenshot module Diff - VERSION = "1.4.1" + VERSION = "1.4.2" end end end diff --git a/test/capybara/screenshot/diff/drivers/vips_driver_test.rb b/test/capybara/screenshot/diff/drivers/vips_driver_test.rb index c330325e..f6f978e3 100644 --- a/test/capybara/screenshot/diff/drivers/vips_driver_test.rb +++ b/test/capybara/screenshot/diff/drivers/vips_driver_test.rb @@ -1,201 +1,206 @@ # frozen_string_literal: true require "test_helper" -require "capybara/screenshot/diff/drivers/vips_driver" -module Capybara - module Screenshot - module Diff - module Drivers - class VipsDriverTest < ActionDispatch::IntegrationTest - include TestHelper +begin + require "capybara/screenshot/diff/drivers/vips_driver" - setup do - @new_screenshot_result = Tempfile.new(%w[screenshot .png], Rails.root) - end + module Capybara + module Screenshot + module Diff + module Drivers + class VipsDriverTest < ActionDispatch::IntegrationTest + include TestHelper - teardown do - if @new_screenshot_result - @new_screenshot_result.close - @new_screenshot_result.unlink + setup do + @new_screenshot_result = Tempfile.new(%w[screenshot .png], Rails.root) end - end - test "#different? for equal is negative" do - comp = make_comparison(:a, :a) - assert_not comp.different? - end + teardown do + if @new_screenshot_result + @new_screenshot_result.close + @new_screenshot_result.unlink + end + end - test "#quick_equal? for equal is positive" do - comp = make_comparison(:a, :a) + test "#different? for equal is negative" do + comp = make_comparison(:a, :a) + assert_not comp.different? + end - assert comp.quick_equal? - end + test "#quick_equal? for equal is positive" do + comp = make_comparison(:a, :a) - test "it can be instantiated" do - assert VipsDriver.new("images/b.png") - end + assert comp.quick_equal? + end - test "it can be instantiated with dimensions" do - assert VipsDriver.new("images/b.png", dimensions: [80, 80]) - end + test "it can be instantiated" do + assert VipsDriver.new("images/b.png") + end - test "when different does not clean runtime files" do - comp = make_comparison(:a, :c) - assert comp.different? - assert_equal [11.0, 3.0, 49.0, 21.0], comp.difference_region - assert File.exist?(comp.old_file_name) - assert File.exist?(comp.annotated_old_file_name) - assert File.exist?(comp.annotated_new_file_name) - end + test "it can be instantiated with dimensions" do + assert VipsDriver.new("images/b.png", dimensions: [80, 80]) + end - test "when equal clean runtime files" do - comp = make_comparison(:c, :c) - assert_not comp.different? - assert_not File.exist?(comp.old_file_name) - assert_not File.exist?(comp.annotated_old_file_name) - assert_not File.exist?(comp.annotated_new_file_name) - end + test "when different does not clean runtime files" do + comp = make_comparison(:a, :c) + assert comp.different? + assert_equal [11.0, 3.0, 49.0, 21.0], comp.difference_region + assert File.exist?(comp.old_file_name) + assert File.exist?(comp.annotated_old_file_name) + assert File.exist?(comp.annotated_new_file_name) + end - test "compare of 1 pixel wide diff" do - comp = make_comparison(:a, :d) - assert comp.different? - assert_equal [9.0, 6.0, 10.0, 14.0], comp.difference_region - end + test "when equal clean runtime files" do + comp = make_comparison(:c, :c) + assert_not comp.different? + assert_not File.exist?(comp.old_file_name) + assert_not File.exist?(comp.annotated_old_file_name) + assert_not File.exist?(comp.annotated_new_file_name) + end - test "compare with color_distance_limit above difference" do - comp = make_comparison(:a, :b, color_distance_limit: 255) - assert_not comp.different? - end + test "compare of 1 pixel wide diff" do + comp = make_comparison(:a, :d) + assert comp.different? + assert_equal [9.0, 6.0, 10.0, 14.0], comp.difference_region + end - test "compare with color_distance_limit below difference" do - comp = make_comparison(:a, :b, color_distance_limit: 3) - assert comp.different? - end + test "compare with color_distance_limit above difference" do + comp = make_comparison(:a, :b, color_distance_limit: 255) + assert_not comp.different? + end - test "compare with tolerance level more then area of the difference" do - comp = make_comparison(:a, :b, tolerance: 0.01) - assert comp.quick_equal? - assert_not comp.different? - end + test "compare with color_distance_limit below difference" do + comp = make_comparison(:a, :b, color_distance_limit: 3) + assert comp.different? + end - test "compare with tolerance level less then area of the difference" do - comp = make_comparison(:a, :b, tolerance: 0.000001) - assert_not comp.quick_equal? - assert comp.different? - end + test "compare with tolerance level more then area of the difference" do + comp = make_comparison(:a, :b, tolerance: 0.01) + assert comp.quick_equal? + assert_not comp.different? + end - test "compare with median_filter_window_size when images have 1px line difference" do - comp = make_comparison(:a, :d, median_filter_window_size: 3, color_distance_limit: 8) - assert comp.quick_equal? - assert_not comp.different? - end + test "compare with tolerance level less then area of the difference" do + comp = make_comparison(:a, :b, tolerance: 0.000001) + assert_not comp.quick_equal? + assert comp.different? + end - test "quick_equal compare with shift_distance_limit above difference" do - comp = make_comparison(:a, :d, shift_distance_limit: 11) - assert comp.quick_equal? - end + test "compare with median_filter_window_size when images have 1px line difference" do + comp = make_comparison(:a, :d, median_filter_window_size: 3, color_distance_limit: 8) + assert comp.quick_equal? + assert_not comp.different? + end - test "different with shift_distance_limit above difference" do - comp = make_comparison(:a, :d, shift_distance_limit: 20) - assert_not comp.different? - end + test "quick_equal compare with shift_distance_limit above difference" do + comp = make_comparison(:a, :d, shift_distance_limit: 11) + assert comp.quick_equal? + end - test "quick_equal? with shift_distance_limit below difference" do - comp = make_comparison(:a, :b, shift_distance_limit: 9) - assert_not comp.quick_equal? - end + test "different with shift_distance_limit above difference" do + comp = make_comparison(:a, :d, shift_distance_limit: 20) + assert_not comp.different? + end - test "different? with shift_distance_limit below difference" do - comp = make_comparison(:a, :b, shift_distance_limit: 9) - assert comp.different? - end + test "quick_equal? with shift_distance_limit below difference" do + comp = make_comparison(:a, :b, shift_distance_limit: 9) + assert_not comp.quick_equal? + end - test "quick_equal" do - comp = make_comparison(:a, :b) - assert_not comp.quick_equal? - end + test "different? with shift_distance_limit below difference" do + comp = make_comparison(:a, :b, shift_distance_limit: 9) + assert comp.different? + end - test "quick_equal with color distance limit below current level" do - comp = make_comparison(:a, :b, color_distance_limit: 2) - assert_not comp.quick_equal? - end + test "quick_equal" do + comp = make_comparison(:a, :b) + assert_not comp.quick_equal? + end - test "quick_equal with color distance limit above current level" do - comp = make_comparison(:a, :b, color_distance_limit: 200) - assert comp.quick_equal? - end + test "quick_equal with color distance limit below current level" do + comp = make_comparison(:a, :b, color_distance_limit: 2) + assert_not comp.quick_equal? + end - test "size a vs a_cropped" do - comp = make_comparison(:a, :a_cropped) - comp.different? - assert_equal 6400, comp.size(comp.difference_region) - end + test "quick_equal with color distance limit above current level" do + comp = make_comparison(:a, :b, color_distance_limit: 200) + assert comp.quick_equal? + end - test "quick_equal compare skips difference if skip_area covers it" do - comp = make_comparison(:a, :d, skip_area: [[9, 0, 11, 80], [79, 79, 80, 80]]) - assert comp.quick_equal? - assert_not comp.different? - end + test "size a vs a_cropped" do + comp = make_comparison(:a, :a_cropped) + comp.different? + assert_equal 6400, comp.size(comp.difference_region) + end - test "quick_equal compare skips difference if skip_area does not cover it" do - comp = make_comparison(:a, :d, skip_area: [[79, 79, 80, 80], [78, 78, 80, 80]]) - assert_not comp.quick_equal? - assert comp.different? - end + test "quick_equal compare skips difference if skip_area covers it" do + comp = make_comparison(:a, :d, skip_area: [[9, 0, 11, 80], [79, 79, 80, 80]]) + assert comp.quick_equal? + assert_not comp.different? + end - # Test Interface Contracts + test "quick_equal compare skips difference if skip_area does not cover it" do + comp = make_comparison(:a, :d, skip_area: [[79, 79, 80, 80], [78, 78, 80, 80]]) + assert_not comp.quick_equal? + assert comp.different? + end - test "from_file loads image from path" do - driver = VipsDriver.new("#{Rails.root}/screenshot.png") - assert driver.from_file("#{TEST_IMAGES_DIR}/a.png") - end + # Test Interface Contracts - test "size requires region" do - driver = VipsDriver.new("#{Rails.root}/screenshot.png") - assert driver.size(sample_region) - end + test "from_file loads image from path" do + driver = VipsDriver.new("#{Rails.root}/screenshot.png") + assert driver.from_file("#{TEST_IMAGES_DIR}/a.png") + end - private + test "size requires region" do + driver = VipsDriver.new("#{Rails.root}/screenshot.png") + assert driver.size(sample_region) + end - def make_comparison(old_img, new_img, **driver_args) - result = ImageCompare.new(@new_screenshot_result.path, **driver_args.merge(driver: :vips)) - set_test_images(result, old_img, new_img) - result - end + private + + def make_comparison(old_img, new_img, **driver_args) + result = ImageCompare.new(@new_screenshot_result.path, **driver_args.merge(driver: :vips)) + set_test_images(result, old_img, new_img) + result + end - def sample_region - [0, 0, 0, 0] + def sample_region + [0, 0, 0, 0] + end end - end - class VipsUtilTest < ActiveSupport::TestCase - test "segment difference without min color difference" do - old_image = Vips::Image.new_from_file("#{TEST_IMAGES_DIR}/a.png") - new_image = Vips::Image.new_from_file("#{TEST_IMAGES_DIR}/b.png") + class VipsUtilTest < ActiveSupport::TestCase + test "segment difference without min color difference" do + old_image = Vips::Image.new_from_file("#{TEST_IMAGES_DIR}/a.png") + new_image = Vips::Image.new_from_file("#{TEST_IMAGES_DIR}/b.png") - left, top, right, bottom = VipsDriver::VipsUtil.difference(old_image, new_image) + left, top, right, bottom = VipsDriver::VipsUtil.difference(old_image, new_image) - assert_equal [20.0, 15.0, 30.0, 25.0], [left, top, right, bottom] - end + assert_equal [20.0, 15.0, 30.0, 25.0], [left, top, right, bottom] + end - test "segment difference" do - old_image = Vips::Image.new_from_file("#{TEST_IMAGES_DIR}/a.png") - new_image = Vips::Image.new_from_file("#{TEST_IMAGES_DIR}/b.png") + test "segment difference" do + old_image = Vips::Image.new_from_file("#{TEST_IMAGES_DIR}/a.png") + new_image = Vips::Image.new_from_file("#{TEST_IMAGES_DIR}/b.png") - left, top, right, bottom = VipsDriver::VipsUtil.difference(old_image, new_image) + left, top, right, bottom = VipsDriver::VipsUtil.difference(old_image, new_image) - assert_equal [20.0, 15.0, 30.0, 25.0], [left, top, right, bottom] - end + assert_equal [20.0, 15.0, 30.0, 25.0], [left, top, right, bottom] + end - test "area of the difference" do - old_image = Vips::Image.new_from_file("#{TEST_IMAGES_DIR}/a.png") - new_image = Vips::Image.new_from_file("#{TEST_IMAGES_DIR}/d.png").bandjoin(255) + test "area of the difference" do + old_image = Vips::Image.new_from_file("#{TEST_IMAGES_DIR}/a.png") + new_image = Vips::Image.new_from_file("#{TEST_IMAGES_DIR}/d.png").bandjoin(255) - assert_equal 8, VipsDriver::VipsUtil.difference_area(old_image, new_image, color_distance: 10) + assert_equal 8, VipsDriver::VipsUtil.difference_area(old_image, new_image, color_distance: 10) + end end end end end end +rescue LoadError + puts "VIPS not present. Skipping VIPS driver tests." end diff --git a/test/capybara/screenshot/diff/image_compare_test.rb b/test/capybara/screenshot/diff/image_compare_test.rb index f0673921..10009e53 100644 --- a/test/capybara/screenshot/diff/image_compare_test.rb +++ b/test/capybara/screenshot/diff/image_compare_test.rb @@ -20,11 +20,13 @@ class ImageCompareTest < ActionDispatch::IntegrationTest end test "it can be instantiated with vips adapter" do + skip unless defined?(Capybara::Screenshot::Diff::Drivers::VipsDriverTest) comparison = ImageCompare.new("images/b.png", driver: :vips) assert_kind_of Drivers::VipsDriver, comparison.driver end test "it can be instantiated with vips adapter and tolerance option" do + skip unless defined?(Capybara::Screenshot::Diff::Drivers::VipsDriverTest) comp = make_comparison(:a, :b, driver: :vips, tolerance: 0.02) assert comp.quick_equal? assert_not comp.different? @@ -39,6 +41,7 @@ class ImageCompareTest < ActionDispatch::IntegrationTest end test "for driver: :auto returns first from available drivers" do + skip unless defined?(Capybara::Screenshot::Diff::Drivers::VipsDriverTest) comparison = ImageCompare.new("images/b.png", driver: :auto) assert_kind_of Drivers::VipsDriver, comparison.driver end diff --git a/test/capybara/screenshot/diff/test_methods_test.rb b/test/capybara/screenshot/diff/test_methods_test.rb index 18b3a074..12a7a8c3 100644 --- a/test/capybara/screenshot/diff/test_methods_test.rb +++ b/test/capybara/screenshot/diff/test_methods_test.rb @@ -35,6 +35,7 @@ def test_assert_image_not_changed_with_shift_distance_limit end def test_screenshot_support_drivers_options + skip unless defined?(Capybara::Screenshot::Diff::Drivers::VipsDriverTest) screenshot("a", driver: :vips) end end diff --git a/test/capybara/screenshot/diff_test.rb b/test/capybara/screenshot/diff_test.rb index 29643317..c599ed0d 100644 --- a/test/capybara/screenshot/diff_test.rb +++ b/test/capybara/screenshot/diff_test.rb @@ -104,7 +104,12 @@ def test_screenshot_with_color_threshold test "detect available diff drivers on the loading" do # NOTE for tests we are loading both drivers, so we expect that all of them are available - assert_equal %i[vips chunky_png], Capybara::Screenshot::Diff::AVAILABLE_DRIVERS + expected_drivers = if defined?(Capybara::Screenshot::Diff::Drivers::VipsDriverTest) + %i[vips chunky_png] + else + %i[chunky_png] + end + assert_equal expected_drivers, Capybara::Screenshot::Diff::AVAILABLE_DRIVERS end end end diff --git a/test/system_test_case.rb b/test/system_test_case.rb index 531955b2..ae4fe0f7 100644 --- a/test/system_test_case.rb +++ b/test/system_test_case.rb @@ -13,7 +13,7 @@ class SystemTestCase < ActionDispatch::IntegrationTest Capybara::Screenshot.save_path = "test/fixtures/app/doc/screenshots" Capybara::Screenshot.enabled = true Capybara::Screenshot::Diff.enabled = true - Capybara::Screenshot::Diff.driver = ENV.fetch("SCREENSHOT_DRIVER", "vips").to_sym + Capybara::Screenshot::Diff.driver = ENV.fetch("SCREENSHOT_DRIVER", "chunky_png").to_sym # TODO: Makes configurations copying and restoring much easier From 79580ba10d67e573d69b46ff2ffdb6523064a630 Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Tue, 29 Dec 2020 09:25:16 +0100 Subject: [PATCH 129/312] Run tests against PRs vs master --- .github/workflows/test.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 8cc017b6..dae3f8a7 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -4,6 +4,7 @@ on: push: branches: [ $default-branch ] pull_request: + branches: [ $default-branch ] env: BUNDLE_GEMFILE: 'gemfiles/rails61_gems.rb' From ce7aff6f4f081a8ff14b550c66fd6986dae06860 Mon Sep 17 00:00:00 2001 From: Paul Keen <125715+pftg@users.noreply.github.com> Date: Wed, 30 Dec 2020 14:33:30 +0200 Subject: [PATCH 130/312] Adds ruby 3.0 support (#37) * Adds ruby 3.0 support * Setup GitHub Actions to run PR from forked repos * Fixes lint errors --- .github/workflows/test.yml | 10 +++++++++- capybara-screenshot-diff.gemspec | 2 +- .../screenshot/diff/drivers/vips_driver.rb | 2 +- lib/capybara/screenshot/diff/stabilization.rb | 14 +++++++------- test/capybara/screenshot/diff_test.rb | 8 ++++---- 5 files changed, 22 insertions(+), 14 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index dae3f8a7..160ccb88 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -3,8 +3,9 @@ name: Test on: push: branches: [ $default-branch ] - pull_request: + pull_request_target: branches: [ $default-branch ] + pull_request: env: BUNDLE_GEMFILE: 'gemfiles/rails61_gems.rb' @@ -78,6 +79,13 @@ jobs: - 'rails51.gemfile' - 'rails50.gemfile' - 'rails42.gemfile' + include: + - ruby-version: '3.0' + gemfile: 'rails61_gems.rb' + - ruby-version: '3.0' + gemfile: 'rails60_gems.rb' + + env: BUNDLE_GEMFILE: gemfiles/${{ matrix.gemfile }} diff --git a/capybara-screenshot-diff.gemspec b/capybara-screenshot-diff.gemspec index acdea655..4ad39a7c 100644 --- a/capybara-screenshot-diff.gemspec +++ b/capybara-screenshot-diff.gemspec @@ -12,7 +12,7 @@ Gem::Specification.new do |spec| spec.summary = "Track your GUI changes with diff assertions" spec.description = "Save screen shots and track changes with graphical diff" spec.homepage = "https://github.com/donv/capybara-screenshot-diff" - spec.required_ruby_version = "~> 2.5" + spec.required_ruby_version = ">= 2.5.0" spec.license = "MIT" spec.metadata["allowed_push_host"] = "https://rubygems.org/" spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) } diff --git a/lib/capybara/screenshot/diff/drivers/vips_driver.rb b/lib/capybara/screenshot/diff/drivers/vips_driver.rb index 37089376..e3879c03 100644 --- a/lib/capybara/screenshot/diff/drivers/vips_driver.rb +++ b/lib/capybara/screenshot/diff/drivers/vips_driver.rb @@ -82,7 +82,7 @@ def chunky_png_comparator @chunky_png_comparator ||= ImageCompare.new( @new_file_name, @old_file_name, - @options.merge(driver: :chunky_png, tolerance: nil, median_filter_window_size: nil) + **@options.merge(driver: :chunky_png, tolerance: nil, median_filter_window_size: nil) ) end diff --git a/lib/capybara/screenshot/diff/stabilization.rb b/lib/capybara/screenshot/diff/stabilization.rb index 2935025c..f85a0d89 100644 --- a/lib/capybara/screenshot/diff/stabilization.rb +++ b/lib/capybara/screenshot/diff/stabilization.rb @@ -21,13 +21,13 @@ module Stabilization JS HIDE_CARET_SCRIPT = <<~JS - if (!document.getElementById('csdHideCaretStyle')) { - let style = document.createElement('style'); - style.setAttribute('id', 'csdHideCaretStyle'); - document.head.appendChild(style); - let styleSheet = style.sheet; - styleSheet.insertRule("* { caret-color: transparent !important; }", 0); - } + if (!document.getElementById('csdHideCaretStyle')) { + let style = document.createElement('style'); + style.setAttribute('id', 'csdHideCaretStyle'); + document.head.appendChild(style); + let styleSheet = style.sheet; + styleSheet.insertRule("* { caret-color: transparent !important; }", 0); + } JS def take_stable_screenshot(comparison, stability_time_limit:, wait:) diff --git a/test/capybara/screenshot/diff_test.rb b/test/capybara/screenshot/diff_test.rb index c599ed0d..104e18ff 100644 --- a/test/capybara/screenshot/diff_test.rb +++ b/test/capybara/screenshot/diff_test.rb @@ -105,10 +105,10 @@ def test_screenshot_with_color_threshold test "detect available diff drivers on the loading" do # NOTE for tests we are loading both drivers, so we expect that all of them are available expected_drivers = if defined?(Capybara::Screenshot::Diff::Drivers::VipsDriverTest) - %i[vips chunky_png] - else - %i[chunky_png] - end + %i[vips chunky_png] + else + %i[chunky_png] + end assert_equal expected_drivers, Capybara::Screenshot::Diff::AVAILABLE_DRIVERS end end From e8b60b812cb7df7a8a912d7d8fad32d37115071e Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Wed, 30 Dec 2020 13:38:50 +0100 Subject: [PATCH 131/312] Bump to version 1.5.0 for Ruby 3.0 release --- lib/capybara/screenshot/diff/version.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/capybara/screenshot/diff/version.rb b/lib/capybara/screenshot/diff/version.rb index c57d1c23..c106681a 100644 --- a/lib/capybara/screenshot/diff/version.rb +++ b/lib/capybara/screenshot/diff/version.rb @@ -3,7 +3,7 @@ module Capybara module Screenshot module Diff - VERSION = "1.4.2" + VERSION = "1.5.0" end end end From 27d0652220204a5c8ff0497a8f1faf3ae92c66ec Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Tue, 24 Aug 2021 08:38:03 +0200 Subject: [PATCH 132/312] Fixed ChunkyPNG::OutOfBounds due to swapped right/bottom difference region --- .../diff/drivers/chunky_png_driver.rb | 4 +- lib/capybara/screenshot/diff/version.rb | 2 +- .../screenshot/diff/image_compare_test.rb | 86 +++++++++--------- test/images/portrait.png | Bin 0 -> 969 bytes test/images/portrait_b.png | Bin 0 -> 981 bytes 5 files changed, 47 insertions(+), 45 deletions(-) create mode 100644 test/images/portrait.png create mode 100644 test/images/portrait_b.png diff --git a/lib/capybara/screenshot/diff/drivers/chunky_png_driver.rb b/lib/capybara/screenshot/diff/drivers/chunky_png_driver.rb index dad0c522..971e423c 100644 --- a/lib/capybara/screenshot/diff/drivers/chunky_png_driver.rb +++ b/lib/capybara/screenshot/diff/drivers/chunky_png_driver.rb @@ -209,8 +209,8 @@ def find_top(old_img, new_img) def find_left_right_and_top(old_img, new_img, region) left = region[0] || old_img.width - 1 top = region[1] - bottom = region[2] - right = region[3] || 0 + right = region[2] || 0 + bottom = region[3] old_img.height.times do |y| (0...left).find do |x| next if same_color?(old_img, new_img, x, y) diff --git a/lib/capybara/screenshot/diff/version.rb b/lib/capybara/screenshot/diff/version.rb index c106681a..599c8b69 100644 --- a/lib/capybara/screenshot/diff/version.rb +++ b/lib/capybara/screenshot/diff/version.rb @@ -3,7 +3,7 @@ module Capybara module Screenshot module Diff - VERSION = "1.5.0" + VERSION = "1.5.1" end end end diff --git a/test/capybara/screenshot/diff/image_compare_test.rb b/test/capybara/screenshot/diff/image_compare_test.rb index 10009e53..1b444c03 100644 --- a/test/capybara/screenshot/diff/image_compare_test.rb +++ b/test/capybara/screenshot/diff/image_compare_test.rb @@ -2,57 +2,59 @@ require "test_helper" require "minitest/stub_const" +require "capybara/screenshot/diff/drivers/chunky_png_driver" +require "capybara/screenshot/diff/drivers/vips_driver" module Capybara module Screenshot module Diff class ImageCompareTest < ActionDispatch::IntegrationTest include TestHelper - - test "it can be instantiated with chunky_png driver" do - comparison = ImageCompare.new("images/b.png") - assert_kind_of Drivers::ChunkyPNGDriver, comparison.driver - end - - test "it can be instantiated with explicit chunky_png adapter" do - comparison = ImageCompare.new("images/b.png", driver: :chunky_png) - assert_kind_of Drivers::ChunkyPNGDriver, comparison.driver - end - - test "it can be instantiated with vips adapter" do - skip unless defined?(Capybara::Screenshot::Diff::Drivers::VipsDriverTest) - comparison = ImageCompare.new("images/b.png", driver: :vips) - assert_kind_of Drivers::VipsDriver, comparison.driver - end - - test "it can be instantiated with vips adapter and tolerance option" do - skip unless defined?(Capybara::Screenshot::Diff::Drivers::VipsDriverTest) - comp = make_comparison(:a, :b, driver: :vips, tolerance: 0.02) - assert comp.quick_equal? - assert_not comp.different? - end - - test "could pass use tolerance for chunky_png driver" do - ImageCompare.new("images/b.png", driver: :chunky_png, tolerance: 0.02) - end - - test "it can be instantiated with dimensions" do - assert ImageCompare.new("images/b.png", dimensions: [80, 80]) - end - - test "for driver: :auto returns first from available drivers" do - skip unless defined?(Capybara::Screenshot::Diff::Drivers::VipsDriverTest) - comparison = ImageCompare.new("images/b.png", driver: :auto) - assert_kind_of Drivers::VipsDriver, comparison.driver - end - - test "for driver: :auto raise error if no drivers are available" do - Capybara::Screenshot::Diff.stub_const(:AVAILABLE_DRIVERS, []) do - assert_raise(RuntimeError) do - ImageCompare.new("images/b.png", driver: :auto) + IMAGES = Dir[File.expand_path("../../../images/*.png", __dir__)].map { |f| File.basename(f).chomp('.png') } + + { default: Drivers::ChunkyPNGDriver, chunky_png: Drivers::ChunkyPNGDriver, + # vips: Drivers::VipsDriver, auto: Drivers::VipsDriver + }.each do |driver, driver_class| + unless driver_class == Drivers::VipsDriver && !defined?(Capybara::Screenshot::Diff::Drivers::VipsDriverTest) + driver_opts = driver == :default ? {} : { driver: driver } + Dir.chdir File.expand_path("../../../images", __dir__) do + IMAGES.each do |old_img| + IMAGES.each do |new_img| + test "compare #{old_img} with #{new_img} with #{driver} driver" do + comparison = make_comparison(old_img, new_img, **driver_opts) + assert_kind_of driver_class, comparison.driver + same = old_img == new_img + assert_equal same, comparison.quick_equal? + assert_equal !same, comparison.different? + end + end end end + end end + + # test "it can be instantiated with vips adapter and tolerance option" do + # skip unless defined?(Capybara::Screenshot::Diff::Drivers::VipsDriverTest) + # comp = make_comparison(:a, :b, driver: :vips, tolerance: 0.02) + # assert comp.quick_equal? + # assert_not comp.different? + # end + # + # test "could pass use tolerance for chunky_png driver" do + # ImageCompare.new("images/b.png", driver: :chunky_png, tolerance: 0.02) + # end + # + # test "it can be instantiated with dimensions" do + # assert ImageCompare.new("images/b.png", dimensions: [80, 80]) + # end + # + # test "for driver: :auto raise error if no drivers are available" do + # Capybara::Screenshot::Diff.stub_const(:AVAILABLE_DRIVERS, []) do + # assert_raise(RuntimeError) do + # ImageCompare.new("images/b.png", driver: :auto) + # end + # end + # end end end end diff --git a/test/images/portrait.png b/test/images/portrait.png new file mode 100644 index 0000000000000000000000000000000000000000..aa7f0ae721e789d85c064526b8334ebba2f0ae78 GIT binary patch literal 969 zcmeAS@N?(olHy`uVBq!ia0vp^%s|Y>!3H9qs_+0QmUKs7M+SzC{oH>NS%G|oWRD45bDP46hOx7_4S6Fo+k-*%fF5l&DCJ@J#ddWzYh$IT%>x%Bs2U~)hW1Pb7O0viAPoW@Kn&6Yp_vvi!BsFX zV1~0n&Sy|QV*+#w180FpWHAE+w=f7ZGR&GI!N9lF>KRGtkGTEwv&Ohc=K5L>t&&5bJC}hFSR+Wu^ih404v8p$*sq6fuPJAnJos zi}Q0zLCQn(GE3}?pjyy`k#vFVwhG9sNX?0K$;?g7D+bwQVPK<=RRXKV2!uv66pcs{ z=o+2#bMlLV3lfu4LEZw}g(L)3ZKDs038a{TL_1g%81HsmHu~^1WXC1=@>Mx7S$TT8 zIEHY@ik{lY+hD-Mda?Vk(-e^@Zw{RCX;|?h(4{-z4gb4$OTwp>3O7|s8NTOZU00TT um)Y~p@y=8gZ|e$+^V+Mf)=z5f5US~CRkJy+T6PqaSUp|+T-G@yGywn)hzE%P literal 0 HcmV?d00001 diff --git a/test/images/portrait_b.png b/test/images/portrait_b.png new file mode 100644 index 0000000000000000000000000000000000000000..b6089e5df2814350dfca5e8ac409939e5128e84f GIT binary patch literal 981 zcmeAS@N?(olHy`uVBq!ia0vp^%s|Y>!3H9qs_+0QmUKs7M+SzC{oH>NS%G|oWRD45bDP46hOx7_4S6Fo+k-*%fF5l&DCJ@J#ddWzYh$IT%>x%Bs2U~)hW1Pb7O0viAPoW@Kn&6Yp_vvi!BsFX zV1~0n&Sy|QV*+#w180FpWHAE+w=f7ZGR&GI!N9lF>KRGtkGTEwv&Ohc=K5L>t&&5bJC}hFSR+Wu^ih404v8p$*sq6fuPJAnJos zi}Q0zLCQn(GE3}?pjyy`k#vFVwhG9sNX?0K$;?g7D+bwQW}}Z)9IL(vgg#?reMsWy z`keD~@{58C5|dLwo&sBiBm`A$qYsJ)qvmi=`tTHF$Mt3X#}B|n74GTc z7{VdTdeEBB!9m2~;%_zKN5NV;4KAxgG~OPZwbp?pF!RXrNgh4VWioI11+G{v^f->4 z>2_UG-1mj6z8r4aJ9+Bn2!sCq+NN%0*^loyr2Qm6&QVtSqgpTLJX3OU6DZ+&y85}S Ib4q9e05JXzS^xk5 literal 0 HcmV?d00001 From 32ece776eeda0da9e2b3e8fb6ea894ba5e9fa9dd Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Tue, 24 Aug 2021 08:44:02 +0200 Subject: [PATCH 133/312] Start testing in CI with Ruby 3.0.x --- .github/workflows/test.yml | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 160ccb88..b607223b 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -71,7 +71,7 @@ jobs: strategy: matrix: - ruby-version: [ '2.7', '2.6', '2.5', 'jruby' ] + ruby-version: [ '3.0', '2.7', '2.6', 'jruby' ] gemfile: - 'rails61_gems.rb' - 'rails60_gems.rb' @@ -79,12 +79,11 @@ jobs: - 'rails51.gemfile' - 'rails50.gemfile' - 'rails42.gemfile' - include: - - ruby-version: '3.0' - gemfile: 'rails61_gems.rb' - - ruby-version: '3.0' - gemfile: 'rails60_gems.rb' - +# exclude: +# - ruby-version: '3.0' +# gemfile: 'rails50_gems.rb' +# - ruby-version: '3.0' +# gemfile: 'rails42_gems.rb' env: BUNDLE_GEMFILE: gemfiles/${{ matrix.gemfile }} From 0ced5a6a9eb9929f8728818f6a195725e2a5abae Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Wed, 29 Sep 2021 12:44:18 +0200 Subject: [PATCH 134/312] Use Minitest::Assertion if avaliable --- lib/capybara/screenshot/diff.rb | 8 +++++++- lib/capybara/screenshot/diff/version.rb | 2 +- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/lib/capybara/screenshot/diff.rb b/lib/capybara/screenshot/diff.rb index ee631421..b29e6903 100644 --- a/lib/capybara/screenshot/diff.rb +++ b/lib/capybara/screenshot/diff.rb @@ -55,6 +55,12 @@ module Diff mattr_accessor(:tolerance) { 0.001 } AVAILABLE_DRIVERS = Utils.detect_available_drivers.freeze + begin + require 'minitest' + ASSERTION = Minitest::Assertion + rescue + ASSERTION = RuntimeError + end def self.included(klass) klass.include TestMethods @@ -73,7 +79,7 @@ def self.included(klass) test_screenshot_errors = @test_screenshots .map { |caller, name, compare| assert_image_not_changed(caller, name, compare) } test_screenshot_errors.compact! - fail(test_screenshot_errors.join("\n\n")) if test_screenshot_errors.any? + raise ASSERTION, test_screenshot_errors.join("\n\n") if test_screenshot_errors.any? end end end diff --git a/lib/capybara/screenshot/diff/version.rb b/lib/capybara/screenshot/diff/version.rb index 599c8b69..ff2eeafd 100644 --- a/lib/capybara/screenshot/diff/version.rb +++ b/lib/capybara/screenshot/diff/version.rb @@ -3,7 +3,7 @@ module Capybara module Screenshot module Diff - VERSION = "1.5.1" + VERSION = "1.5.2" end end end From 26ac722ab131f904da3d4ce2c64735f7a7e5d975 Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Sun, 3 Oct 2021 19:26:09 +0200 Subject: [PATCH 135/312] Double quote string as per standard --- lib/capybara/screenshot/diff.rb | 2 +- test/capybara/screenshot/diff/image_compare_test.rb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/capybara/screenshot/diff.rb b/lib/capybara/screenshot/diff.rb index b29e6903..250b039b 100644 --- a/lib/capybara/screenshot/diff.rb +++ b/lib/capybara/screenshot/diff.rb @@ -56,7 +56,7 @@ module Diff AVAILABLE_DRIVERS = Utils.detect_available_drivers.freeze begin - require 'minitest' + require "minitest" ASSERTION = Minitest::Assertion rescue ASSERTION = RuntimeError diff --git a/test/capybara/screenshot/diff/image_compare_test.rb b/test/capybara/screenshot/diff/image_compare_test.rb index 1b444c03..76664326 100644 --- a/test/capybara/screenshot/diff/image_compare_test.rb +++ b/test/capybara/screenshot/diff/image_compare_test.rb @@ -10,7 +10,7 @@ module Screenshot module Diff class ImageCompareTest < ActionDispatch::IntegrationTest include TestHelper - IMAGES = Dir[File.expand_path("../../../images/*.png", __dir__)].map { |f| File.basename(f).chomp('.png') } + IMAGES = Dir[File.expand_path("../../../images/*.png", __dir__)].map { |f| File.basename(f).chomp(".png") } { default: Drivers::ChunkyPNGDriver, chunky_png: Drivers::ChunkyPNGDriver, # vips: Drivers::VipsDriver, auto: Drivers::VipsDriver From bedb2f920e236636b914056db8ef2b062089d48d Mon Sep 17 00:00:00 2001 From: Jimmy Chen Date: Tue, 19 Oct 2021 02:13:00 -0400 Subject: [PATCH 136/312] Added a better rspec usage section because the existing one doesn't work. --- README.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/README.md b/README.md index 30212dd5..5800dbe8 100644 --- a/README.md +++ b/README.md @@ -67,6 +67,15 @@ describe 'Permissions admin', :type => :feature, :js => true do end ``` +But it's better to include it within your *_helper.rb file so that it can used anywhere in your feature specs. +```ruby +# spec/feature_helper.rb +require 'capybara/screenshot/diff' + +RSpec.configure do |config| + config.include Capybara::Screenshot::Diff::TestMethods +end +``` ### Taking screenshots From cb964c4c205a3b736ba9e9e2e79ff8650795ac3d Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Wed, 8 Dec 2021 11:38:40 +0100 Subject: [PATCH 137/312] Fix drawing of multiple skip_areas --- lib/capybara/screenshot/diff/test_methods.rb | 2 +- lib/capybara/screenshot/diff/version.rb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/capybara/screenshot/diff/test_methods.rb b/lib/capybara/screenshot/diff/test_methods.rb index 264fc015..a36a8cff 100644 --- a/lib/capybara/screenshot/diff/test_methods.rb +++ b/lib/capybara/screenshot/diff/test_methods.rb @@ -82,7 +82,7 @@ def screenshot( # Allow nil or single or multiple areas if driver_options[:skip_area] - driver_options[:skip_area] = driver_options[:skip_area].compact.flatten&.each_cons(4)&.to_a + driver_options[:skip_area] = driver_options[:skip_area].compact.flatten&.each_slice(4)&.to_a end if @screenshot_counter diff --git a/lib/capybara/screenshot/diff/version.rb b/lib/capybara/screenshot/diff/version.rb index ff2eeafd..4c510fa5 100644 --- a/lib/capybara/screenshot/diff/version.rb +++ b/lib/capybara/screenshot/diff/version.rb @@ -3,7 +3,7 @@ module Capybara module Screenshot module Diff - VERSION = "1.5.2" + VERSION = "1.5.3" end end end From d858127a37c2b312b114698a6d277c1c0ca21a12 Mon Sep 17 00:00:00 2001 From: Paul Keen <125715+pftg@users.noreply.github.com> Date: Sun, 9 Jan 2022 18:31:13 +0200 Subject: [PATCH 138/312] Drops unsupported ruby and rails versions (#40) * Adds Rails 7 support * Drops unsupported rails and ruby versions * Adds ruby 3.0 into testing matrix * Adds ruby 3.1 into testing matrix --- .github/workflows/test.yml | 25 ++++++++--------- .standard.yml | 2 +- capybara-screenshot-diff.gemspec | 2 +- gemfiles/rails42.gemfile | 7 ----- gemfiles/rails51.gemfile | 6 ---- gemfiles/{rails50.gemfile => rails70_gems.rb} | 3 +- .../screenshot/diff/image_compare_test.rb | 28 ++++++++++--------- test/test_helper.rb | 2 +- 8 files changed, 31 insertions(+), 44 deletions(-) delete mode 100644 gemfiles/rails42.gemfile delete mode 100644 gemfiles/rails51.gemfile rename gemfiles/{rails50.gemfile => rails70_gems.rb} (63%) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index b607223b..0b55b0a4 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -8,7 +8,7 @@ on: pull_request: env: - BUNDLE_GEMFILE: 'gemfiles/rails61_gems.rb' + BUNDLE_GEMFILE: 'gemfiles/rails70_gems.rb' FERRUM_PROCESS_TIMEOUT: '15' WD_CACHE_TIME: '864000' # 10 days @@ -24,7 +24,7 @@ jobs: - name: Set up Ruby uses: ruby/setup-ruby@v1 with: - ruby-version: '2.7' + ruby-version: '3.0' bundler-cache: true - name: Run Standard Ruby linter @@ -41,7 +41,7 @@ jobs: - name: Set up Ruby uses: ruby/setup-ruby@v1 with: - ruby-version: '2.7' + ruby-version: '3.0' bundler-cache: true - name: Install libvips @@ -71,20 +71,17 @@ jobs: strategy: matrix: - ruby-version: [ '3.0', '2.7', '2.6', 'jruby' ] + ruby-version: [ '3.1', '3.0', '2.7', '2.6', 'jruby' ] gemfile: - 'rails61_gems.rb' - 'rails60_gems.rb' - 'rails52.gemfile' - - 'rails51.gemfile' - - 'rails50.gemfile' - - 'rails42.gemfile' -# exclude: -# - ruby-version: '3.0' -# gemfile: 'rails50_gems.rb' -# - ruby-version: '3.0' -# gemfile: 'rails42_gems.rb' - + include: + - ruby-version: 2.7 + gemfile: rails70_gems.rb + # NOTE: We are testing rails 7 + ruby 3 in the `test` job + # - ruby-version: 3.0 + # gemfile: rails70_gems.rb env: BUNDLE_GEMFILE: gemfiles/${{ matrix.gemfile }} @@ -124,7 +121,7 @@ jobs: - name: Set up Ruby uses: ruby/setup-ruby@v1 with: - ruby-version: '2.7' + ruby-version: '3.0' bundler-cache: true - name: Install libvips diff --git a/.standard.yml b/.standard.yml index 34b94d1f..997563da 100644 --- a/.standard.yml +++ b/.standard.yml @@ -1,7 +1,7 @@ fix: true # default: false parallel: true # default: false format: progress # default: Standard::Formatter -ruby_version: 2.5 # default: RUBY_VERSION +ruby_version: 2.6 # default: RUBY_VERSION default_ignores: false # default: true ignore: # default: [] diff --git a/capybara-screenshot-diff.gemspec b/capybara-screenshot-diff.gemspec index 4ad39a7c..b15c593c 100644 --- a/capybara-screenshot-diff.gemspec +++ b/capybara-screenshot-diff.gemspec @@ -20,7 +20,7 @@ Gem::Specification.new do |spec| spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) } spec.require_paths = ["lib"] - spec.add_runtime_dependency "actionpack", ">= 4.2", "< 7" + spec.add_runtime_dependency "actionpack", ">= 4.2", "< 8" spec.add_runtime_dependency "capybara", ">= 2", "< 4" spec.add_runtime_dependency "chunky_png", "~> 1.3" end diff --git a/gemfiles/rails42.gemfile b/gemfiles/rails42.gemfile deleted file mode 100644 index 2d2b5fa3..00000000 --- a/gemfiles/rails42.gemfile +++ /dev/null @@ -1,7 +0,0 @@ -# frozen_string_literal: true - -gems = "#{File.dirname __dir__}/gems.rb" -eval File.read(gems), binding, gems - -gem "actionpack", "~>4.2.7" -gem "bigdecimal", "<2", platform: :mri diff --git a/gemfiles/rails51.gemfile b/gemfiles/rails51.gemfile deleted file mode 100644 index b1db25dd..00000000 --- a/gemfiles/rails51.gemfile +++ /dev/null @@ -1,6 +0,0 @@ -# frozen_string_literal: true - -gems = "#{File.dirname __dir__}/gems.rb" -eval File.read(gems), binding, gems - -gem "actionpack", "~>5.1.2" diff --git a/gemfiles/rails50.gemfile b/gemfiles/rails70_gems.rb similarity index 63% rename from gemfiles/rails50.gemfile rename to gemfiles/rails70_gems.rb index cb412ff2..49c15322 100644 --- a/gemfiles/rails50.gemfile +++ b/gemfiles/rails70_gems.rb @@ -3,4 +3,5 @@ gems = "#{File.dirname __dir__}/gems.rb" eval File.read(gems), binding, gems -gem "actionpack", "~>5.0.1" +gem "actionpack", "~> 7.0", "< 7.1" +gem "capybara", ">= 3.26" diff --git a/test/capybara/screenshot/diff/image_compare_test.rb b/test/capybara/screenshot/diff/image_compare_test.rb index 76664326..8c67d2e4 100644 --- a/test/capybara/screenshot/diff/image_compare_test.rb +++ b/test/capybara/screenshot/diff/image_compare_test.rb @@ -12,25 +12,27 @@ class ImageCompareTest < ActionDispatch::IntegrationTest include TestHelper IMAGES = Dir[File.expand_path("../../../images/*.png", __dir__)].map { |f| File.basename(f).chomp(".png") } - { default: Drivers::ChunkyPNGDriver, chunky_png: Drivers::ChunkyPNGDriver, - # vips: Drivers::VipsDriver, auto: Drivers::VipsDriver + { + default: Drivers::ChunkyPNGDriver, + chunky_png: Drivers::ChunkyPNGDriver + # vips: Drivers::VipsDriver, auto: Drivers::VipsDriver }.each do |driver, driver_class| unless driver_class == Drivers::VipsDriver && !defined?(Capybara::Screenshot::Diff::Drivers::VipsDriverTest) - driver_opts = driver == :default ? {} : { driver: driver } - Dir.chdir File.expand_path("../../../images", __dir__) do - IMAGES.each do |old_img| - IMAGES.each do |new_img| - test "compare #{old_img} with #{new_img} with #{driver} driver" do - comparison = make_comparison(old_img, new_img, **driver_opts) - assert_kind_of driver_class, comparison.driver - same = old_img == new_img - assert_equal same, comparison.quick_equal? - assert_equal !same, comparison.different? + driver_opts = driver == :default ? {} : {driver: driver} + Dir.chdir File.expand_path("../../../images", __dir__) do + IMAGES.each do |old_img| + IMAGES.each do |new_img| + test "compare #{old_img} with #{new_img} with #{driver} driver" do + comparison = make_comparison(old_img, new_img, **driver_opts) + assert_kind_of driver_class, comparison.driver + same = old_img == new_img + assert_equal same, comparison.quick_equal? + assert_equal !same, comparison.different? + end end end end end - end end # test "it can be instantiated with vips adapter and tolerance option" do diff --git a/test/test_helper.rb b/test/test_helper.rb index 863bba98..41e9af4d 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -3,7 +3,7 @@ if ENV["COVERAGE"] require "simplecov" SimpleCov.start - SimpleCov.minimum_coverage 92 + SimpleCov.minimum_coverage 91 end $LOAD_PATH.unshift File.expand_path("../lib", __dir__) From 25466af0d7ee1ba3a119400af1e382e1e07d46b2 Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Sun, 16 Jan 2022 22:20:10 +0100 Subject: [PATCH 139/312] Reduce memory footprint SEVERELY by unreferencing completed comparisons --- lib/capybara/screenshot/diff.rb | 1 + lib/capybara/screenshot/diff/version.rb | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/capybara/screenshot/diff.rb b/lib/capybara/screenshot/diff.rb index 250b039b..ce4e69b3 100644 --- a/lib/capybara/screenshot/diff.rb +++ b/lib/capybara/screenshot/diff.rb @@ -78,6 +78,7 @@ def self.included(klass) if Capybara::Screenshot::Diff.enabled && @test_screenshots test_screenshot_errors = @test_screenshots .map { |caller, name, compare| assert_image_not_changed(caller, name, compare) } + @test_screenshots = nil # release the comparison objects from memory test_screenshot_errors.compact! raise ASSERTION, test_screenshot_errors.join("\n\n") if test_screenshot_errors.any? end diff --git a/lib/capybara/screenshot/diff/version.rb b/lib/capybara/screenshot/diff/version.rb index 4c510fa5..63898d2a 100644 --- a/lib/capybara/screenshot/diff/version.rb +++ b/lib/capybara/screenshot/diff/version.rb @@ -3,7 +3,7 @@ module Capybara module Screenshot module Diff - VERSION = "1.5.3" + VERSION = "1.5.4" end end end From 70809880195ada4a3e8c45deb71c6773abb73831 Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Tue, 1 Feb 2022 14:51:53 +0100 Subject: [PATCH 140/312] Allow requiring the entry point using the gem name with dashes. Fixes #41 --- lib/capybara-screenshot-diff.rb | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 lib/capybara-screenshot-diff.rb diff --git a/lib/capybara-screenshot-diff.rb b/lib/capybara-screenshot-diff.rb new file mode 100644 index 00000000..1c5ce18c --- /dev/null +++ b/lib/capybara-screenshot-diff.rb @@ -0,0 +1,3 @@ +# frozen_string_literal: true + +require "capybara/screenshot/diff" From 262f7d7a8452ff796815abe11e9935887125022b Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Tue, 1 Feb 2022 15:20:47 +0100 Subject: [PATCH 141/312] Change error reporting from raising to only storing the exception. Allows other `teardown` callbacks to be run. --- lib/capybara/screenshot/diff.rb | 6 +++++- lib/capybara/screenshot/diff/version.rb | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/lib/capybara/screenshot/diff.rb b/lib/capybara/screenshot/diff.rb index ce4e69b3..ed8bdcb1 100644 --- a/lib/capybara/screenshot/diff.rb +++ b/lib/capybara/screenshot/diff.rb @@ -80,7 +80,11 @@ def self.included(klass) .map { |caller, name, compare| assert_image_not_changed(caller, name, compare) } @test_screenshots = nil # release the comparison objects from memory test_screenshot_errors.compact! - raise ASSERTION, test_screenshot_errors.join("\n\n") if test_screenshot_errors.any? + if test_screenshot_errors.any? + e = ASSERTION.new(test_screenshot_errors.join("\n\n")) + e.set_backtrace(caller) + failures << e + end end end end diff --git a/lib/capybara/screenshot/diff/version.rb b/lib/capybara/screenshot/diff/version.rb index 63898d2a..f2ae366f 100644 --- a/lib/capybara/screenshot/diff/version.rb +++ b/lib/capybara/screenshot/diff/version.rb @@ -3,7 +3,7 @@ module Capybara module Screenshot module Diff - VERSION = "1.5.4" + VERSION = "1.5.5" end end end From 32ab315096d02b21bba3f3b13799bcc98036ea0d Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Tue, 1 Feb 2022 15:29:52 +0100 Subject: [PATCH 142/312] Trigger tests on the master branch --- .github/workflows/test.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 0b55b0a4..fb2b4b6d 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -2,9 +2,9 @@ name: Test on: push: - branches: [ $default-branch ] + branches: [ master ] pull_request_target: - branches: [ $default-branch ] + branches: [ master ] pull_request: env: From e8de727243e15f025196cf40a9d73293a6fa9ae9 Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Thu, 17 Mar 2022 09:28:53 +0100 Subject: [PATCH 143/312] Skip window resize if screenshots are disabled --- lib/capybara/screenshot/diff.rb | 4 ++-- lib/capybara/screenshot/diff/version.rb | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/capybara/screenshot/diff.rb b/lib/capybara/screenshot/diff.rb index ed8bdcb1..2575d932 100644 --- a/lib/capybara/screenshot/diff.rb +++ b/lib/capybara/screenshot/diff.rb @@ -65,7 +65,7 @@ module Diff def self.included(klass) klass.include TestMethods klass.setup do - if Capybara::Screenshot.window_size + if Capybara::Screenshot.active? || Capybara::Screenshot.window_size if page.driver.respond_to?(:resize) page.driver.resize(*Capybara::Screenshot.window_size) elsif selenium? @@ -75,7 +75,7 @@ def self.included(klass) end klass.teardown do - if Capybara::Screenshot::Diff.enabled && @test_screenshots + if Capybara::Screenshot.active? && @test_screenshots test_screenshot_errors = @test_screenshots .map { |caller, name, compare| assert_image_not_changed(caller, name, compare) } @test_screenshots = nil # release the comparison objects from memory diff --git a/lib/capybara/screenshot/diff/version.rb b/lib/capybara/screenshot/diff/version.rb index f2ae366f..39e5f7e1 100644 --- a/lib/capybara/screenshot/diff/version.rb +++ b/lib/capybara/screenshot/diff/version.rb @@ -3,7 +3,7 @@ module Capybara module Screenshot module Diff - VERSION = "1.5.5" + VERSION = "1.5.6" end end end From cd46fe30a1ab3ee6c69041b30f402b6746a81980 Mon Sep 17 00:00:00 2001 From: Paul Keen <125715+pftg@users.noreply.github.com> Date: Tue, 19 Apr 2022 14:36:19 +0200 Subject: [PATCH 144/312] Updates and Cleanups (#42) * Improve GitHub Actions * Extract linter into separate workflow * Drops insecure pull_request_target * Uses 3.1 ruby for testing capybara and screenshots drivers * Adds more matrix to test * Ignores bins for linter * Rework pass options to the comparators * Cleanup tests * JS cleanup --- .github/workflows/lint.yml | 25 ++++ .github/workflows/test.yml | 40 ++---- .standard.yml | 5 +- bin/bundle | 114 ++++++++++++++++ bin/rake | 27 ++++ .../diff/drivers/chunky_png_driver.rb | 6 +- .../screenshot/diff/drivers/vips_driver.rb | 6 +- lib/capybara/screenshot/diff/image_compare.rb | 24 ++-- lib/capybara/screenshot/diff/stabilization.rb | 25 +++- lib/capybara/screenshot/diff/test_methods.rb | 18 +-- matrix_test.rb | 67 --------- .../diff/drivers/chunky_png_driver_test.rb | 8 +- .../diff/drivers/vips_driver_test.rb | 6 +- .../screenshot/diff/image_compare_test.rb | 129 ++++++++++++------ test/test_helper.rb | 4 +- 15 files changed, 331 insertions(+), 173 deletions(-) create mode 100644 .github/workflows/lint.yml create mode 100755 bin/bundle create mode 100755 bin/rake delete mode 100755 matrix_test.rb diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml new file mode 100644 index 00000000..d14194ae --- /dev/null +++ b/.github/workflows/lint.yml @@ -0,0 +1,25 @@ +name: Ruby Linter + +on: + pull_request: + paths: + - '*.rb' + - '!bin/**' + +jobs: + lint: + name: Lint + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v2 + + - name: Set up Ruby + uses: ruby/setup-ruby@v1 + with: + ruby-version: '3.1' + bundler-cache: true + + - name: Run Standard Ruby linter + run: bin/standardrb --no-fix --fail-fast diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index fb2b4b6d..ab0d4f41 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -3,9 +3,11 @@ name: Test on: push: branches: [ master ] - pull_request_target: - branches: [ master ] pull_request: + paths: + - '*.rb' + - '*.gemfile' + - '!bin/**' env: BUNDLE_GEMFILE: 'gemfiles/rails70_gems.rb' @@ -13,23 +15,6 @@ env: WD_CACHE_TIME: '864000' # 10 days jobs: - lint: - name: Lint - runs-on: ubuntu-latest - - steps: - - name: Checkout code - uses: actions/checkout@v2 - - - name: Set up Ruby - uses: ruby/setup-ruby@v1 - with: - ruby-version: '3.0' - bundler-cache: true - - - name: Run Standard Ruby linter - run: bin/standardrb --no-fix --fail-fast - test: name: Functional Testing runs-on: ubuntu-20.04 # In order to install libvips 8.9+ version @@ -65,8 +50,8 @@ jobs: path: coverage matrix: - name: Test Integration - needs: [ 'test', 'lint' ] + name: Test Integration Rails & Ruby + needs: [ 'test' ] runs-on: ubuntu-20.04 strategy: @@ -79,9 +64,10 @@ jobs: include: - ruby-version: 2.7 gemfile: rails70_gems.rb - # NOTE: We are testing rails 7 + ruby 3 in the `test` job - # - ruby-version: 3.0 - # gemfile: rails70_gems.rb + - ruby-version: 3.0 + gemfile: rails70_gems.rb + - ruby-version: 3.1 + gemfile: rails70_gems.rb env: BUNDLE_GEMFILE: gemfiles/${{ matrix.gemfile }} @@ -102,8 +88,8 @@ jobs: run: bundle exec rake test matrix_screenshot_driver: - name: Test Integration - needs: [ 'test', 'lint' ] + name: Test Integration Capybara & Image Drivers + needs: [ 'test' ] runs-on: ubuntu-20.04 strategy: @@ -121,7 +107,7 @@ jobs: - name: Set up Ruby uses: ruby/setup-ruby@v1 with: - ruby-version: '3.0' + ruby-version: '3.1' bundler-cache: true - name: Install libvips diff --git a/.standard.yml b/.standard.yml index 997563da..4e685fe9 100644 --- a/.standard.yml +++ b/.standard.yml @@ -1,11 +1,12 @@ fix: true # default: false parallel: true # default: false format: progress # default: Standard::Formatter -ruby_version: 2.6 # default: RUBY_VERSION +ruby_version: 2.7 # default: RUBY_VERSION default_ignores: false # default: true ignore: # default: [] + - 'bin/**/*' + - 'gemfiles/vendor/**/*' - 'gemfiles/**/*': - Security/Eval - - 'gemfiles/vendor/**/*' - 'vendor/**/*' diff --git a/bin/bundle b/bin/bundle new file mode 100755 index 00000000..b5994af9 --- /dev/null +++ b/bin/bundle @@ -0,0 +1,114 @@ +#!/usr/bin/env ruby +# frozen_string_literal: true + +# +# This file was generated by Bundler. +# +# The application 'bundle' is installed as part of a gem, and +# this file is here to facilitate running it. +# + +require "rubygems" + +m = Module.new do + module_function + + def invoked_as_script? + File.expand_path($0) == File.expand_path(__FILE__) + end + + def env_var_version + ENV["BUNDLER_VERSION"] + end + + def cli_arg_version + return unless invoked_as_script? # don't want to hijack other binstubs + return unless "update".start_with?(ARGV.first || " ") # must be running `bundle update` + bundler_version = nil + update_index = nil + ARGV.each_with_index do |a, i| + if update_index && update_index.succ == i && a =~ Gem::Version::ANCHORED_VERSION_PATTERN + bundler_version = a + end + next unless a =~ /\A--bundler(?:[= ](#{Gem::Version::VERSION_PATTERN}))?\z/ + bundler_version = $1 + update_index = i + end + bundler_version + end + + def gemfile + gemfile = ENV["BUNDLE_GEMFILE"] + return gemfile if gemfile && !gemfile.empty? + + File.expand_path("../gems.rb", __dir__) + end + + def lockfile + lockfile = + case File.basename(gemfile) + when "gems.rb" then gemfile.sub(/\.rb$/, gemfile) + else "#{gemfile}.lock" + end + File.expand_path(lockfile) + end + + def lockfile_version + return unless File.file?(lockfile) + lockfile_contents = File.read(lockfile) + return unless lockfile_contents =~ /\n\nBUNDLED WITH\n\s{2,}(#{Gem::Version::VERSION_PATTERN})\n/ + Regexp.last_match(1) + end + + def bundler_requirement + @bundler_requirement ||= + env_var_version || cli_arg_version || + bundler_requirement_for(lockfile_version) + end + + def bundler_requirement_for(version) + return "#{Gem::Requirement.default}.a" unless version + + bundler_gem_version = Gem::Version.new(version) + + requirement = bundler_gem_version.approximate_recommendation + + return requirement unless Gem.rubygems_version < Gem::Version.new("2.7.0") + + requirement += ".a" if bundler_gem_version.prerelease? + + requirement + end + + def load_bundler! + ENV["BUNDLE_GEMFILE"] ||= gemfile + + activate_bundler + end + + def activate_bundler + gem_error = activation_error_handling do + gem "bundler", bundler_requirement + end + return if gem_error.nil? + require_error = activation_error_handling do + require "bundler/version" + end + return if require_error.nil? && Gem::Requirement.new(bundler_requirement).satisfied_by?(Gem::Version.new(Bundler::VERSION)) + warn "Activating bundler (#{bundler_requirement}) failed:\n#{gem_error.message}\n\nTo install the version of bundler this project requires, run `gem install bundler -v '#{bundler_requirement}'`" + exit 42 + end + + def activation_error_handling + yield + nil + rescue StandardError, LoadError => e + e + end +end + +m.load_bundler! + +if m.invoked_as_script? + load Gem.bin_path("bundler", "bundle") +end diff --git a/bin/rake b/bin/rake new file mode 100755 index 00000000..d94dbb44 --- /dev/null +++ b/bin/rake @@ -0,0 +1,27 @@ +#!/usr/bin/env ruby +# frozen_string_literal: true + +# +# This file was generated by Bundler. +# +# The application 'rake' is installed as part of a gem, and +# this file is here to facilitate running it. +# + +ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../gems.rb", __dir__) + +bundle_binstub = File.expand_path("bundle", __dir__) + +if File.file?(bundle_binstub) + if File.read(bundle_binstub, 300) =~ /This file was generated by Bundler/ + load(bundle_binstub) + else + abort("Your `bin/bundle` was not generated by Bundler, so this binstub cannot run. +Replace `bin/bundle` by running `bundle binstubs bundler --force`, then run this command again.") + end +end + +require "rubygems" +require "bundler/setup" + +load Gem.bin_path("rake", "rake") diff --git a/lib/capybara/screenshot/diff/drivers/chunky_png_driver.rb b/lib/capybara/screenshot/diff/drivers/chunky_png_driver.rb index 971e423c..9493113b 100644 --- a/lib/capybara/screenshot/diff/drivers/chunky_png_driver.rb +++ b/lib/capybara/screenshot/diff/drivers/chunky_png_driver.rb @@ -13,9 +13,11 @@ class ChunkyPNGDriver attr_reader :new_file_name, :old_file_name - def initialize(new_file_name, old_file_name = nil, **options) + def initialize(new_file_name, old_file_name = nil, options = {}) + options = old_file_name if old_file_name.is_a?(Hash) + @new_file_name = new_file_name - @old_file_name = old_file_name || "#{new_file_name}~" + @old_file_name = old_file_name || "#{new_file_name}#{ImageCompare::TMP_FILE_SUFFIX}" @color_distance_limit = options[:color_distance_limit] @shift_distance_limit = options[:shift_distance_limit] diff --git a/lib/capybara/screenshot/diff/drivers/vips_driver.rb b/lib/capybara/screenshot/diff/drivers/vips_driver.rb index e3879c03..6d6679ca 100644 --- a/lib/capybara/screenshot/diff/drivers/vips_driver.rb +++ b/lib/capybara/screenshot/diff/drivers/vips_driver.rb @@ -18,9 +18,11 @@ module Drivers class VipsDriver attr_reader :new_file_name, :old_file_name, :options - def initialize(new_file_name, old_file_name = nil, **options) + def initialize(new_file_name, old_file_name = nil, options = {}) + options = old_file_name if old_file_name.is_a?(Hash) + @new_file_name = new_file_name - @old_file_name = old_file_name || "#{new_file_name}~" + @old_file_name = old_file_name || "#{new_file_name}#{ImageCompare::TMP_FILE_SUFFIX}" @options = options || {} diff --git a/lib/capybara/screenshot/diff/image_compare.rb b/lib/capybara/screenshot/diff/image_compare.rb index 77ef3972..9369ffbd 100644 --- a/lib/capybara/screenshot/diff/image_compare.rb +++ b/lib/capybara/screenshot/diff/image_compare.rb @@ -8,27 +8,31 @@ module Diff # Compare two images and determine if they are equal, different, or within some comparison # range considering color values and difference area size. class ImageCompare < SimpleDelegator + TMP_FILE_SUFFIX = "~" + attr_reader :driver, :driver_options attr_reader :annotated_new_file_name, :annotated_old_file_name, :area_size_limit, :color_distance_limit, :new_file_name, :old_file_name, :shift_distance_limit, :skip_area - def initialize(new_file_name, old_file_name = nil, **driver_options) + def initialize(new_file_name, old_file_name = nil, options = {}) + options = old_file_name if old_file_name.is_a?(Hash) + @new_file_name = new_file_name - @old_file_name = old_file_name || "#{new_file_name}~" + @old_file_name = old_file_name || "#{new_file_name}#{ImageCompare::TMP_FILE_SUFFIX}" @annotated_old_file_name = "#{new_file_name.chomp(".png")}.committed.png" @annotated_new_file_name = "#{new_file_name.chomp(".png")}.latest.png" - @driver_options = driver_options + @driver_options = options - @color_distance_limit = driver_options[:color_distance_limit] || 0 - @area_size_limit = driver_options[:area_size_limit] - @shift_distance_limit = driver_options[:shift_distance_limit] - @dimensions = driver_options[:dimensions] - @skip_area = driver_options[:skip_area] - @tolerance = driver_options[:tolerance] - @median_filter_window_size = driver_options[:median_filter_window_size] + @color_distance_limit = options[:color_distance_limit] || 0 + @area_size_limit = options[:area_size_limit] + @shift_distance_limit = options[:shift_distance_limit] + @dimensions = options[:dimensions] + @skip_area = options[:skip_area] + @tolerance = options[:tolerance] + @median_filter_window_size = options[:median_filter_window_size] driver_klass = find_driver_class_for(@driver_options.fetch(:driver, :chunky_png)) @driver = driver_klass.new(@new_file_name, @old_file_name, **@driver_options) diff --git a/lib/capybara/screenshot/diff/stabilization.rb b/lib/capybara/screenshot/diff/stabilization.rb index f85a0d89..d9d67714 100644 --- a/lib/capybara/screenshot/diff/stabilization.rb +++ b/lib/capybara/screenshot/diff/stabilization.rb @@ -60,10 +60,14 @@ def take_stable_screenshot(comparison, stability_time_limit:, wait:) end end - previous_file_name = "#{comparison.new_file_name.chomp(".png")}" \ - "_x#{format("%02i", i)}_#{(Time.now - screenshot_started_at).round(1)}s" \ - "_#{stabilization_comparison.difference_region&.to_s&.gsub(", ", "_") || :initial}.png~" - FileUtils.mv comparison.new_file_name, previous_file_name + previous_file_name = build_snapshot_version_file_name( + comparison, + i, + screenshot_started_at, + stabilization_comparison + ) + + FileUtils.mv(comparison.new_file_name, previous_file_name) check_max_wait_time( comparison, @@ -83,8 +87,15 @@ def notice_how_to_avoid_this private + def build_snapshot_version_file_name(comparison, iteration, screenshot_started_at, stabilization_comparison) + "#{comparison.new_file_name.chomp(".png")}" \ + "_x#{format("%02i", iteration)}_#{(Time.now - screenshot_started_at).round(1)}s" \ + "_#{stabilization_comparison.difference_region&.to_s&.gsub(", ", "_") || :initial}.png" \ + "#{ImageCompare::TMP_FILE_SUFFIX}" + end + def make_stabilization_comparison_from(comparison, new_file_name, previous_file_name) - ImageCompare.new(new_file_name, previous_file_name, **comparison.driver_options) + ImageCompare.new(new_file_name, previous_file_name, comparison.driver_options) end def reduce_retina_image_size(file_name, driver) @@ -107,7 +118,7 @@ def reduce_retina_image_size(file_name, driver) end def stabilization_images(base_file) - Dir["#{base_file.chomp(".png")}_x*.png~"].sort + Dir["#{base_file.chomp(".png")}_x*.png#{ImageCompare::TMP_FILE_SUFFIX}"].sort end def clean_stabilization_images(base_file) @@ -119,7 +130,7 @@ def prepare_page_for_screenshot(timeout:) if Capybara::Screenshot.blur_active_element active_element = execute_script(<<-JS) ae = document.activeElement; - if (ae.nodeName == "INPUT" || ae.nodeName == "TEXTAREA") { + if (ae.nodeName === "INPUT" || ae.nodeName === "TEXTAREA") { ae.blur(); return ae; } diff --git a/lib/capybara/screenshot/diff/test_methods.rb b/lib/capybara/screenshot/diff/test_methods.rb index a36a8cff..aacd015d 100644 --- a/lib/capybara/screenshot/diff/test_methods.rb +++ b/lib/capybara/screenshot/diff/test_methods.rb @@ -61,13 +61,8 @@ def screenshot_group(name) FileUtils.rm_rf screenshot_dir end - # @return [Boolean] wether a screenshot was taken - def screenshot( - name, - stability_time_limit: Screenshot.stability_time_limit, - wait: Capybara.default_max_wait_time, - **driver_options - ) + # @return [Boolean] whether a screenshot was taken + def screenshot(name, driver_options = {}) return false unless Screenshot.active? return false if window_size_is_wrong? @@ -77,9 +72,14 @@ def screenshot( driver: Diff.driver, shift_distance_limit: Diff.shift_distance_limit, skip_area: Diff.skip_area, - tolerance: Diff.tolerance + stability_time_limit: Screenshot.stability_time_limit, + tolerance: Diff.tolerance, + wait: Capybara.default_max_wait_time }.merge(driver_options) + stability_time_limit = driver_options[:stability_time_limit] + wait = driver_options[:wait] + # Allow nil or single or multiple areas if driver_options[:skip_area] driver_options[:skip_area] = driver_options[:skip_area].compact.flatten&.each_slice(4)&.to_a @@ -93,7 +93,7 @@ def screenshot( file_name = "#{Screenshot.screenshot_area_abs}/#{name}.png" FileUtils.mkdir_p File.dirname(file_name) - comparison = ImageCompare.new(file_name, **driver_options) + comparison = ImageCompare.new(file_name, nil, driver_options) checkout_vcs(name, comparison) begin blurred_input = prepare_page_for_screenshot(timeout: wait) diff --git a/matrix_test.rb b/matrix_test.rb deleted file mode 100755 index 6416eba7..00000000 --- a/matrix_test.rb +++ /dev/null @@ -1,67 +0,0 @@ -#!/usr/bin/env ruby -w -# frozen_string_literal: true - -update_gemfiles = ARGV.delete("--update") - -require "yaml" -travis = YAML.safe_load(File.read(".travis.yml")) - -def run_script(ruby, env, gemfile) - env.scan(/\b(?[A-Z_]+)="(?.+?)"/) do |key, value| - ENV[key] = value - end - puts "*" * 80 - puts "Testing #{ruby} #{gemfile} #{env}" - puts - system("chruby-exec #{ruby} -- bundle exec rake") || exit(1) - puts "Testing #{ruby} #{gemfile} OK" - puts "*" * 80 -end - -def use_gemfile(ruby, gemfile, update_gemfiles) - puts "$" * 80 - ENV["BUNDLE_GEMFILE"] = gemfile - - bundler_version = `grep -A1 "BUNDLED WITH" #{gemfile}.lock | tail -n 1` - bundler_version = "~> 2.0" if bundler_version.strip.empty? - - version_arg = "-v '#{bundler_version}'" - bundler_gem_check_cmd = "chruby-exec #{ruby} -- gem query -i -n bundler #{version_arg} >/dev/null" - system "#{bundler_gem_check_cmd} || chruby-exec #{ruby} -- gem install #{version_arg} bundler" || exit(1) - - if update_gemfiles - system "chruby-exec #{ruby} -- bundle update" - else - system "chruby-exec #{ruby} -- bundle check >/dev/null || chruby-exec #{ruby} -- bundle install" - end || exit(1) - yield - puts "$" * 80 -end - -travis["rvm"].each do |ruby| - next if /head/.match?(ruby) # ruby-install does not support HEAD installation - - puts "#" * 80 - puts "Testing #{ruby}" - puts - system "ruby-install --no-reinstall #{ruby}" || exit(1) - travis["gemfile"].each do |gemfile| - if travis["matrix"] && - (travis["matrix"]["exclude"].to_a + travis["matrix"]["allow_failures"].to_a) - .any? { |f| f["rvm"] == ruby && (f["gemfile"].nil? || f["gemfile"] == gemfile) } - puts "Skipping known failure." - next - end - use_gemfile(ruby, gemfile, update_gemfiles) do - travis["env"].each do |env| - run_script(ruby, env, gemfile) - end - end - end - puts "Testing #{ruby} OK" - puts "#" * 80 -end - -print "\033[0;32m" -print " TESTS PASSED OK!" -puts "\033[0m" diff --git a/test/capybara/screenshot/diff/drivers/chunky_png_driver_test.rb b/test/capybara/screenshot/diff/drivers/chunky_png_driver_test.rb index e5670557..6b0be8e3 100644 --- a/test/capybara/screenshot/diff/drivers/chunky_png_driver_test.rb +++ b/test/capybara/screenshot/diff/drivers/chunky_png_driver_test.rb @@ -131,8 +131,12 @@ class ChunkyPNGDriverTest < ActionDispatch::IntegrationTest private - def make_comparison(old_img, new_img, **options) - comp = ImageCompare.new("#{Rails.root}/screenshot.png", **options.merge(driver: :chunky_png)) + def make_comparison(old_img, new_img, options = {}) + comp = ImageCompare.new( + "#{Rails.root}/screenshot.png", + nil, + options.merge(driver: :chunky_png) + ) set_test_images(comp, old_img, new_img) comp end diff --git a/test/capybara/screenshot/diff/drivers/vips_driver_test.rb b/test/capybara/screenshot/diff/drivers/vips_driver_test.rb index f6f978e3..113446bc 100644 --- a/test/capybara/screenshot/diff/drivers/vips_driver_test.rb +++ b/test/capybara/screenshot/diff/drivers/vips_driver_test.rb @@ -160,8 +160,8 @@ class VipsDriverTest < ActionDispatch::IntegrationTest private - def make_comparison(old_img, new_img, **driver_args) - result = ImageCompare.new(@new_screenshot_result.path, **driver_args.merge(driver: :vips)) + def make_comparison(old_img, new_img, options = {}) + result = ImageCompare.new(@new_screenshot_result.path, nil, options.merge(driver: :vips)) set_test_images(result, old_img, new_img) result end @@ -202,5 +202,5 @@ class VipsUtilTest < ActiveSupport::TestCase end end rescue LoadError - puts "VIPS not present. Skipping VIPS driver tests." + warn "VIPS not present. Skipping VIPS driver tests." end diff --git a/test/capybara/screenshot/diff/image_compare_test.rb b/test/capybara/screenshot/diff/image_compare_test.rb index 8c67d2e4..d9fd2e74 100644 --- a/test/capybara/screenshot/diff/image_compare_test.rb +++ b/test/capybara/screenshot/diff/image_compare_test.rb @@ -10,53 +10,102 @@ module Screenshot module Diff class ImageCompareTest < ActionDispatch::IntegrationTest include TestHelper - IMAGES = Dir[File.expand_path("../../../images/*.png", __dir__)].map { |f| File.basename(f).chomp(".png") } - - { - default: Drivers::ChunkyPNGDriver, - chunky_png: Drivers::ChunkyPNGDriver - # vips: Drivers::VipsDriver, auto: Drivers::VipsDriver - }.each do |driver, driver_class| - unless driver_class == Drivers::VipsDriver && !defined?(Capybara::Screenshot::Diff::Drivers::VipsDriverTest) - driver_opts = driver == :default ? {} : {driver: driver} + + test "it can be instantiated with chunky_png driver" do + comparison = ImageCompare.new("images/b.png") + assert_kind_of Drivers::ChunkyPNGDriver, comparison.driver + end + + test "it can be instantiated with explicit chunky_png adapter" do + comparison = ImageCompare.new("images/b.png", driver: :chunky_png) + assert_kind_of Drivers::ChunkyPNGDriver, comparison.driver + end + + test "it can be instantiated with vips adapter" do + comparison = ImageCompare.new("images/b.png", driver: :vips) + assert_kind_of Drivers::VipsDriver, comparison.driver + end + + test "it can be instantiated with vips adapter and tolerance option" do + comp = make_comparison(:a, :b, driver: :vips, tolerance: 0.02) + assert comp.quick_equal? + assert_not comp.different? + end + + test "could pass use tolerance for chunky_png driver" do + ImageCompare.new("images/b.png", driver: :chunky_png, tolerance: 0.02) + end + + test "it can be instantiated with dimensions" do + assert ImageCompare.new("images/b.png", dimensions: [80, 80]) + end + + test "for driver: :auto returns first from available drivers" do + comparison = ImageCompare.new("images/b.png", driver: :auto) + assert_kind_of Drivers::VipsDriver, comparison.driver + end + + test "for driver: :auto raise error if no drivers are available" do + Capybara::Screenshot::Diff.stub_const(:AVAILABLE_DRIVERS, []) do + assert_raise(RuntimeError) do + ImageCompare.new("images/b.png", driver: :auto) + end + end + end + end + + class IntegrationRegressionTest < ActionDispatch::IntegrationTest + include TestHelper + + AVAILABLE_DRIVERS = [{}, {driver: :chunky_png}] + + test "the same images should be quick equal and not different" do + images = all_fixtures_images_names + AVAILABLE_DRIVERS.each do |driver| Dir.chdir File.expand_path("../../../images", __dir__) do - IMAGES.each do |old_img| - IMAGES.each do |new_img| - test "compare #{old_img} with #{new_img} with #{driver} driver" do - comparison = make_comparison(old_img, new_img, **driver_opts) - assert_kind_of driver_class, comparison.driver - same = old_img == new_img - assert_equal same, comparison.quick_equal? - assert_equal !same, comparison.different? - end + images.each do |old_img| + new_img = old_img + comparison = make_comparison(old_img, new_img, driver) + assert( + comparison.quick_equal?, + "compare #{old_img} with #{new_img} with #{driver} driver should be quick_equal" + ) + assert_not( + comparison.different?, + "compare #{old_img} with #{new_img} with #{driver} driver should not be different" + ) + end + end + end + end + + test "the different images should not be quick equal and different" do + images = all_fixtures_images_names + + AVAILABLE_DRIVERS.each do |driver| + Dir.chdir File.expand_path("../../../images", __dir__) do + images.each do |image| + other_images = images - [image] + other_images.each do |different_image| + comparison = make_comparison(image, different_image, **driver) + assert_not( + comparison.quick_equal?, + "compare #{image} with #{different_image} with #{driver} driver should not be quick_equal" + ) + assert( + comparison.different?, + "compare #{image} with #{different_image} with #{driver} driver should be different" + ) end end end end end - # test "it can be instantiated with vips adapter and tolerance option" do - # skip unless defined?(Capybara::Screenshot::Diff::Drivers::VipsDriverTest) - # comp = make_comparison(:a, :b, driver: :vips, tolerance: 0.02) - # assert comp.quick_equal? - # assert_not comp.different? - # end - # - # test "could pass use tolerance for chunky_png driver" do - # ImageCompare.new("images/b.png", driver: :chunky_png, tolerance: 0.02) - # end - # - # test "it can be instantiated with dimensions" do - # assert ImageCompare.new("images/b.png", dimensions: [80, 80]) - # end - # - # test "for driver: :auto raise error if no drivers are available" do - # Capybara::Screenshot::Diff.stub_const(:AVAILABLE_DRIVERS, []) do - # assert_raise(RuntimeError) do - # ImageCompare.new("images/b.png", driver: :auto) - # end - # end - # end + def all_fixtures_images_names + fixtures_images = Dir[File.expand_path("../../../images/*.png", __dir__)] + fixtures_images.map { |f| File.basename(f).chomp(".png") } + end end end end diff --git a/test/test_helper.rb b/test/test_helper.rb index 41e9af4d..6276a647 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -51,8 +51,8 @@ def save_screenshot(file_name) FileUtils.cp File.expand_path("images/#{source_image}", __dir__), file_name end - def make_comparison(old_img, new_img, **options) - comp = ImageCompare.new("#{Rails.root}/screenshot.png", **options) + def make_comparison(old_img, new_img, options = {}) + comp = ImageCompare.new("#{Rails.root}/screenshot.png", nil, options) set_test_images(comp, old_img, new_img) comp end From e2138c7cdfb8beb23e73e85ded973efba4827dde Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Fri, 22 Apr 2022 21:14:08 +0200 Subject: [PATCH 145/312] Added `crop` option to screenshot --- README.md | 30 +++++++++++------- lib/capybara/screenshot/diff.rb | 15 ++++++++- lib/capybara/screenshot/diff/stabilization.rb | 12 +++++-- lib/capybara/screenshot/diff/test_methods.rb | 18 +++-------- lib/capybara/screenshot/diff/version.rb | 2 +- .../app/doc/screenshots/form_element.png | Bin 0 -> 23441 bytes test/integration/browser_screenshot_test.rb | 30 +++++++++++++----- 7 files changed, 70 insertions(+), 37 deletions(-) create mode 100644 test/fixtures/app/doc/screenshots/form_element.png diff --git a/README.md b/README.md index 5800dbe8..cc64804a 100644 --- a/README.md +++ b/README.md @@ -38,16 +38,7 @@ Or install it yourself as: In your test class, include the `Capybara::Screenshot::Diff` module: ```ruby -class FeatureTest < ActionDispatch::IntegrationTest - include Capybara::Screenshot::Diff - ... -end -``` - -or if you use the integration test directly: - -```ruby -class ActionDispatch::IntegrationTest +class ApplicationSystemTestCase < ActionDispatch::SystemTestCase include Capybara::Screenshot::Diff ... end @@ -196,6 +187,23 @@ test. +### Capturing one area instead of the whole page + +```ruby +test 'the cool' do + visit '/feature' + screenshot 'cool_element', crop: bounds('#my_element') +end + +private + +def bounds(selector) + element = evaluate_script("document.querySelector('#{selector}').getBoundingClientRect()") + [element['left'], element['top'], element['right'], element['bottom']] +end +``` + + ### Multiple Capybara drivers Often it is useful to test your app using different browsers. To avoid the @@ -350,7 +358,7 @@ test 'max wait time' do end ``` -### Removing focus from the active element +### Hiding the caret for active input elements In Chrome the screenshot includes the blinking input cursor. This can make it impossible to get a stable screenshot. To get around this you can set the `hide caret` option: diff --git a/lib/capybara/screenshot/diff.rb b/lib/capybara/screenshot/diff.rb index 2575d932..0e29a72e 100644 --- a/lib/capybara/screenshot/diff.rb +++ b/lib/capybara/screenshot/diff.rb @@ -62,10 +62,23 @@ module Diff ASSERTION = RuntimeError end + def self.default_options + { + area_size_limit: area_size_limit, + color_distance_limit: color_distance_limit, + driver: driver, + shift_distance_limit: shift_distance_limit, + skip_area: skip_area, + stability_time_limit: Screenshot.stability_time_limit, + tolerance: tolerance, + wait: Capybara.default_max_wait_time + } + end + def self.included(klass) klass.include TestMethods klass.setup do - if Capybara::Screenshot.active? || Capybara::Screenshot.window_size + if Capybara::Screenshot.window_size if page.driver.respond_to?(:resize) page.driver.resize(*Capybara::Screenshot.window_size) elsif selenium? diff --git a/lib/capybara/screenshot/diff/stabilization.rb b/lib/capybara/screenshot/diff/stabilization.rb index d9d67714..2e8a9d22 100644 --- a/lib/capybara/screenshot/diff/stabilization.rb +++ b/lib/capybara/screenshot/diff/stabilization.rb @@ -30,13 +30,13 @@ module Stabilization } JS - def take_stable_screenshot(comparison, stability_time_limit:, wait:) + def take_stable_screenshot(comparison, stability_time_limit:, wait:, crop:) previous_file_name = comparison.old_file_name screenshot_started_at = last_image_change_at = Time.now clean_stabilization_images(comparison.new_file_name) 1.step do |i| - take_right_size_screenshot(comparison) + take_right_size_screenshot(comparison, crop: crop) if comparison.quick_equal? clean_stabilization_images(comparison.new_file_name) break @@ -142,12 +142,18 @@ def prepare_page_for_screenshot(timeout:) blurred_input end - def take_right_size_screenshot(comparison) + def take_right_size_screenshot(comparison, crop:) save_screenshot(comparison.new_file_name) # TODO(uwe): Remove when chromedriver takes right size screenshots reduce_retina_image_size(comparison.new_file_name, comparison.driver) # ODOT + + if crop + full_img = comparison.driver.from_file(comparison.new_file_name) + area_img = full_img.crop(crop[0], crop[1], crop[2] - crop[0], crop[3] - crop[1]) + comparison.driver.save_image_to(area_img, comparison.new_file_name) + end end def check_max_wait_time(comparison, screenshot_started_at, max_wait_time:) diff --git a/lib/capybara/screenshot/diff/test_methods.rb b/lib/capybara/screenshot/diff/test_methods.rb index aacd015d..6e92cfc3 100644 --- a/lib/capybara/screenshot/diff/test_methods.rb +++ b/lib/capybara/screenshot/diff/test_methods.rb @@ -62,23 +62,15 @@ def screenshot_group(name) end # @return [Boolean] whether a screenshot was taken - def screenshot(name, driver_options = {}) + def screenshot(name, options = {}) return false unless Screenshot.active? return false if window_size_is_wrong? - driver_options = { - area_size_limit: Diff.area_size_limit, - color_distance_limit: Diff.color_distance_limit, - driver: Diff.driver, - shift_distance_limit: Diff.shift_distance_limit, - skip_area: Diff.skip_area, - stability_time_limit: Screenshot.stability_time_limit, - tolerance: Diff.tolerance, - wait: Capybara.default_max_wait_time - }.merge(driver_options) + driver_options = Diff.default_options.merge(options) stability_time_limit = driver_options[:stability_time_limit] wait = driver_options[:wait] + crop = driver_options.delete(:crop) # Allow nil or single or multiple areas if driver_options[:skip_area] @@ -98,9 +90,9 @@ def screenshot(name, driver_options = {}) begin blurred_input = prepare_page_for_screenshot(timeout: wait) if stability_time_limit - take_stable_screenshot(comparison, stability_time_limit: stability_time_limit, wait: wait) + take_stable_screenshot(comparison, stability_time_limit: stability_time_limit, wait: wait, crop: crop) else - take_right_size_screenshot(comparison) + take_right_size_screenshot(comparison, crop: crop) end ensure blurred_input&.click diff --git a/lib/capybara/screenshot/diff/version.rb b/lib/capybara/screenshot/diff/version.rb index 39e5f7e1..98e3f10c 100644 --- a/lib/capybara/screenshot/diff/version.rb +++ b/lib/capybara/screenshot/diff/version.rb @@ -3,7 +3,7 @@ module Capybara module Screenshot module Diff - VERSION = "1.5.6" + VERSION = "1.6.0" end end end diff --git a/test/fixtures/app/doc/screenshots/form_element.png b/test/fixtures/app/doc/screenshots/form_element.png new file mode 100644 index 0000000000000000000000000000000000000000..990d717b3e5af9874a509799df7bb3826393b049 GIT binary patch literal 23441 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 Date: Mon, 25 Apr 2022 12:19:11 +0200 Subject: [PATCH 146/312] Avoid calculating the shoft distance if it is not requested --- lib/capybara/screenshot/diff/drivers/chunky_png_driver.rb | 2 +- lib/capybara/screenshot/diff/version.rb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/capybara/screenshot/diff/drivers/chunky_png_driver.rb b/lib/capybara/screenshot/diff/drivers/chunky_png_driver.rb index 9493113b..99edbf47 100644 --- a/lib/capybara/screenshot/diff/drivers/chunky_png_driver.rb +++ b/lib/capybara/screenshot/diff/drivers/chunky_png_driver.rb @@ -135,7 +135,7 @@ def calculate_metrics old_image, new_image = _load_images(old_file, new_file) calculate_max_color_distance(new_image, old_image) - calculate_max_shift_limit(new_image, old_image) + calculate_max_shift_limit(new_image, old_image) if @shift_distance_limit end def calculate_max_color_distance(new_image, old_image) diff --git a/lib/capybara/screenshot/diff/version.rb b/lib/capybara/screenshot/diff/version.rb index 98e3f10c..5a90f4fe 100644 --- a/lib/capybara/screenshot/diff/version.rb +++ b/lib/capybara/screenshot/diff/version.rb @@ -3,7 +3,7 @@ module Capybara module Screenshot module Diff - VERSION = "1.6.0" + VERSION = "1.6.1" end end end From bf6955bf1e5701d9c64a57cc08b08ec5a685f8e9 Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Tue, 10 May 2022 15:11:08 +0200 Subject: [PATCH 147/312] Raise ASSERTION if the failures array is not present. --- lib/capybara/screenshot/diff.rb | 6 +++++- lib/capybara/screenshot/diff/version.rb | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/lib/capybara/screenshot/diff.rb b/lib/capybara/screenshot/diff.rb index 0e29a72e..d6da4ab7 100644 --- a/lib/capybara/screenshot/diff.rb +++ b/lib/capybara/screenshot/diff.rb @@ -96,7 +96,11 @@ def self.included(klass) if test_screenshot_errors.any? e = ASSERTION.new(test_screenshot_errors.join("\n\n")) e.set_backtrace(caller) - failures << e + if defined?(failures) + failures << e + else + raise e + end end end end diff --git a/lib/capybara/screenshot/diff/version.rb b/lib/capybara/screenshot/diff/version.rb index 5a90f4fe..f05dfb4b 100644 --- a/lib/capybara/screenshot/diff/version.rb +++ b/lib/capybara/screenshot/diff/version.rb @@ -3,7 +3,7 @@ module Capybara module Screenshot module Diff - VERSION = "1.6.1" + VERSION = "1.6.2" end end end From 0b30125eb3a698771ced65e803eb86209b72e17b Mon Sep 17 00:00:00 2001 From: Paul Keen <125715+pftg@users.noreply.github.com> Date: Tue, 10 May 2022 21:34:07 +0200 Subject: [PATCH 148/312] undefined local variable or method `failures' with RSpec 3.11.0 (#44) * Prevents runtime error for RSpec to track screenshot problem (#44) * Fixes CI to run tests for nested ruby file changes * Stop crop whole page and makes it work for vips --- .github/workflows/test.yml | 4 +- lib/capybara/screenshot/diff.rb | 45 +++++++------ .../diff/drivers/chunky_png_driver.rb | 2 +- lib/capybara/screenshot/diff/drivers/utils.rb | 7 ++ .../screenshot/diff/drivers/vips_driver.rb | 10 ++- lib/capybara/screenshot/diff/stabilization.rb | 16 ++--- test/capybara/screenshot/diff_test.rb | 63 +++++++++++++++++- .../doc/screenshots/cropped_screenshot.png | Bin 0 -> 1226 bytes .../app/doc/screenshots/form_element.png | Bin 23441 -> 0 bytes test/integration/browser_screenshot_test.rb | 12 +--- 10 files changed, 115 insertions(+), 44 deletions(-) create mode 100644 test/fixtures/app/doc/screenshots/cropped_screenshot.png delete mode 100644 test/fixtures/app/doc/screenshots/form_element.png diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index ab0d4f41..4aa46570 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -5,8 +5,8 @@ on: branches: [ master ] pull_request: paths: - - '*.rb' - - '*.gemfile' + - '**.rb' + - '**.gemfile' - '!bin/**' env: diff --git a/lib/capybara/screenshot/diff.rb b/lib/capybara/screenshot/diff.rb index d6da4ab7..0f9d2e7b 100644 --- a/lib/capybara/screenshot/diff.rb +++ b/lib/capybara/screenshot/diff.rb @@ -55,12 +55,7 @@ module Diff mattr_accessor(:tolerance) { 0.001 } AVAILABLE_DRIVERS = Utils.detect_available_drivers.freeze - begin - require "minitest" - ASSERTION = Minitest::Assertion - rescue - ASSERTION = RuntimeError - end + ASSERTION = Utils.detect_test_framework_assert def self.default_options { @@ -89,19 +84,31 @@ def self.included(klass) klass.teardown do if Capybara::Screenshot.active? && @test_screenshots - test_screenshot_errors = @test_screenshots - .map { |caller, name, compare| assert_image_not_changed(caller, name, compare) } - @test_screenshots = nil # release the comparison objects from memory - test_screenshot_errors.compact! - if test_screenshot_errors.any? - e = ASSERTION.new(test_screenshot_errors.join("\n\n")) - e.set_backtrace(caller) - if defined?(failures) - failures << e - else - raise e - end - end + track_failures(@test_screenshots, caller) + @test_screenshots = nil + end + end + end + + private + + EMPTY_LINE = "\n\n" + + def track_failures(screenshots, original_caller) + test_screenshot_errors = screenshots.map do |caller, name, compare| + assert_image_not_changed(caller, name, compare) + end + + test_screenshot_errors.compact! + + unless test_screenshot_errors.empty? + error = ASSERTION.new(test_screenshot_errors.join(EMPTY_LINE)) + error.set_backtrace(original_caller) + + if is_a?(::Minitest::Runnable) + failures << error + else + raise error end end end diff --git a/lib/capybara/screenshot/diff/drivers/chunky_png_driver.rb b/lib/capybara/screenshot/diff/drivers/chunky_png_driver.rb index 99edbf47..815e0660 100644 --- a/lib/capybara/screenshot/diff/drivers/chunky_png_driver.rb +++ b/lib/capybara/screenshot/diff/drivers/chunky_png_driver.rb @@ -115,7 +115,7 @@ def adds_error_details_to(log) end def crop(dimensions, i) - i.crop(0, 0, *dimensions) + i.crop(*dimensions) end def from_file(filename) diff --git a/lib/capybara/screenshot/diff/drivers/utils.rb b/lib/capybara/screenshot/diff/drivers/utils.rb index 527f65cc..aa8adb34 100644 --- a/lib/capybara/screenshot/diff/drivers/utils.rb +++ b/lib/capybara/screenshot/diff/drivers/utils.rb @@ -18,6 +18,13 @@ def self.detect_available_drivers end result end + + def self.detect_test_framework_assert + require "minitest" + ::Minitest::Assertion + rescue + ::RuntimeError + end end end end diff --git a/lib/capybara/screenshot/diff/drivers/vips_driver.rb b/lib/capybara/screenshot/diff/drivers/vips_driver.rb index 6d6679ca..f43df5c3 100644 --- a/lib/capybara/screenshot/diff/drivers/vips_driver.rb +++ b/lib/capybara/screenshot/diff/drivers/vips_driver.rb @@ -69,7 +69,7 @@ def inscribed?(dimensions, i) end def crop(dimensions, i) - i.crop(0, 0, *dimensions) + i.crop(*dimensions) end def filter_image_with_median(image, median_filter_window_size) @@ -104,8 +104,14 @@ def width_for(image) image.width end + PNG_EXTENSION = ".png" + + # Vips could not work with the same file. Per each process we require to create new file def save_image_to(image, filename) - image.write_to_file(filename) + ::Dir::Tmpname.create([filename, PNG_EXTENSION]) do |tmp_image_filename| + image.write_to_file(tmp_image_filename) + FileUtils.mv(tmp_image_filename, filename) + end end def resize_image_to(image, new_width, new_height) diff --git a/lib/capybara/screenshot/diff/stabilization.rb b/lib/capybara/screenshot/diff/stabilization.rb index 2e8a9d22..734037bf 100644 --- a/lib/capybara/screenshot/diff/stabilization.rb +++ b/lib/capybara/screenshot/diff/stabilization.rb @@ -110,11 +110,7 @@ def reduce_retina_image_size(file_name, driver) new_height = expected_image_width * driver.height_for(saved_image) / driver.width_for(saved_image) resized_image = driver.resize_image_to(saved_image, expected_image_width, new_height) - Dir.mktmpdir do |dir| - resized_image_file = "#{dir}/resized.png" - driver.save_image_to(resized_image, resized_image_file) - FileUtils.mv(resized_image_file, file_name) - end + driver.save_image_to(resized_image, file_name) end def stabilization_images(base_file) @@ -143,16 +139,18 @@ def prepare_page_for_screenshot(timeout:) end def take_right_size_screenshot(comparison, crop:) + driver = comparison.driver + save_screenshot(comparison.new_file_name) # TODO(uwe): Remove when chromedriver takes right size screenshots - reduce_retina_image_size(comparison.new_file_name, comparison.driver) + reduce_retina_image_size(comparison.new_file_name, driver) # ODOT if crop - full_img = comparison.driver.from_file(comparison.new_file_name) - area_img = full_img.crop(crop[0], crop[1], crop[2] - crop[0], crop[3] - crop[1]) - comparison.driver.save_image_to(area_img, comparison.new_file_name) + full_img = driver.from_file(comparison.new_file_name) + area_img = driver.crop([crop[0], crop[1], crop[2] - crop[0], crop[3] - crop[1]], full_img) + driver.save_image_to(area_img, comparison.new_file_name) end end diff --git a/test/capybara/screenshot/diff_test.rb b/test/capybara/screenshot/diff_test.rb index 104e18ff..0a51817e 100644 --- a/test/capybara/screenshot/diff_test.rb +++ b/test/capybara/screenshot/diff_test.rb @@ -1,6 +1,7 @@ # frozen_string_literal: true require "test_helper" +require "minitest/stub_const" module Capybara module Screenshot @@ -104,13 +105,73 @@ def test_screenshot_with_color_threshold test "detect available diff drivers on the loading" do # NOTE for tests we are loading both drivers, so we expect that all of them are available - expected_drivers = if defined?(Capybara::Screenshot::Diff::Drivers::VipsDriverTest) + expected_drivers = if defined?(Vips) %i[vips chunky_png] else %i[chunky_png] end assert_equal expected_drivers, Capybara::Screenshot::Diff::AVAILABLE_DRIVERS end + + class SampleMiniTestCase < ActionDispatch::IntegrationTest + include Capybara::Screenshot::Diff + + # NOTE: we need to add `_` as prefix to skip this test from auto-run + def _test_sample_screenshot_error + mock = ::Minitest::Mock.new + mock.expect(:different?, true) + mock.expect(:error_message, "expected error message") + + @test_screenshots = [] + @test_screenshots << [[], "sample_screenshot", mock] + end + end + + test "aggregates failures instead of raising errors on teardown for Minitest" do + test_case = SampleMiniTestCase.new(:_test_sample_screenshot_error) + + test_case.run + + assert_equal 1, test_case.failures.size + assert_includes test_case.failures.first.message, "expected error message" + end + + class SampleNotMiniTestCase + def self.setup + # noop + end + + def self.teardown(&block) + @@teardown_callback = block + end + + def teardown + instance_eval(&@@teardown_callback) if @@teardown_callback + @@teardown_callback = nil + end + + include Capybara::Screenshot::Diff + + def _test_sample_screenshot_error + comparison = ::Minitest::Mock.new + comparison.expect(:different?, true) + comparison.expect(:error_message, "expected error message for non minitest") + + @test_screenshots = [] + @test_screenshots << [[], "sample_screenshot", comparison] + end + end + + test "raising errors on teardown for non Minitest" do + Capybara::Screenshot::Diff.stub_const(:ASSERTION, ::RuntimeError) do + test_case = SampleNotMiniTestCase.new + test_case._test_sample_screenshot_error + + expected_message = + "Screenshot does not match for 'sample_screenshot' expected error message for non minitest" + assert_raises(RuntimeError, expected_message) { test_case.teardown } + end + end end end end diff --git a/test/fixtures/app/doc/screenshots/cropped_screenshot.png b/test/fixtures/app/doc/screenshots/cropped_screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..3ad5f92c76360765f456d7d6226eda030322adf9 GIT binary patch literal 1226 zcmV;*1U37KP)$@~{(d3nOG?ARF1n6tam7hJXvA8v-f{F0e{?WNcyGj3Yh} zA2`D!;W0Xm1|si*!yzLJDA>V@A{GJ+wG>JRjJta+E!++Xf6Qb{&bK-D_v`O`&-vVY zPVR$4X;pzzO_GN(DuYKSWlz+}$fG=WY3fgKK$A#ONhRPWMKu&t;hxl8re2HNx|x#b zCPA;}&yjGVxUolQiexNZ|!UjRMIL`@%!8y(7$xuGjBDK`L_| z@^l=#^ZM!G$S9#nab3q3Mn!xt%U0ycZ{@ZwfQ0)pYE3`C?o%BkT1Ls@nB2(VfI=*#f8H`Jt6ExAqz{Stk)}R^1kppvm z>W|;9Vwu>G^w-);C4L8AHgVA1{Uk6g^mjR^LPKzr*hTOwFe7yL zzrK+8nWe2fedRcC#e1#a@0yy{^quWv76kdo-B`w@PbtW!^KjA~e8_2uiI*U8u%fy& z5b~<>>Z5}xKzzHTpjS7jsYG;+-uHGT1xeb~uJ#m7S!+@&X4w$;9xjf6;xfokYmB^CCY_c$Hf_?j2Zq*;v$Fb5>k{M1EPfjq@n7 z)X@9(P#oC%Q_%TTB%!cuoz^5iF~Wv4wN=L5Y_bEq<p}V0N#<5#eS4UjUid@W>40yjp%7?I+5OgRh&8O-`OFT&NU)j-#sW>} zdJEP9b2ph<^RSpK1V(x$6TaS_JVy}-fe;9R5D0+~2!Rj?fe;9R5D0+~2!Rj?fe;9R o5D0+~2!Rj?fe;9R{3juQ17b(|bSCyHP5=M^07*qoM6N<$f;zWP0{{R3 literal 0 HcmV?d00001 diff --git a/test/fixtures/app/doc/screenshots/form_element.png b/test/fixtures/app/doc/screenshots/form_element.png deleted file mode 100644 index 990d717b3e5af9874a509799df7bb3826393b049..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23441 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 Date: Tue, 21 Jun 2022 09:39:33 +0200 Subject: [PATCH 149/312] Remove the tolerance default for chunky_png driver --- lib/capybara/screenshot/diff.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/capybara/screenshot/diff.rb b/lib/capybara/screenshot/diff.rb index 0f9d2e7b..973780ff 100644 --- a/lib/capybara/screenshot/diff.rb +++ b/lib/capybara/screenshot/diff.rb @@ -52,7 +52,7 @@ module Diff mattr_accessor :shift_distance_limit mattr_accessor :skip_area mattr_accessor(:driver) { :auto } - mattr_accessor(:tolerance) { 0.001 } + mattr_accessor :tolerance AVAILABLE_DRIVERS = Utils.detect_available_drivers.freeze ASSERTION = Utils.detect_test_framework_assert @@ -65,7 +65,7 @@ def self.default_options shift_distance_limit: shift_distance_limit, skip_area: skip_area, stability_time_limit: Screenshot.stability_time_limit, - tolerance: tolerance, + tolerance: tolerance || (driver == :vips ? 0.001 : nil), wait: Capybara.default_max_wait_time } end From b0831e76d5c39b2b55d074034c9878cb2abbd6cd Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Tue, 21 Jun 2022 09:49:58 +0200 Subject: [PATCH 150/312] Bump to version 1.6.3 for release --- lib/capybara/screenshot/diff/version.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/capybara/screenshot/diff/version.rb b/lib/capybara/screenshot/diff/version.rb index f05dfb4b..6cf5afc4 100644 --- a/lib/capybara/screenshot/diff/version.rb +++ b/lib/capybara/screenshot/diff/version.rb @@ -3,7 +3,7 @@ module Capybara module Screenshot module Diff - VERSION = "1.6.2" + VERSION = "1.6.3" end end end From 49ffc9d2119bbfdd0ad24db778de377b369832eb Mon Sep 17 00:00:00 2001 From: Paul Keen <125715+pftg@users.noreply.github.com> Date: Fri, 8 Jul 2022 11:13:54 +0200 Subject: [PATCH 151/312] Allows to provide css selectors for skip_area and crop arguments screenshot 'cropped_form', crop: 'form' - to crop first visible form
screenshot 'cropped_form', skip_area: '#footer' - to skip an element with footer id Use Region instead of Array for passing coordinates --- .github/dependabot.yml | 8 + .github/workflows/test.yml | 40 ++++- .gitignore | 2 + CONTRIBUTING.md | 4 +- Dockerfile | 5 +- README.md | 28 ++-- bin/install-vips | 2 +- .../screenshot/diff/browser_helpers.rb | 101 +++++++++++ .../diff/drivers/chunky_png_driver.rb | 47 ++++-- .../screenshot/diff/drivers/vips_driver.rb | 43 +++-- lib/capybara/screenshot/diff/image_compare.rb | 157 ++++++++++-------- lib/capybara/screenshot/diff/region.rb | 86 ++++++++++ lib/capybara/screenshot/diff/stabilization.rb | 52 ++---- lib/capybara/screenshot/diff/test_methods.rb | 99 +++++++---- lib/capybara/screenshot/diff/vcs.rb | 11 +- .../diff/drivers/chunky_png_driver_test.rb | 11 +- .../diff/drivers/vips_driver_test.rb | 52 +++--- test/capybara/screenshot/diff/region_test.rb | 60 +++++++ .../screenshot/diff/test_methods_test.rb | 6 +- .../chrome/linux/cropped_screenshot.png | Bin 0 -> 3467 bytes .../index-blur_active_element-disabled.png | Bin 0 -> 33206 bytes .../index-blur_active_element-enabled.png | Bin 0 -> 32496 bytes .../chrome/linux/index-cropped.png | Bin 0 -> 1756 bytes .../linux/index-hide_caret-disabled.png | Bin 0 -> 32826 bytes .../chrome/linux/index-hide_caret-enabled.png | Bin 0 -> 32496 bytes .../doc/screenshots/chrome/linux/index.png | Bin 0 -> 25663 bytes .../{ => chrome/macos}/cropped_screenshot.png | Bin .../index-blur_active_element-disabled.png | Bin 0 -> 28560 bytes .../index-blur_active_element-enabled.png | Bin 0 -> 28774 bytes .../chrome/macos/index-cropped.png | Bin 0 -> 2088 bytes .../macos/index-hide_caret-disabled.png | Bin 0 -> 28560 bytes .../chrome/macos/index-hide_caret-enabled.png | Bin 0 -> 28774 bytes .../doc/screenshots/chrome/macos/index.png | Bin 0 -> 27198 bytes .../firefox/linux/cropped_screenshot.png | Bin 0 -> 3467 bytes .../index-blur_active_element-disabled.png | Bin 0 -> 33206 bytes .../index-blur_active_element-enabled.png | Bin 0 -> 32496 bytes .../firefox/linux/index-cropped.png | Bin 0 -> 5762 bytes .../linux/index-hide_caret-disabled.png | Bin 0 -> 32826 bytes .../linux/index-hide_caret-enabled.png | Bin 0 -> 32496 bytes .../doc/screenshots/firefox/linux/index.png | Bin 0 -> 31210 bytes .../firefox/macos/cropped_screenshot.png | Bin 0 -> 2120 bytes .../index-blur_active_element-disabled.png | Bin 0 -> 32771 bytes .../index-blur_active_element-enabled.png | Bin 0 -> 32714 bytes .../firefox/macos/index-cropped.png | Bin 0 -> 2645 bytes .../macos/index-hide_caret-disabled.png | Bin 0 -> 32771 bytes .../macos/index-hide_caret-enabled.png | Bin 0 -> 32714 bytes .../doc/screenshots/firefox/macos/index.png | Bin 0 -> 31845 bytes .../index-blur_active_element-disabled.png | Bin 26011 -> 0 bytes .../index-blur_active_element-enabled.png | Bin 25831 -> 0 bytes .../screenshots/index-hide_caret-disabled.png | Bin 26011 -> 0 bytes .../screenshots/index-hide_caret-enabled.png | Bin 26034 -> 0 bytes test/fixtures/app/doc/screenshots/index.png | Bin 24475 -> 0 bytes test/fixtures/app/index-changed.html | 5 - test/fixtures/app/index-without-img.html | 18 ++ test/fixtures/app/index.html | 9 +- test/integration/browser_screenshot_test.rb | 114 ++++++++++++- test/integration/record_screenshot_test.rb | 15 ++ test/support/setup_capybara_drivers.rb | 12 +- test/system_test_case.rb | 51 ++++-- 59 files changed, 758 insertions(+), 280 deletions(-) create mode 100644 .github/dependabot.yml create mode 100644 lib/capybara/screenshot/diff/browser_helpers.rb create mode 100644 lib/capybara/screenshot/diff/region.rb create mode 100644 test/capybara/screenshot/diff/region_test.rb create mode 100644 test/fixtures/app/doc/screenshots/chrome/linux/cropped_screenshot.png create mode 100644 test/fixtures/app/doc/screenshots/chrome/linux/index-blur_active_element-disabled.png create mode 100644 test/fixtures/app/doc/screenshots/chrome/linux/index-blur_active_element-enabled.png create mode 100644 test/fixtures/app/doc/screenshots/chrome/linux/index-cropped.png create mode 100644 test/fixtures/app/doc/screenshots/chrome/linux/index-hide_caret-disabled.png create mode 100644 test/fixtures/app/doc/screenshots/chrome/linux/index-hide_caret-enabled.png create mode 100644 test/fixtures/app/doc/screenshots/chrome/linux/index.png rename test/fixtures/app/doc/screenshots/{ => chrome/macos}/cropped_screenshot.png (100%) create mode 100644 test/fixtures/app/doc/screenshots/chrome/macos/index-blur_active_element-disabled.png create mode 100644 test/fixtures/app/doc/screenshots/chrome/macos/index-blur_active_element-enabled.png create mode 100644 test/fixtures/app/doc/screenshots/chrome/macos/index-cropped.png create mode 100644 test/fixtures/app/doc/screenshots/chrome/macos/index-hide_caret-disabled.png create mode 100644 test/fixtures/app/doc/screenshots/chrome/macos/index-hide_caret-enabled.png create mode 100644 test/fixtures/app/doc/screenshots/chrome/macos/index.png create mode 100644 test/fixtures/app/doc/screenshots/firefox/linux/cropped_screenshot.png create mode 100644 test/fixtures/app/doc/screenshots/firefox/linux/index-blur_active_element-disabled.png create mode 100644 test/fixtures/app/doc/screenshots/firefox/linux/index-blur_active_element-enabled.png create mode 100644 test/fixtures/app/doc/screenshots/firefox/linux/index-cropped.png create mode 100644 test/fixtures/app/doc/screenshots/firefox/linux/index-hide_caret-disabled.png create mode 100644 test/fixtures/app/doc/screenshots/firefox/linux/index-hide_caret-enabled.png create mode 100644 test/fixtures/app/doc/screenshots/firefox/linux/index.png create mode 100644 test/fixtures/app/doc/screenshots/firefox/macos/cropped_screenshot.png create mode 100644 test/fixtures/app/doc/screenshots/firefox/macos/index-blur_active_element-disabled.png create mode 100644 test/fixtures/app/doc/screenshots/firefox/macos/index-blur_active_element-enabled.png create mode 100644 test/fixtures/app/doc/screenshots/firefox/macos/index-cropped.png create mode 100644 test/fixtures/app/doc/screenshots/firefox/macos/index-hide_caret-disabled.png create mode 100644 test/fixtures/app/doc/screenshots/firefox/macos/index-hide_caret-enabled.png create mode 100644 test/fixtures/app/doc/screenshots/firefox/macos/index.png delete mode 100644 test/fixtures/app/doc/screenshots/index-blur_active_element-disabled.png delete mode 100644 test/fixtures/app/doc/screenshots/index-blur_active_element-enabled.png delete mode 100644 test/fixtures/app/doc/screenshots/index-hide_caret-disabled.png delete mode 100644 test/fixtures/app/doc/screenshots/index-hide_caret-enabled.png delete mode 100644 test/fixtures/app/doc/screenshots/index.png delete mode 100644 test/fixtures/app/index-changed.html create mode 100644 test/fixtures/app/index-without-img.html create mode 100644 test/integration/record_screenshot_test.rb diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 00000000..0534f448 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,8 @@ +--- +version: 2 + +updates: + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "weekly" diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 4aa46570..82ff1522 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -14,19 +14,24 @@ env: FERRUM_PROCESS_TIMEOUT: '15' WD_CACHE_TIME: '864000' # 10 days +concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} + cancel-in-progress: true + jobs: test: name: Functional Testing - runs-on: ubuntu-20.04 # In order to install libvips 8.9+ version + runs-on: ubuntu-22.04 # In order to install libvips 8.9+ version + timeout-minutes: 5 steps: - name: Checkout code - uses: actions/checkout@v2 + uses: actions/checkout@v3 - name: Set up Ruby uses: ruby/setup-ruby@v1 with: - ruby-version: '3.0' + ruby-version: '3.1' bundler-cache: true - name: Install libvips @@ -38,21 +43,27 @@ jobs: COVERAGE: enabled - name: Upload Screenshots - if: ${{ always() }} - uses: actions/upload-artifact@v2 + if: always() + uses: actions/upload-artifact@v3 with: - path: test/fixtures/app/doc/screenshots/ + name: screenshots + retention-days: 1 + path: | + test/fixtures/app/doc/screenshots/ + tmp/capybara/screenshots-diffs/ - name: Upload Coverage - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v3 with: name: coverage + retention-days: 1 path: coverage matrix: name: Test Integration Rails & Ruby needs: [ 'test' ] runs-on: ubuntu-20.04 + timeout-minutes: 5 strategy: matrix: @@ -73,7 +84,7 @@ jobs: steps: - name: Checkout code - uses: actions/checkout@v2 + uses: actions/checkout@v3 - name: Set up Ruby uses: ruby/setup-ruby@v1 @@ -91,6 +102,7 @@ jobs: name: Test Integration Capybara & Image Drivers needs: [ 'test' ] runs-on: ubuntu-20.04 + timeout-minutes: 5 strategy: matrix: @@ -102,7 +114,7 @@ jobs: steps: - name: Checkout code - uses: actions/checkout@v2 + uses: actions/checkout@v3 - name: Set up Ruby uses: ruby/setup-ruby@v1 @@ -118,3 +130,13 @@ jobs: env: SCREENSHOT_DRIVER: ${{ matrix.screenshot-driver }} CAPYBARA_DRIVER: ${{ matrix.capybara-driver }} + + - name: Upload Screenshots + uses: actions/upload-artifact@v3 + if: failure() + with: + name: screenshots-${{ matrix.screenshot-driver }}-${{ matrix.capybara-driver }} + retention-days: 1 + path: | + test/fixtures/app/doc/screenshots/ + tmp/capybara/screenshots-diffs/ diff --git a/.gitignore b/.gitignore index ae563352..64ff7b35 100644 --- a/.gitignore +++ b/.gitignore @@ -10,3 +10,5 @@ /pkg/ /spec/reports/ /tmp/ +/test/fixtures/**/*.committed.png +/test/fixtures/**/*.latest.png diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 1eb58e11..42daf9cf 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -19,4 +19,6 @@ Run the tests for a matrix of configurations of Ruby implementations and Rails v ## Merging to master -Before merging to master, please have a member of the project review your changes, and make sure the tests are green in travis-ci. +Before merging to `master`, +please have a member of the project review your changes, +and make sure the tests are green. diff --git a/Dockerfile b/Dockerfile index 00ab718b..77d3569b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,9 +3,7 @@ # $ docker build . -t csd # $ docker run -v $(pwd):/app -ti csd rake test -ARG RUBY_VERSION=2.7.2 - -FROM circleci/ruby:2.7.2-node-browsers +FROM jetthoughts/cimg-ruby:3.1-chrome RUN \ # Install dependencies @@ -47,6 +45,7 @@ RUN sudo /app/bin/install-vips ADD ./lib/capybara/screenshot/diff/version.rb /app/lib/capybara/screenshot/diff/ ADD ./capybara-screenshot-diff.gemspec /app/ ADD ./gems.rb /app/ +ADD ./Rakefile /app/ RUN bundle install diff --git a/README.md b/README.md index cc64804a..98eabdde 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -[![Build Status](https://travis-ci.org/donv/capybara-screenshot-diff.svg?branch=master)](https://travis-ci.org/donv/capybara-screenshot-diff) +[![Test](https://github.com/donv/capybara-screenshot-diff/actions/workflows/test.yml/badge.svg)](https://github.com/donv/capybara-screenshot-diff/actions/workflows/test.yml) # Capybara::Screenshot::Diff @@ -40,14 +40,14 @@ In your test class, include the `Capybara::Screenshot::Diff` module: ```ruby class ApplicationSystemTestCase < ActionDispatch::SystemTestCase include Capybara::Screenshot::Diff - ... + # ... end ``` ### rspec ```ruby -describe 'Permissions admin', :type => :feature, :js => true do +describe 'Permissions admin', type: :feature, js: true do include Capybara::Screenshot::Diff @@ -189,17 +189,12 @@ test. ### Capturing one area instead of the whole page +You can crop images before comparison to be run, by providing region to crop as `[left, top, right, bottom]` or by css selector like `body .tag` + ```ruby test 'the cool' do visit '/feature' - screenshot 'cool_element', crop: bounds('#my_element') -end - -private - -def bounds(selector) - element = evaluate_script("document.querySelector('#{selector}').getBoundingClientRect()") - [element['left'], element['top'], element['right'], element['bottom']] + screenshot 'cool_element', crop: '#my_element' end ``` @@ -452,25 +447,26 @@ Capybara::Screenshot::Diff.area_size_limit = 42 ### Skipping an area Sometimes you have expected change that you want to ignore. -You can use the `skip_area` option to the `screenshot` method to ignore an area: +You can use the `skip_area` option with `[left, top, right, bottom]` +or css selector like `'#footer'` or `'.container .skipped_element'` to the `screenshot` method to ignore an area: ```ruby test 'unstable area' do visit '/' - screenshot 'index', skip_area: [17, 6, 27, 16] + screenshot 'index', skip_area: [[17, 6, 27, 16], '.container .skipped_element', '#footer'] end ``` -The arguments are [x1, y1, x2, y2] for the area you want to ignore. You can also set this globally: +The arguments are `[left, top, right, bottom]` for the area you want to ignore. You can also set this globally: ```ruby Capybara::Screenshot::Diff.skip_area = [0, 0, 64, 48] ``` -If you need to ignore multiple areas, you can supply an array of arrays: +If you need to ignore multiple areas: ```ruby -screenshot 'index', skip_area: [[0, 0, 64, 48], [17, 6, 27, 16]] +screenshot 'index', skip_area: [[0, 0, 64, 48], [17, 6, 27, 16], 'css_selector .element'] ``` ### Available Image Processing Drivers diff --git a/bin/install-vips b/bin/install-vips index 5aae584b..5733792c 100755 --- a/bin/install-vips +++ b/bin/install-vips @@ -2,7 +2,7 @@ set -e -version=${VIPS_VERSION:-8.10.0} +version=${VIPS_VERSION:-8.12.2} wget "https://github.com/libvips/libvips/releases/download/v$version/vips-$version.tar.gz" tar xf "vips-$version.tar.gz" diff --git a/lib/capybara/screenshot/diff/browser_helpers.rb b/lib/capybara/screenshot/diff/browser_helpers.rb new file mode 100644 index 00000000..cb514b85 --- /dev/null +++ b/lib/capybara/screenshot/diff/browser_helpers.rb @@ -0,0 +1,101 @@ +# frozen_string_literal: true + +require_relative "region" + +module Capybara + module Screenshot + module BrowserHelpers + def current_capybara_driver_class + Capybara.current_session.driver.class + end + + def selenium? + current_capybara_driver_class <= Capybara::Selenium::Driver + end + + def window_size_is_wrong? + selenium? && + Screenshot.window_size && + page.driver.browser.manage.window.size != ::Selenium::WebDriver::Dimension.new(*Screenshot.window_size) + end + + def rect_for(css_selector) + all_visible_regions_for(css_selector).first + end + + def bounds_for_css(*css_selectors) + css_selectors.reduce([]) do |regions, selector| + regions.concat(all_visible_regions_for(selector)) + end + end + + IMAGE_WAIT_SCRIPT = <<~JS + function pending_image() { + var images = document.images; + for (var i = 0; i < images.length; i++) { + if (!images[i].complete) { + return images[i].src; + } + } + return false; + }() + JS + + def pending_image_to_load + evaluate_script IMAGE_WAIT_SCRIPT + end + + HIDE_CARET_SCRIPT = <<~JS + if (!document.getElementById('csdHideCaretStyle')) { + let style = document.createElement('style'); + style.setAttribute('id', 'csdHideCaretStyle'); + document.head.appendChild(style); + let styleSheet = style.sheet; + styleSheet.insertRule("* { caret-color: transparent !important; }", 0); + } + JS + + def hide_caret + execute_script(HIDE_CARET_SCRIPT) + end + + FIND_ACTIVE_ELEMENT_SCRIPT = <<~JS + function activeElement(){ + const ae = document.activeElement; + if (ae.nodeName === "INPUT" || ae.nodeName === "TEXTAREA") { + ae.blur(); + return ae; + } + return null; + }(); + JS + + def blur_from_focused_element + page.evaluate_script(FIND_ACTIVE_ELEMENT_SCRIPT) + end + + GET_BOUNDING_CLIENT_RECT_SCRIPT = <<~JS + [ + this.getBoundingClientRect().left, + this.getBoundingClientRect().top, + this.getBoundingClientRect().right, + this.getBoundingClientRect().bottom + ] + JS + + def all_visible_regions_for(selector) + all(selector, visible: true).map(&method(:region_for)) + end + + def region_for(element) + element.evaluate_script(GET_BOUNDING_CLIENT_RECT_SCRIPT).map { |point| point.negative? ? 0 : point.to_i } + end + + private + + def create_output_directory_for(file_name) + FileUtils.mkdir_p File.dirname(file_name) + end + end + end +end diff --git a/lib/capybara/screenshot/diff/drivers/chunky_png_driver.rb b/lib/capybara/screenshot/diff/drivers/chunky_png_driver.rb index 815e0660..b7b6ac3b 100644 --- a/lib/capybara/screenshot/diff/drivers/chunky_png_driver.rb +++ b/lib/capybara/screenshot/diff/drivers/chunky_png_driver.rb @@ -12,6 +12,7 @@ class ChunkyPNGDriver include ChunkyPNG::Color attr_reader :new_file_name, :old_file_name + attr_accessor :skip_area, :color_distance_limit, :shift_distance_limit def initialize(new_file_name, old_file_name = nil, options = {}) options = old_file_name if old_file_name.is_a?(Hash) @@ -69,7 +70,7 @@ def find_difference_region(new_image, old_image, color_distance_limit, shift_dis return nil, nil if new_image.pixels == old_image.pixels if fast_fail && !(color_distance_limit || shift_distance_limit || area_size_limit) - return [0, 0, width_for(new_image), height_for(new_image)], nil + return build_region_for_whole_image(new_image), nil end region = find_top(old_image, new_image) @@ -90,12 +91,6 @@ def width_for(image) image.width end - def size(region) - return 0 unless region - - (region[2] - region[0] + 1) * (region[3] - region[1] + 1) - end - def max_color_distance calculate_metrics unless @max_color_distance @max_color_distance @@ -114,8 +109,8 @@ def adds_error_details_to(log) log.merge!(max_shift_distance: max_shift_distance) if max_shift_distance end - def crop(dimensions, i) - i.crop(*dimensions) + def crop(region, i) + i.crop(*region.to_top_left_corner_coordinates) end def from_file(filename) @@ -183,20 +178,29 @@ def dimension_changed?(old_image, new_image) true end - def draw_rectangles(images, (left, top, right, bottom), (r, g, b)) + def draw_rectangles(images, region, (r, g, b)) + border_color = ChunkyPNG::Color.rgb(r, g, b) + border_shadow = ChunkyPNG::Color.rgba(r, g, b, 100) + images.map do |image| new_img = image.dup - new_img.rect(left - 1, top - 1, right + 1, bottom + 1, ChunkyPNG::Color.rgb(r, g, b)) + new_img.rect(region.left - 1, region.top - 1, region.right + 1, region.bottom + 1, border_color) + new_img.rect(region.left, region.top, region.right, region.bottom, border_shadow) new_img end end private - def find_diff_rectangle(org_img, new_img, region) - left, top, right, bottom = find_left_right_and_top(org_img, new_img, region) + def build_region_for_whole_image(new_image) + Region.from_edge_coordinates(0, 0, width_for(new_image), height_for(new_image)) + end + + def find_diff_rectangle(org_img, new_img, area_coordinates) + left, top, right, bottom = find_left_right_and_top(org_img, new_img, area_coordinates) bottom = find_bottom(org_img, new_img, left, right, bottom) - [left, top, right, bottom] + + Region.from_edge_coordinates(left, top, right, bottom) end def find_top(old_img, new_img) @@ -209,10 +213,13 @@ def find_top(old_img, new_img) end def find_left_right_and_top(old_img, new_img, region) + region = region.is_a?(Region) ? region.to_edge_coordinates : region + left = region[0] || old_img.width - 1 top = region[1] right = region[2] || 0 bottom = region[3] + old_img.height.times do |y| (0...left).find do |x| next if same_color?(old_img, new_img, x, y) @@ -230,6 +237,7 @@ def find_left_right_and_top(old_img, new_img, region) end end end + [left, top, right, bottom] end @@ -241,13 +249,12 @@ def find_bottom(old_img, new_img, left, right, bottom) end end end + bottom end def same_color?(old_img, new_img, x, y) - @skip_area&.each do |skip_start_x, skip_start_y, skip_end_x, skip_end_y| - return true if skip_start_x <= x && x <= skip_end_x && skip_start_y <= y && y <= skip_end_y - end + return true if skipped_region?(x, y) color_distance = color_distance_at(new_img, old_img, x, y, shift_distance_limit: @shift_distance_limit) @@ -266,6 +273,12 @@ def same_color?(old_img, new_img, x, y) color_matches end + def skipped_region?(x, y) + return false unless @skip_area + + @skip_area.any? { |region| region.cover?(x, y) } + end + def color_distance_at(new_img, old_img, x, y, shift_distance_limit:) org_color = old_img[x, y] if shift_distance_limit diff --git a/lib/capybara/screenshot/diff/drivers/vips_driver.rb b/lib/capybara/screenshot/diff/drivers/vips_driver.rb index f43df5c3..cca6930d 100644 --- a/lib/capybara/screenshot/diff/drivers/vips_driver.rb +++ b/lib/capybara/screenshot/diff/drivers/vips_driver.rb @@ -29,6 +29,10 @@ def initialize(new_file_name, old_file_name = nil, options = {}) reset end + def skip_area=(new_skip_area) + # noop + end + # Resets the calculated data about the comparison with regard to the "new_image". # Data about the original image is kept. def reset @@ -53,12 +57,6 @@ def find_difference_region(new_image, old_image, color_distance_limit, _shift_di [region, diff_mask] end - def size(region) - return 0 unless region - - (region[2] - region[0]) * (region[3] - region[1]) - end - def adds_error_details_to(_log) end @@ -68,8 +66,16 @@ def inscribed?(dimensions, i) dimension(i) == dimensions || i.width < dimensions[0] || i.height < dimensions[1] end - def crop(dimensions, i) - i.crop(*dimensions) + def crop(region, i) + result = i.crop(*region.to_top_left_corner_coordinates) + + # FIXME: Vips is caching operations, and if we ware going to read the same file, he will use cached version for this + # so after we cropped files and stored in the same file, the next load will recover old version instead of cropped + # Workaround to make vips works with cropped versions + Vips.cache_set_max(0) + Vips.vips_cache_set_max(1000) + + result end def filter_image_with_median(image, median_filter_window_size) @@ -77,7 +83,7 @@ def filter_image_with_median(image, median_filter_window_size) end def add_black_box(memo, region) - memo.draw_rect([0, 0, 0, 0], *region, fill: true) + memo.draw_rect([0, 0, 0, 0], *region.to_top_left_corner_coordinates, fill: true) end def chunky_png_comparator @@ -131,10 +137,10 @@ def from_file(filename) result end - def dimension_changed?(org_image, new_image) - return false if dimension(org_image) == dimension(new_image) + def dimension_changed?(old_image, new_image) + return false if dimension(old_image) == dimension(new_image) - change_msg = [org_image, new_image].map { |i| "#{i.width}x#{i.height}" }.join(" => ") + change_msg = [old_image, new_image].map { |i| "#{i.width}x#{i.height}" }.join(" => ") warn "Image size has changed for #{@new_file_name}: #{change_msg}" true @@ -144,16 +150,16 @@ def dimension(image) [image.width, image.height] end - def draw_rectangles(images, (left, top, right, bottom), rgba) + def draw_rectangles(images, region, rgba) images.map do |image| - image.draw_rect(rgba, left - 1, top - 1, right - left + 2, bottom - top + 2) + image.draw_rect(rgba, region.left - 1, region.top - 1, region.width + 2, region.height + 2) end end class VipsUtil def self.difference(old_image, new_image, color_distance: 0) diff_mask = difference_mask(color_distance, new_image, old_image) - difference_region_by(diff_mask) + difference_region_by(diff_mask).to_edge_coordinates end def self.difference_area(old_image, new_image, color_distance: 0) @@ -171,14 +177,17 @@ def self.difference_mask(color_distance, old_image, new_image) end def self.difference_region_by(diff_mask) - columns, rows = diff_mask.project + columns, rows = diff_mask.bandor.project left = columns.profile[1].min right = columns.width - columns.flip("horizontal").profile[1].min + top = rows.profile[0].min bottom = rows.height - rows.flip("vertical").profile[0].min - [left, top, right, bottom] + return nil if right < left || bottom < top + + Region.from_edge_coordinates(left, top, right, bottom) end end end diff --git a/lib/capybara/screenshot/diff/image_compare.rb b/lib/capybara/screenshot/diff/image_compare.rb index 9369ffbd..3cd08150 100644 --- a/lib/capybara/screenshot/diff/image_compare.rb +++ b/lib/capybara/screenshot/diff/image_compare.rb @@ -12,9 +12,8 @@ class ImageCompare < SimpleDelegator attr_reader :driver, :driver_options - attr_reader :annotated_new_file_name, :annotated_old_file_name, :area_size_limit, - :color_distance_limit, :new_file_name, :old_file_name, :shift_distance_limit, - :skip_area + attr_reader :annotated_new_file_name, :annotated_old_file_name, :new_file_name, :old_file_name, :skip_area + attr_accessor :shift_distance_limit, :area_size_limit, :color_distance_limit def initialize(new_file_name, old_file_name = nil, options = {}) options = old_file_name if old_file_name.is_a?(Hash) @@ -40,21 +39,23 @@ def initialize(new_file_name, old_file_name = nil, options = {}) super(@driver) end + def skip_area=(new_skip_area) + @skip_area = new_skip_area + driver.skip_area = @skip_area + end + # Compare the two image files and return `true` or `false` as quickly as possible. - # Return falsish if the old file does not exist or the image dimensions do not match. + # Return falsely if the old file does not exist or the image dimensions do not match. def quick_equal? return false unless old_file_exists? return true if new_file_size == old_file_size - # old_bytes, new_bytes = load_image_files(@old_file_name, @new_file_name) - # return true if old_bytes == new_bytes - images = driver.load_images(@old_file_name, @new_file_name) old_image, new_image = preprocess_images(images, driver) return false if driver.dimension_changed?(old_image, new_image) - region, meta = driver.find_difference_region( + self.difference_region, meta = driver.find_difference_region( new_image, old_image, @color_distance_limit, @@ -63,14 +64,9 @@ def quick_equal? fast_fail: true ) - self.difference_region = region - - return true if difference_region_empty?(new_image, region) - - return true if @area_size_limit && driver.size(region) <= @area_size_limit - - return true if @tolerance && @tolerance >= driver.difference_level(meta, old_image, region) - + return true if difference_region_area_size.zero? || difference_region_empty?(new_image, difference_region) + return true if @area_size_limit && difference_region_area_size <= @area_size_limit + return true if @tolerance && @tolerance >= driver.difference_level(meta, old_image, difference_region) # TODO: Remove this or find similar solution for vips return true if @shift_distance_limit && driver.shift_distance_equal? @@ -79,41 +75,38 @@ def quick_equal? # Compare the two images referenced by this object, and return `true` if they are different, # and `false` if they are the same. - # Return `nil` if the old file does not exist or if the image dimensions do not match. def different? - return nil unless old_file_exists? + return false unless old_file_exists? images = driver.load_images(@old_file_name, @new_file_name) - old_image, new_image = preprocess_images(images, driver) if driver.dimension_changed?(old_image, new_image) - save(new_image, old_image, @annotated_new_file_name, @annotated_old_file_name) - - self.difference_region = 0, 0, driver.width_for(old_image), driver.height_for(old_image) + self.difference_region = Region.from_edge_coordinates( + 0, + 0, + [driver.width_for(old_image), driver.width_for(new_image)].min, + [driver.height_for(old_image), driver.height_for(new_image)].min + ) - return true + return different(*images) end - region, meta = driver.find_difference_region( + self.difference_region, meta = driver.find_difference_region( new_image, old_image, @color_distance_limit, @shift_distance_limit, @area_size_limit ) - self.difference_region = region - - return not_different if difference_region_empty?(old_image, region) - return not_different if @area_size_limit && driver.size(region) <= @area_size_limit - return not_different if @tolerance && @tolerance > driver.difference_level(meta, old_image, region) + return not_different if difference_region_area_size.zero? || difference_region_empty?(old_image, difference_region) + return not_different if @area_size_limit && difference_region_area_size <= @area_size_limit + return not_different if @tolerance && @tolerance > driver.difference_level(meta, old_image, difference_region) # TODO: Remove this or find similar solution for vips return not_different if @shift_distance_limit && !driver.shift_distance_different? - annotate_and_save(images, region) - - true + different(*images) end def clean_tmp_files @@ -123,17 +116,6 @@ def clean_tmp_files File.delete(@annotated_new_file_name) if File.exist?(@annotated_new_file_name) end - DIFF_COLOR = [255, 0, 0, 255].freeze - SKIP_COLOR = [255, 192, 0, 255].freeze - - def annotate_and_save(images, region = difference_region) - annotated_images = driver.draw_rectangles(images, region, DIFF_COLOR) - @skip_area.to_a.flatten.each_slice(4) do |region| - annotated_images = driver.draw_rectangles(annotated_images, region, SKIP_COLOR) - end - save(*annotated_images, @annotated_old_file_name, @annotated_new_file_name) - end - def save(old_img, new_img, annotated_old_file_name, annotated_new_file_name) driver.save_image_to(old_img, annotated_old_file_name) driver.save_image_to(new_img, annotated_new_file_name) @@ -148,25 +130,43 @@ def reset driver.reset end + NEW_LINE = "\n" + def error_message result = { - area_size: driver.size(difference_region), - region: difference_region + area_size: difference_region_area_size, + region: difference_coordinates } driver.adds_error_details_to(result) - ["(#{result.to_json})", new_file_name, annotated_old_file_name, annotated_new_file_name].join("\n") + [ + "(#{result.to_json})", + new_file_name, + annotated_old_file_name, + annotated_new_file_name + ].join(NEW_LINE) end - def difference_region - return nil unless @left || @top || @right || @bottom + def difference_coordinates + difference_region&.to_edge_coordinates + end + + def difference_region_area_size + return 0 unless difference_region - [@left, @top, @right, @bottom] + difference_region.size end private + attr_accessor :difference_region + + def different(old_image, new_image) + annotate_and_save([old_image, new_image], difference_region) + true + end + def find_driver_class_for(driver) driver = AVAILABLE_DRIVERS.first if driver == :auto @@ -183,23 +183,6 @@ def find_driver_class_for(driver) end end - def old_file_size - @old_file_size ||= old_file_exists? && File.size(@old_file_name) - end - - def new_file_size - File.size(@new_file_name) - end - - def not_different - clean_tmp_files - false - end - - def load_images(old_file_name, new_file_name, driver = self) - [driver.from_file(old_file_name), driver.from_file(new_file_name)] - end - def preprocess_images(images, driver = self) old_img = preprocess_image(images.first, driver) new_img = preprocess_image(images.last, driver) @@ -225,19 +208,49 @@ def preprocess_image(image, driver = self) result end - def difference_region=(region) - @left, @top, @right, @bottom = region + def old_file_size + @old_file_size ||= old_file_exists? && File.size(@old_file_name) + end + + def new_file_size + File.size(@new_file_name) + end + + def not_different + clean_tmp_files + false end def difference_region_empty?(new_image, region) region.nil? || ( - region[1] == height_for(new_image) && - region[0] == width_for(new_image) && - region[2].zero? && - region[3].zero? + region.height == height_for(new_image) && + region.width == width_for(new_image) && + region.x.zero? && + region.y.zero? ) end + + def annotate_and_save(images, region) + annotated_images = annotate_difference(images, region) + annotated_images = annotate_skip_areas(annotated_images, @skip_area) if @skip_area + + save(*annotated_images, @annotated_old_file_name, @annotated_new_file_name) + end + + DIFF_COLOR = [255, 0, 0, 255].freeze + + def annotate_difference(images, region) + driver.draw_rectangles(images, region, DIFF_COLOR) + end + + SKIP_COLOR = [255, 192, 0, 255].freeze + + def annotate_skip_areas(annotated_images, skip_areas) + skip_areas.reduce(annotated_images) do |annotated_images, region| + driver.draw_rectangles(annotated_images, region, SKIP_COLOR) + end + end end end end diff --git a/lib/capybara/screenshot/diff/region.rb b/lib/capybara/screenshot/diff/region.rb new file mode 100644 index 00000000..6130ef35 --- /dev/null +++ b/lib/capybara/screenshot/diff/region.rb @@ -0,0 +1,86 @@ +# frozen_string_literal: true + +class Region + attr_accessor :x, :y, :width, :height + + def initialize(x, y, width, height) + @x, @y, @width, @height = x, y, width, height + end + + def self.from_top_left_corner_coordinates(x, y, width, height) + return nil unless x && y && width && height + return nil if width < 0 || height < 0 + + Region.new(x, y, width, height) + end + + def self.from_edge_coordinates(left, top, right, bottom) + return nil unless left && top && right && bottom + return nil if right < left || bottom < top + + Region.new(left, top, right - left, bottom - top) + end + + def to_edge_coordinates + [left, top, right, bottom] + end + + def to_top_left_corner_coordinates + [x, y, width, height] + end + + def top + y + end + + def bottom + y + height + end + + def left + x + end + + def right + x + width + end + + def size + return 0 if width < 0 || height < 0 + + result = width * height + result.zero? ? 1 : result + end + + def to_a + [@x, @y, @width, @height] + end + + def find_intersect_with(region) + return nil unless intersect?(region) + + new_left = [x, region.x].max + new_top = [y, region.y].max + + Region.new(new_left, new_top, [right, region.right].min - new_left, [bottom, region.bottom].min - new_top) + end + + def intersect?(region) + left <= region.right && right >= region.left && top <= region.bottom && bottom >= region.top + end + + def move_by(right_by, down_by) + Region.new(x + right_by, y + down_by, width, height) + end + + def find_relative_intersect(region) + intersect = find_intersect_with(region) + return nil unless intersect + + intersect.move_by(-x, -y) + end + + def cover?(x, y) + left <= x && x <= right && top <= y && y <= bottom + end +end diff --git a/lib/capybara/screenshot/diff/stabilization.rb b/lib/capybara/screenshot/diff/stabilization.rb index 734037bf..220f407b 100644 --- a/lib/capybara/screenshot/diff/stabilization.rb +++ b/lib/capybara/screenshot/diff/stabilization.rb @@ -8,28 +8,6 @@ module Diff module Stabilization include Os - IMAGE_WAIT_SCRIPT = <<-JS.strip_heredoc.freeze - function pending_image() { - var images = document.images; - for (var i = 0; i < images.length; i++) { - if (!images[i].complete) { - return images[i].src; - } - } - return false; - }() - JS - - HIDE_CARET_SCRIPT = <<~JS - if (!document.getElementById('csdHideCaretStyle')) { - let style = document.createElement('style'); - style.setAttribute('id', 'csdHideCaretStyle'); - document.head.appendChild(style); - let styleSheet = style.sheet; - styleSheet.insertRule("* { caret-color: transparent !important; }", 0); - } - JS - def take_stable_screenshot(comparison, stability_time_limit:, wait:, crop:) previous_file_name = comparison.old_file_name screenshot_started_at = last_image_change_at = Time.now @@ -41,6 +19,7 @@ def take_stable_screenshot(comparison, stability_time_limit:, wait:, crop:) clean_stabilization_images(comparison.new_file_name) break end + comparison.reset if previous_file_name @@ -78,7 +57,7 @@ def take_stable_screenshot(comparison, stability_time_limit:, wait:, crop:) end def notice_how_to_avoid_this - unless @_csd_retina_warned + unless defined?(@_csd_retina_warned) warn "Halving retina screenshot. " \ 'You should add "force-device-scale-factor=1" to your Chrome chromeOptions args.' @_csd_retina_warned = true @@ -90,7 +69,7 @@ def notice_how_to_avoid_this def build_snapshot_version_file_name(comparison, iteration, screenshot_started_at, stabilization_comparison) "#{comparison.new_file_name.chomp(".png")}" \ "_x#{format("%02i", iteration)}_#{(Time.now - screenshot_started_at).round(1)}s" \ - "_#{stabilization_comparison.difference_region&.to_s&.gsub(", ", "_") || :initial}.png" \ + "_#{stabilization_comparison.difference_coordinates&.to_s&.gsub(", ", "_") || :initial}.png" \ "#{ImageCompare::TMP_FILE_SUFFIX}" end @@ -123,18 +102,15 @@ def clean_stabilization_images(base_file) def prepare_page_for_screenshot(timeout:) assert_images_loaded(timeout: timeout) + if Capybara::Screenshot.blur_active_element - active_element = execute_script(<<-JS) - ae = document.activeElement; - if (ae.nodeName === "INPUT" || ae.nodeName === "TEXTAREA") { - ae.blur(); - return ae; - } - return null; - JS - blurred_input = page.driver.send :unwrap_script_result, active_element + blurred_input = blur_from_focused_element end - execute_script(HIDE_CARET_SCRIPT) if Capybara::Screenshot.hide_caret + + if Capybara::Screenshot.hide_caret + hide_caret + end + blurred_input end @@ -148,9 +124,9 @@ def take_right_size_screenshot(comparison, crop:) # ODOT if crop - full_img = driver.from_file(comparison.new_file_name) - area_img = driver.crop([crop[0], crop[1], crop[2] - crop[0], crop[3] - crop[1]], full_img) - driver.save_image_to(area_img, comparison.new_file_name) + image = driver.from_file(comparison.new_file_name) + cropped_image = driver.crop(crop, image) + driver.save_image_to(cropped_image, comparison.new_file_name) end end @@ -191,7 +167,7 @@ def assert_images_loaded(timeout:) start = Time.now loop do - pending_image = evaluate_script IMAGE_WAIT_SCRIPT + pending_image = pending_image_to_load break unless pending_image assert( diff --git a/lib/capybara/screenshot/diff/test_methods.rb b/lib/capybara/screenshot/diff/test_methods.rb index 6e92cfc3..d2793e9e 100644 --- a/lib/capybara/screenshot/diff/test_methods.rb +++ b/lib/capybara/screenshot/diff/test_methods.rb @@ -8,6 +8,8 @@ require_relative "image_compare" require_relative "stabilization" require_relative "vcs" +require_relative "browser_helpers" +require_relative "region" # Add the `screenshot` method to ActionDispatch::IntegrationTest module Capybara @@ -16,6 +18,7 @@ module Diff module TestMethods include Stabilization include Vcs + include BrowserHelpers def initialize(*) super @@ -34,21 +37,13 @@ def group_parts end def full_name(name) - File.join group_parts.<<(name).map(&:to_s) + File.join group_parts.push(name).map(&:to_s) end def screenshot_dir File.join [Screenshot.screenshot_area] + group_parts end - def current_capybara_driver_class - Capybara.current_session.driver.class - end - - def selenium? - current_capybara_driver_class <= Capybara::Selenium::Driver - end - def screenshot_section(name) @screenshot_section = name.to_s end @@ -70,12 +65,7 @@ def screenshot(name, options = {}) stability_time_limit = driver_options[:stability_time_limit] wait = driver_options[:wait] - crop = driver_options.delete(:crop) - - # Allow nil or single or multiple areas - if driver_options[:skip_area] - driver_options[:skip_area] = driver_options[:skip_area].compact.flatten&.each_slice(4)&.to_a - end + crop = calculate_crop_region(driver_options) if @screenshot_counter name = "#{format("%02i", @screenshot_counter)}_#{name}" @@ -84,38 +74,81 @@ def screenshot(name, options = {}) name = full_name(name) file_name = "#{Screenshot.screenshot_area_abs}/#{name}.png" - FileUtils.mkdir_p File.dirname(file_name) + create_output_directory_for(file_name) + comparison = ImageCompare.new(file_name, nil, driver_options) - checkout_vcs(name, comparison) - begin - blurred_input = prepare_page_for_screenshot(timeout: wait) - if stability_time_limit - take_stable_screenshot(comparison, stability_time_limit: stability_time_limit, wait: wait, crop: crop) - else - take_right_size_screenshot(comparison, crop: crop) - end - ensure - blurred_input&.click - end + checkout_vcs(name, comparison.old_file_name, comparison.new_file_name) + take_screenshot(comparison, crop, stability_time_limit, wait) return false unless comparison.old_file_exists? + # Allow nil or single or multiple areas + if driver_options[:skip_area] + comparison.skip_area = calculate_skip_area(driver_options[:skip_area], crop) + end + (@test_screenshots ||= []) << [caller(1..1).first, name, comparison] true end - def window_size_is_wrong? - selenium? && Screenshot.window_size && - page.driver.browser.manage.window.size != - ::Selenium::WebDriver::Dimension.new(*Screenshot.window_size) - end - def assert_image_not_changed(caller, name, comparison) return unless comparison.different? "Screenshot does not match for '#{name}' #{comparison.error_message}\nat #{caller}" end + + private + + def calculate_crop_region(driver_options) + crop_coordinates = driver_options.delete(:crop) + return nil unless crop_coordinates + + crop_coordinates = bounds_for_css(crop_coordinates).first if crop_coordinates.is_a?(String) + Region.from_edge_coordinates(*crop_coordinates) + end + + def create_output_directory_for(file_name) + FileUtils.mkdir_p File.dirname(file_name) + end + + def take_screenshot(comparison, crop, stability_time_limit, wait) + blurred_input = prepare_page_for_screenshot(timeout: wait) + if stability_time_limit + take_stable_screenshot( + comparison, + crop: crop, + stability_time_limit: stability_time_limit, + wait: wait + ) + else + take_right_size_screenshot(comparison, crop: crop) + end + ensure + blurred_input&.click + end + + def calculate_skip_area(skip_area, crop) + crop_region = crop && Region.new(*crop) + skip_area = Array(skip_area) + + css_selectors, regions = skip_area.compact.partition { |region| region.is_a? String } + + result = [] + result.concat(build_regions_for(bounds_for_css(*css_selectors))) unless css_selectors.empty? + result.concat(build_regions_for(regions.flatten&.each_slice(4))) unless regions.empty? + result.compact! + + result.map! { |region| crop_region.find_relative_intersect(region) } if crop_region + + result + end + + def build_regions_for(coordinates) + coordinates.map do |region_coordinates| + Region.from_edge_coordinates(*region_coordinates) + end + end end end end diff --git a/lib/capybara/screenshot/diff/vcs.rb b/lib/capybara/screenshot/diff/vcs.rb index 2e12de49..86bfb0c3 100644 --- a/lib/capybara/screenshot/diff/vcs.rb +++ b/lib/capybara/screenshot/diff/vcs.rb @@ -18,22 +18,23 @@ def restore_git_revision(name, target_file_name) FileUtils.rm_f(target_file_name) unless $CHILD_STATUS == 0 end - def checkout_vcs(name, comparison) + def checkout_vcs(name, old_file_name, new_file_name) svn_file_name = "#{Capybara::Screenshot.screenshot_area_abs}/.svn/text-base/#{name}.png.svn-base" + if File.exist?(svn_file_name) committed_file_name = svn_file_name - FileUtils.cp committed_file_name, comparison.old_file_name + FileUtils.cp committed_file_name, old_file_name else - svn_info = `svn info #{comparison.new_file_name} #{SILENCE_ERRORS}` + svn_info = `svn info #{new_file_name} #{SILENCE_ERRORS}` if svn_info.present? wc_root = svn_info.slice(/(?<=Working Copy Root Path: ).*$/) checksum = svn_info.slice(/(?<=Checksum: ).*$/) if checksum committed_file_name = "#{wc_root}/.svn/pristine/#{checksum[0..1]}/#{checksum}.svn-base" - FileUtils.cp committed_file_name, comparison.old_file_name + FileUtils.cp committed_file_name, old_file_name end else - restore_git_revision(name, comparison.old_file_name) + restore_git_revision(name, old_file_name) end end end diff --git a/test/capybara/screenshot/diff/drivers/chunky_png_driver_test.rb b/test/capybara/screenshot/diff/drivers/chunky_png_driver_test.rb index 6b0be8e3..c4f192ff 100644 --- a/test/capybara/screenshot/diff/drivers/chunky_png_driver_test.rb +++ b/test/capybara/screenshot/diff/drivers/chunky_png_driver_test.rb @@ -32,7 +32,7 @@ class ChunkyPNGDriverTest < ActionDispatch::IntegrationTest test "compare then dimensions and cleanup" do comp = make_comparison(:a, :c) assert comp.different? - assert_equal [11, 3, 48, 20], comp.difference_region + assert_equal [11, 3, 48, 20], comp.difference_coordinates assert File.exist?(comp.old_file_name) assert File.exist?(comp.annotated_old_file_name) assert File.exist?(comp.annotated_new_file_name) @@ -46,7 +46,7 @@ class ChunkyPNGDriverTest < ActionDispatch::IntegrationTest test "compare of 1 pixel wide diff" do comp = make_comparison(:a, :d) assert comp.different? - assert_equal [9, 6, 9, 13], comp.difference_region + assert_equal [9, 6, 9, 13], comp.difference_coordinates end test "compare with color_distance_limit above difference" do @@ -114,7 +114,7 @@ class ChunkyPNGDriverTest < ActionDispatch::IntegrationTest test "size a vs a_cropped" do comp = make_comparison(:a, :a_cropped) comp.different? - assert_equal 6561, comp.size(comp.difference_region) + assert_equal 4800, comp.difference_region_area_size end # Test Interface Contracts @@ -124,11 +124,6 @@ class ChunkyPNGDriverTest < ActionDispatch::IntegrationTest assert driver.from_file("#{TEST_IMAGES_DIR}/a.png") end - test "size requires region" do - driver = ChunkyPNGDriver.new("#{Rails.root}/screenshot.png") - assert driver.size(sample_region) - end - private def make_comparison(old_img, new_img, options = {}) diff --git a/test/capybara/screenshot/diff/drivers/vips_driver_test.rb b/test/capybara/screenshot/diff/drivers/vips_driver_test.rb index 113446bc..f8dae528 100644 --- a/test/capybara/screenshot/diff/drivers/vips_driver_test.rb +++ b/test/capybara/screenshot/diff/drivers/vips_driver_test.rb @@ -21,6 +21,9 @@ class VipsDriverTest < ActionDispatch::IntegrationTest @new_screenshot_result.close @new_screenshot_result.unlink end + + Vips.cache_set_max(0) + Vips.vips_cache_set_max(1000) end test "#different? for equal is negative" do @@ -45,7 +48,7 @@ class VipsDriverTest < ActionDispatch::IntegrationTest test "when different does not clean runtime files" do comp = make_comparison(:a, :c) assert comp.different? - assert_equal [11.0, 3.0, 49.0, 21.0], comp.difference_region + assert_equal [11.0, 3.0, 49.0, 21.0], comp.difference_coordinates assert File.exist?(comp.old_file_name) assert File.exist?(comp.annotated_old_file_name) assert File.exist?(comp.annotated_new_file_name) @@ -62,7 +65,7 @@ class VipsDriverTest < ActionDispatch::IntegrationTest test "compare of 1 pixel wide diff" do comp = make_comparison(:a, :d) assert comp.different? - assert_equal [9.0, 6.0, 10.0, 14.0], comp.difference_region + assert_equal [9.0, 6.0, 10.0, 14.0], comp.difference_coordinates end test "compare with color_distance_limit above difference" do @@ -93,26 +96,6 @@ class VipsDriverTest < ActionDispatch::IntegrationTest assert_not comp.different? end - test "quick_equal compare with shift_distance_limit above difference" do - comp = make_comparison(:a, :d, shift_distance_limit: 11) - assert comp.quick_equal? - end - - test "different with shift_distance_limit above difference" do - comp = make_comparison(:a, :d, shift_distance_limit: 20) - assert_not comp.different? - end - - test "quick_equal? with shift_distance_limit below difference" do - comp = make_comparison(:a, :b, shift_distance_limit: 9) - assert_not comp.quick_equal? - end - - test "different? with shift_distance_limit below difference" do - comp = make_comparison(:a, :b, shift_distance_limit: 9) - assert comp.different? - end - test "quick_equal" do comp = make_comparison(:a, :b) assert_not comp.quick_equal? @@ -131,17 +114,31 @@ class VipsDriverTest < ActionDispatch::IntegrationTest test "size a vs a_cropped" do comp = make_comparison(:a, :a_cropped) comp.different? - assert_equal 6400, comp.size(comp.difference_region) + assert_equal 4800, comp.difference_region_area_size end test "quick_equal compare skips difference if skip_area covers it" do - comp = make_comparison(:a, :d, skip_area: [[9, 0, 11, 80], [79, 79, 80, 80]]) + comp = make_comparison( + :a, + :d, + skip_area: [ + Region.from_edge_coordinates(9, 0, 11, 80), + Region.from_edge_coordinates(79, 79, 80, 80) + ] + ) assert comp.quick_equal? assert_not comp.different? end test "quick_equal compare skips difference if skip_area does not cover it" do - comp = make_comparison(:a, :d, skip_area: [[79, 79, 80, 80], [78, 78, 80, 80]]) + comp = make_comparison( + :a, + :d, + skip_area: [ + Region.from_edge_coordinates(79, 79, 80, 80), + Region.from_edge_coordinates(78, 78, 80, 80) + ] + ) assert_not comp.quick_equal? assert comp.different? end @@ -153,11 +150,6 @@ class VipsDriverTest < ActionDispatch::IntegrationTest assert driver.from_file("#{TEST_IMAGES_DIR}/a.png") end - test "size requires region" do - driver = VipsDriver.new("#{Rails.root}/screenshot.png") - assert driver.size(sample_region) - end - private def make_comparison(old_img, new_img, options = {}) diff --git a/test/capybara/screenshot/diff/region_test.rb b/test/capybara/screenshot/diff/region_test.rb new file mode 100644 index 00000000..ff430e39 --- /dev/null +++ b/test/capybara/screenshot/diff/region_test.rb @@ -0,0 +1,60 @@ +# frozen_string_literal: true + +require "test_helper" + +class RegionTest < ActiveSupport::TestCase + test "move_by moves region coordinates" do + region = Region.new(10, 10, 10, 10).move_by(-5, -5) + + assert_equal 5, region.x + assert_equal 5, region.y + assert_equal 10, region.width + assert_equal 10, region.height + end + + test "find_intersect" do + crop = Region.new(5, 5, 10, 10) + region = Region.new(10, 10, 20, 20).find_intersect_with(crop) + + assert_equal 10, region.x + assert_equal 10, region.y + assert_equal 5, region.width + assert_equal 5, region.height + end + + test "find_relative_intersect finds intersect and returns relative position" do + crop = Region.new(5, 5, 10, 10) + + region = crop.find_relative_intersect(Region.new(0, 0, 20, 20)) + + assert_equal 0, region.x + assert_equal 0, region.y + assert_equal 10, region.width + assert_equal 10, region.height + + region = crop.find_relative_intersect(Region.new(10, 10, 20, 20)) + + assert_equal 5, region.x + assert_equal 5, region.y + assert_equal 5, region.width + assert_equal 5, region.height + end + + test ".from_edge_coordinates returns nil for missed coordinates" do + assert_nil Region.from_edge_coordinates(0, 0, nil, nil) + end + + test ".from_edge_coordinates returns nil for bottom before top and right before left" do + assert_nil Region.from_edge_coordinates(10, 10, 9, 11) + assert_nil Region.from_edge_coordinates(10, 10, 11, 9) + end + + test ".from_top_left_corner_coordinates returns nil for missed coordinates" do + assert_nil Region.from_top_left_corner_coordinates(0, 0, nil, nil) + end + + test ".from_top_left_corner_coordinates returns nil for negative width or height" do + assert_nil Region.from_top_left_corner_coordinates(10, 10, -1, 11) + assert_nil Region.from_top_left_corner_coordinates(10, 10, 11, -1) + end +end diff --git a/test/capybara/screenshot/diff/test_methods_test.rb b/test/capybara/screenshot/diff/test_methods_test.rb index 12a7a8c3..5e7f9888 100644 --- a/test/capybara/screenshot/diff/test_methods_test.rb +++ b/test/capybara/screenshot/diff/test_methods_test.rb @@ -13,7 +13,7 @@ def test_assert_image_not_changed message = assert_image_not_changed("caller", "name", make_comparison(:a, :c)) value = RUBY_VERSION >= "2.4" ? 187.4 : 188 assert_equal <<-MSG.strip_heredoc.chomp, message - Screenshot does not match for 'name' ({"area_size":684,"region":[11,3,48,20],"max_color_distance":#{value}}) + Screenshot does not match for 'name' ({"area_size":629,"region":[11,3,48,20],"max_color_distance":#{value}}) #{Rails.root}/screenshot.png #{Rails.root}/screenshot.committed.png #{Rails.root}/screenshot.latest.png @@ -23,10 +23,10 @@ def test_assert_image_not_changed def test_assert_image_not_changed_with_shift_distance_limit message = - assert_image_not_changed("caller", "name", make_comparison(:a, :c, shift_distance_limit: 1)) + assert_image_not_changed("caller", "name", make_comparison(:a, :c, shift_distance_limit: 1, driver: :chunky_png)) value = RUBY_VERSION >= "2.4" ? 5.0 : 5 assert_equal <<-MSG.strip_heredoc.chomp, message - Screenshot does not match for 'name' ({"area_size":684,"region":[11,3,48,20],"max_color_distance":#{value},"max_shift_distance":15}) + Screenshot does not match for 'name' ({"area_size":629,"region":[11,3,48,20],"max_color_distance":#{value},"max_shift_distance":15}) #{Rails.root}/screenshot.png #{Rails.root}/screenshot.committed.png #{Rails.root}/screenshot.latest.png diff --git a/test/fixtures/app/doc/screenshots/chrome/linux/cropped_screenshot.png b/test/fixtures/app/doc/screenshots/chrome/linux/cropped_screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..3cbed2adb533179e6bc999792d18158e5f7c8d51 GIT binary patch literal 3467 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 aQ~usn9%J13LJ+)NLAv*lh>w~M&;JV=k9^et literal 0 HcmV?d00001 diff --git a/test/fixtures/app/doc/screenshots/chrome/linux/index-blur_active_element-disabled.png b/test/fixtures/app/doc/screenshots/chrome/linux/index-blur_active_element-disabled.png new file mode 100644 index 0000000000000000000000000000000000000000..4a9e2fa6d2b104920e7c0ec2ddff09967c579c1d GIT binary patch literal 33206 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 literal 0 HcmV?d00001 diff --git a/test/fixtures/app/doc/screenshots/chrome/linux/index-blur_active_element-enabled.png b/test/fixtures/app/doc/screenshots/chrome/linux/index-blur_active_element-enabled.png new file mode 100644 index 0000000000000000000000000000000000000000..e94ed03415074360445c63ad335a8df6f0ad9d14 GIT binary patch literal 32496 zcmaHTWmJ?=+b#nG3_XC9)X*J*)KEhxjevBgAUSjj!_Wqu5(H zTj#9x`n|5R*7NK6F|+pUd*A!Iub3zebp-<4hq!2HXaq`%@>*zU7!WixbPNy{>dh}{ zKY27X2%3_-jJA*IUM6b#|X>%TuAFS9l{}9Uz8SnC!)7^Va=`ptqEY8bAB5uQ$~cv$mvLMiK%8*|xI$ zn+dl`cu63Dzn&``kdG$f7ckKm_pkR5022(*A%cz*i}oK++q0(#^mR75A=0@2e2s>q zfjE+cp)>#IbCf{*5$(E9<5d2y*D&-4kN~2;J{1k;mo<{+>w|LRI$|{G+Mx%AAf~j#XdaV9a?HQ#{a+7FKOwp_kD`uY1MO|VY>~=w* zOK;WiYIb@}{0D?S&^4LcDDK79$;nClmtJ_Il-UR6>wqa%4j!)Q-J)`<6|3o5n{vjb%Fr=>b@%ib{kr?rH8P_2>+a6_qA}!} zm+9|KI|AEjBaFRmOQJ$gUTe&+%LP2x#-dH%6Lx(RpH(hbW4kf4V(*y{Jrt;%FTXQi z*_Kr)$kq{9W4H5gzKzX0G9~hepM!^|c8%t{i1A6zx8DBDJS}Zarrk;|mR@m?2t`rX8=XpT3WZshhDA*Np%w6u}UQNqUO)fiTGOqd-5&U`|;} zqbCEAR-LMf7TxkrDNaAU=cljpCP}FFxJ&}r`p2u+m|5K#U(rwhzOUjYeO%2c3*l{Q zZr~3zl<^E(pIH2->RhbXyF(<5~iN`2DAt$eBP(iuB z-+K4Lq=GM~H8d<-QPVXlD*FAL;e4Xi_3iCfu@xI$&{RCx?gYV+U^xIlLNzA)`n9s7 z;F18V);D~Wk z`+g)j@IFyZY=sha$5#)Sjo0qQHs3-5IQNZz{P^*rANWO(cu83I+q*uY6ehmbW}LW0 zLbHL!v}a1DO4Yy{zk#bjO~%`jxObB=>69G2@8W0iZu@^$?`ReF;NcKH#>RBmc(1lu zmYA5FhBij}Q?lSY`j*_G2s?Y*LdwYfVvLLM-={N}i5L=fTwI)JzZ>m1TVq9WF;}zl z?K2Jat4Jat>b+Zlp;xF$(3>(1Qd(Bpv)?*;a=C3uaATm^Vv+aWs5;zHl+ZWMwr}r@ zk!K!P7~9%*gZCxzI?Jm$%&1Z+Db@+SVLR`LL8BA##e775m8`I*`{LoKBIu9R~d)2 z@IWkuE=|Va3hprHsoOlSq>{cck}*bwfh0~F%^gox*^}3WYT%E*zAEfOI7+`J!K7Wp zS~i?27_1^4hj4}1SQ#a>{c?f&ge*?aKbug<%e*ti8;)4OmOAq6$@Pklr+G1(psut* zGVN9wkQP*&yU$zc9)@`}Q=N^^tvC{P`uV2CoEM}#q7fZdQJk@0ZBUl0>b0?+HdCNc zoA=Nc%=P`NP%s&IIbU{gslSyScGdXwulBh_Vpj!p7`$R3At$%oP+;fl9~!7_y^@pH zW_)X6u#srC!@6XQO~%Tq?jcC1(&fpp@L_F2sKG*k_mjJuKUL7&w3iT$liq;4ij=O5 zhBG?kF&e!TIV^%nvv`Y=*fRwuwtL`GW%!`^y|*-EOp{ob1nbyh7(cpH9WQxJu?^D| zeb+>sZT3=uwpNCbgmvJPpu2TQR;l(HYdhd!Kny|RDsHp0Nv0uIZ*zW4Qt76o9Xe1J zDEo3Kyj{S%-OW=1EMF>2j0Hg6deJh3j%bF5xd)!#mj|@|_mNgYSPTs)G6U)IR{pgZubYuW( znxq%1m{Rh5y}sUm{fd`|+2PJTJ|Tr$MbA0m)$K+4E*eAVMg!5+!>x#;HY9)B8UzcB zEA4H}kNJ8Mv!dDSjU;xSKB%SDUCAu%(QnTERWe&bkd#18 z(m+EMk9s~28J$gU&^9_XyuHJh8?BTv6g{-n;jdfnh$r|dX7BM6)5$?px4Zk{&=g$@-3AsVh+t;pPHwg!U2o;OFqkd|{`NUOJxPEKWfk!l@f92TI9xF6XGu4v z{5oB1?K@a7_q4mv_o2kkk(c#(`57+X&{66ddRO-iAjZ)*c0)0f)ZS4<(?(cHZsCob2! zt7H0J7ir<;d>SmQnVMHF_p8B)zu%X$)|j!rKH1gu`T-(na+yR6RD{QRcFSIq9nAM- ziZTukeW`mY-YmdMutk8gFRAc+3DYY6rn_=^(|PH=kLr^r zNl{=4q64(9U@kC3E8}fw&Hm&_A168gNGCx+5xQF*PWU<{G5XX-bBvag|Eo<$n=1;-xhqgm$Lo{07YzQ; zwlgXHsvQ6eU3S&CyYoNY7VVoqDa&;_$Y<S zkb})f5LgDHrh%SQwrpYLm0i*st-S|vG25R@M%4Ev| zQF!MpdmOS2jtN4pUWv6}>vfC$0JzJ1d+TT`i@}Jt?;`GL$0zxm{5=NpEhw~a0h8Jh zOVRuzlciRpe;<9Ih$e54e^Tz2PHGwDsML(%^{RtMOaElq?dQeeiSvp%x1C8|Sc5%9 z5w`jcZ{sPn|J$HdF+P4~DV(>CxAzmbiJ>B$;qIo>!Hg5w%k?V zzcAg~DKPZp!HoGD#)i87%pL_tM7)=FZ>n9)pSqpT>itf>9FcQc4QEYT;5}=)tF6XEMmP{ps4A`?1O}*->G1fyy~D ztl%emBj;3h2ywgAICSut^lg7v``Y@cubxpa?Uu|BU|h|#+5tGq!o?_xNwB^GW5 zo%blCa#;p>7nG>$do;zR#GxD%^2_tDWdyV0#gYyiam#R$_+4&u&sX6+paHY_ynDI% zGhjQ;k@5o@UNA!lm~Pk{me0eNK~zUO#Y-V~E0OKtIJJ_iufRRHe`Kw86n83;0uk)`Qn7%$x$obM|$OxmBta zIst7|Wi^d<^@Tkly$CYoI}zbk-RQjE7n2v&Qa{wMXl#tgIMtUa%|AtB9uw10vftf! zR4-svP`pVwOv#Y+A0igJNd4heq?IX5NAtiA;8P^*%Cmc5ITkN86-W_+y*SQoErNdc zX8%!Y?)~L;ee!iLS4liArVhDq#0=%MV8`boE18cHq9vID0(XZM@U#@ir8uh&bi6!^ z19{H{k%J-S(xUD%!PGIH9s$BRXk|rYyE6D3S^PaItZ!Pr7nxnUfkbMLnI(cxkkAuf6_VCAa65JbwPkq#|AjqUvaZ;UE@|tiE zz3)4>VxwZv&dO;nw_%(;iw!%Udx^Ama*<*sH|_z!k9R4R} zJiJOxN0NrM1e z*&JChRexoWAHA<;4M`}s^NqB2Tr@~wllg3QR{outjjw*VymxMcZ$Qtv>~!S{OvSz- zi<2_{WZ>eaH~kAp<_G$)qJ4}ytJLVRz13XaRPuD@N_qK>tI_~RWlbZP)~@-@sF?28 z%huu$av(l5K*qYwpl@i=*0O`(BhzoBfBNqs)7j$d2eoH-0FN!dSXoVMc@ttIzag3T zPBORVC}{X!K;t1#I}+_>9^)q)k6c2`!Nj`cbRNODr0+W8!k6F4n}y!reM#ExwI47x zUuzZO(iy0>p8&ACL$zMEV8lGB$#HPYu77Yv*Pl1~R0IX{3~C?ALEss|f$wiM^4o`u zXR_!rE43d$CZgT)8;Zh`U!Lz}am&RRa1rAqY@}WZSD0V>dPNgpJD2h5vA4=z7J{5w z#dDsg4vvg6gmcP{dU@N-MI}@94fiD!&sVA`8u%t<<=PCeQ#(?AN+b4|=&+jF^<-Q_ z8oy4EJ}&QRpdxmE%HM5*NiP4L!lfMerWO7dWLzde5la$hO~bbun#9D(RtE2$gb@vF zF5uR~VO8r+zB5>7GVnTC3T^!DHTV6@kZBOWy;x2fT=gxv9DL)QLyR&+Wv5u|F@1c__K7u%l>a?PEbe9 zN`5~zcB0O6#KQos?Y63MX4WuKJE}I&|Q0 zubvrS0`4H$*j9F8f#D)1h(Kg{-&&@rxG*st$JN&Tqd2($jZ>8>u7hHb0{=1%meruXxZF@{#&@{y6|EV_XVaR2kMNsU{dy<+ zWE<9iR}+$;T6KC6^f2MPd-4^`o+~Y=wHV3=+r9@)v`K zP9Mh3aaq*VmlvqCwh1poW?(O$!w?^Ez`$<|4_4>x^uF%d8x#k754?sUwlmupa0qZJ zdd^h)5>|SeSY!Ay>}~Xv#sC#^jTTNiGU&%Zw)LhGw!T5kl%47)O7u zue{6($Ndb_bga7q`}ja9^>`^ppvAs?{qoc#!xaZ>sfDl-bE~H{2@ZVGo40TOgXu!C zUTtz8H33?NC;s&}i<7LJ{gXGaFVqLvy2_5R__&SFPA;lN@|PD94lCY?PZch$_jO}f zQ#6J02N+xVO|lqm1_Qe-w0z)|AusozJ{^EQ5B(S9$B7v+2G2*uG8u0>mKons3YeTxL15kNi@?~BTzGdSBD zxlm(~s>;3LUAx(s9rvF8uR`g$M#|XK?2$yFHRbI+FIt)wT%RsPYq7F&FTA6ohBl1~ zN-hH5CW~&o#L=sM%?KPH6T*8zD31_l2Ai3|b#tx5GWbLY4;`-)+YltA@>d9bB<$wJ zWSVYCSc$=QYM1~|qFwj?2Ud6T2L_uM6u~uZb*yy)VDSU^6XOpA+!GE$GOO2@eLeZT z=PBVrmzR`>AO70GpMThDavuLDe_+wb&?1wAHv_g7Z4hK`O!lSyRiANy_qSz$?8!x`GP?o`|c@tXvLUc1U#0^nQw`-IQS_BKmY~4&E#r zJL=T^Ci|_Qsj5$eTnOwo)uM1?Vol+6|8KsMd6@wPMT0SrL$`08%zB%Kp2TP6vuMjm zk>rwgGr(et+a8i!qz;4r#wd8SX|;W(r{~Bdv5A4Q`CpRjgK65`>xiyqYb!;&O0r)CWO%ML9IWE4 z506aEdy*#>xCe9W`w=Cm+wm0Ys+H9=dm4~AiAc0ATX3)!*A(nXHhu0bbaB`=mOCN$ zh#1IW1P%-pr0S2KUKhfC{;2-saj@-l`A&>&t>=8@AMj@V-Q~0a-r`HK+I|!P(OXmtgkhm!5uIETrRVJbmF(fHKe)Z6@%ka{k^3}IJm&b^Er&*nM z`EUC&clCMtcsCCRkE#gEHsr&=sJlp)ekU`Sjb#COQZDh=$fYN{evXi$##x$ zF^GQZ>*%Bh`!1KRPnMqlk(VwcMG%BN*p@b{%dRKuiMx(y+0@e!)TS+k;UamR(DDHvgmnO+u^s*1LGA&+|%V6TZm=% zrXcZIy-dCqQz$$C7k$4P!ipyB7sw(b|D>y$0Iikyv? z@0nkUov_0s>;6O|8jF|BCAG-7o02__x*zA$|QntPXIDajfOaxQj}D6aA(WDr!C3mQeY;-_qWt zpjqDfi}ytPB|VsL;I*Fei*Dgr?KobPu9g=QxFGhqkXt`6%VhVgiF$W4BNyw310!w- znO^Dq%kSeV1N}UtmJA+b5LPJ(+A{b)d*?&X1*|B=RBk4%&7-^jK7`DGRVX^9&7|js zN^qd5ZcZo+Iyd>*_98J;%&?}ab%q9<$kx3BcblY$&nSD=-R9^i%eY@fEfB6a#T%4v zo>jwfIv)@wMw!ZZ;6P6)?4!B_$BXNcKZr%<=(`(uZOZrNusC=;^sWD%)DL|wwgL}$ zOFiEnjHSWB|n>I)s(ix@>ITj}Od@%^ziH3OHO2#Mh;}N-q+t{qXP2kvvjq*yp zlcE2$+EHzQ+fx2rF+RtFv@%^69TwG^oMye3XQBU0N!Winr12B)2epC=;ILz6M`f1rMP;MiGiztZlSA=f!BD8Q>Qvv;&IG`;`zp;6+ksu#JRkc zWYn^AlUx!bzucYl8*I(;%Zdu>!yTRyWLZWlsykPxDJu*tlaQ%Cc`u2BhgW_p2X4_C zXp6mT>j0a@UHm^UK=rh~9=D4aN~9n)3Ar)p5c!+2iG@AK?2Y&^Qdz;4C~fgg!FY>0 zSHFmJIS>YBwu6XQHwwaM8*I zV$c>rq~OhOlK10Ll8lPBc3l*qs`TYW$6nme!{#`MES!k#Lu>~=C}`-f9<>ZXf0u0D zd==h+$tlHOO|zIeS8eLTi$$)SP_ysIa*Ow-_|7>yuw>GYxsC)57{#si9vQySw`S9d z?^KPHw=0}SGO~>X*E5`w7njk1lE16#HJZGPFrX>>WDoo^>qxvgLE&rzn+UlU!5f7UN~7##6GNF&rtt2 zT~*R3I4!)vzzG>$`KpbvIg|0p1D8ejfOo+Y-?(Cw9!{W9GXWKTx){Tc=NPda+i@k_ zl3WR&Kj~P}Z*t6pGR;lmQu_=7H1(_odrh+l_2-KT4*s}C4qMRYkJt2B5ob)gjWz^7 zr{}tqReO|9wg+hpnm-wG5^2w5kl@pCU*I!zwU+a*eR?);F4lP0oO}*f>6psh81N#K zv)LeHWrs*WI3aKCbr3$gk}_8)R2af=iacy5kWn#B{J1g~f`P&Ow0p{EM4ZLW_%DbK zL+7NQD1aBemMc2ea}mf6ZoNuh9t{)VUY9K6P#Bn1r(N4^ke7kXz+kU32yiAa0Z5!p zxF+PqO+KsW^Ra3&zW$_9Oa~N^B)mMb&mN|~yxFpvw@gF!)13z$v(6D*qKt5v)p={fS~gWt@A(;CLpnbH#rk&P374UUAv#TqZdI?B+o6-iD%fH*LCMv}PjrDY$5m>LHoG;B z?ksaXJxU+47%qGg-Dl5S_s7pye@Q|E%DRBqG%?B9EhMBlC3vBce4p!Xd&%Ss`={{^ zYP{Nf=oS)CqHkY{8IQ2*3JCwMh+g0MqVrDbe&0Ahrk?)*X?{#}R2d6Z?tIZK82Jy9 zF?MW=yW-vBPz)@5%dpzf15KPaHp`DL2T;ReS|MVvyKBs~ra&QU_0vd&&?T{To)KL2 zf`WY3eMNs+)UNdn*#m8>9CTig@JWe3vVyfJJLE<&KUZi|y~x-bR%5-bL1g0NXzW;( z;aj23rtrp`3<4G+wrI35oD%$rc(CiKW0by_SO=jRmkBwWKd9bf3_=o`f;B)B`7X20 z?h3IsO7p2NZM4~skr=B`>S)b%j~^&g2_9CvpB<60pc{Q1t0;ZT!!qy27ejxvO~?OL zm}+E@Pud8`K=3HQkr2&2~Zx?U%&jdDw-g9-yqDh6E9BiW!_Q`za0K=F22&LYwClu<2G23 zf0p<*II~_uHY~XoF2H|OrZSH18?d516gbh3ay|%YR{739s?d2tNJq31Jj)dJq&t~S z##cvCF%}0mfJhcN9DxJ&=;&yjByJxh27&AN*oixZV0O#b>JH|aktIuVeaUJbdfwK5 zB*7PdDNXlR&b}0Gj0dX3BD=v`GQf5dcqWne zQ;-|8A=Qgjj1U5b=+PhEA=5&vF#ff*R(iIV5nP!JIny9bL%#QF^l-JoyCWL<9y!>n9}y2A|BwNx{%FxvywBk* zV2E^}9YPJq%+RfLP~E%#>!^+L<>I)OJ2~Z^2;)y)gEZkOpyIchlZKk+sT@6e%KV;? z)ZiloT0twsV_9P21NyX%>5z2ZS~6!R(4+cpfEM6XY(ek zzTK1L+v=}RYDeI5e_RRMIr&3?+4RHR!SAEhIvCrxI*t(OM`dP2QBDT-J)N;~+>sa( zSb2u*-m=ujiH|X{fIj{2AA6K^;ymgFZ|D;9xD}n@exKOCn)^&)W|gcE5enNG^G%M5 zPulJIiD;iRG}N&t#4_CNC_pG8+%2|r+e5-gxMv<-)z(99Bt;?WDy9knu)1Ym%D_mQ zda`vHZO1xZf@p&Bu$b--(W{Mruj_wECv59&s?)q@rMv=;=HW>ucdxD=8^q~w?#$jy z-y?86CD3!Lz23{#7L1~~MB!f~h0ZlvcP2BiqUoY0mONcBMX&4f?mCd*O(6m{`v85V z*A}KaXi}D~&ThUILm<6?8F1yZ+a|*^FY91BNX)@WIDX_C_v+o2^PHALJ+ZZ-#t$KD z^Qs3a@-L^DOuPMC!B$obD+8Yu=3oP@%>}rF~%&a%sdo^uMT+fwx;&U0TW|y zPscVKC2@1zWN{V>zb#jP&fbnP3}p~G&iSKc-$ikkGOzkKHRJ;y$rJXpMlC5!N`ybV z2u=eS;EwkUxMeF5o!}yMeDc6>4T-MKwtLBEr0Ip7y>r+4=|3 z@3c6%CFodm!0e!wPM&tLA$d zVZGXXE#P+KW?&$uj5xU%sauFJ$b+NiqV1fB$3ph2cU;_WLJ(vnvX(y+HiuG;R5WO zFo}AifOmw(V9hB^6=^w2ncihvYM5;(B+F*ezY966ZV&AZHqXY#;ODNLD zwb4E$zbwy1x`15>9CA;=ucJ@( zy0Jqs(f8pT3ne;WGO&>I@TWk~5309cSPZia=u6sQ9OPJ!b0+%t!)-E4W4~P*!>5Op zP6j3Ca^Af8i~Cb-13i8Z@Vy>#st~&JuCVZ~S0j#SLx5y9F+MC}QUK9`yKlX`XZU47 zu|hAelYhfAfS$x2mD2Y5LA&N*_>o*vv6u#}ebXn@7umzWa8k>9L1|f!vg{;xoBbMN zEOMy6MJEv(dNgo&MV%``;AkpZ4-D~XN(Ve@|L7dH`{nAk&?%Wh8ZgFh#fE z#=?GJ*hjGzisi#n^sc20aJowlJ(#I4%i>+VFJ`iD+KIk@%jCZ>5?@QXN=QK7|>SwAMg+Aq8n zb?l^Ve3c4r$A(%~JM80=4K9pzf6i@`@$?vU3)ym*a=J*g+v#%i6feTZOCu!sY9;fw zjuH3*xB!mCiG(PGnx}qD0Jvgftvb~5@B#7Yh$4Wpn1ZmPYF?<3Z<|aLO!c~8JNOgw z5ZkVg?8RsE6Y&P$m96JyJ464PnVX;K4U7WlBjqL8P6c1{{4N(OmF=Ini=2orS|Cv+ zpx6)1+tBBfT7FAIf2!v$jf=asozRP*2R?+DrB|dd+hgtO`Qz3{P)Il0m%RU1d7X{xDEEJmQD-RU~I&~Iw0Ffc=8 zbT(4GY|(JXFM6frIYbeX3+K%jOksMwx0DszwD$Q*SzFs@k$SIqOZ@a-#LkA(EGxO6 zC(qa4KK<>D*`)u#(l;NU&u7UKKFCmAC80|!`;s=vli5^ z=DYm+vt!c`w}=rqF_gJFDRG@YooJlbx!J?9Ra^K49hX64L*LITb9Y64Oj;EGK`#Gs z!BvPRrL*GUjSw&#v-5n(`3ucRus`6k6IEjUV(jG|?hE6bA_mb`qQ(B1t6YsQ zB&FzV6BadJ=UJS^F2fv7--O-b;1P^zRf2qv+lBwNPpW}MgFsNl!&FRkTg$+9$qKi8 zLZ(5U6qNgvL#)gUi!IC$L@NgN=y}f%&)A!y=^d}mpN)lqKt(8Wl9TSJTJYD%rptCX zE#pdR;G&Jjhoo_FoA9R0i!_u$!7&7PEQ=zu3SwGTuvCP^D#0b8+SK-u#{?2C5T?H{ z-B9H%{cw(mZM%l^h_V4A*BnJ@D9|))-`t)6 zS1a-~n2c)AD$n2%LyMbz45)AREEfv8zc5a;;nCM(ov(Cr{2qfEV@5|rQIp|- zIl)9=N%*s)SESrmqlYqR?L%#^IyT^^v_7U`wzv&Z;286Yg(zD_XazTDA|fo=;F|J) zv;(I&th8D5{h{E0u`y2@%_T30Y(K@IiITffveEsvt-lVTH4N9`NT0+EMvKx|2~LB6 zKJ|p&7>JRFll%~Es%&cEmTRcOO-wQi;-(g+5c@v7Vy>^=iId+ri)Th}MgjCbhWLZkPy|Ewt zbu=_SCTXrXs7mtjl_n+*M|s_6Ec%~Iq?R0{6_t$iXmrcm85+I748HbE*D3+0mJF5d#}6q(I5PP~UGdLshLMbY-_@Y<=oMrKZk1%I8^QGt?{2*k5~Ib) ztw;Ji>B#csx>xvNspdmB&?gt$+8#9dWo7y~pO~ymaalZiIe9sRwmO{Z@m5v{=|Z(! zksIn1+zy3>=q$|4`m2_o@=$rEdOlH+417>oG4ug3BZ#)K?4lsD!%Bgm;E@8BNrTt^ zOD=Kui`1+3Dz7>&vlhwNLy`ZkQOw@dW0gTnyQPw_&^-JUq4(FYs{k9_f-}4WCh}g}RjU+<_Kej@*JzV$Wg`Cem33&HCf!6Ws&_*P0LhE=@XYVbxJg6&z zfH<^q_2q{*R^k}gnc$}9et9x(1X-QFGHKI~UUfQAG8&VEh(Y)wJ;;&XuH_7#PfSkw zj4jv}p-JV%3neys>RDkk9RG?yXd`}E$c9TcxRfTlU0-pnUp$-Y(;W)5J}8d;ISwy? zeq=E;ZMmqwfhGA|C#7R(m7rSSdkP*uj91Ovu`Rycg_|TF@h1NmwdBls;5sx_AiNrq zLR3tOgtUIKV?p2ddY?tIG9R;v0gFEt?mar>rrAnZ;nzt?>ofDm;3JsAC}|ZzAl%gy zeS+I8b+_kLR?!qiM-&2df;O-L=|5uN6GLkc^f;e}<0}hgue~ru@z|2=mAC}M(<_lZ zY0GV%4Av+EVenzS+2LSR8P1XZhr34lC71t2X8bW~gRNm@s6bN@vwiWjn3l1ogN^%>geSW1c{G$zDGHHM}79(Q_a!?_5_;h>mQ)Rtm$tQpX0DuyWKbl z{5Ag2Q=XF>aZt0mi0dsca&slpu^mDxXQOy^H_q}hn1EuTX`eFfk8i8lwlpea`wIx= zzbRkg{J);Ip$7YQ8IF=Kj{xq!w;BfxWO`}qNq#vhb}^Geu3(^mY(fqXEP|Zol4PHD zf-!zEAjp_VSemM z96sb4>3Ar0CTvh`k9^e8u|_&qQbWbwofqf!YxMhn^;l6Y05bkdgPPYCwe{Q_Iw=~S zpo%Jj`6;HN3K_MycH;U2-Kb}3v0>wPcZ9u44KH0Nc3h+nY2EUmkmhQSujzxo?2DZ) zR-hRICr<8^4P99M?(UZ}8!{7Bgx;HPKBiBFFK)z_X4XPf8FfPCfw#&d!ZPt1{wV}p zgWt!?SO%sHYB2D8W0h(Bwugb`<6NFkj_z(MWsn~CAlYpI0C2OC!H2TJcFVy`mS0UQ zbFji7fmqe4*1UxBMDnC{AFc7CBe*7xsFqMZ+W&5@VhbsS{e@=EJ1nt?B5&qegRvS z{xt+q%Gb4OoIWsYNt{tXrOhhQ$p3H>q-81!LpS1%YaJO8YDe2*QZvDA9T$#&xbVE9 zT3olrtM3G7ASo`hWBu&~DR4g2e(g=`y z*lz6GU13uVwr?j@BVOk=U$>AeDr{op3=9Q+B&Cr5R^+QP#Nj&sV6D6a!_uTOkqi?Q zH2v2Kmq9dOQ0(Ncmth$-^?oK4?~{KD;kb}*+S%@-A>>LWxhW^RX2WUac?H}dDm29- ziInN-eE9wMW#DkRWWu5D(Xky|!e!G#?oW&^{FpcoAL2P-fjA&&~ zIb{zig|NVHtxosYz(^?MPlK}31@*V{?~P_+AkD=${g&$&8<=N3Wd@6uVpl>JAFXS2 z!^-HYAGD=ZS%{op0zW{`sI6o`F7T40ht&^UkiJbNXQ zptjk?G)i54dYn^~Ark|tl=|!ot%I3oOB7MnO>xm#lI{w2k!oRnvd@b9@7O+8XMTMC zSEm;ZI6JJc2{H~24)+%!Gke4?qy+5E9kEYbo+)rklQHzsuH`8xBM1fG3Z!(tB-;bw z!x8Y{w&2uqH@;@!UklSc(=#6@OL0g{GB7&K{>BEP=m3G$BFvhVr?wpF#wEA*(q{OF zr*VG_U24-=eALx@xY=j3J5S=xzNjNpJ|rn$?`&o2%nEbRav8WoZIvCGRBoqVYu27SP*VD9)5ctFA_^J^N^&${Leapo zqwy58Z;dm~uY^Nh5H#4%|eBR7h_FPx8Fq}J2puiXAOQ#pp;>zY4O-2|*49oBaB zcym(O{_0Z%LF}n|{qrB{x2jV=Lp^|_c?)TgyuouUDkf+kyh!{=OjY^AuO=lVI@~Z1 zNEhK)Fj3Xs6D*(sn1-#i&T#c^UMVQEhLEAM!sDIeS4BNyQoB4uP%~4cRFze#F;w)a z@MjbI{a0~(EI$46v?R=$TSF86O3&Nhn)%bckNZ?)0VcX%UzyF64!R& zB0n{Jp6kNTav@!Kv<_x5&Ehx!3oIkCjNx)^_+M@QL73aTafkgsF96_Af?+*1!FJZ{ z*P=z>jJ{kzC>C~KnboZ!xwXp-&;XUNp$C(LN%X-Gy60_%TgkiDGPUkHcPZvD*~seI zFtAJ{ZJyp0Y+FLt1YE~%w=>V$(UTD^@X9z9_hDqRpx+b2T~mD4fc=mjn|6}@#Ol^w zR0b$r^cT^C3r-(Yasw{`Mt zbX@X310F0@d;Sy=~!0% zF$`o-QQXy^J(^~Z0mEILF3a^;-_CL*+@_MOm-jBB0UV zl{z=Uw3&vO$`p60pEe9BE};fBj)$d-)#1IX8@Fl!Rbyom8Lw%@z0(~~6MY6=Bn}y4 z9Z^t_85!aIruH&M2YLlyLvQ;n896y4CT5t|A(+~3Z5IU2|Aot9lFV}KF)q-a=NJn( z{tgqTAxlKOI_>)>vwV|zmFHBoSWk83AWeflI2?)cRg!j&C6mittr|MlT+{stCERWW zexWUYZDV!}aOY)2(xw0iBO5Jc10?hGOm#cLyc*e?k#CS%T!~H=%jPA?aL@4|tIW)Y z9KkFp`js&R|e8vAWmoiJx69zYp5lIF**ZsZOs9d-ZJ@1OAB_vd2EOjT0iskTr4dsPRe^i z)7={zJjN;o0ghIX<8@*_Vxd+4w%LSR@Kp@LQ_a15UFqMqJ0QT!lRwyBwlL0}Xp?>C zTp~sHS*GbVktkFC1?nfyP}0(%Wc%Y_AK|&4$r9WNof1BmkhJnQIY8%eKgH{?`4iC3 zO8RsFjLu^*CFUu5Lk3jJ^ci*V*b0I<>X$8ag|3~5%69dI)uCfTF&WMTJT(@$-_FlX zJE=M58F7jl>tXWZvla^ecbk_5tXeZqu#`20)D%sQ*ga3rC>x0m#aV&Fmc!fLZIAiZ z5KzjSVr*!qB3cCY<+;8i&0Rl`QeKt?)InRF@3Cp3+m*5}Bs^+v{Mr{UGO8yNimb?^ zh1ieCu03AViIKwDU%yt#wXLNt~=h0UdA{T z8yEDNiHaLS_)xvt8>lFD%u;KVc>Au| zC~Q#wIv|-)c;Yws0TJqt7amoZb#6KPCRX=#XAmYnm66zK#Xv{bj@AEdGJvSEBj$|S zH!`xLeLn0yc8qI4^z27BDz;ZoRzhti=aUK^b7xGA<~4we$C}rUfTezh!Nj}+Gx&AR5uBk|C?!Qx|kpQuxw^2rlSUS zX(P)J{Kh3D6OuV0LeRVo+45Ml1c6GF%r9CyrRZA#NE=DsGSkhZ3UDe-&xaQ3=tt!^ z`Z)NR0r*RerZUu7Ap!N~`-g#;a)h7@YOCqb4S1kO!F4Qx`Ogjd6f~^oL5mlqAg)lw z|3en?LJo#qVe}+Hj6Lzuh8`>RA50qPOSUKDCsG61CC9HFU|{E)!)4=2&d5hZjzwV{ z|Ii`InH%gdu6bSJO(I4lCuiGQG`&=h7acaap{K{YIp7>>=)H#*a$7W%7z@5Q?;Of5 z6LJt29DE49P=FhseU}|`^ZhNhjb}vzPC@0wow>qZ1_p-Mwzjq3j9sJ#}-?a_;~7J#7|;HLgxHO?0RV6g1qQ?^$_++FflDnD9TW5hh~YEv(XMGgx{f zA|hhEU5O()-mY{;3a4dcWQUtQ7#3^vKxN2l*LIt**7_dP70!1s>{M!fL&W~3JJ^kg zjz#qr@#QPs-(iijUGH39UrBLU94N`HBcvpAs6({hokz4PB(B|=wTj~iEk3c2x zojMaCQj3VF8>tBgUuh$bx(%Vzs}tX}ZnT;Nk z`wT}*;qAT{`60?YnSrh_irzxo_~<9iNiqg6Uc8t$ba<-g+x68e&%JCvvY=xUe+z|~ zSKpK3!iBSavSt)X(meE2$3VY_s zUb`13YWrMf%0dE3O^aYXF(tl`|E=;A%E43TwOTlOZ8FaNs;X)vr{cp#5uBlkeyk!5 z;!(O$#e+BtpQesNTLUz4duk%iJW0^e)d9|SGE*^--oyHj*+S)UI$VN|cj+4Mu^%mF z!i#l-H*M0uKcrcAZY=cMo|Ry(9X)SQ7!|1@sZwaut6g*~&~Nqg>Ey;_;(9s4eTqpV~xE^%GX+?TpO&1>@N?=>=(fq zxts=;N0=J#Ro6S&B?e z{<#qjs19X9(j|@r!ozk(sm#>i8EM@7UkZ>%Lt-c_rynpdBeN)1XVQ~zS@wMIu7Q4Z zMIpbuNK2bb>Iti%MD#i@XqesIg*m$eI)FcH`#FzIA6)F{E@3 zeKcfyYb^AAe{9(SdRE@)kQ-Gn+C@g+jYLV;o%a>#?sEGbfy+S|Dpy7!&kPNrzCcuvr&lh?YA_B)iZqishJ3Tr4^DD3BBrJs6bP-J)0 zOT@B+tBm~+p9`)A`qGPq?-4@nY2Y&j>$_2&T`Wk8^TBoo@KLfodIarPWf&?C`CpJm zx24F(;8C)a5Jwxroc+h!+SwHw&()Hod#|Qz`T7@@Hmar2c4pl!18uG}@7}#@qa%Co z>ru>c_TA+=hWI9*kdK)8>NP` zE|peq5)Q6OUZ6H@O_J#rV$u25{+4A9OjhC4zl+o#kaZ8~B6kKFOo}f6ixN zVIj;Qp`~4pX!v9P!M?313M%EaM_Uy8egjyDPugYBJk26}-0=_k1q(Y)PHY)jS1*HOWwN*e+bU}hHnJHy z`_m1puYtaAPMun-sOG0&6wa7>bk#58Qu3pqYHUwwG!a$>DZY8tY)U=yXG$U{gG+Ku zBcbRWW73YUeyK}_TD<5&Sm4ZXRh6OBXKp8uhl$U0M79jo(8eE3ACIuoy>DR0e9f|L zNsv(58>kAP)W#B+jV=#S{t`x0edG}pT=adQ!MU56VV#|wrz%6qQMlJU`8_&vj$wNs z`ke07WLZzHix+j64j&HPVwD@G>FVklotiowSSCQov>&egVAjMu)0XO&`1<9`OD9jB z9Df<9(ZPRLXHH`e7+VvqKsgfFd^Cd`p-pxyiNQ6A<0Q&qC_U-H7k|~g=!l5B!)5qx zgN6RB<0q%J_(EeSwx{GsX9Oy@USt{+Y54m3zSPY&y5BnX>FF+~fJ$VNa|4@OV_$*w z(-o2xXswssxLW*6gH>iwB|a1qI^as$+iVJ9ld^H1$>P6V+QYM^jLX)?c6N7zb@5I& z(LH02l>ov@sJAfZ2e&07$AJDb=?NzV1qD|Dl<}f&Z{=B_Llp~COO?A>d(x*)Dc;Jr;57LZ94@Cov>$ck<_wL3*WTd8SuV^_ZC+CKT zIQ(>igD;;!;a9`poSX}2kmFn**3E18-RQS(Dw#^!P2})XN1?D=ySq&vA0M7b3zZdWp`oF1`lc@S*(~<< zy-)#u{zBZL>=_VHPM;97i_*`#_ZbVJq~A8eY)`~aXnOB_b8Cr>iQ#d;hD^SobP~2) z)%#@^%>mWdjv$MMy~-Xl+T`@-TbjHW-JVL01prs&#*JuChWNT`X;{$0B##7^^b6I(7bgbfSLabTXS`*3p^IL2XCvj@i{zBWr z-cJ?s1L|=?^$DkSP1y+d_Bf$1TxWr`F3<@^jjw!j2;(&Dxv6g%7Y~sbn4^_PFW2t* zNnQO$U$j`UX>|CpqoZTY-;QiOF5ZCfx6{jEIjna8rxg zxML#exw9?_@qLP)%dRqVQ|F~RF72LUn{&b$1&+8OUpuG~j&PV=MnLRZC~<258|e}O zI-wCl>g(&@KaXb%tD`~WU;w(Gmq0l2n)uRE#J)}qaIW*QvXI#t@pC;EwnGm$q=t2T zcQ2+*u(GmJ!wPTg)E<*`uX(kyu_4On#5MQu1ZY}NE8|SnXq{cb!*bgtobB})oC3s& z>*KcG?^Lig17{V1e6Z?ztN5@rcjoc|3T|EA00nwz{I|RoNmVE%<$|3zxzG`oldB3j zDmvR!%x_#dP)SV<^KNh09t@!4zeI601Yi>%Z1pD&dQE_@qxEXg`c+;PW*o?Jt*Zg3 zU2ozVM_JVCgJHD%#VCj7MTIz~k6%+228u&Y0OW>|BMmNjoz^vUyzB>sahoC}8D!SA z2GPXT*s4aHv9~SsWiAd!SBUeT8x`4DS&^`b6_93^Mt&WsMH$|y>Gj2o9}L?WEPd{D z9>n}X(xYXyUzW_}z(t@&gQMaun%{aa2M$$TK`6_1 zN?wOo2ts`4RrYQcBe+c(LJF8NRU&!xlWJYL9TvyOO`WggJPyEOtych0*Ly>Bpaq+z z*}z1ouo!#f%CIV=f{3>|ofdj^?}Cdb^|;oQi z3o`i{FV<>g0GG+v%c>ecNGj|$=A#~!(we!BIPwB-xAqCE6%6OzHa`EbjihUeHvDOb zKEpyjX*?(j%UXY$)ya7KTd_Q_?C(M;Ytj87%y%glp+Zc_-o%oWAZF2uX^Mb`J0_1c zlz5x08ZU3BLSc5Wj}S>yPFmlMnwgoIZbusL)WAEn#-p69N$#UGv^i<-m|<|{dl)2N zsI|X=UzQr(`C=(}a@{rkiU+QPY6$;TPSNE(5D9QH_z`)3y2Pn;Cgg~Z#_gW#URgfg@=UPKpI=ss{=P5^04py)oBU!Cgjt|UH?T-?LNz5rk8yrpULMtgOM3}T zjl(0_sPQ{#G@F#?jaGE6#2T=fuvJzIv7qMB@ci$#Um@~Mw+SMwc@k}wG$$$Jjoebp z4vT(%cHSqZns-w^W#9;sm&H#p$8-07lcR9wLzafOZ{C2jW?3AYOZ;EUs;{u~Qw&hJ zvGJjfOSWoqqa4&NVuLad`7R<(@uC%UAi7xAMSQ?+SDSC7k9K|)X>Tbe&<9?Z8*b_I z%|`^iYKl3Ozyq5LPnGwYbO5etEgu8p|0j!WNv!a@Ek7yp(=OLf3*CBkc7HP3KNkr42A)RR>E*tol#7 zWI2ya8j+D}-)F0w`}eI@@{D*jHK0{oP|W7!TtZ~MtXnOsE!>V*!6EC_2K-c(akU$KZ z)cr=_w0t05wsC4cJ+tuaEc-wIbdG%7N}heb|Mj5FvbZ)>of#R#d_IDj-5qr^+vvQA zhzJ>&f;B$?+bv4wKQwVkOB0k^_k!FBDe`_?f`ThK&~ZNo*)VdHD(r3WR8ms%Ug~pp zcAkj0uMF?(ypCS3p`HK$I~HKi7Its0bNu`o{3YWNbq5iwO8_24>l&fSacg8XcmLqz zq`>(?giU7Pp<^e#x0{T|3;XRNu~-TqN;qb*M2Q_e&ZrMS`TEi@$-F9#!wI6!h+K5! zy#8Q)n)BOh_1&QihXfFv+F^~V0u@~LReOaVfb$p~8*{!Cdl}+%sd($oZ`~t(jE|Ae zGrr5NyhU6~CMnCy*KFElgQ&KVH_4BxB&@2MAQ%}}(uT-2!$FQ@wS62HbVOX6f@#1%_Kj=5|D6WauMRMJNn?$Xg(=9-V4T@FT zKTuDoIuo)-D;Z#3r}^B5F94<5f42qu-wvR?*4vesXCL0#uHzuyIeGW%GeI8q9G_2X zZ{NLJIEpxZ@!r=9ION5P-$LXZM=zDkypEq`_iGpxL*@$z)iAU6KQo>dh-6-b4?H#p1D9Sffd(%)Q0OWm;}Zq05UBY zI56h4)xRSuoECsJ#CJU043tEwPx#JB_CQJ&OXq?oYFM=%QYpQxq^OZG1f{_$DBnDk z^7lH1T*~)_L!{57>c}IQvZq=PB8|0a@7*qd!y;qc(EWjD%p^x==Bzx`5xI$rx>Bw6H0rOM?N5(JZ+$yxOL1x zMx&;N_IA#)?rw?mRJQ~Y{sfTLb%Enfyl!d4!}JpotY09OYS?Os{Gv(obCKbaERH#> zuuCN1PjL{-VBl?lkfXmJbleH$)og#sNNS$}qSlb)SON-iWiPMFfFcH?X+5fcSBbkz z{h?rw z(3h!);ENfqbKOc&5Q$FKu$|35EqKL$#$?&fZYn?*xbxX^Pf}G2*DN`MEmH)%a$EhHW-TLOo z5T;D0EUCOHDA*&(-v~g27!_DWPe=^#>lG9f@Lbob^zSZy_Lc~!;%6xt!)Iu}yGkG6 zr-jaFO0W34*3??PrEn~}lL#DjwU$<(#~ILLukL{Ou*%Sa6<&WL#)W!b`-&5yT}8`$ zNjYBBHnZ!(t)q3(Zv{}*R1!zaHSFGv8V^cEu>29C<9UEuL8}*lRqPMbO1UlOOGBL) z5C_GEJ@OJ9YH5aj{0mC}V;tK|C(jNGf#0)BIUH5imc+vLHYekgNt?vnV%bt5zdoJJ zfp56)?js%+ML_{mCznI?x!T*?H}(Kprg35`*05;GRJI<(Y>jQl1Z3G0d!UtSR{Z zY}$s3x$#}fIvwq1;25BszSR;z37fUGvvZ4hAl2KYLg6CC!#3}4Rqx6rey1`rjEJDv zRv$QH@B8NopAqxZ07m3h!OH*S`7C6?w+x=QS~pAmt{cegUveTqQmsU$W$15U0|>p8 zZ8A=|u8W%;Upsc(zr{}Wx_dfT8{Eg=zp!s%!C#TSgA4Ur9;DAha@V9GZ<4cZC?=t> zhK^ei+-2|~5ESBMFyRU4$s%VPc;G%+Qyj@{fYXz9(hI})OvaQ(PbsIwF^()tTOemN{bkDRDukjcX~;8PF6{jo`68b34H@+r9RIf&5R zk8tt=k*%Zz3(c>`HGe+T#!5p#LYzJwGjCJ^AWp_8RCZ@t;DNIyq=R*MlvIX!O|d{P6a(+-Is3(2+P?2pblWU(#9tzzmWEZNuL3ab%t!#<;%6SOvjI( zCHq(cNZ-R~`b+KPfQm+=ojO!be{K?}vI(u1)Wh=KF1^m9k-!_oA`k-@vXZUQAhXr+ z&!fAfg+cW<3=h~FR+0y_nR%GC^HAftytzlC#{XrG2#N@!qNP1~;@la|80{wkPqnXp zzOAQ*R_+P@hx5#+&_t?#gqDz3Rs1&xjZN=XK|oug6PttQ64t)ER>r%LsO9$7<%qe@ zNEhMoFu6L-&&lBwpsI!=w%TEps@QVOW|msAYz0`A%c-v}b)EYHmhYOtYQ&dnAIc_B z%YMl-Z|$4vY#jt-3++Py+g$4}(FGmnDRW!m*G!T=1JVXx-o56tAf;J4I)UMARB*^V zSf3f@-Bt~X;Z}`_+F8#b|w5dBHp&WAjCq!*5 z7_}+CQ2S^=p)VuDhEJog|H3D$YIsbS zlEthyDDxt*6f<1on=}aIe`1pADQ0FwkYJb#4@z|s`zk##0P$&J-gb7sHz?}{q;y}> zj?2b;uQrL)5X#ZN)TJB;azW7Ju6Mez$9aX4(s`Th(AKW5bQ#1i2t6BY%BMa8E zq)PPK>$y$2K=r3FpCeCuGa^-E`Ol|oB+l{xRy1XGW5J+EAteonqda~X{y%XBVLJqP z<5IBpDf>(>4yemK=lM7D3`I z^?@X|eb8; zY+Ui6AfN$I_myW*v)>A5H=m2z-rB9i2Q1?YxMXCg-VqIu>6*!Qj@rhtqkbrRDwwi; zy@%|7CX7U-M9ESsYiicKwXZQ4{yYny_d>>X{ERlfJp=%=0=KME$FVENgiMt&j_AF; zooPkS=hr-g|c^11?k4i_89z)|Ry(^ukb4t9~>z+i^#(FbpOx@8_0!3T`v zXLRw5;X9(`A`dF*!*=Gt7Km8ee(WC=x%syEPGe zaRO&d>I$--)1g_n_X$5m+L;+H)^8iC?4|zSEMu!VSis}n1cPlga_IWubTBxf5=g+g z@4`nIOgXp@@$=unK%gJ#emxFOg&#&B1+5hK{RbQ&_P;1$N2LF2qY3U z@IxIxE(wB9$E1l~`VpGQ{{aM`-1l>T1^BChzZ&?ffxjB~tAW27_^W}x8u+V$zZ&?f zfxjB~tAW27_^W}x8u+V$zZ&?ff&ULRuxxMV{L15jxwJF*l0AjWWsOT&3U_?}AA)P6 Aq5uE@ literal 0 HcmV?d00001 diff --git a/test/fixtures/app/doc/screenshots/chrome/linux/index-cropped.png b/test/fixtures/app/doc/screenshots/chrome/linux/index-cropped.png new file mode 100644 index 0000000000000000000000000000000000000000..fbb5937ecbbd50faaa09c22a1d1c1d0edd8d602e GIT binary patch literal 1756 zcmV<21|#{2P)Pni$n?8mPt}tN{T3MFVk3$mD;pzX}8o;w$bXbHEOr_woMdS zA<-&L>BVK+DYlfj%4-yck|cM}xet3U7q`+mckbTL%$@)L{?7N$?|0Atf9C%`UxKeB z5Kt1{vylD9%LVQIK-T@V< z*3pus91zntBAUzPMgxWx(w8c71dYMZ8jDCl7NBFL!9a#`BA!~4^br&zeJL_W@|%tw zY%dJ%ay;XR6EU*RcV^?S$K!w`k5<2BJcuN?|o0uyiRJzLy{KCNaYXLBsu%hPLZ&AIFHV$+mp%p2XmVF9or% z-0Xy%WZTB))1P=ps6sY5IP4XFA2oYw!1ITV_(4*X;NajZ>c+9nF|9hE>hcfz4iLm# z>TT&swmYaowq3d6FA*BxQ*IFQL{hZi$`$eY;ni|DtIY&=pt5lcO-agwXli*4mxzsf z7;({}Qd(zeBkJhJ#l_#Vr+O`lv(nLCi0L4S*ps0vxI~t;ZitDn)h%feher1){>aI_ z3$lLH-IY*N(}PBZjBDOa5p8%a==Ss6SB(ZJ%2O+MJ7Ts_nWZJxN8G&pWJe3ex_Y>- zv_rr?J1W7NZ<;QKlFwZf?8eSQz0|WKtwQ)Qf9D=TjOlo@XoS61gohT0&rb9I4DV0& zTrR%YYHNCZZaO@ zSjI@Q-637bmu3-7fd@zJ%_%H141pRNlP*M;oXd)?QUfoY`;60@c|B=T;ebvYp$!aW)+d)xiBI>I-2Cc*AIQ%Gb!oOz+qVRppe0wWg;r%L^H_= zKznJ@8lXJb`tz_hGCYvHPA(kcEijBcCDu~X=Mnn)Mw(UK{7pva@c4arY;ABGJcr%7 zy}5(18hEBnb=W_ZmX_AepeaAOkuIclS@@3DXw;gkRUd1TKKC6&Q=Ajk@!sEnJWeZp zDawbakR@sq$&mvCh@(H=iHexuw@ZDhl+a|7(Kzb0BGx!s8wdEP(Vl4!2n(rt+e$HS z3%Q()>n#?R-c2#*Woz?w0KN%89c35gmB(t}@E-JyEGo)#VL0v1DA^W836Qf8Hh*Z( zB1Tc3I}*k8X}fobBEa-%yLV8csr3%p3@4o~uhnf+Ki;G0V?v-M+|kv>>Y5x{XD?wZ z%hA@_q$w?;8v+~hGE#3X;l0C{t{rU#A&_iG?wb}E%O{pZhNInCL>mM~93k(yaC3Po42eZy`aQqL z==DN26dQYAAh+y%cjvS5t8(BrBqi~1CA_WDlJ(rNc)b4g7v>Rwm;Ti=zLFzFjy4kZ zB%Ra!N*EK17%;2}xZQS3a+&%J`FB0QHpt-S1e3GIDL;1^;G2_AE@Son&OC6r!IHxy z9PQtnG%+oMI#2#5isTIf&5$#C(wU0yZ>$FoAso(Njr%YF)J%&p3edx2fv8U#iXi1h zOE}uRY!2t-Sb?qBK}0JAnt|bwzSqhAp}08i+5r&E3KrG0k&TGXUUa*o?Hm`Ec28Zl zh&~9cq#6S)=;8s@Gs0b}F+?R$21Bt<7ahH5v7@c~09}jdgTM_k@rGC*Set~s1ixjX z?YCt>vxUv?z)_otVx2uZ{Efhi?!?kd=Rw_8Nf9GYEzjkSp7Vo)z)F3?Hub7TvVr;N znQ4g4pEdJQEHa9(Wf!E@p6Z*z8*Op9ZaXzb%F%A%MEbL*9I4y-GCs3i#DHN(~5@5o@Ov- ynW*e(`cjk+l|8L!DA^W82~gS7iiXnI)Bgg&)iF5=%x69T0000=7!q(-`(p+%)Z5ReY(?hffxy1PR{0TJKv zUh8?+?YYld`vYr#0Is?A{$IbG*Ba^y1h_P~XlQ5zN{Vt?XlNKvG&FP!5Ekmry_CNk z8X6Q$NlseF*X%eGJ8<@Trr&MQ%todMqy&W_&@71-*dK8ivAM3jm?+*mL42|8#f89p_-=blH)N1nsZU+Sg`N1y9avNjycaS{oNV^2SbrV0w2Oh)rJQLiJ7bkv0)qwBK@>Q{Y zfgn@82lQ z85nSI2$NzUi%M^b;Yuf>rV-Zxrrx_gao2{SEU%u6wRRrV{uo+q@1GWEZZA`rNILvL zv!LJjyi=czDs3}wpk!*G#OX!BvsiOYLt6#|z(ern$%^WIU{L?uoWlKmpzZh8&>J2m z015PeUFTp29mKNd^N+8?qKCmt+p>XVhggvGe2**2lD$N9N#?m=fxkFU zyi9eX>In3wv~{>Yxr8#?3^?D~Jp1rEc0QF|Oz)?!LKzH^q_3kK9t?x7i*)!)061i< zjGhfeb?30=SLHG_4yV}tSeV1K6(AwrX37j=9hw%{ViC0}m54cd^~$IL=YuFYBbajR zgWtm3%*>28;WD-y5j{33D59}ZYWE2lyNNnU>2va#~W zi0$Ppq^8KCGAsh9@>1#3>zKtB(WNBo+uPe>kquiO&}@R+TnX*ElNAO!^P{$AGRpUh zb{+DbVQ;C;c=8m~6YTenlV(JAY66|Y+s6k+6h2_jDa+({-uU+#5mTpvxvKl!hI4ni z6Ka_zOrrM{rM&2snFAuTY@8QaTYtcAbQYRF2sqglzU>qxed%IlbDt{iA##DYm(*&x?i5pXX!G{(j-$%;?OF70Jn3E~_a_#tkQ3W=n$0 z^GViuMBj4kLM2WsZ58IPg@_2APFYS%|29`6ki#{>8IV7p8uO3*?t(cGu@%SgvSM_c zeYU0?>H%xeKZ)B#noXCwWZ&#x=E(+bA2;}nw6S#7s7x%GLM_K+^Pm4HsB!i(=loVu zTwIgzSQrXsV1-@vXwV2`yG45*CGoHn#A|7iKdPRhwGBQH&@wnp3f!REK(1nNSUt;AzmguB?!So?|VMdVb{SQ z=O*~qV-H0Z;>LZ`uc+(1+p7GvG~YvbV^CGvE`k})CS*i9sBOcd&3tL5uhEcY;>oQ6rgS(C z0{kk_*BA{FBlqs3wcK_)D~#gF8fUYZkJD;UmYjTqu@Y5ZqzJ!ohbXr}3=@E|52wuM zAju&%R`juH&lcMVDZdAc>4bja%S7laf{p>8qEdlbV?_-2{SK0UaZvw~{wV;R5k03) zG$?M=w8{iR1e|hG4Uu&sc75wy6v-bH7ZqIf&-2v7a#WfI!2lOnv~&x9-9824E~-`aU$7 z4a&D}j;90no5nj^0^wSw^pA!Bkb>+&jfPp5nz?K;yzU=9702BCyTA2XefvLPgv5?= zlh+8kBz|#J30DxgU})*WGO2>o<8_sSa{g=kGy(1xm}`nhdfcP8UFLVy)e-xM5siY= zNS7Awtqsp;87y>w$3A-CyEEfRvn080a)iO8Tdp{ct#Wx?;w+}UonZqy;M+%utYq#q zQk$`e`0r;8)kij8vmalqJwM~8M7Q*Cial~fzPW^jef>IXfM)?BN`hUV%*@CoF1g^X zR98JCI$~4$_Quv{U+(s-F`(>7ugyH;#{X6sVfTDCsWLHTEZy-tv!a=BW#s+kO6TBs z8`R6e+t3$MV3jpte;g<)Chlz7vr`>SPO=l`9_N{IE!p9aY-2N7t< z76hpK^U^ZWN>pnt@A=#-hA~qMJ**lk>=q_p0_CK*v94#30q>>nR-v&lQM%|WHCe7o zWcVmnA2vmcez`&GL>Q(V@i@{Wk8JoPFuXz^BGzXp**E64UJri)rcj`;u{aF4nEt@F zvvkadmzy_QT2YafY~|$!VGmlu9O;@Iy4ab^J8s*c@m(te+^=WDj-taaIF}m}#a_y# zrc1r_U?YRxOZ;`7B7fnaj+JLwor7k84WwnDs~@T0QU%i{{;r2|^@juVU*9r@hhLB~ z`a+fgQ5gDASiUedj>}SMR-z7<#m7imPq$Aeexd((gfz4ae!SYB{anHL>UlB_pb1PB z6;&_Ok9GkSrff@ry?TZ7#hL&@#Wn=l9m(Bn)wTFK*az4`0lC?RaY5$lf9^Qa+H(e5 z%ydg{P@m#u)#TlehN9RDa_&Ve>Cra~)Mpps#6B9in9SX}pC zU#I=v(CFCv7lacB(vU-$CXDx+=)sIJBro|OchuD2`{cEk7#VtP`@Z37A{WG`SSw@J zFoZC`#Y;*j%%ZvX=OhPZff=n=l_mcPGo}wP-M?<)WLfgd;>NDS-X{uCrFMCpk2_D- zBe+a=I1gwAjYY_0_TV~LS4#08P4$#o<_P%Qw5v0VvP5b03qJA~5AO}VKYGL5S~a{( z6t=`!@+0lY@+8>nLR7D^35vrRI5k|c%=ng_R2G}ZeiamQW)!hQtp)lPdKAIiE3=CE z<1;?!)!bhzTNguDBY~cd5++IP?6Z4*VerS_rmF%B^jJHz;xUHI)}4M{zAY;-;2>Ov z3o7SBc})Nz*}@&M1M4Ni155TigQ@W@Y7Q`9_Ai%#?g+!pg z&_ddp^sGHW10SzvM^E#53pBRI^V&DC{fD3*8EDWQ2dKuf4OG0e|D?yT5UG zmu$8sfX_&Fe^A>Z^c_)>n5AW{xk)Y|I{N(G`&S?=PKD`McXEtzgbW)Ka!gn*@+fTm z0i#4s$3o&SLo$5Sa$9nry+v7~O$M+T50ij}$Q1 zITaM>Hzz;>p6lO8~Ku&Yk-MQq15>DN|$X zb0fkawIrsdlmsG5MZe8mE)#TJ8>>q5kC|kaPkZ?COZsg!s5le>l}Ra6jnj4Fciw+w zm)&*n5}P|0IN~T>b_o+d@qIaQDVdMaWB&I+8ex z%CEmC8*9^hBW?)7rw%)ZV_}H8_-zDsom6=@Q!Vb{6j;|1vh|BvS-M8DIfYbiEq>l# z?@GP9C>b2&C1nl|P_fbIB;=5>GmPXEhQ86SOS*bHHZ7U+4kxl>1riC2>EDk}+&=v6 zoH7=`F@}R&j{;piox>0T11CxI?zw+HZMZ($PF$cI78;pVJo`8_>&U4p4>CHZpcok5 z5(o45CG1r5Maei|U>_xy3#TJ(O}?&b-HxnL{jzI?yy7`M z=hWesJsiLNO9-oA+|RDC>lkkI?Y6I=w2uvQtXZvzvp@T>RlH`|_^xYJTd{47;6zP4 z837}+kZW|{IMJykLtn~jDN~t_=l(AkB8Tf8dRV99UyG}fLO#PBOnsB0Xd{&Ifp12}=SZq9w>bSl43@=l!E(?w8t#YMM77-@}oCrZ($paDZ% z9nAE*(+-+(nRV#9`@&L%*+N;hGMTwbJ+-? z-zy)Bq~<>~-uk874nFym;u1bXAs9JNwI;D#SY|DqEzZ|b9?190tp=X<-gza(sRtde z!17eiYgy=YOu4eGzluL~ihF>MHMPaHnevr)_of@&Ul{QpDC*s64zwz4rmw)**oJwx z%xLYJz%15(2E2*p{*6|IF${EZfJDmGGPJx@NK0AT!PTCuu8ypQj~__S9t`(vm-gD0 ztBWcK=mnZ^w(4Y%LaIrw)=qh0s2xjMpRq&9A)>qG5N%@Kr6 z=?#oZf^m96xe80LQN& zHm>IAJjtq=`we3SI>x>2tQf{^#9s$7faHIOZ5Kd#pT<^^y;bI?;r)^qUs-*{10@ZO zbIh}}7H0W=+e3@ua}CQ$@qgsLmmrWgu+r5JM)nqrEmk?sFW{XprD$_5$Rc<0^W9}G zemi>=CC6r$dzaiM`~J^zN_Y^BC`JTWj=ewRysH`-tWgnO_Dp7pT<=3T`O*P}VP~m~ z-d>W5t7g4-XGyXihj_Ds!pD@C#1$Cc57Z zv7!oa7~-pr*dtKL5J6TiH;%?Pq60TxSA21wyFHSk5Zt>F zx}bscLBT!gk;D3UDTXmj;%&{g3W9DU)d{Q$VZ~J%InxE&xmWvIb_3F87__g1p;@Ez z&fKomX$nm%L%RE4J!6*;7i+#A#MM>jLJY zmcBf;9dg@=BHtw}E8ka&`%Q;heF9(7dyzSYM=Bj^wOqKT1V83E1Q#p(mcD0(#7QVu z94_JKG2`LYYC4m&Y^4B8*>MSQ5G=bsJhwa8?ynz6IB~%Vzq-`m5uAFSr(ggq4m|eV?uhC&Y6MD*?Hm) z=k!USu%sN8aeJN%h*>=X0lBuZC;q=$&IENsgsZ>E>MkRv|#N;`$fLi8;{%0eqD19lu?p;uw zyj!`Q)FCrR?q@#A`5U)!^%?haBQLb!%ov>yXI&og<@*UbHawX0vdv_R`*tozTuyWL zxWE|x$>$ynhyOIC;Vpg1^GJzC4_nkc)yb-#4>vRXpO1QKEQoeGFcM?y!G z9^6Dh+j#ZMT8h8BshfjA>s?b9+2*D!x6{%Q~@Z9C&3;3w5|#zB~XYD_&G~P ziE?82cRbP73)GTAfKL_V$0SLaQgQem9jbe%%sRvQmm(K+^lAD=NSly9p%II!`rrJ>>c|I*Rtn0aQ5 zJ1OSGB9}%Ut(1aEg8R7h0IpW#I}y5&mrNg%`#E3PMy|F==oU__7S)Pu=6n29JyM?$ zd5LshSnXA=sLF{%L-JqD%#Gxec*tLQvD=nt`T%5l34Fy2bzmJ@ikknR236cL1}9|-X#wi-XD6EjfL0k4Lo1_si5Dn@E6uX06%cR z%>3A7IjnhV>Et6s86d_trJyNl2GOQv7uz?FHzX462W!_<%h%QwDBIXdr$d~r*Vklo)K2HF<>Xvu;XJ|%`4RB zPIcGj%bj-k{?G{>9o+`SF^3jSKUG9Fjsc|6Ae>5(#JO~w0V|h_{*Cq7zmYt1;P4YL%54x87(LOo~UUzM@fk)_iYJANQ}9wKCiII{&;u>zT8w28^kC4&EFsy z_FJct)`u-VD5^fsqHI|}V2O`Za`liN_;X%E%6Y%Fk+9A(*!)S;gy7K^clw&Wrc)3Q zyN1eOell+vR~<+2(tzKtyk=tGKRkhz4StIM*fa8{v~zad(AwG@5QM%3#(h~{ ~a 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 Aq5uE@ literal 0 HcmV?d00001 diff --git a/test/fixtures/app/doc/screenshots/chrome/linux/index.png b/test/fixtures/app/doc/screenshots/chrome/linux/index.png new file mode 100644 index 0000000000000000000000000000000000000000..e61e0d4a245e3eeda18e1485bb2f95073293df7f GIT binary patch literal 25663 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 literal 0 HcmV?d00001 diff --git a/test/fixtures/app/doc/screenshots/chrome/macos/index-blur_active_element-enabled.png b/test/fixtures/app/doc/screenshots/chrome/macos/index-blur_active_element-enabled.png new file mode 100644 index 0000000000000000000000000000000000000000..840065f958765f8902667ed4be1813c9a1889242 GIT binary patch literal 28774 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 S%xyCO00005gUT?);9g z{%5`!W`LdDyL0Y&&hz~01}Vsi<6=L-MnOTrm6Q-sLP0@)ih_dn_8ta!CDHklE%=4% zpd>DYQak`%M?ratA}R7l#Wi_r*2C5a>4rSrEFEF^x2qsiDE@Fbutyycu zI%UuW6PZciA_a(Xd{EtUNxe`Z7tV7Ib65MR){$EIehktKB$wwZWww;RX4eh}-B#Vw zkVs-f9HD!ZpC1a{+xJ?y`EZT)=TGqehYu2{&;I^>)*OK*^1t^`-3|QvhNVj}?1%q- zkh1eMl;G*#s|4nw{oFSm z+lB(sU+52S{MdD^{OTMFy0d1bT9B+t^VjSpu^#GH34VT$g=u`58n5 zsg7m}u@8RC3ls#KsBwEu31W}skmBY-hwn5+dckKICL=FvfASMGnrnfj#WO~(CLqi( z^M`;pb5ff!d9xBhw>^}<@wHp-j|64C6{ZJXk-Wzp+I8o2$K7Z=kh7)vCsW&2aw)LR zu0ClIO+!52F#HfUIz&bl%`h9!@X-aj`!y=cq>K-;?oM;~F5{ne<*6V8vj_&d=P>)&7gd@1AjDUZ)QN%my$E&*-9O!4C$ zWH~I%m(734=$%Sy<dUw%U z+cL^c{Fhc>y`&+!CCji*9-1(GzQGDnUu0PxU%wUwS>9JY%rVrn6$j~7y#6_&cn12g z!c)7GpS<+4MJP^T%me$#G#z35Wf(-tt+v>A`78_RKxHLZKd^QlQ?lpfhm`b{{BO$x zBPrSenab*^L=7OwhH@u*;*qnx$9Q;WFNU;uuA)D9^_B7{ANEDwc^g`hHgs zL%@Unie^Pa>uMP@p4a(bt3rJ|1;lH{0~E^^ma;#HFEC0eGp@nX=PGBzE+1T@eQ-Yf zkkOpg!w|Rpz&oTOZ!!4B3#{>xb8g+P(}TTsKMPpcyBBGQwZ*$A10PNq^wY%YAB2z) z8kB{#sh^pT*QozpUyFKk9M+m1Dr}tE$Veymq=nLW(X<{G2Hg1T~%}2 zN(%+XzXYR{G}uUD(jIRk4)+x3({zd$^x6-nmutG8LYzBFz|GaS-G;&AOgvaiH=d!Q zz{j`m-Rx}~;YGN`MwsimRfH#9A{`|5-`%g z+U(_V-T0`Dlb;UxQt(Iu{6QD`iv#1 zp~TXiaffwWoYYOldCLgm%UdYazv!MJo`KcOOut|&BC15fB>=ZGE0o+;u26=E@}Tv;Pj-z1=zEg5-d+^G$9&|yEOUH_XE zXZ~1NX?-zw{e*BnD$mE!F%$$3C~3{v_-${Q0hjZ$^FceBL*keNr)aM9aTbL{-3(3M z_M%Z-UZPAxR{vJ@+F~z3D7>nx=iBMOoV_7Y{`rN%DM6A@&Wc zo8p<|Q833XF# zPD29aLdZUaqmOZ!zj|WDNy?J zv!`4ory6t6U+cmG=(H#A*G2tx36y7p&pyJvqe{H5^)ee#c_1j?tYRm>c_+Qe4yvS) zoX14CQ5Rd>XNEtf;E~fE{qp?3R@vFK!c_T~?ocmV9C1WOJs+WEg2?D3h$8S zZA&xV-_C!fQ)PikEr|z?iuo~(=CqZ9BGj<-_Fy*$o)S3$$)vUZgsdY*FJ4Zkvf?`8 zS;*!>2C>1gb!%-yHJds=97myYsSVg$A1Lm8=o7E2I8Ny{8;0a{NeWe z0lsr?J{N`~j}G5p6{9^avEeT}9GY$?otGqO6*e%@!Y0|gk*v|V-04ljkc>I)beN*C z9gVPYJJO)GfA*XI?ip0MWLfC+*-E;0sZGD;F@cM@8)U0NxwsZ9nTKaSzF~$1E?nn@B~7WAI~IyI%nC(h8A{D^6AAB~bR4!<(Z8$8 zKXTsMJ8L_~C~{7a%M&k}qYlGQ>WFy!tOIFYRm1J|%=ZB5?ls+}Q9o+v=HzR+O7KA4 z`=ia{Ta%59_gM{}#{8-6dQ9}~XgVV7V`*EiE52LZ@yVUj)(3Ac^Mr)(&mo#Eryqwg zjX6TY!;=4wC`w(kakNh24t>^{JtJEv?|4QuChHTiQ$C_WCp-QJ@G|l8B^WubAE{xB zvyN6NPRogQ+#3SBb1^@+6s?TR0SKHU-j(~T_0zEI(bGM5)~^p zRhWf~a&zL?+S@1Ni+6L|FJPrk-4IpQC!RL1r+6;cxi~l+!*cQ&`C1Oek1{`ZCEzGp znmQS3>P(jf8g$eN-`(J12tnANHH%wSh!U8YALrsyg)9$kyz`|T!z$ifsAuN6ZqU{% z_=i1otxu`mt}9frVGKGE?@U*9AlOook;Fvv``c`c(4~n1KVm}@O8*XIH}R*|0b^pz zyk~6wIf!W^c2tK70l$>9q$DzxPE~8Cmu$k-nY|+;6~A@K~=>&N%E(v+b(M;f|G2B1)A z>i@wA`HR#reYfJiMd3q79{#aHj^VC)x*RbbobivH6Wm`xJ6U#h^d%R4lxl*08A)9> zT|WFvz!0Y_Y&`+BMvc?fc6feh3A5uIpG#y$*Iq~^_AGLC7_Jab(y$m`BnO_0e{!jFS~_`wAu3% z3yd5L63{_(_&_`{j$QJ?WpGvi(J#%6M%1DrY}=@O15%&%x9COa!ON=NYyAOdC-*rp zB64Bea-7PDdCy~perp-ZHkVU3wNoEhr($ga{!TY6QqR4^IFxYo>3p!)<9p>3a*+Mcr(L@U_wfwR0^xr;G z=R7EzqdcPxNucOf-}eD%o7{hG0XY$9yY#LVqFl}#`M7T|XUMl~H?JLbt&FOHQ2NOz zWf%-f31DCi&1Qc0nd#AI;4T0d(P+E)#P?&aVClP%j&Ue0mZH)9h#~EJKWJY3g3y2=df+eM9#BY3zjhWXBe{ z79Sl47$bMLG7Vs;cUL8f;osV^_NA z!as;{pQqT@9%_L3@=fd0;H{7V8?HC>h)}#?+>>v^du0`GT76CA?3Zj~O4<8I=G9bo zt%uhgu{_gKFO%zLg=frha>-34%3j~eSy_ixQUV#`d0kG zwh0(tay4+kz)Z=)>mi19$=ANoWN+2yd;la>XXb}oF-G6#DZ@hgg-BOq)!DDx4ah#G z3!7hT)w+pBrd|?q?(Ag2>iT;%Ic8y&NM(OFS{k;jWy4~0I|H%Zjy<|36Te*sqyCZF z{}@jG+$?nvzUO?Nn$7U`@xC@D+4KTGRIFnR@KBx}50DcxmCMD=*88M!= zh2k6wkR`T$<<2I)3 zyb=-Q=9a5_)wLwlE@u+S>%xU9w&|6RV0yE?Hg@|%A2@Y^iR3DS{Az^MtUrMv+ zR(3O&QHszLizIa$%SEz=#Nhki`cO`C1==8`yv4pqcNm1u82uIioT~oEv=FXZ`#d=5 z?(Ka?%R}DOsf&B>1Sz*@oe6C$&&r~r_{s<}4Lc(0Oz!atN?G&`RKFh-H2escs25|k9eY2=nFT{Hfns5t5GfH}?9x&M_t zFMKMddbx(Xc9&1y%IouHq1VljFnjU}mDwXZf6MOTM%6i=5qNV*7fG^Cx;<2WCmAkrO2MJERM(m;a~@Yyi9kMJ+5X)j`5G^;uUO zG*H^B9vm1kiMRoI22If8HvDk^FwL;pbo`wkfHS=F(44H(3qx=N0b9+&i6E7>IFn)% z5a>=A5eEp>3}vh!?`?dV{=;o#Zjv!*J)@(KK`x4<_A|2z*^cqa< zv$C4G1zDRbGJ&(n>9tOUguV0LDysp)!lR43a!_xyBJ{cavG9YVLqX#YyC)>g2P>T7 z4+!(4i5or_ zn!HGRo;GN2;p8ikhPp7Lp~VWmp!xVp{;+yk4|5?O@fG3Uk4l1pPcC?F$INnVe`S(0rPNb)H0fOW%d1RcRT(-F#9c{Gz1M)P#S@$Psi zgy}mZ_FY>p^rfWsI2kU$y|RERP1Y*Isr@yt=^mu))31=y*|dW8Xl;G6jUzFTMQ%Qp zh#nSQp|Hyf4Jh zu8-x>ZObDKtGM;uD&!}^-ORaHOen6D-LF3c?@}!P%-;l9su7VPKTQ7WtUHQg^<27y zcF!v}*lN0{4U*0{NF|BGGX@LuBGtR$@zUG(zsyGeM_K!}HGO0-Mp~cvg^0`3zTm>3 zBXU=47t`9mI^4|}XDRi(#A!JWQ?A71RM^9xzp(P&8NzES3YgHUZyQf_doU^U!!OAz zIBFRj6@LEn;IL0&h9S!#?`fkC_V`$E*&QYDgi8d|N9W$(&Jc`Se}72ZW6G-**-5-y zInb=})EP%zn@0wNqyUY0! zGCf{7nH6TcuoFsn7Kt4z|Q;N$;*A=Tw&P=L;%o9DM=g zH1ho;FKRK8ibSlAZFJM6Kg20UMpDz@UP$XoX;4@v*aL}yDhyw9`)gimMbMh0!LSSj z9p;+KwUOGmx5Uvt@T#kEsmA+?py`JAH2fOPMsSa+5!ojEpSYxNB9=%NYM((q^&)aH zS*ox~6iWN2;+=~r`8}J~7aEfW{9wf$t{ImMx(t6;v*Xq9`03zPP7*`+QoSXMkOj@r@gUQRwVJT4b2i7E#=E%*Q3m;vz;u zhJp;Z1*N97xhJSZSpc?0R() z3yc!VzXB+Ii<6vR;|b$UQ@Rf`=@ujH!APbJBZpf3`iFGi&IJe@Wjwgf^Io_(;J_vk zZTj%Voc9@&`c7}#DU_z1JmpP0;-u#7kH!?D5;;4=b509Vh_prcVe1SUSM1!ID(}xr zB82m41{G#>gEEicY}-Y)uY3e%XgIEB9IW0vIuqzsrpwujh6fp9)@j+4SByL#PNbG( z#b}^p45jA6K+|Juv0+L0`AqOStEHpmW`oQ1{WZfenJi4g)!H~94d(IX{jzs?!dE$) z$myE-_J|<%na~zV7O8LDdP|s)YdRukZq9&CJKZrvDLPUU4ujO1*)HZU2f)0Z3Dd9( z3yiNG?N9EG?F?k#1zr1mhmFKHH+D8ec2ea6~7(RNHtBl+_i=~6x9{v~6yv~se*iE*l~j!7Nc0&q&yw9u`s zA!h@cae9|WPxQ>ZeLC(BhSfi{X}o1|y^6ron9msvbsM?u?b6ud1DqR{HQ(3?6j^Q#!}`E|89TQ zRkO8Ns26Y`69G6`82QxT&*)s%YOz{&*%H0in?7425_XMJEOfTlV@IYsR*}RFJq&D| z+cOUP+C<}J6$CckXSg9m^;s)Nx*t$r@kdB9DAWY@^k$f|z`-PKb#kXf$%}bOvq;>D z(clBCyfBwyn7kM5O7kR?LhzQ`d!K1=Z^`f0KTm!9d^m%LgjXy7hFE3y$LoL zFyu@Lk5Ac4AUj32ASMp%0mq)u`~0 zK5K5b+j>L`^@zsqpmW`8Ru-QSbcw3j<^*2Pa@(p$nHvocawQqm) z%NwOY>(RV6WD7OrKPIz^5U2`uo>`v`FrstSz$^wc2n;+F0$TXC z_FW7_;ZS$sqO7;^F3y+xSULHG!OJc{2?8n#bVBe;oHO^bdIjDy~e+5w=tPy{?OjyH6f{uQMi=%4a0{H~U?PWB1~ z9g_{@>}+Wk=C9)Nz(m(HJ4IQT8ph^|9h*>2G-%QUBJt|Mv6a*aD$rakJXmY>QfTR0fz zmMaY3BefCinJjytR73`l8CIr5)F9II)zt3|rrbPQyWy<|Iea+TIu9oxF5kEwpCxqZ zx#Kb?{KMD9Iwr5>JU+B?rQ(=cslwRC((U)+%pN>h>$G)#7gDo*jnr;2zJDKD>ul&J zVd0qrD`l0YoCjL^$W$?_UL7nE6Krap2y{0%!W2+Rbg!FC>L9Ec;XPxQ1pPC=?%Qrx33Qi2ot?l^Tmz zGJwVALrT6uTowZAvJo&@+Yp{&9k(RX*4zyvCVXDQ1-!#4K;;ZVGMcJFH*41>iXW1{ z_oWWPrRn@b70*wu`K}f$92Wl_L?VD-R4l~75^Jj~d#N7CjTAPg5m}(mseJ;Dgy+r@ z`IHtVZ^{#5ViBJHpTA}_C(~hO0X16NR+R!#kgDk{6~l8My5LEOi>*%5>r zxqH99Sf}iA8wgANcg~vS3C!fkr~A5Ry?{IpPJSu7EGPc2&EpYETrCA~A(%B%G&t%+ z%-i*+S?x!2*X6YSJ7ySxDU)ZREZRmz9HqW13@a!4Wb^yn9cHnYjFn4F-A#7xJe5gJ z7kBG*!oS4D1&+w7bu6^e^`GzYOlM5i7@B|j}6ftwy!*)40+8Bjs&UYk2+N4G;ln>JXU3NaCM z?9Ll!K~VtuMlv+7sY)11y9Vq2q66TTy94E{=iNc?Q-ZD@J76X84U&5VFWn?YbE9WLzi8-mG_(032bB4HVVfq{m+ zw;5G(AK>I~wC2CMf%zeIz9B1eHRxr3PU>HJlsxbM|_SJX@<;#jA=H{#R@oW{zIN8vmi-SI@M+hJK6K{$Txqx*~78o zyApWQLi%|l=$1pQ+>5}C#&28?ZRwzGRz=#6tbT0VwIcj;eeT10v>G+OgXO#32O7>i z{KYIqVdM^ZBUHgOSf268wq{kQKop=NTjPXHB%Om84gKImX)7p0(20O<8@Bo)QvzUg z(+1*m3~=WsQ$Dmu98i>(<(N5fd>KKdW#AqlWB65nJdFbM1cCkCfrp}ORsA%8!#Qkp zqKhb!VUn7H_7%hlgNbNPXOToE}C1}oWFvw=q6;t%-+_!C20>h8(ule z?jlH$VvIHczT4qx=UAGv@*`jHyf4eVJePYO9R7}*|8cN^fq6QJC(4Fo0cHsA9m7N3 z;@P)tr(U*C$M#M8i`zo#q0Xxv*5|!PpLumc%IMdt?;AFd zT;KRez&m-WXTyQ*fufj=I$bnm7lN$M66!l_bhL>5yF&)1<7nCA6u-;^pxW`v)=fQ= zkfZCfwpD7V;y)<6v zEV_Fk7TWeSQ!r2>lA3?Y$b|7d<8#mmfvPRk{3gdUW$6q}|Nd7wE@`U@88h>{WTXOn z)%aHwX#!}S@s%S(6rDKFTq>K1p2}^hl`J|ld3^6BuXu?Oxmd=yrK#&m?+XlY0Eiu+ zAYmgN9`Ic9lU>gLmoq?itYTB#j}B|-Okkh!t>}{<&1Xt;iFZ&;Djm8y&`ov9h#bY zf150nkIHDFwdGh}IYsHRiJdd>Xh+83rk$g@BaDe*Sm@cyCvdxa!_Y@?JBbiVIXtNT z!*#_rwx7qu1LuZa!_%QCXm(b%Y8*hzx9fhAr%ei4n$X7gb|5(uP-2B>}j}KV=Rv+K=`O{;vP&s`&p7fWC?7WNYdPhUR zGYq0P(r))|*PFfARAm0qes!nFIgrgC7*&7}poH!AXX5K$7#gwjLX!mtBf3aP#nvwA za()=0MI&<^i2UCq@(H|n_^in7V4cVnM9M%r${Df*0X*L~A|-j!&-(Qrh6dxztJ4j3v=vWQm8edVJRJ1iabN%1bO3z6k|E=N zlAhqE{+9?PlJ z{?wAhB8edDV6#a%Kz6~?v~iigE0guxCzO{A=>Fy9nqBJTl2b9P6V{(L>i~LJD&!LP zUFzu*LgODKD;kg;cB(7h#1nlK5jJ8#E#_8C#!!<*VZ{ECNoiQ+a0pvBDmy%4H40X3 zfp>PYd#p_aciPiNc`$gmW$SVANuFHGbCf0i-ykUmgQN&uEeSn(Gu==)e*v_02K*Dl zc;^R>2ET$b$i$i?>59G{@&Oy31~Wg zhvyK56OZH8uZ`}tiH9eK*d#1W0MeRM{0${WtXNp=d;!Ekt3|)Eb?|fvREODVhaPCZ z`nrFuXntk8diSyJwgt`KbIWf5W#iU&8k?%>z|4E|>VR%7fOI8B#5=v`;$|B>f@iCG%e^`9 zx<*F`0`~_7WzISwU&o49yQnypZcO?<>x~KF1_SFZC0qk#S%jCV3eX=$)D53V6)Eg%t>w*j-in}iw2m_B!Jp$>ObhW^@LT6Q4S~tpf%F;NL&B)`gG&eAt|=mtrx zwiAJuZvT%9+JIcGSyhdh&7`5iAEk9k#vkNs2wpN1jad=Dn~(>J6a6Zm zfYbVYzKhm8h2ERZ+mC)4PQ8ez}m#EJ-`mbw8az@sNOe?{46z6=FKI4*j&JLA? z2w{}WNw}WeO}np7RIA)K&5gUo7f`|n(m0zF0|}jG!Q9!5j#)!n@KS~S;g3#wZUEG` zBvHf6?0}rwTr&Ku^SR{K?s+fOJx|a1icM!S%yFllJE-`}hU=aZLRph?NDb`&pDx{e z^!?x`!N*-?n^;q;T}0`rg(bm{?De{OpH(cOWtlpG))HJuA5xBQ6-iq@%g zwn2hDddXv+tU6J5Y^w%Q1}`bHriU#%Vsv#mZ7VY5sPKGF{ThDN#i$tya1SSDEXzt;gb2($^&aI^5TSI-vUXFp zJ*K(ck6_U9gk_C3+tp{f)Y^|b>3A9+^7+Gyq2pZ+{GN!$@_UjW$e%`G{dkWCGB$Ub z2VFDzyl9z~L9TE-O(>s}^^igD<-e8a0OmAo_nMhVIr$q%q8_iJwVcKBSMnt49w`mG z%1;~0YajqvipCD6jTM?Z?`VO`t=k1-3P_abJxv?T75&8jECyl%M4hG^pMJ3<-YPy2 z%rPaiT^{4Ba_?KUKmjJ*`630M>_a*zoRSSI6&cZU#|VuAXoI;7<4$Z7K5aLx??2+) z4_ka+Y&0=xo8qY3MUGE8;5@;kgW6n9v90*>vJP1{^I@KC&UT)-c{gL(2Ov*iidJ_( zxzwG#JpBF}3TGb11Uf?-rm&j73X}dg_5> z1o&Rx%Yj3^tFw3Sb7`@nt(N|aJs6>Vc-627gGfU0&19kQtdEE9G9rk5k@aTC4oE7p zT;rhbMHK#Bpsj)E#P#J#WWSL@Z^d8)mPAMf$Rgz6#0)z@2Ga7HVr&=f(~iwk5Tj1k z54a5e9)C)o-Nk!jU({nKxU^`}`q1_wXm416Twgp#V*7Mr&{;c+=s4(tq+aqt%F#EO zv&wq5A~~6{n)NjvHef+|ejv@!Ug{)s;%LncZb;=nF$w_zu&JcWm#r|Mn=lwF=mJ={ z%1AWH<`9CD+82*Jk^KolSjh6EzI>&Y6sw@*_D4Mv1wwOlCkQp;hhPPxv$0bfBTox_zqGGAj1P> zC8t{D37U zb9;rnA=oc6VVM}Mnb=nGD}!PZt^PsDvPHJGH+?8TP>(h_Vbfg;D;E_wpTXO8TZY;dVDg^)WB% zYq`A&P}~vBez{XI8(s&sM*GU<_AINXjvHDd&m#3JXmL1&{0lp(U&!Eolg0+VDg$Ek z#k_zpC+S1KYSx2 zc;th0xd|-0fzuEE29_5ml$GC{@Xn1X)tD`#+J}elhGoKGl9txu27%A`d+(ar_{qr0 zWEpBH(AoGLU=SS0x*L8FqWpkIh6&IS*iN8*TD}i3zh)gxWKxUf(tmN=N(cYx7{X45VZ~xn+vd=yDySqHuk6$?s`Aq4jD7{g267q#JSo zbu@sn#!!x2pq!H3k|t_7yqdb4s3k3{80oTu=H}6GJGlE(VW!d~;c}Pm-n}{Koqgrd zv1m}$SGR2Cy?iLm=Y^DPu9#X(7{%bXg6Z(capL3M(Q&T7)M)a;EUh39vk2E&cf5>A z!75u{4_khieYejRw?rw}k|up<A(#$2zS zfS)}>TH5n1zsKMKh4a;ZGL+RXsEAJnRUqjKAvu_t-5A<9;nwUu_`Vremu#BrLw6bF$n;hg+0!z)PH3U?NeGt~MG;wg8!cNA#i&-h*Gfvv|@M&iU5`D)!0=8`!q^AH~Im{W4iTj*k?Zjv{$Y-KYL z!b2u3&lJGNhYDaj2sQq3>w$~~dJwpIz=5(qR0MR<&vRMu7W;pI`v+(<7KH{j)h@Yu z7w?ye=m`acCgf{vm;(-8!#UBZx8SaJVaXOXqFs&}R=7VdAh#V4$d@e!w?O1UfnEox z6CSgMiw))8BW!j=&MQ5jlDf-VNq%A|bvLH?gyVbFGv?X#+@vaP$iSVW$_%3CjfZ97 z2R{!5+YfsEW!dC)H=I#mVN9y$__ufIEoke0`Ufr=6Gyg2zo7*{_;}fZN4y zx;Iy|gBTlbSU=t#`VLg{z6+=nF39A7YIcO$E^a(fOw`Pnd+TadocNFZd;|RkNctX( z;PIEPHn#?{4d4`c@6Za!0cuu`Kez{%|9$V04Y)4f?Mc*)2Ud0s`3uU)t@b`txFCmA ze+S&&>bXb@{qQTLetnPbo%}=fi$zQ!)#x0$%u#(EflM6%L{^MB69LoG81~~$DMCT< zz6bfw^54c3SYj*LzEf<+J7Ic(DuicWF|)$FyGy}E(o}x;Yt5Jd1#(4VM`pE|HVFBX zoqac9sn?f>HY?(Q3rA(BO^$)tswBG;+lgnBor$4I-dL4<8>W&)ou);|@#t=cBH4GG z!c5Kr>JsT`Y4fUvO0`fO+0lWdg4fwXU4#LuYJ`eXnc^&7+TV9l)Cv@{4v+Q^im?5J zuvJugp2vA&mFawM!C|z_{uabDv}j+qqO`@VJ@ie{-kwTl==N(cgmWZgI6WBRtOScp zFFzQ=7B_Hdkg`(Bo)w+cJm|sZuo+Xan$9-6Z4)q`u9s;`BzXQ@4Q3(=9?eAY%zqQ7 zzx`q+Z%W~9hC<@W)**eKMPe+ohXm0{d{!=2zmsCt{6=}7?lAgp(fCQECdV=6i;j={LIapOmgIRTT+F!-P4ctX5R*L?xylbkUSb zE72LKC=f&o4r^{V>TY9gNAcwsgsJrry_7nT?2qJUD8y#05dKKLZtEuRb*14wTOmjt zK27D4sl}|mRbKEdh~WvxfvdKC{?3-ftizib>$qVpPGvi@`#GHSk-s(dzOxq;@O>CPrf+~0;*f)zO7Io92MhC~ zSm;J`nCAzsGuYzKc;0Fkn7%4l63&@Y{w=4w`#Og@?wfH%`^04E!6-xVy*{#{U(Hj` zB$e>x@z43at+?M(e#q2{dlfg8y{jmy>TuU$BlUc!leT0!XGtpm8(;QPZ>bWgn~Dm# zQe5Z2froPPKJ*?%bRUt5>aW6Rk*p1cEjOw!5P`fei6QErc7>caCghT8wu1TfOLyed z6_;biHx*$^5h^bCbtQ+sMNAWVFx0OMU*JxwkecU_&n7ayjmos*<)p(4>gu8G8>fQ? z{ZKw7I8L0>O!yX|xFxxz8?K&XjLcI zpU}IW=jS2vS~a_4kt^i&rvquG%Qxw(-(un^0CNJ|OM-8E1;RpFP7-|5Bv?f; zdR21o{0#RMsh-pN6Nc4~GIPAq4VUhZY+~SrLKX5^QWbS(VNlgWf>L14|MOPKRW^|y%OAWl#xO%(0<%*Gsp zWSebFFrztv8vFAG()^c7Ip9e9RW*##Gf5hczVo9hW2ZH#k@zit+Y&qVc2C(VKPZKM zvdkhad!qAjMNE=MTX%iNeS9-?cE1-9tP_iHZZI~YHYC6jU$OHr3K`nqNKzri=Kc66 z?6dJkDhXbY7+4hnc0fvA?YMuteVxurF?&*c5Aq;x2SM0>r92dbPEDZp>H^Vm1$x8` zc?}+ZwgO#dj75nG`>kgVjmKztnLOc~{qysg$i{(9%~%3e4JQ#^$Y^Ji zc#E7jVeA+Kad1H;PbPJVmTrwSA_BXpa4wxcqp2VaBPJm+om18mobCugwv$&UUn&fS z_I(}ZfBRbzSzLE-gWeS>9h|ZoXg8X&zvpfk)vv=$PtW#7(Qswo)qs&C%kGO&6WGkoM2=A;DA~;c|Jsezc=DJCuN>Sb2uM5w4(%#k(rLqtM+QSRJS7R^S5kYn=vUF){GXpi;h=K zKP$;oBbzSy6()SE&~{@Uqe5()?H-*7ZNMqipt9LICtD0`w2lL7JgCp9@+hoo%2w+l zEK}%_kuA`g&+?6V=OiZ`Nv$(Ur79UiHCiyFc6@TGSQuMkdhGvks)^-IjOv@azEx9o z7HOUWB~w*aIqm$Hh+}s`j51$8iw`Vvk7Dt&_>X}%mE%-# zeX3ljvpHbCN(K@3S~lr|FZS!eip-8)!Mnaqd)&9_OwZI+_**PACU$9*eLOWwUCmng zjbatpI&ASxmi}P=*3wLx0)1G)A$t@!z3RRVT%#MKS)-MWRXb}OTFS94pk@m?s-FKD zzezRQk%L5$gX2>C^;POlRpR-w$|~gF6zHH4X{R5Ilc`k3HH?YuB^6{{wm0okE}A z!gn7m^R&dJMe}lX9j)hP z>tm}@lFUP!cXzqvCG{Ft*sSKNrK>VZ845oEfK*^-PwOX?Q-+KdF)(@lZ0K8WZ?9pT z?&xe013mo^H}B%HYjkup&~x&J%k2|NBc$zD8)|2*-T2FR4SEofY+{mmpHl-I8*p|mUYUY+T~9g>;U}eDWj&w zIn9`un%HsW!mCe4IaQ{G*`2!eb%(P65ay*z4#lRFN#}6dFh)Bz4{LHN=T%6(N*5Ny z-K`VZC4#D%sfu*PP!g(t{tb4Ow`Mjyy8HRXGnlR@g3@i4S!Z(fotNU*BCkvJzUOgQ zH{IsoYHwpeO=L({TC{;y#MSvqBJ*}Az`1ACCnD(`$ zJD3zL4WCSvUn^{#)HBmR{HCI+T2U$Vi6K5;0NqAIBJc$;m?Kw`N-4o zJau!bEOQ4mwh{9AW8Aam)OD5bEUKNirt+>aAw9%B%V9cds-)O`%lmXtNFQ+z@=%gF zPTPJ|$D1%rRw|r-U4dDWT>gdB26FJvdIRkeF0k;<#6rk;Po~Myn)7I66OXJOfSq5c zv`fmh`882y$Su)H(y>c~f^sIXz$yFZQ{T_K(XvZR6-M&pZ`IOnbaZrzT5gU@K+&1~ zy4V~q8ULBU9$t5~x7d-$X_W{e<2jPWeFQ#t7Vg}Rk^o+^x3^!huZxa~%KG?!?R{5R zQ`@(_6+MdLITi#ddT2J_(4_`N#ejf-fQk^$K|w%3O6VjiDi(@_-a&c`Dm?^Z14JN5 zml}~0dgviQk~{bL{r?a5`|iX2?z2zZY<5{|t~tjXV=RJOcTBeF%bHbr&cKI>W6kX!pX@Gm9llt-HkqGSP!K7;JUd`H)m7NO+>OD1WFArXEFjjbP1?vX z+Oxwrb3v%YkIDXUFEds&Ldr-h(@D@KaeSSmeKfVd|E4siX2av@z|m6{#H$7d&A%5J zB`6!D>xPB;IrY4|^R>CTbGoN^*c!jos;lG!UwFCpMw_zMSrkf|kxKSHCtI`nQ{a1` z4I@zQB8t^uv@{eXD)M$ZEl9)-$4}9kEy^n_G;?+)b`h=o^lb8Tb6Zapk=^t#fM#=6 zU8(wS;uY=PM)*ksz9Zqf9o2qbXp?j29+5m}eDwnVsv95lV|0cJtA|z^>gjzo#!!Zy z9`Tqd?N&>%v$Jb#f8R$_cJ5!TXgs3i(2+VLq#v|bxT7Y(uhfNR&7g2=Jg2`8`47Ik z(`ec|){$!p7v-eO?0$0YYh$CSv2p7J@A~6~#YJrE1%B0emYG(HQH#c6@Lo}^X|l5W z*yYjD(b^~H#s6p>4nxTlb?1Ky;&W_C*3=zX$xgxLwV=5DlUj#u6yeI5{>sH?cNXa_ z-TWB;V`$f54(XEkYcg5mAU}V~()W);Z=6XJk^`>w!cy!~NCg@;TVuxv%*_l^rITo- zKGRdIyI=D1l?X|LtH#D@%?T<~$$qoO^`XK_c2uEK$8JOX#<1wY=jRpw{44dH!ec7*-|X78 zOVNAo7Iyl(v8t-76j{TuE?8jg10OCGGJL$pE+xdW%wxi&)S**PG+@a%uujFkP23<^ z<2q!H`HdU#Pk9A?`fIt3T)L2M?9^9gpzbx>(am@&wChR9-=BCO676vo`}YQ6$G;uh z9(Z>9mWTUm@MdOF=h9w57~ths&CSP7zdZjZRoQc<7yJ34n~#sr^oL;VqYtSkPo26G z?Aj%L>eNe1U4l&I$RFqz>bn=m5?oF~-n-MOSgLuUWx3%)ZSAc*yx+_$tTHXEeMT$# zh>&Av&pupS#z2UWVVIej1&FPGyRtmY$!lvfaiZ0*pQX?(m_z4{b;mcm`REf0Wr#|KCm0rim z&ioh$2L~k4^HNi_-N%|*{TS8RA3vT$w?UoD7hQHwld?_Bv*i;SQk+^ zq%6avyd9$cSHdq%+Yj&9EA(w;rmxh#U6THwx}@YPcNxRYL~&Uyy=0$aHP7jsDPq-Z z?2beQJ8FjuZt)14&A@k)eHKHn$sX7>@&4gf;QUgHPU?9Z8~#|vpp~$?X9uia;Y%6P z7uBsLo-;S@*xKg#F=y4*r;9r)-R+$ED~yq%z;V}Uj_p|n4s99Fiy8Iuu#{HVPBVu= za^<_?;?9EW3I=iV7fhztzh|KL?-9|sW|xGGZfk4%x9--vO6*Om7pdyhGD*Y4oMSpq zb71VS8n48$lO5<3{{?ivUzt;%xfRKywO$l|8r@srn(oOMEDRFGT_YrVTar9-+uGYZ z({=f(Hx?Qvdy46D<<$VerT2PFdU|^F&}dg26H-OQ`^V-xw{Pdb3>^9^-ir85%h{dI zCh_etLph^gTufh^Fv91JH7A@pb*ixkR}IBxCyI=+QMx>bL|V(~OH!~4ovm4SMoJ)C zQ3jDR?;>`+s`g_#!0dHzdbU-0xxoCsv;5yb*i2e#)0aRSq1Yw1Ey;yJBEFYSnHPNf zS^F|7C8a1hm^b8zij4Bka!ZjgU6~ktXXbnmByyHPg0ejnsVlyf@hvUTxrQ}XfyMYv zNWijQMDX~C3pq{MsrUH4o#PnpTKDgLdxAc#&A8z6Thn#(1J+j-yfu&}GTc=OV&%ZD zC!uF5G_I#zxdbp?jpP6%)xiS?a*We2uGPxoj-h=Q8l;fWL4N0EWSmE%(MYo+k{9$e z=Rfap#GTa z!((c^f{K@rQmdpV=lji8>T(xRT=%xEv(Ojo!bFSeMf@(qmn-^R>)$vJs3|%1UTtV- z&@(jbdh_=uML^ypY}a+&dtR`Vz14o@B#()o8=)fI(U4Rcp0yaw!%ZV4K zhH0*5vf+jd!iyH*)h~~p>?Y@`oI4rv3L|f(>s|8P#O7S=0ZqQN7^Yx>I=O}?4mkSI&)E*G$JNxj=d%J@p3j#7kxcF%U-;E ziRH4H$mDDJF&*h)S|?!=7MK7t1ntoj3y66lUP?+z{{@Y^Tc+YY%M03aQs8Kjdh4h) z#ti@40MelGoW&FpJ=ssZ_T$KG6{8E#s6hMZk3)uMY^hCcb626|@S{ocBGsK^h0h&|m9zO-lXcDgY z($WSH+LOnRpUHg-KEg)TnNjq3J?T{E{00EFg`r_6#4+=&O+5lSYxOA3&}mffsC<1y zY^-;`!XMYKUxy~+y8ku5taSmIOcv{E{_^G30rk5alFQl zVZDqr<{!(;%a^!~>J9iWHlI9svMtXnza!tG$Yzi==}~B1-OFME>G7DYq^qUiu_nyc z*`3(axw*N>vL^eC383E=n-e+!M>4askqR||_;tcF+6Dc9LH%^zxewattq)t0+^MSB z)qGO|nm+dslDMSTcv9!$BKDtjO+z*lx;jw@0-@iPb9;UapP_zJ<%VM#5N!WY^{Ez&- zA{xihuH{~A(i)Svj8m@&=(n1N>#@6G_m~&~WW>B5Cp@P)gO9 zI{{WYWmYbqpZ&fz5@7^=N7kNJ6R`G4l(WyvcGQD8bes2x@?~hH&ymMNUmu4`@`~Og zAb*~)R7GPOK6&!wMx|ROZuOI>!_dbkx&vJ)oFyqhP9dhM5~4K9ntr>Sq}F-+&K&`? zB=pD2aq^?ju+cJB4$$F4#NDAs#zHOCW@Kj{L5~5yQm(D7tvhTZ;yZp!tfAj~IAm<4 z&qW1bB>lIbPw)dI#9|Fglbwy*wmhtu!Gn0o!ccG*3E{U9I+3ujuuy@8F7E`g!vQXw z>FX}IUJN%jMV>HCEQ+{27{Ii$36?9WUWuPyXI~`vjHd+!%he$l-L|zAMAtEx2|y+e zqk+y6#m_@KYsjJ!8{IDD50s(h2j(}C#j;+9W1DHa+WUM5E&gE z59|rXJ3G+llLAGmHdV7eTSZ-mz$8FRi^s9o1Z;wH3kp1NgE019VkdYSa^Cfu+2?LS{BhP~7A^Aj?(}J?|^YZl6 zJ*TfgT^p|6{{XTC!j*%a>T;_Zpk~bZ_LVuAnwxhSQ$Q=d1ufQw4k-jirr<>?+%$U*3n=EHR%QL(Xy%MC#$aoFpfP^DsHONVU` za@5h$kxpf*3QJYZTsfWr?W>NRIN3881Rp?3i7uXvSYMejy>X-W#6Z)Jt2hc|ZjGZM zH`-7tjngn(ul4}7fBsml%;Hxn)%hDqBur}d`78$Y1=aQ4$gJ45+0Zwxg}#1~LGUO@ z*yOE|oG#L#|F$tVRAr^z^rJX&`OFi%>T6FrsgbbHzW0!3hGSSSi=4v|{#UKRD9dl-HCy4%Hie)A6io4J?J3mp_l9O}ZVRq4piM`fb%UXg&`LxF z5h7o`N+nuVDUY+EpKsu}_8}AJyNWPHpbx+m;5-Z4UtKN@#few|;C7U2f)~EYKL~c_ z2oVucNlAs-$-a8&7em^B6G$MO%N*EU;C@|6~?^@8Hl2X@)_SGcaVhT$?`C6EhDK>Lc@x4ynWnk7wnAdb+=bPrfX#-J*f zS@aZjjOgAVCFlM#R^CHT{=E@0BY8<>=zn$x5*7X=EOlABO#FN)Yo2djsCfT}HrO2GTwOf7X`Tjg}iR922hrY|J59>(gk2ua&saw5kC&<5Bn;XvUea5c&iNS~_sa zi4c{+Z@{myv;Zd3G)Y{}dJ?l5q;iSxvV*iW`C1Wq;RTdTSE?}P-R7g-kq2^9J!3)k{#%sm+Np$j7k4eTlO$fxe4yO)z^5Q&xDMB;9_uNzR6$A%SQFu&m}iLEcW8b6gyh8_e*SzO@d&4bN|rV$pp#CY8im#c1W?~oOSuo_ZUYh}gJ0s;a^kQMP9e?;UVq5-I77A(^gWMj91 z%0LDL+_5=ciI9QVP{>I{zePqKD81Wy4ys)z(9<7WQef;6?nkYQycmOm8s7K&9l^UY zp;MDefj0&KKbY*V1dxtD==C(iTBlACGCV3WG6zWW9>M$r30{lEDeUQIVW5F?jZ(A( zQ8+S(iRW6tGIRmy^H^+FnWAvlDM*Pp{`~wr9=a`<0?6`#=B{l%5vT4&9BYb8fBpJT z>_poIgsLRt*6g=$*_;GA&v!J+A`y#XjqI;xjV0veT}8tmK^rN?9i z5ApIKWCq;^gd#F3N@Ak%aBkS9u=@Qf(QC!0Or{GSWV9!*Zu|)3s|&EkU%@aCLu}g? zK{bz@#T$x(Ax9cjG_#5to0>YHcjB8y!P_k#^v#c!#SozruM9bQCLufsu)Z8Fu+gLrPh=-8M8h_REhvR>4-jLgj3tgMS+C{6|FnVIRn zh8s2hm7JAwiaqc+-|4sYh)4ueO4d0E#K$E9j#))RXdG;xbO1}zk-k|m7dePAGLQ~V__Hq|Yu}%G6yCezy=-8zt53zpzMKETa!(@UkTp6xuJzL$;MaKmVts ztZa)<3p}zj81DWKwQ$dSKY5O?;Bb{}IqYr79De zq|5vNfgRn;e;rmtu_ug@m|*L?gngiw@Lqtla;jfTyi(&~8^beMP|*TtsCZ3XG8Zh7 zQ16*=T@lwZ=5pBCK%O|Tf!Z#~J9ZVwfpEcdal_2@<`z819n^*`B+N(w>h_m?h?p%`RSix>x8-DtM|0 z*nzd8`490tR13H}QOU_7DpJ}nk}AKKIVGrh&H8s#?gz^MipD@?`fLHa71^VM;CaBd z28+#6Sa?taNt#g#v6#UgIGEr@t4jZ00U40$RT!7qIH*CztAU}r6y)W_(O@jqYmP7ZR@eJK zs(`1=w%1P4!xLYOjNG>S>A}9%@)(|{c;;28O4j4YkJIbwY6x2wm7kqIhIZ;L zVbu-77V0K0XSG;Sa2kvT%|eCaaAMQuM?A=u87La~u#w<67q}BqEI&My?*5@RE%@KX zPT$Ub$UR;6e>;R69sl3QeMgZ`1;@0J!!?};$l=Y?P5&yNJ)42bY?CbMUobpRJa_BSe*trZL3jWF literal 0 HcmV?d00001 diff --git a/test/fixtures/app/doc/screenshots/chrome/macos/index-hide_caret-enabled.png b/test/fixtures/app/doc/screenshots/chrome/macos/index-hide_caret-enabled.png new file mode 100644 index 0000000000000000000000000000000000000000..840065f958765f8902667ed4be1813c9a1889242 GIT binary patch literal 28774 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�^81^U#qse#-z)t=|Zp9cZe=yhJ+w*ib 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 aQ~usn9%J13LJ+)NLAv*lh>w~M&;JV=k9^et literal 0 HcmV?d00001 diff --git a/test/fixtures/app/doc/screenshots/firefox/linux/index-blur_active_element-disabled.png b/test/fixtures/app/doc/screenshots/firefox/linux/index-blur_active_element-disabled.png new file mode 100644 index 0000000000000000000000000000000000000000..4a9e2fa6d2b104920e7c0ec2ddff09967c579c1d GIT binary patch literal 33206 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 literal 0 HcmV?d00001 diff --git a/test/fixtures/app/doc/screenshots/firefox/linux/index-blur_active_element-enabled.png b/test/fixtures/app/doc/screenshots/firefox/linux/index-blur_active_element-enabled.png new file mode 100644 index 0000000000000000000000000000000000000000..e94ed03415074360445c63ad335a8df6f0ad9d14 GIT binary patch literal 32496 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 Aq5uE@ literal 0 HcmV?d00001 diff --git a/test/fixtures/app/doc/screenshots/firefox/linux/index-cropped.png b/test/fixtures/app/doc/screenshots/firefox/linux/index-cropped.png new file mode 100644 index 0000000000000000000000000000000000000000..a4275fdb65e9e3dd5b8456d5679b4b99ea1ebd6a GIT binary patch literal 5762 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 MrXIZVmQC1y0k**H5&!@I literal 0 HcmV?d00001 diff --git a/test/fixtures/app/doc/screenshots/firefox/linux/index-hide_caret-disabled.png b/test/fixtures/app/doc/screenshots/firefox/linux/index-hide_caret-disabled.png new file mode 100644 index 0000000000000000000000000000000000000000..c4e3c4a2a940196dab6d5f7b8f53fb9010dc4863 GIT binary patch literal 32826 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 ~a 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 Aq5uE@ literal 0 HcmV?d00001 diff --git a/test/fixtures/app/doc/screenshots/firefox/linux/index.png b/test/fixtures/app/doc/screenshots/firefox/linux/index.png new file mode 100644 index 0000000000000000000000000000000000000000..10bea493c8b3845113f6c5c88876f064c4d5e741 GIT binary patch literal 31210 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 Wo~)j}i32JrR63e^=sb1Hp#KAH_MZ>{ literal 0 HcmV?d00001 diff --git a/test/fixtures/app/doc/screenshots/firefox/macos/index-blur_active_element-enabled.png b/test/fixtures/app/doc/screenshots/firefox/macos/index-blur_active_element-enabled.png new file mode 100644 index 0000000000000000000000000000000000000000..8d47f6348f7215de1628adeb483dc6cf293bef86 GIT binary patch literal 32714 zcmZ_0by$>b*EcHNFmxy|3_Uaw(l892Lw7d<3P^*b4Ba5z-7PH&N_QwN(%p^j@!jwD z?CJ?a>@PaL8oO+EKhE89Xz?ATO0a@avI(s&HRQzw0Qk%BT?*>I@pa$d~vUM-3Kh zuS$FfM!IW5(dev&l5rV2H9cQ!N#*%0GL-7X-xAl|l`)(*Nt=jadyrhb$X4{>A<&wae}hFLeFiJ=N);!MYCHnCRD~FPuTuvC zvvL|NHhsREYSM?}(@b6CV{>S(yPNXgE&R$r(I~vHt*U6jpl9WgGH9~n#5z4CqNQcV z!aC*MT(x`zyZ!Z30%h}HNUqBqVN68e%BhzLaW^b;Xu?qks`}{-HjiZAvrNr8M9QMv z$?k>x+lT9V`&&lmf^mIat~!fb0*{v)qpX?~)6UKm7st!YtBcA;+ZyZ~+mf}Y<4G4Q z7~8xP`0a4tiIMU6hl@j$r6rm17FI3a*)ua%ZN{&Y=jHd4U+j{5hKv|`)LXTzysUlx`)lr~ zpp=`s4CZ=)_qolL-|t_K9=KyDlb`pwrSceN6u z6oe&fYYluEU9`T==}OE=1v3^~GYR8A6Sa$Sm4!gE(3vyzNkVx%f4Ih=_ho*Q3~U;+ zV`XHtZh7yL_T6AitP3)h;T5tZ@g|&oS%(fsKzG68_2_z$^&Zmh3KMMI5MV$^IW4B$ zp!kcmk-TWA2}VzBEbJK{HO|q* zA~%^+!vuBp>E`^sa^l7cu1qNUu;qGrA^_^>VXt&J;^)yYSdlFmp<+@>txgDO@0m$v zh|1$8<1lt2Ol>&BCIVB zQZa04oNGZ7jB+KrgA?EheA|!6@aU`PvG&P`z)!-zd&|!cCn+F;k}$xf6k%GIr^(xIoCH`rR&u^jr}aI$~%G_ z=JT}JI+EIRT#C2uSdo>(kv?VCJ~5?D$0pg|B$BNlnJYFS zVF?0uly4Pg5RC1Bn&iH1E>7SX;+vXmX~rfc6@k84dEcWvzMa>lN>XG%56U9mezyh* zWUyP9uZ)X1jT-&Gn;4>F1(jgOM@e*jJGyggeOoC@4fi?83VTFSQ32hVgP`9D zU#WzMY;a7=%o;{LUv&sm9TD+QZ8)ReT^bJHx8Yx9??Pn9hqk{|xvl8qQ&CKtV4|hh z^!4b59#p|&se2qZRqLMM0>dC>Vp4VIQI%(a(tWyrb{EL`?bQ0>a9O+N*V?{7rgL`M z0E$~KOiJAz8OV_!hx0s-IH7FPGHY^6hZyKac90TG-7#|_+Fbt2?IkZ=nYZR0GfS4?V+>IH?U$3QX0}53HOiaoVc-;=w76Bh^grESG9I3{OQ+MDK7G* zv4`wuz1aa|b8!3u+*zu}I+<2)(E>%77m)jXA&%GBy-t2wGD`t69L+!Jf?+CI*nzQ{ zP2xjuCn-f=IBuJ%Ky{BnYITlXkF9NW{PVBk48MJT2}D861X|BN)DwMphC!&|miI;R z3B9O%5EYMmU_^j`6Z789`*!H$j-@Kb$5BjN#!X6ibhBnyYACyeAejaj|uHtcqUG z^~xHL)mzfg#NWAtNZ96Mp7)@mjH9oINL^OQ3=^c+Ns_$Aja30_mHElcR*HAEzn5UR z5&V|AgJ$!(6KLuBo1TEPLyl}KEt4>tuQmiD(-1tjraH)5;8+o@(4%kS{irPB{Elix zumVYfpYeNzMM6Now_JCUd??y)g_GZ9bTTZei1gD9ub!>{7wr89*%8AD?X&`wJ1ulbE+s>uiVSD&J8Gi9 zrOmhkBp9m+*rcB2D=i_}PH$Y$lL*`esz-IgPne_kEGbGA^9D{YzZtP95K^1N)NYpo z#O4i!mYfW{E3!Q_T;^LQ9w?yFTO1K-DV2f-!XzbbAaG$gK_cB_+Q5*FY3lC2;=v1g z{({#kM_~=+7VVu44!IlTx`r1hZoZqpq{%MpTzeM0vw517BAdX!Vv3E!n4*g!U_oqq zg2AW8({&aq*n|=zPtCu4JpRdrY3FAw>mI|~ zYjmGgC2KYi7x(D&-kpY_Sj)k<^qYTZDWMdek$wg31=CuuOhs+Z&Tkofyn{{887*0eyur?&|FhIAXf(u~89nMTQ6mOu_Hj<+HzvB0+>~5c zWKfxu`9^{nPwWn60>I=ea}bcug0K(kzWNfjvmb(Sk;<99K0+Qmp;zw^5=}KX6dIU5 zr%f@DhVphGm@#ZiX?LZ$u*8H^K44GIYVMteO8pcKXkjx;UXDPe8Z=q~RXUt{e71^F zuA6-4R2qX{?#IvcgSJHiY)U6=rw5;qf}borPr6cieJXzb`Tb3#OlZ|q>M!~;!VE6g zSk2!*t-T&=|7wA#$T8S}yTFSBLT_#Waq@1<*)m1j)7{#q z?FVEky!MV6S&p6*b#NZYs}#1^EnaZvrY{b2SB{&{eeL@BThwOp?tI2z_RlpzDKB6k zfXt9zl!(_8G8yx}OQJzKmH4Z_O;{nhj%m9w=*xVH zm-4qx(g^|~6H(Ug+SDWvEGO~*jPjjt~L-1NBUk*%B2tVupTSCF_F$6EK9yFpLd^7{$$LDUJe)<44&lFQO@) z$;iX?viMKYZYmFlAi-d{8w_*)B0+bQv*a`uuJ~ zuee$V3}NXtG)iRT>Z;iEwES`oIPHB;n-e}{l0aLMo<33Pi=Fzr`JeMQ$N)J;R#Lv# z0+w5eT!cV-m8i{ceDf*mGVS+LuyFVNXk;MZ%7TEWn0RCxUZ5%>vPWr)uID#meCP~l zI4Hs}K!xt)Y}N`L$D1D#d8P!!)X%rsVG{BUVqBUqZW}K-VjxAI?bvW?=j_uW%W&oM zaQBxzvjt@K<7R?X`G)(2P}Ny2QVutZbP(ozJF`&+W}TJ2u`Oc zT-nx9)d^`SzX9@^S$nd!Ro+Wm0kF+~j6#;C>MyQeaF{L@cw31xJ5?(7V-cc|?cw&x zDQYC*(k`s}J@w++V*kd5CgQ0N-I#$%zck%ka1vz{8pJ(`R@Far7`M1uD%J@|`w~LO zk8>=m0V(%?r@GgZ4YSLME0}t0DE8_}A0>QBPB2!-xsQuFlud3s?8fy=$7a-pDYKR2 zeVti66`62_+e%huv59`fk1`%h`LDc8?#63PK!w$rlJjFg4113gVIuYh`9q|}6Z+qX^*=m(BB^w@wmB=N zY%mhZPKueWR+7sEe=P#(cs`2pp%gt8zK2}Y%WZ~5y+%RX)Ce)v23Qid`WyB zxKVlYF?yv-CAiou#@@S7OQ&+2-ap)Z{}w)y`F&$jeVsH161>xL79p4f1UZJu z^h`xBY3jAA)Eg*Xr(`9wB+)+oNuKpLr{Ve2EkMBcH44(8!^pG72O1Eij)Cs);?hzB zXrWOd!@c4Ve{lXM=`g9`3%>7_$mpk1=b*kC#;r}dB>m5 z$7rfJ41W2;g}UF8zEaxIz7!AJ9vKbdR5?FL8`IsTa4$>|!5O? zBGssK>Cx#C22yK#SuwP7Bk_VRZPJ_9AdY-++t3+~p~tEHpE2IU%39E0DFa4h$5$^X zu<%jkM}Ntq(!CG9&9YNSj3m$)HVJS~HhuYD`i6EO012zuvoNt^a``QKlv}{pS}6vU zp!i8%W0OpwRljGHlpLcX4X=j@Z*LIZ!+xW0JPb3Xi~!Viv~WB(NKvd)fK8#`Av zt_FkOXYz~U_L)hpiLr{++Ti;xp!S^0lEFT6@AT`r@^M8e*zp2f=GPUfew|%0b=)I8 zulyz`j7@8@p;pcNRwr7yll4y zA43+}1LS{07*r~~kiaJ0gvlBwM0J;^t-ZF3Tw&}153p9>Icq?#0C*w5F*@C%G+jboBF-;7{qGt-d! zu_pX33iB86g0k~M$URB*;3a9arzGsZL;hl$L4UdlbI)7=Ef~x@g)>sgCYY~!`J-K1MH9%e*< z*4#5*9*A1}^M!z~1&qTwayf*ZjQexjneRVN^J-MOy&l6A|0-0yT&JW{{k>?EY!;`` z4I~zQYw^WaWaO$ScQP~{bErs8_HOpy!Bv!?Q_}gk9&@4GGM%7A$83dsdK!fMvhkFzF+#G&(Ap{@7F_ghoh4+cb7&kv*mY}?^!cjax7SN*>?zmP+1dS z|8A{GU1%$PO1W$y4rYwmNo*%@w7Np;Bs6s8nby}&pC=Wjizt4|LW6@WfwJ5M&uv`T zQ&L30D$x^I*}0}U6DB!6M`{fg{N=i&TZ?Ayqt5n(R9k{|<67Ufc$WLf+!!^aBX!!a z0b5E7Iy0|enY>>fXgAEvUw#ezox4hK@~_fJIISVQHnq69cqBj7?ankOOa^{+Gx23J zKbgb$Q}~8*;{B>uyGKxN+qOgl16M!URmgp7OTQ>APTfATiH+)M;+0m3b}hJ~f&&@C z5Hx^XKz}j!FB0~He|fb3rXaJ4E@W)*O5zO&tKKQuG2pr{ZFed4pOZadDTDya5g9zEK`PUEKRpmM!OeWS*gO& z?}!>2X_^nFNO)G^_9ID(M9f`{#Q5~Tbn2Cg`7qy&0r8P<-P?X`ySskp%6-ifJ5ml= z{Fjze5+5`h_|JX)x13t^-g+!jU!?=6rCzP|o7LqpFGtE_MR|WI8dN%9)~=PekHp=E zC4HJ$BB+;g(6q4V!~)>{#0=xiZUWD?Q0W)E^E{6PN?s_#<#=2nwke?+6&D|VY6w<0)OgvYS^th^;4`=59Wi5a1Xls#ePx-T=j zKW1bCgZVFl$}@K`=u4#=q7{B8kQ^R4Bm}c@eV8RXik9esG2~KZv!>k3Du$1|;dMG< zRt{u0)GwaRpK_Y){-X;wcj&1s^WT-l;_gtiU($|C7qdap9>w7T0Ic1qwh#opQ8P7N zd>(3f=DiQ8xwpyGM88U?|Ex275Xto|t7hkvU*G7;>@Y3PtH6OQfH3rH$yTfWIADz6 zv(H$*#6S{PNyd-PqNWiL%?R7GsO=Fps%O_KNT2qJRjHW-O@G^P5%=u<#oq>15z+|n zn=MNS>!SWsMQbGz+zxvzW}CC0>37)7a3?L7 zs)#8WmoW#5tB--S6hiCKUu%3{TNMqW&o4-hzj7E5OaGg@()4l51_`5 z|9(!J>MTZ^fKhUoY`u6Iq@{Q*u-8AKRe2DNs`QyE@lJ-{-*eJI!`9$-Irgx1NRF#p zA>eAkq0Q!HNvH6piBd;K$A=EAaHmBav{l&|ebGn*AOt|4Pedk;4WjIQPg83VT!v-s z;&$he#=kFMsOvFR0|0I$gbnFKCA?IJ=CspVl8>^-#T=OMX$GZJ%aApJ=_GOZ-q$4I!7IKOuy z;3$;Qb@IFI?dHFB*HBE%sB48xlhj>DB`cML5_QJbc&kH}*eAV)y%cEyamwlZBV_v& zbr^QxXG=(22H%&}Pb0NT@iH?F<8Y~dPwI<$vBE)selzoNHxL$wML|eBa#R4#A0tCG zChK59`=#uw=xr#i*YT*yGYhw!1;*iuSH{=naf2LORdwEEx^^4EoQFR6f;rPLGOq5G zp{qF`?WU!Z==F}G51n7yO9&jU;va5d{MnTXE73<#eXUULV730fL>ewBw5gB3x{6$C zw>(xZgxc=b^8@Ptej+Edkj`4arWs-_+v0T75@oA5{C^eF?J+r{&cY!Ncvjy@mFC z`{x4~NNiW}Bp=sBb$ou)#qp@|f^90P%w1-q(9)-qV@<)<$LTJ6F8)=5PBCat($>Ab zgcwUQP@NHnF2tM~=@YX5uL9A1uqqmBD9UWH9VgtA9!7qtgQWD9R>G$2jW)rfER$NU z?U&2P3;fCJ!5)jJSDLz*MjpSY(sfUr&fknoi31-F65}~K9Ixb!o;#7eHv)%V7V0FQ*2|msJgv=Di}75a z-R>Rx=trR#zpzm;{3U|}*R~5tyGC&us`Khvu*qIyDV0X@Q!^AhoP1o-QBCU?{aQCL z=s1|z<5Vi623K6eGk>pd{5x)SJc}EGewocaest3w5tlfH+E#TbGsRyYHNs`g@U%i; zaIb6BC$y4&Zryo`VA$7Dy1h zgAtsUN!8$nA)7s_ztmVqfbQ-`2jvAkjY_SaLleitEu?w+dI5{Ov6^Z?uC>{cc=TI$ zVp%9qr#@vO?ZTH6Yh&O&$JCtBx@ z)_w!W9ee9^Wa_@h*l8LZlp~N~#a7 zkGnP4dOFnJ(#-fV6c9m?Si(fCUYXvruS8_6>@q=ln`WF|D{O4%xeQ!<#~H==1RvUU zXl5H-1wBSeUAs>;!~NDexZTcwv`-NL6xV1-7@@_OW$x>TrKxYHSJ>O6Wk)8+AxZdvBit{V?nTtkhENAb-IwV_9c>95lhS436X znLQdws$#S=9j9x3tkQ|fMO_!h_v9h$y}c!^d8VgAu0F|9L98kJ><{NA!Smq8@o#1&jD=+v<1Zg`B@ zouYVLcApRfF%!zX&8?m=FU04GN&8$5q)G`zXe|5?^|nx`m*v7wPsnm@PvOTXwrs3v z$xRF?Za5B%%>MAWW!mOF;yI(sI~h7Aa9KC8@yhnc5la`gKXGMM*f>2ABaD_L10XwS zeZ^x5D_n%Gv#I*HA2Qg+iU4zey`t?|`+J7|kG*2#sg%z#q^T{b{-eSOZ;O3QAsf^W zuKFb12aK0_3*ZMjl_NyYn1G^8a}n)K5|3RHTk$CM)HKYmS+~Rdyan3TdLO4TpoLW1 zs-lcKNREvuz5WR9i9qe&bRG_dQRBsh?V76)X_gGV!Gkx2OOFmg?B6x$XTvM1)UaYO zlq^*+Z?mQ1;_|aKHzI3VGw11xLODhk=`*!)wY7B8^CZ21V1O)!b|Bxp8|3CB%bi=4 zt5cRQG_kWNkLNnM2s)@$e>qTFNWw?^&nNFAR+-;~ybMXji;)j^3$sjoAAY(7OJmsU z-H7QWYr3|m)p9m#7XUEl0O}I9D#&kuk~?OqBxpR(L9K=}q{d38i8WBtDh@+Wy^tPt zSfuJsKE^-_`4TwE#!tb9Yb2##NjLLJ!vWi}SVH1h`*DJ_z(ReyCj!xo{4S@QXk2e( zP>nfPI32C_A)ky_H)#z|B^Yzg&SMOvtz*GOsl@@6%5UqHi^;wxNT3D@lVwMEi@`5K zv5lZ+UO@3+W(I|RxgBfX-GqeyAA%*cy(g4dh2x-6%558ttqX<1gWY$VdMm^xe~2d6 zXLkW-sfdUe?ee3}1*#3xe_Kv(9nQ(od#ck`mNgf0_h;O37=sk0n%nX`x6;~Z0J5GkaYtq^Ob7jUm8rKqG4 zt(bNobbV)i1=7u3liewPF2IH{;sI4ltrpib@pg)hh>|zkQS;{xzNYUSJDwCZ)FWZS zMOA`Wbf(WJ;AK91qxjd+D762%(TOhRRbDT!P+O^*X4WY-n&wUT!)**G3cS|#;YSs_ z;mprcue~s*y?gnV84eJW?{&(z7AX5Sf=y4#!9fgVEdZK19c=+~5kJqDI7+a;4}0@Y zU%_U$)v}M%UVg~9%^N$mG}FB0K~};lWK>vELbr6z=xm(;z(iLDMH#ju2R8B_+SK!GGo%R34ala3<#(vDy&`Zz?0 z@D{Ea;$N1*|8wy4U(vX02{xef8GGL;ACN}amQ+b~oKnZBLe_NkLx;f}iH?KZY3d*M z$9ndiruE*zYa5EM_d(u%h`11J-Ze%M2$A0gRZP`ON4^|e)m`iayg=jGEhj|ap^UW1~waV+Cc}oE>TVk0%f>#XK^+xnl z$O`?vqT;9;#7En~p#clqL>dmbhUQ3)Jildyne@rsR z{!Yzgg1uVw`M+v81b#2O`ALd`NyTHw^bd>Q9^dl%O*FdBN0*L_sI(b^RW2uUsM;J3 z#)K{~l$;7oG11RS+2)lL?Axe`#xW9b$o4R?px8JM@hf3!3>PF=CIl_gsD#Ft32_tj zsI(C_@6vDb>gm?uXWeX>{@+nC#l(MIDic({Di(vf$HI}PN=}-f-T1+j7aZP*yJj+a zITlqYb^-6cqktvhk)brqH=>Yr()EzC2pI{Bd)v1ZGo=!{2qAUhpIuTCI8laSwNBbt zHADi#!ricqQ)}YXx*4Uu9tx-%`KQj)wpofZ- zxmy>9U%t_pp@4b<^yvJfx1Z;nAv99Azcf-6GT=|n^cwLPsL=5U9TSWA+e`AQVXu`~ zY*uhJkF;l;0M=EK-2ftuFx7$}*MSEM#N?OL6ZJ5>9bfI2Yq=C+e(~;hy3Y57gLEjb zKibOAf|etAKNRsXGBSOc%9wGl8O5@tGzr>rPTh zW;b}&a-{{{L$gBW2qvNg_D>AH%hhx6PkB}p_BU@hkLC!IVoYcn+-OZ zD~D=TQ*gNg_ZdY^txQFwmz>p_>qU#bhSr%ejRo{1hWtBkILf%2K3 z0I?D%JUmWYLk9UDKjorHOrp_nWH^47QdunER2AbRHa8HP-J!hp?X%(y5!xgo)g!cjn%`rHO}c`Irm6c15hBr>HAqd9+9N%e z3IxjTT}#wg=sgso)`Q;*=H%}Dt2f~#sVd?0egoeNW|QW(3RW6jHgf(Ism$RLbxcp+ z7M4C4fiSnp-x)JR>E<}5l*so&C?>W;WbXeMzGkZ_I-H(YUo1616a92K)#CcJOS;VKD;jM?z&_FpMs35=TgQ#)BL9=+y{%(b0 zixY2+3IGemYDDTQT#x{tJZ=nW1UeyW{-hb){o7SNQ>d46##fCt!1G!Ov0g5Lzky-~ zSkn1}f1L8O4oNcYRTi}S0OLXDD+AYW^#!?`AFb3+Ifp zcpQ&}D>?f?w2ilDwudRxUso9jM!^kd9~7)}=f*wi#Gi3>HVidP@D zwGo2;mhX~&A)yElMfxIyqzYH1mny-vgP*An;}Z}sGO-;K8~1Qq?Ilxb++Ebmiuar; zXo3b6B=%a<+qk@%cUv52&Gs-jd?F_vF1;u~*}~QN%siASsK{jUA)a#!j@1{4MHXXo zP#RqmNf3(m&ZB@N-+{CM8Aj|!^G4+aW(if9jJ&+VL=Mqnr{YU=AgwUh-(*|5smHoL zUX%_vmFAe-{QOri5eXsLVr&rnUSfEv$(e-E`KzN|AfpflZ-?ZX1JI-bx&P!T`RSp7 z?4yg8zv5UD^I)jP2f0G#q1ttyP>A|4OyWr^e~$E+6T~P_WW^Ku1Qa<~N-J#-t(te^ zBFK~832_7v)XM{DbxoFXtM&?e^5eW0#Ufa$kd&?6sZ+OVuB0S zE%p80*PPi}MorvwpF$$_zEc;L1V3%LXyn}OEmQ5UG7~jz_j6*GQ4&dYZ2CM^cj8_K z%MPNz0)?8PP6GN+K`cace8kbBz){P>c}#ZA3_YvsrK~Mc+WD6+A}*cx_HvO*9*qe~~49Fsf!(qO4nasFl3Z4QMYQzbjy-K#O$=tRMGX3=Jt*0zarJ!b(KYB_N=KM zqs)7ignny+p(PdT26NApD)zFb<@i|s2FD63Tj--?&C^xgoPbM1GNk;bql`C(FY{fZ zZuEpnar9vC7g8s%&Uce9-zr5YM_HzPQ828tCuZw{gF-(2klp>jd5k}F3En@ZgY?4 zLi-1*;M9ysP0hrr5w4JP1vRBvtwvn$lQGqQue@_HQYOh0hY6g}fxhT<+M$B#h3L9E zjVs+Eh41-Yye)DW=@X|x>eTypljOtrmq8v<*9#*zd{5@qm6R z`+;ITG9kmuV4EnKaUC2j-}Rk}R3j%%(Ev_PcIl`+0nqMEFi(hlUnaSRh#om_-4~8+ zzUiXD#ESiD^nwYQA@U`Zv=Ko1e#rZT=3XxAl@YP9FogUPD9JsL@24%5u zJfx^KU+$0m)wKUKyh^j>^A5ZGIHar~f}fp@J>XRzi>MNF?O}tMV4x(gme&L^>T@52 z%3o|bnSAoJ^g5+y%#`bKfqAfCJ~tu7QK`Ur8_GRWN|-(!at*4H$%>}UWOFi{|HdQe zY+8Pou4s3|@-Oa$y-p>^VJiB@sWFUI2fpxJK zDNG)s-If{lF*f$Wr8W%0QQ3>(#%J z2S9}xAt}p}HoG*2bJFxX2~ewwKSbc5Vva>VMg{`+;_1#a z;?jPFPKU?F+MRxhm9L?5-LP%FH$ucZB_j+%a*?6vHI(8axO0f65Ri2BA$_0FmB)Rj zl`25W{3(#zTsc5Y&ci|1{i@N$w7khFldeOH1x8odRJ8;m&)?wuM9)V9Er)(NE5lAr znbi(T%*X)gQ!fm`mz>G`e|$rTt!7V~SwSFpq;d2zxZvg>{U^R2^c~oE(bEH=tBa^S zOjKv@46((>@^m$}{K6}2vVx!hxneMK%`Nk-W+ z+=UUz{|N5&33k__gMf7qSzFhAwCs)X-+oeCoFkfQ3hC+n5t3_*z%xRPx-y!63W*XW zrv-BDI)i5AX>qy*W1~tdW52oOKQ?mHYx5e}XAAl>bWqlBv@`@z%=OP1m_)`ADdX0w zu+O~%sIkJY zrN$e@s6Z`;LWttIMu8w}O*-Y&Jm*8B3|1NB@=K>R8C@OG2Qa=tNvU3>c4?LJ;LEP> zBTLZ*V#d~^?|N-cWN|0rU&)=dZV-R=9ZF2ucKH1HS7NKj2N~A6s#S{^yxn=2e)0Kq zZhmmet&00wKBA_h9Ufx80s-zmcjwt!t?1~dNsbU^FB1UWNH||*Q?l5?vr|6eXCpXC zLMW%bjz4Y@(U|=w<6b|GKR^2X3)O-l1!IK5bYSMJu;C1UJ;h3V11g;zltdO*CdtH1 zW~JvUG7YYs^;@Bcl;?Y3+plQ+v%8VSm-XGR9cz>`5^EDeSyUn&G*H}p6vv$vS|)nd zqVG4!r*$(UvUzH3Gu)MExTtyO(|2~}&I#>PCccaumdg<6hXz+@QY@9H%1lc=P{9dC zcE}L1RB4v)!|>>1m^4(B#Y;S~Irl4q@Ng^;gQzfZQ00%E-HLfH%~=gR({9BeGa=WB zM8kXrQ^OUery}Ksm?T%H&5l$5y{(m3j=YgjO1=;*oSbrq$m1z5pBod?-S*Emls*K? zLMuiBX%tVL8H5XP`~$v5i?{e@L_59-zu4!Q&cLZz=2NuktXJ|lSh8NvbIQb3YO`2{ zk}^d>gL~7Onjf3ox!-w?J)WH()d^*(IZHnI-7I7x>0)guf4Q2c{EH`SaZ}tw`rPf8foT} z_s#husPfkW5mT!DU&u%q(eAI5qEH5H6xHAo473w6zKH0Z?_2pja(-l9sAehpKxHjQ zW4|~o9EVxlf$&`bb>c>ly@-Tqu zxk6WT#6Wm14~I(=3w{B{Br3T^3)~Ae|BIT58`An)$A9X-YbwYwC1zqbf-%B77Q)FH z)|y9W<13zNGExv}NTlK$*ymfwVY~?}$8J{-(PK9xqp&Gwc=Yd@l#*#pUrdbrECNr$ zvLAJHO22~wOm0UFYCL-`0fV~rQZpet2+VJ%7;qZk=%-gjNRE57%->we|0t&g_@k`d zem2cX*{qx!J`(e-elDDlqUZ$t&|@%N$8uZw&VA@`$}?1IVOHw#83Yvx62=Y!+LsS5 zICV86_8WDRyx)~%k8;!Tyqa)%*`cyuJLg@R5x7uSoa?O#Uzo__`CmWN0MoN4bNiS^#7>a^J>1{2BI-DZbfz!C4fX z<`fs~nyV4^1W{VUd>__gPSUi7E54W+EJELHUOz5jjjPuu7L&EMj1LA;Ouam>TcL-! z06J-J)XVy0?3b0sb=ATni;R8ON8)3*Q6@<{X|>iNR?0cz;~>U-Wu9C-LO^9kaTUUt zS^dkHc@d0>iEK4^R&8@&li#K7YmR#`uX%T!!}S?M%<;>~U}FuTMzXWFdDzH;9#i$u z-LN;M?f2kcx5i0U=C?$YbNmYLY)S_xot#tjaX6a>dfzYo9$1}QvP~dpFQ5Ka2Q36c zMJX_&o5Qpd1At0=WEPBXMZS7g9g0EX2s5a!#*~xUeEdei793+D{eHkA^B=d8R)F2I zIXn6EtL?I>+z01J2>_4^Ny^Vmwp15$*NjgD7m+M$nVt`E!noKsKZlG|>9vXTc1&-m z_v0E*vewQj(lfWU6AWE6xEzNby>`=;%30Lrj}|S6vgEbXAS7pD|~qa=N|^pUG5Nn!tTE zx-i;IJ*5(8r&Ux{1=_>2=#tCGv;$s7GDVGAlGd+lhh7}b%AjvDI6VI>K(+~2M3X~C z!N(*=#kcq})#dKoNjnc3`=-7(j~ao0jBrW+`-B6Ov>Em|&R`||ZC7L6uU{uSYs0d5 z>*D;**=Q5AGd#jr{f9D$zBj7TV~wtJXoF4OIxqK(3Ku{3sU)!StK}P1X`2}}(je-eYTn@wz5xJ8)sm?nTLO)Ud@W1u-x<_ZhGotq#PYe!iFk08bn3> z{G|)^lD(^Zq;6G|2n3yzWDP`x{9J4Jg1LEU+y4J#0gMB0O#j;N#r(67R>=AOrRRh6 za|y)SU|dtORr;$v?(^US#U7K?iYGsU>Llg40l@maz?8A-nX%w}SMB9mGpklDw#Fzx zZ=dQODS`4fH6J#FBrLHzo7X_Es1PENRuhaq>AK5WUG2^lgZ2BYuZ!2MMrUZj(4t&t zgfc`38MVI76ips(mPfGjCD5s24Z^X%Nq;0EBpRz zaReghu6YFL}$44=rH`&ad%Dx(G z7AZqVQ_^H@1M(3CxKPPY1IjT`#U}iXB%DKsi9RwUVOnfcEp{*T%2;JFxo+jGB4o*oQ*bMfF z9U?#zkGeZoTqr9koVk{#K&M?z!MFBQ{K2_xfAdg>(9y}f7;nT2OfITrtXl2 zzvl%Nu)7Fp0)v1zvOBK=9x16ec8mKPY;23)7~9?-=Va6WSymMx6B7hTXsv^gAq4UM zjKyS^l13Nv4Q*_?E>)y>u!R{ZrE~}oFv@*uR=_|+1mkBTRRYVyGuBY@z3CPS@ghRy zXVgO7IYV*ADWR$WE=TN*m!Fjz!t$>OaQ)9@`zRurr-00GCU2Mg@d4kU zLFcVTNsDLevH+TJC@~Tp6@<@1eU)|24A6tVtK}|fn(UcVY)_~6NkBp0b1+HiYUb)U z@DmS0h;ov%uAH}Bu~}rVY?}nz)YtMT5DcH!wloZ&5=JIY@luNBwTi8N@Xoxv1M>D_ zJ_a1SEhTR{E#^(l9)!V|UUzrCU%}Y2BlK2b18=txCVApD9of z<GWoQXBV%dbb5)!VQWdS5Ow0_pRKv|MEr)bGn-0y*bAYa&rV>gv9vTM zM@#9)aF{4R<6z%_34d<*1q)k}QZBwmAwccU*TSLzo2atKktRNsW4g$9KGw#dbl97Y zwD!cO?}5`sR+o@)s`|a)I3W!a^y0mZ^7u$RS$TwOS(RetYy00xOz6%8r=SbGK%ztmvwQ_031Z^aHFh8)~V+sE!N-XzheH=m$>BK|)#|Fd8O2l%f zvN}){?ge-pFzotFcFI1a-?WXtN59zeD#IdeYm z^La0?*Lyi^FXvQWNCCw<_PunP9di@mUo72fa^JgLy)9(T z`n58NM%i9Ng*Hk(cvA9 z{R6o>GW>VbIma&;<<%#P45Bi6H`x8=)31i^aD)~tXq{8erP-8A62JVkWB8qtmz;XQ z1N_cVG~rR^U&C_9b0&6>A@qq3b&BFD!|arOi%)ttG~nC~j6uf2tIB6@?d%op!`GCR zc(T9#Q}VPbaoUs8`;@0u2=@s^>?TqG7>I-1yL#w&M5fk!1dU5mmO8XB4t;-8vAKdJ zS!J${EY;-Xs6Usmx*(_>|HZp9E-oiWz@oxEGnQ9rub9v3>%*6u%VT$MY+uX#y}-x@ zi(}s2F@RD@sOmrW81DZ0H=$Wq!U8mUk3L@b?2QfD(bd(B-dr3quJT)Ype-&cn)1yD zKWvZa%8>V-d1lrYBZZUw2i^B;`mH>R%bQw#buAIr5GQv z^XC&8d9DHvB3W{YUFEK+>Ak!ZYSfuet*xl@suIoIR!qF z%RMpsaM5Y~V57U8R(Un_j&(plfcMsb*+>{-;Df398Al9~PP@scJ4sNJdiL~FMxeIWSa4Mu5 zX*Eivm2`+D(Iq8+bt|vF^S##`1X4pfKX9I&oo$;*vl;(=CSm??a?*Yujouq5x?b%^ z8i_nr=G6T>%_i8w9lbj{>|;^w_xWH(5+NO$_UzfcA~Q3y_JrU~!Ro9#74G7hSAAvF zc1se1KB>`wF}1|4BJbsI_)Bdl*KpUJcj@kXMct7O);^sV`##^j%pv25(rO6asm5Nc zH1Ox`S??mBz@>CwgU`G+_K{i;+$mPim zuOmqwoOVv8u&eK$jBEP2i_f-sa!HJ6R%q!$UlDn2?i6ouWOp%YO5cZlW@g6wPhQ%c z{>iK-%PyWavQAy8KlK$lXV<3qNQBy1RZdeZIw)P}>ilxxWMi~n+V@~kV^#KoZRmc1 zK~S4fyZMBI{PtR$%tU=T+I3Juffr9A zZz7%qP8k(;pF@81_|gQ`^w_z@efW_`Cm~lJP=-0%h7t%<3H0zUq_qS@>k5MOWT?{X z?ICfsfoTMTSHSMZi+`!z?eu8dLGLK-{;EKq^}mQZRh&=SsU?Z??Y3$owe0t|m&7|` z2Cu@2E1X$TKn2PHP!{enj9gf#@GIt~aD^BVToRwYQTPPaAprt8|c4WTIfA}aiY(!eVDpsk1 zEwZVtKygDmL~nm8cG&szvqh83CzQ4K1hic0qh$O%ePU<&#ydw=4JH8HRerKHZz{S9am@YB{M|M*#uIkOtC_>8X68w_OZp|Z>C3gd zdTw&z=Z7}`{1hKv>qZcN&U&qU-?`&RNr{2wTr;6kX2|q_z{KWXV(UUr#Cd4EEuaDr zUviaVfZM{a&&|_S3x!W&DAaU5S(G)8d$bBS2HH~C6uRW_tqns`)&Qf!Q6^&i?zh1; z7ngz{{GzC^a0^7#(MppLT1SVpe*OG&w({ALe+xAW~ybUWL#&o%s<_*t8jD%`D zHP3~fTB($vCfc*-dFsaA)&gTHRek+nSC z-(HG#d0DU(r?W}>M(YA6_5>BhTIg$y(E*+X^kS>xw*H{~?TB$3JRfH8Vds;(^$|y8-6UUxj)V zqBzj>h17*iv#f=*IoAjtoL6lM+4|BT5q635zS~1iwKD{uffr@b*v}NadV+G@~4qpjgpZ;-< zx3ZAg71eie5LgXemE>_}v>~pixf(ZB>Q@@pUEFkM07l9|EwDv@JIzp*ggR!r#G=3% z(Q>Nkyfo`lElw(=+MP3S%Ye8hg_veqzQCU4xl+QtVv55_wp!<$@TLp&lk}1`#eVg= zUyz#_k=Lv!*C&_|zkvqDtMQ=}c4|+}RpmgGr)yyT+U%MtP%(2`c*HkBE3**Kv~;a= zF{`kX!Mp7?uR{2%PA?Y@>Io}62ZIO7Q8~r=j=fL+WLEErosq0wl!-CIRq!7&P$E@B zR7SIcwk>vXv?{-+&xm!g*hReIT><4ptR$S*fWXc$t3v9N@qj**I{z4pw6{LaC zZoP#kC~d#!Wa`#M1*1#Cu1J=!7z>pN(5`+Ka397q68v>+G{iD|w9>Y<1Sc$Icxm0jI* zAM@D3oq$zq2uuw{Gj912g^L7%l^G6Ts2(XuMXoZxDrTnv&Pp>lz+#|i$D2?UzF7vl zz`1WghcH_eFhcgIB8{jSDKTh#ceYJ+O!F*`Dpz`#i2iqoR}1s(r$YYtCH`#q3?=50 zCa1Zh;Axsu?6xsh0zzVsq&w}E-JNSP>6B7kKZ~lGpGqEXApQo-ULmkCJ9rkW1Vq6Q zXgKQS-jq2=M(BAFLk~S$}ObJY-JX? z2Y4Ah={JLMA&>#pz)}>`6iYS%$ttcIf>f5>s#U4EWr_8r#a|3QAT&JpVa#SQ)HHgh zQ$6`uH3XNZ9s(Jo6N!2F^EbC;$blp=WxnOnKjR2F$@98Se}E1Yg_*+fdO$<8rn!G< z&%JDRbOVnA)Yu~}jJ5CMtJ7!cfR>|AmF;?MraD0r%PKMMr#5}5b@IP7X1LcL`YDvd zjYAUWo5EyY6f*5-C9P}ahBisVdv!TZQX%`_Mn1kRH%;ksGX!=Cl`LgGmptEOpOq?> zqm}zGV*Xa30ek+!HB~||>OQyoEzI*TvN;U=ef8grAt6oj!8Bdsv5_F1v5n6*)C-wV zSSo4eRec=~jf)qU5d^jeHCz?=P@)Ek)4>8>%jX+$Z^2bXzm46+Di>D|eWT6EjfvW5 z2*+Sg4%%r@<(A09RL`G=^a*jL<4bB*M9f>%yDNN;f&_2ozv3?4`BN?uxpEifbiQFS zxF6pKF@X(}Z~cg(z6|fTI7o@qIQy>HbB0m=kHsi+%Ps5LTvrH~?{H3gNtS_O8Rc;Q zoIzH0M^r#k8^&Pyz~_BtlbnyeT6DlGg?Ej=d>> z#kk)DrZ^gQqOLu%D{d8(sn5x*x3376z0y}CwRU>KR=RV4k)B0z!vS_d3gobSHW`zX z7%DXhkHvu*8YwVHg+2C?AzDm0wF;G(KTW)5Nbw8DY~S`(`_kF?D>Pm-mJ=GUn6l2q z(;L%t2P8yXFl5%`ju{+rukO6r=1aSw-4me<(|lanz{|OIF*U3Se&&M<|LNcGIbu9v zN+PI|#@zEK(4BEJqUj>N@69EKINRH`E9m`>QJ!m+X!VPqRv%kY_Vw)kVuOLTKvN~T zw*0e|ersb=1l?hFydE-g;n|ARCgp@uSLO<8@Y{2dgwY-x_isKe77V;?i{nCciQf6g zbv}i5#QUgH5GB>fUT0bNI8$m2`^igop76gwGcP%#_(x=4^@S33@a)PY{fw0)-t>)01!0CI z&lA#}TcfwGT562Ia+zg)>FJT(UW$bSJyUNBHiD|? z5NuwZTKYj{@s0b7v4K@bcb8FDty@RkD&1rCiTcC#?U;-{{b{al)Pc){^kN6_`zt~pX;#Hqy3VzSNa{_62PW>nGUSpQ6LW@-tp+culzkT?X?T&m6$3cui|-f)Md>) zR^^-W{mIT9{BpmEc#sb_!&O~Lt16R7MxMw0Wy2*7Q9YqG2oh0mxMjH9^>d7WZSW!I z!9h~T4>mhJ^<}=Rlyro01XXZB@b#m0aKZowhoRcn;M+@d8-JrgYfu8ldM?-?h%n1NsQetCIS(INN!)-Nxt{A_tGX~F2O-GSKBiO8e&v9cvGQspodxN!Y-|$sQgzxsj0z56$tocm}?=}Z`H;C1Xi>}Wd@87@k!MKt|e{-4( zONiVRf=D}M1-u*eYT@b2(V`#v=JVbys@8F^(8_z*<^7O7+IQjC`eIpk8^EAwv#5mA zFeGP_4)Do|iLe9}qW|Yx=Pz7H211REbIM=c$1d#d?)IUB_JM#KAY;}6QekxaM%55N zMlkIjt{^12F1vq`=e_!()kNt9!MK4ldZ5)sk$_V$kD4-dF)V!~b& zLC<#my?&;cID_=HFZ9bn``Z`4N|}FuT)tFRS^4`nK!p7|X|z3tmZGHKfGu1JO5x0t=Fn?TK=+{nwz_SyW%<$=w?rsK%MYkC9 z1C9>rk~#q{!^UmRi{|V;f!3~KRAKp(zfnxHdSAk_a}^@Mbdyw+-T>t=9JZfUdyuEN zGwS0PMH02yeR^nZ6C!s{A7~Ic8RiU5yQ>i+B>)2=V$@g46Ex-*MiUSR4kBV=sn*{g z5Bbaz+C+=kJ=kSd(KoXchfdNR%xSC07)GetDky6_=EQms4vn+-QWXzY8_My!(FTE- zzE2neK*CsXMF22|AOU&p@5+wK7_@%U2})!V?tzd+W%Zw;3JE(;6S+`KaIC*!A|xTv z1)Zw}Sk!4UePrm+d*jT+n<(DW>Lsx|Yu6Le`5Ho zK|5v9Lc7R3ma+U~NGJuJGJ~=Y8So47o4l^t?7IOdy*SXM0mZ9@)Bqp9)-kq#eQ@RT z^ABXl1uHSqFJ$Q-1PW|X>louTHQ(@u?@xfhhHQ;$W1&n@@^&w@JDAI1Mh&~Q2kY%n zFIbhP=6o}k#}{xLu0DK*L|h?>`NpqI%%*#M%^!Fn?Jx}xP-!*?lWf~#UNwn(5mG{& z>R)ImWrOw}DIl)cEiz$ktSG})sOz5&MqYOTpKk;+3jwK~|2-65-V_PHv-95&b`_L?tv=1s|LUwq}Pm@ml9EvT6SA|f|^w3KI zpm%Tho}3J6rS8^fV=FN7{bEKP$+DGUTZ%BNbu7w!+F7z84ln>hO79kGXjXp?CM4hy$Y1vJ>LnC~10mW+c2Ldxt zIefGPXUS2R*oQs)=!5V2s)A$$2ra4mNFM}1y+nMYro>1?R5TweA51WfI5EeO1tUIF zXjSbeyke7)y=zD34{DTTJhDf^v_PH_;z&Wk=SF@CionO zSp2v4@kCsKs063Xo2W!4Y~PJCU5&mIGrJDj_j#Ms^07>DrD9U0YPZsyQzs}hK}VSqCg&i~c_(j=6;&5f)YJEtIB3W09RO(N!y!99a@C&Fy5i)o-i|++ z5Ez?HU`c>2PD$mRUi!KB*}+u-%H};RZm)%@!;sfa zO$;$NRI3;TPNc}Wn6UrY&7_tNL!!X&8C}82ctsZlvBd(ZrZMkv;dS-4u2>G)#Ts+f zvbt-HJ!{;2wD6%JJ`8vbGqzn|{QeckccN{V$&i5FyifMNW%wsF@aSI^Q8N#Gb-OE@ z$+E>i6TK;rL&Htxk<0V4%3XdoE3&fxNtY46;)xa;)zJDNl~i$~9y4VKhe_xpVT9tr znx|wuVrOy{>%->;m=FYwT?`xAcGgEg4)y&lD=aX&ZXH=)NUrr|n(8=VV|>PC$*W{OUfcs8_WjKjdZasi3*uw^3vA!kntqqK)8~w&E9> zR}!B#*d{%tRGKCMdzEylOdic_6l$Itc@D8L+bPRLXZj`od6Sa`w=qM^CQy^dj)E?K z7~IJ&CNO4!6orB5ONI%R`B)+5wNPhUUXx+WV!Y&=Wmpg$rTSj4w#uHNf_5OQCOetx zfX!JRS?kN%RWO3S?dNGj)sX%oqUI|oYl?s7 z`Rf`3Z^oAwaQZ5Lv^7EboBchbY z)q;DPjZe?B^ge5DR`6PEj-Ob`W(SSOxsn=TQ%*0yGe3@k9`;9E-Raesge(T4o%2@zHA)b;x(;^Pm(tsGX zWWLD%W6SK7^bZCtbTtkjzop@~152~5d1+ZY@k>A9(|-rGb#&a>e_b6*A9?UT>#^1) zw>Fio`?Ej2s8)DG-N&xBpH0hf$g2!Ga;lzG!j}LqE4;n4;B*uj|2_FSUX%<&J{C0y zPyKWCzfRMCNZz=MD}&u#e@o!+gfI7BD>Ji+GHCwK0~x=8o67i&Ey~XPhX(u$4_+w* z!b|x=G-Gz`e;p_xC!$MgZB!JF_Q${E=V=MNX~o+zh)0>@zYf>~u+`fhQ5)=cBX3?kh*6fC%i94N&R*7udfYLG3q?ASt5V?U#D5p zU4fbT9AD&ECdd2aSa*(1!LfNfb{WTR^f)R29Y;#X(c^JM4FVsVf@4!~3?z@iH9#>O zn}TCgaBK>WO~J7#ATzAT0O1%Q90P>^Us1s+1t&rv@LuX|3gAyyOJB24-8Srh0KxiG ADlRTAGBPqXH8nUmI6FH#Jv}`@KtMu5LPbSIM@L6VNl8mf zOHEBpPft%#QBhMVZo}Ztep`oFoqN1atqo$^& zr>Cc=sHm!{s;jH3tgNi9t*x!Cx2>(Xt*yDPuCA`GxUR0budlDKueh+Vu(7eRva+(X zv$M3cw6?akx3{;sxw*T$yS=@=zrVl0z`()5!NbGD#KgqK#l^?R$H>UY$;rvf%gfBn z%+1Zs&d$!z(9qG*(bCe=)6>(`)YR40)z;S5*VotB*x1_I+S}XP+}zyV-QC{a-rwKf z;Nall;o;)q;^X7vlt)=I7_<=;-L_>FMg~>g((4?Ck99?C$OD?e6aG?(XsL z@9*&N@bK{S@$vEU^78ZZ^Yrxe_4W1k_V)Mp_xSku`T6!a6?R!-k<39tF z9@B)Nj`2Lae0{w=yb%+nG^8lqbFwK(O5=DQzLyLuQbGa%IiM;Yw^Z-`Jw&W z{Snbq@6)0c2DtU)cwYj(_2cbmP`jkjJN+ui70&RkKY3xMp%eKkJ0*As{f%;T-I7!- zoc(oMV(K8$;8y6Y7By#QhIZpoC#mbo?9`avXsOB_-I|rBo>;6=uFfEIA{5(#MDofC z;4LS_o(k*~e`mK9y5X_eWCAVwJ+ZQF%WEx%8fj-s{dzXm64k~tzcEhmy3mRIaYrEE zQf*pOcI2Fu9QrbJ5^>qFD{+qc{Ly?acW00T?XAa)bOFI6Zph;ru}#tOIi9p@2@>nY zm##XKE9bmRu&3=#bm?5d*icYEJgjtl0{gr-hAsdK^{K9a&AB>63PrUrJK-{OagGTE zG1}B-Hy&a@ApzRYQXynjW;eH2(*6Pbq!#>-XxGXDF65;1FeJqq>e|)b3pg+NZp$rW zg|CH*zKOHhv?Zv=XKBsY+Xj{}=I~2vu()^MBH}O3L}xfHxSWrI8h^*GFVBZrMoan< zY(Aml{G{wANsHuXqvoK3I$ACg?xHR4GosYMa#8AY2o>%;eiS&7R_sLlTgpVDFKEG< zLQ&zXR{WgAl9yRWMWP6-5~d3Ir3Yti&tGTM98?%8RSs*R>JiR0xEk3n*18u`cJu{i zPDyCL3=>&%o*i={rUoSwrA`AX6x7-ELDPUW6;#I@V^507;8*R_r$&q&z+^Ga5=n`r z5sxj;**3-TOc-?{7waAn#vzwUr#764qnTRklL>Y|wgQs6KH$eo9b_L;*LSya5O*&> z0`4_StLq<+k=NWYR=A@xqDCr0+mIABB;EZ;df$R!bi2pJ>(mI$VWZ* zYP@12wvJ;OGK(gWt9(BHG(v2S{ZJh;_l7e5%%7_0y>7`Dl52T|mgT_UT4BOq94#G+ zTV9eTJ!Z_H4WUV-=LP|sBln|UScg}$In^^jrr9RTC04J^vT-K+CMuY{bX^lIy`^}& z=D+s0jTy8dG>N>Mm6de@aCKC81GhJaCsoj1dY^8seyd2E+#%X|A9;NKJ(F9uM+S7I z-8Mmq0_2uN>gfi^a@Ax_TTX}<2t-1r0vs=zMA~Wz(!Rvk5k()7upW~HbPJgaw@|zKPU!>P z{v9(q>O{&^|GjdEEwjdM(Gq7tR`FrcN{(nPP!tHnr<3qctoQbS_Yih%IcBn-r@Rsn|`N@THuQc|H zgUR5^28#NNv0ofa1|Lu+_f=z}kVF)Xca&Y@`dTin(R1kb7&O$4B4P##4c%h4IUZFAT|e7)!I$(~-dWY@kY zz-Pp5)ASfXnc~CS+pG3H79H{$Vm^_-SqvV`RL(@t;qVMw{vGMZZ=Tw6sEIwA%0i7ZQV#JMmja#_{qtZ`W=amR+& zmX%4j!D01a#T!<$L*H4@jeknshy6V5u;Ctq{tMOx_n_JYYejLTR-^pADNF?O`P*16 zDQK|aay^1p*IL`cGIIG%aDms+psEI2C2CpE12)6Mv^@rQluNnXpg@&ZD`LJ*s7kW@ z^8)Za29lWaec93oh!E-1hztifT5HSqpa6b>I!VBQx$a!Ie7Y`XZ8R74F zvc6HEmi+;wGC-`rhsf?|=@|T8HAuI|z|p=n>SEm8l|2~Hicb1U7*E8R^_9<_B>B00##N04oQkWYCOb>G+riQs;z|=4|3>YQar(kXvFlNw( zFgFY^72tR=Hw-Wz>eDed444|`h5=K<+%RBTT-oq{@Sxf*{iyAS00000NkvXXu0mjf DfJ9y& literal 0 HcmV?d00001 diff --git a/test/fixtures/app/doc/screenshots/firefox/macos/index-hide_caret-disabled.png b/test/fixtures/app/doc/screenshots/firefox/macos/index-hide_caret-disabled.png new file mode 100644 index 0000000000000000000000000000000000000000..fb10a34864cb27302d4d0afd60a24fc8134b603c GIT binary patch literal 32771 zcmaI8by(Eh+wLt$3?U3%QbTuxBFzll-QB5z(j5-nAPqxzgS2#~bSlyz-5`7J-@Bh@ z@7u@y{>jV%%=cJpUF*Eg^K(s@ijwpTbW-$Z&z`-Il>w_gd-j~_*)zoF02KHu52Bvn zXV0jf$%4f-+>H)1QBAbAW(Tk>H~>JZ!xyHq3zA~*v@6QAjwn7ZX)Q1L&NbRqG|ZJY zG&VH!%sEw5c)<`65o_HRc*Lj>5ErSxy7}&GhgA{FJhMlb=(+YiP8T?Czi#gIQqO+! z8h^^5NBscBX84Yj;g9zgQRyq%D};Z3`06E=6NV9c?O#jT{l8!O@AqlGBlbEY{rM|v zJc#UKYdkZ)RDZr>;D00hKmWeeSL8vj&?W56KmM~n2Cx(L-yg;w&wT>$<(bEX%6-6} z@7SpL8@Q}8lO!)grq$hK$9{uLN@NoQCE|SU?eg_^p4ZwPA?Vh41_4&VX}gly15p&L ztAZ7Y4}rdS&5vqrO<+PcL(BR)y@ps-$>pK#3ckjeHQ}^j|2WF{Pld;^bj!^7U%Weg z*csj|X6YC8$$zXv^72uPaUN8!@|M|V8>}}Xr;z4AJdVDK2+7V7k?@@5S0r5_@VLK%l1rsv91Vw zx8<6$#WFY4kw*I3{d>;uU;dNabVk>jdB;a(iyV9{Ps62lUYzj>xOD85CA9RkG7=JP zwDk0Yn|?7@t)qV|RDd4h3-s6nXExqA72PDK2=89$8um$Di>8V3_}K&gk-`VW|p6-fY(Mq7 z+|t`%6$8W#cpaB|jgFU_CZfAMs65>%=>ds}i55QO&Q-=f4*Ba2|GjVj_a>deh3^aR zz3qzWI(?RsVrW8bIQn9>ZTjI-yEOOoxBUG2QSiX;=co><<1z}7^WVXE5rLfBtU85L z{z!OafLOxRvHbk}QNr_zI=w*;YmLE0Jf}p|LWdMOeHM$~g>uX69kOk_^2;2C`t-6A zFLMdvR1Lq;wr*x~+xwuycO0-=sxLvdjOXQ^ zDv{K0-fWYIc#nVd%Rz#+=$`EC_);_lR!b@y?aVxn>Bv-jz*1YgErLf=u*GJ1HcDOV zzGwG3=U!f3u@Qi7{v%$K(3FX#iW32bI^!}egAs=XXo2Wm*1sZ=BMv+?&UmH6{5sR zXn?{&y$5FP($~@59bvEV8*XA1j0|D6`Xz)2i)!tPX$8D-UF7PtMxxnC6dWlZ9y%1# zU78i!-|jfsuCW@1Vr8(LCu7#(R}Bx_$)|!418?9T7LSI{ZnGL;y7L;HiOrrVX?8C@ zvq7pb#Ya4x1(wJW9hZvBki?g-Po9|GZ^Z08+S)%oNNh>EXEQ4i5*|(t6LcQeFWqtZ zy2gO6R)K>v9_AwXmRby#@93amK>BuU`;TfOW{x~amu+ORes}KpL>MIqy!_6GasQZ> z2EOP4L!~6r^upED!|X|k+TA$s$Z_Ii!oWRk_$@k=Y0KJoS1T;3W9YnwC3;p##?GMp z;`)9hggx!&O9e7p9na%4CN;)wed@|}1hn`!i}Y#f>pWU82W7b_<E z>Et^S;9n(@xG-Dji^qj!GDkJed`GR}t$0pf9UqUY0j1NsOThp>>AU=&g8k1*JLA}J zA|JHbZ_7wYr4>-d8ENR$FL#_ugEh?iE7yn$jQ2q6Ff3*Tg^XRZj93|{MDV)H?qiF| zK+06BwRQ7$kn@5=i>nSR_PB=@vUmZS{{=0@J1a2;kZRt*tGX>mdNHesbsFSlx6<{; zoO-)dTP9N|cEo74UsOFO42q;0J6OHeaN z?gAD=xn8%63lUkh8tlQyZrYW8FM(I)uBn?u?{g=@imkLty>nqpe>*~%7zoSacKac< z*kB(6AqPrC0)4*o4M@9l0#UrNxcr$OO68YyF3dfLnl={;`f95{hVSFOhJK})ExMXi zI7%`T_FoT(3WMpDo@%vDhZ_Nam=9zumbz<8#nZ{?G3XDJf+o+2PzJc3w}k_VsD3y7 zv0K+blR3{`@01D@__WRu-hNN_C7gp|!7yh@AFClv9zrlVRd*`R&v_W`W5*Q|989WU zWFW?!{B(khx?NFHedXPE&vPvkASLfE!s3@-q`ED3fsZR(Ud4h;_|L z0~KrmBkzFJeE0U{NSxh4_{F9{_o+7MvyH{keXqP8-tH}0HXe?C5&zv_lA^h~AHN`r zn?@^B>#3Zq#hSuDmR5RAtLf{rWqUT@_oUWHRA?7$^(l2;mcYwn8uZ2uCZxIlMm(}t z%I}rmIL;~G&(zcZ#{vdBUz2FI>`M9Pumh=C+t}`MF-|8jf}Edz&bo9Z9d?+A{&9d$vr;F+-pTC%N0;n$Gc>5 z0reNhWHbKR$!TVqH8PzWZ8Yn$wB3PEv^Pp{{j#3=e~Tly9(fahf;_lLnPsU@C1lf2 zG@Y*F@Chn2^O-}g&#n|+Y*I^0edr|?qIaKdPyvv@a+`6Jwe5E+>V1fhLV;85QOP@s zniFW2A5OC}<~oDMa&5F5&=6oiUa$qL2A4l&usM#stgKx8c1zW}JV9Bdm_6>Y&3k4} zyUozJ6dld7%k+Dlgx=b6d&{%ZcCAah>~L%_AlqE!?t0nUT7GJ&mCkugg+TV5-iNXU z5c4R`kD%QjA2>H?f>}4z$>IVaFe$S_QNHox*MDj?J2YNKF?xg7JmH>H5+FKU55Wr( zY{2@N^pt-wJ_kXSPU6oP0LI1l0Wp6tier>-F~Br<+b40DZq`1EpWmT0DIXeLU0met zl>O_V{N*pL3ZYrOHziF@nl`?eFlrYfhQV-6GFEc*Z?AEZ;v`WAb2=g{AqiE3^$m0% zGk%axec`_bE$VP78W}cgpGB0h-32tazh4)R@YHEGK582$USZNqBYNteu9U!&n(i(B zN^nWmbyI1p)1ZisBRWcE+W+;qySW*)_i66mLh-9U5-FXS#01uKR-+w@>o>|4Y;P>q zuOw~Ki-y5~0^6Q$Ad4va^oTE8d?gze`BK>drt4ln;QVgd2p=y zm1$`*t`On>9Y_4LLS{|3r#~%&G>E>*5ASw!OJJCYLZ7xQqEtZ#^Ekt z0!A-ko~&a`!dqYU?3V}E>Hpq=ZxI`iNb#wx%h1S0kue-7^51aj9Hu1NAt5|(^gWL; zsdlCH(I_T{lHyBIpb`FrMg!4)_;}+2a6yFP8P)58lp!6W)yB$uGa_r=)PSfhmiZAV z^_U{yv#ntWg3s%dPou^LHXVtTnaj5OngN?dK47a#j#+$`BWjr8c$ll}w;AT?a=H2$ z_SK0~pIA>w$@<*VZtSpj9`2Lrecl-XEGRStKpqS@7JljjK{=Y756%wGfjHz1&OOB!%?Y5I+j&oziewHl23FBnY1y8L%DTa;nz#l zPPFdl2*H5Vy5cfcqsFB)_UY##GRijfGU!?wfjajAGs!=3wT1yu^+CDEi%Zn2VW(j)T5Ec+s9Z_Q(L79Ne zbtSpND@-zChzwLGL->c(?TRS>V5p%cA)5HxdYQ1MVpI_z=I*KR2h-c&IEZlOlkJ_Q$2;vfL!%Augi7Mdn3L##gn_>_!?TcuWMQW?1lu=Wd0=rm#kvG}Z*yI}ERBZ#((=O^B8A%2}As|v28pWAgFshF->6d+y2xkn2ACctd2ro7Dx zJ&vO#t5nf^!*n*n1{vjLOC~+ZPir)89c^R1C>_{><=1wZtlHa+u_i+wm$AD zyo*i0Jv_GiK77P-*L#J!-B%;vw4}u#27P#og^Hu^Ss7QYHkG>*^o)jW3>o@V@W&2p z!h<&t8P{>Ir)wcDdpX;`YR}LYOE-cB{gYM;HY& zTWLuvDI5=k!a73&jhWfBAQAjhb<2NZG@8{ZjsEel9y<6LC&E#_nh)bx>b+TsPpHy;q+x?*Xl7+56sh+2ObL<|r^ql0jrac}xjHC5nvxz=Qnq{S!9 zLwLc@qA;cxel9558X2W4VrxBS3e7^|`=Dj;PCE7ChOzU(Q>-A4HD>AzrO8j-xp+}$BZVv!lUY$c8W_q=cttma+i`>g{^S3 zi>zg|&VV7C#$lsd4-PTU@$Jawra()5^Ni{XDQjam!q9@99_{a8bkNW%D6_|x-fiR8#5^c%pSb? z;g>|IG@9_Rs;8z6L2VZcpTU@}fxs}Kt;SYtgAIw?(<89kqLB<_k8Q}0l~)5F7j^k} z#`GI8=)Ke`_lGeP;`?$0!aqpF!02q5!?~x`w^F51{@$DM%~zBLHORO6sYjvb@kP7^ zk+CkxCUqB0Rh%P48P(TMH$PNr$Bff+pID5hWz!$KH7T3w9 zy3Ju=I$-_;#Z+sS`GKxk?@$r54u$}HF+eoU&plIbayDj%+w3b?op*oKz&q+8mg4H# zRw$O-v6-OtCjVor=A^_|l^+;!;uZzfZ&Sj;OvDDBx|I5& z#CVy_BzH1kYlOq7twh{Pv{c2!DK8|CDkgUQb-e7Ig z0a5@S--Y`6Cn?gvo$k2{jd3+q|B_7CBEhPVLfaRI>+1bcI?SntPH{MyOCyoD+RI#8 zFCRiRn?aA^``W2`zSpBhB-}ok{9GD15{s)L9y{sQ7WU$C4h!|O!HEUhd*XUcPPS1m z>SlN(AZ#La20LK`$i{M;qG5FtC^1lo)b2(lBF5Cka9$R?oV@*`oB-j4@?mp+=~xm1 zv62e#;Ilev*Pp}J8XEZ26c1}~(+?6sk_M8xGnLCXcf@>IP>U_W2`#*$Knww(-J4G- z&zOz%0o2f6It&5*%1@A!PWh*c-NXU$7Z8_0b+^~1O6-**541H8o)M>s1;ZyH9n zu1t!f`IV@jwQQ!DKPsP#aZ{7pl;#!`@){=)W5Qd^ilb%aW4oz*WgG8p&eirVtxro; z-M)rT%UEobzEWKx3*iL-2%@R#Lz(TrO{4Jk7~2AtD5veeN@3!MV88}3DGUvbP5UOm5W ztnL$1jZv`;uV*18i@(w+)U0AIEoDQLpbZ#Agwb5geT`KT_=p6+@Fl!obX+S9hpYq7 zO?P)%Y=&n}R*>+3fY?kDfx){>P0~wfod^~2B#CeX3H6>1yak_`ZaoUA?Qqv>ag%Ly zOl80!>m>k16pwXp5e?d_=arfy&CV7k7bA{dk+Y2hTwY0mM9LfcezO>tRuAd+E%SD?mmF^Xw z(NwQa%s6!>6PzIV!F@vJ8~J@#3bQO~X`mjDnS4&(Ye|RLCAjx!f{4`fN+MU?t3s}! zL5i^K$7&l002Iap(eBwYU8M%RhP>~Gb`JXRWY^S}IaS14)M@oBSF+6hkCJz5--ytrrjJ<7) z@K>a0r!H+aX)0Zk*C+Yq@&@h?;|vP^tcI!uv$@<3QyreGaJ#ZhM{$+!t~eTVm$>DU zvP!am1&sVC0_6vy?aky?Ks4zU^|j}Dg3Zr74kRk?tmho$r*JB`MRRZ;jOStZ=Zm38MS#w+UWE-zPu& z@px(;I>;u_HapULEci!t^<{ux^{L!H-{mGAjb0YiHWSC?>}j`*|0>()QLE;5;u1xT zi#{ypoBKxNN+=y{AX?evz_D+-7L!tFL=}--9`E~lwIY`aTVa{?M0ZqMODZl-MRmA0 zIJI@JCU*?OzO^Xbe+s_{r1+y$RW+D8vs4$!1&ELorD*TRrO4}h;q9H{e>;`?0C?kVHRc6warM)n$Y_yFcIrV@V=~k)C6ZLH5VWG# zBc02s=P220P0&gZ92q`tw6BARcn*!7)y-=UHRRQ8HVj?sF3n~@3>9C&9cacIe%Sbi z>I@=IATe4}^@%EQ2+)6lM1TiYWb{h^)>>9>)H>8soA5E@8FdV+#yIG%%U-RqvZFlJ z^{854L+#22%1q=&jSs{WrSRlNTyCcytjJ-f5i-1013JfC}sdCq7x(-rkC8VU)bf>}JptdPFab~?)szL7Hc;0|o07lHX+^H_5QnYC?u z?@%Pd7IOMKZbnj zM7sxDV>a2F_$l?Gv2s6meK6nFW$a5w%o_Eb*ICs<=wmN>zzBy9n+wbD32$(gH{6f>m>2k-`aEYWw+}k;#<~(o-3Msen$zE^*3ODk^uQFKtC0;*Es(bDCWs zcGEqL21Qia64HgvqNHz@ToYWZ@6SBLH=S2ar|@97?vlh-TJui>6V_3b^v^w&<98bU zdU~a0ZD9s$8)kbMGqT%B?1`6}WR{wnS(Ch9eDUy_CJ(4R&o&d)KyN%I-QZz z!)(gGxGxeOBpVs2+GYWHa?74^ovP|1L^LOaewf>1p{*NXdv7(4-?{#mOM?*s7lhbH z!1rNKeh5vG6@n%yxMinZMaig-&g*EaTmli3Q68S#-Yn(Fw@xu+MxnQ-%?}~}*w<1M z-^n&5_<5&7?qLJB5AX`Un|$_7mSy(yYOmY@E>14<+%rYf?x)jk`!P#+=yIWX z{(5x+2N;>Ps;BE=G+jkZ+@ZVs6Ir*;w zdihD-)hi~$bIm5F-JSZ!(!1B8`g-`VXOu`&*hu0;d=@)bF@ouJU#v|jF?Vky;7un# zA-iD#hBqm(lraBB1D=T%3tw!EgXI8yT8*PLD$`5{C5x70^2Pm>7G94Sh=ew|ozf z1n_tzAOI;nZHJr72UEca{)8Hggp^GuCh(GsQ zwmwzbycp%AjxQ;2ijW71qWVY{j_H|*0HrjPw95=_e-rL$W406}R6;hNuZN_5yOhi& zq00Og<{SBvUu^ufPkbcF+2@D#x{=K!0IXI`l`#XS@NhKPPst${~+S^Tl)FLm^RL zh+pU4pNk2%J{S>dsYO=_w+-Jk)bY}SaG(go6OH4;<>!(rIN|k-ND>kfGc52vB`NoY zbuFx;eOV3?!cQ=>Zm!0F%Wb{R5ag}w|jH81@I74{SRxA z>mOVD0wK4B00(eq_kEG-ML0wt!gu)l8HLna!eiE@y>-)#94&uWhjl5hAlh^rQ_3C} zJl2M=8Rk+8#Wac{kyylKhCM~rP1!C|fzpHmN3L!5J!^Q-h|9+jiTNE&hTC8*6XQf~ zDW(*k*eGnAWnfS~6%k}bTa@8sIfh_6pI>)Wv?*3{xLRe#;G2D`?L=}(ewn1enOmnR z%*y+EMfD4dT$RN7jMiND4o+BnF*dp)Aa9fV{&P+7lq2YrfMZp#DW$IeSBkRVmz4EC zdgiZa|6vmh{OohthQDcusr)E4c(KhoE}IGJV=nKO?4^o@_yPH-97_zBS)+U{KAXN# zOvnFdN9imQp^}^e7&!D8;pK*DR_J{Fh6>Ij-BEm1(TF%l&k}S$y%|*NqFqyQvzUTL z!e8(_JTRClpgaxwH7d{uT9v1X}sNxxCJ3 zwMp;)4;cDCq(RP^I1Pbn@doG5G&t@u`JK!U@1>wjPxo;bEF-?I-P5(S3^zoqI@JH} zwLNa}a|8)g7Z@Wn)wJ0VR=KMep5jVZYT~$7yGr^H60YVdfh{an*>b|4`s#6n+g`kq zRj+m!Db~_>?^jr&>!c4hWqnulY(o#I*=V3FtbkdS}@GWqW8fHF~s#k>?m!%RA0l>uWl|BiE8*zYk1$q&| zm1Ca2iq`RVtH%7@z_b~r(Z$?u0vsF|RpwGvlby2bD{M;#>oMiJ&|omyhU>dExO;r= z=de;gc4xDRwQEVx0MAPG)H~@$=4Qgt<*jN2xHW_OS%23OUbyT&#Xq z2B8yl8&2+e{_XHQ-$nQOUB&d}#P{Sh)A zr>6H`9i%TT_DbtEXXmZczd(^fMGk^++9-ec_(pG&SgU^K1hR(7qFJdi@HtHX%zLo< z9b)F5siVo%hD@OB5F1VwI-)q85BEONi^%{U+g#b!tgLs$P*h5>PtRh ziKMSKCKh7dd%viu4WwKlPnuXU637DJDz5%bYUQb z`WwI0`oCqftxCljrsBW==sDe#6=kkO<^K@WugEwi6UR>qc&0Q4r z|J`oXWfnVmUkx1i=I_26YsmU~wMf6Agw)5cr_xT>P^W~vFMTK~k0TDQmj@Gd&Br*S zub-daRIYl#Dz`|J#DZhTAsPjS%NmP`olTV<)FKJ|cOqk$w!gJ?bsZlCB(6_4H^Iy7 zyn^}ML`)iqZFKSCJw5+W2XGre^>_fG`R4`}efXTiOKLKW%@dDc)OP8s;EU4w zdVD2yw#rq|B?Xt{z*15&5|IX&GJ>~S&^!H5~Y5N7jeD7x$GF?uvlb67qK+NqC z?ec{9>GyAFv#>!#tTQ;cP<+B0>UNB5nO!E_HVTJN08k4MM42lM5WyY8bl<}NsJvaJxoAid9AJmc5>>=u9)3r8&uhOhL(j2=xIe_?Y4orwAOVg+Nx zeOkcUQLI03Z$k$*qRrMzyZ2ZNTv4rbT%>z~eSFqkFG7 z^HxZLqER$c8c4-=k3*9oInzp;c)QhHE4QOoKu|L?A#p(iepBpfS@7x7M{R}}>;}}K z_KBSTmVE^e%l;Aunsa0pibT=AekvEIXY6=8MpQB4zIKJq#9YB8>DH7ScBQ~;0Vfh{ zHP8GZVjq7+$K2WOF65wG2s87aC`Y~&6kBR!Z+e{Cj1748ohRQe?iZNEKrJmkA>Qs= z+Kg-E7@DnxOpB&f9in_YEWPE(c;wr5*GWOtB0mkhntIteOX0H~5)MJ;S_-G|gY zIQ@@;kt`O36Z%NT%af1Zd`$aV^C{_s z4jrahdf_tnQ_`;ypSg_;onGs0^$RAQS-s>G@qL1Gaepc)tRp`-=y4;BW~RyM+`-x9 z%>QS#CuI>k@y~d72OK)Ojvr;d?a)k4t1DS~AkfuYBV3oZlFLY)3WJ`k5q&aXjnK-l zPAZh?k|3Vk34+|`AhZ|w9TRA=yUm5dmC+%6Iy&9QlJ^boFQp;`O%Sb5V;D`kl!K`? zX}BE8Hv}!lHX#2 z_<3b8qX@!KaF}wZOrWj{R}G4Q)6cvWidzz+ZKtE|f0g~sr_rn2rWfA2Iz9>bhf!)t zaD&65DS54+Q%XtyD7LaHV&q!CPV~}4pHyold7!-YmHBo?gO*`9M8xVGV`7cQIs`W#NJX}zz0WHn?+>|QNWsr=fLgzAq)x0)#CT8MJP@~G%@zfUi2*c9{l#DD z@PN<0Ts+xn_Zn$3gQN-zC7h1gt(%#MBly ztK!>snjL9+79lPLGbb!DQ78X@&NVd$`?`4?7KoDfCa;8YD%!%4m>5QxZ(?bOK36^S zrksmf1c+j*k~jlVF|p}1k-&Rx-fL`O-p5KwvmUPipjieafTn#vhw^nv zN8#{6${OdTfyDV{Q#o-OWhyU5n2mq*S7p9kUt8TI5}m;{6!}xbb0WU*6#IQL5mifl z`ChlCeYyoo!wIBz7jef5Vgw)tztbH!*5{Ex8jNpS-F||C&`2SZeZO^oe$qu|5uy_J z{*J8M!MyfBb~QPOG=@f!yCa>(&tLCa`Eay7VxrO&jw~7n0O7u*ab=Mv;hhcF1^`7U zg{bI>dG&BW%wb`qH70M;FyZU8a^j$xxWvAbdq*JUvL-L5pn(u?69+tShGF;0Oe|SN zg+ThYJv?sK#(m5F-D>?;QZl*TI22lsaR8!p(AFzZ1y;C2uFt2LgFi`0@m_~#hedi< zu1CQmJIQS}5_%UR)}}pg-|xnJ%H=&d zOVznph$m85_0`j11>_@qOQyCu?t(ML<6@CWI1-$JHUKk39Q-g~8k!VE>?CLGd@d_T zV8{d>wRrL5b9iU3wpdE|as!zwDF^lmihj&sJ4_&~zWboW$Km@lN)z;V6%>tXXR&g^ z0MQd+{5GGI_GGT8nxtWKkrz^EL6AJfXHbuuTxec$L&g1GX%3t9PPI)y{~zcX!#5Z; z!V`o`+^{F4WE>MkO1?LnSC`sh`+lKp8Tb5C`Dp80&G7+KE?4HNJD!VtL@D{IFWOaV%zffjdd-<{J00ty; z&x^Eh9ohHGsVO5%iaqskCyI&9nMt|x%d9sM>!Iy4nPGekU(6+qM6-N5J5BAVmln37 zI7p~bSRRFu97gfOc6_A_QmVL-N6PKh{c>Bs%A!GJha9rsawSL!Ho8kq_S&G4-!a0} z8aa~=?6-q#S9*~G0W^Y&$Ta4yNz)ap(qGhpv;d}P0?qC4;Lt|{`}i0b)9G}r<#`L) z;gs?9)n89P$7QW@bahU z2v3#IGKea1&anMs9ovN?j&V9xh;`uZ^9e9ci`xO!Yhj*pQJI0mt?9gT1Knod$W7-1 zhKO@DHVFwLSHc@!!d?{$2p^2`lLy}gA7W4Bk2@F6q`DVV7%)n$#ZrE9mY3;{GBsxD zv3djiy0rDyvGGw6T%CuF6w72Sk6bjd&Ajt-dR?4ik7nW{|T-0YWc6c zcMd@Vwvk>SQgd^)-+Zcl8^KS*TAt`bu&4I%ZA|2^WG8x8Zz_#}7Sm0-T0J>kA%-X7jrn3F=nfs5l$r3NQETs6vPv5gg_oi z33$PpZ!L84VOkngZ=oM`1kQa_cg}RGP$dF?auG#`JqrVosrIpgkqh5bJVZazD7~sg zBPY*|@B~s3Z_2jADA6*|-G1@s35mr1_GuYm69C8IQvN$0{))y6L!X?`B>e{o0L~y}z`*On+j?6a@A4sDU%Z!br=ISNS zI_hkh9T`4|5XcA?QdlXL5i6#GTZmv~_jM!;Y#(d{FmKQ~?J&**xr4UmGV&@|rox1K zUDi?BwT+c{pJ$qd)hF^C{7O~trYzfT>-rD)^FQcadEkfRV_1j?%3BnX$n%NYH1GSN zv9wT4HhW(5z-L1mKg5-Rqr19$XvxtK^={{^DgEDq&Y2gs39K0F?pj*qOkpjVcwL;? zQWi?sYY{hJ+(`rkwc%($jky!tp-QeY;MgM7G|3ee66gvZ8c873O*DTBc%&zUC9+_i z#tj60(rhrBZm`vZMygOptk=AdfX0EFJ`jj^;dR$RAT#SY%y!6mg6I6}&_c5pWGfTQ zZXxfxbL%->Sl0AG*Q?Xre-%8%fe?+Hx7Ib7zdALQDDR3_M7CsgJL~lFsQ3ucs5iQD z#7&#DWL1&C->Ti)J=_}bljc5)k-R-|KHH2?wAiT>o=c~J0uSzy<(HAVNdHXVcEDG(?C+pQon| zvsU6Z0p>P6v)!ADpVYaYnsRcr1*)fMl{-mEv+?lwioDb0UP%~hb=Lk(*})aB=1ac% zOb;#2Q4akib0(cbntan{wAH^+pppNX7uw5-`=nu*p^j$n*(YuBLA8K&U60KW_svjr znuM&(bhw75tlGOAwI$vNxl=0}XW(>oJYJekHjvr!1Dlt4;V5Gq$S|J<_e3igr;Xs^ zET^i!n);EpNIHOI5d%F>+0tJ99S9SE*Pk!&-s00oh_$HKb+TNUR%)$!2rfab+{iH7 zdmOo6AR&pL;)!w=tTCk~y1Ir0jJCEV@$d#2bL7ZuiYQu<_BleMcsd9aSiI1;Pyh;_ z$m09h39%@iZh)Jui)z(9z1XWuVU=xn3o?H-_u(}8aoTG_GYIiKQe=5{>lARoLZ~fA8xZbhT)jcJ`)p9 z-76e`HyIq=L?@ihBmOD%p;Z1JhOTvPwYS6oZjG={DwiMckS-j*4d!PborOx;M+gQp zBH#D?3;>9G>)?sQSQ@rm7Tspva&mV`muTD3YX5v4M>O3g1rH3yfMK;%U?6eVKsQeo zar9z~CWd|TpcjCqza=V(KgAIlVrAxru;FL_?*j9k?VkZB<+bW@5#i1Hxw8=a4#ssK z-&6;c;{iBapr*cNa78|YUqOF*W#IBQn^(5D9w1Y|&z#T8LFbw9GyOBQ&sdK3LavNj*c-dt?Fu3QQDw5_da`p)>P!JFTz#d%4+m3 zi(lxF1#WlhC7NBfjLj{?`jRJU3X1w*5tNTQ!|wCqaz02`@pUoSK9^M3(R!5Y8(dIr zrgsh8L59yZ$kfRxuU3rVC<}CTwQ;8M04dvujGUPU>##T7vtpi>W~r_(GISOB3dk{%eFsXgDu|krClZ z(QCETD=2*vjY%9`>xtkzn zmnfp=Nd+a&&*F2ysO{*b{ehQ&em599Sg4#5DiSZ-rG_vKk$;SjpDk-G^tatJfz#dh z1Uu`tE-g7#A78Iu639=OWpMqn(yiY`G4K6;ZYapwNWlo7+}g}|mvZ+%n7*%5=s-2t zKH*|}C-npy8$SZ4i%%+AY$aPlenWWF7_%H4C`|bB$Ydp_tniAFauVVN_b{*S#chqJ z0fSVEnfnY??Hx0O_h54Nw3E*e;{U`rMZc=|sO^^cV(ubT6z%)2%c%EkkLp{kVWIfO+Btd>dj{(4CrLrvMH>ZV!mlX1g0m76^J8}1 z+4Om}Ph&N#-9_y$dg#S~qIqen7OF47*f2EqdtJEv=$ukgwA%n_i_`_9bvgyGDE_Xcr9>Y$NA;Dq`=gQ;tJ~`OA>6p$z#^S_8Q9 z?j7oFk8xIlCCmH}+_Ed@5sXWcbENuGrT49x@wP0~b@*u7Em(YM7UA)w1QLQo2rGyR z4(lvAwue~oPpBk#6c%PG3Q$k^eRXzdjXJ2D@+eC6*XwMK@lb~@P3CZw^;t2o+uEB! zHCU(XMXux6|2ozJhu3Mkg}r8#bNA#8-;{RdH8Rf>5cxpC!#X+#7wth?hZoKo2@Sar6><^_Q z)r4ydF_Utp^7zQdMOY1x<#w4m*U<17$1`&Bu-aNH-eB?QKnurSbE1qRtPRI^?`S=vq)R#%?^CFG?T7;HvZPYZ*LL zN{}SrafKAMX}LsYZ0^JRypfJ}yq2fte>b-Qc|dp+Wm*&M92oKj!^!to3H=eqxPd*! zhv9GBz74w+sdXg=OD}ini>$#fZum7ElW(^o$_3}XM>Cx@i@51NVLjkA`xwXjIp4*h zN69z@pLIYimtGsHmqCLsl=kUJ-t9G38S=F%daLX=wFnw5@rv5m>OJS{i`X%>ZTkEr zm*o3CU;4gae)_YiVi{ds$P8JpXACdjl-NFjB4PTRR*?mxd$_hVmn<>HqZMp}C#8RRLTg`}P_{26td^N09}F{r%I6)g zURU^W+|Fr>f>`*D(ADoYXX$Fas-)m!U^=B5fg;X}O|yapJf5Z476vh{Ly8?ef}fNZ zZ}G$(Vmlz`63hlQG2~upI?i$YrxgWm@0D${KeI)Qq@>;~tXiZe9{f^E=$&rZgI)fQJOL0F?dEZ!%h`# z?#uDvY0uVvgj3SMnNecF5;ghr77Z!#DLUOU3tRkWrU8RutdltHRa(varDh0I0b%4* zT|x2f?qVl_)!DFV(!In5)ll1}55c3|XLPltb`9a5E#zmrFQRdL3}P^wKe{IW)9?@9 zZ*bH&9ndW~8n#n_1>n(h9RMIK4pfB((SyYbaWh%B264?>_tSo%G<>5JUs8o5JqZf3X0PCZTqz|1aYl(V{mb;gIZUax^A{Z-Yjd z57Hk)VrKLo<`S2HN(e{@Ktn;y=Vvr2aA9evGbuJ8@Ini9lda=!1>h(g<{O=UbzRfS zqXMfk?k$V(jDyGt?wTGe?6=FwRHd z)id-=MUE(->$s(1rqGXB&5R74n-WGT?r*}$VAjop^5N>6{Ma@$+Q>1!AV#Fnre&^3 zsa0jpiL`LGp?~=B)=R;=Ub{{xE*y@r>(2!4euA(A@tDD{VtRYs39!NlOTGtGi}A<$ zLM+SS&;=9wn*C1nLQbSJtr+ZrMXhC2UQJ(i1SzGq>v?=m=tmH9zJL4e1JYluSQ5|Q zWsQ?qK0G&#*#Lxg9>EVb_T)WG^742ca9q5+Q#xkcWox`d*%nf+wy5bj2_i}@QB4d0 z$Pnw=o;H+dE5iHU_pSLxI1uXD@Om~Ku>O0VHi*G6uk{snM}XoeL=`q&p#CPx-<7jVJVByV zkIUw(fa|XC`)iiva?o5_w;V~%>Ts)V(FJ@G%_Vn+oqXmLT0XyvYO4trJBgb7@esZh09kchE9^wJyvc{rj@}=p(DA6P0gqF9a!=g33!?j%`2S%Wj#ai+1^v3Ii#u zzT|l_cZe8On(0OtSeBL+W~arRtPu<3>q3<{muRFR#YKxN&Iarm0Emoupczy~K+s|K z{NL#>IKJO+Bv?^-M-btu7P0Xmca{B(e1Eiq<;HVru^~N_G332?CE9=Nz{6!f6+L^s zxvDB5#eW+6O#%%aQZ1P=5L?7qYsj5PAWEi&H;|;+U93=pa0NcORcE=G!?4-)dSZ!R zAai-VC9BG)sbt(ud}w90Z_Ki1yP}qKmujmORZK3@TD0b+SbGVqa9#(-P$dW#AX^}tKNO)9}_ zCU!hDX9Ab|dm64{#-H6f3T&x$y7`9|-A2?S+~zNzsJgjY^jjRIEz1O~R-BeuE1HLx zt!k=NhhhdXs`#1)k#NG}r@2WMs*2jzs%^_I@2I%D0FQza4a`X5P%R)bywUS&ojvHX z-dz#T4{~|2<)Ik7dt2uR#+3R9qEF5WX#yiFy#L4&rmS3Z1gmF{3Y|&5cr3w)b^F18 zX_&!^#N8nDab3&vNg4t2f4ffZsQ=96?xiR+Kv8j!O9i(s_L&^GL=7B!PJgzB**mgm{+o)7rEo~z!^>j(j$5&B z$yyQFWvOrw`KXh=kIvE3bc;<32jks)@#SUBK?5od<>~&=JM27nJ-gblIAJ>x>^)U2 z`Vg|+oMdT`Mk~?LTho48y$<^J(CC6#BotugSXK8fW-!YR z2Rvw7p?s@;h3ER;Uj`5z2OskamI`(!^K?D7nXM9Rh!GGEIHB4Qzo3C52Kv45?|qoc zdXob;YFwa*XV#9Q%wF)s~|wI~Y= z`4l{?r_nw9`UW+XyRM>Kzq3z>G_j)l?f+`;%m1NzUThF5Ub0oPIoA=f=ULV5 z0wP&}EcnG;Ql7=uhi3YEqK|*^+%H;^asL}HW_`em#`!m|j4Z_HZRhi4-Y>bMj}X_n z#9sM)YI-#sW0PH#%cjr_zG^BWJ!*B~bvD+aO6Tt6jfIG}&=x6Py&|^d8Ku8|8zg$_ zQ}D(>&j)_RQXpLOW@aB9NhO+hCrgibS_tC3-$*e}#bu9oKmGgr6fBKd01urR@G
E*9~wWRGB|r7!>l|-5}@dZD}j#=j6l+U3uBGH2VD$ z&tr|ZIXT+D^2|jAwW3w#wGt)FKE^gORL5ZUM-1>pp0DZ87Dz`2nUMHi-K{tX>* z>mY8Azb(j>?NfH&;c)13calV!vU|zfmk9~Ysfw-+g-GuW2LJ?pn0S|Xr_1H5H`kXf zWO6QYqu<75?o(;Y`|BTy*B*yGy~Y0^<>rkWEk*ZQ9UgmcE+$ly7aU!N-TIm{HL(-L z-OLu0m(Okx$cyfO(!CesRy&Y{N#E%tW%s-VtgG0WGqEL)hRUfFld(@zGd{h4U)0qs zvijO#Rc(PiK8fRcka9veW318k?9N{Z>*0QI?h3!7TpX#qo$gQZ+}>(L-XU#tsH{esdCk0Y>DHBR*7sY9 zFYhS0CZvw%;V{b9OTbE2^?N1C%3g}$6aSGSpMNu;V1b{qM7O;+g_J~JzV)SR@j-ZG z7{G`SXd_=idHI`pU&o$>WqDk!mXwevnOpyo@2h*OltPfZn{?sf%Zim2QI}Tn(w?-| zfcB>lIs^cC~-4&K$}<+uFS-trHSdonc{?-Qyj>04ra=WW)dQ4q>{zJJ1MyD}+> zgSX?7*4XY4fpWve#bqK=rajitckXtO$4G_ZtiS6txHh>u&4zQ-akBTOMep(C-O%0b z?hHyXE~{#Dp~*aer|Uug2Shl1YlR32d5K;-SWIf#BR!~Fk$yU3Udr#~c3ojFWEFGT*3MOG@pHiqjk+KB; zc`1rZ$YO8oRLo4?xRRO2Xy`AF!YX`FqIU0CJ@y{4Cb02IWW!^0ov4hAk!^eG+0^bg z$Ea&-J;*!jU0)vF++8 z{AXb~!h*AkkK)Zdrl5y|#rK~wRjnlC_bAs_?~_R@X(XSi0?;4rDNUN^-uKsMdxg6o zyx@{(Ugefn$!alEQ&W=MORszl1q`qP@s^T){=1K==Ij+>5-m70kamnsUq!&@Eg1-h zhTr}!p*4(&dwxob&$A98ELLD*zxrrtvuaayd!w{k+~We~L_yB}X7#=}|8|qsM5h*i zg50A)ljKt*x9Oz~uJmv=U{1jzeMHIm{^Tosep^<%8~*eCg-<($^-}FK!$Oymq--W` zR_`Q;Ki~`pl%&s9z*P)oLY*}yg8O{B+Yr0R{p}c^Ntui|`4Nxruni#g{of{MKjfF# zx03uezm*POEr5G=+1wYi(g zCzUu182YWI5PCFaOcXvVhzu@w_*1$koe931&A^2{WP_i`1eupVDfE6?CiFx5i!y*z*Gqn;Jsfz9Ze)Y6(Pmli^rZcE1E0)|fcf8L-IE=D--&8}xQGd3 zRjS4TJTrb6)%Gd1O~r47GGr}9hkarY;h}AMHx|@T=4`&ZK4*6}vam00u0;)Uew371 zr6~J^P)4PAZ=ZWqeNH9`L9X%ksfW!4P!gdY^@)QPx!`Y!p|&^yB=hkmlSq>Xjdke%&w|Tu>pE9X}>Y zgBI+{dEThkR)`c_JtUmO|`Na{*K+ANVxHy>R>* zb*(1?)h`mPIW6h8%!pNU5+~NW1>M_Hh0?>C#WIh5CVm*@La;_am^h{DCTrC?l;*@d zXLGYhoa66!{z-UQd&$cXlSC9BGlR;QF)q?B0{gQT=`t^gy`NLISWIN`oz@U$_zv%# zOLc887HBBUMv`;Q^JluVhqSg{ zd8&n+!@IVcS*qft3| znkPfSRGrYPB%c(0^vp`DWT|73DNj)ono0mdWGS6W_tsO}!n4RJ(PCHcLZ7|iBhh4r z&Na%9TM1l-Qo}L|CN5xaR^=j}Q&}yy{l+-)NYFAaq8k)gGP!ZO%L}RojId5HFZ!yw zdXV@p#e63u9M!J2JMYzzILC|T+yuE!4pExpMTUGYo(x~zo)AIaAB(?ihp|T2#Lo2hMrD6E}OTnMRCY?@8NTBwrrT&&>P&V{D z2~-j50d-lH&ILp^dQgbtA5*HhMb_hlwy|C!_kCE8@f(I24Y4yU>+W^wXpOTb4*Y6t zz+O=^*f+GUH66h){?|!SR8X^ONf7MPeHgY7bowc>5!gU<5^=`lYdC%^@ri5*m#d)C zQZWBsjSJaEcPYvoPR9b?|_*5#@F;3-Bwnvpjk8YwJQbQ)V9439lyKkbL9B%QgSE6Wh5eXBR_xPQ#j)ScRR zbPpYrmquG`HEfay!WHg+p3V5LeJ&b(uxcnri6;zlP}j<#xlHZ~vYMzA_6w=ks-Lov zo*dt4h`T!d#_Zuos*87H2ftJL9eo9F1QfsmvYwQz)A z3_;+m@DXL>pHKzR`q3fROr}Nz3St#_3~PDrg7XPjHW*?!roN7YFd=S*ydrzh0$VW) zd7!8ljQY$5d_DrW4I(Yx9cq{WbiG;YPNSo>&uRp~&zqz+!cKYYEjNl^t{vMQW`(c6 z+G9x!V(;3uo(kDQg}_l<<^0wpRmvj9B-ZaK?(ze)h>rg_MWCf_{casY>{2K-NnVx? z@Veq>``cef9EJls7g*oJcyG~)J_SWV;b^ppN72uF890BH?TPps)F0lQ{1|(uH|dNH zCLq?f9)x`%YUsn^v)hr$ea!bG6@5ZXQa7*rZ>tQlBLf7Mf%`<;y*?@-jMYRiq3M@c zVkOvMK{&n(j|SIxQ+`cR-`5T(P!PIY3y+F0mV~Y1?n1>8_e5V*Xre19J9BdRu|d7p zlpsQZIzY<}Tb0|?Zz;7HZuxc|?u(}LBRVt`i5Ko-jJJSo>n zJ_HkFxfNXX!YNv-Rel4+qZbex)=>H7(NIabqCf~n+o_Vv8wq$hNvZcNZ?X+NVOv#% z3U^g&j|)E6yc@imVW$8|I020{q3-(06J1wtR4@{?uejlR*irA{53zqiWrf$7J%K%A zm^{mkGqciTR+R~&3vqm?At(p??en&MEJKquA*r@Dq5kBIsgGdvo4udU^De@D07Utv zqep)05|7Mkw?6VwM_ah(sLbdqN6L0qTBxwAbzqpzE60)Cy%y z#vbpy)K4P}Ogf_ONid$;M&&r35bQ`(O^dw+%l9zKQL4A*Bhb!Rr5?-G3K!jPxp2`Q z;h;WBJ&DymO`f~PqVtg|m*f+38g*tH>zT2=^hu3!O2HWki9mtl%j;8@?m_M&xY%i$ zI#(V=QqkYHZ=)Yq2x4JVtrE=Zi(8~yEYr|}K=z{VT)+i6-`V?g+#seg^Pj@wW8PndKLS~W=L)SKGOv$E`WJ9VQ~?wcCRWJ1k3IKFIeB+;@4*GsrQA0+O zTZxNWeUNiEQv7?X{GR-8Ck^ui#Mj#J7t$(cc}``WxU;I9sfE^rIKNPd7hX|%_6mNCEA+uF49x~_d9@(rd`q}D73mmuFIJjXYmp7XDHb`$Enw)f zPu^slTsU7#W`A!Lx@kkJ?K|b2LuJ(&WqJC+_Zlo-HFPUL8SA%*EYa9|z7a}gdV`rV3i3O#o-)y|>J1`)^; z?2UPLANSgsg z@A)Q6pW>cLbYGHdu;AwY=wiL#Fw6P^|HX^AxM^$OV}%{dvo=m&xB2cfuRA+acO{9E zGMxWXcKA{{L#z?g_BSCECDCkl6|^TgHQuPENDokV#r%|x!9#|y9~8hCJO0}592im+ zC87!LxN4KB(HPh&uNr!AY^Y>jM)D!ecYk$oES1+eaO}8(FQJFN2kJyUCLjFoIJL-6 z6ToAa>&pA|jvxK!3|&!oeYD~xhKePh4Z?*jL|tq*$NO^~XKD1LK}N-Lbs^!JgSdzZ zf33S&6!W@=ZqrhZy>SZ7?M>Npe|3{R`Gd1yF2@$5dea}ob>G7JteVCl#TBB{whsgg zk)?GhL}{8}(bsD@&&;ORaw6OG+iPiuyL|%p8U7JFzP!GAxA$?}$CGjGoCx_Gu;=4< zP0YUgCR!CdvA30VUqoIea}9*Ed1OGQyWRx@oV!fxdhVQWP=kK=VW7@x9f&Y@x*)U{ zLyG%mEA9_Esg9=oXy*2PA(HN43c#Hw3vsLoJL{t~BP=veNh2SaPxS0YLO*Ws^A zu{u$^L=u^YBcFU+*g0b)sMN4#!wY;C)VoAFxUL*4J^(f46$yyHScex%&q`Sa&b^MyV$n<0Ta3XRL-jq)D0m{WEA zqcmV;dwab?x?D$SLn>u8W52>i0uZxaU?s|P@QPJ8`BAC=3L>t8%ii^S#!AtEA~f@0 zr|fXWR8R@LL?3JWBl-UItjUt|`ntMbDt{zjxB~FzGo>S5bM*MclZ9EjDJ^zttDL44 z9))dyuruOG1`u;xier`O9iL^*GGY+pteVmF>q4S8KE_@QKF-^_9eYRf+$~=K$hkhy z4p7;de!CJELvBkTm!@R`@f{QYn-aq%yX`Xcpro7F|Cm z07Gpe`R{uV6j%lSSSI3wpQ^DR?*DLVYnaS2&g5Tj1 zL@6{@dT&;Z8^-IExXs;|8T|6$w2;sMX`Ay`nv&c5Z+fkXl8F-&cbl7=rNT~3ni?2b zRlvkd;0r^grNy#!9GwzhfvGywUu)U>{(4Er*qF6Vd`ik~5$ypBU(j6ua6HX$BKOAt z53T|b&%KdDkC!FN0g5d0BYP=MrMiaHpFT#So4JYS$JcUn%R`|d$FQD=6ApcaHd>rY zPjY+!<*a0L`HGoyJ^MzaKcGhHeRf=StR_Fb4cR0S2qm7YKjd}MsoslalLKFYNIF2V z$lx+K41ng(`qOicGulLVcr$6DAlG@gm+=)5H@V;?ZOQLA`;vLO!3T57S(<)88*lH_e~fW8Q*Ee@NFb3 zR_)AwXy6VzQ6U*GtXrfGLhf|NTs0Pe^hbBZrZ=oJA^m5KGM)o^5^hlixg4Qyl6;+G zAGpJFndbol`!JBI{`Pm&!~vWY4)9S3+yNxy<=sQ)_L|*bpx^^OgR!>!%8b>ARiHJ; z#>XE8Qoa$$dR41wB#sNPN;LEzp{XQIQ}hmfSLw#WkR781tVB%vKv}&t5#&hV6icn% ztR%gf3JhJvKn2^3qZKUSs385|4l_VHfa!qQb0ogaOAl0dx&q~gdQS*kvU;ybyx_Z3 zEssZjc{yNw0?uN9V=y%hDF`|;O{e#=;k{x9Pm0_%)c z+Oi?`Od#6>iI3t`+s~h8@sSF@8Dv@iP~)8}%}MJJ@N>ZJ9#lvAPp`KC0d|el&^WpZ zu+Q!2jG)j3KtdG<1kIO@KI7buf;v0QSX)@SaiY=_pM{4OpB;ywLf}{MI~cD$A|0}z zeqp-vt$6QQ%rV5N3g)vGxXbl7J}ALhv>g~=u3$B29qm|H6JxIBz`%f8c8xVROY<90 z2~AwyHvZ{~_c(Ti_@f>rImKepG#a-~KP?&o@#I1i}CwE#;wkxyq!8Z}LF!i+^= zV`8@~ycfQ>U(-k}IByG0eg1rb#Y>+{(iqoiPfYh-eFplKLXx`oERb@b|YfS|b2QxqSG41CejA(y=e#NmH5^LeZ*d`9p88E~H z>SlFqFez{guc1C@YP0*H0!g7EiyZ?HiJ#>Edts1ATi^L9mIy>-!L%@MxHe6t{F27U zJC)__uk{AokFls&jxfORg}rgw=3}>A(Tt3J)j*bhnN?r2dr|4y5{&08DCp*~LKMUG z^A+-^QH$ks65EUJ)w|K>ObQc~Zv+rS?fdf5G<_*+*~nhsNLLMyLaLZgL2hEMUVv#1 zpbuK}afBE`u54*QKy4{6AL459dnPpCzE^7(j%Pk!dtZZ;qs6w|$NfpuzFt1U z@82atG6l*Zp807VzYk$b=fPdN_Jv{mJmU1)UJ{UBQ=J<)0mGq-`o)3iC&8@et{Z65 zOH$7$VNP7_!Wmedp0b100j94AA5ncSD4{97|xb&J$%x*iW$n zsMHgc#zuVU{5*?Qh{x#A##y7RBu?^Ad}?lyW^xZ8td@D10tE+xv;`vqsQBElRT7!i zXknYtL^CN+4&>Y`st*T>-g%xo-z9IW=S1`|{Tlwv*b1R_8DBdNRfe3xXiwY4Io7NoqA1AAz34KhD5wN( z2*2=CyT9{y0cF4_5rD}?n}a*A4!gB52QHAKw;xxq0PDqP$M%Th*YFHdwVBdl!cb=1 z*m)D2HHu|>f1k2h{lg*JF~k@Sd-tZ9@Vm_QhlV=4`1^ayrm#li?+8__toZTFP{&@D z^^Afo=5!hr5x~gFAm*z=u?}MFSZ9q&PI2e}uZ8+N+?SqOeWz0kxnrQL<-?BVIM53D zHA9vZN9;ypmQ%?BbaSfyVa)GpJXu#F%BlQorE0e(KlvaY7% zf)%ALE>K~72M9r+lU-OL%*l$2Yj^jhm z)E7p_KGj-_z_1$#XNodKxsUfV@qYLBe*oEX{JoofoD<1-hzzq~2LQ}y?uGvRXGMck zR)rv(nhYgEx7W^H8lqr8BF6`&b#xw1=Vmm3`RSj2(d*IVNGMzyfROF4(oEBQpY2wp z2dCz2Qgi~^v!@R$l{f?uG(q#ttO~4*m%!*xsR|M|DgXChh!FiR1K+oQa$lK+QpYCQ z8bbfJ*J4>O<_Epp^^9mXk3KL^IJo^`=*P=e3FUqBp=?sqzh@G_rXY1dgz$NcVSCvb ze%Iw5w;}Pilikjsebs{+MeG$x)xOKlyNBq5NTc`Y0NyRk&Dl-;WmEqo9lbLL139gu z@&D1qe+qBeazJLv-dJD%{GSx~&w$8DU_hkj&rlh)5oh>whGLBZ6>*3XTZE5kWX22uB3rNM1gY-2bQS@c$VqIHsM* Wo~)j}i32JrR63e^=sb1Hp#KAH_MZ>{ literal 0 HcmV?d00001 diff --git a/test/fixtures/app/doc/screenshots/firefox/macos/index-hide_caret-enabled.png b/test/fixtures/app/doc/screenshots/firefox/macos/index-hide_caret-enabled.png new file mode 100644 index 0000000000000000000000000000000000000000..8d47f6348f7215de1628adeb483dc6cf293bef86 GIT binary patch literal 32714 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 BBcuQT literal 0 HcmV?d00001 diff --git a/test/fixtures/app/doc/screenshots/index-blur_active_element-disabled.png b/test/fixtures/app/doc/screenshots/index-blur_active_element-disabled.png deleted file mode 100644 index 091e8c60cd12c75ac10d2adcfaf85f7cd3fddf08..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26011 zcmY(qby%C*(mveXLZP_3OR*qDgBN!wZUKtByO-inf`{T8FYfLHr+5R!A-KES$L>DA z?>#4ftt(e@Ju|cJS?ivA=862IEQ5|hg7WIsD|9(oNwrt6-cY@I^;!q{^~*Q-c=!yj zUYVQ7Ns4KBWgN64CDCiU|1jWRDoHopK1$skN{i=4k^O=r-i0gnxeI|5SJBC@|2M*b z`Nk{E5Om(E)$V7s9vb1VXc1JB37^Pf-fxdB@f8g>Ke?7jpI?ONLq@%H9DipYEjBkg zES0Fk@?b0Tmf7va$S==+`2dSPA^f{?QvR#^AA?@L8~F11uRp5{(~nhu7O%!WQ0e@; z+9tvR{8@c*MMEa|v+ClvFzEJyQc?y!4=hmLAMAN z^L0Kwr5oPkUU;37Qa+q7kYu;4_ace%dmYQviQbgfrw6V-Z9m?%cb;BB10Q2YMV}V# z1RV@+cPugeHkbJxm!I3V5Rcn8QjZtCM_WCY&N@bnZo65Q?@le-@2^Og??VX#4v%7= zZtaT#)-hwBmIhh^uP6IiJ8vg0E1R}c*&mnj*;{PKM^~EeAjhEl zv*VSEd0(S*-`I|Q{}IYNxBXVpyREa~*4T`u%L>Y6=YdSon_uMj%Xdc-mACEf&yST` zftQUGV$jw#P0^Mke9@*O{OiS&Qqi_6{A1y%poo zK%dP6_Pc@7>1Y$^CIY#kS8qFv1q!Y2f{ZACi^HwZAmyOmx{0vVD&k2YNWqOmjK7q+$9rX~8Cfa;ha#{R*Y~pyl*X_N| zg7Mree|s`kegI4H7PPDvCY0O7lZmI3iw8iFg&59+6sEZ))bW<_-q6>8(QAR;Pz?On}1w!3aYL6 zOzrJrFn`(OV6=}J-mr{E6GesW)dqVX(!q-+uy zJ@I!pab82jF)$_$vy5NQkK>`9P5?@q?IvVUU}x{P)PvZJhApLn28$LXM)g65L}BE8 z>k_=ZpSTsc$VN6ecNsSn1@XhoBr#&^C~a+9Hs4B2``elCPHq`Q2dlRMDdXMhlbX%8 z@q9o&s?I(c@#Yk|Bns13L}UZK#sE5<9h?(Qga9WIM}dD)#ruM)R>7UCFn>CwF!HyO z5e5kBrljxuRxo?IF8v2ieIA1f_ZxywUef^(uo1kn8PUAJ@(L1>n=*a2{iwQ97}hiK z^eqrVTYhSGSEe9r9n}qk@#^rF$wU2e@Z!E;nsG}-G+4Sf2oNS6)<;E1Qlea&Vq`B* zx65It;#xN|ab)G7;;G%zZ&K8`sD52Rk((;bw36|o;l0hCSF=>2VI|+m$#>cWDyuXw zIjWct#cDc$?RioZu zlWj72qhLngRjh6%2`o5p`7oPN<{`;8Jaix_HP5S>0oaPNHY6aq+uenjS@yC$IUb=pEJ;_1+5G*D}3`)(I;*2QO-N8aL)`{+iwu% zXv>;Q&1zvUuR~mh12Osaj5Y;i`$0n0k!_d;C|T~`@L4d-u&W9FJv}o>XV|Ad;v{s* zU}s@oI9F(dkPSoQi>Xq{Bt14wb5OpTrNzkNtU$R23Y>HpQFg{SwtdKaSkBKRRhKm? zgl+evw7<1&L=~sj&?s${gz56wPu9F~11`7-8o)RXZ@$Y`Bc~P6tFH1x3Yg3s3J>e& z+fDlEnOrNTchSnbEV(p7PdVGgCP)QZHi^OPr_>5ag{->DB``|W`U&@7Mu?~z0XN(% z4M#Z6aIG|==iIIH&sl#%|M`*bnu^=Lb!AqdJt%fv1jv~T*nx^=bD+RALx7(`MWf&m zT3ERKr+^LaqeZprNvK;ZyQhGDVLqX7;C-L34d32l>C8;U-mmQ1QlDnnb8--GPU`Pv zD-z2Z(`3{WeM-s?8~heNCT147oNA++wZ%z;(g^1B*5lfoxikuZ`B^Z)jT)4X@E2HC z4zPb;tW`O`vmqQ?O-7vzCl32Yh?#JjK^57rAgM!>=aoZ4a&+6a`v>Zv-(@U1gAQR5 z!ehGEv>B*Us|WNb>^l})z*%BsOi!(6DFxqmonmTG7Hsz-;k2RmYcAG7FxRu z@Lne@9dNOaE2(U})%&}I);vH)RXUD>hoh%q>sptWx$ss^PgiGo-pW!je7Cq*OaBUHY}`|nvsFls*amyBAJ}>iScdCu zAfCzcG+GxnxSmT=XNw{AZxYK!Z8w3mNGRX2B+CeGLdEX5 zteVmDW^dJ6YbmSZj3blrKoadsWx2j~okL;}CV3PS#kHf7P#D7E2j|BWKlY~(kKq6M zmo2PjR0m*aWt4$UHPDp$`L|AM1QWo)AJH((CI=OqUhOE#YpwPnl6_sZ8wPp+Hmoi! zJROQ*hs804J}w=eHUXm?WgxA=L1t`3$R-W{NdC7n6D<^JHd;@r1`3ohH`nwa8K8Rc3nT=JUh4o|@2BMG$c z915_;lyUpM{yZlm`GnQiS4l&Y#on8k3B+Y#d*f_)#QP`qop>+Up%X)Xt<6e^5{j1i zD~3i+V9Y>9O`JjVV;)B_P`+0LVrG`fl$a%11&3o)tXqf89bu5odV(;8C9{SK-i4v? z_gC2`zRv^|s*bU5PeCWs;>MX0=$Peg@*$+<#nbB7^%r+tPKpZ#^PWv2ofGyI z?&Udq3l~YBF`^4IsqW>g{-iDxObFCi78PFvVcWS2J{DFAEne_R+km zj=w8gJC1K-**SV$Lvsjku^l3vltM7Vzs(4Cz4 zT|n%4g*c6&SIQttg|5_qtG(sj-P)*SNxZak^V`K{4sn})*Mkim)bRH3OHkYM=0eyujd!C%Nn5`yKl;>Hv~{j4LaSy9k1ovDUaGREVR!w# z&=X<4Ti2_cyy*hbMqp#DVFJ5nD0)(r&769s+uPR<)%y&~b9wqyJI;d%$Bo{5A2mhi zQofC?r0(4$q56XOPk6hUO&{qzX~b(n%H;6+-1KstSi^u1!LC)ZVNnLmS}c$pge+Vj zcmOvFElZ+TKx!3q)1<;xQwNe}#K!{<96E3>od~)3m4zL~h~)7a%lfcQlUu}&I*-^2 z)6>rkPf5ZEyo}(zWs;WkZ+A8LSt5i+InBh@*i(lc$d$Bfgal^0YJ8T(41f8r=oqnDssr?=Gg|D^gmVlNiSUUA&Ab@St$l5>rBU(0JcNmm6HiQlmy?1_ zu>|jYhuVc~#Kk|^_u%GYEwP{(5q9~YCPqdQG? zpgY8*wzPA8s>+s99wkZg(W=x8_hMH1;1b=KnX2WTmWmXB?Ke}0CJ$|)A-VqB>%S^y zzEtcKOXB{4@~UWmi%HI4!hTbG$6gag#UNHfWX>mN5-oY0D%EPBSsy0=r>rR*ogAso z%W|(c(4+_s+`tyOLnSAhx8LphNAneM5`Crc9-4Gup^RaE|+p&iP=ZCbVXf z31RWC51)xwT+Eg<;<#YxrXAy}n}KvesI}_(7N7K<&puq?6XH7t%!DmL$9PIqlO_4H z3VLC!aXl&pE#f5vgY6|O`N7vEk_h4$&%?P-YLFkb^KoO zEf$XsyK_@lOLb%SbgF{YO)K)Pg>!&=xb-`Xta7L~Xy-fRunD}di$MsP(aY>8NoO-G zkkuMNyy&x;WHg(#llk>+@gphfp#m?Y1}7G*sOjQ|Vc9BU_>lkln~%R!U=xYULT(WThJN!&WiF=HE@&5>+?!bW?xK2{vNknugZV#QZuVeQygx z5mhZkZR4Mik5R6eEF@!>kLp2cI%_@lY1;V_sW=itc)JD>{L5$Lbny4QdZH*B;TES0 zU!qNGkh530tw2`S)M=U+iCp6P+lrA~T4yrbRXN>EXw9=qscb=9H1Y2-b z^`2HVRCeBcZ6J#&Gcsyl+ib8P-7ig-g`Sker#5Q0q|xEk%FWXcImeL00gv#^Uv!)9 zMK-q_0_DurGHCI`Dq>Mv*T3c)%Sr=1DeN^hm$==-CedffiZj@@wD>EQJSfXBk-&sC z+(T*`USeu=(i@TT)%<$SW|8;^hO?s%ff0%^7CYjGS!AOc!>^%*E_2-MPF_(QY@G6| zAuNleNZV2LOM$XD=y1Pfw?F={+0EdW6`!8R1^qnr^_ba=@v%Ja_l%?FY z)<*H)lDK7y?noJw9f*vKtx93zX!UALwuirevzZ;#mEBQS>d#3xI^B4+FCXj{Zu$nL zaED?z3tFvUg2qvE>8w$<#XkUoeNV9JOh;ns_fuvX5UHiGi&GyIqqY@L*ip-DkOubC zjFISwKYU|7gY3@5=7*zV`~?ji)_Hg z37T;m>$Ty39C@`J;*L1tEIN=e!Z!HIV(h zXxq6NH#Le64r?-~ zE7}VibR{h;@ny?u@@uTJU*A=lzGsFV}oQiA?TW@g|BoQr^!CxKf)@h2P>q{2phhQV}rbB9? zzBceJJW33Z#!~DpHu5!Asd<2AE_GqwlpE3ckfk8f1FGnh?MFKjVh6R~9QEFhBPHhb zUdXzZHPF2CX%)=5$_|=dh#cfl+;9Q9;1eblIh|8xL?zcLZx9J&zxn^Uam8l?ze&Em zJr`T6YG*F80o3>jjxtq128OuFkFB8y3*B(zI+L}V0zm?{`KeO8c{+R#*q(`LA=eLt zzpB+JOVW1ljX5!idfTnxCz^}K#7K!%d$PG4AM`S_1`{>7iFP1|^9^~#SH*p6Z(?_4 zl;4FJ{*X<#Pq})q;?8EWl!QbEeG59tgdMVs|pdyhQ(?-6(Q54l5coh*eHs`UjOIP$Z$tgfa@%V#=Q^b*xRiz zz7N|heXHqcH#wS6;n?Qjv48II6V$;ZQ+PC2wL8Y*8Tfn_-H}b;E4Et3Q)ejp(L##L z4R7|Qmw3y0*KP3?2aQ#lnG*pXTQS&e;L?A=U1;34p|xRM@}1afi(#W<#`k@)^hE8M z26cqWlj6u<1-Q4v;M1P1$%~^%0Cpj#wg19_Gv_&bc(|wE`9$7zrs0wG#zT$AiOzlz zCLd7AsdAz-43 zAO+;5a4T^+YqDnGNvQ=<+O)Xanf(#cK(`0=}d;LK}`VfoTHwwq0qKexTs!3Z9dj}nPzREuj zQI=E(@LNe--5j(XKhe_^Y7EX*ENJtf5;mc%7xQNrDzEA70SWg`5&gKMd7|O`S~v)! z9P1rHzXP0302mH^^>oF8^k@+l-Nvl_iZQ zNDQMV0T9f9@<`J+idJb3QC{N=F1AE4J7*m(xc?ntOLn!W*a(I{G{)m+*;on|#)l9MnUNoCphzO)-p>6ayL0Jf#g>v;1fG3L@o$iNqF7B*(At6h&o$ao+w0XTe#K<(x zCHcKpA)%<0-%aNx^_-{OT6BKiiER9eKJ zywC<@u?XII2szKZNgzi#=_X^=yRr@a7Y%c`mKH_><*-z%jL@+?NfVR)tOJ(tfik+3 zXbovAc+=C~AKTlz4s! z{W}~>)%YfCYGUpC4Mby~Tn?_u6>evr+!oN7CyIBF`IsA8engYc8wYl!0&|D_66Cho zDI^B1n689|2wyg3QPYI%G;*Jw4Ns!g_HBJiH*%8 z6g>8MPNC#m!s(qD)cG!0?1L+f_T$5C>*l|Q(ay_ZWHGVQS@XUMPp#AjoDC>+VZxBf zL$>*mGNUK8Kust2O;&9>BPh-08ZXLCP0a`oO?ARRC6`fJS&l5+a>I(*`aYbcDEhTF zOHsd#2AlAwjSjjW#=Vx)x@pF6Gq2YShS*K7teM7*0;;(U^>b6hECj(yDrf1oJwIfl zn53C%3WT%^<@C&^7zo+yFAIOjjummvC3UGL><_=uENlGL{b?Im@o6whsHTjrlwtrj z;Uq44fUaToxo81;?lu1BP-^PZ)vlUp`3crL)FrjFm3LO>dF)Z>N3FpMqf?5?QYia{ zR6h2_{6~P}#BT8=WVD7(LI#p~^=3mZ1VCb)`dPO{WAL4Gr8%>MI<)4eRXvAbc@CF%r)acT#pz+-yEFW!8$ww6(l*k}zvsjB(dkhWT}VS-)IH zPPf?_Thb)b@&D7HAI0;IO1D)yAF6{Z2N5dM##BzY**VY598C0@-=A<*5dH>FTU~0U zXG)ja&haWWr_rLEki@yl!d)JMbddmSjUUK9PQ}cYRV@BDifuWPjem6UpGRhV_ZwSk3$Y-mCr(N_i z*Ib14K*q{!9MPAP7J-W#(;e)QLL;0SST{|VMgSdWTe5`SP~4tdO_KoKO#K6^v|XQs!~m)y_%L1x*piH7J?MQqbXW?DE~CDZRjg zu`E!Uo;~CFh(}|Q9=J4J>r3ke)#zCw;Euz)cMHFjV7KYPyKVd5G+BK~6S0pNur8O~ znZM6|S4Vf=C)#`Z2g18$`fl+(9hwC-(DOz9st}EeX8K;}YSSUoxmeOz*G#X#^&=z&!RVkv~&x_yZ&g=*Qo$T2E@k4t}72; z;_=8<;8BMu4miKz<`i0sc&5s8skZ9V zil8;e_Ss*fh&ZyzE3(->4EwiLw)S#?WP(=1(}FE`<_#{KK!nZj9NrU2XLQvlf>xQc z&Z3?A+%pVA0rIQ2-vG4$LTPRZZ!mPhK`$QftqPtr&<78vaPv3D=!8RglYlO1z8YF0 zV2}26PXw}l=Iw3st&$)-&l_UN2<>(K#vMZugnxNaCFRmWho~DmG(>}q2b>>goVN;9 zh_nN_qM{mcYG4M%F!wlwQc$oFP~u=yAlC?+8Dw?N5Q+G831{<>{}cHysOj#Ar7)gH zFJ5&1#Ds(zVku?0ghB17VtdjNuEbD1o=my(m!6tK2pMXlRljB>BMu++1@U-Mt3;t7 z)qM%r4(XN%hl!IW{_aB4Oz@YEeZ_Z5jcAndb2=%iZSjFh2q&$1!FP4y1pEjkp-~yt zh^$HPDW--b8F*+vRKw)~Qf;TnH17f4EHf!&Qz+SQ#%8mQitc{SPVEAAg>9e^=Y}`F zAN7qh4RvnuHJejzEzKVA#rVhcF2u2xuP{rj}SroU#fn^uT6-z}zpS2eFYc+)N9|wyHyCl+~pkiYBTlXAekehy@>z zPzH`c4DjzZGmq?Q6J5zliiRad&mLY~_vSE?b)fjMUoml$Fkp1`S>VGNweaZ4f5^So z{&5XD{_nyYu<<@?dmfC7jXhr72dZ<2PFjLanV7Gu5w`=~cVg``9;bfkm`-aXL2ebL z$IS8R_+mT;s_e!w-Is{>(4?y8(6YywzjmSSFbYA>$;1*aXPg}PMH@M*7Xg*rKc7BH z$oFvopje>?9|@GewFqO|J#(jiIT^TIoPq|BMwoQP_un1-kG7-*jrr{>K6WeVv6;*M zCTw@RhOWnJi+a#gVGuxsX&TJUaxzJe(6G*rkwxm)h9((em}?1Aqd1O&>KKAL{@i@8 zRx?gCO1FC=K54cu9pc7kL&9?Fu6Cw&VPgAkrKdYRQ!2`tgJ##@**(%id6-MZ_i-BY z(?zP2*P1Xb(#(2`aSo+?_8K~HQnV@UrVBNn9?MpZ^*HJ^rS;Q|@!mwWlXHY$K)Z7>2iz#rA z!J4i2qp`Jr(WP_lh#^vYsMjc>c7e98&jZBbK<{tiyLdVgJH0e1*w)73@CN-KoV{|Y zcwx6*V5Tk31Ue@&T4ZD1r35up;gMhDosKsUT!6lV4{=m*JkK_XDeZa8yaE0|&;OLFSubLUyFWX!d?-M{7uLhso#ka`|17U< zTgs*oZ~d;(;z~Sx+bs-(DGIsmRV2Ey=|HoR?Dy}A()o-aDe~Ls3ew=589Vp4Z#1Ws z2Cm^Hxxa1Cnt$F{@uwTRSi9%8a2ncgZD1%hLzLX#5|1d4fVQHFm0Ec7Qp>EHWs4`M zHPE+LO;e&HsL;s9UDrcAC@m{xhL9|w8cpNe@dzbO_Nq7r9-zad{+R3`M*e>WgI;o* z-^8H%OlajiW0KkTl-F_uA{dK)c<*kY5QxOT7R8!4Y*@D!+lP?zM;rep7e;Z^RiNIH~Kn@ zsb*X#!%g&?C~1`Fso64|RdNV{?@-Ct|0ki}dYX?Z#OZ$PFT)wTp8e;@2%orYl7fGwer4Eb4&eIZ5WucrCs@Gx-3nf$NHFz8UdW{6d z8J(FOnS6Zz3Z}e5^5dbnZ}@4Qwscgl)u@cGtzO!*e3IX7QGmbmvN}&+zHv)zB_iPoTad_baur*>d7a&M5%iIZ8L1%#<`umI~L5SUx z^q<&&F+zD!oIt#qrB2+PZcUF?3bSOQSW+e5*Gl<6WSV@9*x7Yhsj8V%?>mUQJ}rR2!sR6soUG+9y0`O3R4^riG+qzkj!-y3zEsD8An9uMm4+ zB;-@mu7;VSl^0}z&eOg!tF`w?Df+wVc~WXae=rsPa514kqb;UZA}pXDg6bb4q4m2O z&J(OtW#S)|P6cNM0sZcrk{m+zQkGQ^}1gTS`k`RS2xu*pQpC@<)!2 zfS910=8*TY1L$$nJK)-1Mw0-xs2h-8o%1rpQO~1Nl#aGDgWk$xP!@@f? zyxu8z1`Evx=I64{w<1|6bh01@k>U{fRckS_!5+*q-N8~I2__?btzr?}#g*YfF zxdHALqL*MfyLt|?({5sGoH#1|>bA00I#EftNwT2+I6I>FfRAf_=g6K#A6Uohrn7{F zX;grB$&cMlo5&C)ytBD)fP&Yo z*)GjQceOVCd4ODKs97czi3(9^N;Uwsw>FU4h1pE2>8Fq!oI^XKAB=`-|CtGem_mT> zj9E-_mI@r3G(L;|FNN;eF5df$ZpVY{Ul%?&`C4I!W-O1BJYzYeG#e@B@U4)tT}|X* z1)pGWPME2T7*HbPZUBCB{mF5l0=4N@iOrv8~77=S~EaZJZb0ThX z7wq z)x3Grf_s6c?e52b?7raH_NCC^D>53_&c$2szVXnzchD+uhMlONtUxocb)NYeR(5!n z+XaR_*puqPT(|`@SE~8B1QVBPUYcra-?bL&-)bXWu5W%31DXA`T{Pf>zmJ{uj?TFO zpV-q4oRIa^ijQyk{O4t_0wO)4-UkpS3 zNyAqeTr>E9r5}n4d`Bed6hpFBML}!4Z?7ht7Si;O=L&JDVuuRpRuajy34mpQrVBw{ zax&GuOPI8}f!-mdNQXe9UHLCsurW&W%vkx#ipaUuhuIW*!R#67VV3mwDn;tl35=r3 z6+K2^!na}0y(lR);%ri@)}lh^ggBNoI!)o9lad@n^OT%<32*=;1C?>6Yi}pfAS|47 z5mKlsCh$eC*V_Sz?Kw7S?~n9$#Ms6E7(GV3k23QyPi4%={?f3;){m3k2|~ID;p1q} zIm!*U@p%nBB1ug^jC$#gd+HKY4l5ime4`o1bc60)-9gN+kp$$p05aCn#fF{8hw+;8 zXyiH=f<%SxT(t5Ca($Wv3B9Gj0hX*#Mdm7*>V`f!jiwO%fKNkpMxaaTp(*kE)%hIm zQD<(C;-)04GdxrRLuT2vDQ!s*dUU_)2hk0nR=oOdoy&jE8bWde-^9S`oE6%CWH4)S z(Tsdr3Mwb{viJliN^ z7CDXB{nJwAC2MFNq@#s+2QqaAuaE#3N`0jdCVVtKKqKav()-XE?zbOIQwkUfWI08t<{M7WDS|5Zfy4LMWRqPf_oGglCpS zWx3oky@H&U4>F>y`HVG#X8;K-*|3uqA(%^S*=2we+)5zuIV@7f(lTO{s{nmEbf{Wf z9v;8{w?AmblT3!IEV*8})HZ(O<0@&94{CrFQ!({;ZF^8Xi1OmCbcRu=0&|s@9;S9d z6#NIi3j<+_!HHAf6^E=%6~kX8blRD{)1h96R8rW31#tT&&NsoCQF0b%tcPIh(H!f-G(a%Vsny)(F9MFla8K79=n7-Co?Y&)nH7K90&jz zgi|-53a>SnO87Dh>J=S1Z1qxo7z8KCHe`fU?9(S;6As>j1bf&RJp$YoDBL32W9l0)8u!VJ?+8L`OCB0VI#* zLR=iDw8>dKR6TE1PB+5j_A*|jubKr?kSIO2)0%RS=GUKfR&mIcSO4%!(%qy^ZE$GQq%dw=HsN~$ zFy7Oh#nP9CBzrqlV${yvXX)tVzi1%)G{-N{EIxhAh~GlYTQ3U^8h$l1Mv;@aWe&;S zov_M12lk5j)ph1~8}#b@37;4fu)V;h&T2v<6J)_F%q}H5gLtTF)ce(nRPWx(z0DoW zmlQ1GwtP=nhBwQrrP&4hSza$ z)PV>eA?w>TEdI_6&)cHLW%6p6>l!$Xdw0I#R$EwP zR5M;me0-Y@^%_DBp|psSDw>kF*v^fyzB?LUmz;9022&lc606oo2jhe@6Z6;g-_?2! zP+-0N-7n1)KiiM~)`{9)>8_}(efx_whs$+2?AFS>%KYi00EFqqYm*iyw z$=3i9FWS5J5vJTLv$dJ*HH9O&K53T2Rcu8G1F4=mc|&{l1W28Svm#pmsCQ1=k^l|Ic?pU0 ziWOy+v@bZ8=BxRSrbpM`q$M#Pfd$L&X!Wr!lDN%?3Fov2IPw^s{3`^BboJ)AezB0* z7Hn3KIvp;5cQ9Y4_8zzOInOt(c?~ znM#pP0_yABJpMvU2gWUbzU^>Oy%orxxN|$ol|ear6;X%fDFug^@P zlAr%hYnW=-Blj(jCZx-aiOy`v@MlDJQ<`;t(gKNc6Hm>}Yge19T7K2uAV!iH>vL5s zNE*(ch9sT~XLTi$?~E{5yx%Bg6hHHCnbTATIM} z(s}+rUdrdoyHxKJ7@#XGq9WuMm!{7=p4pLwT!LuqCbL$!ef(QX8CBLttxo8@vV&Fw zlVU~XEoymp_ZAebl>k8!iz64v{pjHT+co$j&m%sFZN$C(6W3#Xh2<^{X<;6+CodY! zO827^&DU=l3&Up0$}=<4w!|c!o!vYnL}6>X%2-ZYzIYOny}0J6?RZ|3mzznePHs*v zB7PemPulNYVky#uylUz zHEY=AtAWNOJR`Qv-)6T|!Rc#N&ZATLj$C3mryN*6$~(%Nd`wiHAPS+ejati&(o{cZ%B+*|Di@nOkH4T_@ib>7ji z%slHwc-V{1%n*5W>PHoM^{rKK04_C+5GkP}hL;9uZ4=M|xhs$HDUMtTubc}(Yj~h) z=(zUP1_K_Tfo^hiD2J25Yz_H{3mW(PKLGpU+S~GV(?{eC6G=EOf3-z@P>v>TEX~5W zx`schNi9ZPV3oAdUE%dv(@m$ol-ksNe%5H@q5>fb$s zv9fL^!|&|4I1WA~((6Hpf{M;j1l5x(7X&zym)Cs}7fyZs@hi#bXu!rjj8QBAEJYB0 zbl+pTvl>AV)KGQtibJxeu5N1YQe%7oRx`0`Fe{-Q)P`c6Yb^i{W=G;H?VrWFJ9VJO zbNRQLU#xx^>pgYyTZutL5R_ef9`|VKgJqh1Pm$tft)AnKAHkB1^#awB^JDdK?0lK* za@m6hj8DW3{2jB7D7V3gxvwm_7Qh!znuhLqTjwr`su%UO&$f-uo1fBwL%6~VUh+t#GeU5ev5|UqL#zIY7 z>5%ZH$=Z1Fw;}CcNWdFyM%%bJ)1 z@w8}~sTyaUK^MR2cihtw>=T~e5cz03tlT_o36=>~IsxkOY3}{E4<8fS#lgfZ5v0t+ znzb-e&u?H$1u0_->(f0-(T9v+h96H|vT|x{rB!4{I7+>1EN5tVW23o~3}{D}-$uAs zzmQC|HpOE&AjZ_ai=mEal^jSuMTQ`5hTHpo0j+wN_twp;>(nstjOh= zzuuOK2d~dpSP|>fZO?iV8hYwpLP{+?2+W2q{a_za@ZJFmBFX@qVtBd^tKLm)KL|rc z|6+3u?Tx1DY3p$$OD;gkqz&U&8uWD==cEiCsTn^#~8!6?WBo|2X~X`BL%QG4SZ?wH@yO=&f*8xZdCP5 z3R#AA#D-}UaCGSOWep!V4)!Z7e1#+mB`wlg)TN z-pqD<`xLKkm^ZenJ})f@$CSMXb6_5^v+_yXg|7n%_&;GGWNl+=EMfYQh0?ss z*a_W4!Hilbf|$ld8AGGgSJ(T;sihKRyMPc0im-GwE;AQwXHW9QP7V>|it1#^2F4SX ze=jQXeH4NOQiz34*rqNoeU!W&GvPGOu|S2D4lz_7^TMuGFukB6VeX;O#oX84#d9$3k>X@i+zjjNjmJT;EWj;|`?I;%a@y`nhpILrkji=2?QZ-?6q0 z*7!Rak1~Rx+Oqj3L-ID3nM?}u1C+GYFQZd03M2;6zpuakQz@ecAxPof+UYHGbG6tm zXfUxye;snRz~dMDQOWxV(~=_vwFqDLSf9??{v`eNlzeV$8cV_ae6dy@t^yL-G03oF zpEu0>-oIkzFWNJ7%m&+?1?3ugb}VTKs`e`7JJ>Zea?ckQ63gbqVO}Enw9oMXSfbF8 ztrKxmD$bmXEX%~vpb@XLNAek@M_@G|rUG+0Nlv2ejzqa-{Kypiu+yJZG5%;O-u;m$ z&IE)4oLRu$`qgR!u>`?CJFp#BltzQ+5lnakTp#|xs{PV$4M~3!R&8(_u+wK=>huj|94A4xCn^*` z^7|&D&KA}C*1>qBaMDC%z!?zidRm;%Lw)OoA(VBLp8(edW}`V84?REiA71-C6+W(b zpF&r>y5D$;JPR$m{_%&+=|#?`^jm9b74f|+dLG!qe4M)xT+zE(=PO!%D!e#ut9ZEL z(|lTE=MA_Ew0m9*_YBzcuRZos*n~A6+#MQKwm&MRdOmv`U11)#?Q?1SU*e`b9tw^e z`{+N7R%ZDevTC>Qw5+rqqOWwE3&;9hE@7@*-BCUqjT(91D|DPa&H6vLSGL@fvp>T3 z4X+k4ANvmYo;xl5wy!LgFH=i9uSBo?E@pNYo&yFNMelzeuQ-olcDh0RjoMGU1+$;K zX0ttywX^Q?*q5BH$!Gn}v$IcA7aATf1)~CQ(hC~fJgz(q8*kqPa-N0;&bwcCf?UT5 zD_if+X9Mo9ECY^R$EAI9OK;XvDxObMvd^b0g|F8F{kxxzJ2nP|*@f?dQ^+5V6jpAc ztbLBwQL|f5e=)Fy4?IW5hK>st-A{z)PP`Za{U?@P(`&_r$n174n9mZ=)q;MeH_;Tx zC)vGx8W*?+A`kIK7a#xm+3L{484AP$uD|1b5gOQeI*Qr7{@gb(IQsl05X{hd8~s%D z=cOf;Em0<&$AIUZ$-He3Mim+~XuI!qOT|6j{rAG#LE6}dgDb|UtHXt&{X2C(zAE$! zz)Zy*|G>M9KzPBs5biUy3$pL?>^{JMo_S*Svdb!gchl@%-KbfYTx39}SN?Z0ffq7@ zo=1K*_qU#67#DZ5olll3rybYrnEpP`kJra@wcDshH$6T^otHEE1O5F0+nxd2atncH ziP<2JIr9{d%Mct6ALshFzWMS@_M+~RE}w*@v>%vXFZ&)ZEMGNb_xhbi8=*m~=InA+ zo=-5JPh7L_$p)NN&bcAx{!i!Gfm8j_>>W3Gl#h%!#Tv}X8Stal5hiS-;ce=edDAa53WipJMJ)_Rxz`-x^N61_p}2a_l=%0{WqDsc5=eW2E5@A zm4LIv&c}sL|Et5;z=!pej*9{nw}H-wkxogy+j2*L)TKiP@(uE1uK{(Pt!ad%h3ut> zu#kWVmBq6)%s`?Tgmy2u>{v}pOH|mB6?fK_96HqN`F5^{!gI00-02Jq;!~*vu+x+O8qxzDdmc$cP?kj^^Ih4&y#EwG*~tSOMpJfm|sg<$`WecYLB!3)$RffhmH=ZRZ<9 ziO)HeWdl!-_mxfXD27pGPPAYR7obq$r`Wo;bNxjkm&F_QSO}DN6X6r6brS7{fm32f z&D&YouDn-9&zDAyExU!;OJKm>$r|*<$<<&?nt}khY!)&JCJFCUVUg=p_h+Y4U-phc&J0Sp_5nG+y7rX-~CT@ANQ|xrJ=f12qC0! zj7y4SUC9U`am+Y%gk)#$O0r2M%IYF}Z{g55hq6cZI5{%na5~m8&iKC0{k{K)`-gt= zIL`dM-_O@`eLm+z1kWqs{YN`&Hopkc|1ruBV>^~bQe|xSXdimGyIjXeWxJXjd+$Kp za#Xe^UL7AykkUlywBtp3yBD^aN!dz|GI|y#2ZVTZR(X$XVWUoTbaWVwvGJdvc?}H> z(Yr+6WvXZQF~Lb+A<+HvvD2@r!veYtKb$(0Bx`= zWMdRoIFmM-iJ{KQXj@H@<9&nXa-S8P5v&^FuaM8Hde(%Ed7t#$2 zSyEQD%9Ia1`Y(EVe|0~*r%L-}n4Pdg3nAR%lXtEsHScx{_yh$7t<80P&F^(OD|-F= z^EIJRT33Rj)ErJ%p$?*Gg9Ab@Ae^3+q(By7kt+S znnbRLHPbiBL@N9SQm3AFN^)>N%@VsVGB-b;_zgqBko4sB9b60wv zv_6x58F_xLcTmXg>Ws$R)7mpJ>bFv`hZ7&siC4L}xSmG~2-P|0n(8%x|3s<8g~Up{!w+xSg~TQ~ZoU$ASB zzG8l&`#r94eawOsgIYl0wS%&Ba-g+b4WDk`b9%xP;}X>jsFreE3* z^^`Ergx=Y(5sx;0TTVkYnisC<1EN%T$}3x5T85kSiR{x%-&r!dt$y}vy~m7Yt+NGH zVd|NlVM)VcVWKP9Q%CE#Fk09NO%FS!>gW0a9YC7Gm|55*?QAUhE`Apmet0n1v~oTp z&>-cX=?=<<1Te^7o*aGNf-*c{cEB~_6YhZ z`EuoFm?!hKRA@{5_{vyuL;`0L{mRi-r6xI zDf-l3k5Er@>W>YDbK95)+$OIU>n1S1)g~*AClqG%A?YuNpDq+DnVc*RuvWt``c*fXOCIgTEAvn0H4`Z z*>{0fx$CjUG1_P;kACn0+iA!?*UC;+7l>|8X8Ee`#># z*TyhPZRRRRNsgS$F^$4$~z4e_aFR# zi_Vge$h-I+ee6{dO3q9{iC5wg(m806!Sdm@z50URjqN5#7i|iBO znR%Y1y6EX}WV+tSIc)u&mi=+-PDypYZVnPW#B{h@dMJIH z?X>&9WRo1Vj=djyZXzEeZ^Q0(YJ3|;g<1!YBn_lqslMlOdqW7@b zlalcA!t4Ud_4U)n#bP1N+jFV1Tjp-b($-w6^VQX`x18gbJqTDn*ZR9Hv`qv;E&GHE z$A5BnKR@jky@|u)1VX9gaFPhV(yk+L_XHP??qx|hxAfe3tc2Z`FI%yhzuV{!jNa$ z+QJBxWKD70r$e*Nz8L_Yp+cln8^5pe>Q|A#^#vnSdPRN8Dg6^X6<{Q|D6#i}ZeE_# z-^7P9bdyEHzZO)wxsBcwb2UWXD9b0POT^_}ZaX3K3r=r;*QvIQILhCBWvO^&vaxNQ z8A*QSWtN(iO&MwPbMDrj>IdUq_h~;LOvh1J-JezK_O6p!G;dA7N_#(t@=;Ss* z1-B_GjvFOugKQwRisz;EgG{JUCOo??4J)s8%E@5X`wtAH2<+aQ_TKZcrwgu+n&JSK z==$q0mxesDK{lZ2nH;%FD0?Vq6w>q`JN-uoq7ge>J4HasDB_tF?mY39yN#w2*M?Hs% zEyxB`AkfnfzY5vSa%;3*n5n_>e?ZrsT7-Op0*koNQed2SR8TbtE;CsAUNG=V+*o*{ zaO7}i$d03zm2%`E$enj&D>P%cWFJKq5?VOej96u#UB{qx-+%f3Fwp`iOF~*LVJz}$ ztMlPdSC3(9-?+a_C*H^!-ViVKmq9Sj+I!@d5Y&ZJq8p2nlQO>{ti1%^98VP#<#ke< ziIt0vS{|#3$&E_H3Plnm>8gCPylqaK#8IW?YGWK3OIBe}*ANC#GsxR5C|;e@%|h3n zVV|{GYQ^z#X2-pgM5ys`2P(yDDs#5wZ)M*V?HlS*-F0@>EDoM(@@L)8E+*{+JUD9Q zhC$wFVpb5IL4U%Nhgsx0_D8Dn0)!=KF)5{T_R!MDHdv))J(F9nb4F*5wd6q zC?NXNNnOEJl>Ma#-|vrAJ8mova$mak-Kx0GzU!@1=?DAC2Je_CL~;4&bE(d&tY+5c z4(Z;y7^J0NaehC|z!u%P$y!#AdJ&G@Y&D3Vyyb{KIrw=VgRYZYyMzAHLdo3*T-hii zH=Jw{i-SdV?Gi;MyoNW52{*Y2+~V@({dpWSKcq+V_uTpL?N~7*FiQ#qvZf7(84`Q`wPU{Cl5bn-Ah9>;0kszamw}sF(ikO! z#PXWDmD(n@y(~$z09L1PPBROKMm4ty$IjeII_4?Ebc9x0aX6m$a!yjHT0|%{|=j2?EM~?m4MnlTFHOXgf<~Wn11VqKPlyA(UHj?hC#Du}S}g@wX@p zmrRX1abCdd`S=Nzk3HXoS)JfF4>_d4V=fhfntncnsCF6Oe4!`3t)pE_hz8YMp{OE3 zYNHt?fMZUx+Z=I7Q#vLvQ5PBX<;KM!%G660)4CD2;DWRLo}DSOd?CZf7+UW{$&i+g z^2rm=n{%*~vvcv7GtF$*+e#_RV){Xw zqYg6lKc1|CuqBzjco*{>-5LM2IZio^9;wB^c-suWZ^Y56DfA3`WXMLL7nw*oq_+a>0KJ(q_F{0W} zA)!2YsV_fjpX!31MzX6sJX<*f4~grJxglP%1aZ>oqz)C_e?f^=UHoRDS(yzeA{xPE z^L4onKUHeo2!BE#tv11q=?y>!xA+o-5dLY?PTNM23jvYzS((tNHn{77iKDZla{OOI z`9|45_YC9G`kRuQciGRVmw-5JEDg7iTlsA1Qne#lSHt#m#LHgGGe}2A6jya$sc`f- zz%;Io-W*ThBS-5;hNroIKBz`!<6wCdj`Th<1jdNBs~Tu)eQDT@DK+DDZXU<)PtC6A<3g=FMPIBA}-5tlnL8&_SzXxp+~CmC7Vy6}Txy-IxCv_pzYp4=Lph=_@psZt zu6`;=ZF$PWk9*io12%Jb&{BooR}4g@{$@vDssx zTi0+!Z>5`le-4Ef6mq-AV53Y!)tWD)n-bs^$S@zMs~xu5-oz1EOS!isup{xuc~t_u ziZAv{gtXRjACAh)%9(;=1CVVj^oiJ93fv@udt$oT6rqf`bS|0gflRs=P=|@K9g`qh zZQ`ss8UqN}sKoc=`bAk*03vQ8_dkc8jF;yPqje+J;7<&%?_&%mZ4gJy1*V7;Cg!0 z7(t((9_-^u)WA_&pxY=sH4bj-QV4YmW=nj(#anaoPGMw1WD`0~_Wdb`oGK-7JUzu0 zRk}q*DaOD%t|n%KN_oZ9vbe$KqLh$M**0db=18niycThkSwf}CyX>?h%81ni1~N^* z)z6wZ)AKSzEIUstN!;?zj*}k)?#$M(^&Kp>@Pti4&_>rkvL1tN<)8Tk3o5`y05C}$ zxdYjf{5ij3WU$YHJa&B$ca)E1%Lu;P&Dd&FYj0nghXz^zmj2?^eM8`dHvluGALib2 zoA$z3FgpQYtF`$a85_RYiaVd4z(^-2p-fC}NIrZ3jA4hz{QUsO$?!deOR_@V&Z1)s z6lY)63|SUcPxY_EP$@mhC0te*xf2#GbGvpBSq(OneWw)7S!4 zDj4B}EC#y$$EUCuH8huQ7|Nw)@B!o=W$7AAv0$+aN3VANW7qzw-x(C(kc(Ke7sO3QQjKI=R1fr<4oX|H2)3s?ov1D zQ{y!33NH(k!BiE$%~n3Q32?lYb*>n&vfy5;0Op{&0no#O_W~U4R^RVKLuL^K-6Ri} zR@klk1o?62Dnc|Op7)YO z#@O8me%N>)*sz3Cvckt*AV>EJ8|~*%fEN8OY@O*`CkT9>AVKSf6YuPf*>--|$Tj zSS+YWMk4@&f;fLT2hutx=z--(wCK}Hb*UW%i$@2nuRzVjH20&vhA8BfB;-zqBjj-O zi6L{_xa;`~dFJYl8P-0dId1r7X3CBYN>JI1R1s{f{{N&|xOb@nx~s*4JmE+25X=F} zfz&NBhYHS^U&$x7Hj+g`HPY+`v_{LY7HG7W4rOIBCh7?9#mEmpOQdc z9|6=8!pSBY=8_L!7?@=fI_+f#ZL_W=&Yw=Fw6w8vAaR@&XbpF^W)f`gKosUx4e~4A zfvgc_{%g1l4+t~9eX&*yI!pSK@K^zr2H;ilyRD&ghz~8BV@?&@pw$T#xK(EP$xM_# zza}#KD2r|F13eIy(T@RkhQ)P$r)RlSQOfbkG^j=K;HUsaMO(W+gd$GgYA7-L{u7+f z%qSF<7dMg4-h&aRS+**GUNvpt1dRjiOO$H9SBU7;*VK!Sm2+>MOw-IuENjBgzfMA( z8-y(V@J#W_fauo9l2CGL$qtb295O+Pgy0dud22PPw%_pEPb^-}i*m ztil96jGH$9Zi;;|GfKi-Q(^f%VAbiuYrbL$6w&0rHmh=o<&OA);><=Sv;XS1^H12z zVt#0^lelx`w{y&PW>w%XwXcw23!5KHu~6ON9wO{IY{E^MkZ;ggjKeg{(u($dWO)4V zvnCsTTOv`F&~$OuU1NPDnDB8g%k^{c!{9FtO0qn9xI=&z4PM-#xVsf6xKp6Gd$CZwSa5fTrf3Qjm*DOc|MT{} z-*@jXGt8WM1}6KQz4ku)S!)sTQArvD^)2eNXU{NXWh7LeJ$p&{?AZ(L*Ds!)5a1Iq zJbPvim6Z@x_srUFN2#OJ^7^L7mtC5K7`bx4IsnktzrdxW!nT&c{u-@Vr9f;p%}FmZ zkKi79KJb}>xT^d3ZfN*3*XJ+T)Uu53jk?+Jkt;|R^Om=dR{flAVkJ7KkPu|^(e>t% z&uv%zcVqo%q8^52ycBu>OuJago z<~%20|2%5h_0h#BU@XS5?J*|6dEZeOexIq#>u?i{QW>zZs2ngGSLu6l;Ny7rz|DKV z-J*53?p4{j<#x32_<+S8aEDeQ5bzMZk%9#f@`4?R+|JE7-0p03y06$%fbLp64sSaj z_U_6a&w95{A@>&T6{!6Nq-9tMxQIR;(tQT{o<6>2Mk?jJ+ciqZ`%Iy~?lpO;frcIQcx7!2q=ukVSz zh+?B_^jZIaFVMdtjfK(>lYH zI8sUJ)n5!a32SRr^@Jb4n6BDZS~k+ztN5i?c5%6iK(mdBJ@6(!EqZs}X6#kbxsbeP zZ{v{L(KhYc)^!zZXe7klSTp?zIk!^gVRT|wTNGF4l^5U@dluf%f-J^{t7$X<&Sf8wWm-=9Tw+;K3Rp+d8W!D8T&J8$q77`8Sh zEgg^r^|kk1KVFv!u*v&Aq$-Dx>SclWIdr}r&iES8TO|WGg^68-bFrc4uMZJ9{rrpY zrXd}zs(8U>wgYdI#>$H@@pHU^VjMT zA?4IzTzf;f2C%65toXF%;0pQ4j!No!c-(Gn3wg4YGo+q> zGH4PhKV`&{p@|9-{)l8-`TFvo;GGg`p~mS&i-#ET+sA-jCoY0wRw_TSj5TCWe{2!o z-?K2sb2wnQQ*rU+L-gS)K z3eS?FC%j}WZ@?tqV=u2Gn~#atOTdri?kE2e8=+J)z0X#m13fZNp_A%pt-#O|DxPqk zX&LQ0cAKXlHXPemP+rW`oO|I2&I$umR63Ku$G* z;=?HT(OTBbGjN6C4Od&kd(gO+{yFhycZ5~`i9XmF4U0#%*-Kr6U_0~1u*KH?Z0h5%gu z#?Iz2O#n3K?ad|MD!;`U4WV|r#0?=j&&@%KeU{L4C<=HLDgHqgn+4PLS`^SptpGDD znMaA6BGlw%1sb`W|B=7FA6XRL`IUIu)lG&)=4)MBJL0aYL&r>%tV&hJh|9q&SpRih zQW8gY{8Mj{weuj))uhlqymClUdHt2{w^AAle`yt|cyjJ{Jq?>zIy}rp*Q&ZY+Dmhv ztQ5j_N=h{Kj*EN6rkNqO$i~mfrM@NTxk($|w;^i9Sx;Yh6=ckFsm(Wg<;9PEdx5vV6C(ej=`H8Ubpd~{IBnAxSC8Vu98=p-s?}|bL zA$2z=gZH(ECU!>-7gWpU)kqaDe)%4q-({F+Ht7JK8bkevBa#UH_^pVKvTYRpfqWDCek>Q>l*vjr}3gu1ceaIyCf6v~Z<>}&* z3BpE#>ayXZlF*lsN+!BywZ;~FQ7Zi`WugjB4)+5N5Ao~K3q=_B_mk-l!qICN$w1Jf zCUWm^!6bP+bOPsSlX-eY{$_>zEThrFuzYT+95q^5_2geNth~Bv#l?sAI~RegUmIHa z0Sle3D>8omx%2vay5dufBSUWDiImc3C7GA|Z6@&A^<&AF_f$1S)EB4e4i)M|d_CaB zF0^rEMATr&{E6fmZV?cAh^hAFZ|GUlPq0rllM4Y1a-ff_%yLJHja94lFFK9C)X|79 zr$Qf7!dxr#!k;EO2hUsyJys)!dP3iwzYr0lh|Ejw)A|weE>B-%QjvUzWJ~}ZAsfVu zs>@_`@LQcNt;ShSl{T2jgJV3Tw*N9ZW_8W#s43i2g}(QD>Q*@e_0y<_qfMFX>`lYTS5|=E^QadX}}0 zxBj$M_;Ug|CMy*R%Cuw|4sv;)@lqK1sfV9gRZ4Ho(K2ub%BFpw)d0Y%fQAqc2b3&H za=O(#MkU=id2cDCN&28;)_DW_r*Wm%eZgC8uY@l#RzlQ8uycy6^v^F}VVISKje_q< z@_B}pW9ASHaM|$AREM9nTFs(4Yl9$AKFTiAjEn(J_PWgNZq`yy&)&HLQZxB8TW3GB z0nvY!CJPZb%-as@HnV*VZhrOp-}&6>L0e=vJ3JmpWs58MK0B3BKZ*+TaRmTO%r#Am zoQkwy4BSGBMVx%04&K79R>A=h2_M3vfvjmba>yYFa4V@IuV5U2qRhl6f2>rII1vJK z4Vy){ES%~p%SP1KaH-TIFQtLrvrOnji1KTUqEai@qU(J8BVSyjCk;;l#*K1Ul|wwj ziQJa22vet(Mp-F@J8F*Ny}U(vfxNPq;?7|(g}!VE;#4b6a``WcpN+EYZ5j6$@?pTv z6KXvlX7?|e>d{lyLpix1ANqa-&A)R2^yZ7W>YGJMVF{*$yT?oT&)aRJYcaJpTKot> zmyC~%iAF(5V(u684hIa@=o@X2^S$?5SGRT$brb4Tj~`@iSM6X!eFX!(u#&<_!?{)s z9V-Iq+p|P3yz`zLn3Lf#N`~tsWHT2|nyL>C`(w|g=G$oIbC>hBK=Ms{xpt^z z5P?T+F5ziL6%e5pTb_yPT;%QY^NOVHE{@j8#69vCy4;@8`+*K;t&;&OyWgDq z`eko5WRnp(a{BFP5g7=t?pev$xWcGa!U&ugdF7AQ`Z%)Lp=iA8f8*BQFJ~caG08|Z z`|2L>t)$eSr#QQ->?r;dRm2a=$=T@WI@Ab)F))dwsPfvHs=6wxfzlhi{8@Q-MnsBb zJ=f8#L}ewFhS(DPliS{iQZesGZj8r?k$Ou32tPU!L~9*CG3Q;ETZ3SZi!c8QIhhm+ z_aGp{kXS;dDqa$q$|55qB&7^9rwRPn&HF2}7KoRKkK>UwkQPy=yrRukB1FON-$&+m zTr*ez-JYcY4`J;72ir@Yk*_sTy&@1zsT*HFK5vwvRCp#NQmJZ@z!=R_&ZPXrKAOPc zf(;CK%1J^H?OK{3j5$(J$Z)PbWR!WL3piSN_>Q%^yVea9heigkA)5gUEUxxU>XyN^ z+~ECX_`^2MpM|wq--hgG9E4{ikbW}D_1hUx)m)oMD3OaDTeZ6yLVMktcq498k3%ld zKU!hV?+2YArwkDbWjNMvPA=0p3;OH^#OyT5kGwrvX>-4^YqZKz4i(&g5zF`YvrVy4%lsi%Hi4_C_-7DP{f*AHdd>ZW zKYV$y+I1q9O0N?MV3&#P3l~&j;*n;F1y%=j?X}DvU?r4Hpc@RqlJe8#bc~tU)GFvE@TIEJ=Bj>da2VR3YvV8!N>$p~$kS(9OFWmA z^T}F_70_@&Pbv?hrN|Wew-tfd%UQHz;Up!(f_!IFX7@)G=QCMd+K0R#6RLc!0a&s0 z4+h?mI|97II7y3ae=R8Z{LKCwQ#?!$%l0MGLi)QR*>ojO)+XPD2U+d z3+7#c2UTE7Sbu0TGm%S(UC|UbxsZz2`nFxW2G7qdYb&2c1GSL5P&qkcCfJ1r8apPf zEUy-baLs)JQc6laX8*PHu-$wuQmCgP#)?Og;=6i){?Ac7iBAILqEhO<^jY4LkapWw znS_R~(i02NxL5vGiT>TwX7qSQOMX>cLHHVY_HiWE|Cr3EXD*E)gJto5=^ys7Z(;&I zJsNj6afa_F%kVXr%mr;QTBW*Qg=xSQG2B+inReFod%=rMWHC9v@==f1je+_yiEBS{ z0I={EnTql{lA`mO2M?=wG528tSBEgx@?^3!H$P48d`|mb46%g539x#v^q9cSN9pv73 z$nj|(Y5O<+1_llotUL~(2u~{9x1rpTA)KNz=u?6u6TrQ9(VD=lCcD8NC~Lc1uA-`m zRs|c6C4aCSHa5#eZfSZ41^wA)(S=NUOrw6XRPehuWwErVc==O15rVRk!GR95P|9(qp*)d7bfgNMzltyY*O{)LFW-lsU=dMG!PsITkSg4(bTOX&hx!idk;-x$RU? ze30S(@^a9foWI$}!A%|h607lT^jh-=4&U-10ZHuPeabOTHM3J>fXm;UusJ_feuNpA zNGt=r=X-H$=mBYJ2dG-XXykZ<0|?HJgcvRg>dl8uJCWxiQPIMn+o_R$!4zXXHEnwXAkFM@#v5O_q-Q7 zz|K$?UnN7Gc_o~-o??2{G{tomfdRBkX}Ax4jl|a<1sC?U3`0M);?O%UgL`j}glZSy zL)R7u<0sRV4Lv>#jTEc8ZBW*KD*IoTZz zH!tQ2>^7NdnZ=GA9AcD8^d+P6&AZ)}TCTp(G7;nsgTt8g<;k|hgc?4_Syo%B2oA~x zeIv14;KiQD!i4m9S2Xc_lK4VPR#-f#^~x~Rm?+MjyvcF(lUD6qc1is-I!9fy%s!wj z*4(A0DtDbP6-_5@XQ;>5*xhO>zyunU^h@cxXi}0s=LKx7P*}&1MO+JxQy9e(Z5M#Bk1ch^NT}H=C{ykY_=XL2_1C! z19pTO9i0>nQ2$RC02VtPnOOwyH=VwsLitOQe?A*%37XoEt!x;W@$UX`C6rUO-*raQ zd!jf~%vdM+TC8rOVgLIC;cc+>BBS()f-&84X-bhxIYn|Qdo{$(P&ds^NJZmYM_l{+z)xoorp@e8pHGl^m&XIP94l;?%#fpb+{>AO>D^k`z|T+*6)!fAu^dhvvs3v_U~3_+jd*J)^Ao0*#hDBjzr;hek!uY!`TT7Iw%T?Um=zz^mC2HnT$B1@u78k3^kpZa=chyfye~as*O_mbX&pJ0Z~lEe_1Z2* zQ#)5mYI8y<^|7HmMV3DI3;8+f!*<&HI$3|sJm(_G(p0M!HgV^UG;;T=OZ6Yl@u;U2 z)6?qALqm0lmZskX{QSWd>?Is>1A8bKgF9HS`hO1VU+fV%4E;+u|9&Eze|`&avQRW; zD$tw)i0CM6r~+c8aDIJcuc(h~5SK|LPADkid&xa@$b`RBP|(3hocFC2BB2tUl?cKd z8=6p`yu{K{B0`30D#c8F*Z2N5 z#uIp%>&R*f#g^s5-rQI5eoP3=w#H)rU(U9|EuE}>j+19}I(e zC{4QrOE>#D?Bo5?H@Mm!Yo>*4Xe?0R0A(oYwGP)LM|X{DNj%<~AxwRtDAXc-!p6j1 z*M!87_iWLyevt)OIZ**2l*GXk(3FutB4FZhS=8v>5Fr1d(JAP-0M(Vkju*zkHOI$( zE{kor&X?Oixo>A89Z*%m3vBQfuw76boAbQ>`sZ%d$p)t%BHEIgj(`(Vh<)#Yp(2`K% zzfe%0(+CRiW4j}h@_{9o%}@xXOrh&n{czVGyi|Z$ zyM@9oK7m8{>bro`(wX<*UWMBZ+EXCxqv#4^I-uIPzXB|SOQiIAODp2q!p)&N-?|8K zU46b%TEL|^$(21)5D|WH_l>VgPl&;(4?jiJuzx^>Ep?5WdWhLolMsW2LaMH)Ro?bK zh2O`<+NM7DC;R*&#D)**p!@uAGMEddT(jM~j+3diuUmjP{Xe=)&}Tqt;KpQy=tcq} zZQ&Yb-}q?07I?pQ7b(!VKvw!nHRst3MSnlO0-R6CD96ZQN^fo}9>lS+dtmgQ z9(1YPKSb6y6;))bD6^)YA(5ycrI@NgS>}0k9No0`4)PgN{V&E(gHblefIN1CG0vf-**+Tp`97He{b*=UUP%$@Yib6re>{+5DiDZGnjY& zfqRQo`)vKOzFxR*goIB*)ALxOKe2mYAWg*GM{d0eszGf*D|lT_VtF0)N3IwEifqhQ zbIYnutoF|aUPYcrFI}Yw5MPv%4d=?+LqS-KhD%7BuE!x?-J}g>R(Ry=x#`}+jP~=P z8|8$dCx%Wwl5-@OBMu|-kqUm`Hhu~`XBW1pG^{0N#a2g97 z@10fh@I#yYVjCj6u7CU1pQpa1#Cj|~(#`35z~&8tMlB%m;-S+h8SBuqIT0vdOE#_X zD^-dS(jEIsrRt=j(PZQb4zAksR>+_RGoaD{giznWo$bObKQ(IVXP0BBGKI<#UL<(B zQNY00ZGzkbT2Z|df-ufxlQll645_%TNN?}o)O-esLFGN`<_WJ+0S8w2_H{jl5cMnyw%=YHQ?yWOD z9i0VdWL6?=LM6W1JWr|>JzBjDf6^vjY{cSgK0=3y=rThUS_iRhPKdHcn1aWLOAWGF z%+vR@s^${Z7dvG`?%%8D^xunoCnSJu$wqz{4T&{kwUGKD_r92emIXW0Gb1h!`(9#8 zw)nRyc?3}lc~K&wG1{U`Zlb{jXhp#3rlV>w7ULwVrjPz$Wc32^j5LwOJe+(fgX>5% zmSAA#Fu_9L0P6qWp7bQ?@e;oc9jUQvjxW=QA}x}F{^kTn*gy0~d%fvLsAjExRt7O57Fe~72JZBbkTTxOyP*lRmdX^rY1!IPvAW>w?_gottYc{X^*%Q=InqQs zlnQk=5SRh5dXqI4Qj542<72QicW(hYmc{7vRr|Tzc<{P2?*%-P1wPLK{?%ahUjYR7aC6X1Lo>0WZDkTCmP8G>$ZNbL7MwxZZY{#Fxhhq zzc;oHEI4=09x_B|4fh#^*Ur<_^}Fk{IMDgI`z)M{$H5mTSlZg&IlTOLKTaJ_nuurY z6AzV0>ja>AZNjsdsEQ^8`$g92_$L()=>F@at+X9G^Lqb8>CdX<9Q=$PgUkqXA0VJOiS0%Aq|M;j@i|~nl@qaW4vIjEq4XO>q-CaT+}IV@ za;C|}Sh^hCa9)uScLwD6Z+qV6zKn_^H*j#fX>pj>hWHwAhL#>)H+|KdWPe+dbQA`* z4y_%&rV{OAI`j-HsH~%qiUY4o{b#O)xFN&b{McX1g#hJ!rg}KKA-?7ZD{@-4Wo+^Z z)^8duFU7*PTthLLB44*Xi@;Da8*EmT`TA8ss(?{nlI%JPN*bIyZRhstTB)^2$%9ESFr>zInosfuo|NMK4Z{mmaGiY+|(>E+hVG9}|w>KI!q zW@%C3l<0sl7sMBLiYL8bm~^X0y=jaq0jbo3?ASP#+k?$X4&=V8oWopoU zD!6=>HNosN%wq*hosY$G@cCp?FH~i~I|Q?1Wyi-CW&!&%Qu0-kMQ$`jOgOV;5=t7b zHQUINR3ITViuKn|`6Tf@d%4`;4fbP_9AD%EOm{>xdaGUQX%%B8Uc@!132v#?RnDVI zo-78=?8I2*6IDX>^^Vj-GxkZl6x51zRBTyb%k$swUNjJZBdK(~YlAW=9GgMu{u%)iZ>102yoohEE zjJz86WNQ{Jw|`U2Y`}|aWvUz;nqfq*?Hl}8pcojHLt8R z2Du@#q$y4@14h`%tdAUbG7u(T5rG_clJF{uf;QqF_WF|O@$>nxp1VDoH%=Ey9FZwGdX&n1f7g`R)eDkmFl&2 zS0`<_#>;byu5Rb#+8?7(-d-ITNpyr{F^wu?wbMEi&=$_+*Ge{x>w(Ne$XE;%Z_9$(KW$g?%=E9X@ACd1MtnL|TGX`nD$XV$K?T;Wa+@R3z6MK+#%pDQ|V$))cXPT|y*?88JZY ziSj>g60}|jo;?$UyE<*QmQskcyRMy|%C!rrUzlU8e5`kxOGVJC1<1m(K?Xu{K-SS_ zYTW$Ou{Wtlh>{OMeQs+>a^I04gnfa)yRM9ow#fVwGkggU)%GpfK8JWCEVL*Nzl0g0;oN? zyX8DAapdg{)u*RYw#r6jn7^nws#Fb^TD)9uH+Lc?PXBzeHZAAiQ%NVTC`vF^c_P|z zs7NByp3^h!sVr>77mV@*VfH>_epiopP%TeI%Nr8URrwq7D9w`(0nyvzTcm1mhsKprtwz=u#DD7Goamd)fm7UP+o3JzW%obni+IY#{77y zuEXk`gy=8sZ;2hujIl5pE1EAL_WaLJzuL*23JrrT0(*Z1$#pC7)!&xpb`fSt$iEFSk!GlxVyLZtvnoY?B z&P*?qZ&%Yh<3Xg|JwizN1+KR`_K~&K@x~J%{}2EgZ@6WZe!{R6P}dU|Z)*S#bj7lb zp#kRt&xm1pH?Nj*vlR6<70*C>`7%JQYSOk9H7j8#c)`IPtr1O*L;gPP^(@ zRTMR?gL=(In=3Z*nrg5*GE1&F1r4wX7`FW?UKaxGau7CXD&X^b3%@AP@NFy$s>(i49Z zEQK?mkgzGW=OOx7*R{~a`|B&W3nm$FqO6+H59evdxpusSWu?;VeE+w%u_P(U=9TLf z=C-_-7O5>@tQk55iet-!9=8ZiImbaS{Jl@L`2&_iBkpTC`!>@jLw9=CwW;V%hTO)5 zp+^F-`6Sanbc?6zWt=IGW8m$`B6Z2X;{jZh?>B#lsO+#A!M32!q;qmA$kN zxHn0=-q61IHOdOpGN@^>2xZ%Z%eW-EeHP}RogvvBm`Jh}X*U8n?WcEms|7UWiVW59 zXO!+XCB7hwFwJ@=Nhf5#_RF1vi9!xZblb~hvN)Zx$DD!Rzpq)FN)n=2-Ge-bun3c> zaDoU79s{1 zORlNY9PQoZ))u?j`yX85DNY3ItrM4P+Y`s+fW6qDxX2#eFEHS^EHi;~5r{y@=_In7 za+>D9=|ZZ~bU5T;=Q$S&kThMN7&i?MevV0kEm_;ajz7{bL)9tR| zC>r6J|5)_*t>TH3y(xQrG2Rfd6u&+TN%Z)eK2u)HSt0~8}D#Md?SI?@8)w)Y>@biY|+Mq+x-zG50%0-CD;Y&iYNcN1t zvPJ3&X8`Fz*7ONHasfi|0gQC5A1xzPb!e;*HMv0 z`7m~6KS(vqSd1+bJTUl!#=;Og+pa}GVz=*8VSEy-Ux6wof%ZKenEGf}bM#We z)el01$z40O$jpGq9>4Y#b15#Oz$EJ%o>@O0`$5K>6mC?5n(?0tta) zE-QM9@Axx3iaxcZsQD?TCGi+RwHx9|Kk`6FkqY$Wh?e~B*&7THH#r|+@Vz2#b2MOc zQc3fqcDoobqEG~FqpkJP1H%>EEKLh^+2#$GoF;jm{2UQ4gelpCDgJB0dl~_A6mJ9B z-}R;HDygSvW^9515#ejxz6Dz$O<$~JzU6Gw=;+M1QSr8#sAGF_C}~OW zCaJ8a5C4E3q!b^y6)|A0yM)ntRjZGehL}k0aM%TC7<`5N77@5uIp3D6r&d%_N4-|S zeb#G11iCZUd28Sl|C@jcH zowU`UO2YIcY@YgTAqY8Rkjm4Ql!fI{zxh8TSrG$TinGHf#z7?mm_)yRBy32=usq%= zXdI0ur-(7MsEyL~uBw7RlyrrbL8TO5H?xSa%)$tNy9uA5`^lrn+GvtB$K!XiD<1&* z)=|IiuVyB~+j@bgWppzlH19ZKsg%lDpo~8EaF3r)P-7$IPMZ*emX-*F(fToo4_}@|=;q9ToK=I;GOxgi z3|(U~?v!&!yLC;#HDrz3hvolnN$TxXTWZ3~F|r&vp~{TmSfaw=$mFpaF4AMMuS$3? zl+!i8ku#~cSP_^{?$toSud%B|L7yG6F z<3&v_N*~U{2G&lic#RW6Hj-2O_6pY)){GO90+M0C1-#j<1vf?AQ=jS{cLOR(FkRH;zc zv54uD`qgyH$KR#irMcWwCiAy+BitG^Pb$QQQkI{adp9M{j31@ha-LJWitmYvL=`$g zV*sX)c>Tm-t#XYmR14l%2!TX1^`T_lB9*ewMA z$H{kB1vR#ony#UP5%z{hzesnk1P<>w>t<9i)wg}&in3x93I86B*uj@~7X9GLHF*9L zqrdHF^De%OFvgZ`>&o!0-PhSp1W_RGO-EpMgp7Bt#XKYEbYP##3vvbEFUQ^9W zzy7|TUwpYGWjd63TYn7qS5!DmU4SA{^_8`4>~_wjGuk82IOhIl<4&`x!#G{erwgJB zbbB=$$b983a2f5`WCDxLyi_t2R+|@2UFFLtBncTAm8s32jQ+5W&QfJyQ?GGQvJt3x z{-Rnn<1A&Y{Ce4tl;zTmPFI6Iz}u zFHcI}@2j*4N)6A%ssZzbHt}M1w1FCh93BB4u2RgQ4?h_1VrM@Uh=Isww^Ni^?Psrs z&f>B?t@FV;#YTpu#S}uC0qa96>w;d#eSZ?*wJt31hTbyoxhl%xf6f0-SK$am(W7E1 z$4FE8Cmt4A-e&3#7b_@3kc}wuqKfAdn!6oKF*2 z1GE>^uZdLv8UBsJ`^}=?G9FOb(l%NQzo$Rw&eXalV8B(r2#~%?I9l-s;fP9=+FNiG z)7#qS*Q3X@F0Z`BK<_;UGQ0+z2}M#-ubtF{Kv3JZZ=B_vK>Q$X3gNp?#|R&nTP$UA zeht6lkJl6V6%QXOczp(yS&w{NFAj|^F3H}ObN7Z2T%A+3wtdV;vmJ4$ zg$wvu+MATPtQ^m^-@>Go4z+bNS4nCXSug9xtNd8%ZVi>)Lbm<~k=_~e`?Eq*wikkPBTVWlmNmGnUbzGb{@4;=Oo3Gt&EA$Agq~a^ zdz!Odjct!%f8ZT5c?r9p-x^rhTs_q&Ca)8SPPAe>Sl;I zJn^NBxQuQU7+jNtBSna7i{fXbwzlzW>$@q9@G8JAg_h3*duzCRRWb1Fs|^O9B%y9H zjNW%n1~WBeFlTgE#lL0qY%Ai4WxMcQr@-{4l8 zrCTo93iKb%H50U97h11kybukDU3>fd4bSJYxF#|(K!YDnc^^U&C=#~&lJS098vo9v zm#+i9f1$iZ;9kTmV!Jn_?p=9AU^jSlq0#0X9}WtAlg|jP`tS~{0VKR~9FWyP!t{{@ z&-Y@#fltbn&8P`cXu-sYj#|iD(AG6%@D$--fUiK44tGcKc$^1XZoI(X;J4!3kkKN- z5VsCM%HN`E4*?Cmtk6T+-Zo&3b;L+fgnsA;?>kzkm{obc?zk#G&=5gq4G-rqNNAjPCQ&Kfbc3O4k{XyxgZCrl zn3=wbsH>6-KSWt2eClrqxrzwKo^g?`Oe_a3qX7ZI;*lX-u)*rG-*tlfv5**ij^h)T zF*LEq|GEaBBn#|*WOy*6LrHX*UtXsM&8ND?lTrBrPBF<1^Q%9hROga(hV;bCgNo>$p7OPB$_5D2bqRED!paJ1Bpbs0%qJL zVNW7XXJhekD6EXvfU~xiQXaZh_Dc1ej4_j>xkbX8yrHL2z1K~&ozf1|DV>GZ5D90K zz#s8l&;Tb&$DuT z%ey)8tXc+JLSVcfCEA+C8w?hBQIxGssd~#W5h;rJdC>#~z#7^>$(oS$ zeyrY(Lz{*{PIEc)0r^u4Qs>GJ8~9TC$*det<{AezZ#oOld>VlNB>H*-c1h7O=S~2z zl8uyjVLl5*fQAYa^G;;q);Xw`HFgyT%^1o%wRWgs z9@CU(pR4z?wJ)dLV&2i`&SWX_n!!Q|wbc$J`a*+jZN^>iQ@&O*_9Lvb*29!Yx%N|7 zZvSXyD!I2hzf-c;im`R`ds6|xVD(U75aqF8z_(rh6$B%`?1}_CQ0q?~DAt7URS7Xq zIS5(U;SQim8-WyU#~y##GHF)}a>K z5DT@u?*)aCPsz^Yd}Xz95;j25um|khZYsNE~f(7>)V~&z8)JKHP{S54gF@n<4w14QZ|`Vl59n zfR>iNs$p@ZGsH&c?sYk7`QU0GQwp+^$LDy*N5@?A)5VGiZ>^0*aEquv+r{Y*YJ@sa zNA{q+)S-nUocH=VLGTitm;21+ZXeeJ?cObplD|iZ zQs*Y_MT?8H+JOWPZ$eA%?9$|?%nZvXo3ZdOitP)_nW}O|9?AkmCHm~&xrDjm+San`L8y_XiPp(gRb6IXHhUT}kip=VG>e|yMt4SObN&>dO! z@Gsu8q#-tuA6J?ubiKT5cz6;CB@^l!4{inVTbmP@2v0KAJn_;Dr9&ZZY)rtX;ccn#oD=r*|Pur26cV-SB>K%H`;1=lO5N#%0S^gVsPX?%e#Dhy5)b@`SW4r(QhuUIisJyv$3Jn8 zAYNV%s>iT@n3T^(VarQHBL*IeZoL@1zQlh-NX|*`PT~UYI&X9S+7|>9mJPczGBY#N z)32BP2)Z8ew|QUV0H6MLMTGJ(_{nQ>6-OrE?$5sQ=8H*_Bn~<$@6?ddZP8nYs|;}aN+vb<=IgXU|Z4A z8=jX%T}CJ#PbeNUh*FOuwc6G!l&MeJj8K-ZjyfM77#sr*Y>j;ODjFZ8v`+B_ z|EvVZA_V)Q7+uSqkFB)q zLB-Sf0hj^zWB)X+t^o6=vaeES7J9I#(7at|5J^`mo;a(}YwXz7sJyvQKC6!N+kZ-v z@)BDlbxoNIyB9=y_cGc_@TCwD(kj-&3YK&8LQ9&G%HwA1r&~Pe-EyIBMeG1&ub#d> zAc_eewR3ZD`F82*VPyGkB&l)PecrxUDf=b{YA%FHF6g(5zy)U*Yqru><>O7|#0<}z^X)-nz*AE1_Mehm z$nM7!nb-Mv+xZ9=xrgI1DEZ#bFO#FcQU(vWx5l{p%+D`{Lh^+sP$ppOtmlOf*+;%8 zWS5*d*FT#pR|~Gr_%cQ||Hda$aqb|ZYE@vaW z`B6r?x?+jRzmko6lq@){Zm;wWCQM#mt8%Q%o$KreK z`<(Oq4bKm94jc}LZJ*C|y{=bWZx{vc#@Jn??RA%3Omp4BW652{58VXzM^45FYjk~4 z!c8c0Pd59E`%M>`*S?9Lc{YP@VoP&U6|=Sf)G^jh^qY9jth|=Wa(0onGl-={`PA*B z{?mmMrtfB+1?VSeVECam!_{>2x%&o}5>ttwFsq*o6olIfIbdbc2zRo<<%DN=Tv!D~OS51uKh zrL454P`si>r*iWOPpPp6ozxtvUToWVJsw2g#nW{{p9BXBB-uCpdtAY1X|&wIK*(iA z6df2CNE)y2?d`P}K6NO=nojAY2e$J2d>R{2=$p5s@5I+linNVaxZ#uAr)Wzg+6fm` zpO639zCL%>;8*G6c8`?Z(R1ftE)hl-Cb=4x53F&Xs%p;c!i@%y>ZebH7uv4=`Pr7; z(y*je>^X8=6dR=;J2k1?LwB^Fur8kfL<_8MywsmoxYq|o2 zo$z||6G?0BTuP_PHam;*)){%+aoN#l4XSU&XH4njH!mBagYfh*Jk{J*#tpqY5;LIq zTT})kR8HNQFG4r*jz4=z3L*vIt1B(mbCF|y(@A%?g3F%2D(iX}=OUBP^n2MsFJL&& zlIqyG`dYztq~bXD!Jb=DL?F}7`e`MS-@GXvLpgl-mjU1LUrhy-E>~Y)l zwc6Q1?Z($_PAP$}LqZN@Sl>mYY}QQ&0Z9a|T(2}Kuv3nj=$D{0>}{5Q8cg^=nU8og^oS&M*0I)1!f!}9ucv>@I7 zV&-Re9a-sg?P>{i>6oz8$>0ld_ak3^c+c6A6cKaf<;CwJ)ppGn-BU0q-m~{^Ke)@4 zX%>&4-~5G_nciM-|B%jho+C@-sop4?g{d-!sXG1N^CCZCD(N-@4n+KY}lELbtRSe z>UJZJ^GJtfW8Q?F!eEh>LF=W*gjPhn$&}SjWTLk@ic3$0>S_D!@syBjTFQW_TRp}! zEPnh#O5jzC)Nr)A-Mgh+{dDyVQ;K<9%sbVSs;3q!MqFcJr7AWSNAx~iecY3wS%L>C zNa>C$s$2OET5fi^k;Kl*X3W-fW8&F9WpSh!X{6H4*6i(hov0gxF#Fyq9@{Y1C|=p6 zaLI za_$fRL?1+ajK}#WAbrw&+Wu3{e;%ZsBgiZ`2|E zG;#!&5AJ@tj)Lb*@xrxwCacVcQS(-a#8z{Zzfoq6iBiDE!e9{|3czv8doo5NZamkR zlXbtsQWcSqK%IEOA~R(5LIru>q~N}pOKH#DhUiT^8k-+Dy!C3Tu!?}uksXuH6?HE& zt#qv%^EN$ZMO`1X+|V1ix4IOrNzLR&#u(uu|2@tt5&ZK8jc*Mt0Z%iV4;|U|!>yQ+}J>jt@E8o`Ea*k)ooq zLQV}8xU6eFiA=0{aE{}njEnrE#+Ua@d8MpXGZ0@K`{Bhn?b08&$Jr%$8A<6BtYupd zn6G*EXB}WNDx5l$52O9m*eLwZ3|KSpCw^b|FoOZ%#|3_RY?xYSkX=DV+;R|_=rpUq_ZuC(4~z-9LI+mi$r&I2d=Z@3JX z$6E$(Be6S(S%Wf?SZXE?zc$+&&a02ai51$1^|a+BCkW2<=Rv7Pa5sqhE+Z9@A|)|5 zLc6O>U8^5wZf^IuG;II5X4fJ1b4fC{TsKMni_@U;Y{pxR!6raA1q6@v9}dCO9H+a@ zP|C)W6WtnuK|pf29jNIak$AIHu^Wv?C7r+Y8)cU1@7$H5sZc((9$>;7Af8`G(7&T_iT;_xT*Go4>318m2)u~E)M`MVj-!;R(-@0P4%jak|3Kp z<2J%01^s7IOP^# zn#XT4BL=`~!qlV$@676Z>C4souVV@^Q(TsTUlFSM@pURRLuo5QT{1*jpMZE@wUWAYtebFz|ap8js!C1J5!=WiXG__~i}0gpv1 z9`%^+h%^~?!%{CVmTY-mrH%W~7wG3nWf0yRXU)e|iV;U!ysZ-;W(*SO`$VUBm?(W> z*NYDxJN>kU+pak>T%smhy1nY8`UOJTDET?G;*gazkgcD7@r{&COLKk6F9gzj9hk|f>(jR=7+Sb^rHvsQ@(|d4 za{cBwuY$Mp=tDxt&G@JCxd_qve)bVdxE0xPU*gaNFMdGAaK0(PCr=0z6uiGK0Pu` zPTpt9Eb!t$o!@Glxam?^r!s0q)aC4k#Rf@BhCLWOXj~l95G5SjV&Kr=mr0h?v7J%c z9A(q2Z{cy`^Y|gvt&O`Q0d|)`vJg6=bZdV9%j*i0Fw>1;iFmOce z&AgeZ?s3j2UFm!#5V-uUN>s=>T)ZMocdrw9@9FyBZ-D<^Ui z({G(!gr)6dXucKt_p@G#fFvbGLxT_1{O*#0(0bgIXS0)^L#}beh1=p5!!`z_x>a4N zl$jW8>&#?(| z9)F;#ya*E`ft#qdqg)aZ_oF;G^u7_Y~J4balb}IOC zuO1O5CE3vX@N`~K=PSx3-W*#XL8s9wRAzTvtmS7F8jB&O=sVaXyYQ&r&9XZ*I~#AjJ<&}dd#!zd33tJS##7HS=v7Oy-f&$W)FV;ap@-0p zg)s5BZbE_SCP(g(d}yKP;_w%>a86$5;#L%I}UY%-+(7ZV02|%hQ-XPiU}*M z!s-h^K?-6|`m*&=ZrEUI#jsuRyyQ zx{rxM%D!A2B|n$_;hLT9`zybbe8y*cvpT`dn$^Xw6NkXo)OyaAZmk4u{K`TWSuji( z@O$!QA3AkY*1l^3*d;0;8Yt}B3ua_ZSfD0!9hj^|gtlanVGG$j&go@SC=1?AsuHNq z-NhCcA*d1z52mwv?`O(?mU(a>DvR2#u$5jy@J?5c6pGE=y7b;YU&KOD$-8pE#7TVckg$@V-(-wBeuIi;wKvvI zkXcL)Sla&I*O|*JvS4thM6EM`4EF}A7yu0vFSr65j%%HYWsq|O(G--!Z}5A*-D+Is zPrn_2dr^1z4Yq^(=GAV=3<~_lEcmf}+FO@mL1(e?i>q?iGx!+r0J`QXj{cMBc_*KZ6v!3N3F z`Ujvf+xJYoh5xKihg_Z|mKKX2sP>p1+J%naGiU{$I%-jFufMPazKss|gb_K)DYgYe zYrV}-f)MgD(!x(f-6Fpj)YCcyxUlh_b&_w}XthWDl;<8Mm2#+gXYfXua?s9?M7c7Z z1Q`g)B%x;m;2mC^kk78F)QA>{R$OTVee#7>opT9}Q_aR4h2toxGq3fI*;`Wl-Z_|5 zzuEEzQk?sX<1#aSIR=ntZ65Xgkf>d7C*!y@IFw)oH4XKT(GW0pmJ`Yk+T8$XjDYj9 zCL)e0xt}Yw87_C|_KUfc8I{lLZLiYyk+xUG(yCI`v=~NP{HmkY@zgHhPUap_r00h^u8iZ6`>YY&a%*BS? zrF4yGi8#jew+f;I9YTiMp(u4tU_xLk2+LBw8&4;ol=o3b;rXKGFm>VHayv8Wq8*Mq zt0{EK7BSkbyjvZS(lFB@jCE;=;QpB)O9DJUjyLDLFjw4kB77j?PXOpn`b+gl9u9@b zats!=fKw+F+UMjLWJv)304yR4QczTu9b+!D)u+em2ou7r7wVPO06s|(3t zWjt9zy6a#Mg*A!Z{Wb@gg6;9B5C5|1DUt!m(K48L3Y+eYR5yG>$(6ae`66sX{wP#q zG)pf9EQI0vAP7j`lZ1GJSj)ZWIXj zoi|b{YrxnpDZ4ONPuF-mE3zM3@NgW84EE=m(A5)mu-eNjtZ@YGgYHM-DSu?y&TEIg z#5ARV;Fq{3X5a0Hz*6irKcJt6s+k)ofX&B9oU+Uq7}g4W@NN}~;X>KSqaK~H2cLE- zZ8q;qZy^|Jq~L6X5m=8QrmrlyxnFli@H8VM3l*5Jc2K{x!$QRkKz=MLlwy!rbfHyI z{l-Udl>Zz!$|-JQs3`ND2psi6&f|&kc1D`@qZk8N0g3KzsAfC%)7(zueiU5(oGsZc z2pg@P_4)V>Qxh8CM77J1ZyMCdlKfn>q80-zT5t<*v>;UR3lM$-$*K4u595Jbe2^E?6E8%(6vpvc`@@5pdFm#f4v^BLRNknBWH5Y0 z@C4KAwA`;Xuo%^<^ciufTpFvDG^@H|(MVjU!J=yr`ma9Oi|1%_c6+@5N3%NrP1#%>&TUP&rwT6(lHk2qp@(1&vz zgbq3SUMaxa*$=j*l4Bf7Tz0{YSez6M_T+cv_A^<9AUGcCDQ{0Qu9~nRix0f^Kc>%n z@ynp{%%>N*$f5>Nl-7FLG0$FsfQ4=tQSexU1*V(LYWK+bn(TkBuG# zUMeCa+!Vom#Niop4%(?HD<*+U*(M{YS1Zgl?iR4}`mKlB8 z6vhyU6(Bm7v6^+ptHACX#xt^p+`=n-28cBSrt-7XU?FTXyfT`KA2kWpF+!1j(ZeeE z3tUL|i!j?^wGc9Df%cMMbcEF-!c-ZDC24AD$Anx3Am9@Al5ubz=2|OWF`A3W8`{k) zYT)68tVjp9e=nU!InY;XTd8IdPFoCcn~4HJYu$uXizPXJtACQ*zh7eYAht$F3jyuk z&BuPfoVPaDFM4?nwvILH1E%SfLdIzmpBhdd_goz&W+N14?ki>g%)B4h2c|hWWzUmJiVeChPC_JQFlQJO`E211|Dl zy{Y8CRt0c^l?-pU!Kl~Jqfj+dRVEJ0W>HS>g&`DhdC8TUjDXE0TqE>QT~qbJ+R~T; zCilI*KnVMuH5lUc#StG!=#t|_80B!GU%>f{ctOJ`AnRxY;2*ET&c^y5 zWb^%;+l{~+d@K>QLXFl2*B$##%X`{KtggE!IG1YXd%y`y%Mn%tE@Br{)f#e+RPige z3ykq9nTNi}TTg+O!|{txxTcMk2LLv>>^L{% zU2%9IZc_e`pq+!`;5D|1ygmR!I8|S>L$DSunHQlc>YnAf=*<<{3y|$;vpJ@DA z?>#4ftt(e@Ju|cJS?ivA=862IEQ5|hg7WIsD|9(oNwrt6-cY@I^;!q{^~*Q-c=!yj zUYVQ7Ns4KBWgN64CDCiU|1jWRDoHopK1$skN{i=4k^O=r-i0gnxeI|5SJBC@|2M*b z`Nk{E5Om(E)$V7s9vb1VXc1JB37^Pf-fxdB@f8g>Ke?7jpI?ONLq@%H9DipYEjBkg zES0Fk@?b0Tmf7va$S==+`2dSPA^f{?QvR#^AA?@L8~F11uRp5{(~nhu7O%!WQ0e@; z+9tvR{8@c*MMEa|v+ClvFzEJyQc?y!4=hmLAMAN z^L0Kwr5oPkUU;37Qa+q7kYu;4_ace%dmYQviQbgfrw6V-Z9m?%cb;BB10Q2YMV}V# z1RV@+cPugeHkbJxm!I3V5Rcn8QjZtCM_WCY&N@bnZo65Q?@le-@2^Og??VX#4v%7= zZtaT#)-hwBmIhh^uP6IiJ8vg0E1R}c*&mnj*;{PKM^~EeAjhEl zv*VSEd0(S*-`I|Q{}IYNxBXVpyREa~*4T`u%L>Y6=YdSon_uMj%Xdc-mACEf&yST` zftQUGV$jw#P0^Mke9@*O{OiS&Qqi_6{A1y%poo zK%dP6_Pc@7>1Y$^CIY#kS8qFv1q!Y2f{ZACi^HwZAmyOmx{0vVD&k2YNWqOmjK7q+$9rX~8Cfa;ha#{R*Y~pyl*X_N| zg7Mree|s`kegI4H7PPDvCY0O7lZmI3iw8iFg&59+6sEZ))bW<_-q6>8(QAR;Pz?On}1w!3aYL6 zOzrJrFn`(OV6=}J-mr{E6GesW)dqVX(!q-+uy zJ@I!pab82jF)$_$vy5NQkK>`9P5?@q?IvVUU}x{P)PvZJhApLn28$LXM)g65L}BE8 z>k_=ZpSTsc$VN6ecNsSn1@XhoBr#&^C~a+9Hs4B2``elCPHq`Q2dlRMDdXMhlbX%8 z@q9o&s?I(c@#Yk|Bns13L}UZK#sE5<9h?(Qga9WIM}dD)#ruM)R>7UCFn>CwF!HyO z5e5kBrljxuRxo?IF8v2ieIA1f_ZxywUef^(uo1kn8PUAJ@(L1>n=*a2{iwQ97}hiK z^eqrVTYhSGSEe9r9n}qk@#^rF$wU2e@Z!E;nsG}-G+4Sf2oNS6)<;E1Qlea&Vq`B* zx65It;#xN|ab)G7;;G%zZ&K8`sD52Rk((;bw36|o;l0hCSF=>2VI|+m$#>cWDyuXw zIjWct#cDc$?RioZu zlWj72qhLngRjh6%2`o5p`7oPN<{`;8Jaix_HP5S>0oaPNHY6aq+uenjS@yC$IUb=pEJ;_1+5G*D}3`)(I;*2QO-N8aL)`{+iwu% zXv>;Q&1zvUuR~mh12Osaj5Y;i`$0n0k!_d;C|T~`@L4d-u&W9FJv}o>XV|Ad;v{s* zU}s@oI9F(dkPSoQi>Xq{Bt14wb5OpTrNzkNtU$R23Y>HpQFg{SwtdKaSkBKRRhKm? zgl+evw7<1&L=~sj&?s${gz56wPu9F~11`7-8o)RXZ@$Y`Bc~P6tFH1x3Yg3s3J>e& z+fDlEnOrNTchSnbEV(p7PdVGgCP)QZHi^OPr_>5ag{->DB``|W`U&@7Mu?~z0XN(% z4M#Z6aIG|==iIIH&sl#%|M`*bnu^=Lb!AqdJt%fv1jv~T*nx^=bD+RALx7(`MWf&m zT3ERKr+^LaqeZprNvK;ZyQhGDVLqX7;C-L34d32l>C8;U-mmQ1QlDnnb8--GPU`Pv zD-z2Z(`3{WeM-s?8~heNCT147oNA++wZ%z;(g^1B*5lfoxikuZ`B^Z)jT)4X@E2HC z4zPb;tW`O`vmqQ?O-7vzCl32Yh?#JjK^57rAgM!>=aoZ4a&+6a`v>Zv-(@U1gAQR5 z!ehGEv>B*Us|WNb>^l})z*%BsOi!(6DFxqmonmTG7Hsz-;k2RmYcAG7FxRu z@Lne@9dNOaE2(U})%&}I);vH)RXUD>hoh%q>sptWx$ss^PgiGo-pW!je7Cq*OaBUHY}`|nvsFls*amyBAJ}>iScdCu zAfCzcG+GxnxSmT=XNw{AZxYK!Z8w3mNGRX2B+CeGLdEX5 zteVmDW^dJ6YbmSZj3blrKoadsWx2j~okL;}CV3PS#kHf7P#D7E2j|BWKlY~(kKq6M zmo2PjR0m*aWt4$UHPDp$`L|AM1QWo)AJH((CI=OqUhOE#YpwPnl6_sZ8wPp+Hmoi! zJROQ*hs804J}w=eHUXm?WgxA=L1t`3$R-W{NdC7n6D<^JHd;@r1`3ohH`nwa8K8Rc3nT=JUh4o|@2BMG$c z915_;lyUpM{yZlm`GnQiS4l&Y#on8k3B+Y#d*f_)#QP`qop>+Up%X)Xt<6e^5{j1i zD~3i+V9Y>9O`JjVV;)B_P`+0LVrG`fl$a%11&3o)tXqf89bu5odV(;8C9{SK-i4v? z_gC2`zRv^|s*bU5PeCWs;>MX0=$Peg@*$+<#nbB7^%r+tPKpZ#^PWv2ofGyI z?&Udq3l~YBF`^4IsqW>g{-iDxObFCi78PFvVcWS2J{DFAEne_R+km zj=w8gJC1K-**SV$Lvsjku^l3vltM7Vzs(4Cz4 zT|n%4g*c6&SIQttg|5_qtG(sj-P)*SNxZak^V`K{4sn})*Mkim)bRH3OHkYM=0eyujd!C%Nn5`yKl;>Hv~{j4LaSy9k1ovDUaGREVR!w# z&=X<4Ti2_cyy*hbMqp#DVFJ5nD0)(r&769s+uPR<)%y&~b9wqyJI;d%$Bo{5A2mhi zQofC?r0(4$q56XOPk6hUO&{qzX~b(n%H;6+-1KstSi^u1!LC)ZVNnLmS}c$pge+Vj zcmOvFElZ+TKx!3q)1<;xQwNe}#K!{<96E3>od~)3m4zL~h~)7a%lfcQlUu}&I*-^2 z)6>rkPf5ZEyo}(zWs;WkZ+A8LSt5i+InBh@*i(lc$d$Bfgal^0YJ8T(41f8r=oqnDssr?=Gg|D^gmVlNiSUUA&Ab@St$l5>rBU(0JcNmm6HiQlmy?1_ zu>|jYhuVc~#Kk|^_u%GYEwP{(5q9~YCPqdQG? zpgY8*wzPA8s>+s99wkZg(W=x8_hMH1;1b=KnX2WTmWmXB?Ke}0CJ$|)A-VqB>%S^y zzEtcKOXB{4@~UWmi%HI4!hTbG$6gag#UNHfWX>mN5-oY0D%EPBSsy0=r>rR*ogAso z%W|(c(4+_s+`tyOLnSAhx8LphNAneM5`Crc9-4Gup^RaE|+p&iP=ZCbVXf z31RWC51)xwT+Eg<;<#YxrXAy}n}KvesI}_(7N7K<&puq?6XH7t%!DmL$9PIqlO_4H z3VLC!aXl&pE#f5vgY6|O`N7vEk_h4$&%?P-YLFkb^KoO zEf$XsyK_@lOLb%SbgF{YO)K)Pg>!&=xb-`Xta7L~Xy-fRunD}di$MsP(aY>8NoO-G zkkuMNyy&x;WHg(#llk>+@gphfp#m?Y1}7G*sOjQ|Vc9BU_>lkln~%R!U=xYULT(WThJN!&WiF=HE@&5>+?!bW?xK2{vNknugZV#QZuVeQygx z5mhZkZR4Mik5R6eEF@!>kLp2cI%_@lY1;V_sW=itc)JD>{L5$Lbny4QdZH*B;TES0 zU!qNGkh530tw2`S)M=U+iCp6P+lrA~T4yrbRXN>EXw9=qscb=9H1Y2-b z^`2HVRCeBcZ6J#&Gcsyl+ib8P-7ig-g`Sker#5Q0q|xEk%FWXcImeL00gv#^Uv!)9 zMK-q_0_DurGHCI`Dq>Mv*T3c)%Sr=1DeN^hm$==-CedffiZj@@wD>EQJSfXBk-&sC z+(T*`USeu=(i@TT)%<$SW|8;^hO?s%ff0%^7CYjGS!AOc!>^%*E_2-MPF_(QY@G6| zAuNleNZV2LOM$XD=y1Pfw?F={+0EdW6`!8R1^qnr^_ba=@v%Ja_l%?FY z)<*H)lDK7y?noJw9f*vKtx93zX!UALwuirevzZ;#mEBQS>d#3xI^B4+FCXj{Zu$nL zaED?z3tFvUg2qvE>8w$<#XkUoeNV9JOh;ns_fuvX5UHiGi&GyIqqY@L*ip-DkOubC zjFISwKYU|7gY3@5=7*zV`~?ji)_Hg z37T;m>$Ty39C@`J;*L1tEIN=e!Z!HIV(h zXxq6NH#Le64r?-~ zE7}VibR{h;@ny?u@@uTJU*A=lzGsFV}oQiA?TW@g|BoQr^!CxKf)@h2P>q{2phhQV}rbB9? zzBceJJW33Z#!~DpHu5!Asd<2AE_GqwlpE3ckfk8f1FGnh?MFKjVh6R~9QEFhBPHhb zUdXzZHPF2CX%)=5$_|=dh#cfl+;9Q9;1eblIh|8xL?zcLZx9J&zxn^Uam8l?ze&Em zJr`T6YG*F80o3>jjxtq128OuFkFB8y3*B(zI+L}V0zm?{`KeO8c{+R#*q(`LA=eLt zzpB+JOVW1ljX5!idfTnxCz^}K#7K!%d$PG4AM`S_1`{>7iFP1|^9^~#SH*p6Z(?_4 zl;4FJ{*X<#Pq})q;?8EWl!QbEeG59tgdMVs|pdyhQ(?-6(Q54l5coh*eHs`UjOIP$Z$tgfa@%V#=Q^b*xRiz zz7N|heXHqcH#wS6;n?Qjv48II6V$;ZQ+PC2wL8Y*8Tfn_-H}b;E4Et3Q)ejp(L##L z4R7|Qmw3y0*KP3?2aQ#lnG*pXTQS&e;L?A=U1;34p|xRM@}1afi(#W<#`k@)^hE8M z26cqWlj6u<1-Q4v;M1P1$%~^%0Cpj#wg19_Gv_&bc(|wE`9$7zrs0wG#zT$AiOzlz zCLd7AsdAz-43 zAO+;5a4T^+YqDnGNvQ=<+O)Xanf(#cK(`0=}d;LK}`VfoTHwwq0qKexTs!3Z9dj}nPzREuj zQI=E(@LNe--5j(XKhe_^Y7EX*ENJtf5;mc%7xQNrDzEA70SWg`5&gKMd7|O`S~v)! z9P1rHzXP0302mH^^>oF8^k@+l-Nvl_iZQ zNDQMV0T9f9@<`J+idJb3QC{N=F1AE4J7*m(xc?ntOLn!W*a(I{G{)m+*;on|#)l9MnUNoCphzO)-p>6ayL0Jf#g>v;1fG3L@o$iNqF7B*(At6h&o$ao+w0XTe#K<(x zCHcKpA)%<0-%aNx^_-{OT6BKiiER9eKJ zywC<@u?XII2szKZNgzi#=_X^=yRr@a7Y%c`mKH_><*-z%jL@+?NfVR)tOJ(tfik+3 zXbovAc+=C~AKTlz4s! z{W}~>)%YfCYGUpC4Mby~Tn?_u6>evr+!oN7CyIBF`IsA8engYc8wYl!0&|D_66Cho zDI^B1n689|2wyg3QPYI%G;*Jw4Ns!g_HBJiH*%8 z6g>8MPNC#m!s(qD)cG!0?1L+f_T$5C>*l|Q(ay_ZWHGVQS@XUMPp#AjoDC>+VZxBf zL$>*mGNUK8Kust2O;&9>BPh-08ZXLCP0a`oO?ARRC6`fJS&l5+a>I(*`aYbcDEhTF zOHsd#2AlAwjSjjW#=Vx)x@pF6Gq2YShS*K7teM7*0;;(U^>b6hECj(yDrf1oJwIfl zn53C%3WT%^<@C&^7zo+yFAIOjjummvC3UGL><_=uENlGL{b?Im@o6whsHTjrlwtrj z;Uq44fUaToxo81;?lu1BP-^PZ)vlUp`3crL)FrjFm3LO>dF)Z>N3FpMqf?5?QYia{ zR6h2_{6~P}#BT8=WVD7(LI#p~^=3mZ1VCb)`dPO{WAL4Gr8%>MI<)4eRXvAbc@CF%r)acT#pz+-yEFW!8$ww6(l*k}zvsjB(dkhWT}VS-)IH zPPf?_Thb)b@&D7HAI0;IO1D)yAF6{Z2N5dM##BzY**VY598C0@-=A<*5dH>FTU~0U zXG)ja&haWWr_rLEki@yl!d)JMbddmSjUUK9PQ}cYRV@BDifuWPjem6UpGRhV_ZwSk3$Y-mCr(N_i z*Ib14K*q{!9MPAP7J-W#(;e)QLL;0SST{|VMgSdWTe5`SP~4tdO_KoKO#K6^v|XQs!~m)y_%L1x*piH7J?MQqbXW?DE~CDZRjg zu`E!Uo;~CFh(}|Q9=J4J>r3ke)#zCw;Euz)cMHFjV7KYPyKVd5G+BK~6S0pNur8O~ znZM6|S4Vf=C)#`Z2g18$`fl+(9hwC-(DOz9st}EeX8K;}YSSUoxmeOz*G#X#^&=z&!RVkv~&x_yZ&g=*Qo$T2E@k4t}72; z;_=8<;8BMu4miKz<`i0sc&5s8skZ9V zil8;e_Ss*fh&ZyzE3(->4EwiLw)S#?WP(=1(}FE`<_#{KK!nZj9NrU2XLQvlf>xQc z&Z3?A+%pVA0rIQ2-vG4$LTPRZZ!mPhK`$QftqPtr&<78vaPv3D=!8RglYlO1z8YF0 zV2}26PXw}l=Iw3st&$)-&l_UN2<>(K#vMZugnxNaCFRmWho~DmG(>}q2b>>goVN;9 zh_nN_qM{mcYG4M%F!wlwQc$oFP~u=yAlC?+8Dw?N5Q+G831{<>{}cHysOj#Ar7)gH zFJ5&1#Ds(zVku?0ghB17VtdjNuEbD1o=my(m!6tK2pMXlRljB>BMu++1@U-Mt3;t7 z)qM%r4(XN%hl!IW{_aB4Oz@YEeZ_Z5jcAndb2=%iZSjFh2q&$1!FP4y1pEjkp-~yt zh^$HPDW--b8F*+vRKw)~Qf;TnH17f4EHf!&Qz+SQ#%8mQitc{SPVEAAg>9e^=Y}`F zAN7qh4RvnuHJejzEzKVA#rVhcF2u2xuP{rj}SroU#fn^uT6-z}zpS2eFYc+)N9|wyHyCl+~pkiYBTlXAekehy@>z zPzH`c4DjzZGmq?Q6J5zliiRad&mLY~_vSE?b)fjMUoml$Fkp1`S>VGNweaZ4f5^So z{&5XD{_nyYu<<@?dmfC7jXhr72dZ<2PFjLanV7Gu5w`=~cVg``9;bfkm`-aXL2ebL z$IS8R_+mT;s_e!w-Is{>(4?y8(6YywzjmSSFbYA>$;1*aXPg}PMH@M*7Xg*rKc7BH z$oFvopje>?9|@GewFqO|J#(jiIT^TIoPq|BMwoQP_un1-kG7-*jrr{>K6WeVv6;*M zCTw@RhOWnJi+a#gVGuxsX&TJUaxzJe(6G*rkwxm)h9((em}?1Aqd1O&>KKAL{@i@8 zRx?gCO1FC=K54cu9pc7kL&9?Fu6Cw&VPgAkrKdYRQ!2`tgJ##@**(%id6-MZ_i-BY z(?zP2*P1Xb(#(2`aSo+?_8K~HQnV@UrVBNn9?MpZ^*HJ^rS;Q|@!mwWlXHY$K)Z7>2iz#rA z!J4i2qp`Jr(WP_lh#^vYsMjc>c7e98&jZBbK<{tiyLdVgJH0e1*w)73@CN-KoV{|Y zcwx6*V5Tk31Ue@&T4ZD1r35up;gMhDosKsUT!6lV4{=m*JkK_XDeZa8yaE0|&;OLFSubLUyFWX!d?-M{7uLhso#ka`|17U< zTgs*oZ~d;(;z~Sx+bs-(DGIsmRV2Ey=|HoR?Dy}A()o-aDe~Ls3ew=589Vp4Z#1Ws z2Cm^Hxxa1Cnt$F{@uwTRSi9%8a2ncgZD1%hLzLX#5|1d4fVQHFm0Ec7Qp>EHWs4`M zHPE+LO;e&HsL;s9UDrcAC@m{xhL9|w8cpNe@dzbO_Nq7r9-zad{+R3`M*e>WgI;o* z-^8H%OlajiW0KkTl-F_uA{dK)c<*kY5QxOT7R8!4Y*@D!+lP?zM;rep7e;Z^RiNIH~Kn@ zsb*X#!%g&?C~1`Fso64|RdNV{?@-Ct|0ki}dYX?Z#OZ$PFT)wTp8e;@2%orYl7fGwer4Eb4&eIZ5WucrCs@Gx-3nf$NHFz8UdW{6d z8J(FOnS6Zz3Z}e5^5dbnZ}@4Qwscgl)u@cGtzO!*e3IX7QGmbmvN}&+zHv)zB_iPoTad_baur*>d7a&M5%iIZ8L1%#<`umI~L5SUx z^q<&&F+zD!oIt#qrB2+PZcUF?3bSOQSW+e5*Gl<6WSV@9*x7Yhsj8V%?>mUQJ}rR2!sR6soUG+9y0`O3R4^riG+qzkj!-y3zEsD8An9uMm4+ zB;-@mu7;VSl^0}z&eOg!tF`w?Df+wVc~WXae=rsPa514kqb;UZA}pXDg6bb4q4m2O z&J(OtW#S)|P6cNM0sZcrk{m+zQkGQ^}1gTS`k`RS2xu*pQpC@<)!2 zfS910=8*TY1L$$nJK)-1Mw0-xs2h-8o%1rpQO~1Nl#aGDgWk$xP!@@f? zyxu8z1`Evx=I64{w<1|6bh01@k>U{fRckS_!5+*q-N8~I2__?btzr?}#g*YfF zxdHALqL*MfyLt|?({5sGoH#1|>bA00I#EftNwT2+I6I>FfRAf_=g6K#A6Uohrn7{F zX;grB$&cMlo5&C)ytBD)fP&Yo z*)GjQceOVCd4ODKs97czi3(9^N;Uwsw>FU4h1pE2>8Fq!oI^XKAB=`-|CtGem_mT> zj9E-_mI@r3G(L;|FNN;eF5df$ZpVY{Ul%?&`C4I!W-O1BJYzYeG#e@B@U4)tT}|X* z1)pGWPME2T7*HbPZUBCB{mF5l0=4N@iOrv8~77=S~EaZJZb0ThX z7wq z)x3Grf_s6c?e52b?7raH_NCC^D>53_&c$2szVXnzchD+uhMlONtUxocb)NYeR(5!n z+XaR_*puqPT(|`@SE~8B1QVBPUYcra-?bL&-)bXWu5W%31DXA`T{Pf>zmJ{uj?TFO zpV-q4oRIa^ijQyk{O4t_0wO)4-UkpS3 zNyAqeTr>E9r5}n4d`Bed6hpFBML}!4Z?7ht7Si;O=L&JDVuuRpRuajy34mpQrVBw{ zax&GuOPI8}f!-mdNQXe9UHLCsurW&W%vkx#ipaUuhuIW*!R#67VV3mwDn;tl35=r3 z6+K2^!na}0y(lR);%ri@)}lh^ggBNoI!)o9lad@n^OT%<32*=;1C?>6Yi}pfAS|47 z5mKlsCh$eC*V_Sz?Kw7S?~n9$#Ms6E7(GV3k23QyPi4%={?f3;){m3k2|~ID;p1q} zIm!*U@p%nBB1ug^jC$#gd+HKY4l5ime4`o1bc60)-9gN+kp$$p05aCn#fF{8hw+;8 zXyiH=f<%SxT(t5Ca($Wv3B9Gj0hX*#Mdm7*>V`f!jiwO%fKNkpMxaaTp(*kE)%hIm zQD<(C;-)04GdxrRLuT2vDQ!s*dUU_)2hk0nR=oOdoy&jE8bWde-^9S`oE6%CWH4)S z(Tsdr3Mwb{viJliN^ z7CDXB{nJwAC2MFNq@#s+2QqaAuaE#3N`0jdCVVtKKqKav()-XE?zbOIQwkUfWI08t<{M7WDS|5Zfy4LMWRqPf_oGglCpS zWx3oky@H&U4>F>y`HVG#X8;K-*|3uqA(%^S*=2we+)5zuIV@7f(lTO{s{nmEbf{Wf z9v;8{w?AmblT3!IEV*8})HZ(O<0@&94{CrFQ!({;ZF^8Xi1OmCbcRu=0&|s@9;S9d z6#NIi3j<+_!HHAf6^E=%6~kX8blRD{)1h96R8rW31#tT&&NsoCQF0b%tcPIh(H!f-G(a%Vsny)(F9MFla8K79=n7-Co?Y&)nH7K90&jz zgi|-53a>SnO87Dh>J=S1Z1qxo7z8KCHe`fU?9(S;6As>j1bf&RJp$YoDBL32W9l0)8u!VJ?+8L`OCB0VI#* zLR=iDw8>dKR6TE1PB+5j_A*|jubKr?kSIO2)0%RS=GUKfR&mIcSO4%!(%qy^ZE$GQq%dw=HsN~$ zFy7Oh#nP9CBzrqlV${yvXX)tVzi1%)G{-N{EIxhAh~GlYTQ3U^8h$l1Mv;@aWe&;S zov_M12lk5j)ph1~8}#b@37;4fu)V;h&T2v<6J)_F%q}H5gLtTF)ce(nRPWx(z0DoW zmlQ1GwtP=nhBwQrrP&4hSza$ z)PV>eA?w>TEdI_6&)cHLW%6p6>l!$Xdw0I#R$EwP zR5M;me0-Y@^%_DBp|psSDw>kF*v^fyzB?LUmz;9022&lc606oo2jhe@6Z6;g-_?2! zP+-0N-7n1)KiiM~)`{9)>8_}(efx_whs$+2?AFS>%KYi00EFqqYm*iyw z$=3i9FWS5J5vJTLv$dJ*HH9O&K53T2Rcu8G1F4=mc|&{l1W28Svm#pmsCQ1=k^l|Ic?pU0 ziWOy+v@bZ8=BxRSrbpM`q$M#Pfd$L&X!Wr!lDN%?3Fov2IPw^s{3`^BboJ)AezB0* z7Hn3KIvp;5cQ9Y4_8zzOInOt(c?~ znM#pP0_yABJpMvU2gWUbzU^>Oy%orxxN|$ol|ear6;X%fDFug^@P zlAr%hYnW=-Blj(jCZx-aiOy`v@MlDJQ<`;t(gKNc6Hm>}Yge19T7K2uAV!iH>vL5s zNE*(ch9sT~XLTi$?~E{5yx%Bg6hHHCnbTATIM} z(s}+rUdrdoyHxKJ7@#XGq9WuMm!{7=p4pLwT!LuqCbL$!ef(QX8CBLttxo8@vV&Fw zlVU~XEoymp_ZAebl>k8!iz64v{pjHT+co$j&m%sFZN$C(6W3#Xh2<^{X<;6+CodY! zO827^&DU=l3&Up0$}=<4w!|c!o!vYnL}6>X%2-ZYzIYOny}0J6?RZ|3mzznePHs*v zB7PemPulNYVky#uylUz zHEY=AtAWNOJR`Qv-)6T|!Rc#N&ZATLj$C3mryN*6$~(%Nd`wiHAPS+ejati&(o{cZ%B+*|Di@nOkH4T_@ib>7ji z%slHwc-V{1%n*5W>PHoM^{rKK04_C+5GkP}hL;9uZ4=M|xhs$HDUMtTubc}(Yj~h) z=(zUP1_K_Tfo^hiD2J25Yz_H{3mW(PKLGpU+S~GV(?{eC6G=EOf3-z@P>v>TEX~5W zx`schNi9ZPV3oAdUE%dv(@m$ol-ksNe%5H@q5>fb$s zv9fL^!|&|4I1WA~((6Hpf{M;j1l5x(7X&zym)Cs}7fyZs@hi#bXu!rjj8QBAEJYB0 zbl+pTvl>AV)KGQtibJxeu5N1YQe%7oRx`0`Fe{-Q)P`c6Yb^i{W=G;H?VrWFJ9VJO zbNRQLU#xx^>pgYyTZutL5R_ef9`|VKgJqh1Pm$tft)AnKAHkB1^#awB^JDdK?0lK* za@m6hj8DW3{2jB7D7V3gxvwm_7Qh!znuhLqTjwr`su%UO&$f-uo1fBwL%6~VUh+t#GeU5ev5|UqL#zIY7 z>5%ZH$=Z1Fw;}CcNWdFyM%%bJ)1 z@w8}~sTyaUK^MR2cihtw>=T~e5cz03tlT_o36=>~IsxkOY3}{E4<8fS#lgfZ5v0t+ znzb-e&u?H$1u0_->(f0-(T9v+h96H|vT|x{rB!4{I7+>1EN5tVW23o~3}{D}-$uAs zzmQC|HpOE&AjZ_ai=mEal^jSuMTQ`5hTHpo0j+wN_twp;>(nstjOh= zzuuOK2d~dpSP|>fZO?iV8hYwpLP{+?2+W2q{a_za@ZJFmBFX@qVtBd^tKLm)KL|rc z|6+3u?Tx1DY3p$$OD;gkqz&U&8uWD==cEiCsTn^#~8!6?WBo|2X~X`BL%QG4SZ?wH@yO=&f*8xZdCP5 z3R#AA#D-}UaCGSOWep!V4)!Z7e1#+mB`wlg)TN z-pqD<`xLKkm^ZenJ})f@$CSMXb6_5^v+_yXg|7n%_&;GGWNl+=EMfYQh0?ss z*a_W4!Hilbf|$ld8AGGgSJ(T;sihKRyMPc0im-GwE;AQwXHW9QP7V>|it1#^2F4SX ze=jQXeH4NOQiz34*rqNoeU!W&GvPGOu|S2D4lz_7^TMuGFukB6VeX;O#oX84#d9$3k>X@i+zjjNjmJT;EWj;|`?I;%a@y`nhpILrkji=2?QZ-?6q0 z*7!Rak1~Rx+Oqj3L-ID3nM?}u1C+GYFQZd03M2;6zpuakQz@ecAxPof+UYHGbG6tm zXfUxye;snRz~dMDQOWxV(~=_vwFqDLSf9??{v`eNlzeV$8cV_ae6dy@t^yL-G03oF zpEu0>-oIkzFWNJ7%m&+?1?3ugb}VTKs`e`7JJ>Zea?ckQ63gbqVO}Enw9oMXSfbF8 ztrKxmD$bmXEX%~vpb@XLNAek@M_@G|rUG+0Nlv2ejzqa-{Kypiu+yJZG5%;O-u;m$ z&IE)4oLRu$`qgR!u>`?CJFp#BltzQ+5lnakTp#|xs{PV$4M~3!R&8(_u+wK=>huj|94A4xCn^*` z^7|&D&KA}C*1>qBaMDC%z!?zidRm;%Lw)OoA(VBLp8(edW}`V84?REiA71-C6+W(b zpF&r>y5D$;JPR$m{_%&+=|#?`^jm9b74f|+dLG!qe4M)xT+zE(=PO!%D!e#ut9ZEL z(|lTE=MA_Ew0m9*_YBzcuRZos*n~A6+#MQKwm&MRdOmv`U11)#?Q?1SU*e`b9tw^e z`{+N7R%ZDevTC>Qw5+rqqOWwE3&;9hE@7@*-BCUqjT(91D|DPa&H6vLSGL@fvp>T3 z4X+k4ANvmYo;xl5wy!LgFH=i9uSBo?E@pNYo&yFNMelzeuQ-olcDh0RjoMGU1+$;K zX0ttywX^Q?*q5BH$!Gn}v$IcA7aATf1)~CQ(hC~fJgz(q8*kqPa-N0;&bwcCf?UT5 zD_if+X9Mo9ECY^R$EAI9OK;XvDxObMvd^b0g|F8F{kxxzJ2nP|*@f?dQ^+5V6jpAc ztbLBwQL|f5e=)Fy4?IW5hK>st-A{z)PP`Za{U?@P(`&_r$n174n9mZ=)q;MeH_;Tx zC)vGx8W*?+A`kIK7a#xm+3L{484AP$uD|1b5gOQeI*Qr7{@gb(IQsl05X{hd8~s%D z=cOf;Em0<&$AIUZ$-He3Mim+~XuI!qOT|6j{rAG#LE6}dgDb|UtHXt&{X2C(zAE$! zz)Zy*|G>M9KzPBs5biUy3$pL?>^{JMo_S*Svdb!gchl@%-KbfYTx39}SN?Z0ffq7@ zo=1K*_qU#67#DZ5olll3rybYrnEpP`kJra@wcDshH$6T^otHEE1O5F0+nxd2atncH ziP<2JIr9{d%Mct6ALshFzWMS@_M+~RE}w*@v>%vXFZ&)ZEMGNb_xhbi8=*m~=InA+ zo=-5JPh7L_$p)NN&bcAx{!i!Gfm8j_>>W3Gl#h%!#Tv}X8Stal5hiS-;ce=edDAa53WipJMJ)_Rxz`-x^N61_p}2a_l=%0{WqDsc5=eW2E5@A zm4LIv&c}sL|Et5;z=!pej*9{nw}H-wkxogy+j2*L)TKiP@(uE1uK{(Pt!ad%h3ut> zu#kWVmBq6)%s`?Tgmy2u>{v}pOH|mB6?fK_96HqN`F5^{!gI00-02Jq;!~*vu+x+O8qxzDdmc$cP?kj^^Ih4&y#EwG*~tSOMpJfm|sg<$`WecYLB!3)$RffhmH=ZRZ<9 ziO)HeWdl!-_mxfXD27pGPPAYR7obq$r`Wo;bNxjkm&F_QSO}DN6X6r6brS7{fm32f z&D&YouDn-9&zDAyExU!;OJKm>$r|*<$<<&?nt}khY!)&JCJFCUVUg=p_h+Y4U-phc&J0Sp_5nG+y7rX-~CT@ANQ|xrJ=f12qC0! zj7y4SUC9U`am+Y%gk)#$O0r2M%IYF}Z{g55hq6cZI5{%na5~m8&iKC0{k{K)`-gt= zIL`dM-_O@`eLm+z1kWqs{YN`&Hopkc|1ruBV>^~bQe|xSXdimGyIjXeWxJXjd+$Kp za#Xe^UL7AykkUlywBtp3yBD^aN!dz|GI|y#2ZVTZR(X$XVWUoTbaWVwvGJdvc?}H> z(Yr+6WvXZQF~Lb+A<+HvvD2@r!veYtKb$(0Bx`= zWMdRoIFmM-iJ{KQXj@H@<9&nXa-S8P5v&^FuaM8Hde(%Ed7t#$2 zSyEQD%9Ia1`Y(EVe|0~*r%L-}n4Pdg3nAR%lXtEsHScx{_yh$7t<80P&F^(OD|-F= z^EIJRT33Rj)ErJ%p$?*Gg9Ab@Ae^3+q(By7kt+S znnbRLHPbiBL@N9SQm3AFN^)>N%@VsVGB-b;_zgqBko4sB9b60wv zv_6x58F_xLcTmXg>Ws$R)7mpJ>bFv`hZ7&siC4L}xSmG~2-P|0n(8%x|3s<8g~Up{!w+xSg~TQ~ZoU$ASB zzG8l&`#r94eawOsgIYl0wS%&Ba-g+b4WDk`b9%xP;}X>jsFreE3* z^^`Ergx=Y(5sx;0TTVkYnisC<1EN%T$}3x5T85kSiR{x%-&r!dt$y}vy~m7Yt+NGH zVd|NlVM)VcVWKP9Q%CE#Fk09NO%FS!>gW0a9YC7Gm|55*?QAUhE`Apmet0n1v~oTp z&>-cX=?=<<1Te^7o*aGNf-*c{cEB~_6YhZ z`EuoFm?!hKRA@{5_{vyuL;`0L{mRi-r6xI zDf-l3k5Er@>W>YDbK95)+$OIU>n1S1)g~*AClqG%A?YuNpDq+DnVc*RuvWt``c*fXOCIgTEAvn0H4`Z z*>{0fx$CjUG1_P;kACn0+iA!?*UC;+7l>|8X8Ee`#># z*TyhPZRRRRNsgS$F^$4$~z4e_aFR# zi_Vge$h-I+ee6{dO3q9{iC5wg(m806!Sdm@z50URjqN5#7i|iBO znR%Y1y6EX}WV+tSIc)u&mi=+-PDypYZVnPW#B{h@dMJIH z?X>&9WRo1Vj=djyZXzEeZ^Q0(YJ3|;g<1!YBn_lqslMlOdqW7@b zlalcA!t4Ud_4U)n#bP1N+jFV1Tjp-b($-w6^VQX`x18gbJqTDn*ZR9Hv`qv;E&GHE z$A5BnKR@jky@|u)1VX9gaFPhV(yk+L_XHP??qx|hxAfe3tc2Z`FI%yhzuV{!jNa$ z+QJBxWKD70r$e*Nz8L_Yp+cln8^5pe>Q|A#^#vnSdPRN8Dg6^X6<{Q|D6#i}ZeE_# z-^7P9bdyEHzZO)wxsBcwb2UWXD9b0POT^_}ZaX3K3r=r;*QvIQILhCBWvO^&vaxNQ z8A*QSWtN(iO&MwPbMDrj>IdUq_h~;LOvh1J-JezK_O6p!G;dA7N_#(t@=;Ss* z1-B_GjvFOugKQwRisz;EgG{JUCOo??4J)s8%E@5X`wtAH2<+aQ_TKZcrwgu+n&JSK z==$q0mxesDK{lZ2nH;%FD0?Vq6w>q`JN-uoq7ge>J4HasDB_tF?mY39yN#w2*M?Hs% zEyxB`AkfnfzY5vSa%;3*n5n_>e?ZrsT7-Op0*koNQed2SR8TbtE;CsAUNG=V+*o*{ zaO7}i$d03zm2%`E$enj&D>P%cWFJKq5?VOej96u#UB{qx-+%f3Fwp`iOF~*LVJz}$ ztMlPdSC3(9-?+a_C*H^!-ViVKmq9Sj+I!@d5Y&ZJq8p2nlQO>{ti1%^98VP#<#ke< ziIt0vS{|#3$&E_H3Plnm>8gCPylqaK#8IW?YGWK3OIBe}*ANC#GsxR5C|;e@%|h3n zVV|{GYQ^z#X2-pgM5ys`2P(yDDs#5wZ)M*V?HlS*-F0@>EDoM(@@L)8E+*{+JUD9Q zhC$wFVpb5IL4U%Nhgsx0_D8Dn0)!=KF)5{T_R!MDHdv))J(F9nb4F*5wd6q zC?NXNNnOEJl>Ma#-|vrAJ8mova$mak-Kx0GzU!@1=?DAC2Je_CL~;4&bE(d&tY+5c z4(Z;y7^J0NaehC|z!u%P$y!#AdJ&G@Y&D3Vyyb{KIrw=VgRYZYyMzAHLdo3*T-hii zH=Jw{i-SdV?Gi;MyoNW52{*Y2+~V@({dpWSKcq+V_uTpL?N~7*FiQ#qvZf7(84`Q`wPU{Cl5bn-Ah9>;0kszamw}sF(ikO! z#PXWDmD(n@y(~$z09L1PPBROKMm4ty$IjeII_4?Ebc9x0aX6m$a!yjHT0|%{|=j2?EM~?m4MnlTFHOXgf<~Wn11VqKPlyA(UHj?hC#Du}S}g@wX@p zmrRX1abCdd`S=Nzk3HXoS)JfF4>_d4V=fhfntncnsCF6Oe4!`3t)pE_hz8YMp{OE3 zYNHt?fMZUx+Z=I7Q#vLvQ5PBX<;KM!%G660)4CD2;DWRLo}DSOd?CZf7+UW{$&i+g z^2rm=n{%*~vvcv7GtF$*+e#_RV){Xw zqYg6lKc1|CuqBzjco*{>-5LM2IZio^9;wB^c-suWZ^Y56DfA3`WXMLL7nw*oq_+a>0KJ(q_F{0W} zA)!2YsV_fjpX!31MzX6sJX<*f4~grJxglP%1aZ>oqz)C_e?f^=UHoRDS(yzeA{xPE z^L4onKUHeo2!BE#tv11q=?y>!xA+o-5dLY?PTNM23jvYzS((tNHn{77iKDZla{OOI z`9|45_YC9G`kRuQciGRVmw-5JEDg7iTlsA1Qne#lSHt#m#LHgGGe}2A6jya$sc`f- zz%;Io-W*ThBS-5;hNroIKBz`!<6wCdj`Th<1jdNBs~Tu)eQDT@DK+DDZXU<)PtC6A<3g=FMPIBA}-5tlnL8&_SzXxp+~CmC7Vy6}Txy-IxCv_pzYp4=Lph=_@psZt zu6`;=ZF$PWk9*io12%Jb&{BooR}4g@{$@vDssx zTi0+!Z>5`le-4Ef6mq-AV53Y!)tWD)n-bs^$S@zMs~xu5-oz1EOS!isup{xuc~t_u ziZAv{gtXRjACAh)%9(;=1CVVj^oiJ93fv@udt$oT6rqf`bS|0gflRs=P=|@K9g`qh zZQ`ss8UqN}sKoc=`bAk*03vQ8_dkc8jF;yPqje+J;7<&%?_&%mZ4gJy1*V7;Cg!0 z7(t((9_-^u)WA_&pxY=sH4bj-QV4YmW=nj(#anaoPGMw1WD`0~_Wdb`oGK-7JUzu0 zRk}q*DaOD%t|n%KN_oZ9vbe$KqLh$M**0db=18niycThkSwf}CyX>?h%81ni1~N^* z)z6wZ)AKSzEIUstN!;?zj*}k)?#$M(^&Kp>@Pti4&_>rkvL1tN<)8Tk3o5`y05C}$ zxdYjf{5ij3WU$YHJa&B$ca)E1%Lu;P&Dd&FYj0nghXz^zmj2?^eM8`dHvluGALib2 zoA$z3FgpQYtF`$a85_RYiaVd4z(^-2p-fC}NIrZ3jA4hz{QUsO$?!deOR_@V&Z1)s z6lY)63|SUcPxY_EP$@mhC0te*xf2#GbGvpBSq(OneWw)7S!4 zDj4B}EC#y$$EUCuH8huQ7|Nw)@B!o=W$7AAv0$+aN3VANW7qzw-x(C(kc(Ke7sO3QQjKI=R1fr<4oX|H2)3s?ov1D zQ{y!33NH(k!BiE$%~n3Q32?lYb*>n&vfy5;0Op{&0no#O_W~U4R^RVKLuL^K-6Ri} zR@klk1o?62Dnc|Op7)YO z#@O8me%N>)*sz3Cvckt*AV>EJ8|~*%fEN8OY@O*`CkT9>AVKSf6YuPf*>--|$Tj zSS+YWMk4@&f;fLT2hutx=z--(wCK}Hb*UW%i$@2nuRzVjH20&vhA8BfB;-zqBjj-O zi6L{_xa;`~dFJYl8P-0dId1r7X3CBYN>JI1R1s{f{{N&|xOb@nx~s*4JmE+25X=F} zfz&NBhYHS^U&$x7Hj+g`HPY+`v_{LY7HG7W4rOIBCh7?9#mEmpOQdc z9|6=8!pSBY=8_L!7?@=fI_+f#ZL_W=&Yw=Fw6w8vAaR@&XbpF^W)f`gKosUx4e~4A zfvgc_{%g1l4+t~9eX&*yI!pSK@K^zr2H;ilyRD&ghz~8BV@?&@pw$T#xK(EP$xM_# zza}#KD2r|F13eIy(T@RkhQ)P$r)RlSQOfbkG^j=K;HUsaMO(W+gd$GgYA7-L{u7+f z%qSF<7dMg4-h&aRS+**GUNvpt1dRjiOO$H9SBU7;*VK!Sm2+>MOw-IuENjBgzfMA( z8-y(V@J#W_fauo9l2CGL$qtb295O+Pgy0dud22PPw%_pEPb^-}i*m ztil96jGH$9Zi;;|GfKi-Q(^f%VAbiuYrbL$6w&0rHmh=o<&OA);><=Sv;XS1^H12z zVt#0^lelx`w{y&PW>w%XwXcw23!5KHu~6ON9wO{IY{E^MkZ;ggjKeg{(u($dWO)4V zvnCsTTOv`F&~$OuU1NPDnDB8g%k^{c!{9FtO0qn7@^u9YMM_I?Da9R%6?gaI7Oc3tTX7Er*HFB;yAvQlaEd#@-6{U@_PxL7 zyElLBoaa2r?0weEtXVTB{F{O#Itl^Gix)4@rKQA_U%Ytz`NfM@n#ix7uV7X|(1uh?sp0ZdmwTx=9S%Eo8DT6+e2Mt}l?1}u_$rpJAQsbTmKzeU);HXp zc$Hm2h#@P2+^L^mV}2Hk`)2Oapq)7hJ6_75+rAwwvaGA401wR`Udh!6F17pEwKW%Z zTb13F`CQGVM?C-Y^XJDoiuk{)7u(qH8UAw(4H@U}s?*~Q0_xw@D&Ok>#J?+h@XM}$ z%zp8LYxIY~%fG7(vuUi-nYR5NB*Cf24P14B$D6)Tfk}@QB%R|Mp$9vGCHIA_(WSHb zJ3HS?=5cs%h2P1jz~Y|+4F%sFw!mvYxjXn%lPBzWOV zeV^l!<@zUn63yHGZEeBZo9pDH6|akpL$}8Rdi^GNVb;T-KWE4F$@5*u9S@^T$xkz( zGcWhO$ zDf-*MfxcvY!IJAO~byHh$`5 zDS*#Y;DadqA9L~RIZx0hS>z`%?r%HaiHKn0#r^D#op4s<@P?x53Lfm-X4G>gvU0ye z7r{N-^;S1crHMd}=qdaV^0ItdeErI zZ^50*DU}*nNwoU=+lY;0yfPp*1;`|pnv}7IxYSG!uQ(}GHJa+JmSb^ZYfc_r?}1bz z`GCQf3+aeHGUsXk6RU^<6-<>O{8z^d;8J{!3EhT8j_sDE-Y#XDM{nl~==Saz(&^k|fvA}}nVlLal3ow1(5Ia&(d{Y6Hi{l_)YKU?_`nZbdGIuO4< zQI6|+r|rj8%V_qCAkDTJi2FtwnH~i)R(lX{wiokBXXhg1wc0iR(6>qSi`O%S`0W)6 z3`2s7IrI#W69&f&tZFJ_ZA@qwgKpd;`T8WFAqloAds9mD{>Itsmj^06F{Cp0&wVU9 z3)b)i8kDt3jt7N%QX!ZW9|Xxgl$=kqZR#3xCehMcTxoSOv`@p`CW|XiVog3u5s87h z;uJ#hwYEU{RqW9Uf$$Wrs9*$C-B;}qofu3T@<{*eV|CqBzRS`LX=%AKCU2k;@&mal z(!krA-2eDa7_YJYm`krhaLjqh^}XJYpy1B|FOEM3zZ_Mvu%M~B|K+~qPFm7WI?Pio zHgoo!k$S^~iSo-U`iRzj?yGN{%|0blATJ+DHn|y>adR=E{_p0-nrM#M*?a6>H;Dye zaql2k?2=aKhrq2XXSXIR2IpH@ewUR&!!(P8v*B<{tDFL0vJU(1rRQsmEGIEc1o_D- zBhoOah}Jk_>-ImkzW{8M(rOl1Grer4_VPENZ)#6 zt=$NbY|DuEXY&!IqQngd8*2#Q6n~Z~m%vN3WkU%3Au%E&%noYQj@78&O#gy zcU71h9XG@^6owP9Em$=;hKemBlZbz=S;G#U)gZNS7SQ((?6R^solXq0D*cOc3s!Yr zy-~8tTh@h>_}c!XroT|&CZ2&mIh~zhY()C&qDk-MbgDB{O9XQ)v-jU9G5GD!>_o*| z$Xp0{23L@wFpoXF`N!_nh97nDi-BXchrasz7jFcBcdPxX)ju(ie7b4EG(M~gVLvKi zN!A9Wd;yw~7CM;Ww%o;x9kws-T7%>CP8MyF4~mxZt}C>3+X__trpx!R)t}tn%mc$7WJ{fU~(DkyR;WK}tfO89DW-@;;43An5j@WT#{%@#@xUv!LIgB)u ztO00VnK3K53zK+K*&~GYxL~Y*`9}0gCP35SCk$i#54NH9mE)3td+FDXYD3@M`CO>} z?_;~YcQS=IiAWf>D_$q!!z1bo(k6+&0N-SSOLL_9f1UjP9*2u9P9dC&PFOH-sIw&N zR-@QL#>o#NH1{tCCfpo~;|qKK?nGWlTQQsam9iykVd85co14i(Tu@k`ZPO-L2|`|< z3cym>UbnA$L*XPH;uYtMs1o!SG8vrHK!dgS3ER{k1FAB6rqCoJ4@@ z@LyANHzK3gxyaD$Zg<~tmxrU+6kX-5WMkST)yHY4HN9IF(n;BqWlYy~uOP+ex`k0@rgB>G>0fB8VC zhtVNXDVG*8^cP-Ql+zI0#EpU&$sdoXKL?b&`eJM@p|mp+l?$P(DZ$}DvwwVV_~_t! z$$|=@{N-=J@x@}Xp=MKQEJ%$Eg#jk+m?Vv_)mw@c1&}btV{qbwO2vI)1LGHgOTAWj zr+AzSTHI@$o_79V%-Gy$Cf_ffZmlcNn3s%<*{hJTDaE-CZ%8;-+%vW`0K1O?DA`C@-K^(F-$^rUJ!;D@0)HvCP#f65HxyU5;(yl=E@`bJ}%l4px0 zJ>hV~6NkxD^ok%@x>t$ps)~Yq-#YbzA^;oL&7N41ZOGMawXq%UxkGv;$0YwnwVx%# zCY^nEgEiXGmp1tma5~6a0Ysssq)cA7XfB@#Zm!6mK?*UNKN_?@>0I|Gzihg(b*i&M zS6lf?K7%eDKr~!vyVM3RKF_stK+hkkPE@E;Ff;ao){`}ZS9fR5ckME(B z(*i6J7a;#Noh#-!NHRbZP`H66cxhcVR#?G$MuibAYd?{yi$80L;(;@XdSuUON||@y z<;Px+MyP0~0K*+b-yi`jaoX^T1XM$@Cf~etz6mz48(v>Lf*Mw>^2mI9Hh{@wGa*mv zm2~Q>6-=->ezkd6TKZP=p;?`toe{RiC2G_#@IrIs(IH8slU$FDT zjM0CR_qB;{)5jT~PAfzR1uuhwJvICt-_u0$-?a2%)w|La0X4KFu1Kg=5wEbEoV@GU zVOdS82lW_JtBa##$G!Z}T3@jB#+qY-hH2&pFRp~tusbl5sKjJqa98Va%;9^T#pjmY zcQm?+h%d{-dnY~#J4)@2xrdk_z5L+bEtlPzofb}3UD$-mSTon)BZ#Sqa+o<CNkP#dOcUmXID@4A8*Lu3G~*%RaPL1Thtk`OGE5`{ zGaZl)El7`}Srwy<07|iT&h3vkeH|E(Gnk-!FO3alWr$4P&RlqD29lI+q=|^1hR14<3l7~+?@i*ifh{z* zh9|QGB7pLjuQdM+C4$omj?`onvi)gdN^*siC^O%~Ac9;-k;cDf^S{@9$Cp{<_J_Ok zW%sXgi+pJ55SAQ59YUfpy zzn3w{tJ?TqQz{I}IIDk;RY(Fo6BOdhy#b zic&VMp+!@_uc}`CIz$9L*})*5Ny!<1tw@X6LPF2J6%H8zt(|>f<5?nh^Q3<%Yq+ylEk3Dn#Y=*b=sQ zx^3-W zdhCoR0Td{`3?05AB#h`a7Lu6U0b$lq8`tJx^@fVQ9T%o#LwwIKwLl`fPy9{aHNWx% z{owulh5@bvEKNsoEbw$1y2fw4kD;(PbdC6pCbO^4(%0^6cA8XJvA}--C?rsmPJnC4 z0NPN))8HOmbK=05{Kz$&@DI_lir=aLAEYxwP~BjE4R4&)Qekk0urorx96k!Es6ALK z@cL`4kdBLBCJyJ-;Nx3hW731+tPufvJ-zwA^0b>XFsUSJlC3rR=!Y#WMy|v4^hJw< zS_{YbrqeSO?0#AjJm#jC47>8V;34x>^wUxZ8vfX~_7K?q&=0DBCqDB|R-mXlHzTXZ1EqM8u!H)_he@^1a}!R?|8_9?zO$1H0- zmhkt#1?Ot(Db|NltTRlg10(FM!xbhNAWGHE8pTkErA1J-VMZlM87}!MUK+MvKo2KJ zl?K!m@W&7;jDyy%L_p4Gux9#h_HV}ghr5{M^CXiz?zndkqWeUug zW5kM(LO!~e0|uvxJ%l@Xa6(rqm3klC?Dcqk>KE8Xs6{`yzC7ms3wB&?MWq6NnZiwg zx-|WPlz0kQDtdY&ifn4|W}r$YKQC(f7a)XoixpqIJTWmmt<8vyg+*P8enN_|!?s$z z?Bruzb7%VNvfn!!1U7@GIe9eRKj=H|%0nZ8Y5lc}?jRD|rjI`xh+?A3_&IJO9Sy&d zyRjA36XHp#w-mtNG7wkb=YiO{ZC9Ha2*Tl-3+MzkHm=#@#~1@N>mCAGvKq2;so`== z@j1Wpma&1|CMkjt;~=N)adovRc@;CfCHrB}VCr|tPlBV#g%hJJBX#a2X5T=dIfpNKfhA-B1$@1r~LJN`MWVr|m zjooby_T`!r51|y}(t!T-cmF((&fej)01gg4FrEpOWOBr&Wb;OYg5^^}xwqNFMtGGB zTly9DfRuEgb8(07`tRmblaPAthoNuuiPh6rmxm&K3b105v*tt_XH-dr-}}R0TkUpS zcWITK_YHwp51p5-pJn0-?3u72tc^$*!o2m1nr#jaE>`cAu|R19qj~P_c_-DK#jf@_ z<@l~baUUSFWOhy9;Tkz@5OQY4mW+aIKNqskz6=Whju#-Ulm`9HizPx))Oi zp5GVm#+u>qO`@o*8{~PLF7=FCS}^rm849IRmEePHTDX)q$qP{exdO1SgWlcexsm!O zhW3Ue(BV1-TNg}meBxK~*x2dwEU`}Eo*cPq<}F0IaY;<*R8HD2!OY(AL$+7hN8}7TzIE9g~L^II~+24tpe?^2sEVSg zoU2WE<~nV2M;DT_RRspR z)#qL=E=3%*vyJ#bc(9Z?-ZTx)2m&dK>bbF4O)2Dyc9s2l_2D@$=QUmMSLtBgy5_Nz zT{JpjA%>aIV$)mSl%dye9PHA#ys_Oh`?@GfdE#i~qSOni&nU3b-!z-F)E}CM_;?!r z=_J1$pA5*xrJJBy$mbU%7&aTk2boCCpf-mHa64KrHMUzwELJ-hTHZhEE<9RTo`n{Z z5^>eT#|Ct3=yTIPxi?N3V2vWitr=l2(gsMGB6)yQ3F4Vo`Tvy@$js!s;<#|!Nb?3h zM|n0|&9)of6bnxgrn}VS?eE*oHg0k+n3d1QlB-;oF4#lWTKpV)N3!yI_1<%ppqI^H z#A=PB5%+QkID~irc!)V)L?Ne9;b$NQ%NCO_Iryx&5|5sz9hM(*DLqs1@|i4 zT5xi7)z|^@l+RA37}d0R2GV_C$rl-MU1~4ZYV1_QQygBqa739=hBkeRVO-7CD%HXo zt&00>9)f?3-g6ZgXy#x~Uye@jfmB*@x9B3#KbdqkI5!jNI7@JTs?^oYvW_DVjgbzz(257U>EgLQRLn3%3Htya(^35jqk*7suT zs?y=($f&rVQjF%twH+YN&6-2E0vrEI-uBCyDwSzVr-{>lESd3k+P6O@5xe^ubG7f@ zVg=VD3x|E3Pa@`+|L*stjBt|%{I+yMr!G!ou!ek!4D!WHr6Nqz>Lg8A!ax%!>ItE7 zELI=TkoBOXq?}rW|NccYG8sXxsMJ%bS`}NawqyNx;%&F9n(ODB-!Wg8JU{K<^yv03 zgKPfjQx*?{v@ZB^CZ@qvQI-~rHt@LRB3THf;j76yT? z8p^*fHU^sSmb?_1MmVC?sedCCb;a7c=H#M6*vhuDx7w9&NJEsic_BVEKFm?Z{;`uw zE+5DHTyo=$)WXd`D!o?)ol4o5&3!pJIjU_lr_VoNiL zLMlUCd|e{Q7;qSm8?+nVJtXD_=}8UWQ|4Zw-9Sv@USNqOTi-)(Y-3MMY62CLo#@Gu zWB^!R$<8wzHBtCnQgkTgI2MQ(Cz&-fi8{6?e{#LPPc6}}rE=(}pS_2g0d1c86p^5o+@>-SP~yYyZ_H)& z5%r={ad@D-0`AuwQ%AH|yLox-G?Q$b1~ER`r_V_A=K zx%k@tJjG%C={yjA?vduSy-{6sS-h0yt}Q>qZb?eg~CGl0`R>_z})2xgXpDKpn_sqgLM)m zK2P;QEy-s^GUIV67y@h}Uqm6yi&4cPogm3Xq9iza5(ReBoO*m!e5hw=k!X8aOB0bY zTO~q9_Dc$sx?h39w9?M0@vxrZP-uxSEOaX-6{{qKKq2f7+77~ztsz8RxC=yYGpw3g zP=edG89ra|B|3}&42rB zE~X~)Iqu}Au3}H#yajKGOMr*u<>+S+efut7EjSRAEz8tQn!7MA6wqqaY~*kCd>h56 z6?s1%uxeW4m=BPW#v~4{h@MVd@OU=Q*?48UU`(Y3i&Q_M+xrIWzT-8;a?c+pBlttE8_u&SM8p5j$5(b2O2cv@cdd0Hvv zsuXiZKMKXf&%M@_OftC>7V3!)R9bw`(w(ZAXR@v80t;^0{3l<$031Bi!-vP|N!f*W zSu{lubnUyX;3h(+wc{`IgfT=dr#nTZrmF#J^>ChgGi`+uHbAi?Dr~68!!%o9{vd|X zbpDzWWTq8@@`|M4F%ps9Hd-{U(O!hBL1c)rs0Ni-o{e}kCLc+IGT$PuVAq;TUaWK* zY1n^hkK3QT;1}8%-B+Mv6&CIXVfE~qYIDt-FF71bx`0FGnK_k66?$|N+kvAiRhWaz zB#M3Vr#vm+IB^oHnAz6vGi1cc9sk{!p-1k|CeUPBB2fLr?K=?T+jKdSCCAsOpP}Pw zmfS2lCA9Z(^)|OLCBTBGaC^^5w#-vDUALA!kboe9_@C)tyTb}-@YpX}qi{-D?Z2O;(U1tlm5&U?2jd}BL+H)U`$qKd0CRd< zj>FLG?cm}Ogthq++W&|LoXE5kj?ZQYZ|acU0H=K9T&4ri_>V}ThQV58^E4GNQ+H1;WgfolX-N_lnp`8-gh7BSZ7`Txb z;mBFY)%?b~;Es8`BcI=Gv7E&JnEfL%oddCCisQlkD>`?4TwFE2xPo+CzeYq+**=Ud zK3JP0Q~I0;+G86;gxX-3IX*%B2w--Qn8B(itQ_71@TUI^J(pS*y{` zy8<^$zZWpc7VkHGV6upa?0SO984wwWItHVSLv-S|`1`B6xt92=tqYf?{wKulp@)PR z)-dQWZCFmNHy45ET@?XN9#@0>^OU?m-R4~12eoN*4cYxdlzyM}TeXDkyVq)w5ZxV0 zVgzR_B_O;gEj$Wo4x8yL{Cq(a=BOK^WuqWTn%i$J0UE>53=wgy^QmDK5LpY*Nf2d) z5#ic1#4#(b7Kwyp73WPS%PvSrx<iVmOMzqsznrXgxa z@n*iFb^fYA^doYZu1BeqMuz8GJVN=m!D+CVm)lo7iY$9^W!{XjN;Y_g^ORqSIroNPRT;Lw2!e%K|l-AS1fCh0D`= zYNGJITuGIm?`d+OqG|PApVg&{O1>qx#*i7P+THfOyMM7Iee{TBjadrS1g;jQZDdwwRRWgq^A3*Q$BZ3y4F;oIIF2(X18tOUzh4sO3&ZU5fxXIXv zvB8D!PT$p*5wn8F=RzI{<4~Zc(#zHGpD`{!V&bjrA0F{oo4O zriyqbLPt7l>607Z1>D)~;vF+{)Pm5z`^jLQ#$o^)MKncGyd{Dni=@amEsiaOVIlsR)NQccU8{)(x8j2;3p!cKa zO<@&$k%~f2j*46vt2_sIFFq69_06iDC(yrmw*c@Xh1l;ZGVn_|aV3=}>ewk{Yo@LJSw0Rh>MJa zO)V3T#WFv>?rdCMrDW>6W`C8~qRD&O_vP8|XMUaqjGeaH>K|T|`4494{UYLHsh%jU zyX*CY=-4=G5N1NCOI4h7K5^G?Zj=^Vym_uv=@Sk;cl-g2SJZNN4fDdhKUr)R+#GB| z^0@fQ-;El?Le}O_83IdODOpNrdXjKK8;DH{f5XwedS!vZW_6KvaPCbn`QZbjuG75` zR?+v6ime{!h__@pg)KgiK~qKC8rZAjvsYGWNwz7?hAe2=G-cj5?=m0MN&Ukk#0hfuAXW73E!7ry#B<=1|v2JpuR z)c%H8w%(iF>}0X>fIL+%=Xzw^+Yj%w451M-Xy3acE@^E8!buCvu|C>%Awdy&g#MZ#Ef(YeXeHRWVxlYJ_ZTza2#^|fx>g?x};1nu;(y&Y}U49t`#*rp6%-pllw@JtFBB6jD zm-Tp=UkG5F9)E`W&a~jxh}_e+`4p!j%g%q#o5}WhUaTk_D85oRri-6ez8S(UkBh}b zern8D7ZMbbFO{ko-m{4|5b|Lc32THi#@>x!@=T8RaBh?4fd z1XX$73{(s8-QkiIikJq&hT>`%Qhmfz!Y;vU;iU@BeG=wug$*T z;&;=X>VadDUSULxl?e>%d~}mtyYh{<9`EOEJK;T4>0t++HEej6T&`F_qElKH>Yw;M zb&YO%qoyKS9pP?Z6qLoKQW z5i#W4x=gt=2{or*G+XJf#Utd;BGCy#S^^zD3%%2;P%E$wu!2{3)Lsqh7VxdX2a0Mw zPZ`$vB~Za`weeF@M(h`~{hgw#WynNPa5R0HqyF$b6En(z=I}~$xf-J+Vd41#r^(k5 zW6p|rs3lhcwp&@(l<D!pFMAhTD}88+g5#F@Eyg`ek#qp$hA_)nFE zfhOD;7QK~b+hnIEIWd2v9ZI=ipNJVwUc+1&7e1l=#3lV}@pd!^qAVxf-68VBWf|Hr}3`m-6s{Y@|BViD7O+2h{#RPP;q505#W?)%)|2`3^(P z9!1uz5m2w+N5xGXn$^*c^oazB!~bAAGAw>h>v9yQBCIlBla|XMR9s!G_{pg%KiQ*; z%D*Fy{EyMk0}%3E1m+h-O;%;gHZ6VBDzD6%vTZ$HPZI7idHyP({&G+bqSg9I!?Ws< zY;s!M+T+_zb9OJpS!!Ehr{(JRGoBsdm|&W)cbRD(Q#xU~)9EE6y%EP^&EYTxQ5U3o+tpOza3d+YjKj>4 zjdwKPH85MXxyhw7Xx7U|u;fWK9CbBj7$LPtqVki@td0~4xCm@n{EXp{uoFVYvp)=O zjsgoLm0axD6=#u4VaRarBF&1pTlLx5N@gWv27^XxbE1SC5G!RBed`CscdUR6PjP6t zPJabnNQ9OCxOBeK1@5RL{$hjVPm76j@3<&di*e{LS-sy8}kM_YeD2S9TesUxyQ><#DN?D74{{<$+hv+Oh-D zaAlGPZ&|r`+-rZkjHBVZ?EJhCzR{~U)5<<$gm@0V*i1#8>lXZgM7oGv_5Mr%z_km4 zy#V=K)CETP6$fy^RK#7c3&axtoE*`xHi(AiN=KE7pXV?X5s^J^s)RW$A9Fa%Q{zye zT=IDa6V`k2Um^mdCdvdc>q(QVUAN01EpW7eOY1vXcOk7v!^6>-8l#=b&%+AA1J(|r z67YPL$8NE#`q$C1UT*>mh3a=>k|7&BqDx$!j+ccP$Vfnbh=$!E#>^#Bs=B0#8nK4* zPjaQGj|IQ-3gt8A6{t2v!#^YQGt1qwe-ukO5QD~W;nL^z*U+jr3VF32yf4BYaoWZM zLpT~v6s22JzOBwi#Sze&RjFnf5%!|1%$2?>bNqYkTz1b4{e!dKabX;X!TeU$rDWL| zM}w`cOJZ{HH}9PP)@Q+W4@(F|hnEgzR-$GIsr@JH;5y`Ft)KC#bQ^LGbe^m0*nz?s z;o?;2Y4E8)>F-`dtz-_fC=VbpJxm0!AwrTk1~7a4hdKOqcd!qimhyvd|GT;X6BD^~ zoBC|Ie|hV6be+bBy=%nIcUZbVS@RIbjA=IqTkV3K)X11|qf&+ANX zr|LS-W?kwcu!$Dwh&pxL!7nZg;)*|PHg^}+qEmPPe0DOGxCG4L1eypwZno);^*Fhr zlr3%`P=_@am(P_UB#MwVRP)$=H>43LiZyz@#z3DYNA*$~xTYKs3zG_dZa_-Q1E(ac zD76%_mAF1Z##FzOYsji{uP~eJ73>aIAe6|vXzEo2GAx7V<_sPT_a6-`X16 zrD2I#s6qs?=4fQBS5evu(QH|E%|s0jkEx`Sd7Mx&{MKFmbM$034V83wL`_cIyC2}= z1)yl0k^*V$o9LKC$-&moJaf)&IrGF71$6m~jb4T@>tg^kAPN>r2eRWm^^q$vXJ0Vx zJC2&EU6&RJs>kGCQKPX@t3?j-%}G}yft|@InGpSC$Uw|7um79(DruWxSlBqa{?w8l zpsow5hS@J$=tzjAW46z^`rCa&6YYvqdV|$5MV42q zcQnV0J1tdC*F)NLW_mp&b#JIgst!=!*1DEw18AYgMCAL-BtX)I_5YI(eU|*4Kl7KK zE$!z%p1+Y8s9Iz=hA(Z)fhas|ox?kCJGe2(OzNlE1*o*tMmu?-(N^`nJF9|*{g@N9>}UiR+zrlojV#xJb1REifN zFedvyUDfP7YoDv=0W|brhMwL^qMpXqm{#J*q^y--<9t zd8g&zrTxRLA@zHBwm;%C#EO*7ZBn#m>#-*-1g<% zxkNt<^)ZsPZB0}hFJCQLZy9ro-uC=F6cl37CM_{Fmc*QEw5J`YmYcYKQ}HnmG_ZEX zB^(zKY@`VynQ_1nS*h0@#$u|Qi`-P=MR}o9$NaklscQjE*=P}KNW4@ zsN`smG;qpYF|X*hx+-q|PYx&oNpMt{Y;-z73za!F*yc`i*tI}sT1lp_^^hkmL{@1h zQP^K6yB+_khqFdsiP8GWfSO-z)6=qq3t~GKrG^_g9=HoMU`_Z8D={jbcdu19=Sf13 zdFqd$g}#p4UBSnK)tV%(#y4`59Vsfe5kt^`;K=$(EQPg*l1BJtv@o8#LrZ#N+Ut2N zw~@DDk7Jse1Xphusw*=l;@sO*pXFT!`!fuuR1a_sejjZj5K&1i&QNEg`C-;7eg++ zt;bvUu_ZXsR?OSi0D{u=IYGO{Hao+|$4Por;#}@pBpzF0{uP#(3QL$x$#RuOi@Pw{ zeB)RVY%VlFXvUd%+phOgG+u>AEOUA(_?|{$DeoHeIZVS3mgczU`q^zg9cC ztUvyw?>4!0*l?8E>RnK8!vJw&mt{jq&jfu1%CNlxv6XhZ7A30J6(%8RkE8a;SWIgO zH0}90xy=W1VxS z!Zpck1^W9o@z$5Q{#>jtUNt^AEso0r)TWB;Lv^0J4h z>iRuLizb-giTr~qYWL1n_weXadtC-j>_wirhg`;Dp0!#EK>vJOCs1^_4XuR$LG1mP z94__;Tc25{Kp~C?695y;rR^Kr!&JH1E*W7#F0$KKG_sYh2Ya%BDAk2QV+HwXbxA9H z0=JGX4g$Q8H7$kr_FG<9qGCO86Vx^=_wmckgjIWIdrKzoKjW*=>&+_?FrRbr?O66% zuB6U`zqZ{KFiU&>dS{ToWABicUDGDy9Coyec-y`7FC}4eeP)6WF(VaUTZR>mFH)y& zdY{#;lIufe67D7+2bU1De%FTCNfF3Z+1Qa6{}lcNf@p|!jUDr)7wOzE9Wk)ZdNd*| z){MqKJCJ72!nVfjTD4;8+?=!Un|SJgOzlRny4bDo`(EyYAQDaV{g*&HTH1ENVAa5x z@EcBuAv`T#dc`z=V*RaX22zN?*4>&+8*j@Fnu{J=cz)t@8>nM`jD)}5dv&b4D*kd= zsKI)s_AuMFIE_X1P{QlaPF2hWTAqy8_#{|q0E&Z`9RD1U%f=`PjEEhxEo*^cux zeUr*pB>3%fr|wtxTgir3xor*qe24bjd_kYeoNzb65}*ExU&ht0{Unm|e7oGv!?(Xm z^=ojTA{bW-hxC0at47HgM_L{^D+NAa4u$rkxQa)HK+FO=p)0V!A(D`e=}i_zGxXe_ zVxH~jh$s?Q{v*XZLqsKW?W2i71H)c!j+rlv3)kMG=V-8LG+7S0+Fn=U1qWgzH+D2g zr;9Gkl>x>w#{CyyFEXf~Rl=EbkRR8MKLz4UricROxbrkSDk^_nktLAi8`lh<{V(vS z3u~$nNK5=XDh-#%yY_HzWyEbn$70eipd0U*f*``GW)6M+qf>p})a;u_nXON>qF`GSOAUdVMG< zWLHeT}8Jd^X83jtHsSUw%76@;u3gi2=P{ z(iEx;?0I;y4%N||6AtmvGM>atm;cy==6?|e)S9 z{VAxb{7K+3(hOwYTOWKK9`=65N%AYyp|C}w z&OClUu6dW4cl(;0Qo5`(o{Kl^;eVRcSf;+PST9 zBx~5UxtdA}Cjmw^(DQ^qoyrmYgJd7YK+jw~bU(mTc$R3DRYR&3nQVyu{#MDOnGC09 zQI%T_hU!&NvOhT!9j2iWHVWd>VmqTRTeQbZNm|;+ke?hV*rb5d6@_1F2AWZgILEl4 zCfofCb9czLX=${32cGB=3DF?#qel;?cp(w{(zYHB{g~yz3)v9)7uh2ppV1LG2|Z;e zn!uy-9WhM+MPw*w#r^uIv|Kl%q6FMVA|nYW0+QrYnl|S|VdpVaQ}~Nl2XFLZK-!Ni z>!EDMGRA$fXD0iO%pH~xaO!DvqV?Ba6ERy>4eNSlZs+w~C)wmfLGS28I=<03tZ;<> zYF(&9tSqHC9Q3KzpDw~A-b0wE8pUW`j3FaDxNNsndyOZ*aX}%7gMLns?Cm0HTGV=V z{-5{#JwM}k{~~%DREJ2fV7tD)-Plfz$t03=;N2{|j^#e$;xT$1Q=ZbFb7o;%O=nk{ z1nzKJNSfD_9#NZUvizzccV15N4sE9L6*ICV%EYau<&0*pid}zbM~&HcYQ-A!(Cprk zvVDTDv~gmu`l^V|zAPrBk;X@cwd}7x2A_Uz>{G{_%jvB6x774|E;XfWHPa07lg#E4 zXy`180CKXe`;9qO3IeGD$qLtC5)^b3~pE%c*Vybmpg$LK2E^fQHeRov$} z#JRbcqd^FUE&iJbuOv-O+T%u=ZAT)9CNmK;qK-CWKKacr2Fwu8W`dgaL!ZbH?_Do`v}?8KU{L$*uV~4ru1;#uHWlnf27#I`=H?KR;19e zg?ZWRq@i*s_JI@BTr{`5Xr7*C`Z-uc;5W(6rRhv%Db3fIRhfm?u z3uZXYvM!VCy`E+Vt5vvY1Ql~>ex{W1RJ1w#_Io~;n%iAkhe)yyYRqVO5l*GrHP~Ew ztMDj#Xf1%7QX13t9bTX7=3O>!a#=SE9iOZe*;{&?>YbiG$voZk0eV-|bj~Q8b8es! zenzAsW!c*SsN?FXGj$@?X!nh=JF4ts!;D?ab_plR{Tk}E@39BQ;_2f5$Xvd+b%aOv z-E~=a`so5^h45ovr!`$WxwZ%N-G=sp`zub>$0NVer^ToFtNfUwKLqbW_x>UC?KG19dHi+9`jOk>)#XgKDOh>L6?=Mr}D@9(1yoe z-Uz=lqbL&92>JR(OSv_so)h`w_Te#r|5OqGLZ&@$NJk?0+Suaav=y_$Sg% zU|(a!<7(N@ce#tCZD)tSf%tAW660Z~ex}1Y4gB!?KG~M%VV8dO)DLd-C_B0*Z~>yZ zVA^>4@{fC-q@Sp&1mSWnwfW8XZP2%~+>Z);SX~LT`?bS4yL4Cebnx+?nE8YHY=K^L zet_iX_W1VG;Vq{CLd+8(33R}=-Ru!g93?pI||Pby1y(o z*k$cED^|r=q+tl&pTsvvDmkxqzSNz`TCef9`Ds?=I^1#2=l{fz2PzqNGO&D_qyF15 zQ#6+Ex?S8BxNhC%Ki*YbAD1K%7xdZYU1>6c0t@T2{IEBKDtr#Dvb@7EyjNfE6kf0R zJ%RbX+OO&=$}UeA>^gj`tq;oVeD*)qKb<9awBDb=nAyPWYEnQ9|w_`mdRdhUhIu}FMJfz%2pQIii0{?kzoqp`k zAwrWb@zYbidWp}05s7T!x}p!aI0KeZjM_=mZvrUt%Iau=`L z$t<8AYQPDS-w9F^z;;-r@R$CbO6|j2v&Z8N-DA%g{ijQPL619Pw?&7&-$mz+VSz{( zdLEmJiYb%EcyHeBa5D=_+#TBa-PL40Sf71Ger3$JgE*i4{O+=0tk+S~cG0#yNP+aF z=Y5hyu797TYp{f#o}RCxyW{b4TZgO2)y$ch-<8>@&ymyk@%m+jAHVW)jNd(cM%OLV z5U*nm>c{wea8KUn!<sCmqMzq(esWHQ{l)Fc8pQ7=*)P>P zD=Vwx;c9_5b434PN5h_=7-!BPBm3PB|q>4BfrH+qt1-ZI+v?wOKfC&6SJ+w+OKp z6c_KD;o{&ZWC;-SPb+Cpve%lO5uit22_yZ#cCP!K>i_+p7Vi?WMVz8iW_GelMj<+x zWfg@IvbR(329DK2nMEOc?{m&O97n`KSs5pL=Ggn3^S#gKulWAZb#b{a<8{vSdEbw9 zKVM#2ezDNLB>4cG5tDi?WEsoo6}9+8_yWP{>FRPsMiinCGWP8KlGAm>y>FsQBJ!vX|x#w z+hxwO2_cF!0#AN76Tmew1PA_$3^j zO34taa3`m>IlfBLAWUfPxvMfQ$|yv~9C|woonxMxVB>o`k@KXBfe zo<8$BODyU!jrD^IdSGDK*Nx?dm-mT6e}Y8EoD6!ab-J;`wR#jIp{uL=`l3LIthbbj zEWngmuCBPa*g(2^e>A#*Rr$D|HvOb6eY;mQ?eY{;zYl{e=p(yx|N89wsnlF~PYPb} zN{bv9?O$$E#>sAFY7Yj^k#f5UFM1 z)#n)7@s%wxJP4G7OY_oN|f$H5PdS zBT`0f5_Au4bFqE;j50(C-Ka)l=kLi}Cih&~OdS;{#BI+e;CCmcTLr(2^yFK;x^sMB z?EHc}kg6(qt6dp8bFDdTa&j`&e*ax|GIhbvbs)4saQJbsv|Ca*iu=H~J=>DYct)## zYa%j#Kk{7b#6gpf>ThN`y*@~2DKld)D)SC;jayC6zEt@r)tvrP|1?VXQ@*kA-Oy0s zFZ^nQffsaEV{A6)a|)K zN_nsC=jW|bmDX_s1Fn@e-ewuP(IPn_is{crr@AfduxFlz<05R-HU_;WR!Um^mVTNT z>nK~_I&14aHsKqs*mH)gRi~u6HU4Ia({@)`>yx)d$^{>hp;0H+ebXHu8$MlqbJ{4G zKPhDLy^{#5UFgI&jtxsNIHYJ zz8R_hQE>eJ4k$pbL{vZ_zL6AOeI|z}93&Z&`+~SoO47hn|G0~CiT+E5j-8cgJUWas zOj2^q$vZ;et&J(=ILap)(Oi&yxDdRBdV8OsdmYD=TFiDvtOn*%yym$ZiZOw>42%i) zH~t7-_SnneoY7)sRT3`*Tz?fi5S`LOlq!zuU3l;_JA9^(fZZ6bZJs)eh_545v6*ja zQR51*t@eVD7+H=HvRo;oxD{(b6Wj@{iQ!YP{C* zgY~-?ePxn&YL7~s@5vwN_;}f2$EBcpG96uFo@j3Oyj4XA z{{{EqItJTxiV*n3Reff;+c++*ED@15ly_xduKK)cU6QxY?b8|e$wN+kob)1PAz5UR}No@Z`2*-)~Rng&*(7XQxOw$K*KV`07Y>5Y+q z#Z2{7sw%Xv=>AqDKM(&kYmGEX&&6=j7zTscQ{~&wkBvsk#OMdnwx$Nk?wec?{2a?Y zHWQP!lw>kLT2Q-y8Iv0Bv|gR!M#O(e-0RYwjJ6XE!cmR|Q`dSw7sm2XV&38gd`RjW zjRs>mxdpeZ<-c5c0|+)wR5)vU-GHn55IK0|T3tu`hKn0vJu(^z>RjwthuMI~E7i;u zsE)t9j4>wSa!gSH{o&_s|Mz(G!c~IzeC2SU1QT-S4_s-@FSf;pGOS)B?q==Xsgt7W zmwMh~v=B|5d%-H$gleq6RsMjGsW1PM*MO9&KK4CINY%IF!zD0ePC64i7g2`+W$W)` z9rRbeWBejg182X?lFc5Haa6!f@5jqw>F3hNeTM_4f+*O^cU`sxFQS7rT?ZLZ1a);#p;GMfy3Lr;58#95e|+P*7WWizQ0N%d?wtA`BnZfsc} za7P-jo&Wtf8}q|R)%7W>(ivAV+p`%e>B*x9HaEv&V=YFzY=BjzPv;ONTon411|E6= z2+^A(Va08Ip3o^hw_NhC#J>{NYr+=y-vez1-ij7b{N+2~+H2_$%^)1%ps{FW+|EKR zbbXBA3igKcx3O4FVLelPD796(Ruc0FdZEy&a$$36EK=nzhXTqX->R};`I6O)P3~v$ zHosORde`GA6Ke(7n+A4GHMxTH<-MrlM_^E*C;Olbk?e$9WzL;BX1Un)U%A_NGx~xE zXzBjzX9^CONy=E@UWt!=kt5f&Z1UZOo%r8dd1qmH=ecOCnq1-+|K?K()+Kq zomZ6yA2qZolaHz2qWyP1d!!+ZkE{ZyzpobJVLoQ@Ibdb7Gg7wx%w+RdxFf33acqz` z?Oc2lS5ovM=5eH8XIt?`pN=FnZCkIkS6knjJW0)DrFqZoZ?|sW)>*1s>#Y zdu2QwvnCuZ2-SB;xiZ}6e(X00^=NUY6HlClarD%w_N&Pw{+R_;qZklE&(Cq@7-wm` z+yie*wWK9$V&anO^F?*_-`+E~{4#Qyxo|LZ;I;5S z2-CGz*1XU01?4T1Xv@mha67-CKn}W8c|*r5vTy+P6B~_sjApabm5Hu)2_)H~XRFU| zugzJk=yW1}hwV%-^=zE8Zw!Z+yd*+PBFJxo_mZ5kJB6Uda#==>0QRh>d61j$Bb_=_ zEfKqYyuy}bb8)xbM)W~xUu7^gU^^W~D#V6ZY=svR0^q`*AeG$) zRVj5pN}WjHjH~@6=CX>XQiH%feC$qOSVgdDXwZZUzVqjEx~LmuGKhI4IaGB)eKtFT z=`jEG36bSfjMN6s^gLPfJKx#rxq@2ho`2l2Yds-3N7ein?On%rj;i|3<92G)_8@i* zrOp*;fROx?0N^SxO1WSlRc@MPlp>AW98L4SYaoODfX^(M&B=|YS6+I`1oV7U!CYq| zEjQ9MXT+VL?a;O{J6l{Uj*h$cQAAxYiodwWkGhEer|e9o;d{@GAwT+l)x8K@7)T5x zOA8=uxTN>@cd~@n>VVp{ZVQ?G#l;5pG>@jEAv^2T>5N!?7CZlu=b%H2yDKF0pYmRP z7P9|Xv}Iqd9|e`6%VU58#{(A8)~ikNmB&72w)r1fq^P6v`g4p?1c#whijTS4BUH@D zOja6Wc;evivBO{)O5F-9Dsr^ISYvCPq5OZ!ek{P(t^s$m5!`AdTZ+m z!|AZ3c=Z(BX^_CVz&c{FpzXB^KJ%segg-#xgoV?F?-tj3?f48dsH;C1HaR{Psfn}X zXGep;IgAqyc}=xTnTMxJNacz2M1*}$RCGZZ@gWu+tZv_CgbMYb^<<5Zz*^rwp&PYi z9YlWhWFqsiM;ARP#YACM=x@j+>n{Y|`e5;qO*Jr&a|nPQ6g^;nN49?#NG{@3(!-Lg zrH*aBz^)7_sn32d+{sM3}X{YRCdSpJ0=mDT=)aW zuiPcRJ!_J_B4VPyb7AGXe8!bgyh)bPpT1&;vff`Vg(1J6FgKx0$<6RCDnNu`uHu_t z-Xj2J_5N0zg>68~*{r&icGbuL4Z4(YH*lDVvAUw0aq@ZD9EBJKHzE_TT`hs?24Nz7y1sFF8r1IjyKp9WXNh~=P?*Y1Xa2z+I$KEhljckXk7tAVJ+DY z=#N!hsOmaYobU%A33uW3`;kKc8k8I1+XLK&YkJTX&MmJ?k8u1{nK;NU14AarPUC|9-E?ji$FTRZZGO#QTEfy z9joZKFt{*OOU!U=OY8x^w_H|tvq2C&dyF|>4vz;s7t!%sOj!5pqChRlq-efs%ah_ zCO|naiiHBkUx9}U1rKHa^7HeFm0S@Gk!6fW(@Xngv*Dp?3U0@-J^AJ@n*gKyieC>< zHi~J-As%zXa=@hCsKJ6y z7xMZp3*;1?u;`Da_u^@5javB&$s&dx6SvR2uvk7d=1f z1d!${BQ`|~TA12C{SZ8&CB~z(R~m-+-3gTs`N&U`imj&J$#sjSvM=ZDCG3rAa` z;@tQf<6*}nS7HC(Pnv&NdUl&xsBiv$%9zr^i!g92W%jFAi-j`eN0xF6-d!RVPed#I z%J#NcwNBphpmPv6!!&nKOdLTxrsQY-7r6XQ3`T5t-bx1HGjI<1-wud?9fAntH3~#d z56U&=p)x?Y_k5oR&^LgP79j>V9ir)a!U1<-+lLv%1`NWg)CZw&4LF^dfR= z-Y$4aXC}#8=RqSn;|g?Fd87<(6G|Vgt}AP5N_&!+{#_p=I;Dp^@>X& zwg(ro0~9d!FN<{eM_%;wX#e&T%HU=CdM#I{)is89v^$eSHt&mpI4iPwT2+Ai0Vd#XT;iGXBS)ytWn%=DP|P3gcC&+?eFGh%nOXPznxBc==l?+SMEBn4x3#A zN-r*+r8@+=!f`|_#k=d3o^XG;OE2u0Lf0Lz;T*P%bXR5}Iry-&E#5Y8hFRGE_`)yy zNGWiyz7P``cITBd92?k_U3q({u?-TUsr7N(yEF~&>5e{6XcGrYVcoL+!yBqV{Y1Jc#w^Sp^Wqe zP#8wEb=P5IWG?VBZmscBS;lF$m2N{TBuzSe#%4xbGJnr)Hxz~p?OUo1T$|-_IvbM? zAqbTWWwt#=gMq2Qdmh&^D0Y5P{UKwurAC-5Y}d2MmGt41=W}_JFvA+X|FbH-cT3G!; zdRA2~;Hs0C<064?3G*CAaf#q2B%`ENCf_+=ol*uG_X*{jx60;CvEM@<%MdS4^TJ?)@N`enmvp`wf*z(9Q&pa&{iLLA&u|@!BU>K|5IT zvtvGO#wuWfa?ciF>YRUOcLFc)hFqVZ#`&Lc@6Iv92ClX6^*~tLuE(_8zX9GmnPT{5 z789KZrOSnbh*4V`Y)#*l`9K_6IO_;2cWq?D{lO}a`{S}N4p6Zv6scQ9!F-XYjBM0| zST11tJO@?D5uQfTiv#3xZpKBin@4LQVvocrcI90sQX} zqcRC`1T-nX>X-mx*MC1R;-cJ>1BjP~@RXF3T<}Q3Z-2k_cPIY##9t`f`@6TTnu0_x-hVoG^DxigEkTRUISk0{n3S%Ua)Glq*mrOA zzTWfG^|RXhm;ZkGIT~go{#~uK!Ueqf`wa5W&woXG^@?}o>*s&|tTHSBfSz?XX?My}Pj7tIvz2X{$`2!t4G>@3-GAvWRo9&GYJfgWr+t@$DIB2XGtu^5w#; z%ZMz&&HU@7hkKFRM;>CYW!mQBd-wHZt;dT#+(n-ur*^;Inxk2-^M>;FO`{6GCj(`l zT_0AD?x%(}zg@~Kd!OUbWkX%x`>}+E-=~4BzNc4SPq&c>hWA(9FK@Mrcw8?YKdp9K zx+{B*p*gt!6yj-JIih_$LM!+Cxuhks?Uf>OF3(X<a(CcBFz9Y-Y_$JC7|NP8wIKfxughV`2`EB)j1I9D$lR;E7Sj}9x| zl?9)J-><$YH6F`s?`WOZD{s);JM4yTYY`GJTncU|8t-`g9Jlr>qMuoqJn;6hs@rw< zKSpS4_q2BPs2f8PGm3l2%$=$VpsEI(QRSJ{2VM>$i%*@!7LQSp%PZBzYbC1Ze6dpS9art8W zgpXlhj2~hVx1JZvO+FFND`mPHpF#4z0=T5hlES)Klk;(7;xK!QxzriZ4PHAXC;UQ} zmX8lM1Eo4+feJE_#5pKJr59pqxtBnJ*}KBkt&JTX(5@9O)?rC117-~VWW(fqCokl({L47aD)DS6+}b9m0Gy)7wR`FL8ZCy8;$1+&?rar$ zk4bi^C2g$=IPN89G`k-n>)N)G^&?S(vY!aw4#EtJ?6-dBJ{Dd$;>7!V zj8i_v#wQZ6!kd8&vT8C_b3h_eFF;e3&W z0sGkjV}bdv2(Hu;0`sX_Nf_$rt}X1)S);pl-HD=?!ZJBo!hc&kxgfSFwSLC>Is!i> zZ*Wejkh2ypYv>bpAME0-sKd@qvITE@Pbd@dw|Y~)B27PuDX|%p9POu3jnS|KE4d3X z&){PUq?uihKjw0x*EuhHBx*VD+EL-+`I;2!<7mpDGa4EwY>d@Yf(ZPMbd9fCyYIIdVUlWFt z88XYPIR#X)nb$UlX^QnOb!uoP(?j_Imq!AWc8O`mArdjC{+a*>S3qd zpc4k`W@fTpc#A|h5-~(=;~LByqlV8>oB5`;9~<93Jx&EDSz5V_9tHa_AKx5&ifsKz zQndA9Xwua_m2QJ`r>9Zywd^TT3QTUD(m4ODve27LrsH{y_<2A6u!Isj8ryv6a(Y>3u^Ku%iEq*Oh6*^3vSR zwQB0HD7wJYy4=mveu}MBU$eiT;r*NBO$t6(UR3E9O(ZE6N)A9WAH;-8_8b04l)CbC zn?t5`Cf|gC;Jn9Y=LaJm+k5Slhl|s#HPso*lHpNDH409Zc-N5)DJQFiRpP7^YH5r` zIr2q8MJ!~F5hu%!qFA^c5n=A_=*q5Z3Z;#Jo@PP2Kepq`sI68h6Mzn1uFHajgiljM zC>igZ(E`p3QY!u`WvmKJ4D(?c=;zm?5eom@+e@quodDD<5%ZQGHF)K)Ee|#&kGcJ`d2w!OvFqTCHFQtmvoC*Ktb!x{uLhBx(#)7h+Bt;oFONrBeZK`T2 z$wpAc);2i+4eJd2#Vu$EeQcTvnO&Wit`^B+B_h@bywk8fxPA?WPbl+&9{dKG4XpUA zB2e9@F?icJKW(K50GAM2HQ5xZyVu~|IF35c9eh0g2>ogp!A82$v5_GasRtSa+~eoK zc);H_2$pC)VTr@muZaL}&ktW+cDIaZQbwetWn(1$= z(~rK6U#g?8q-ir9zNZRJM9mzjJRl>3Q~pMu$fLojB5}p#mTmUozW!JmPCh&L9KSvu zv+wLz5@rjx%RxVW_5`I}Xg!gCw$B8P1#XYh2-0YHKkp`zp7DV$Rru3SZWSNx|8ve; zQ^lWR<1hK23W--GJclwK;CSWfT&@V>!2IU?PC~V}3IJQ%^w>u2)Y(wMV2N1EyKKy} zkRY?8KwPd~O6vQ}#$^jF!7g% zGG%i91crb{GEB$tePeBZ0q-=BW68f#7207}UzbEPvqujbT1*XYw-PWE^h@1nT4#yy z#S^R#K~J&y`U>Z-O~lkCEQTWvU{uqnU`<$sch%voouCc>q`+rzEz&O24#99&THz&8 zrsHr&eZP<8@3guuJk&o9!p~O!#7ol9GUnWU-hWy}P|tH$Iv+&7+oa(3O-LBVTy~Y1 zsLd#ksiC*x6OLJfk(q>-r?y#2cE$yZeG}Ya%FtrRWiW8Iqx%}R=Mn0za_!^b3%uMo z7++n7-J_-!Zo71Y5;oYV+!_ZZ7I*nr{4TXGQ2t1~(pvozK=jilDiuiiBDb@K3}f_Q zpJeTM#n<0SlrlADU}nf5hPhb8>;!}xuNaTQ1PCy3gvO;YHL_KU z>3&I!!Azwxr@)^c7pF;HwZ_MiOJ_;R!XimMHNKh1#-6rRBaUCeRg%xQOzY``QiO2^ zkt)%1aOH3FFSfd=urL3xa5`yBcG5~w82b?PPkGJeZN~bJbl}eOEMe3x8^{5vrwydsF1R55B;5tC;jBAsmQ>pX zRu9?@pR`mQrc*7;$Ra9Hm-}TI{mbmz7nTH-4PBkoA9Df?7?>u(wG`2lXM{91Q%E8z zCCIIOqjJ$oGquakJGPAeXS5PnAz?u*^}v5EhCT0aIOVrzN&(i3_r!O&=Ms~}%mQR15r#m#Cf!<7>(V|~-a&Uadk zJgCFi^3Bh&R0KVq!p?v6VX>XYDlIxa>!IW1YgT6x8K-s-D0&=m-XtWXRgTg~o2#vm zk&+|GQ+tfYEc_6~%2_+LXAz=Xlvw9#Ym3X_s;l`JJ5y$xtH%q*?39g{{8PvsalUG^Z!bEsWFas%Cu~x|m!|ieIymKxW?dkr%TVR( z_$a(S91qx~EyQd*Vz4TM;$2cewVk;6O!DUGUX`;PEAFP;`;sO%fbJ z)nffY?CMm_8TSi`&A8n3{jzG~Ed_yv{i8I74IXt>IC-7&3SD;~nQU`YR~33g zzsIuDWuf?Uz8R>Q-|q38YEsfoA}RqUbycj}ef)%uD=9j(sq|oZ)#-oLupNE;CN2|$ z9{NE+uaanUaP8=+(z>}Qn}vviKR6`^T8eJAIM`~xhW;l=*N~qhgXTDYoXL(iDm?PPdVD?aOADy8 zm}%JCQ?;?I0&)^Tk>f_$N>!LL-idwru{988t`llp`(?E!Utr74?ob2CE*`1H+9jKP z0$)Agt9Ch>#?ZwhTPgxz?Kcjn+UAwbt~J!@D#e%V=;xB0CC0A z09`){TS5*AlPd_++p08p%vS-OI(C+A zzF!9;%y;O@Ps2F}*T;7o|M@I2$~CaUM5nJxybIpHuitlv%-FiwLBlZuI$hfAmwEXX z_=Fi*D-0#xw{{iMsHP}wFbeb`>q$-EDw~G0CCTnD@MMv38u4;GtTmt=cRUZODpPJJ z*NQ{+M0|gEY-|LqH_9eWHlC8j@oH9s&{Mol#71zZ_x=BZBdagqNZDkA0!|H+WKqG) zjL^g>eh46E6vbzQrdfyAV`~8UT)7G%#jdnqs~JVbR)B>R!`K1O)ibRib;x{VvJ721 zCQLgojLg0=>Vs99`C73qFMUKFoXDi}{)M;0kF}=OMis8O3$BZYk30uW`H8&Y8k4=!LruzHuR^VB)+wTd?06pEeC*HC@i zS=B~s;TC%IV?Dwkn(sqP3(pUX_i79qwljw%X~D?)!Kaf%O00#B%q|(om$PufX}xKZ zr$mhJ0?fYwmp|Hy@Vet5G_1{kfB!z-IT0df^xhpmz<_t&xntw2+cvwu{T zqROe1KYnNc4p+)vPB&3an4?yrU~Q0*BSIMua(EUMERWS#6}L9&ZeLp6`kw-%PV4=A zYCo}7Y+xl7Y$aSw1d({A0!^>*?z$N=e<(mZY>7ss?t8M13z|l@u*jM}QpBJ#V7RH4 zz&_g*)65Pt)n)T$S`AmY8)w7nWoL>Jzyrloslz;=m-+}Pj)+~RE~_T_GnA_6H~Jq4 zCBKl1Ja=;<9Pu|flrKQ+P&(X9=O~mUoaHePAnAJz|PID;0ApJUNQsDcpXya5GmxCIn(+gru;&y}3zSuQ7eF`4j}EAnFr*EOHLi>vS#CYvSks@dbP@B3B>?Q2)ABd72~Jp(SRXMa`Tb(s^R{Sos6P&lV?qZt zw-{5*w;DTxN*PX>K*hYSl8_c-5rCJFICrnYJj>?r1F7HmUoV(`ft;sk+Vz=8HG9}n zzMOMpB{eBTm{~b}ya4Z#I_4xK4vxb{78cjw z;o;A7^2Jf{r+1>=z`HuZmoL@pK=MJg9A+|PBkp?$Z8Aq)ND>PRH zo_kWhq%7wUJ)TO6s>o{iqhg&Gk|aNU5i3#%-A*~J3KnG{6}X!d#FbS0*qt;X>0gqh zX2Q*oLP7^J!kA=RtJ!55VgtTZr zXkM?e@n=)79RC}$owiPyQzz@H zd1@ku?#mY_Qh3;R3Q69H z)6~Bi!oS8fTjjdf$pZ4+pN(r8fUCGo>z;;-@4>;tUZ#(GgFl083$?2CWE@h;ovO1< zFVG)~Pf5cR7ZMpo5|uy>NFVx@1R|%FbtY<;OTM6Xay6DIYIgqOd$t1H-Ptv7Svp@2 zKy9QE4{L!>jvOEC0p+_o8drKd*DYxYg=-?&s%&jw(Vo|io~LD)k{>#ijVX1gAIp^4 zd*lNLislIS%i5xqihgt5y%th3M{_3DNj^mQ=e;tj6i~be(c(*7a;Dmp-Trm|pH8)L z^o7#6dps;mVd3}A$wTF_IxJ)vT>6Hb1+}aY1|9U}7FMVEBWuoq_h%tid}YIqMI_8j zoP}Gd!FQH5BKF^`mQy4kX7~(<-ivpvIHir;sIqHa?^YL)*cP;lbZ>IQmOwd4Kh)>Px`u1P}kpG2ZMBn|5{s)^+GxC^IXS zaV0iUw=AeJL#GrOI}JQz&2MFKe7?1QIgc=ibk_I%Z~M|jj}_;x)NkhgAqeswxjtI* zg&JU@9pP>#FU{p2ed3P2gKvDIV=4HYHoV((x2Rh3d)yqCdFXpc$Qpuz6bVC4Z?*Gc z9u3QhEQLn|{BYh6GV03yj#$lADSqFbdtnapyw60?6F6vf&>rB}-Px+h1~1tG0lase zQWmUXcNyhrJ(fY)A4c&5D;;DoS3lrc(xU1>DpYl|9-8dy`T1y2tlL$P0?7yM@h2nM zYv*^1Z`oODu^ZB^x<}8&G%Nxf52q6U`24F58k-17iEsQEgbRmPrJk@UXjh6(Py zq4MDEd9e+7D*lKb6vx(1H~knBeA$iA;yG&+zP>fS^n%Ak(|m0I9IFjp8Ee6jDU=aV z&zJf(t7?_O36NaRfR3|j`ad&{+dB58X^b0F%}&eNo0?8566zA8^(3xZhrQAvXjxpS z%yWeXVukef`t1}aFaS(5A~lgp7c4NTputHDMH%fs38H+8jQZ7^gRMsnPL$lq4fP^x zW{idumo5BPnaI|9G&+;gYg0Z<(9QF+NjxKF zROxf3kxwDv+jv$4ZE%cxyT*|l&az0=NC^p&6m*WYSt_+-NGTX|jaxW4?WR9S;0QH> zmXO*6^_hgJCz51I4{p#4gcU1m|EYK{mxjVHb0MSrWn{h^D#8bspV5u$eBwNrR z*IDx?Z1I7^mk{}I?8l-?3{|M?#dbI$%5I?wZXd5Si04qx*r`-aB`7X;OZr`ZRL$G6 zi~PXBhHT45d>jrQHexoD`X$F+$U()3p6;F&lY`!tyPv0KOCQsN935J;aZ_e8SFBol zNCeaARWL|apK+qpAIHKCd~QhXmN(jr3l#+Ihi4pPGKSFwZP;zssNpK=6F8n1vboTJ- zx+j~Cs2$0h^@^U0fEKm0*BpC|P7{lo_=hZ<){kp_hyUSgK$s&=FXet%*!JufmihYC zSF>q(!i5l8KdP@adDdTrV3_H+t~FM;t|P4gBzS*U< zscSQnLq)VcJ8&%d;@B?HFyZRyB<^*Eu)}m@YT^OBef!6mzn*uo>I&gX1r_fd+GmA5)N*0vPd!Fj zXud7uEbDu^?e$X58Z^C*p4lTTkedRPe;c7NJ6$9@fzz1MB*>gHA7N9>W38qFCq|l3 zZi2{pbQ!m*twxa1NbH_=$oEc89X;xl(M^kDi3yoyz7#K!lI}@%_g{pX&7?M)nvQJg z+TXih`5nv~QW=8oc5F~dnr{ZXdTWpguZcmZM27rAMh}k0}R*H$VZw-6pEPU^kRV@zIkkCe z%}MKK`K!*hn6qEoRdsbmf^8z>ck0)z3%Tqc6r=`p{^o;W%ooOc`xdetr8y_GkXfeZAR^rOn0=dc z)#Z-jB+SKr^%R^z> zZ~8}wW<-0!_kWtOGZ3|PAtSWS)_P|wAN9VG1da=YN7}9WhH)hYH9GbQ1%GhFz~P7f zH;%^i*3E2KA%vri&YEjX>QHogebjs%Exxf4ZGOP70)z(oCy! z?a+2`FNr>~&ULy8a(#?st;n?UZ2wN#OkR4<|s@jyKYGP3){CD%eE+f6bfchUaN*uX5-1FKx@@>GR zVH6sJCsP^Ul-NZjE}R=2wC4_XzqsnG7#Mz5oES$@<6#OR$I4G)T`sR_z&;DDS0JX_ zyzBLjFt?-t)2x~Y$p&~}@s*1REW4j{u5}~ef-|jIXS#cnEWhiBD;{6hZF)XSqkSNm z?fB}A%%_%-MdB&D!5|}7Cv6ewm|fx6k0hYkYL1SqS*i@gl+X`G4z1t~`4VTNqM%Qk zlrx4SS;N%^9{E2wKZE;?&AGF=sp)dWd1k@1=yZI-Z0leWhrXe?Re-pEI@ zp|zZ_k$g$QZM)k7v+Fx?jx(4}fO%-t#Sbc1#$c&BCPYCf8*flgZ~h9M*zB38t()N_NhP(Jg~_xGRr7}r z-|wMK`t(kaIqbF0O)xjI2e$P3KlxO^{|^7tlM>LJj+Rja{Iv4T5H3YrEEdXBQ^C5B zppbl-RORpX1%bo43CgpeT%$SCC_V7!ISKNtp?+0eS$cX| z97$O$Ua=k~4kKc&Ok`RUWSIE5tJrwwfj)2Fx!yyQ9(Lea!-;3j>xva5KBZ%&Nh0KFU~=0O zJ>Bb5#{Vg@zf;b`VU6$-lfd;!Q9?U~N+%0DsG#$?6b&`$17 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 Ppmg29SieHg>5u;byVWW~ diff --git a/test/fixtures/app/index-changed.html b/test/fixtures/app/index-changed.html deleted file mode 100644 index 9d02a3b1..00000000 --- a/test/fixtures/app/index-changed.html +++ /dev/null @@ -1,5 +0,0 @@ - - -

DIFFERENCE: No Image

- - diff --git a/test/fixtures/app/index-without-img.html b/test/fixtures/app/index-without-img.html new file mode 100644 index 00000000..b8713ea1 --- /dev/null +++ b/test/fixtures/app/index-without-img.html @@ -0,0 +1,18 @@ + + + + + + +
+ + +
+ +
+ + +
+ + + diff --git a/test/fixtures/app/index.html b/test/fixtures/app/index.html index 6bc13454..d695e1a5 100644 --- a/test/fixtures/app/index.html +++ b/test/fixtures/app/index.html @@ -1,15 +1,18 @@ + + + -
+
- +
- +
diff --git a/test/integration/browser_screenshot_test.rb b/test/integration/browser_screenshot_test.rb index 95e339e1..4b2e47d5 100644 --- a/test/integration/browser_screenshot_test.rb +++ b/test/integration/browser_screenshot_test.rb @@ -1,14 +1,34 @@ +# frozen_string_literal: true + require "system_test_case" class BrowserScreenshotTest < SystemTestCase + setup do + Capybara::Screenshot.blur_active_element = true + end + + teardown do + Capybara::Screenshot.blur_active_element = nil + + if @test_screenshots + @test_screenshots.each(&method(:rollback_comparison_runtime_files)) + # NOTE: We clear tracked different errors in order to not raise error + @test_screenshots.clear + end + end + def test_screenshot_without_changes visit "/" screenshot "index" end def test_screenshot_with_changes - visit "/index-changed.html" - screenshot "index" + visit "/" + + fill_in "First Field:", with: "Some changes in the field" + + assert screenshot("index") + assert_screenshot_error_for("index") end @@ -64,6 +84,80 @@ def test_screenshot_selected_element screenshot "cropped_screenshot", crop: [0, 100, 100, 200] end + test "skip_area accepts passing multiple coordinates as one array" do + visit "/" + + fill_in "First Field:", with: "Changed" + fill_in "Second Field:", with: "Changed" + + screenshot("index", skip_area: [8, 100, 218, 140, 8, 140, 218, 180]) + + assert_no_screenshot_errors + end + + test "compare crops only when other part is not working" do + visit "/index-without-img.html" + + screenshot("index-cropped", crop: rect_for("form"), color_distance_limit: 40) + + assert_no_screenshot_errors + end + + test "crop accepts css selector" do + visit "/index-without-img.html" + + screenshot("index-cropped", crop: "form") + + assert_no_screenshot_errors + end + + test "skip_area converts coordinates to be relative to cropped region" do + visit "/index.html" + fill_in "First Field:", with: "New Change" + fill_in "Second Field:", with: "New Change" + + skip_left_top_square = [0, 0, 170, 110] # skip only first filed, but the second should not be skipped + screenshot("index-cropped", skip_area: skip_left_top_square, crop: rect_for("form")) + + assert @test_screenshots.last.last.different?, "second field should not be skipped" + end + + test "skip_area by css selectors" do + visit "/" + + fill_in "First Field:", with: "Test Input With Hide Caret" + + screenshot("index", skip_area: "form") + + assert_no_screenshot_errors + end + + test "crop and skip_area by css selectors" do + visit "/index-without-img.html" + + fill_in "First Field:", with: "Test Input With Hide Caret" + + screenshot("index-cropped", skip_area: "input", crop: rect_for("form")) + + assert_no_screenshot_errors + end + + test "bounds_for_css for multiple elements returns all areas" do + visit "/" + + label_bounds = bounds_for_css("label") + + assert_equal 2, label_bounds.size + end + + test "rect_for for multiple elements returns first visible element" do + visit "/index.html" + + label_bound = rect_for("label") + + assert_equal 4, label_bound.size + end + private def window_size @@ -75,10 +169,22 @@ def window_size end def assert_screenshot_error_for(screenshot_name) - assert_equal 1, @test_screenshots.length, "expecting to have just one difference" + validate_screenshots + + assert_equal 1, @test_screenshots&.length, "expecting to have just one difference" assert_equal screenshot_name, @test_screenshots[0][1], "index screenshot should have difference for changed page" end + def assert_no_screenshot_errors + screenshots = validate_screenshots + + error_messages = screenshots.map { |screenshot_error| screenshot_error.last.error_message } + + assert( + screenshots.empty?, + "expecting not to have any difference. But got next: #{error_messages.join("; ")}" + ) + end + # TODO: Add test for stability to await while image are loading - # TODO: Allow to run tests for browser which was selected by ENV: chrome, firefox, cuprite and other end diff --git a/test/integration/record_screenshot_test.rb b/test/integration/record_screenshot_test.rb new file mode 100644 index 00000000..752a6cb9 --- /dev/null +++ b/test/integration/record_screenshot_test.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +require "system_test_case" + +class RecordScreenshotTest < SystemTestCase + def test_record_index + visit "/" + screenshot "index" + end + + def test_record_index_cropped + visit "/" + screenshot "index-cropped", crop: rect_for("form") + end +end diff --git a/test/support/setup_capybara_drivers.rb b/test/support/setup_capybara_drivers.rb index 2b1c4c50..784ffeae 100644 --- a/test/support/setup_capybara_drivers.rb +++ b/test/support/setup_capybara_drivers.rb @@ -4,6 +4,8 @@ ENV["CAPYBARA_DRIVER"] ||= "cuprite" +SCREEN_SIZE = [800, 600] + if ENV["CAPYBARA_DRIVER"] == "cuprite" require "capybara/cuprite" CHROME_ARGS = { @@ -60,13 +62,12 @@ app, browser_options: CHROME_ARGS, js_errors: true, - process_timeout: 10, - screen_size: [800, 600], - timeout: ENV["CI"] ? 40 : 10, - window_size: [800, 600] + process_timeout: 20, + screen_size: SCREEN_SIZE, + timeout: ENV["CI"] ? 40 : 40, + window_size: SCREEN_SIZE ) end - elsif ENV["CAPYBARA_DRIVER"].include?("chrome") require "webdrivers/chromedriver" Webdrivers::Chromedriver.update @@ -75,4 +76,5 @@ Webdrivers::Geckodriver.update end +Capybara.save_path = "tmp/capybara" Capybara.javascript_driver = ENV.fetch("CAPYBARA_DRIVER", :cuprite).to_sym diff --git a/test/system_test_case.rb b/test/system_test_case.rb index ae4fe0f7..1b2bcd5d 100644 --- a/test/system_test_case.rb +++ b/test/system_test_case.rb @@ -1,24 +1,32 @@ +# frozen_string_literal: true + require "test_helper" require "support/setup_capybara_drivers" class SystemTestCase < ActionDispatch::IntegrationTest + BROWSERS = {cuprite: "chrome", selenium_headless: "firefox", selenium_chrome_headless: "chrome"} + setup do Capybara.current_driver = Capybara.javascript_driver + browser = BROWSERS.fetch(Capybara.current_driver, "chrome") + + Capybara.page.current_window.resize_to(*SCREEN_SIZE) + + Capybara::Screenshot.enabled = true + Capybara::Screenshot::Diff.enabled = true # TODO: Reset original settings to previous values @orig_root = Capybara::Screenshot.root Capybara::Screenshot.root = "." @orig_save_path = Capybara::Screenshot.save_path - Capybara::Screenshot.save_path = "test/fixtures/app/doc/screenshots" - Capybara::Screenshot.enabled = true - Capybara::Screenshot::Diff.enabled = true + Capybara::Screenshot.save_path = "test/fixtures/app/doc/screenshots/#{browser}" Capybara::Screenshot::Diff.driver = ENV.fetch("SCREENSHOT_DRIVER", "chunky_png").to_sym # TODO: Makes configurations copying and restoring much easier @orig_add_os_path = Capybara::Screenshot.add_os_path - Capybara::Screenshot.add_os_path = false + Capybara::Screenshot.add_os_path = true @orig_add_driver_path = Capybara::Screenshot.add_driver_path Capybara::Screenshot.add_driver_path = false # NOTE: Only works before `include Capybara::Screenshot::Diff` line @@ -33,12 +41,6 @@ class SystemTestCase < ActionDispatch::IntegrationTest include Capybara::Screenshot::Diff teardown do - if @test_screenshots - @test_screenshots.each(&method(:rollback_comparison_runtime_files)) - # NOTE: We clear tracked different errors in order to not raise error - @test_screenshots.clear - end - # Restore to previous values Capybara::Screenshot.root = @orig_root Capybara::Screenshot.save_path = @orig_save_path @@ -47,13 +49,42 @@ class SystemTestCase < ActionDispatch::IntegrationTest Capybara::Screenshot.window_size = @orig_window_size Capybara::Screenshot::Diff.tolerance = @orig_tolerance Capybara.current_driver = Capybara.default_driver + + if Capybara::Screenshot::Diff.driver == :vips + Vips.cache_set_max(0) + Vips.vips_cache_set_max(1000) + end end private def rollback_comparison_runtime_files(screenshot_error) screenshot_name, comparison = screenshot_error[1], screenshot_error[2] + debug_diffs_save_path = Pathname.new(Capybara.save_path) / "screenshots-diffs" / name + + save_annotations_for_debug(comparison, debug_diffs_save_path) + restore_git_revision(screenshot_name, comparison.new_file_name) comparison.clean_tmp_files end + + def save_annotations_for_debug(comparison, debug_diffs_save_path) + FileUtils.mkdir_p(debug_diffs_save_path) + + if File.exist?(comparison.new_file_name) + FileUtils.mv(comparison.new_file_name, debug_diffs_save_path) + end + + if File.exist?(comparison.annotated_old_file_name) + FileUtils.mv(comparison.annotated_old_file_name, debug_diffs_save_path) + end + + if File.exist?(comparison.annotated_new_file_name) + FileUtils.mv(comparison.annotated_new_file_name, debug_diffs_save_path) + end + end + + def validate_screenshots + Array(@test_screenshots&.select { |screenshot_assert| screenshot_assert.last.different? }) + end end From 9bb4057f4bede33baa9d933d0e9e67b5e60a91c5 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 19 Sep 2022 15:06:01 +0000 Subject: [PATCH 152/312] Bump actions/checkout from 2 to 3 Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 3. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v2...v3) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/lint.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index d14194ae..9577d45d 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -13,7 +13,7 @@ jobs: steps: - name: Checkout code - uses: actions/checkout@v2 + uses: actions/checkout@v3 - name: Set up Ruby uses: ruby/setup-ruby@v1 From dfac129d4464a0b626c2dc5f2bbd60dc82f5b340 Mon Sep 17 00:00:00 2001 From: Paul Keen <125715+pftg@users.noreply.github.com> Date: Fri, 23 Sep 2022 08:20:55 +0200 Subject: [PATCH 153/312] Fixed typo in README --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 98eabdde..f5a030a4 100644 --- a/README.md +++ b/README.md @@ -44,7 +44,7 @@ class ApplicationSystemTestCase < ActionDispatch::SystemTestCase end ``` -### rspec +### RSpec ```ruby describe 'Permissions admin', type: :feature, js: true do @@ -64,7 +64,7 @@ But it's better to include it within your *_helper.rb file so that it can used a require 'capybara/screenshot/diff' RSpec.configure do |config| - config.include Capybara::Screenshot::Diff::TestMethods + config.include Capybara::Screenshot::Diff end ``` From 4b836274a6b6e441a1a36c23302a132301b8f164 Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Tue, 27 Sep 2022 10:31:21 +0200 Subject: [PATCH 154/312] Allow skipping stack frames in the failure report --- README.md | 20 ++++++++++- lib/capybara/screenshot/diff/test_methods.rb | 4 +-- .../screenshot/diff/image_compare_test.rb | 2 +- .../screenshot/diff/test_methods_test.rb | 33 +++++++++++++++---- test/test_helper.rb | 9 +++-- 5 files changed, 56 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index f5a030a4..4328e8db 100644 --- a/README.md +++ b/README.md @@ -423,7 +423,7 @@ Capybara::Screenshot::Diff.shift_distance_limit = 1 this will impact performance **severely** if a match cannot be found. If `shift_distance_limit` is `nil` shift distance is not measured. If `shift_distance_limit` is set, -even to `0`, shift distabnce is measured and reported on image differences. +even to `0`, shift distance is measured and reported on image differences. ### Allowed difference size @@ -528,6 +528,24 @@ test 'unstable area' do end ``` +### Skipping stack frames in the error output + +If you would like to override the `screenshot` method or for some other reason would like to skip stack +frames when reporting image differences, you can use the `skip_stack_frames` option: + +```ruby +test 'test visiting the index' do + visit root_path + screenshot :index +end + +private + +def screenshot(name, **options) + super(name, skip_stack_frames: 1, **options) +end +``` + ## Development After checking out the repo, run `bin/setup` to install dependencies. diff --git a/lib/capybara/screenshot/diff/test_methods.rb b/lib/capybara/screenshot/diff/test_methods.rb index d2793e9e..5bad2eea 100644 --- a/lib/capybara/screenshot/diff/test_methods.rb +++ b/lib/capybara/screenshot/diff/test_methods.rb @@ -57,7 +57,7 @@ def screenshot_group(name) end # @return [Boolean] whether a screenshot was taken - def screenshot(name, options = {}) + def screenshot(name, skip_stack_frames: 0, **options) return false unless Screenshot.active? return false if window_size_is_wrong? @@ -87,7 +87,7 @@ def screenshot(name, options = {}) comparison.skip_area = calculate_skip_area(driver_options[:skip_area], crop) end - (@test_screenshots ||= []) << [caller(1..1).first, name, comparison] + (@test_screenshots ||= []) << [caller[skip_stack_frames], name, comparison] true end diff --git a/test/capybara/screenshot/diff/image_compare_test.rb b/test/capybara/screenshot/diff/image_compare_test.rb index d9fd2e74..25c8dd69 100644 --- a/test/capybara/screenshot/diff/image_compare_test.rb +++ b/test/capybara/screenshot/diff/image_compare_test.rb @@ -65,7 +65,7 @@ class IntegrationRegressionTest < ActionDispatch::IntegrationTest Dir.chdir File.expand_path("../../../images", __dir__) do images.each do |old_img| new_img = old_img - comparison = make_comparison(old_img, new_img, driver) + comparison = make_comparison(old_img, new_img, **driver) assert( comparison.quick_equal?, "compare #{old_img} with #{new_img} with #{driver} driver should be quick_equal" diff --git a/test/capybara/screenshot/diff/test_methods_test.rb b/test/capybara/screenshot/diff/test_methods_test.rb index 5e7f9888..b43fb75f 100644 --- a/test/capybara/screenshot/diff/test_methods_test.rb +++ b/test/capybara/screenshot/diff/test_methods_test.rb @@ -14,9 +14,9 @@ def test_assert_image_not_changed value = RUBY_VERSION >= "2.4" ? 187.4 : 188 assert_equal <<-MSG.strip_heredoc.chomp, message Screenshot does not match for 'name' ({"area_size":629,"region":[11,3,48,20],"max_color_distance":#{value}}) - #{Rails.root}/screenshot.png - #{Rails.root}/screenshot.committed.png - #{Rails.root}/screenshot.latest.png + #{Rails.root}/doc/screenshots/screenshot.png + #{Rails.root}/doc/screenshots/screenshot.committed.png + #{Rails.root}/doc/screenshots/screenshot.latest.png at caller MSG end @@ -27,9 +27,9 @@ def test_assert_image_not_changed_with_shift_distance_limit value = RUBY_VERSION >= "2.4" ? 5.0 : 5 assert_equal <<-MSG.strip_heredoc.chomp, message Screenshot does not match for 'name' ({"area_size":629,"region":[11,3,48,20],"max_color_distance":#{value},"max_shift_distance":15}) - #{Rails.root}/screenshot.png - #{Rails.root}/screenshot.committed.png - #{Rails.root}/screenshot.latest.png + #{Rails.root}/doc/screenshots/screenshot.png + #{Rails.root}/doc/screenshots/screenshot.committed.png + #{Rails.root}/doc/screenshots/screenshot.latest.png at caller MSG end @@ -38,6 +38,27 @@ def test_screenshot_support_drivers_options skip unless defined?(Capybara::Screenshot::Diff::Drivers::VipsDriverTest) screenshot("a", driver: :vips) end + + def test_skip_stack_frames + assert_nil @test_screenshots + make_comparison(:a, :c, name: 'a') + + our_screenshot("a", 0) + assert_equal 1, @test_screenshots.size + assert_match(/test_methods_test.rb:\d+:in `our_screenshot'/, @test_screenshots[0][0]) + assert_equal 'a', @test_screenshots[0][1] + + our_screenshot("a", 1) + assert_equal 2, @test_screenshots.size + assert_match(/test_methods_test.rb:\d+:in `test_skip_stack_frames'/, @test_screenshots[1][0]) + assert_equal 'a', @test_screenshots[1][1] + end + + private + + def our_screenshot(name, skip_stack_frames) + screenshot(name, skip_stack_frames: skip_stack_frames) + end end end end diff --git a/test/test_helper.rb b/test/test_helper.rb index 6276a647..67bffadb 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -44,6 +44,11 @@ module Diff module TestHelper private + # Stub of Capybara's checkout_vcs + def checkout_vcs(name, old_file_name, new_file_name) + # Do nothing + end + # Stub of the Capybara's save_screenshot def save_screenshot(file_name) source_image = File.basename(file_name) @@ -51,8 +56,8 @@ def save_screenshot(file_name) FileUtils.cp File.expand_path("images/#{source_image}", __dir__), file_name end - def make_comparison(old_img, new_img, options = {}) - comp = ImageCompare.new("#{Rails.root}/screenshot.png", nil, options) + def make_comparison(old_img, new_img, name: "screenshot", **options) + comp = ImageCompare.new("#{Rails.root}/doc/screenshots/#{name}.png", nil, **options) set_test_images(comp, old_img, new_img) comp end From 1b2a1c064218a33095d610eb21c2c50a9c0f0378 Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Tue, 27 Sep 2022 10:39:19 +0200 Subject: [PATCH 155/312] Version 1.7: Require Ruby 2.7+ and Rails 6.0+ --- .github/workflows/test.yml | 11 ++--------- capybara-screenshot-diff.gemspec | 4 ++-- gemfiles/rails52.gemfile | 6 ------ lib/capybara/screenshot/diff/version.rb | 2 +- test/test_helper.rb | 4 ---- 5 files changed, 5 insertions(+), 22 deletions(-) delete mode 100644 gemfiles/rails52.gemfile diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 82ff1522..8bed4e8d 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -67,18 +67,11 @@ jobs: strategy: matrix: - ruby-version: [ '3.1', '3.0', '2.7', '2.6', 'jruby' ] + ruby-version: [ '3.1', '3.0', '2.7', 'jruby' ] gemfile: + - 'rails70_gems.rb' - 'rails61_gems.rb' - 'rails60_gems.rb' - - 'rails52.gemfile' - include: - - ruby-version: 2.7 - gemfile: rails70_gems.rb - - ruby-version: 3.0 - gemfile: rails70_gems.rb - - ruby-version: 3.1 - gemfile: rails70_gems.rb env: BUNDLE_GEMFILE: gemfiles/${{ matrix.gemfile }} diff --git a/capybara-screenshot-diff.gemspec b/capybara-screenshot-diff.gemspec index b15c593c..619d7bfc 100644 --- a/capybara-screenshot-diff.gemspec +++ b/capybara-screenshot-diff.gemspec @@ -12,7 +12,7 @@ Gem::Specification.new do |spec| spec.summary = "Track your GUI changes with diff assertions" spec.description = "Save screen shots and track changes with graphical diff" spec.homepage = "https://github.com/donv/capybara-screenshot-diff" - spec.required_ruby_version = ">= 2.5.0" + spec.required_ruby_version = ">= 2.7.0" spec.license = "MIT" spec.metadata["allowed_push_host"] = "https://rubygems.org/" spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) } @@ -20,7 +20,7 @@ Gem::Specification.new do |spec| spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) } spec.require_paths = ["lib"] - spec.add_runtime_dependency "actionpack", ">= 4.2", "< 8" + spec.add_runtime_dependency "actionpack", ">= 6.0", "< 8" spec.add_runtime_dependency "capybara", ">= 2", "< 4" spec.add_runtime_dependency "chunky_png", "~> 1.3" end diff --git a/gemfiles/rails52.gemfile b/gemfiles/rails52.gemfile deleted file mode 100644 index 170b73db..00000000 --- a/gemfiles/rails52.gemfile +++ /dev/null @@ -1,6 +0,0 @@ -# frozen_string_literal: true - -gems = "#{File.dirname __dir__}/gems.rb" -eval File.read(gems), binding, gems - -gem "actionpack", "~>5.2.1" diff --git a/lib/capybara/screenshot/diff/version.rb b/lib/capybara/screenshot/diff/version.rb index 6cf5afc4..dda8ccb4 100644 --- a/lib/capybara/screenshot/diff/version.rb +++ b/lib/capybara/screenshot/diff/version.rb @@ -3,7 +3,7 @@ module Capybara module Screenshot module Diff - VERSION = "1.6.3" + VERSION = "1.7.0" end end end diff --git a/test/test_helper.rb b/test/test_helper.rb index 67bffadb..36662102 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -34,10 +34,6 @@ def self.application Capybara.threadsafe = true Capybara.app = Rails.application -# TODO(uwe): Remove when we stop support for Rails 4.2 -ActiveSupport.test_order = :random -# ODOT - module Capybara module Screenshot module Diff From d80f8a7351d5cc57d179bd3c9bc2737af672c60b Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Tue, 27 Sep 2022 10:44:35 +0200 Subject: [PATCH 156/312] Allow Ruby 2.6 until JRuby 9.4 is released --- capybara-screenshot-diff.gemspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/capybara-screenshot-diff.gemspec b/capybara-screenshot-diff.gemspec index 619d7bfc..7d576b53 100644 --- a/capybara-screenshot-diff.gemspec +++ b/capybara-screenshot-diff.gemspec @@ -12,7 +12,7 @@ Gem::Specification.new do |spec| spec.summary = "Track your GUI changes with diff assertions" spec.description = "Save screen shots and track changes with graphical diff" spec.homepage = "https://github.com/donv/capybara-screenshot-diff" - spec.required_ruby_version = ">= 2.7.0" + spec.required_ruby_version = ">= 2.6.0" spec.license = "MIT" spec.metadata["allowed_push_host"] = "https://rubygems.org/" spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) } From 70f28e8609763e2fcae64f7803b51d796d947724 Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Tue, 27 Sep 2022 10:51:06 +0200 Subject: [PATCH 157/312] Exclude tests for JRuby + Rails 7.0 since Ruby 2.7+ is required --- .github/workflows/test.yml | 3 +++ capybara-screenshot-diff.gemspec | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 8bed4e8d..d9c7c1b5 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -72,6 +72,9 @@ jobs: - 'rails70_gems.rb' - 'rails61_gems.rb' - 'rails60_gems.rb' + exclude: + - ruby-version: 'jruby' + gemfile: 'rails70_gems.rb' env: BUNDLE_GEMFILE: gemfiles/${{ matrix.gemfile }} diff --git a/capybara-screenshot-diff.gemspec b/capybara-screenshot-diff.gemspec index 7d576b53..07296637 100644 --- a/capybara-screenshot-diff.gemspec +++ b/capybara-screenshot-diff.gemspec @@ -12,7 +12,7 @@ Gem::Specification.new do |spec| spec.summary = "Track your GUI changes with diff assertions" spec.description = "Save screen shots and track changes with graphical diff" spec.homepage = "https://github.com/donv/capybara-screenshot-diff" - spec.required_ruby_version = ">= 2.6.0" + spec.required_ruby_version = defined?(JRUBY_VERSION) ? ">= 2.6.0" : ">= 2.7.0" spec.license = "MIT" spec.metadata["allowed_push_host"] = "https://rubygems.org/" spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) } From 2449a7344d57501057a76efde8fc3268e2d2ef3c Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Tue, 27 Sep 2022 11:06:19 +0200 Subject: [PATCH 158/312] Cleanup white space --- README.md | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 4328e8db..f4a3a8a9 100644 --- a/README.md +++ b/README.md @@ -64,7 +64,7 @@ But it's better to include it within your *_helper.rb file so that it can used a require 'capybara/screenshot/diff' RSpec.configure do |config| - config.include Capybara::Screenshot::Diff + config.include Capybara::Screenshot::Diff end ``` @@ -97,8 +97,8 @@ doc ``` To store the screen shot history, add the `doc/screenshots` directory to your - version control system (git, svn, etc). - +version control system (git, svn, etc). + Screen shots are compared to the previously COMMITTED version of the same screen shot. ### Screenshot groups @@ -300,7 +300,7 @@ Capybara::Screenshot::Diff.enabled = ENV['COMPARE_SCREENSHOTS'] By default, `Capybara::Screenshot::Diff` saves screenshots to a `doc/screenshots` folder, relative to either `Rails.root` (if you're in Rails), - or your current directory otherwise. +or your current directory otherwise. If you want to change where screenshots are saved to, then there are two configuration options that that are relevant. @@ -475,7 +475,7 @@ There are several image processing supported by this gem. There are several options to setup active driver: `:auto`, `:chunky_png` and `:vips`. * `:auto` - will try to load `:vips` if there is gem `ruby-vips`, in other cases will load `:chunky_png` -* `:chunky_png` and `:vips` will load correspondent driver +* `:chunky_png` and `:vips` will load correspondent driver ### Enable VIPS image processing @@ -484,8 +484,8 @@ and could be enabled by adding `ruby-vips` to `Gemfile`. If need to setup explicitly Vips driver, there are several ways to do this: - * Globally: `Capybara::Screenshot::Diff.driver = :vips` - * Per screenshot option: `screenshot 'index', driver: :vips` +* Globally: `Capybara::Screenshot::Diff.driver = :vips` +* Per screenshot option: `screenshot 'index', driver: :vips` With enabled VIPS there are new alternatives to process differences, which easier to find and support. For example, `shift_distance_limit` is very heavy operation. Instead better to use `median_filter_window_size`. @@ -535,14 +535,14 @@ frames when reporting image differences, you can use the `skip_stack_frames` opt ```ruby test 'test visiting the index' do - visit root_path - screenshot :index + visit root_path + screenshot :index end private def screenshot(name, **options) - super(name, skip_stack_frames: 1, **options) + super(name, skip_stack_frames: 1, **options) end ``` From 90ad52d2035a12aede01f6bf2ad5f4063b4137cd Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Tue, 27 Sep 2022 11:17:49 +0200 Subject: [PATCH 159/312] Trigger GH Actions --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index f4a3a8a9..67668af9 100644 --- a/README.md +++ b/README.md @@ -186,7 +186,6 @@ end test. - ### Capturing one area instead of the whole page You can crop images before comparison to be run, by providing region to crop as `[left, top, right, bottom]` or by css selector like `body .tag` From e02439151d5505ff018de050be1b13055512fbfb Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Tue, 27 Sep 2022 11:24:48 +0200 Subject: [PATCH 160/312] Trigger GH Actions --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 67668af9..4b62bf7b 100644 --- a/README.md +++ b/README.md @@ -364,7 +364,6 @@ Capybara::Screenshot.hide_caret = true This will make the cursor (caret) transparent (invisible), so the blinking does not delay the screen shot. - ### Removing focus from the active element Another way to avoid the cursor blinking is to set the `blur_active_element` option: From 705f0d095fc7d68ab6cd5108522d8edc01fd71e7 Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Wed, 5 Oct 2022 12:17:49 +0200 Subject: [PATCH 161/312] Rename `take_screenshot` to `take_comparison_screenshot` to avoid breaking regular rails failure screenshots --- lib/capybara/screenshot/diff/test_methods.rb | 4 ++-- lib/capybara/screenshot/diff/version.rb | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/capybara/screenshot/diff/test_methods.rb b/lib/capybara/screenshot/diff/test_methods.rb index 5bad2eea..55eab109 100644 --- a/lib/capybara/screenshot/diff/test_methods.rb +++ b/lib/capybara/screenshot/diff/test_methods.rb @@ -78,7 +78,7 @@ def screenshot(name, skip_stack_frames: 0, **options) comparison = ImageCompare.new(file_name, nil, driver_options) checkout_vcs(name, comparison.old_file_name, comparison.new_file_name) - take_screenshot(comparison, crop, stability_time_limit, wait) + take_comparison_screenshot(comparison, crop, stability_time_limit, wait) return false unless comparison.old_file_exists? @@ -112,7 +112,7 @@ def create_output_directory_for(file_name) FileUtils.mkdir_p File.dirname(file_name) end - def take_screenshot(comparison, crop, stability_time_limit, wait) + def take_comparison_screenshot(comparison, crop, stability_time_limit, wait) blurred_input = prepare_page_for_screenshot(timeout: wait) if stability_time_limit take_stable_screenshot( diff --git a/lib/capybara/screenshot/diff/version.rb b/lib/capybara/screenshot/diff/version.rb index dda8ccb4..16533d1e 100644 --- a/lib/capybara/screenshot/diff/version.rb +++ b/lib/capybara/screenshot/diff/version.rb @@ -3,7 +3,7 @@ module Capybara module Screenshot module Diff - VERSION = "1.7.0" + VERSION = "1.7.1" end end end From 19e8ee3194222060f7695e44307c26a51c727ffd Mon Sep 17 00:00:00 2001 From: Paul Keen <125715+pftg@users.noreply.github.com> Date: Fri, 14 Oct 2022 14:21:49 +0200 Subject: [PATCH 162/312] Prevents runtime error with stability_time_limit (#51) --- lib/capybara/screenshot/diff/test_methods.rb | 3 ++- test/capybara/screenshot/diff/test_methods_test.rb | 4 ++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/capybara/screenshot/diff/test_methods.rb b/lib/capybara/screenshot/diff/test_methods.rb index 55eab109..c2e0695b 100644 --- a/lib/capybara/screenshot/diff/test_methods.rb +++ b/lib/capybara/screenshot/diff/test_methods.rb @@ -78,7 +78,6 @@ def screenshot(name, skip_stack_frames: 0, **options) comparison = ImageCompare.new(file_name, nil, driver_options) checkout_vcs(name, comparison.old_file_name, comparison.new_file_name) - take_comparison_screenshot(comparison, crop, stability_time_limit, wait) return false unless comparison.old_file_exists? @@ -87,6 +86,8 @@ def screenshot(name, skip_stack_frames: 0, **options) comparison.skip_area = calculate_skip_area(driver_options[:skip_area], crop) end + take_comparison_screenshot(comparison, crop, stability_time_limit, wait) + (@test_screenshots ||= []) << [caller[skip_stack_frames], name, comparison] true diff --git a/test/capybara/screenshot/diff/test_methods_test.rb b/test/capybara/screenshot/diff/test_methods_test.rb index b43fb75f..90b397ed 100644 --- a/test/capybara/screenshot/diff/test_methods_test.rb +++ b/test/capybara/screenshot/diff/test_methods_test.rb @@ -54,6 +54,10 @@ def test_skip_stack_frames assert_equal 'a', @test_screenshots[1][1] end + def test_skip_area_and_stability_time_limit + screenshot(:a, skip_area: [0, 0, 1, 1], stability_time_limit: true) + end + private def our_screenshot(name, skip_stack_frames) From 4fc5f721428712bc4ddf0023d78729a4cee6e42d Mon Sep 17 00:00:00 2001 From: Paul Keen <125715+pftg@users.noreply.github.com> Date: Sat, 12 Nov 2022 17:05:01 +0100 Subject: [PATCH 163/312] Fixes test for cuprite capybara driver (#55) * Fixes test for cuprite * Cleanup vips install * Adds tests for skip_area usage --- .github/workflows/test.yml | 12 ++++++++--- gems.rb | 2 +- lib/capybara/screenshot/diff.rb | 2 +- .../screenshot/diff/test_methods_test.rb | 10 ++++----- test/integration/browser_screenshot_test.rb | 21 +++++++++++++++---- test/integration/record_screenshot_test.rb | 4 +++- test/support/setup_capybara_drivers.rb | 4 ++-- test/test_helper.rb | 6 ++++-- 8 files changed, 42 insertions(+), 19 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index d9c7c1b5..de1bf69b 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -35,7 +35,9 @@ jobs: bundler-cache: true - name: Install libvips - run: sudo apt install libvips libvips-dev libvips-tools + run: | + DEBIAN_FRONTEND="noninteractive" sudo apt-get install -y --assume-yes -q --no-install-recommends \ + libvips libvips-dev libvips-tools - name: Run Tests with coverage run: bundle exec rake test @@ -89,7 +91,9 @@ jobs: bundler-cache: true - name: Install libvips - run: sudo apt install libvips libvips-dev libvips-tools + run: | + DEBIAN_FRONTEND="noninteractive" sudo apt-get install -y --assume-yes -q --no-install-recommends \ + libvips libvips-dev libvips-tools - name: Run tests run: bundle exec rake test @@ -119,7 +123,9 @@ jobs: bundler-cache: true - name: Install libvips - run: sudo apt install libvips libvips-dev libvips-tools + run: | + DEBIAN_FRONTEND="noninteractive" sudo apt-get install -y --assume-yes -q --no-install-recommends \ + libvips libvips-dev libvips-tools - name: Run tests run: bundle exec rake test:integration diff --git a/gems.rb b/gems.rb index 4f3ea7cf..eb9006c5 100644 --- a/gems.rb +++ b/gems.rb @@ -17,7 +17,7 @@ gem "simplecov", require: false # Capybara Server -gem "puma", require: false +gem "puma", RUBY_PLATFORM.include?("java") ? "< 6" : ">= 5", require: false # Capybara Drivers gem "cuprite", require: false diff --git a/lib/capybara/screenshot/diff.rb b/lib/capybara/screenshot/diff.rb index 973780ff..1336163b 100644 --- a/lib/capybara/screenshot/diff.rb +++ b/lib/capybara/screenshot/diff.rb @@ -65,7 +65,7 @@ def self.default_options shift_distance_limit: shift_distance_limit, skip_area: skip_area, stability_time_limit: Screenshot.stability_time_limit, - tolerance: tolerance || (driver == :vips ? 0.001 : nil), + tolerance: tolerance || ((driver == :vips) ? 0.001 : nil), wait: Capybara.default_max_wait_time } end diff --git a/test/capybara/screenshot/diff/test_methods_test.rb b/test/capybara/screenshot/diff/test_methods_test.rb index 90b397ed..70cbcd01 100644 --- a/test/capybara/screenshot/diff/test_methods_test.rb +++ b/test/capybara/screenshot/diff/test_methods_test.rb @@ -11,7 +11,7 @@ class TestMethodsTest < ActionDispatch::IntegrationTest def test_assert_image_not_changed message = assert_image_not_changed("caller", "name", make_comparison(:a, :c)) - value = RUBY_VERSION >= "2.4" ? 187.4 : 188 + value = (RUBY_VERSION >= "2.4") ? 187.4 : 188 assert_equal <<-MSG.strip_heredoc.chomp, message Screenshot does not match for 'name' ({"area_size":629,"region":[11,3,48,20],"max_color_distance":#{value}}) #{Rails.root}/doc/screenshots/screenshot.png @@ -24,7 +24,7 @@ def test_assert_image_not_changed def test_assert_image_not_changed_with_shift_distance_limit message = assert_image_not_changed("caller", "name", make_comparison(:a, :c, shift_distance_limit: 1, driver: :chunky_png)) - value = RUBY_VERSION >= "2.4" ? 5.0 : 5 + value = (RUBY_VERSION >= "2.4") ? 5.0 : 5 assert_equal <<-MSG.strip_heredoc.chomp, message Screenshot does not match for 'name' ({"area_size":629,"region":[11,3,48,20],"max_color_distance":#{value},"max_shift_distance":15}) #{Rails.root}/doc/screenshots/screenshot.png @@ -41,17 +41,17 @@ def test_screenshot_support_drivers_options def test_skip_stack_frames assert_nil @test_screenshots - make_comparison(:a, :c, name: 'a') + make_comparison(:a, :c, name: "a") our_screenshot("a", 0) assert_equal 1, @test_screenshots.size assert_match(/test_methods_test.rb:\d+:in `our_screenshot'/, @test_screenshots[0][0]) - assert_equal 'a', @test_screenshots[0][1] + assert_equal "a", @test_screenshots[0][1] our_screenshot("a", 1) assert_equal 2, @test_screenshots.size assert_match(/test_methods_test.rb:\d+:in `test_skip_stack_frames'/, @test_screenshots[1][0]) - assert_equal 'a', @test_screenshots[1][1] + assert_equal "a", @test_screenshots[1][1] end def test_skip_area_and_stability_time_limit diff --git a/test/integration/browser_screenshot_test.rb b/test/integration/browser_screenshot_test.rb index 4b2e47d5..867d4673 100644 --- a/test/integration/browser_screenshot_test.rb +++ b/test/integration/browser_screenshot_test.rb @@ -98,7 +98,7 @@ def test_screenshot_selected_element test "compare crops only when other part is not working" do visit "/index-without-img.html" - screenshot("index-cropped", crop: rect_for("form"), color_distance_limit: 40) + screenshot("index-cropped", crop: "form", color_distance_limit: 40) assert_no_screenshot_errors end @@ -111,13 +111,26 @@ def test_screenshot_selected_element assert_no_screenshot_errors end + test "skip_area accepts css selector" do + visit "/" + + fill_in "First Field:", with: "Changed" + fill_in "Second Field:", with: "Changed" + + screenshot("index", skip_area: "form") + screenshot("index", skip_area: ["form"]) + screenshot("index", skip_area: [[90, 950, 180, 1000], "form"]) + + assert_no_screenshot_errors + end + test "skip_area converts coordinates to be relative to cropped region" do visit "/index.html" + fill_in "First Field:", with: "New Change" fill_in "Second Field:", with: "New Change" - skip_left_top_square = [0, 0, 170, 110] # skip only first filed, but the second should not be skipped - screenshot("index-cropped", skip_area: skip_left_top_square, crop: rect_for("form")) + screenshot("index-cropped", skip_area: "#first-field", crop: "form") assert @test_screenshots.last.last.different?, "second field should not be skipped" end @@ -137,7 +150,7 @@ def test_screenshot_selected_element fill_in "First Field:", with: "Test Input With Hide Caret" - screenshot("index-cropped", skip_area: "input", crop: rect_for("form")) + screenshot("index-cropped", skip_area: "input", crop: "form") assert_no_screenshot_errors end diff --git a/test/integration/record_screenshot_test.rb b/test/integration/record_screenshot_test.rb index 752a6cb9..2ffd4e2b 100644 --- a/test/integration/record_screenshot_test.rb +++ b/test/integration/record_screenshot_test.rb @@ -5,11 +5,13 @@ class RecordScreenshotTest < SystemTestCase def test_record_index visit "/" + screenshot "index" end def test_record_index_cropped visit "/" - screenshot "index-cropped", crop: rect_for("form") + + screenshot "index-cropped", crop: "form" end end diff --git a/test/support/setup_capybara_drivers.rb b/test/support/setup_capybara_drivers.rb index 784ffeae..5387d45b 100644 --- a/test/support/setup_capybara_drivers.rb +++ b/test/support/setup_capybara_drivers.rb @@ -64,7 +64,7 @@ js_errors: true, process_timeout: 20, screen_size: SCREEN_SIZE, - timeout: ENV["CI"] ? 40 : 40, + timeout: ENV["CI"] ? 40 : 20, window_size: SCREEN_SIZE ) end @@ -76,5 +76,5 @@ Webdrivers::Geckodriver.update end -Capybara.save_path = "tmp/capybara" +Capybara.save_path = Pathname.new("tmp/capybara").expand_path Capybara.javascript_driver = ENV.fetch("CAPYBARA_DRIVER", :cuprite).to_sym diff --git a/test/test_helper.rb b/test/test_helper.rb index 36662102..fe82b12c 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -2,8 +2,10 @@ if ENV["COVERAGE"] require "simplecov" - SimpleCov.start - SimpleCov.minimum_coverage 91 + SimpleCov.start do + enable_coverage :branch + minimum_coverage line: 90, branch: 68 + end end $LOAD_PATH.unshift File.expand_path("../lib", __dir__) From 0e2ab1c402157d7f0344ac10c4248fe6d6f0c8a0 Mon Sep 17 00:00:00 2001 From: Paul Keen <125715+pftg@users.noreply.github.com> Date: Mon, 21 Nov 2022 13:42:51 +0100 Subject: [PATCH 164/312] Fixes calculation of the difference level for ChunkyPNG (#53) After refactoring forget to migrate calculation of the region area for ChunkyPNG --- .../screenshot/diff/drivers/chunky_png_driver.rb | 2 +- .../diff/drivers/chunky_png_driver_test.rb | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/lib/capybara/screenshot/diff/drivers/chunky_png_driver.rb b/lib/capybara/screenshot/diff/drivers/chunky_png_driver.rb index b7b6ac3b..0b94189c 100644 --- a/lib/capybara/screenshot/diff/drivers/chunky_png_driver.rb +++ b/lib/capybara/screenshot/diff/drivers/chunky_png_driver.rb @@ -49,7 +49,7 @@ def add_black_box(image, _region) end def difference_level(_diff_mask, old_img, region) - size(region).to_f / image_area_size(old_img) + region.size.to_f / image_area_size(old_img) end def image_area_size(old_img) diff --git a/test/capybara/screenshot/diff/drivers/chunky_png_driver_test.rb b/test/capybara/screenshot/diff/drivers/chunky_png_driver_test.rb index c4f192ff..d0916a72 100644 --- a/test/capybara/screenshot/diff/drivers/chunky_png_driver_test.rb +++ b/test/capybara/screenshot/diff/drivers/chunky_png_driver_test.rb @@ -124,6 +124,18 @@ class ChunkyPNGDriverTest < ActionDispatch::IntegrationTest assert driver.from_file("#{TEST_IMAGES_DIR}/a.png") end + test "tolerance" do + driver = ChunkyPNGDriver.new("#{Rails.root}/screenshot.png") + + level = driver.difference_level( + nil, + load_test_image(driver), + Region.new(0, 0, 10, 10) + ) + + assert_equal 0.015625, level + end + private def make_comparison(old_img, new_img, options = {}) @@ -139,6 +151,10 @@ def make_comparison(old_img, new_img, options = {}) def sample_region [0, 0, 0, 0] end + + def load_test_image(driver) + driver.from_file("#{TEST_IMAGES_DIR}/a.png") + end end end end From 8f944958e20bfd868875f76be36ca8e1cf6e1dd2 Mon Sep 17 00:00:00 2001 From: Paul Keen <125715+pftg@users.noreply.github.com> Date: Mon, 21 Nov 2022 14:44:59 +0100 Subject: [PATCH 165/312] Makes sure that options has Region only (#54) --- lib/capybara/screenshot/diff/image_compare.rb | 20 +++++++++++-------- lib/capybara/screenshot/diff/test_methods.rb | 13 +++++++----- 2 files changed, 20 insertions(+), 13 deletions(-) diff --git a/lib/capybara/screenshot/diff/image_compare.rb b/lib/capybara/screenshot/diff/image_compare.rb index 3cd08150..81852220 100644 --- a/lib/capybara/screenshot/diff/image_compare.rb +++ b/lib/capybara/screenshot/diff/image_compare.rb @@ -23,15 +23,9 @@ def initialize(new_file_name, old_file_name = nil, options = {}) @annotated_old_file_name = "#{new_file_name.chomp(".png")}.committed.png" @annotated_new_file_name = "#{new_file_name.chomp(".png")}.latest.png" - @driver_options = options + @driver_options = options.dup - @color_distance_limit = options[:color_distance_limit] || 0 - @area_size_limit = options[:area_size_limit] - @shift_distance_limit = options[:shift_distance_limit] - @dimensions = options[:dimensions] - @skip_area = options[:skip_area] - @tolerance = options[:tolerance] - @median_filter_window_size = options[:median_filter_window_size] + assign_attributes_with(@driver_options) driver_klass = find_driver_class_for(@driver_options.fetch(:driver, :chunky_png)) @driver = driver_klass.new(@new_file_name, @old_file_name, **@driver_options) @@ -160,6 +154,16 @@ def difference_region_area_size private + def assign_attributes_with(options) + @color_distance_limit = options[:color_distance_limit] || 0 + @area_size_limit = options[:area_size_limit] + @shift_distance_limit = options[:shift_distance_limit] + @dimensions = options[:dimensions].dup + @skip_area = options[:skip_area].dup + @tolerance = options[:tolerance] + @median_filter_window_size = options[:median_filter_window_size] + end + attr_accessor :difference_region def different(old_image, new_image) diff --git a/lib/capybara/screenshot/diff/test_methods.rb b/lib/capybara/screenshot/diff/test_methods.rb index c2e0695b..8827b1b7 100644 --- a/lib/capybara/screenshot/diff/test_methods.rb +++ b/lib/capybara/screenshot/diff/test_methods.rb @@ -67,6 +67,12 @@ def screenshot(name, skip_stack_frames: 0, **options) wait = driver_options[:wait] crop = calculate_crop_region(driver_options) + # Allow nil or single or multiple areas + if driver_options[:skip_area] + # Cast skip area args to Region and makes relative to crop + driver_options[:skip_area] = calculate_skip_area(driver_options[:skip_area], crop) + end + if @screenshot_counter name = "#{format("%02i", @screenshot_counter)}_#{name}" @screenshot_counter += 1 @@ -81,11 +87,6 @@ def screenshot(name, skip_stack_frames: 0, **options) return false unless comparison.old_file_exists? - # Allow nil or single or multiple areas - if driver_options[:skip_area] - comparison.skip_area = calculate_skip_area(driver_options[:skip_area], crop) - end - take_comparison_screenshot(comparison, crop, stability_time_limit, wait) (@test_screenshots ||= []) << [caller[skip_stack_frames], name, comparison] @@ -129,6 +130,8 @@ def take_comparison_screenshot(comparison, crop, stability_time_limit, wait) blurred_input&.click end + # Cast skip areas params into Region + # and if there is crop then makes absolute coordinates to eb relative to crop top left corner def calculate_skip_area(skip_area, crop) crop_region = crop && Region.new(*crop) skip_area = Array(skip_area) From 922d6a6e1d39d3f1fd1bff8a8d3c7f379341d171 Mon Sep 17 00:00:00 2001 From: Paul Keen <125715+pftg@users.noreply.github.com> Date: Tue, 22 Nov 2022 15:37:20 +0100 Subject: [PATCH 166/312] Adds RBS signatures to help IDE to find usages and potential errors (#56) * Adds RBS signatures for type checking * Cleanup unused code - found that there is no usage of the block * Remove usage of the private method, and replace with public version * Types per key * Adds record definition for driver options * Updates types and code * Cleanup feedback --- .github/workflows/test.yml | 2 +- .gitignore | 1 + Rakefile | 8 ++ .../diff/drivers/chunky_png_driver.rb | 16 ++-- .../screenshot/diff/drivers/vips_driver.rb | 15 +-- lib/capybara/screenshot/diff/image_compare.rb | 6 +- lib/capybara/screenshot/diff/stabilization.rb | 46 +++++----- lib/capybara/screenshot/diff/test_methods.rb | 21 ++--- sig/lib/capybara/screenshot/diff.rbs | 32 +++++++ .../screenshot/diff/browser_helpers.rbs | 37 ++++++++ .../screenshot/diff/drivers/base_driver.rbs | 77 ++++++++++++++++ .../diff/drivers/chunky_png_driver.rbs | 76 ++++++++++++++++ .../screenshot/diff/drivers/utils.rbs | 11 +++ .../screenshot/diff/drivers/vips_driver.rbs | 29 ++++++ .../screenshot/diff/image_compare.rbs | 91 +++++++++++++++++++ sig/lib/capybara/screenshot/diff/os.rbs | 13 +++ sig/lib/capybara/screenshot/diff/region.rbs | 43 +++++++++ .../screenshot/diff/stabilization.rbs | 37 ++++++++ .../capybara/screenshot/diff/test_methods.rbs | 57 ++++++++++++ sig/lib/capybara/screenshot/diff/vcs.rbs | 13 +++ .../diff/drivers/vips_driver_test.rb | 11 ++- .../screenshot/diff/stabilization_test.rb | 30 ++++++ .../screenshot/diff/test_methods_test.rb | 4 +- test/support/setup_capybara_drivers.rb | 2 +- 24 files changed, 620 insertions(+), 58 deletions(-) create mode 100644 sig/lib/capybara/screenshot/diff.rbs create mode 100644 sig/lib/capybara/screenshot/diff/browser_helpers.rbs create mode 100644 sig/lib/capybara/screenshot/diff/drivers/base_driver.rbs create mode 100644 sig/lib/capybara/screenshot/diff/drivers/chunky_png_driver.rbs create mode 100644 sig/lib/capybara/screenshot/diff/drivers/utils.rbs create mode 100644 sig/lib/capybara/screenshot/diff/drivers/vips_driver.rbs create mode 100644 sig/lib/capybara/screenshot/diff/image_compare.rbs create mode 100644 sig/lib/capybara/screenshot/diff/os.rbs create mode 100644 sig/lib/capybara/screenshot/diff/region.rbs create mode 100644 sig/lib/capybara/screenshot/diff/stabilization.rbs create mode 100644 sig/lib/capybara/screenshot/diff/test_methods.rbs create mode 100644 sig/lib/capybara/screenshot/diff/vcs.rbs create mode 100644 test/capybara/screenshot/diff/stabilization_test.rb diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index de1bf69b..b45c6e16 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -11,7 +11,7 @@ on: env: BUNDLE_GEMFILE: 'gemfiles/rails70_gems.rb' - FERRUM_PROCESS_TIMEOUT: '15' + FERRUM_PROCESS_TIMEOUT: '40' WD_CACHE_TIME: '864000' # 10 days concurrency: diff --git a/.gitignore b/.gitignore index 64ff7b35..e28d373a 100644 --- a/.gitignore +++ b/.gitignore @@ -12,3 +12,4 @@ /tmp/ /test/fixtures/**/*.committed.png /test/fixtures/**/*.latest.png +/vendor/sigs/ diff --git a/Rakefile b/Rakefile index b6538e1a..52903f11 100644 --- a/Rakefile +++ b/Rakefile @@ -16,3 +16,11 @@ Rake::TestTask.new("test:integration") do |t| t.libs << "lib" t.test_files = FileList["test/integration/**/*_test.rb"] end + +Rake::TestTask.new("test:signatures") do |t| + ENV["RBS_TEST_TARGET"] ||= "Capybara::Screenshot::Diff::*" + + t.libs << "test" + t.ruby_opts << "-r rbs/test/setup" + t.test_files = FileList["test/**/*_test.rb"] +end diff --git a/lib/capybara/screenshot/diff/drivers/chunky_png_driver.rb b/lib/capybara/screenshot/diff/drivers/chunky_png_driver.rb index 0b94189c..0b440de2 100644 --- a/lib/capybara/screenshot/diff/drivers/chunky_png_driver.rb +++ b/lib/capybara/screenshot/diff/drivers/chunky_png_driver.rb @@ -258,11 +258,14 @@ def same_color?(old_img, new_img, x, y) color_distance = color_distance_at(new_img, old_img, x, y, shift_distance_limit: @shift_distance_limit) + if !@max_color_distance || color_distance > @max_color_distance @max_color_distance = color_distance end - color_matches = color_distance == 0 || (@color_distance_limit && @color_distance_limit > 0 && - color_distance <= @color_distance_limit) + + color_matches = color_distance == 0 || + (!!@color_distance_limit && @color_distance_limit > 0 && color_distance <= @color_distance_limit) + return color_matches if !@shift_distance_limit || @max_shift_distance == Float::INFINITY shift_distance = (color_matches && 0) || @@ -270,6 +273,7 @@ def same_color?(old_img, new_img, x, y) if shift_distance && (@max_shift_distance.nil? || shift_distance > @max_shift_distance) @max_shift_distance = shift_distance end + color_matches end @@ -289,10 +293,10 @@ def color_distance_at(new_img, old_img, x, y, shift_distance_limit:) end_y = [y + shift_distance_limit, new_img.height - 1].min ys = (start_y..end_y).to_a new_pixels = xs.product(ys) - distances = new_pixels.map { |dx, dy| - new_color = new_img[dx, dy] - ChunkyPNG::Color.euclidean_distance_rgba(org_color, new_color) - } + + distances = new_pixels.map do |dx, dy| + ChunkyPNG::Color.euclidean_distance_rgba(org_color, new_img[dx, dy]) + end distances.min else ChunkyPNG::Color.euclidean_distance_rgba(org_color, new_img[x, y]) diff --git a/lib/capybara/screenshot/diff/drivers/vips_driver.rb b/lib/capybara/screenshot/diff/drivers/vips_driver.rb index cca6930d..da1faa9b 100644 --- a/lib/capybara/screenshot/diff/drivers/vips_driver.rb +++ b/lib/capybara/screenshot/diff/drivers/vips_driver.rb @@ -73,7 +73,7 @@ def crop(region, i) # so after we cropped files and stored in the same file, the next load will recover old version instead of cropped # Workaround to make vips works with cropped versions Vips.cache_set_max(0) - Vips.vips_cache_set_max(1000) + Vips.cache_set_max(1000) result end @@ -121,17 +121,17 @@ def save_image_to(image, filename) end def resize_image_to(image, new_width, new_height) - image.resize(1.* new_width / new_height) + image.resize(new_width.to_f / new_height) end - def load_images(old_file_name, new_file_name, driver = self) - [driver.from_file(old_file_name), driver.from_file(new_file_name)] + def load_images(old_file_name, new_file_name) + [from_file(old_file_name), from_file(new_file_name)] end def from_file(filename) result = ::Vips::Image.new_from_file(filename) - result = result.colourspace("srgb") if result.bands < 3 + result = result.colourspace(:srgb) if result.bands < 3 result = result.bandjoin(255) if result.bands == 3 result @@ -157,11 +157,6 @@ def draw_rectangles(images, region, rgba) end class VipsUtil - def self.difference(old_image, new_image, color_distance: 0) - diff_mask = difference_mask(color_distance, new_image, old_image) - difference_region_by(diff_mask).to_edge_coordinates - end - def self.difference_area(old_image, new_image, color_distance: 0) difference_mask = difference_mask(color_distance, new_image, old_image) difference_area_size_by(difference_mask) diff --git a/lib/capybara/screenshot/diff/image_compare.rb b/lib/capybara/screenshot/diff/image_compare.rb index 81852220..13362bbb 100644 --- a/lib/capybara/screenshot/diff/image_compare.rb +++ b/lib/capybara/screenshot/diff/image_compare.rb @@ -79,8 +79,8 @@ def different? self.difference_region = Region.from_edge_coordinates( 0, 0, - [driver.width_for(old_image), driver.width_for(new_image)].min, - [driver.height_for(old_image), driver.height_for(new_image)].min + [driver.width_for(old_image), driver.width_for(new_image)].min || 0, + [driver.height_for(old_image), driver.height_for(new_image)].min || 0 ) return different(*images) @@ -116,7 +116,7 @@ def save(old_img, new_img, annotated_old_file_name, annotated_new_file_name) end def old_file_exists? - @old_file_name && File.exist?(@old_file_name) + !!@old_file_name && File.exist?(@old_file_name) end def reset diff --git a/lib/capybara/screenshot/diff/stabilization.rb b/lib/capybara/screenshot/diff/stabilization.rb index 220f407b..34af344f 100644 --- a/lib/capybara/screenshot/diff/stabilization.rb +++ b/lib/capybara/screenshot/diff/stabilization.rb @@ -22,21 +22,20 @@ def take_stable_screenshot(comparison, stability_time_limit:, wait:, crop:) comparison.reset - if previous_file_name - stabilization_comparison = make_stabilization_comparison_from( - comparison, - comparison.new_file_name, - previous_file_name - ) - if stabilization_comparison.quick_equal? - if (Time.now - last_image_change_at) > stability_time_limit - clean_stabilization_images(comparison.new_file_name) - break - end - next - else - last_image_change_at = Time.now + stabilization_comparison = make_stabilization_comparison_from( + comparison.new_file_name, + previous_file_name, + comparison.driver_options + ) + + if stabilization_comparison.quick_equal? + if (Time.now - last_image_change_at) > stability_time_limit + clean_stabilization_images(comparison.new_file_name) + break end + next + else + last_image_change_at = Time.now end previous_file_name = build_snapshot_version_file_name( @@ -67,14 +66,17 @@ def notice_how_to_avoid_this private def build_snapshot_version_file_name(comparison, iteration, screenshot_started_at, stabilization_comparison) + elapsed_seconds = (Time.now - screenshot_started_at).round(1) + encode_diff_region = stabilization_comparison.difference_coordinates&.to_s&.gsub(", ", "_") || :initial + "#{comparison.new_file_name.chomp(".png")}" \ - "_x#{format("%02i", iteration)}_#{(Time.now - screenshot_started_at).round(1)}s" \ - "_#{stabilization_comparison.difference_coordinates&.to_s&.gsub(", ", "_") || :initial}.png" \ + "_x#{format("%02i", iteration)}_#{elapsed_seconds}s" \ + "_#{encode_diff_region}.png" \ "#{ImageCompare::TMP_FILE_SUFFIX}" end - def make_stabilization_comparison_from(comparison, new_file_name, previous_file_name) - ImageCompare.new(new_file_name, previous_file_name, comparison.driver_options) + def make_stabilization_comparison_from(new_file_name, previous_file_name, driver_options) + ImageCompare.new(new_file_name, previous_file_name, driver_options) end def reduce_retina_image_size(file_name, driver) @@ -103,8 +105,8 @@ def clean_stabilization_images(base_file) def prepare_page_for_screenshot(timeout:) assert_images_loaded(timeout: timeout) - if Capybara::Screenshot.blur_active_element - blurred_input = blur_from_focused_element + blurred_input = if Capybara::Screenshot.blur_active_element + blur_from_focused_element end if Capybara::Screenshot.hide_caret @@ -144,9 +146,9 @@ def annotate_stabilization_images(comparison) stabilization_images(comparison.new_file_name).each do |file_name| if File.exist? previous_file stabilization_comparison = make_stabilization_comparison_from( - comparison, file_name, - previous_file + previous_file, + comparison.driver_options ) if stabilization_comparison.different? FileUtils.mv stabilization_comparison.annotated_new_file_name, file_name diff --git a/lib/capybara/screenshot/diff/test_methods.rb b/lib/capybara/screenshot/diff/test_methods.rb index 8827b1b7..3567cba5 100644 --- a/lib/capybara/screenshot/diff/test_methods.rb +++ b/lib/capybara/screenshot/diff/test_methods.rb @@ -29,19 +29,12 @@ def initialize(*) @test_screenshots = nil end - def group_parts - parts = [] - parts << @screenshot_section if @screenshot_section.present? - parts << @screenshot_group if @screenshot_group.present? - parts - end - def full_name(name) - File.join group_parts.push(name).map(&:to_s) + File.join(*group_parts.push(name.to_s)) end def screenshot_dir - File.join [Screenshot.screenshot_area] + group_parts + File.join(*([Screenshot.screenshot_area] + group_parts)) end def screenshot_section(name) @@ -56,7 +49,6 @@ def screenshot_group(name) FileUtils.rm_rf screenshot_dir end - # @return [Boolean] whether a screenshot was taken def screenshot(name, skip_stack_frames: 0, **options) return false unless Screenshot.active? return false if window_size_is_wrong? @@ -102,6 +94,13 @@ def assert_image_not_changed(caller, name, comparison) private + def group_parts + parts = [] + parts << @screenshot_section if @screenshot_section.present? + parts << @screenshot_group if @screenshot_group.present? + parts + end + def calculate_crop_region(driver_options) crop_coordinates = driver_options.delete(:crop) return nil unless crop_coordinates @@ -140,7 +139,7 @@ def calculate_skip_area(skip_area, crop) result = [] result.concat(build_regions_for(bounds_for_css(*css_selectors))) unless css_selectors.empty? - result.concat(build_regions_for(regions.flatten&.each_slice(4))) unless regions.empty? + result.concat(build_regions_for(regions.flatten.each_slice(4))) unless regions.empty? result.compact! result.map! { |region| crop_region.find_relative_intersect(region) } if crop_region diff --git a/sig/lib/capybara/screenshot/diff.rbs b/sig/lib/capybara/screenshot/diff.rbs new file mode 100644 index 00000000..445ca087 --- /dev/null +++ b/sig/lib/capybara/screenshot/diff.rbs @@ -0,0 +1,32 @@ +module Capybara + module Screenshot + extend Os + + def self.root=: (untyped path) -> untyped + + def self.active?: () -> bool + + def self.screenshot_area: () -> untyped + + def self.screenshot_area_abs: () -> untyped + + # Module to track screen shot changes + module Diff + include Capybara::Screenshot::Os + + AVAILABLE_DRIVERS: untyped + + ASSERTION: untyped + + def self.default_options: () -> TestMethods::input_options + + def self.included: (untyped klass) -> untyped + + private + + EMPTY_LINE: "\n\n" + + def track_failures: (Array[untyped] screenshots, (Array[String] | String) original_caller) -> void + end + end +end diff --git a/sig/lib/capybara/screenshot/diff/browser_helpers.rbs b/sig/lib/capybara/screenshot/diff/browser_helpers.rbs new file mode 100644 index 00000000..eb8af197 --- /dev/null +++ b/sig/lib/capybara/screenshot/diff/browser_helpers.rbs @@ -0,0 +1,37 @@ +module Capybara + module Screenshot + module BrowserHelpers + def current_capybara_driver_class: () -> untyped + + def selenium?: () -> bool? + + def window_size_is_wrong?: () -> bool + + def rect_for: (String css_selector) -> untyped + + def bounds_for_css: (*String css_selectors) -> untyped + + IMAGE_WAIT_SCRIPT: String + + def pending_image_to_load: () -> untyped + + HIDE_CARET_SCRIPT: String + + def hide_caret: () -> untyped + + FIND_ACTIVE_ELEMENT_SCRIPT: String + + def blur_from_focused_element: () -> untyped + + GET_BOUNDING_CLIENT_RECT_SCRIPT: String + + def all_visible_regions_for: (String selector) -> untyped + + def region_for: (untyped element) -> untyped + + private + + def create_output_directory_for: (String file_name) -> untyped + end + end +end diff --git a/sig/lib/capybara/screenshot/diff/drivers/base_driver.rbs b/sig/lib/capybara/screenshot/diff/drivers/base_driver.rbs new file mode 100644 index 00000000..27c88dc3 --- /dev/null +++ b/sig/lib/capybara/screenshot/diff/drivers/base_driver.rbs @@ -0,0 +1,77 @@ +module Capybara + module Screenshot + module Diff + module Drivers + class BaseDriver[ImageEntity] + type options_entity = { + area_size_limit?: Integer?, + color_distance_limit?: Numeric?, + driver: (:auto | :vips | :chunky_png)?, + shift_distance_limit?: (Numeric | bool)?, + skip_area?: Array[Region]?, + stability_time_limit?: (Numeric | bool)?, + tolerance?: Float?, + wait?: Integer? + } + + type color = [Integer, Integer, Integer, Integer] + + attr_reader new_file_name: String + + attr_reader old_file_name: String + + attr_reader options: options_entity + + def initialize: (String new_file_name, ?String? old_file_name, ?options_entity options) -> void + + def skip_area=: (Array[Region] new_skip_area) -> void + + # Resets the calculated data about the comparison with regard to the "new_image". + # Data about the original image is kept. + def reset: () -> void + + def shift_distance_equal?: () -> bool + + def shift_distance_different?: () -> bool + + def find_difference_region: (ImageEntity new_image, ImageEntity old_image, (Integer | Float) color_distance_limit, (Integer | Float) _shift_distance_limit, Integer _area_size_limit, ?fast_fail: bool) -> [(Region | nil), (ImageEntity | untyped | nil)] + + def adds_error_details_to: (::Hash[Symbol, untyped] _log) -> void + + def inscribed?: (untyped dimensions, ImageEntity i) -> bool + + def crop: (Region region, ImageEntity i) -> ImageEntity + + def filter_image_with_median: (ImageEntity image, untyped median_filter_window_size) -> ImageEntity + + def add_black_box: (untyped memo, Region region) -> void + + def chunky_png_comparator: () -> ImageCompare + + def difference_level: (untyped diff_mask, ImageEntity old_img, ?Region? _region) -> Float + + def image_area_size: (ImageEntity old_img) -> Integer + + def height_for: (ImageEntity image) -> Integer + + def width_for: (ImageEntity image) -> Integer + + # Vips could not work with the same file. Per each process we require to create new file + def save_image_to: (ImageEntity image, String filename) -> void + + def resize_image_to: (ImageEntity image, Integer new_width, Integer new_height) -> ImageEntity + + def load_images: (String old_file_name, String new_file_name) -> [ImageEntity, ImageEntity] + + def from_file: (String filename) -> ImageEntity + + def dimension_changed?: (ImageEntity old_image, ImageEntity new_image) -> bool + + def dimension: (ImageEntity image) -> ::Array[untyped] + + def draw_rectangles: ([ImageEntity, ImageEntity] images, Region region, color rgba) -> untyped + end + end + end + end +end diff --git a/sig/lib/capybara/screenshot/diff/drivers/chunky_png_driver.rbs b/sig/lib/capybara/screenshot/diff/drivers/chunky_png_driver.rbs new file mode 100644 index 00000000..f56c8dce --- /dev/null +++ b/sig/lib/capybara/screenshot/diff/drivers/chunky_png_driver.rbs @@ -0,0 +1,76 @@ +module ChunkyPNG + class Canvas + end + + class Image + def self.from_blob: (String str) -> Image + + def self.from_file: (String filename) -> Image + end +end + +module Capybara + module Screenshot + module Diff + module Drivers + class ChunkyPNGDriver < BaseDriver[ChunkyPNG::Canvas] + private + + def build_region_for_whole_image: (ChunkyPNG::Image new_image) -> Region? + + def find_diff_rectangle: ( + ChunkyPNG::Image org_img, + ChunkyPNG::Image new_img, + (Region | Region::raw_region_entity) area_coordinates + ) -> Region? + + def find_top: (ChunkyPNG::Image old_img, ChunkyPNG::Image new_img) -> Region::raw_region_entity? + + def find_left_right_and_top: ( + ChunkyPNG::Image old_img, + ChunkyPNG::Image new_img, + (Region | Region::raw_region_entity) region + ) -> Region::raw_region_entity + + def find_bottom: ( + ChunkyPNG::Image old_img, + ChunkyPNG::Image new_img, + Integer left, + Integer right, + Integer bottom + ) -> Integer + + def same_color?: (ChunkyPNG::Image old_img, ChunkyPNG::Image new_img, Integer x, Integer y) -> bool + + def skipped_region?: (Integer x, Integer y) -> bool + + def color_distance_at: ( + ChunkyPNG::Image new_img, + ChunkyPNG::Image old_img, + Integer x, + Integer y, + shift_distance_limit: Numeric? + ) -> Float + + def shift_distance_at: ( + ChunkyPNG::Image new_img, + ChunkyPNG::Image old_img, + Integer x, + Integer y, + color_distance_limit: Numeric? + ) -> Numeric + + def color_matches: ( + ChunkyPNG::Image new_img, + Integer org_color, + Integer x, + Integer y, + Numeric? color_distance_limit + ) -> bool + + def _load_images: (String old_file, String new_file) -> [ChunkyPNG::Image, ChunkyPNG::Image] + end + end + end + end +end diff --git a/sig/lib/capybara/screenshot/diff/drivers/utils.rbs b/sig/lib/capybara/screenshot/diff/drivers/utils.rbs new file mode 100644 index 00000000..37a8d813 --- /dev/null +++ b/sig/lib/capybara/screenshot/diff/drivers/utils.rbs @@ -0,0 +1,11 @@ +module Capybara + module Screenshot + module Diff + module Utils + def self.detect_available_drivers: () -> Array[Symbol] + + def self.detect_test_framework_assert: () -> (untyped | RuntimeError) + end + end + end +end diff --git a/sig/lib/capybara/screenshot/diff/drivers/vips_driver.rbs b/sig/lib/capybara/screenshot/diff/drivers/vips_driver.rbs new file mode 100644 index 00000000..5e4a1341 --- /dev/null +++ b/sig/lib/capybara/screenshot/diff/drivers/vips_driver.rbs @@ -0,0 +1,29 @@ +module ::Vips + class Image + def self.new_from_file: (String filename) -> Image + end +end + +module Capybara + module Screenshot + module Diff + module Drivers + class VipsDriver < BaseDriver[Vips::Image] + PNG_EXTENSION: String + + class VipsUtil + def self.difference: (Vips::Image old_image, Vips::Image new_image, ?color_distance: ::Integer) -> [Integer, Integer, Integer, Integer] + + def self.difference_area: (Vips::Image old_image, Vips::Image new_image, ?color_distance: ::Integer) -> (Integer | Float) + + def self.difference_area_size_by: (Vips::Image difference_mask) -> (Integer | Float) + + def self.difference_mask: (Numeric color_distance, Vips::Image old_image, Vips::Image new_image) -> Vips::Image + + def self.difference_region_by: (Vips::Image diff_mask) -> (nil | Region) + end + end + end + end + end +end diff --git a/sig/lib/capybara/screenshot/diff/image_compare.rbs b/sig/lib/capybara/screenshot/diff/image_compare.rbs new file mode 100644 index 00000000..e7dfba12 --- /dev/null +++ b/sig/lib/capybara/screenshot/diff/image_compare.rbs @@ -0,0 +1,91 @@ +module Capybara + module Screenshot + module Diff + LOADED_DRIVERS: ::Hash[Symbol, untyped] + + # Compare two images and determine if they are equal, different, or within some comparison + # range considering color values and difference area size. + class ImageCompare + TMP_FILE_SUFFIX: "~" + + attr_reader driver: untyped + + attr_reader driver_options: untyped + + attr_reader annotated_new_file_name: String + + attr_reader annotated_old_file_name: String + + attr_reader new_file_name: String + + attr_reader old_file_name: String + + attr_reader skip_area: untyped + + attr_accessor shift_distance_limit: untyped + + attr_accessor area_size_limit: untyped + + attr_accessor color_distance_limit: untyped + + def initialize: (String new_file_name, ?(String | Drivers::BaseDriver::options_entity)? old_file_name, ?Drivers::BaseDriver::options_entity options) -> void + + def skip_area=: (Array[Region] new_skip_area) -> void + + # Compare the two image files and return `true` or `false` as quickly as possible. + # Return falsely if the old file does not exist or the image dimensions do not match. + def quick_equal?: () -> bool + + # Compare the two images referenced by this object, and return `true` if they are different, + # and `false` if they are the same. + def different?: () -> bool + + def clean_tmp_files: () -> void + + def save: (untyped old_img, untyped new_img, String annotated_old_file_name, String annotated_new_file_name) -> void + + def old_file_exists?: () -> bool + + def reset: () -> void + + NEW_LINE: "\n" + + def error_message: () -> String + + def difference_coordinates: () -> Region::raw_region_entity + + def difference_region_area_size: () -> Numeric + + private + + attr_accessor difference_region: untyped + + def different: (untyped old_image, untyped new_image) -> true + + def find_driver_class_for: (untyped driver) -> void + + def preprocess_images: (Array[untyped] images, ?untyped driver) -> ::Array[untyped] + + def preprocess_image: (untyped image, ?untyped driver) -> untyped + + def old_file_size: () -> Integer + + def new_file_size: () -> Integer + + def not_different: () -> false + + def difference_region_empty?: (untyped new_image, Region region) -> bool + + def annotate_and_save: (untyped images, Region region) -> void + + DIFF_COLOR: ::Array[255 | 0] + + def annotate_difference: (untyped images, Region region) -> void + + SKIP_COLOR: ::Array[255 | 192 | 0] + + def annotate_skip_areas: (untyped annotated_images, Array[Region] skip_areas) -> void + end + end + end +end diff --git a/sig/lib/capybara/screenshot/diff/os.rbs b/sig/lib/capybara/screenshot/diff/os.rbs new file mode 100644 index 00000000..ad4e8a03 --- /dev/null +++ b/sig/lib/capybara/screenshot/diff/os.rbs @@ -0,0 +1,13 @@ +module Capybara + module Screenshot + module Os + ON_WINDOWS: bool + + ON_MAC: bool + + ON_LINUX: bool + + def os_name: () -> ("windows" | "macos" | "linux" | "unknown") + end + end +end diff --git a/sig/lib/capybara/screenshot/diff/region.rbs b/sig/lib/capybara/screenshot/diff/region.rbs new file mode 100644 index 00000000..0cbb6ad1 --- /dev/null +++ b/sig/lib/capybara/screenshot/diff/region.rbs @@ -0,0 +1,43 @@ +class Region + type raw_region_entity = [Numeric, Numeric, Numeric, Numeric] + + attr_accessor x: Integer + + attr_accessor y: Integer + + attr_accessor width: Integer + + attr_accessor height: Integer + + def initialize: (Integer x, Integer y, Integer width, Integer height) -> void + + def self.from_top_left_corner_coordinates: (Integer x, Integer y, Integer width, Integer height) -> (nil | Region) + + def self.from_edge_coordinates: (Integer left, Integer `top`, Integer right, Integer bottom) -> Region? + + def to_edge_coordinates: () -> ::Array[Integer] + + def to_top_left_corner_coordinates: () -> ::Array[Integer] + + def top: () -> Integer + + def bottom: () -> Integer + + def left: () -> Integer + + def right: () -> Integer + + def size: () -> Integer + + def to_a: () -> ::Array[Integer] + + def find_intersect_with: (Region region) -> (nil | Region) + + def intersect?: (Region region) -> bool + + def move_by: (Integer right_by, Integer down_by) -> Region + + def find_relative_intersect: (Region region) -> (nil | Region) + + def cover?: (Integer x, Integer y) -> bool +end diff --git a/sig/lib/capybara/screenshot/diff/stabilization.rbs b/sig/lib/capybara/screenshot/diff/stabilization.rbs new file mode 100644 index 00000000..838e6473 --- /dev/null +++ b/sig/lib/capybara/screenshot/diff/stabilization.rbs @@ -0,0 +1,37 @@ +module Capybara + module Screenshot + module Diff + module Stabilization + include Os + + def take_stable_screenshot: (ImageCompare comparison, stability_time_limit: (Numeric | bool)?, wait: Integer?, crop: Region?) -> void + + def notice_how_to_avoid_this: () -> void + + private + + def build_snapshot_version_file_name: (ImageCompare comparison, Integer iteration, Time screenshot_started_at, ImageCompare stabilization_comparison) -> ::String + + def make_stabilization_comparison_from: (String new_file_name, String previous_file_name, Drivers::BaseDriver::options_entity driver_options) -> ImageCompare + + def reduce_retina_image_size: (String file_name, (Drivers::VipsDriver | Drivers::ChunkyPNGDriver) driver) -> void + + def stabilization_images: (String base_file) -> Array[String] + + def clean_stabilization_images: (String base_file) -> void + + def prepare_page_for_screenshot: (timeout: Integer) -> untyped + + def take_right_size_screenshot: (ImageCompare comparison, crop: (Region | nil)) -> void + + def check_max_wait_time: (ImageCompare comparison, Time screenshot_started_at, max_wait_time: Integer) -> void + + def annotate_stabilization_images: (ImageCompare comparison) -> void + + def max_wait_time: (Float shift_distance_limit, Integer wait) -> Integer + + def assert_images_loaded: (timeout: Integer) -> void + end + end + end +end diff --git a/sig/lib/capybara/screenshot/diff/test_methods.rbs b/sig/lib/capybara/screenshot/diff/test_methods.rbs new file mode 100644 index 00000000..a126df27 --- /dev/null +++ b/sig/lib/capybara/screenshot/diff/test_methods.rbs @@ -0,0 +1,57 @@ +# Add the `screenshot` method to ActionDispatch::IntegrationTest +module Capybara + module Screenshot + module Diff + module TestMethods + include Stabilization + + include Vcs + + include BrowserHelpers + + type name_entity = (Symbol | String) + + def initialize: (*untyped) -> void + + def group_parts: () -> Array[String] + + def full_name: (name_entity name) -> String + + def screenshot_dir: () -> String + + def screenshot_section: (name_entity name) -> void + + def screenshot_group: (name_entity? name) -> void + +: def screenshot: (name_entity name, ?skip_stack_frames: ::Integer, **untyped options) -> bool + + %a{rbs:test:skip} def assert_image_not_changed: (String caller, String name, ImageCompare comparison) -> ::String? + + private + + type input_options = { + area_size_limit: Integer?, + color_distance_limit: Integer?, + driver: (:auto | :vips | :chunky_png)?, + shift_distance_limit: Integer?, + skip_area: nil | Array[[Integer, Integer, Integer, Integer] | String] | String | [Integer, Integer, Integer, Integer], + stability_time_limit: (Float | bool)?, + tolerance: Float?, + wait: Integer? + } + + def calculate_crop_region: (input_options driver_options) -> Region? + + def create_output_directory_for: (String file_name) -> void + + def take_comparison_screenshot: (ImageCompare comparison, Region? crop, Numeric? stability_time_limit, Numeric? wait) -> void + + type skip_area_entity = String | Region::raw_region_entity + + def calculate_skip_area: ((skip_area_entity | Array[skip_area_entity]) skip_area, (nil | String | Region | Region::raw_region_entity) crop) -> Array[Region] + + def build_regions_for: ((Enumerable[Region::raw_region_entity]) coordinates) -> Array[(Region | nil)] + end + end + end +end diff --git a/sig/lib/capybara/screenshot/diff/vcs.rbs b/sig/lib/capybara/screenshot/diff/vcs.rbs new file mode 100644 index 00000000..adf7ce5f --- /dev/null +++ b/sig/lib/capybara/screenshot/diff/vcs.rbs @@ -0,0 +1,13 @@ +module Capybara + module Screenshot + module Diff + module Vcs + SILENCE_ERRORS: String + + def restore_git_revision: (String name, String target_file_name) -> void + + def checkout_vcs: (String name, String old_file_name, String new_file_name) -> void + end + end + end +end diff --git a/test/capybara/screenshot/diff/drivers/vips_driver_test.rb b/test/capybara/screenshot/diff/drivers/vips_driver_test.rb index f8dae528..11a817ee 100644 --- a/test/capybara/screenshot/diff/drivers/vips_driver_test.rb +++ b/test/capybara/screenshot/diff/drivers/vips_driver_test.rb @@ -168,7 +168,7 @@ class VipsUtilTest < ActiveSupport::TestCase old_image = Vips::Image.new_from_file("#{TEST_IMAGES_DIR}/a.png") new_image = Vips::Image.new_from_file("#{TEST_IMAGES_DIR}/b.png") - left, top, right, bottom = VipsDriver::VipsUtil.difference(old_image, new_image) + left, top, right, bottom = difference(old_image, new_image) assert_equal [20.0, 15.0, 30.0, 25.0], [left, top, right, bottom] end @@ -177,7 +177,7 @@ class VipsUtilTest < ActiveSupport::TestCase old_image = Vips::Image.new_from_file("#{TEST_IMAGES_DIR}/a.png") new_image = Vips::Image.new_from_file("#{TEST_IMAGES_DIR}/b.png") - left, top, right, bottom = VipsDriver::VipsUtil.difference(old_image, new_image) + left, top, right, bottom = difference(old_image, new_image) assert_equal [20.0, 15.0, 30.0, 25.0], [left, top, right, bottom] end @@ -188,6 +188,13 @@ class VipsUtilTest < ActiveSupport::TestCase assert_equal 8, VipsDriver::VipsUtil.difference_area(old_image, new_image, color_distance: 10) end + + private + + def difference(old_image, new_image, color_distance: 0) + diff_mask = VipsDriver::VipsUtil.difference_mask(color_distance, new_image, old_image) + VipsDriver::VipsUtil.difference_region_by(diff_mask).to_edge_coordinates + end end end end diff --git a/test/capybara/screenshot/diff/stabilization_test.rb b/test/capybara/screenshot/diff/stabilization_test.rb new file mode 100644 index 00000000..1d20745a --- /dev/null +++ b/test/capybara/screenshot/diff/stabilization_test.rb @@ -0,0 +1,30 @@ +# frozen_string_literal: true + +require "test_helper" + +module Capybara + module Screenshot + module Diff + class StabilizationTest < ActionDispatch::IntegrationTest + include TestMethods + include TestHelper + + test 'several iterations to take stable screenshot' do + comparison = ::Minitest::Mock.new + def comparison.old_file_name; 'old.png'; end + def comparison.new_file_name; '01_a.png'; end + def comparison.driver; :vips; end + def comparison.reset; end + def comparison.driver_options; Capybara::Screenshot::Diff.default_options; end + def comparison.shift_distance_limit; nil; end + + comparison.expect(:quick_equal?, false) + comparison.expect(:quick_equal?, false) + comparison.expect(:quick_equal?, true) + + take_stable_screenshot(comparison, stability_time_limit: 1, wait: 1, crop: nil) + end + end + end + end +end diff --git a/test/capybara/screenshot/diff/test_methods_test.rb b/test/capybara/screenshot/diff/test_methods_test.rb index 70cbcd01..0e2c36bc 100644 --- a/test/capybara/screenshot/diff/test_methods_test.rb +++ b/test/capybara/screenshot/diff/test_methods_test.rb @@ -35,7 +35,7 @@ def test_assert_image_not_changed_with_shift_distance_limit end def test_screenshot_support_drivers_options - skip unless defined?(Capybara::Screenshot::Diff::Drivers::VipsDriverTest) + skip 'vips is disabled' unless defined?(Capybara::Screenshot::Diff::Drivers::VipsDriverTest) screenshot("a", driver: :vips) end @@ -55,7 +55,7 @@ def test_skip_stack_frames end def test_skip_area_and_stability_time_limit - screenshot(:a, skip_area: [0, 0, 1, 1], stability_time_limit: true) + screenshot(:a, skip_area: [0, 0, 1, 1], stability_time_limit: 0.01) end private diff --git a/test/support/setup_capybara_drivers.rb b/test/support/setup_capybara_drivers.rb index 5387d45b..53a50e86 100644 --- a/test/support/setup_capybara_drivers.rb +++ b/test/support/setup_capybara_drivers.rb @@ -62,7 +62,7 @@ app, browser_options: CHROME_ARGS, js_errors: true, - process_timeout: 20, + process_timeout: ENV["CI"] ? 40 : 20, screen_size: SCREEN_SIZE, timeout: ENV["CI"] ? 40 : 20, window_size: SCREEN_SIZE From d8545a83b4d8e497ab95330c1188ec0d9bb0c006 Mon Sep 17 00:00:00 2001 From: Paul Keen <125715+pftg@users.noreply.github.com> Date: Wed, 23 Nov 2022 00:07:54 +0100 Subject: [PATCH 167/312] Fixes typo --- sig/lib/capybara/screenshot/diff/test_methods.rbs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sig/lib/capybara/screenshot/diff/test_methods.rbs b/sig/lib/capybara/screenshot/diff/test_methods.rbs index a126df27..59de6a67 100644 --- a/sig/lib/capybara/screenshot/diff/test_methods.rbs +++ b/sig/lib/capybara/screenshot/diff/test_methods.rbs @@ -23,7 +23,7 @@ module Capybara def screenshot_group: (name_entity? name) -> void -: def screenshot: (name_entity name, ?skip_stack_frames: ::Integer, **untyped options) -> bool + def screenshot: (name_entity name, ?skip_stack_frames: ::Integer, **untyped options) -> bool %a{rbs:test:skip} def assert_image_not_changed: (String caller, String name, ImageCompare comparison) -> ::String? From a708e7ef84ceb56a7f44ee39019de3b83468f79c Mon Sep 17 00:00:00 2001 From: Paul Keen <125715+pftg@users.noreply.github.com> Date: Fri, 25 Nov 2022 15:06:55 +0100 Subject: [PATCH 168/312] Added more types and cleanup some parts (#58) * Provide types for some methods. Cleanups * Debug bad extraction error for vips --- Rakefile | 1 + lib/capybara/screenshot/diff.rb | 2 +- .../screenshot/diff/browser_helpers.rb | 18 ++--- .../diff/drivers/chunky_png_driver.rb | 18 ++--- lib/capybara/screenshot/diff/drivers/utils.rb | 16 +++++ .../screenshot/diff/drivers/vips_driver.rb | 53 ++++++--------- lib/capybara/screenshot/diff/image_compare.rb | 67 +++++++++---------- sig/lib/capybara/screenshot/diff.rbs | 12 ++-- .../screenshot/diff/browser_helpers.rbs | 19 +++--- .../screenshot/diff/drivers/base_driver.rbs | 35 +++++----- .../screenshot/diff/drivers/utils.rbs | 4 +- .../screenshot/diff/drivers/vips_driver.rbs | 8 +-- .../screenshot/diff/image_compare.rbs | 58 +++++++++------- sig/lib/capybara/screenshot/diff/region.rbs | 38 +++++------ .../screenshot/diff/stabilization.rbs | 14 ++-- .../capybara/screenshot/diff/test_methods.rbs | 18 ++--- .../diff/drivers/chunky_png_driver_test.rb | 28 ++++---- .../diff/drivers/vips_driver_test.rb | 6 +- .../screenshot/diff/image_compare_test.rb | 14 ++-- .../screenshot/diff/stabilization_test.rb | 26 +++---- .../screenshot/diff/test_methods_test.rb | 10 ++- test/test_helper.rb | 3 +- 22 files changed, 240 insertions(+), 228 deletions(-) diff --git a/Rakefile b/Rakefile index 52903f11..c18b95e9 100644 --- a/Rakefile +++ b/Rakefile @@ -18,6 +18,7 @@ Rake::TestTask.new("test:integration") do |t| end Rake::TestTask.new("test:signatures") do |t| + ENV["RBS_TEST_DOUBLE_SUITE"] ||= "minitest" ENV["RBS_TEST_TARGET"] ||= "Capybara::Screenshot::Diff::*" t.libs << "test" diff --git a/lib/capybara/screenshot/diff.rb b/lib/capybara/screenshot/diff.rb index 1336163b..2ad084f6 100644 --- a/lib/capybara/screenshot/diff.rb +++ b/lib/capybara/screenshot/diff.rb @@ -33,7 +33,7 @@ def screenshot_area parts = [Capybara::Screenshot.save_path] parts << Capybara.current_driver.to_s if Capybara::Screenshot.add_driver_path parts << os_name if Capybara::Screenshot.add_os_path - File.join parts + File.join(*parts) end def screenshot_area_abs diff --git a/lib/capybara/screenshot/diff/browser_helpers.rb b/lib/capybara/screenshot/diff/browser_helpers.rb index cb514b85..9e5ed869 100644 --- a/lib/capybara/screenshot/diff/browser_helpers.rb +++ b/lib/capybara/screenshot/diff/browser_helpers.rb @@ -5,10 +5,6 @@ module Capybara module Screenshot module BrowserHelpers - def current_capybara_driver_class - Capybara.current_session.driver.class - end - def selenium? current_capybara_driver_class <= Capybara::Selenium::Driver end @@ -41,10 +37,6 @@ def bounds_for_css(*css_selectors) }() JS - def pending_image_to_load - evaluate_script IMAGE_WAIT_SCRIPT - end - HIDE_CARET_SCRIPT = <<~JS if (!document.getElementById('csdHideCaretStyle')) { let style = document.createElement('style'); @@ -96,6 +88,16 @@ def region_for(element) def create_output_directory_for(file_name) FileUtils.mkdir_p File.dirname(file_name) end + + private + + def pending_image_to_load + evaluate_script IMAGE_WAIT_SCRIPT + end + + def current_capybara_driver_class + Capybara.current_session.driver.class + end end end end diff --git a/lib/capybara/screenshot/diff/drivers/chunky_png_driver.rb b/lib/capybara/screenshot/diff/drivers/chunky_png_driver.rb index 0b440de2..b209a32b 100644 --- a/lib/capybara/screenshot/diff/drivers/chunky_png_driver.rb +++ b/lib/capybara/screenshot/diff/drivers/chunky_png_driver.rb @@ -14,11 +14,9 @@ class ChunkyPNGDriver attr_reader :new_file_name, :old_file_name attr_accessor :skip_area, :color_distance_limit, :shift_distance_limit - def initialize(new_file_name, old_file_name = nil, options = {}) - options = old_file_name if old_file_name.is_a?(Hash) - + def initialize(new_file_name, old_file_name, options = {}) @new_file_name = new_file_name - @old_file_name = old_file_name || "#{new_file_name}#{ImageCompare::TMP_FILE_SUFFIX}" + @old_file_name = old_file_name @color_distance_limit = options[:color_distance_limit] @shift_distance_limit = options[:shift_distance_limit] @@ -170,14 +168,6 @@ def load_image_files(old_file_name, file_name) [old_file, new_file] end - def dimension_changed?(old_image, new_image) - return unless old_image.dimension != new_image.dimension - - change_msg = [old_image, new_image].map { |i| "#{i.width}x#{i.height}" }.join(" => ") - warn "Image size has changed for #{@new_file_name}: #{change_msg}" - true - end - def draw_rectangles(images, region, (r, g, b)) border_color = ChunkyPNG::Color.rgb(r, g, b) border_shadow = ChunkyPNG::Color.rgba(r, g, b, 100) @@ -190,6 +180,10 @@ def draw_rectangles(images, region, (r, g, b)) end end + def dimension(image) + [width_for(image), height_for(image)] + end + private def build_region_for_whole_image(new_image) diff --git a/lib/capybara/screenshot/diff/drivers/utils.rb b/lib/capybara/screenshot/diff/drivers/utils.rb index aa8adb34..fb3e314b 100644 --- a/lib/capybara/screenshot/diff/drivers/utils.rb +++ b/lib/capybara/screenshot/diff/drivers/utils.rb @@ -19,6 +19,22 @@ def self.detect_available_drivers result end + def self.find_driver_class_for(driver) + driver = AVAILABLE_DRIVERS.first if driver == :auto + + LOADED_DRIVERS[driver] ||= + case driver + when :chunky_png + require "capybara/screenshot/diff/drivers/chunky_png_driver" + Drivers::ChunkyPNGDriver + when :vips + require "capybara/screenshot/diff/drivers/vips_driver" + Drivers::VipsDriver + else + fail "Wrong adapter #{driver.inspect}. Available adapters: #{AVAILABLE_DRIVERS.inspect}" + end + end + def self.detect_test_framework_assert require "minitest" ::Minitest::Assertion diff --git a/lib/capybara/screenshot/diff/drivers/vips_driver.rb b/lib/capybara/screenshot/diff/drivers/vips_driver.rb index da1faa9b..38d2ba20 100644 --- a/lib/capybara/screenshot/diff/drivers/vips_driver.rb +++ b/lib/capybara/screenshot/diff/drivers/vips_driver.rb @@ -16,20 +16,16 @@ module Diff # range considering color values and difference area size. module Drivers class VipsDriver - attr_reader :new_file_name, :old_file_name, :options - - def initialize(new_file_name, old_file_name = nil, options = {}) - options = old_file_name if old_file_name.is_a?(Hash) + attr_reader :new_file_name, :old_file_name + def initialize(new_file_name, old_file_name, _options = nil) @new_file_name = new_file_name - @old_file_name = old_file_name || "#{new_file_name}#{ImageCompare::TMP_FILE_SUFFIX}" - - @options = options || {} + @old_file_name = old_file_name reset end - def skip_area=(new_skip_area) + def skip_area=(_new_skip_area) # noop end @@ -40,14 +36,16 @@ def reset def shift_distance_equal? warn "[capybara-screenshot-diff] Instead of shift_distance_limit " \ - "please use median_filter_window_size and color_distance_limit options" - chunky_png_comparator.quick_equal? + "please use median_filter_window_size and color_distance_limit options" \ + "or set explicit chunky_png driver" + raise NotImplementedError end def shift_distance_different? warn "[capybara-screenshot-diff] Instead of shift_distance_limit " \ - "please use median_filter_window_size and color_distance_limit options" - chunky_png_comparator.different? + "please use median_filter_window_size and color_distance_limit options" \ + "or set explicit chunky_png driver" + raise NotImplementedError end def find_difference_region(new_image, old_image, color_distance_limit, _shift_distance_limit, _area_size_limit, fast_fail: false) @@ -76,6 +74,12 @@ def crop(region, i) Vips.cache_set_max(1000) result + rescue Vips::Error => e + warn( + "[capybara-screenshot-diff] Crop has been failed for " \ + "{ region: #{region.to_top_left_corner_coordinates.inspect}, image: #{dimension(i).join('x')} }" + ) + raise e end def filter_image_with_median(image, median_filter_window_size) @@ -86,15 +90,7 @@ def add_black_box(memo, region) memo.draw_rect([0, 0, 0, 0], *region.to_top_left_corner_coordinates, fill: true) end - def chunky_png_comparator - @chunky_png_comparator ||= ImageCompare.new( - @new_file_name, - @old_file_name, - **@options.merge(driver: :chunky_png, tolerance: nil, median_filter_window_size: nil) - ) - end - - def difference_level(diff_mask, old_img, _region = nil) + def difference_level(diff_mask, old_img, _region) VipsUtil.difference_area_size_by(diff_mask).to_f / image_area_size(old_img) end @@ -137,17 +133,8 @@ def from_file(filename) result end - def dimension_changed?(old_image, new_image) - return false if dimension(old_image) == dimension(new_image) - - change_msg = [old_image, new_image].map { |i| "#{i.width}x#{i.height}" }.join(" => ") - warn "Image size has changed for #{@new_file_name}: #{change_msg}" - - true - end - def dimension(image) - [image.width, image.height] + [width_for(image), height_for(image)] end def draw_rectangles(images, region, rgba) @@ -175,10 +162,10 @@ def self.difference_region_by(diff_mask) columns, rows = diff_mask.bandor.project left = columns.profile[1].min - right = columns.width - columns.flip("horizontal").profile[1].min + right = columns.width - columns.flip(:horizontal).profile[1].min top = rows.profile[0].min - bottom = rows.height - rows.flip("vertical").profile[0].min + bottom = rows.height - rows.flip(:vertical).profile[0].min return nil if right < left || bottom < top diff --git a/lib/capybara/screenshot/diff/image_compare.rb b/lib/capybara/screenshot/diff/image_compare.rb index 13362bbb..fbc0def7 100644 --- a/lib/capybara/screenshot/diff/image_compare.rb +++ b/lib/capybara/screenshot/diff/image_compare.rb @@ -7,7 +7,7 @@ module Diff # Compare two images and determine if they are equal, different, or within some comparison # range considering color values and difference area size. - class ImageCompare < SimpleDelegator + class ImageCompare TMP_FILE_SUFFIX = "~" attr_reader :driver, :driver_options @@ -16,8 +16,6 @@ class ImageCompare < SimpleDelegator attr_accessor :shift_distance_limit, :area_size_limit, :color_distance_limit def initialize(new_file_name, old_file_name = nil, options = {}) - options = old_file_name if old_file_name.is_a?(Hash) - @new_file_name = new_file_name @old_file_name = old_file_name || "#{new_file_name}#{ImageCompare::TMP_FILE_SUFFIX}" @annotated_old_file_name = "#{new_file_name.chomp(".png")}.committed.png" @@ -27,10 +25,8 @@ def initialize(new_file_name, old_file_name = nil, options = {}) assign_attributes_with(@driver_options) - driver_klass = find_driver_class_for(@driver_options.fetch(:driver, :chunky_png)) + driver_klass = Utils.find_driver_class_for(@driver_options.fetch(:driver, :chunky_png)) @driver = driver_klass.new(@new_file_name, @old_file_name, **@driver_options) - - super(@driver) end def skip_area=(new_skip_area) @@ -45,9 +41,12 @@ def quick_equal? return true if new_file_size == old_file_size images = driver.load_images(@old_file_name, @new_file_name) - old_image, new_image = preprocess_images(images, driver) + old_image, new_image = preprocess_images(images) - return false if driver.dimension_changed?(old_image, new_image) + if dimension_changed?(new_image, old_image) + notice_dimensions_have_been_changed(new_image, old_image) + return false + end self.difference_region, meta = driver.find_difference_region( new_image, @@ -73,9 +72,9 @@ def different? return false unless old_file_exists? images = driver.load_images(@old_file_name, @new_file_name) - old_image, new_image = preprocess_images(images, driver) + old_image, new_image = preprocess_images(images) - if driver.dimension_changed?(old_image, new_image) + if dimension_changed?(old_image, new_image) self.difference_region = Region.from_edge_coordinates( 0, 0, @@ -147,13 +146,23 @@ def difference_coordinates end def difference_region_area_size - return 0 unless difference_region - - difference_region.size + difference_region&.size || 0 end private + def notice_dimensions_have_been_changed(new_image, old_image) + change_msg = [old_image, new_image] + .map { |i| driver.dimension(i).join("x") } + .join(" => ") + + warn("[capybara-screenshot-diff]: Image size has changed for #{@new_file_name}: #{change_msg}") + end + + def dimension_changed?(new_image, old_image) + driver.dimension(old_image) != driver.dimension(new_image) + end + def assign_attributes_with(options) @color_distance_limit = options[:color_distance_limit] || 0 @area_size_limit = options[:area_size_limit] @@ -171,30 +180,14 @@ def different(old_image, new_image) true end - def find_driver_class_for(driver) - driver = AVAILABLE_DRIVERS.first if driver == :auto - - LOADED_DRIVERS[driver] ||= - case driver - when :chunky_png - require "capybara/screenshot/diff/drivers/chunky_png_driver" - Drivers::ChunkyPNGDriver - when :vips - require "capybara/screenshot/diff/drivers/vips_driver" - Drivers::VipsDriver - else - fail "Wrong adapter #{driver.inspect}. Available adapters: #{AVAILABLE_DRIVERS.inspect}" - end - end - - def preprocess_images(images, driver = self) - old_img = preprocess_image(images.first, driver) - new_img = preprocess_image(images.last, driver) + def preprocess_images(images) + old_img = preprocess_image(images.first) + new_img = preprocess_image(images.last) [old_img, new_img] end - def preprocess_image(image, driver = self) + def preprocess_image(image) result = image if @dimensions && driver.inscribed?(@dimensions, result) @@ -228,8 +221,8 @@ def not_different def difference_region_empty?(new_image, region) region.nil? || ( - region.height == height_for(new_image) && - region.width == width_for(new_image) && + region.height == driver.height_for(new_image) && + region.width == driver.width_for(new_image) && region.x.zero? && region.y.zero? ) @@ -251,8 +244,8 @@ def annotate_difference(images, region) SKIP_COLOR = [255, 192, 0, 255].freeze def annotate_skip_areas(annotated_images, skip_areas) - skip_areas.reduce(annotated_images) do |annotated_images, region| - driver.draw_rectangles(annotated_images, region, SKIP_COLOR) + skip_areas.reduce(annotated_images) do |memo, region| + driver.draw_rectangles(memo, region, SKIP_COLOR) end end end diff --git a/sig/lib/capybara/screenshot/diff.rbs b/sig/lib/capybara/screenshot/diff.rbs index 445ca087..67cc3c1d 100644 --- a/sig/lib/capybara/screenshot/diff.rbs +++ b/sig/lib/capybara/screenshot/diff.rbs @@ -2,25 +2,25 @@ module Capybara module Screenshot extend Os - def self.root=: (untyped path) -> untyped + def self.root=: ((String | Pathname) path) -> Pathname def self.active?: () -> bool - def self.screenshot_area: () -> untyped + def self.screenshot_area: () -> String - def self.screenshot_area_abs: () -> untyped + def self.screenshot_area_abs: () -> String # Module to track screen shot changes module Diff include Capybara::Screenshot::Os - AVAILABLE_DRIVERS: untyped + AVAILABLE_DRIVERS: Array[(:vips | :chunky_png)] - ASSERTION: untyped + ASSERTION: (top | RuntimeError) def self.default_options: () -> TestMethods::input_options - def self.included: (untyped klass) -> untyped + def self.included: (top klass) -> void private diff --git a/sig/lib/capybara/screenshot/diff/browser_helpers.rbs b/sig/lib/capybara/screenshot/diff/browser_helpers.rbs index eb8af197..2f9765ac 100644 --- a/sig/lib/capybara/screenshot/diff/browser_helpers.rbs +++ b/sig/lib/capybara/screenshot/diff/browser_helpers.rbs @@ -1,4 +1,7 @@ module Capybara + class Result + def map: () -> Result + end module Screenshot module BrowserHelpers def current_capybara_driver_class: () -> untyped @@ -7,31 +10,31 @@ module Capybara def window_size_is_wrong?: () -> bool - def rect_for: (String css_selector) -> untyped + def rect_for: (String css_selector) -> Region::raw_region_entity - def bounds_for_css: (*String css_selectors) -> untyped + def bounds_for_css: (*String css_selectors) -> Array[Region::raw_region_entity] IMAGE_WAIT_SCRIPT: String - def pending_image_to_load: () -> untyped + def pending_image_to_load: () -> top? HIDE_CARET_SCRIPT: String - def hide_caret: () -> untyped + def hide_caret: () -> void FIND_ACTIVE_ELEMENT_SCRIPT: String - def blur_from_focused_element: () -> untyped + def blur_from_focused_element: () -> top? GET_BOUNDING_CLIENT_RECT_SCRIPT: String - def all_visible_regions_for: (String selector) -> untyped + def all_visible_regions_for: (String selector) -> Array[Region::raw_region_entity] - def region_for: (untyped element) -> untyped + def region_for: (Result element) -> Region::raw_region_entity private - def create_output_directory_for: (String file_name) -> untyped + def create_output_directory_for: (String file_name) -> void end end end diff --git a/sig/lib/capybara/screenshot/diff/drivers/base_driver.rbs b/sig/lib/capybara/screenshot/diff/drivers/base_driver.rbs index 27c88dc3..95ab73b7 100644 --- a/sig/lib/capybara/screenshot/diff/drivers/base_driver.rbs +++ b/sig/lib/capybara/screenshot/diff/drivers/base_driver.rbs @@ -3,15 +3,20 @@ module Capybara module Diff module Drivers class BaseDriver[ImageEntity] + type images_entity[out T] = [T, T] + type dimension_entity = [Numeric, Numeric] + type options_entity = { - area_size_limit?: Integer?, + area_size_limit?: Numeric?, color_distance_limit?: Numeric?, driver: (:auto | :vips | :chunky_png)?, - shift_distance_limit?: (Numeric | bool)?, + dimensions: dimension_entity?, + median_filter_window_size: Numeric?, + shift_distance_limit?: Numeric?, skip_area?: Array[Region]?, - stability_time_limit?: (Numeric | bool)?, - tolerance?: Float?, - wait?: Integer? + stability_time_limit?: Numeric?, + tolerance?: Numeric?, + wait?: Numeric? } type color = [Integer, Integer, Integer, Integer] @@ -22,7 +27,7 @@ module Capybara attr_reader options: options_entity - def initialize: (String new_file_name, ?String? old_file_name, ?options_entity options) -> void + def initialize: (String new_file_name, String old_file_name, ?options_entity options) -> void def skip_area=: (Array[Region] new_skip_area) -> void @@ -34,21 +39,19 @@ module Capybara def shift_distance_different?: () -> bool - def find_difference_region: (ImageEntity new_image, ImageEntity old_image, (Integer | Float) color_distance_limit, (Integer | Float) _shift_distance_limit, Integer _area_size_limit, ?fast_fail: bool) -> [(Region | nil), (ImageEntity | untyped | nil)] + def find_difference_region: (ImageEntity new_image, ImageEntity old_image, Numeric color_distance_limit, Numeric _shift_distance_limit, Integer _area_size_limit, ?fast_fail: bool) -> [Region?, (ImageEntity | top | nil)] def adds_error_details_to: (::Hash[Symbol, untyped] _log) -> void - def inscribed?: (untyped dimensions, ImageEntity i) -> bool + def inscribed?: (dimension_entity dimensions, ImageEntity i) -> bool def crop: (Region region, ImageEntity i) -> ImageEntity - def filter_image_with_median: (ImageEntity image, untyped median_filter_window_size) -> ImageEntity - - def add_black_box: (untyped memo, Region region) -> void + def filter_image_with_median: (ImageEntity image, Numeric median_filter_window_size) -> ImageEntity - def chunky_png_comparator: () -> ImageCompare + def add_black_box: (ImageEntity memo, Region region) -> void - def difference_level: (untyped diff_mask, ImageEntity old_img, ?Region? _region) -> Float + def difference_level: (Vips::Image diff_mask, ImageEntity old_img, Region _region) -> Float def image_area_size: (ImageEntity old_img) -> Integer @@ -61,15 +64,15 @@ module Capybara def resize_image_to: (ImageEntity image, Integer new_width, Integer new_height) -> ImageEntity - def load_images: (String old_file_name, String new_file_name) -> [ImageEntity, ImageEntity] + def load_images: (String old_file_name, String new_file_name) -> images_entity[ImageEntity] def from_file: (String filename) -> ImageEntity def dimension_changed?: (ImageEntity old_image, ImageEntity new_image) -> bool - def dimension: (ImageEntity image) -> ::Array[untyped] + def dimension: (ImageEntity image) -> dimension_entity - def draw_rectangles: ([ImageEntity, ImageEntity] images, Region region, color rgba) -> untyped + def draw_rectangles: (images_entity[ImageEntity] images, Region region, color rgba) -> void end end end diff --git a/sig/lib/capybara/screenshot/diff/drivers/utils.rbs b/sig/lib/capybara/screenshot/diff/drivers/utils.rbs index 37a8d813..11363dbf 100644 --- a/sig/lib/capybara/screenshot/diff/drivers/utils.rbs +++ b/sig/lib/capybara/screenshot/diff/drivers/utils.rbs @@ -2,7 +2,9 @@ module Capybara module Screenshot module Diff module Utils - def self.detect_available_drivers: () -> Array[Symbol] + def self.detect_available_drivers: () -> Array[(:vips | :chunky_png)] + + def self.find_driver_class_for: (Symbol driver) -> top def self.detect_test_framework_assert: () -> (untyped | RuntimeError) end diff --git a/sig/lib/capybara/screenshot/diff/drivers/vips_driver.rbs b/sig/lib/capybara/screenshot/diff/drivers/vips_driver.rbs index 5e4a1341..e7ad8e69 100644 --- a/sig/lib/capybara/screenshot/diff/drivers/vips_driver.rbs +++ b/sig/lib/capybara/screenshot/diff/drivers/vips_driver.rbs @@ -12,15 +12,13 @@ module Capybara PNG_EXTENSION: String class VipsUtil - def self.difference: (Vips::Image old_image, Vips::Image new_image, ?color_distance: ::Integer) -> [Integer, Integer, Integer, Integer] + def self.difference_area: (Vips::Image old_image, Vips::Image new_image, ?color_distance: ::Integer) -> Numeric - def self.difference_area: (Vips::Image old_image, Vips::Image new_image, ?color_distance: ::Integer) -> (Integer | Float) - - def self.difference_area_size_by: (Vips::Image difference_mask) -> (Integer | Float) + def self.difference_area_size_by: (Vips::Image difference_mask) -> Numeric def self.difference_mask: (Numeric color_distance, Vips::Image old_image, Vips::Image new_image) -> Vips::Image - def self.difference_region_by: (Vips::Image diff_mask) -> (nil | Region) + def self.difference_region_by: (Vips::Image diff_mask) -> Region? end end end diff --git a/sig/lib/capybara/screenshot/diff/image_compare.rbs b/sig/lib/capybara/screenshot/diff/image_compare.rbs index e7dfba12..1701f329 100644 --- a/sig/lib/capybara/screenshot/diff/image_compare.rbs +++ b/sig/lib/capybara/screenshot/diff/image_compare.rbs @@ -1,16 +1,20 @@ module Capybara module Screenshot module Diff - LOADED_DRIVERS: ::Hash[Symbol, untyped] + LOADED_DRIVERS: { vips: ImageCompare::driver_entity, chunky_png: ImageCompare::driver_entity } - # Compare two images and determine if they are equal, different, or within some comparison + # Compare two images_entities and determine if they are equal, different, or within some comparison # range considering color values and difference area size. class ImageCompare + type driver_entity = Drivers::VipsDriver | Drivers::ChunkyPNGDriver + type image_entity = ChunkyPNG::Canvas | Vips::Image + type images_entities = [image_entity, image_entity] + TMP_FILE_SUFFIX: "~" - attr_reader driver: untyped + attr_reader driver: driver_entity - attr_reader driver_options: untyped + attr_reader driver_options: Drivers::BaseDriver::options_entity attr_reader annotated_new_file_name: String @@ -20,29 +24,33 @@ module Capybara attr_reader old_file_name: String - attr_reader skip_area: untyped + attr_reader skip_area: Array[Region]? + + attr_accessor shift_distance_limit: Numeric? - attr_accessor shift_distance_limit: untyped + attr_accessor area_size_limit: Numeric? - attr_accessor area_size_limit: untyped + attr_accessor color_distance_limit: Numeric? - attr_accessor color_distance_limit: untyped + @median_filter_window_size: Numeric? + @dimensions: Drivers::BaseDriver::dimension_entity? + @tolerance: Numeric? - def initialize: (String new_file_name, ?(String | Drivers::BaseDriver::options_entity)? old_file_name, ?Drivers::BaseDriver::options_entity options) -> void + def initialize: (String new_file_name, (String | Drivers::BaseDriver::options_entity)? old_file_name, ?Drivers::BaseDriver::options_entity options) -> void def skip_area=: (Array[Region] new_skip_area) -> void - # Compare the two image files and return `true` or `false` as quickly as possible. - # Return falsely if the old file does not exist or the image dimensions do not match. + # Compare the two image_entity files and return `true` or `false` as quickly as possible. + # Return falsely if the old file does not exist or the image_entity dimensions do not match. def quick_equal?: () -> bool - # Compare the two images referenced by this object, and return `true` if they are different, + # Compare the two images_entities referenced by this object, and return `true` if they are different, # and `false` if they are the same. def different?: () -> bool def clean_tmp_files: () -> void - def save: (untyped old_img, untyped new_img, String annotated_old_file_name, String annotated_new_file_name) -> void + def save: (image_entity old_img, image_entity new_img, String annotated_old_file_name, String annotated_new_file_name) -> void def old_file_exists?: () -> bool @@ -52,21 +60,19 @@ module Capybara def error_message: () -> String - def difference_coordinates: () -> Region::raw_region_entity + def difference_coordinates: () -> Region::raw_region_entity? def difference_region_area_size: () -> Numeric private - attr_accessor difference_region: untyped - - def different: (untyped old_image, untyped new_image) -> true + attr_accessor difference_region: Region? - def find_driver_class_for: (untyped driver) -> void + def different: (image_entity old_image, image_entity new_image) -> true - def preprocess_images: (Array[untyped] images, ?untyped driver) -> ::Array[untyped] + def preprocess_images: (images_entities images) -> images_entities - def preprocess_image: (untyped image, ?untyped driver) -> untyped + def preprocess_image: (image_entity image) -> image_entity def old_file_size: () -> Integer @@ -74,17 +80,17 @@ module Capybara def not_different: () -> false - def difference_region_empty?: (untyped new_image, Region region) -> bool + def difference_region_empty?: (image_entity new_image, Region? region) -> bool - def annotate_and_save: (untyped images, Region region) -> void + def annotate_and_save: (images_entities images, Region region) -> void - DIFF_COLOR: ::Array[255 | 0] + DIFF_COLOR: [255, 0, 0, 255] - def annotate_difference: (untyped images, Region region) -> void + def annotate_difference: (images_entities images, Region region) -> void - SKIP_COLOR: ::Array[255 | 192 | 0] + SKIP_COLOR: [255, 192, 0, 255] - def annotate_skip_areas: (untyped annotated_images, Array[Region] skip_areas) -> void + def annotate_skip_areas: (images_entities annotated_images, Array[Region] skip_areas) -> void end end end diff --git a/sig/lib/capybara/screenshot/diff/region.rbs b/sig/lib/capybara/screenshot/diff/region.rbs index 0cbb6ad1..d8d4b353 100644 --- a/sig/lib/capybara/screenshot/diff/region.rbs +++ b/sig/lib/capybara/screenshot/diff/region.rbs @@ -1,43 +1,43 @@ class Region type raw_region_entity = [Numeric, Numeric, Numeric, Numeric] - attr_accessor x: Integer + attr_accessor x: Numeric - attr_accessor y: Integer + attr_accessor y: Numeric - attr_accessor width: Integer + attr_accessor width: Numeric - attr_accessor height: Integer + attr_accessor height: Numeric - def initialize: (Integer x, Integer y, Integer width, Integer height) -> void + def initialize: (Numeric x, Numeric y, Numeric width, Numeric height) -> void - def self.from_top_left_corner_coordinates: (Integer x, Integer y, Integer width, Integer height) -> (nil | Region) + def self.from_top_left_corner_coordinates: (Numeric x, Numeric y, Numeric width, Numeric height) -> Region? - def self.from_edge_coordinates: (Integer left, Integer `top`, Integer right, Integer bottom) -> Region? + def self.from_edge_coordinates: (Numeric left, Numeric `top`, Numeric right, Numeric bottom) -> Region? - def to_edge_coordinates: () -> ::Array[Integer] + def to_edge_coordinates: () -> ::Array[Numeric] - def to_top_left_corner_coordinates: () -> ::Array[Integer] + def to_top_left_corner_coordinates: () -> ::Array[Numeric] - def top: () -> Integer + def top: () -> Numeric - def bottom: () -> Integer + def bottom: () -> Numeric - def left: () -> Integer + def left: () -> Numeric - def right: () -> Integer + def right: () -> Numeric - def size: () -> Integer + def size: () -> Numeric - def to_a: () -> ::Array[Integer] + def to_a: () -> ::Array[Numeric] - def find_intersect_with: (Region region) -> (nil | Region) + def find_intersect_with: (Region region) -> Region? def intersect?: (Region region) -> bool - def move_by: (Integer right_by, Integer down_by) -> Region + def move_by: (Numeric right_by, Numeric down_by) -> Region - def find_relative_intersect: (Region region) -> (nil | Region) + def find_relative_intersect: (Region region) -> Region? - def cover?: (Integer x, Integer y) -> bool + def cover?: (Numeric x, Numeric y) -> bool end diff --git a/sig/lib/capybara/screenshot/diff/stabilization.rbs b/sig/lib/capybara/screenshot/diff/stabilization.rbs index 838e6473..fa3db655 100644 --- a/sig/lib/capybara/screenshot/diff/stabilization.rbs +++ b/sig/lib/capybara/screenshot/diff/stabilization.rbs @@ -4,7 +4,7 @@ module Capybara module Stabilization include Os - def take_stable_screenshot: (ImageCompare comparison, stability_time_limit: (Numeric | bool)?, wait: Integer?, crop: Region?) -> void + def take_stable_screenshot: (ImageCompare comparison, stability_time_limit: Numeric, wait: Numeric, crop: Region?) -> void def notice_how_to_avoid_this: () -> void @@ -14,23 +14,23 @@ module Capybara def make_stabilization_comparison_from: (String new_file_name, String previous_file_name, Drivers::BaseDriver::options_entity driver_options) -> ImageCompare - def reduce_retina_image_size: (String file_name, (Drivers::VipsDriver | Drivers::ChunkyPNGDriver) driver) -> void + def reduce_retina_image_size: (String file_name, ImageCompare::driver_entity driver) -> void def stabilization_images: (String base_file) -> Array[String] def clean_stabilization_images: (String base_file) -> void - def prepare_page_for_screenshot: (timeout: Integer) -> untyped + def prepare_page_for_screenshot: (timeout: Numeric) -> top? - def take_right_size_screenshot: (ImageCompare comparison, crop: (Region | nil)) -> void + def take_right_size_screenshot: (ImageCompare comparison, crop: Region?) -> void - def check_max_wait_time: (ImageCompare comparison, Time screenshot_started_at, max_wait_time: Integer) -> void + def check_max_wait_time: (ImageCompare comparison, Time screenshot_started_at, max_wait_time: Numeric) -> void def annotate_stabilization_images: (ImageCompare comparison) -> void - def max_wait_time: (Float shift_distance_limit, Integer wait) -> Integer + def max_wait_time: (Numeric? shift_distance_limit, Numeric wait) -> Integer - def assert_images_loaded: (timeout: Integer) -> void + def assert_images_loaded: (timeout: Numeric) -> void end end end diff --git a/sig/lib/capybara/screenshot/diff/test_methods.rbs b/sig/lib/capybara/screenshot/diff/test_methods.rbs index 59de6a67..47c7615a 100644 --- a/sig/lib/capybara/screenshot/diff/test_methods.rbs +++ b/sig/lib/capybara/screenshot/diff/test_methods.rbs @@ -25,19 +25,19 @@ module Capybara def screenshot: (name_entity name, ?skip_stack_frames: ::Integer, **untyped options) -> bool - %a{rbs:test:skip} def assert_image_not_changed: (String caller, String name, ImageCompare comparison) -> ::String? + def assert_image_not_changed: ((String | Array[String]) caller, String name, ImageCompare comparison) -> ::String? private type input_options = { - area_size_limit: Integer?, - color_distance_limit: Integer?, + area_size_limit: Numeric?, + color_distance_limit: Numeric?, driver: (:auto | :vips | :chunky_png)?, - shift_distance_limit: Integer?, - skip_area: nil | Array[[Integer, Integer, Integer, Integer] | String] | String | [Integer, Integer, Integer, Integer], - stability_time_limit: (Float | bool)?, - tolerance: Float?, - wait: Integer? + shift_distance_limit: Numeric?, + skip_area: nil | Array[Region::raw_region_entity | String] | String | Region::raw_region_entity, + stability_time_limit: Numeric?, + tolerance: Numeric?, + wait: Numeric? } def calculate_crop_region: (input_options driver_options) -> Region? @@ -50,7 +50,7 @@ module Capybara def calculate_skip_area: ((skip_area_entity | Array[skip_area_entity]) skip_area, (nil | String | Region | Region::raw_region_entity) crop) -> Array[Region] - def build_regions_for: ((Enumerable[Region::raw_region_entity]) coordinates) -> Array[(Region | nil)] + def build_regions_for: ((Enumerable[Region::raw_region_entity]) coordinates) -> Array[Region?] end end end diff --git a/test/capybara/screenshot/diff/drivers/chunky_png_driver_test.rb b/test/capybara/screenshot/diff/drivers/chunky_png_driver_test.rb index d0916a72..e4d9b03a 100644 --- a/test/capybara/screenshot/diff/drivers/chunky_png_driver_test.rb +++ b/test/capybara/screenshot/diff/drivers/chunky_png_driver_test.rb @@ -12,11 +12,11 @@ class ChunkyPNGDriverTest < ActionDispatch::IntegrationTest include TestHelper test "it can be instantiated" do - assert ChunkyPNGDriver.new("images/b.png") + assert ChunkyPNGDriver.new("images/b.png", "images/a.png") end test "it can be instantiated with dimensions" do - assert ChunkyPNGDriver.new("images/b.png", dimensions: [80, 80]) + assert ChunkyPNGDriver.new("images/b.png", "images/a.png", dimensions: [80, 80]) end test "#different? for equal is negative" do @@ -52,52 +52,52 @@ class ChunkyPNGDriverTest < ActionDispatch::IntegrationTest test "compare with color_distance_limit above difference" do comp = make_comparison(:a, :b, color_distance_limit: 223) assert_not comp.different? - assert_equal 223, comp.max_color_distance.ceil + assert_equal 223, comp.driver.max_color_distance.ceil end test "compare with color_distance_limit below difference" do comp = make_comparison(:a, :b, color_distance_limit: 222) assert comp.different? - assert_equal 223, comp.max_color_distance.ceil + assert_equal 223, comp.driver.max_color_distance.ceil end test "compare with shift_distance_limit above difference" do comp = make_comparison(:a, :b, shift_distance_limit: 11) assert_not comp.different? - assert_equal 0, comp.max_shift_distance.ceil + assert_equal 0, comp.driver.max_shift_distance.ceil end test "compare with shift_distance_limit below difference" do comp = make_comparison(:a, :b, shift_distance_limit: 9) assert comp.different? - assert_equal 11, comp.max_shift_distance.ceil + assert_equal 11, comp.driver.max_shift_distance.ceil end test "quick_equal with color distance limit above max color distance" do comp = make_comparison(:a, :b, color_distance_limit: 224) assert comp.quick_equal? - assert_equal 223, comp.max_color_distance.ceil + assert_equal 223, comp.driver.max_color_distance.ceil end test "quick_equal with color distance limit" do comp = make_comparison(:a, :b, color_distance_limit: 222) assert !comp.quick_equal? - assert_equal 223, comp.max_color_distance.ceil + assert_equal 223, comp.driver.max_color_distance.ceil end test "max_color_distance a vs b" do comp = make_comparison(:a, :b) - assert_equal 223, comp.max_color_distance.ceil + assert_equal 223, comp.driver.max_color_distance.ceil end test "max_color_distance a vs c" do comp = make_comparison(:a, :c) - assert_equal 318, comp.max_color_distance.ceil + assert_equal 318, comp.driver.max_color_distance.ceil end test "max_color_distance a vs d" do comp = make_comparison(:a, :d) - assert_equal 271, comp.max_color_distance.ceil + assert_equal 271, comp.driver.max_color_distance.ceil end test "max_color_distance 1.0" do @@ -108,7 +108,7 @@ class ChunkyPNGDriverTest < ActionDispatch::IntegrationTest other_img_filename = comp.new_file_name a_img.save(other_img_filename) - assert_equal 1, comp.max_color_distance + assert_equal 1, comp.driver.max_color_distance end test "size a vs a_cropped" do @@ -120,12 +120,12 @@ class ChunkyPNGDriverTest < ActionDispatch::IntegrationTest # Test Interface Contracts test "from_file loads image from path" do - driver = ChunkyPNGDriver.new("#{Rails.root}/screenshot.png") + driver = ChunkyPNGDriver.new("#{Rails.root}/screenshot.png", "images/a.png") assert driver.from_file("#{TEST_IMAGES_DIR}/a.png") end test "tolerance" do - driver = ChunkyPNGDriver.new("#{Rails.root}/screenshot.png") + driver = ChunkyPNGDriver.new("#{Rails.root}/screenshot.png", "images/a.png") level = driver.difference_level( nil, diff --git a/test/capybara/screenshot/diff/drivers/vips_driver_test.rb b/test/capybara/screenshot/diff/drivers/vips_driver_test.rb index 11a817ee..ab9bb222 100644 --- a/test/capybara/screenshot/diff/drivers/vips_driver_test.rb +++ b/test/capybara/screenshot/diff/drivers/vips_driver_test.rb @@ -38,11 +38,11 @@ class VipsDriverTest < ActionDispatch::IntegrationTest end test "it can be instantiated" do - assert VipsDriver.new("images/b.png") + assert VipsDriver.new("images/b.png", "images/a.png") end test "it can be instantiated with dimensions" do - assert VipsDriver.new("images/b.png", dimensions: [80, 80]) + assert VipsDriver.new("images/b.png", "images/a.png", dimensions: [80, 80]) end test "when different does not clean runtime files" do @@ -146,7 +146,7 @@ class VipsDriverTest < ActionDispatch::IntegrationTest # Test Interface Contracts test "from_file loads image from path" do - driver = VipsDriver.new("#{Rails.root}/screenshot.png") + driver = VipsDriver.new("#{Rails.root}/screenshot.png", "images/a.png") assert driver.from_file("#{TEST_IMAGES_DIR}/a.png") end diff --git a/test/capybara/screenshot/diff/image_compare_test.rb b/test/capybara/screenshot/diff/image_compare_test.rb index 25c8dd69..f3a9bf20 100644 --- a/test/capybara/screenshot/diff/image_compare_test.rb +++ b/test/capybara/screenshot/diff/image_compare_test.rb @@ -12,17 +12,17 @@ class ImageCompareTest < ActionDispatch::IntegrationTest include TestHelper test "it can be instantiated with chunky_png driver" do - comparison = ImageCompare.new("images/b.png") + comparison = ImageCompare.new("images/b.png", nil) assert_kind_of Drivers::ChunkyPNGDriver, comparison.driver end test "it can be instantiated with explicit chunky_png adapter" do - comparison = ImageCompare.new("images/b.png", driver: :chunky_png) + comparison = ImageCompare.new("images/b.png", nil, driver: :chunky_png) assert_kind_of Drivers::ChunkyPNGDriver, comparison.driver end test "it can be instantiated with vips adapter" do - comparison = ImageCompare.new("images/b.png", driver: :vips) + comparison = ImageCompare.new("images/b.png", nil, driver: :vips) assert_kind_of Drivers::VipsDriver, comparison.driver end @@ -33,22 +33,22 @@ class ImageCompareTest < ActionDispatch::IntegrationTest end test "could pass use tolerance for chunky_png driver" do - ImageCompare.new("images/b.png", driver: :chunky_png, tolerance: 0.02) + ImageCompare.new("images/b.png", nil, driver: :chunky_png, tolerance: 0.02) end test "it can be instantiated with dimensions" do - assert ImageCompare.new("images/b.png", dimensions: [80, 80]) + assert ImageCompare.new("images/b.png", nil, dimensions: [80, 80]) end test "for driver: :auto returns first from available drivers" do - comparison = ImageCompare.new("images/b.png", driver: :auto) + comparison = ImageCompare.new("images/b.png", nil, driver: :auto) assert_kind_of Drivers::VipsDriver, comparison.driver end test "for driver: :auto raise error if no drivers are available" do Capybara::Screenshot::Diff.stub_const(:AVAILABLE_DRIVERS, []) do assert_raise(RuntimeError) do - ImageCompare.new("images/b.png", driver: :auto) + ImageCompare.new("images/b.png", nil, driver: :auto) end end end diff --git a/test/capybara/screenshot/diff/stabilization_test.rb b/test/capybara/screenshot/diff/stabilization_test.rb index 1d20745a..af9d4e0a 100644 --- a/test/capybara/screenshot/diff/stabilization_test.rb +++ b/test/capybara/screenshot/diff/stabilization_test.rb @@ -9,20 +9,22 @@ class StabilizationTest < ActionDispatch::IntegrationTest include TestMethods include TestHelper - test 'several iterations to take stable screenshot' do - comparison = ::Minitest::Mock.new - def comparison.old_file_name; 'old.png'; end - def comparison.new_file_name; '01_a.png'; end - def comparison.driver; :vips; end - def comparison.reset; end - def comparison.driver_options; Capybara::Screenshot::Diff.default_options; end - def comparison.shift_distance_limit; nil; end + ImageCompareStub = Struct.new( + :old_file_name, :new_file_name, :driver, :reset, :driver_options, :shift_distance_limit + ) - comparison.expect(:quick_equal?, false) - comparison.expect(:quick_equal?, false) - comparison.expect(:quick_equal?, true) + test "several iterations to take stable screenshot" do + image_compare_stub = ImageCompareStub.new( + "old.png", "tmp/01_a.png", ::Minitest::Mock.new, nil, Capybara::Screenshot::Diff.default_options, nil + ) - take_stable_screenshot(comparison, stability_time_limit: 1, wait: 1, crop: nil) + mock = ::Minitest::Mock.new(image_compare_stub) + + mock.expect(:quick_equal?, false) + mock.expect(:quick_equal?, false) + mock.expect(:quick_equal?, true) + + take_stable_screenshot(mock, stability_time_limit: 1, wait: 1, crop: nil) end end end diff --git a/test/capybara/screenshot/diff/test_methods_test.rb b/test/capybara/screenshot/diff/test_methods_test.rb index 0e2c36bc..e02cb56d 100644 --- a/test/capybara/screenshot/diff/test_methods_test.rb +++ b/test/capybara/screenshot/diff/test_methods_test.rb @@ -35,7 +35,7 @@ def test_assert_image_not_changed_with_shift_distance_limit end def test_screenshot_support_drivers_options - skip 'vips is disabled' unless defined?(Capybara::Screenshot::Diff::Drivers::VipsDriverTest) + skip "vips is disabled" unless defined?(Capybara::Screenshot::Diff::Drivers::VipsDriverTest) screenshot("a", driver: :vips) end @@ -45,12 +45,16 @@ def test_skip_stack_frames our_screenshot("a", 0) assert_equal 1, @test_screenshots.size - assert_match(/test_methods_test.rb:\d+:in `our_screenshot'/, @test_screenshots[0][0]) + unless ENV["RBS_TEST_TARGET"] # RBS generates new methods for checking types, so we do not know their names + assert_match(/test_methods_test.rb:\d+:in `our_screenshot'/, @test_screenshots[0][0]) + end assert_equal "a", @test_screenshots[0][1] our_screenshot("a", 1) assert_equal 2, @test_screenshots.size - assert_match(/test_methods_test.rb:\d+:in `test_skip_stack_frames'/, @test_screenshots[1][0]) + unless ENV["RBS_TEST_TARGET"] # RBS generates new methods for checking types, so we do not know their names + assert_match(/test_methods_test.rb:\d+:in `test_skip_stack_frames'/, @test_screenshots[1][0]) + end assert_equal "a", @test_screenshots[1][1] end diff --git a/test/test_helper.rb b/test/test_helper.rb index fe82b12c..2d16235d 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -2,9 +2,10 @@ if ENV["COVERAGE"] require "simplecov" - SimpleCov.start do + SimpleCov.start "test_frameworks" do enable_coverage :branch minimum_coverage line: 90, branch: 68 + add_filter("gemfiles") end end From 227805a445af818c161a1ae832813b987aa59dae Mon Sep 17 00:00:00 2001 From: Paul Keen <125715+pftg@users.noreply.github.com> Date: Wed, 30 Nov 2022 13:56:57 +0100 Subject: [PATCH 169/312] Tunings CI (#57) --- .github/workflows/lint.yml | 15 +++-- .github/workflows/test.yml | 65 ++++++++++++------- .standard.yml | 10 ++- .yamllint.yml | 17 +++++ .../screenshot/diff/drivers/vips_driver.rb | 2 +- 5 files changed, 76 insertions(+), 33 deletions(-) create mode 100644 .yamllint.yml diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 9577d45d..a03678c8 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -1,15 +1,19 @@ -name: Ruby Linter +--- +name: Lint Code Base on: pull_request: + branches: [master] paths: - '*.rb' + - '*.yml' + - '.github/workflows/lint.yml' - '!bin/**' jobs: - lint: - name: Lint - runs-on: ubuntu-latest + standard: + name: Standard + runs-on: ubuntu-22.04 steps: - name: Checkout code @@ -23,3 +27,6 @@ jobs: - name: Run Standard Ruby linter run: bin/standardrb --no-fix --fail-fast + + - name: Run Yaml linter + run: sudo apt-get install -qq --no-install-recommends yamllint && yamllint ./ diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index b45c6e16..f6dd9e17 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -1,13 +1,18 @@ +--- + name: Test on: push: branches: [ master ] pull_request: + type: [ opened, synchronize, reopened, review_requested ] paths: - - '**.rb' - '**.gemfile' + - '**.rb' + - '.github/workflows/**' - '!bin/**' + workflow_dispatch: env: BUNDLE_GEMFILE: 'gemfiles/rails70_gems.rb' @@ -28,21 +33,22 @@ jobs: - name: Checkout code uses: actions/checkout@v3 + - name: Install libvips + env: + DEBIAN_FRONTEND: noninteractive + run: sudo apt-get install -qq --no-install-recommends libvips libvips-dev libvips-tools + - name: Set up Ruby uses: ruby/setup-ruby@v1 with: - ruby-version: '3.1' + ruby-version: '3.2.0-preview3' bundler-cache: true - - name: Install libvips - run: | - DEBIAN_FRONTEND="noninteractive" sudo apt-get install -y --assume-yes -q --no-install-recommends \ - libvips libvips-dev libvips-tools - - name: Run Tests with coverage - run: bundle exec rake test env: COVERAGE: enabled + RUBY_YJIT_ENABLE: 1 + run: bundle exec rake test - name: Upload Screenshots if: always() @@ -63,20 +69,27 @@ jobs: matrix: name: Test Integration Rails & Ruby + if: github.ref == 'refs/heads/master' || github.event.inputs || + github.event.pull_request.requested_reviewers.length > 0 needs: [ 'test' ] - runs-on: ubuntu-20.04 + runs-on: ubuntu-22.04 timeout-minutes: 5 strategy: matrix: - ruby-version: [ '3.1', '3.0', '2.7', 'jruby' ] + ruby-version: [ '3.2.0-preview3', '3.1', '3.0', '2.7', 'jruby', 'jruby-9.4.0.0' ] gemfile: - 'rails70_gems.rb' - 'rails61_gems.rb' - 'rails60_gems.rb' exclude: + # We already tested last version + - ruby-version: '3.2.0-preview3' + gemfile: 'gemfiles/rails70_gems.rb' + # JRuby < 9.4 is compatible with Ruby 2.6, but Rails 7 is compatible with Ruby 2.7+ - ruby-version: 'jruby' gemfile: 'rails70_gems.rb' + env: BUNDLE_GEMFILE: gemfiles/${{ matrix.gemfile }} @@ -91,26 +104,27 @@ jobs: bundler-cache: true - name: Install libvips - run: | - DEBIAN_FRONTEND="noninteractive" sudo apt-get install -y --assume-yes -q --no-install-recommends \ - libvips libvips-dev libvips-tools + env: + DEBIAN_FRONTEND: noninteractive + run: sudo apt-get install -qq --no-install-recommends libvips libvips-dev libvips-tools - name: Run tests run: bundle exec rake test - matrix_screenshot_driver: + matrix-screenshot-driver: name: Test Integration Capybara & Image Drivers + if: github.ref == 'refs/heads/master' || github.event.inputs || + github.event.pull_request.requested_reviewers.length > 0 needs: [ 'test' ] - runs-on: ubuntu-20.04 - timeout-minutes: 5 strategy: matrix: - screenshot-driver: [ 'vips', 'chunky_png' ] - capybara-driver: [ 'selenium_headless', 'selenium_chrome_headless' ] - include: - - screenshot-driver: 'chunky_png' - capybara-driver: 'cuprite' + screenshot-driver: [ vips, chunky_png ] + capybara-driver: [ selenium_headless, selenium_chrome_headless, cuprite ] + + runs-on: ${{ matrix.capybara-driver == 'selenium_headless' && 'ubuntu-20.04' || 'ubuntu-22.04' }} + + timeout-minutes: 5 steps: - name: Checkout code @@ -119,13 +133,14 @@ jobs: - name: Set up Ruby uses: ruby/setup-ruby@v1 with: - ruby-version: '3.1' + ruby-version: '3.2.0-preview3' bundler-cache: true - name: Install libvips - run: | - DEBIAN_FRONTEND="noninteractive" sudo apt-get install -y --assume-yes -q --no-install-recommends \ - libvips libvips-dev libvips-tools + if: matrix.screenshot-driver == 'vips' + env: + DEBIAN_FRONTEND: noninteractive + run: sudo apt-get install -qq --no-install-recommends libvips libvips-dev libvips-tools - name: Run tests run: bundle exec rake test:integration diff --git a/.standard.yml b/.standard.yml index 4e685fe9..f34357f5 100644 --- a/.standard.yml +++ b/.standard.yml @@ -1,12 +1,16 @@ +--- fix: true # default: false parallel: true # default: false format: progress # default: Standard::Formatter ruby_version: 2.7 # default: RUBY_VERSION default_ignores: false # default: true -ignore: # default: [] +ignore: # default: [] - 'bin/**/*' - - 'gemfiles/vendor/**/*' + - 'coverage/**/*' - 'gemfiles/**/*': - - Security/Eval + - 'Security/Eval' + - 'gemfiles/vendor/**/*' + - 'sig/**/*' + - 'tmp/**/*' - 'vendor/**/*' diff --git a/.yamllint.yml b/.yamllint.yml new file mode 100644 index 00000000..90027646 --- /dev/null +++ b/.yamllint.yml @@ -0,0 +1,17 @@ +--- + +extends: relaxed + +rules: + line-length: + max: 120 + indentation: + indent-sequences: whatever + +ignore: | + coverage + gemfiles + sig + test + tmp + vendor diff --git a/lib/capybara/screenshot/diff/drivers/vips_driver.rb b/lib/capybara/screenshot/diff/drivers/vips_driver.rb index 38d2ba20..3621f57e 100644 --- a/lib/capybara/screenshot/diff/drivers/vips_driver.rb +++ b/lib/capybara/screenshot/diff/drivers/vips_driver.rb @@ -77,7 +77,7 @@ def crop(region, i) rescue Vips::Error => e warn( "[capybara-screenshot-diff] Crop has been failed for " \ - "{ region: #{region.to_top_left_corner_coordinates.inspect}, image: #{dimension(i).join('x')} }" + "{ region: #{region.to_top_left_corner_coordinates.inspect}, image: #{dimension(i).join("x")} }" ) raise e end From 952c7cc30a8be57f7b3db2cf3f35f197a320ca5f Mon Sep 17 00:00:00 2001 From: Paul Keen <125715+pftg@users.noreply.github.com> Date: Thu, 22 Dec 2022 19:13:28 +0100 Subject: [PATCH 170/312] Hotfix: does not skip create new screenshots --- lib/capybara/screenshot/diff/test_methods.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/capybara/screenshot/diff/test_methods.rb b/lib/capybara/screenshot/diff/test_methods.rb index 3567cba5..59d5102a 100644 --- a/lib/capybara/screenshot/diff/test_methods.rb +++ b/lib/capybara/screenshot/diff/test_methods.rb @@ -77,10 +77,10 @@ def screenshot(name, skip_stack_frames: 0, **options) comparison = ImageCompare.new(file_name, nil, driver_options) checkout_vcs(name, comparison.old_file_name, comparison.new_file_name) - return false unless comparison.old_file_exists? - take_comparison_screenshot(comparison, crop, stability_time_limit, wait) + return false unless comparison.old_file_exists? + (@test_screenshots ||= []) << [caller[skip_stack_frames], name, comparison] true From 47d1c0cd27bd04ffe4782b7daae4dd6e3e509057 Mon Sep 17 00:00:00 2001 From: Paul Keen <125715+pftg@users.noreply.github.com> Date: Fri, 23 Dec 2022 11:20:26 +0100 Subject: [PATCH 171/312] Allows to use latest chunky_png for development (#61) --- capybara-screenshot-diff.gemspec | 2 +- gems.rb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/capybara-screenshot-diff.gemspec b/capybara-screenshot-diff.gemspec index 07296637..5385e311 100644 --- a/capybara-screenshot-diff.gemspec +++ b/capybara-screenshot-diff.gemspec @@ -22,5 +22,5 @@ Gem::Specification.new do |spec| spec.add_runtime_dependency "actionpack", ">= 6.0", "< 8" spec.add_runtime_dependency "capybara", ">= 2", "< 4" - spec.add_runtime_dependency "chunky_png", "~> 1.3" + spec.add_runtime_dependency "chunky_png", ">= 1.3", "< 2" end diff --git a/gems.rb b/gems.rb index eb9006c5..bd91c3a7 100644 --- a/gems.rb +++ b/gems.rb @@ -8,7 +8,7 @@ gem "rake" # Image processing libraries -gem "oily_png", platform: :ruby +gem "oily_png", platform: :ruby, git: "https://github.com/donv/oily_png", branch: "patch-2" gem "ruby-vips", require: false # Test From 303f8cb18e70d30b6c87d25a076f203ab746b86e Mon Sep 17 00:00:00 2001 From: Paul Keen <125715+pftg@users.noreply.github.com> Date: Mon, 9 Jan 2023 14:02:19 +0100 Subject: [PATCH 172/312] Adds Benchmark and Tests tunings (#62) --- .github/workflows/lint.yml | 4 +- .github/workflows/test.yml | 32 +++++----- Rakefile | 20 +++++++ capybara-screenshot-diff.gemspec | 5 +- gems.rb | 1 + lib/capybara/screenshot/diff/image_compare.rb | 2 + scripts/benchmark/find_region_benchmark.rb | 60 +++++++++++++++++++ .../diff/drivers/vips_driver_test.rb | 2 +- test/system_test_case.rb | 2 +- 9 files changed, 110 insertions(+), 18 deletions(-) create mode 100644 scripts/benchmark/find_region_benchmark.rb diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index a03678c8..fc08036a 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -29,4 +29,6 @@ jobs: run: bin/standardrb --no-fix --fail-fast - name: Run Yaml linter - run: sudo apt-get install -qq --no-install-recommends yamllint && yamllint ./ + run: | + sudo apt-get install --fix-missing -qq --no-install-recommends yamllint + yamllint ./ diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index f6dd9e17..c001f2c2 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -16,6 +16,7 @@ on: env: BUNDLE_GEMFILE: 'gemfiles/rails70_gems.rb' + DEBIAN_FRONTEND: 'noninteractive' FERRUM_PROCESS_TIMEOUT: '40' WD_CACHE_TIME: '864000' # 10 days @@ -29,19 +30,22 @@ jobs: runs-on: ubuntu-22.04 # In order to install libvips 8.9+ version timeout-minutes: 5 + env: + DISABLE_SKIP_TESTS: 1 + steps: - name: Checkout code uses: actions/checkout@v3 - name: Install libvips - env: - DEBIAN_FRONTEND: noninteractive - run: sudo apt-get install -qq --no-install-recommends libvips libvips-dev libvips-tools + run: | + sudo apt-get update -qq + sudo apt-get install --fix-missing -qq --no-install-recommends libvips libvips-dev libvips-tools - name: Set up Ruby uses: ruby/setup-ruby@v1 with: - ruby-version: '3.2.0-preview3' + ruby-version: '3.2.0' bundler-cache: true - name: Run Tests with coverage @@ -69,7 +73,7 @@ jobs: matrix: name: Test Integration Rails & Ruby - if: github.ref == 'refs/heads/master' || github.event.inputs || + if: github.ref == 'refs/heads/master' || github.event_name == 'workflow_dispatch' || github.event.pull_request.requested_reviewers.length > 0 needs: [ 'test' ] runs-on: ubuntu-22.04 @@ -77,14 +81,14 @@ jobs: strategy: matrix: - ruby-version: [ '3.2.0-preview3', '3.1', '3.0', '2.7', 'jruby', 'jruby-9.4.0.0' ] + ruby-version: [ '3.2.0', '3.1', '3.0', '2.7', 'jruby', 'jruby-9.4.0.0' ] gemfile: - 'rails70_gems.rb' - 'rails61_gems.rb' - 'rails60_gems.rb' exclude: # We already tested last version - - ruby-version: '3.2.0-preview3' + - ruby-version: '3.2.0' gemfile: 'gemfiles/rails70_gems.rb' # JRuby < 9.4 is compatible with Ruby 2.6, but Rails 7 is compatible with Ruby 2.7+ - ruby-version: 'jruby' @@ -104,9 +108,9 @@ jobs: bundler-cache: true - name: Install libvips - env: - DEBIAN_FRONTEND: noninteractive - run: sudo apt-get install -qq --no-install-recommends libvips libvips-dev libvips-tools + run: | + sudo apt-get update -qq + sudo apt-get install --fix-missing -qq --no-install-recommends libvips libvips-dev libvips-tools - name: Run tests run: bundle exec rake test @@ -133,14 +137,14 @@ jobs: - name: Set up Ruby uses: ruby/setup-ruby@v1 with: - ruby-version: '3.2.0-preview3' + ruby-version: '3.2.0' bundler-cache: true - name: Install libvips if: matrix.screenshot-driver == 'vips' - env: - DEBIAN_FRONTEND: noninteractive - run: sudo apt-get install -qq --no-install-recommends libvips libvips-dev libvips-tools + run: | + sudo apt-get update -qq + sudo apt-get install --fix-missing -qq --no-install-recommends libvips libvips-dev libvips-tools - name: Run tests run: bundle exec rake test:integration diff --git a/Rakefile b/Rakefile index c18b95e9..374080c8 100644 --- a/Rakefile +++ b/Rakefile @@ -20,8 +20,28 @@ end Rake::TestTask.new("test:signatures") do |t| ENV["RBS_TEST_DOUBLE_SUITE"] ||= "minitest" ENV["RBS_TEST_TARGET"] ||= "Capybara::Screenshot::Diff::*" + ENV["RBS_TEST_OPT"] ||= "-rset -rpathname -Isig" t.libs << "test" t.ruby_opts << "-r rbs/test/setup" t.test_files = FileList["test/**/*_test.rb"] end + +task "clobber" do + puts "Cleanup tmp/*.png" + FileUtils.rm_rf(Dir["./tmp/*"]) +end + +task "test:benchmark" do + require_relative "./scripts/benchmark/find_region_benchmark" + benchmark = Capybara::Screenshot::Diff::Drivers::FindRegionBenchmark.new + + puts "For Medium Screen Size: 800x600" + benchmark.for_medium_size_screens + + puts "" + puts "*" * 100 + + puts "For Small Screen Size: 80x60" + benchmark.for_small_images +end diff --git a/capybara-screenshot-diff.gemspec b/capybara-screenshot-diff.gemspec index 5385e311..154bac0e 100644 --- a/capybara-screenshot-diff.gemspec +++ b/capybara-screenshot-diff.gemspec @@ -15,7 +15,10 @@ Gem::Specification.new do |spec| spec.required_ruby_version = defined?(JRUBY_VERSION) ? ">= 2.6.0" : ">= 2.7.0" spec.license = "MIT" spec.metadata["allowed_push_host"] = "https://rubygems.org/" - spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) } + spec.files = `git ls-files -z`.split("\x0").reject do |f| + f.match(%r{(^(\.|tmp|bin|test|spec|features|gemfiles|scripts)/)|(^(\.|Dockerfile|CONTRIBUTING|README))}) + end + spec.bindir = "exe" spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) } spec.require_paths = ["lib"] diff --git a/gems.rb b/gems.rb index bd91c3a7..3c10f3ab 100644 --- a/gems.rb +++ b/gems.rb @@ -26,4 +26,5 @@ group :tools do gem "standard", require: false + gem "rbs", require: false, platform: :ruby end diff --git a/lib/capybara/screenshot/diff/image_compare.rb b/lib/capybara/screenshot/diff/image_compare.rb index fbc0def7..fb1338d0 100644 --- a/lib/capybara/screenshot/diff/image_compare.rb +++ b/lib/capybara/screenshot/diff/image_compare.rb @@ -103,6 +103,8 @@ def different? end def clean_tmp_files + return if @old_file_name == @new_file_name + FileUtils.cp @old_file_name, @new_file_name if old_file_exists? File.delete(@old_file_name) if old_file_exists? File.delete(@annotated_old_file_name) if File.exist?(@annotated_old_file_name) diff --git a/scripts/benchmark/find_region_benchmark.rb b/scripts/benchmark/find_region_benchmark.rb new file mode 100644 index 00000000..dfd3ac30 --- /dev/null +++ b/scripts/benchmark/find_region_benchmark.rb @@ -0,0 +1,60 @@ +# frozen_string_literal: true + +require "benchmark" + +require "capybara/screenshot/diff" +require "capybara/screenshot/diff/drivers/vips_driver" +require "capybara/screenshot/diff/drivers/chunky_png_driver" + +module Capybara::Screenshot::Diff + class Drivers::FindRegionBenchmark + TEST_IMAGES_DIR = Pathname.new(File.expand_path("../../test/images", __dir__)) + APP_SCREENSHOTS_DIR = Pathname.new( + File.expand_path("../../test/fixtures/app/doc/screenshots/chrome/macos/", __dir__) + ) + + def for_medium_size_screens + image_path = (APP_SCREENSHOTS_DIR / "index.png").to_path + base_image_path = (APP_SCREENSHOTS_DIR / "index-blur_active_element-enabled.png").to_path + + Benchmark.bm(50) do |x| + experiment_for(x, :chunky_png, :different?, "same images", image_path, image_path) + experiment_for(x, :vips, :different?, "same images", image_path, image_path) + experiment_for(x, :chunky_png, :quick_equal?, "different images", image_path, base_image_path) + experiment_for(x, :vips, :quick_equal?, "different images", image_path, base_image_path) + end + end + + def for_small_images + image_path = (TEST_IMAGES_DIR / "a.png").to_path + base_image_path = (TEST_IMAGES_DIR / "b.png").to_path + + Benchmark.bm(50) do |x| + experiment_for(x, :chunky_png, :different?, "same images", image_path, image_path) + experiment_for(x, :vips, :different?, "same images", image_path, image_path) + experiment_for(x, :chunky_png, :quick_equal?, "different images", image_path, base_image_path) + experiment_for(x, :vips, :quick_equal?, "different images", image_path, base_image_path) + end + end + + private + + def experiment_for(x, driver, method, suffix, new_path, base_path) + x.report("[#{suffix}] #{driver}##{method}") do + 50.times do + ImageCompare.new(new_path, base_path, driver: driver).public_send(method) + + Vips.cache_set_max(0) + Vips.cache_set_max(1000) + end + end + end + + def build_driver_and_comparison(driver, base_screenshot_path, new_screenshot_path) + images = driver.new.load_images(new_screenshot_path, base_screenshot_path) + chunky_comparison = ImageCompare::Comparison.new(*images, {tolerance: 0.03}) + + [chunky_comparison, driver.new] + end + end +end diff --git a/test/capybara/screenshot/diff/drivers/vips_driver_test.rb b/test/capybara/screenshot/diff/drivers/vips_driver_test.rb index ab9bb222..ebf6fb09 100644 --- a/test/capybara/screenshot/diff/drivers/vips_driver_test.rb +++ b/test/capybara/screenshot/diff/drivers/vips_driver_test.rb @@ -23,7 +23,7 @@ class VipsDriverTest < ActionDispatch::IntegrationTest end Vips.cache_set_max(0) - Vips.vips_cache_set_max(1000) + Vips.cache_set_max(1000) end test "#different? for equal is negative" do diff --git a/test/system_test_case.rb b/test/system_test_case.rb index 1b2bcd5d..595b1655 100644 --- a/test/system_test_case.rb +++ b/test/system_test_case.rb @@ -52,7 +52,7 @@ class SystemTestCase < ActionDispatch::IntegrationTest if Capybara::Screenshot::Diff.driver == :vips Vips.cache_set_max(0) - Vips.vips_cache_set_max(1000) + Vips.cache_set_max(1000) end end From 95751e7db9879aff937606a01ea5a1a5561cabee Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Tue, 24 Jan 2023 11:39:20 +0100 Subject: [PATCH 173/312] Only show the retina resize warning once, but add the before and after widths --- lib/capybara/screenshot/diff/stabilization.rb | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/lib/capybara/screenshot/diff/stabilization.rb b/lib/capybara/screenshot/diff/stabilization.rb index 34af344f..c01f14d4 100644 --- a/lib/capybara/screenshot/diff/stabilization.rb +++ b/lib/capybara/screenshot/diff/stabilization.rb @@ -55,11 +55,11 @@ def take_stable_screenshot(comparison, stability_time_limit:, wait:, crop:) end end - def notice_how_to_avoid_this - unless defined?(@_csd_retina_warned) - warn "Halving retina screenshot. " \ + def notice_how_to_avoid_this(expected_image_width, actual_image_width) + unless defined?(@@_csd_retina_warned) + warn "Halving retina screenshot. (#{actual_image_width}px => #{expected_image_width}px) " \ 'You should add "force-device-scale-factor=1" to your Chrome chromeOptions args.' - @_csd_retina_warned = true + @@_csd_retina_warned = true end end @@ -84,11 +84,12 @@ def reduce_retina_image_size(file_name, driver) expected_image_width = Capybara::Screenshot.window_size[0] saved_image = driver.from_file(file_name) - return if driver.width_for(saved_image) < expected_image_width * 2 + actual_image_width = driver.width_for(saved_image) + return if actual_image_width < expected_image_width * 2 - notice_how_to_avoid_this + notice_how_to_avoid_this(expected_image_width, actual_image_width) - new_height = expected_image_width * driver.height_for(saved_image) / driver.width_for(saved_image) + new_height = expected_image_width * driver.height_for(saved_image) / actual_image_width resized_image = driver.resize_image_to(saved_image, expected_image_width, new_height) driver.save_image_to(resized_image, file_name) From 217c00d9271165cedc819409e7c76043e141deac Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Thu, 2 Feb 2023 21:29:10 +0100 Subject: [PATCH 174/312] Draw skip areas only on the actual area and after the difference rectangle to not obscure non-skipped pixels. (#64) Co-authored-by: Uwe Kubosch --- lib/capybara/screenshot/diff/drivers/chunky_png_driver.rb | 4 ++-- lib/capybara/screenshot/diff/drivers/vips_driver.rb | 4 ++-- lib/capybara/screenshot/diff/image_compare.rb | 8 ++++---- sig/lib/capybara/screenshot/diff/drivers/base_driver.rbs | 2 +- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/lib/capybara/screenshot/diff/drivers/chunky_png_driver.rb b/lib/capybara/screenshot/diff/drivers/chunky_png_driver.rb index b209a32b..4a9695f9 100644 --- a/lib/capybara/screenshot/diff/drivers/chunky_png_driver.rb +++ b/lib/capybara/screenshot/diff/drivers/chunky_png_driver.rb @@ -168,13 +168,13 @@ def load_image_files(old_file_name, file_name) [old_file, new_file] end - def draw_rectangles(images, region, (r, g, b)) + def draw_rectangles(images, region, (r, g, b), offset: 0) border_color = ChunkyPNG::Color.rgb(r, g, b) border_shadow = ChunkyPNG::Color.rgba(r, g, b, 100) images.map do |image| new_img = image.dup - new_img.rect(region.left - 1, region.top - 1, region.right + 1, region.bottom + 1, border_color) + new_img.rect(region.left - offset, region.top - offset, region.right + offset, region.bottom + offset, border_color) new_img.rect(region.left, region.top, region.right, region.bottom, border_shadow) new_img end diff --git a/lib/capybara/screenshot/diff/drivers/vips_driver.rb b/lib/capybara/screenshot/diff/drivers/vips_driver.rb index 3621f57e..44a9eba9 100644 --- a/lib/capybara/screenshot/diff/drivers/vips_driver.rb +++ b/lib/capybara/screenshot/diff/drivers/vips_driver.rb @@ -137,9 +137,9 @@ def dimension(image) [width_for(image), height_for(image)] end - def draw_rectangles(images, region, rgba) + def draw_rectangles(images, region, rgba, offset: 0) images.map do |image| - image.draw_rect(rgba, region.left - 1, region.top - 1, region.width + 2, region.height + 2) + image.draw_rect(rgba, region.left - offset, region.top - offset, region.width + (offset * 2), region.height + (offset * 2)) end end diff --git a/lib/capybara/screenshot/diff/image_compare.rb b/lib/capybara/screenshot/diff/image_compare.rb index fb1338d0..634393c2 100644 --- a/lib/capybara/screenshot/diff/image_compare.rb +++ b/lib/capybara/screenshot/diff/image_compare.rb @@ -231,16 +231,16 @@ def difference_region_empty?(new_image, region) end def annotate_and_save(images, region) - annotated_images = annotate_difference(images, region) - annotated_images = annotate_skip_areas(annotated_images, @skip_area) if @skip_area + images = annotate_skip_areas(images, @skip_area) if @skip_area + images = annotate_difference(images, region) - save(*annotated_images, @annotated_old_file_name, @annotated_new_file_name) + save(*images, @annotated_old_file_name, @annotated_new_file_name) end DIFF_COLOR = [255, 0, 0, 255].freeze def annotate_difference(images, region) - driver.draw_rectangles(images, region, DIFF_COLOR) + driver.draw_rectangles(images, region, DIFF_COLOR, offset: 1) end SKIP_COLOR = [255, 192, 0, 255].freeze diff --git a/sig/lib/capybara/screenshot/diff/drivers/base_driver.rbs b/sig/lib/capybara/screenshot/diff/drivers/base_driver.rbs index 95ab73b7..974e7bc2 100644 --- a/sig/lib/capybara/screenshot/diff/drivers/base_driver.rbs +++ b/sig/lib/capybara/screenshot/diff/drivers/base_driver.rbs @@ -72,7 +72,7 @@ module Capybara def dimension: (ImageEntity image) -> dimension_entity - def draw_rectangles: (images_entity[ImageEntity] images, Region region, color rgba) -> void + def draw_rectangles: (images_entity[ImageEntity] images, Region region, color rgba, Integer offset) -> void end end end From 66cab689e7402d19be3a20e5ab110dff3f0750c5 Mon Sep 17 00:00:00 2001 From: Paul Keen <125715+pftg@users.noreply.github.com> Date: Wed, 15 Feb 2023 18:00:29 +0100 Subject: [PATCH 175/312] Cleanup & Optimizations (#60) * Encapsulates comparision logic Cleanup screenshot paths generation Does not package development files Drops othere hidden files Optimizes stabilizations Adds tests for annotating stabilization attempts Allow to run all tests for manuall runs Extract final comparison from screenshoter Remove dependency on capybara included methods Remove from drivers deps on files Allow to reuse existed driver Cleanup runtime files after tests Adds new index with anim page Create correct PNG files Makes sure files are in the place Rename original to base Blur for each stability test File Naming: Use consistent name for base and require second arg to be passed Performance: Try to delay annotations Adds Screenshoter to encapsulate browser logic Move screenshoting logic to Screenshoter Encapsulates screenshoters into classes Extracts stable screenshoter into separate file Extracts screenshot matcher * Adds --- .gitignore | 6 +- bin/bundle | 13 +- bin/rake | 2 +- lib/capybara/screenshot/diff.rb | 23 +- .../screenshot/diff/browser_helpers.rb | 55 ++- lib/capybara/screenshot/diff/difference.rb | 63 +++ lib/capybara/screenshot/diff/drivers.rb | 16 + .../screenshot/diff/drivers/base_driver.rb | 42 ++ .../diff/drivers/chunky_png_driver.rb | 421 +++++++----------- .../screenshot/diff/drivers/vips_driver.rb | 107 ++--- lib/capybara/screenshot/diff/image_compare.rb | 267 +++++------ lib/capybara/screenshot/diff/os.rb | 2 +- .../screenshot/diff/screenshot_matcher.rb | 128 ++++++ lib/capybara/screenshot/diff/screenshoter.rb | 137 ++++++ lib/capybara/screenshot/diff/stabilization.rb | 187 -------- .../screenshot/diff/stable_screenshoter.rb | 106 +++++ lib/capybara/screenshot/diff/test_methods.rb | 125 ++---- lib/capybara/screenshot/diff/vcs.rb | 64 ++- scripts/benchmark/find_region_benchmark.rb | 7 - .../screenshot/diff}/diff.rbs | 14 +- sig/capybara/screenshot/diff/difference.rbs | 33 ++ .../screenshot/diff/drivers/base_driver.rbs | 35 +- .../diff/drivers/browser_helpers.rbs | 36 ++ .../diff/drivers/chunky_png_driver.rbs | 89 ++++ .../screenshot/diff/drivers/utils.rbs | 4 +- .../screenshot/diff/drivers/vips_driver.rbs | 4 +- .../screenshot/diff/image_compare.rbs | 63 ++- sig/{lib => }/capybara/screenshot/diff/os.rbs | 4 +- .../capybara/screenshot/diff/region.rbs | 4 +- .../screenshot/diff/screenshot_matcher.rbs | 60 +++ sig/capybara/screenshot/diff/screenshoter.rbs | 48 ++ .../screenshot/diff/stable_screenshoter.rbs | 29 ++ sig/capybara/screenshot/diff/test_methods.rbs | 39 ++ sig/capybara/screenshot/diff/vcs.rbs | 17 + .../screenshot/diff/browser_helpers.rbs | 40 -- .../diff/drivers/chunky_png_driver.rbs | 76 ---- .../screenshot/diff/stabilization.rbs | 37 -- .../capybara/screenshot/diff/test_methods.rbs | 57 --- sig/lib/capybara/screenshot/diff/vcs.rbs | 13 - .../diff/drivers/chunky_png_driver_test.rb | 71 ++- .../diff/drivers/vips_driver_test.rb | 53 ++- .../screenshot/diff/image_compare_test.rb | 25 +- test/capybara/screenshot/diff/region_test.rb | 110 ++--- .../screenshot/diff/stabilization_test.rb | 32 -- .../diff/stable_screenshoter_test.rb | 123 +++++ .../screenshot/diff/test_methods_test.rb | 70 ++- test/capybara/screenshot/diff/vcs_test.rb | 38 ++ test/capybara/screenshot/diff_test.rb | 22 +- .../index_with_skip_area_as_array_of_css.png | Bin 0 -> 27725 bytes ...x_with_skip_area_as_array_of_css_and_p.png | Bin 0 -> 27725 bytes .../firefox/macos/index-cropped.png | Bin 2645 -> 3838 bytes .../doc/screenshots/firefox/macos/index.png | Bin 31845 -> 31923 bytes test/fixtures/app/index-with-anim.html | 40 ++ test/integration/browser_screenshot_test.rb | 295 ++++++------ test/integration/record_screenshot_test.rb | 6 + test/integration/test_methods_system_test.rb | 4 +- test/support/screenshoter_stub.rb | 31 ++ test/support/stub_test_methods.rb | 38 ++ test/system_test_case.rb | 27 +- test/test_helper.rb | 46 +- 60 files changed, 2010 insertions(+), 1494 deletions(-) create mode 100644 lib/capybara/screenshot/diff/difference.rb create mode 100644 lib/capybara/screenshot/diff/drivers.rb create mode 100644 lib/capybara/screenshot/diff/drivers/base_driver.rb create mode 100644 lib/capybara/screenshot/diff/screenshot_matcher.rb create mode 100644 lib/capybara/screenshot/diff/screenshoter.rb create mode 100644 lib/capybara/screenshot/diff/stable_screenshoter.rb rename sig/{lib/capybara/screenshot => capybara/screenshot/diff}/diff.rbs (68%) create mode 100644 sig/capybara/screenshot/diff/difference.rbs rename sig/{lib => }/capybara/screenshot/diff/drivers/base_driver.rbs (69%) create mode 100644 sig/capybara/screenshot/diff/drivers/browser_helpers.rbs create mode 100644 sig/capybara/screenshot/diff/drivers/chunky_png_driver.rbs rename sig/{lib => }/capybara/screenshot/diff/drivers/utils.rbs (55%) rename sig/{lib => }/capybara/screenshot/diff/drivers/vips_driver.rbs (78%) rename sig/{lib => }/capybara/screenshot/diff/image_compare.rbs (53%) rename sig/{lib => }/capybara/screenshot/diff/os.rbs (65%) rename sig/{lib => }/capybara/screenshot/diff/region.rbs (91%) create mode 100644 sig/capybara/screenshot/diff/screenshot_matcher.rbs create mode 100644 sig/capybara/screenshot/diff/screenshoter.rbs create mode 100644 sig/capybara/screenshot/diff/stable_screenshoter.rbs create mode 100644 sig/capybara/screenshot/diff/test_methods.rbs create mode 100644 sig/capybara/screenshot/diff/vcs.rbs delete mode 100644 sig/lib/capybara/screenshot/diff/browser_helpers.rbs delete mode 100644 sig/lib/capybara/screenshot/diff/drivers/chunky_png_driver.rbs delete mode 100644 sig/lib/capybara/screenshot/diff/stabilization.rbs delete mode 100644 sig/lib/capybara/screenshot/diff/test_methods.rbs delete mode 100644 sig/lib/capybara/screenshot/diff/vcs.rbs delete mode 100644 test/capybara/screenshot/diff/stabilization_test.rb create mode 100644 test/capybara/screenshot/diff/stable_screenshoter_test.rb create mode 100644 test/capybara/screenshot/diff/vcs_test.rb create mode 100644 test/fixtures/app/doc/screenshots/chrome/macos/index_with_skip_area_as_array_of_css.png create mode 100644 test/fixtures/app/doc/screenshots/chrome/macos/index_with_skip_area_as_array_of_css_and_p.png create mode 100644 test/fixtures/app/index-with-anim.html create mode 100644 test/support/screenshoter_stub.rb create mode 100644 test/support/stub_test_methods.rb diff --git a/.gitignore b/.gitignore index e28d373a..28cf2aea 100644 --- a/.gitignore +++ b/.gitignore @@ -10,6 +10,8 @@ /pkg/ /spec/reports/ /tmp/ -/test/fixtures/**/*.committed.png -/test/fixtures/**/*.latest.png /vendor/sigs/ + +*.attempt_*.png +*.diff.png +*.base.png diff --git a/bin/bundle b/bin/bundle index b5994af9..be29f10b 100755 --- a/bin/bundle +++ b/bin/bundle @@ -62,8 +62,9 @@ m = Module.new do def bundler_requirement @bundler_requirement ||= - env_var_version || cli_arg_version || - bundler_requirement_for(lockfile_version) + env_var_version || + cli_arg_version || + bundler_requirement_for(lockfile_version) end def bundler_requirement_for(version) @@ -71,13 +72,7 @@ m = Module.new do bundler_gem_version = Gem::Version.new(version) - requirement = bundler_gem_version.approximate_recommendation - - return requirement unless Gem.rubygems_version < Gem::Version.new("2.7.0") - - requirement += ".a" if bundler_gem_version.prerelease? - - requirement + bundler_gem_version.approximate_recommendation end def load_bundler! diff --git a/bin/rake b/bin/rake index d94dbb44..0cd6e0d1 100755 --- a/bin/rake +++ b/bin/rake @@ -13,7 +13,7 @@ ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../gems.rb", __dir__) bundle_binstub = File.expand_path("bundle", __dir__) if File.file?(bundle_binstub) - if File.read(bundle_binstub, 300) =~ /This file was generated by Bundler/ + if File.read(bundle_binstub, 300).include?("This file was generated by Bundler") load(bundle_binstub) else abort("Your `bin/bundle` was not generated by Bundler, so this binstub cannot run. diff --git a/lib/capybara/screenshot/diff.rb b/lib/capybara/screenshot/diff.rb index 2ad084f6..7c149071 100644 --- a/lib/capybara/screenshot/diff.rb +++ b/lib/capybara/screenshot/diff.rb @@ -5,10 +5,10 @@ require "capybara/screenshot/diff/drivers/utils" require "capybara/screenshot/diff/image_compare" require "capybara/screenshot/diff/test_methods" +require "capybara/screenshot/diff/screenshoter" module Capybara module Screenshot - extend Os mattr_accessor :add_driver_path mattr_accessor :add_os_path mattr_accessor :blur_active_element @@ -30,9 +30,9 @@ def active? end def screenshot_area - parts = [Capybara::Screenshot.save_path] - parts << Capybara.current_driver.to_s if Capybara::Screenshot.add_driver_path - parts << os_name if Capybara::Screenshot.add_os_path + parts = [Screenshot.save_path] + parts << Capybara.current_driver.to_s if Screenshot.add_driver_path + parts << Os.name if Screenshot.add_os_path File.join(*parts) end @@ -44,7 +44,6 @@ def screenshot_area_abs # Module to track screen shot changes module Diff include Capybara::DSL - include Capybara::Screenshot::Os mattr_accessor :area_size_limit mattr_accessor :color_distance_limit @@ -54,6 +53,8 @@ module Diff mattr_accessor(:driver) { :auto } mattr_accessor :tolerance + mattr_accessor(:screenshoter) { Screenshoter } + AVAILABLE_DRIVERS = Utils.detect_available_drivers.freeze ASSERTION = Utils.detect_test_framework_assert @@ -73,19 +74,13 @@ def self.default_options def self.included(klass) klass.include TestMethods klass.setup do - if Capybara::Screenshot.window_size - if page.driver.respond_to?(:resize) - page.driver.resize(*Capybara::Screenshot.window_size) - elsif selenium? - page.driver.browser.manage.window.resize_to(*Capybara::Screenshot.window_size) - end - end + BrowserHelpers.resize_to(Screenshot.window_size) if Screenshot.window_size end klass.teardown do - if Capybara::Screenshot.active? && @test_screenshots + if Screenshot.active? && @test_screenshots.present? track_failures(@test_screenshots, caller) - @test_screenshots = nil + @test_screenshots.clear end end end diff --git a/lib/capybara/screenshot/diff/browser_helpers.rb b/lib/capybara/screenshot/diff/browser_helpers.rb index 9e5ed869..b1cca8b3 100644 --- a/lib/capybara/screenshot/diff/browser_helpers.rb +++ b/lib/capybara/screenshot/diff/browser_helpers.rb @@ -5,21 +5,24 @@ module Capybara module Screenshot module BrowserHelpers - def selenium? - current_capybara_driver_class <= Capybara::Selenium::Driver + def self.resize_to(window_size) + if session.driver.respond_to?(:resize) + session.driver.resize(*window_size) + elsif BrowserHelpers.selenium? + session.driver.browser.manage.window.resize_to(*window_size) + end end - def window_size_is_wrong? - selenium? && - Screenshot.window_size && - page.driver.browser.manage.window.size != ::Selenium::WebDriver::Dimension.new(*Screenshot.window_size) + def self.selenium? + current_capybara_driver_class <= Capybara::Selenium::Driver end - def rect_for(css_selector) - all_visible_regions_for(css_selector).first + def self.window_size_is_wrong?(expected_window_size = nil) + selenium? && expected_window_size && + session.driver.browser.manage.window.size != ::Selenium::WebDriver::Dimension.new(*expected_window_size) end - def bounds_for_css(*css_selectors) + def self.bounds_for_css(*css_selectors) css_selectors.reduce([]) do |regions, selector| regions.concat(all_visible_regions_for(selector)) end @@ -34,7 +37,7 @@ def bounds_for_css(*css_selectors) } } return false; - }() + }(window) JS HIDE_CARET_SCRIPT = <<~JS @@ -47,8 +50,8 @@ def bounds_for_css(*css_selectors) } JS - def hide_caret - execute_script(HIDE_CARET_SCRIPT) + def self.hide_caret + session.execute_script(HIDE_CARET_SCRIPT) end FIND_ACTIVE_ELEMENT_SCRIPT = <<~JS @@ -59,11 +62,11 @@ def hide_caret return ae; } return null; - }(); + }(window); JS - def blur_from_focused_element - page.evaluate_script(FIND_ACTIVE_ELEMENT_SCRIPT) + def self.blur_from_focused_element + session.evaluate_script(FIND_ACTIVE_ELEMENT_SCRIPT) end GET_BOUNDING_CLIENT_RECT_SCRIPT = <<~JS @@ -75,28 +78,24 @@ def blur_from_focused_element ] JS - def all_visible_regions_for(selector) - all(selector, visible: true).map(&method(:region_for)) + def self.all_visible_regions_for(selector) + BrowserHelpers.session.all(selector, visible: true).map(&method(:region_for)) end - def region_for(element) + def self.region_for(element) element.evaluate_script(GET_BOUNDING_CLIENT_RECT_SCRIPT).map { |point| point.negative? ? 0 : point.to_i } end - private - - def create_output_directory_for(file_name) - FileUtils.mkdir_p File.dirname(file_name) + def self.session + Capybara.current_session end - private - - def pending_image_to_load - evaluate_script IMAGE_WAIT_SCRIPT + def self.pending_image_to_load + BrowserHelpers.session.evaluate_script(IMAGE_WAIT_SCRIPT) end - def current_capybara_driver_class - Capybara.current_session.driver.class + def self.current_capybara_driver_class + session.driver.class end end end diff --git a/lib/capybara/screenshot/diff/difference.rb b/lib/capybara/screenshot/diff/difference.rb new file mode 100644 index 00000000..4d2a2cfa --- /dev/null +++ b/lib/capybara/screenshot/diff/difference.rb @@ -0,0 +1,63 @@ +# frozen_string_literal: true + +require "json" + +module Capybara + module Screenshot + module Diff + class Difference < Struct.new(:region, :meta, :comparison) + def different? + !(blank? || tolerable?) + end + + def base_image + comparison.base_image + end + + def options + comparison.options + end + + def tolerance + options[:tolerance] + end + + def skip_area + options[:skip_area] + end + + def area_size_limit + options[:area_size_limit] + end + + def blank? + region.nil? || region_area_size.zero? + end + + def region_area_size + region&.size || 0 + end + + def ratio + meta[:difference_level] + end + + def to_h + {area_size: region_area_size, region: coordinates}.merge!(meta) + end + + def coordinates + region&.to_edge_coordinates + end + + def inspect + to_h.to_json + end + + def tolerable? + !!((area_size_limit && area_size_limit >= region_area_size) || (tolerance && tolerance >= ratio)) + end + end + end + end +end diff --git a/lib/capybara/screenshot/diff/drivers.rb b/lib/capybara/screenshot/diff/drivers.rb new file mode 100644 index 00000000..4fedb3e1 --- /dev/null +++ b/lib/capybara/screenshot/diff/drivers.rb @@ -0,0 +1,16 @@ +# frozen_string_literal: true + +module Capybara + module Screenshot + module Diff + module Drivers + def self.for(driver_options = {}) + driver_option = driver_options.fetch(:driver, :chunky_png) + return driver_option unless driver_option.is_a?(Symbol) + + Utils.find_driver_class_for(driver_option).new + end + end + end + end +end diff --git a/lib/capybara/screenshot/diff/drivers/base_driver.rb b/lib/capybara/screenshot/diff/drivers/base_driver.rb new file mode 100644 index 00000000..80015793 --- /dev/null +++ b/lib/capybara/screenshot/diff/drivers/base_driver.rb @@ -0,0 +1,42 @@ +# frozen_string_literal: true + +require "chunky_png" +require "capybara/screenshot/diff/difference" + +module Capybara + module Screenshot + module Diff + # Compare two images and determine if they are equal, different, or within some comparison + # range considering color values and difference area size. + module Drivers + class BaseDriver + PNG_EXTENSION = ".png" + + def same_dimension?(comparison) + dimension(comparison.base_image) == dimension(comparison.new_image) + end + + def height_for(image) + image.height + end + + def width_for(image) + image.width + end + + def image_area_size(image) + width_for(image) * height_for(image) + end + + def dimension(image) + [width_for(image), height_for(image)] + end + + def inscribed?(dimensions, i) + width_for(i) < dimensions[0] || height_for(i) < dimensions[1] + end + end + end + end + end +end diff --git a/lib/capybara/screenshot/diff/drivers/chunky_png_driver.rb b/lib/capybara/screenshot/diff/drivers/chunky_png_driver.rb index 4a9695f9..f96f8d6f 100644 --- a/lib/capybara/screenshot/diff/drivers/chunky_png_driver.rb +++ b/lib/capybara/screenshot/diff/drivers/chunky_png_driver.rb @@ -2,36 +2,17 @@ require "chunky_png" +require "capybara/screenshot/diff/drivers/base_driver" + module Capybara module Screenshot module Diff # Compare two images and determine if they are equal, different, or within some comparison # range considering color values and difference area size. module Drivers - class ChunkyPNGDriver + class ChunkyPNGDriver < BaseDriver include ChunkyPNG::Color - attr_reader :new_file_name, :old_file_name - attr_accessor :skip_area, :color_distance_limit, :shift_distance_limit - - def initialize(new_file_name, old_file_name, options = {}) - @new_file_name = new_file_name - @old_file_name = old_file_name - - @color_distance_limit = options[:color_distance_limit] - @shift_distance_limit = options[:shift_distance_limit] - @skip_area = options[:skip_area] - - reset - end - - # Resets the calculated data about the comparison with regard to the "new_image". - # Data about the original image is kept. - def reset - @max_color_distance = @color_distance_limit ? 0 : nil - @max_shift_distance = @shift_distance_limit ? 0 : nil - end - def load_images(old_file_name, new_file_name) old_bytes, new_bytes = load_image_files(old_file_name, new_file_name) @@ -46,65 +27,12 @@ def add_black_box(image, _region) image end - def difference_level(_diff_mask, old_img, region) - region.size.to_f / image_area_size(old_img) - end - - def image_area_size(old_img) - width_for(old_img) * height_for(old_img) + def difference_level(_diff_mask, base_image, region) + region.size.to_f / image_area_size(base_image) end - def shift_distance_equal? - # Stub - false - end - - def shift_distance_different? - # Stub - true - end - - def find_difference_region(new_image, old_image, color_distance_limit, shift_distance_limit, area_size_limit, fast_fail: false) - return nil, nil if new_image.pixels == old_image.pixels - - if fast_fail && !(color_distance_limit || shift_distance_limit || area_size_limit) - return build_region_for_whole_image(new_image), nil - end - - region = find_top(old_image, new_image) - region = if region.nil? || region[1].nil? - nil - else - find_diff_rectangle(old_image, new_image, region) - end - - [region, nil] - end - - def height_for(image) - image.height - end - - def width_for(image) - image.width - end - - def max_color_distance - calculate_metrics unless @max_color_distance - @max_color_distance - end - - def max_shift_distance - calculate_metrics unless @max_shift_distance || !@shift_distance_limit - @max_shift_distance - end - - def adds_error_details_to(log) - max_color_distance = self.max_color_distance.ceil(1) - max_shift_distance = self.max_shift_distance - - log[:max_color_distance] = max_color_distance - log.merge!(max_shift_distance: max_shift_distance) if max_shift_distance + def find_difference_region(comparison) + DifferenceRegionFinder.new(comparison).perform end def crop(region, i) @@ -112,46 +40,7 @@ def crop(region, i) end def from_file(filename) - ChunkyPNG::Image.from_file(filename) - end - - # private - - def calculate_metrics - old_file, new_file = load_image_files(@old_file_name, @new_file_name) - - if old_file == new_file - @max_color_distance = 0 - @max_shift_distance = 0 - return - end - - old_image, new_image = _load_images(old_file, new_file) - calculate_max_color_distance(new_image, old_image) - calculate_max_shift_limit(new_image, old_image) if @shift_distance_limit - end - - def calculate_max_color_distance(new_image, old_image) - pixel_pairs = old_image.pixels.zip(new_image.pixels) - @max_color_distance = pixel_pairs.inject(0) { |max, (p1, p2)| - next max unless p1 && p2 - - d = ChunkyPNG::Color.euclidean_distance_rgba(p1, p2) - [max, d].max - } - end - - def calculate_max_shift_limit(new_img, old_img) - (0...new_img.width).each do |x| - (0...new_img.height).each do |y| - shift_distance = - shift_distance_at(new_img, old_img, x, y, color_distance_limit: @color_distance_limit) - if shift_distance && (@max_shift_distance.nil? || shift_distance > @max_shift_distance) - @max_shift_distance = shift_distance - return if @max_shift_distance == Float::INFINITY # rubocop: disable Lint/NonLocalExitFromIterator - end - end - end + ChunkyPNG::Image.from_file(filename.to_s) end def save_image_to(image, filename) @@ -163,9 +52,7 @@ def resize_image_to(image, new_width, new_height) end def load_image_files(old_file_name, file_name) - old_file = File.binread(old_file_name) - new_file = File.binread(file_name) - [old_file, new_file] + [File.binread(old_file_name), File.binread(file_name)] end def draw_rectangles(images, region, (r, g, b), offset: 0) @@ -180,186 +67,224 @@ def draw_rectangles(images, region, (r, g, b), offset: 0) end end - def dimension(image) - [width_for(image), height_for(image)] + def same_pixels?(comparison) + comparison.new_image == comparison.base_image end private - def build_region_for_whole_image(new_image) - Region.from_edge_coordinates(0, 0, width_for(new_image), height_for(new_image)) + def _load_images(old_file, new_file) + [ChunkyPNG::Image.from_blob(old_file), ChunkyPNG::Image.from_blob(new_file)] end - def find_diff_rectangle(org_img, new_img, area_coordinates) - left, top, right, bottom = find_left_right_and_top(org_img, new_img, area_coordinates) - bottom = find_bottom(org_img, new_img, left, right, bottom) + class DifferenceRegionFinder + attr_accessor :skip_area, :color_distance_limit, :shift_distance_limit - Region.from_edge_coordinates(left, top, right, bottom) - end - - def find_top(old_img, new_img) - old_img.height.times do |y| - old_img.width.times do |x| - return [x, y, x, y] unless same_color?(old_img, new_img, x, y) - end + def initialize(comparison) + @comparison = comparison + @color_distance_limit = comparison.options[:color_distance_limit] + @shift_distance_limit = comparison.options[:shift_distance_limit] + @skip_area = comparison.options[:skip_area] end - nil - end - def find_left_right_and_top(old_img, new_img, region) - region = region.is_a?(Region) ? region.to_edge_coordinates : region + def perform + find_difference_region(@comparison) + end - left = region[0] || old_img.width - 1 - top = region[1] - right = region[2] || 0 - bottom = region[3] + def find_difference_region(comparison) + new_image, base_image, = comparison.new_image, comparison.base_image - old_img.height.times do |y| - (0...left).find do |x| - next if same_color?(old_img, new_img, x, y) + meta = {} + meta[:max_color_distance] = 0 + meta[:max_shift_distance] = 0 if shift_distance_limit - top ||= y - bottom = y - left = x - right = x if x > right - x + region = find_top(base_image, new_image, cache: meta) + region = if region.nil? || region[1].nil? + nil + else + find_diff_rectangle(base_image, new_image, region, cache: meta) end - (old_img.width - 1).step(right + 1, -1).find do |x| - unless same_color?(old_img, new_img, x, y) - bottom = y - right = x + + result = Difference.new(region, meta, comparison) + + unless result.blank? + meta[:max_color_distance] = meta[:max_color_distance].ceil(1) if meta[:max_color_distance] + + if comparison.options[:tolerance] + meta[:difference_level] = difference_level(nil, base_image, region) end end + + result end - [left, top, right, bottom] - end + def find_diff_rectangle(org_img, new_img, area_coordinates, cache:) + left, top, right, bottom = find_left_right_and_top(org_img, new_img, area_coordinates, cache: cache) + bottom = find_bottom(org_img, new_img, left, right, bottom, cache: cache) - def find_bottom(old_img, new_img, left, right, bottom) - if bottom - (old_img.height - 1).step(bottom + 1, -1).find do |y| - (left..right).find do |x| - bottom = y unless same_color?(old_img, new_img, x, y) + Region.from_edge_coordinates(left, top, right, bottom) + end + + def find_top(old_img, new_img, cache:) + old_img.height.times do |y| + old_img.width.times do |x| + return [x, y, x, y] unless same_color?(old_img, new_img, x, y, cache: cache) end end + nil end - bottom - end + def find_left_right_and_top(old_img, new_img, region, cache:) + region = region.is_a?(Region) ? region.to_edge_coordinates : region - def same_color?(old_img, new_img, x, y) - return true if skipped_region?(x, y) + left = region[0] || old_img.width - 1 + top = region[1] + right = region[2] || 0 + bottom = region[3] - color_distance = - color_distance_at(new_img, old_img, x, y, shift_distance_limit: @shift_distance_limit) + old_img.height.times do |y| + (0...left).find do |x| + next if same_color?(old_img, new_img, x, y, cache: cache) - if !@max_color_distance || color_distance > @max_color_distance - @max_color_distance = color_distance - end + top ||= y + bottom = y + left = x + right = x if x > right + x + end + (old_img.width - 1).step(right + 1, -1).find do |x| + unless same_color?(old_img, new_img, x, y, cache: cache) + bottom = y + right = x + end + end + end - color_matches = color_distance == 0 || - (!!@color_distance_limit && @color_distance_limit > 0 && color_distance <= @color_distance_limit) + [left, top, right, bottom] + end - return color_matches if !@shift_distance_limit || @max_shift_distance == Float::INFINITY + def find_bottom(old_img, new_img, left, right, bottom, cache:) + if bottom + (old_img.height - 1).step(bottom + 1, -1).find do |y| + (left..right).find do |x| + bottom = y unless same_color?(old_img, new_img, x, y, cache: cache) + end + end + end - shift_distance = (color_matches && 0) || - shift_distance_at(new_img, old_img, x, y, color_distance_limit: @color_distance_limit) - if shift_distance && (@max_shift_distance.nil? || shift_distance > @max_shift_distance) - @max_shift_distance = shift_distance + bottom end - color_matches - end + def same_color?(old_img, new_img, x, y, cache:) + return true if skipped_region?(x, y) - def skipped_region?(x, y) - return false unless @skip_area + color_distance = + color_distance_at(new_img, old_img, x, y, shift_distance_limit: @shift_distance_limit) - @skip_area.any? { |region| region.cover?(x, y) } - end + if color_distance > cache[:max_color_distance] + cache[:max_color_distance] = color_distance + end - def color_distance_at(new_img, old_img, x, y, shift_distance_limit:) - org_color = old_img[x, y] - if shift_distance_limit - start_x = [0, x - shift_distance_limit].max - end_x = [x + shift_distance_limit, new_img.width - 1].min - xs = (start_x..end_x).to_a - start_y = [0, y - shift_distance_limit].max - end_y = [y + shift_distance_limit, new_img.height - 1].min - ys = (start_y..end_y).to_a - new_pixels = xs.product(ys) - - distances = new_pixels.map do |dx, dy| - ChunkyPNG::Color.euclidean_distance_rgba(org_color, new_img[dx, dy]) + color_matches = color_distance == 0 || + (!!@color_distance_limit && @color_distance_limit > 0 && color_distance <= @color_distance_limit) + + return color_matches if !@shift_distance_limit || cache[:max_shift_distance] == Float::INFINITY + + shift_distance = (color_matches && 0) || + shift_distance_at(new_img, old_img, x, y, color_distance_limit: @color_distance_limit) + if shift_distance && (cache[:max_shift_distance].nil? || shift_distance > cache[:max_shift_distance]) + cache[:max_shift_distance] = shift_distance end - distances.min - else - ChunkyPNG::Color.euclidean_distance_rgba(org_color, new_img[x, y]) + + color_matches end - end - def shift_distance_at(new_img, old_img, x, y, color_distance_limit:) - org_color = old_img[x, y] - shift_distance = 0 - loop do - bounds_breached = 0 - top_row = y - shift_distance - if top_row >= 0 # top - ([0, x - shift_distance].max..[x + shift_distance, new_img.width - 1].min).each do |dx| - if color_matches(new_img, org_color, dx, top_row, color_distance_limit) - return shift_distance - end + def skipped_region?(x, y) + return false unless @skip_area + + @skip_area.any? { |region| region.cover?(x, y) } + end + + def color_distance_at(new_img, old_img, x, y, shift_distance_limit:) + org_color = old_img[x, y] + if shift_distance_limit + start_x = [0, x - shift_distance_limit].max + end_x = [x + shift_distance_limit, new_img.width - 1].min + xs = (start_x..end_x).to_a + start_y = [0, y - shift_distance_limit].max + end_y = [y + shift_distance_limit, new_img.height - 1].min + ys = (start_y..end_y).to_a + new_pixels = xs.product(ys) + + distances = new_pixels.map do |dx, dy| + ChunkyPNG::Color.euclidean_distance_rgba(org_color, new_img[dx, dy]) end + distances.min else - bounds_breached += 1 + ChunkyPNG::Color.euclidean_distance_rgba(org_color, new_img[x, y]) end - if shift_distance > 0 - if (x - shift_distance) >= 0 # left - ([0, top_row + 1].max..[y + shift_distance, new_img.height - 2].min) - .each do |dy| - if color_matches(new_img, org_color, x - shift_distance, dy, color_distance_limit) + end + + def shift_distance_at(new_img, old_img, x, y, color_distance_limit:) + org_color = old_img[x, y] + shift_distance = 0 + loop do + bounds_breached = 0 + top_row = y - shift_distance + if top_row >= 0 # top + ([0, x - shift_distance].max..[x + shift_distance, new_img.width - 1].min).each do |dx| + if color_matches(new_img, org_color, dx, top_row, color_distance_limit) return shift_distance end end else bounds_breached += 1 end - if (y + shift_distance) < new_img.height # bottom - ([0, x - shift_distance].max..[x + shift_distance, new_img.width - 1].min).each do |dx| - if color_matches(new_img, org_color, dx, y + shift_distance, color_distance_limit) - return shift_distance + if shift_distance > 0 + if (x - shift_distance) >= 0 # left + ([0, top_row + 1].max..[y + shift_distance, new_img.height - 2].min) + .each do |dy| + if color_matches(new_img, org_color, x - shift_distance, dy, color_distance_limit) + return shift_distance + end end + else + bounds_breached += 1 end - else - bounds_breached += 1 - end - if (x + shift_distance) < new_img.width # right - ([0, top_row + 1].max..[y + shift_distance, new_img.height - 2].min) - .each do |dy| - if color_matches(new_img, org_color, x + shift_distance, dy, color_distance_limit) - return shift_distance + if (y + shift_distance) < new_img.height # bottom + ([0, x - shift_distance].max..[x + shift_distance, new_img.width - 1].min).each do |dx| + if color_matches(new_img, org_color, dx, y + shift_distance, color_distance_limit) + return shift_distance + end end + else + bounds_breached += 1 + end + if (x + shift_distance) < new_img.width # right + ([0, top_row + 1].max..[y + shift_distance, new_img.height - 2].min) + .each do |dy| + if color_matches(new_img, org_color, x + shift_distance, dy, color_distance_limit) + return shift_distance + end + end + else + bounds_breached += 1 end - else - bounds_breached += 1 end - end - break if bounds_breached == 4 + break if bounds_breached == 4 - shift_distance += 1 + shift_distance += 1 + end + Float::INFINITY end - Float::INFINITY - end - - def color_matches(new_img, org_color, x, y, color_distance_limit) - new_color = new_img[x, y] - return new_color == org_color unless color_distance_limit - color_distance = ChunkyPNG::Color.euclidean_distance_rgba(org_color, new_color) - color_distance <= color_distance_limit - end + def color_matches(new_img, org_color, x, y, color_distance_limit) + new_color = new_img[x, y] + return new_color == org_color unless color_distance_limit - def _load_images(old_file, new_file) - [ChunkyPNG::Image.from_blob(old_file), ChunkyPNG::Image.from_blob(new_file)] + color_distance = ChunkyPNG::Color.euclidean_distance_rgba(org_color, new_color) + color_distance <= color_distance_limit + end end end end diff --git a/lib/capybara/screenshot/diff/drivers/vips_driver.rb b/lib/capybara/screenshot/diff/drivers/vips_driver.rb index 44a9eba9..b6cf2daa 100644 --- a/lib/capybara/screenshot/diff/drivers/vips_driver.rb +++ b/lib/capybara/screenshot/diff/drivers/vips_driver.rb @@ -7,7 +7,7 @@ raise end -require_relative "./chunky_png_driver" +require "capybara/screenshot/diff/drivers/base_driver" module Capybara module Screenshot @@ -15,65 +15,27 @@ module Diff # Compare two images and determine if they are equal, different, or within some comparison # range considering color values and difference area size. module Drivers - class VipsDriver - attr_reader :new_file_name, :old_file_name + class VipsDriver < BaseDriver + def find_difference_region(comparison) + new_image, base_image, options = comparison.new_image, comparison.base_image, comparison.options - def initialize(new_file_name, old_file_name, _options = nil) - @new_file_name = new_file_name - @old_file_name = old_file_name - - reset - end - - def skip_area=(_new_skip_area) - # noop - end - - # Resets the calculated data about the comparison with regard to the "new_image". - # Data about the original image is kept. - def reset - end - - def shift_distance_equal? - warn "[capybara-screenshot-diff] Instead of shift_distance_limit " \ - "please use median_filter_window_size and color_distance_limit options" \ - "or set explicit chunky_png driver" - raise NotImplementedError - end - - def shift_distance_different? - warn "[capybara-screenshot-diff] Instead of shift_distance_limit " \ - "please use median_filter_window_size and color_distance_limit options" \ - "or set explicit chunky_png driver" - raise NotImplementedError - end - - def find_difference_region(new_image, old_image, color_distance_limit, _shift_distance_limit, _area_size_limit, fast_fail: false) - diff_mask = VipsUtil.difference_mask(color_distance_limit, old_image, new_image) + diff_mask = VipsUtil.difference_mask(base_image, new_image, options[:color_distance_limit]) region = VipsUtil.difference_region_by(diff_mask) + region = nil if region && same_as?(region, base_image) - [region, diff_mask] - end - - def adds_error_details_to(_log) - end + result = Difference.new(region, {}, comparison) - # old private + unless result.blank? + meta = {} + meta[:difference_level] = difference_level(diff_mask, base_image) if comparison.options[:tolerance] + result.meta = meta + end - def inscribed?(dimensions, i) - dimension(i) == dimensions || i.width < dimensions[0] || i.height < dimensions[1] + result end def crop(region, i) - result = i.crop(*region.to_top_left_corner_coordinates) - - # FIXME: Vips is caching operations, and if we ware going to read the same file, he will use cached version for this - # so after we cropped files and stored in the same file, the next load will recover old version instead of cropped - # Workaround to make vips works with cropped versions - Vips.cache_set_max(0) - Vips.cache_set_max(1000) - - result + i.crop(*region.to_top_left_corner_coordinates) rescue Vips::Error => e warn( "[capybara-screenshot-diff] Crop has been failed for " \ @@ -90,27 +52,13 @@ def add_black_box(memo, region) memo.draw_rect([0, 0, 0, 0], *region.to_top_left_corner_coordinates, fill: true) end - def difference_level(diff_mask, old_img, _region) + def difference_level(diff_mask, old_img, _region = nil) VipsUtil.difference_area_size_by(diff_mask).to_f / image_area_size(old_img) end - def image_area_size(old_img) - width_for(old_img) * height_for(old_img) - end - - def height_for(image) - image.height - end - - def width_for(image) - image.width - end - - PNG_EXTENSION = ".png" - # Vips could not work with the same file. Per each process we require to create new file def save_image_to(image, filename) - ::Dir::Tmpname.create([filename, PNG_EXTENSION]) do |tmp_image_filename| + ::Dir::Tmpname.create([filename.to_s, PNG_EXTENSION]) do |tmp_image_filename| image.write_to_file(tmp_image_filename) FileUtils.mv(tmp_image_filename, filename) end @@ -125,7 +73,7 @@ def load_images(old_file_name, new_file_name) end def from_file(filename) - result = ::Vips::Image.new_from_file(filename) + result = ::Vips::Image.new_from_file(filename.to_s) result = result.colourspace(:srgb) if result.bands < 3 result = result.bandjoin(255) if result.bands == 3 @@ -143,9 +91,22 @@ def draw_rectangles(images, region, rgba, offset: 0) end end + def same_pixels?(comparison) + (comparison.new_image == comparison.base_image).min == 255 + end + + private + + def same_as?(region, base_image) + region.x.zero? && + region.y.zero? && + region.height == height_for(base_image) && + region.width == width_for(base_image) + end + class VipsUtil def self.difference_area(old_image, new_image, color_distance: 0) - difference_mask = difference_mask(color_distance, new_image, old_image) + difference_mask = difference_mask(new_image, old_image, color_distance) difference_area_size_by(difference_mask) end @@ -154,8 +115,10 @@ def self.difference_area_size_by(difference_mask) diff_mask.hist_find.to_a[0][0].max end - def self.difference_mask(color_distance, old_image, new_image) - (new_image - old_image).abs > color_distance + def self.difference_mask(base_image, new_image, color_distance = nil) + result = (new_image - base_image).abs + + color_distance ? result > color_distance : result end def self.difference_region_by(diff_mask) diff --git a/lib/capybara/screenshot/diff/image_compare.rb b/lib/capybara/screenshot/diff/image_compare.rb index 634393c2..d7bcc314 100644 --- a/lib/capybara/screenshot/diff/image_compare.rb +++ b/lib/capybara/screenshot/diff/image_compare.rb @@ -5,210 +5,185 @@ module Screenshot module Diff LOADED_DRIVERS = {} - # Compare two images and determine if they are equal, different, or within some comparison + # Compare two image and determine if they are equal, different, or within some comparison # range considering color values and difference area size. class ImageCompare - TMP_FILE_SUFFIX = "~" + TOLERABLE_OPTIONS = [:tolerance, :color_distance_limit, :shift_distance_limit, :area_size_limit].freeze attr_reader :driver, :driver_options - attr_reader :annotated_new_file_name, :annotated_old_file_name, :new_file_name, :old_file_name, :skip_area - attr_accessor :shift_distance_limit, :area_size_limit, :color_distance_limit + attr_reader :annotated_image_path, :annotated_base_image_path, + :image_path, :base_image_path, + :new_file_name, :old_file_name - def initialize(new_file_name, old_file_name = nil, options = {}) - @new_file_name = new_file_name - @old_file_name = old_file_name || "#{new_file_name}#{ImageCompare::TMP_FILE_SUFFIX}" - @annotated_old_file_name = "#{new_file_name.chomp(".png")}.committed.png" - @annotated_new_file_name = "#{new_file_name.chomp(".png")}.latest.png" + def initialize(image_path, base_image_path, options = {}) + @image_path = Pathname.new(image_path) - @driver_options = options.dup + @new_file_name = @image_path.to_s + @annotated_image_path = @image_path.sub_ext(".diff.png") - assign_attributes_with(@driver_options) + @base_image_path = Pathname.new(base_image_path) - driver_klass = Utils.find_driver_class_for(@driver_options.fetch(:driver, :chunky_png)) - @driver = driver_klass.new(@new_file_name, @old_file_name, **@driver_options) - end + @old_file_name = @base_image_path.to_s + @annotated_base_image_path = @base_image_path.sub_ext(".diff.png") - def skip_area=(new_skip_area) - @skip_area = new_skip_area - driver.skip_area = @skip_area + @driver_options = options.dup + + @driver = Drivers.for(@driver_options) end # Compare the two image files and return `true` or `false` as quickly as possible. # Return falsely if the old file does not exist or the image dimensions do not match. def quick_equal? - return false unless old_file_exists? + @error_message = nil + return false unless image_files_exist? + # TODO: Confirm this change. There are screenshots with the same size, but there is a big difference return true if new_file_size == old_file_size - images = driver.load_images(@old_file_name, @new_file_name) - old_image, new_image = preprocess_images(images) + comparison = load_and_process_images - if dimension_changed?(new_image, old_image) - notice_dimensions_have_been_changed(new_image, old_image) + unless driver.same_dimension?(comparison) + @error_message = build_error_for_different_dimensions(comparison) return false end - self.difference_region, meta = driver.find_difference_region( - new_image, - old_image, - @color_distance_limit, - @shift_distance_limit, - @area_size_limit, - fast_fail: true - ) - - return true if difference_region_area_size.zero? || difference_region_empty?(new_image, difference_region) - return true if @area_size_limit && difference_region_area_size <= @area_size_limit - return true if @tolerance && @tolerance >= driver.difference_level(meta, old_image, difference_region) - # TODO: Remove this or find similar solution for vips - return true if @shift_distance_limit && driver.shift_distance_equal? + return true if driver.same_pixels?(comparison) + + # Could not make any difference to be tolerable, so skip and return as not equal + return false if without_tolerable_options? + @difference = driver.find_difference_region(comparison) + return true unless @difference.different? + + @error_message = @difference.inspect false end - # Compare the two images referenced by this object, and return `true` if they are different, + # Compare the two image referenced by this object, and return `true` if they are different, # and `false` if they are the same. def different? - return false unless old_file_exists? - - images = driver.load_images(@old_file_name, @new_file_name) - old_image, new_image = preprocess_images(images) + @error_message = nil - if dimension_changed?(old_image, new_image) - self.difference_region = Region.from_edge_coordinates( - 0, - 0, - [driver.width_for(old_image), driver.width_for(new_image)].min || 0, - [driver.height_for(old_image), driver.height_for(new_image)].min || 0 - ) + @error_message = _different? - return different(*images) - end + clean_tmp_files unless @error_message - self.difference_region, meta = driver.find_difference_region( - new_image, - old_image, - @color_distance_limit, - @shift_distance_limit, - @area_size_limit - ) - - return not_different if difference_region_area_size.zero? || difference_region_empty?(old_image, difference_region) - return not_different if @area_size_limit && difference_region_area_size <= @area_size_limit - return not_different if @tolerance && @tolerance > driver.difference_level(meta, old_image, difference_region) - # TODO: Remove this or find similar solution for vips - return not_different if @shift_distance_limit && !driver.shift_distance_different? - - different(*images) + !@error_message.nil? end - def clean_tmp_files - return if @old_file_name == @new_file_name + def build_error_for_different_dimensions(comparison) + change_msg = [comparison.base_image, comparison.new_image] + .map { |i| driver.dimension(i).join("x") } + .join(" => ") - FileUtils.cp @old_file_name, @new_file_name if old_file_exists? - File.delete(@old_file_name) if old_file_exists? - File.delete(@annotated_old_file_name) if File.exist?(@annotated_old_file_name) - File.delete(@annotated_new_file_name) if File.exist?(@annotated_new_file_name) + "Screenshot dimension has been changed for #{@new_file_name}: #{change_msg}" end - def save(old_img, new_img, annotated_old_file_name, annotated_new_file_name) - driver.save_image_to(old_img, annotated_old_file_name) - driver.save_image_to(new_img, annotated_new_file_name) + def clean_tmp_files + @annotated_base_image_path.unlink if @annotated_base_image_path.exist? + @annotated_image_path.unlink if @annotated_image_path.exist? end - def old_file_exists? - !!@old_file_name && File.exist?(@old_file_name) + def save(image, image_path) + driver.save_image_to(image, image_path.to_s) end - def reset - self.difference_region = nil - driver.reset + def image_files_exist? + @base_image_path.exist? && @image_path.exist? end NEW_LINE = "\n" - def error_message - result = { - area_size: difference_region_area_size, - region: difference_coordinates - } + attr_reader :error_message - driver.adds_error_details_to(result) + private - [ - "(#{result.to_json})", - new_file_name, - annotated_old_file_name, - annotated_new_file_name - ].join(NEW_LINE) + def without_tolerable_options? + (@driver_options.keys & TOLERABLE_OPTIONS).empty? end - def difference_coordinates - difference_region&.to_edge_coordinates - end + def _different? + raise "There are no screenshots to compare!" unless image_files_exist? - def difference_region_area_size - difference_region&.size || 0 - end + comparison = load_and_process_images - private + unless driver.same_dimension?(comparison) + return build_error_for_different_dimensions(comparison) + end - def notice_dimensions_have_been_changed(new_image, old_image) - change_msg = [old_image, new_image] - .map { |i| driver.dimension(i).join("x") } - .join(" => ") + return not_different if driver.same_pixels?(comparison) + + @difference = driver.find_difference_region(comparison) + return not_different unless @difference.different? + + different(@difference) + end - warn("[capybara-screenshot-diff]: Image size has changed for #{@new_file_name}: #{change_msg}") + def load_and_process_images + images = driver.load_images(old_file_name, new_file_name) + base_image, new_image = preprocess_images(images) + Comparison.new(new_image, base_image, @driver_options) end - def dimension_changed?(new_image, old_image) - driver.dimension(old_image) != driver.dimension(new_image) + def build_error_message(difference) + [ + "(#{difference.inspect})", + new_file_name, + annotated_base_image_path.to_path, + annotated_image_path.to_path + ].join(NEW_LINE) end - def assign_attributes_with(options) - @color_distance_limit = options[:color_distance_limit] || 0 - @area_size_limit = options[:area_size_limit] - @shift_distance_limit = options[:shift_distance_limit] - @dimensions = options[:dimensions].dup - @skip_area = options[:skip_area].dup - @tolerance = options[:tolerance] - @median_filter_window_size = options[:median_filter_window_size] + def skip_area + @driver_options[:skip_area] end - attr_accessor :difference_region + def median_filter_window_size + @driver_options[:median_filter_window_size] + end - def different(old_image, new_image) - annotate_and_save([old_image, new_image], difference_region) - true + def dimensions + @driver_options[:dimensions] end - def preprocess_images(images) - old_img = preprocess_image(images.first) - new_img = preprocess_image(images.last) + def different(difference) + annotate_and_save_images(difference) + build_error_message(difference) + end - [old_img, new_img] + def preprocess_images(images) + images.map { preprocess_image(_1) } end def preprocess_image(image) result = image - if @dimensions && driver.inscribed?(@dimensions, result) - result = driver.crop(@dimensions, result) + # FIXME: How can we access to this method from public interface? Is this not documented feature? + if dimensions && driver.inscribed?(dimensions, result) + result = driver.crop(dimensions, result) end - if @median_filter_window_size - result = driver.filter_image_with_median(image, @median_filter_window_size) + if skip_area + result = ignore_skipped_area(result) end - if @skip_area - result = @skip_area.reduce(result) { |image, region| driver.add_black_box(image, region) } + if median_filter_window_size + result = blur_image_by(image, median_filter_window_size) end result end + def blur_image_by(image, size) + driver.filter_image_with_median(image, size) + end + + def ignore_skipped_area(image) + skip_area.reduce(image) { |memo, region| driver.add_black_box(memo, region) } + end + def old_file_size - @old_file_size ||= old_file_exists? && File.size(@old_file_name) + @old_file_size ||= image_files_exist? && File.size(@old_file_name) end def new_file_size @@ -216,41 +191,37 @@ def new_file_size end def not_different - clean_tmp_files - false + nil end - def difference_region_empty?(new_image, region) - region.nil? || - ( - region.height == driver.height_for(new_image) && - region.width == driver.width_for(new_image) && - region.x.zero? && - region.y.zero? - ) + def annotate_and_save_images(difference) + annotate_and_save_image(difference, difference.comparison.new_image, @annotated_image_path) + annotate_and_save_image(difference, difference.comparison.base_image, @annotated_base_image_path) end - def annotate_and_save(images, region) - images = annotate_skip_areas(images, @skip_area) if @skip_area - images = annotate_difference(images, region) - - save(*images, @annotated_old_file_name, @annotated_new_file_name) + def annotate_and_save_image(difference, image, image_path) + image = annotate_difference(image, difference.region) + image = annotate_skip_areas(image, difference.skip_area) if difference.skip_area + save(image, image_path.to_path) end DIFF_COLOR = [255, 0, 0, 255].freeze - def annotate_difference(images, region) - driver.draw_rectangles(images, region, DIFF_COLOR, offset: 1) + def annotate_difference(image, region) + driver.draw_rectangles(Array[image], region, DIFF_COLOR, offset: 1).first end SKIP_COLOR = [255, 192, 0, 255].freeze - def annotate_skip_areas(annotated_images, skip_areas) - skip_areas.reduce(annotated_images) do |memo, region| - driver.draw_rectangles(memo, region, SKIP_COLOR) + def annotate_skip_areas(image, skip_areas) + skip_areas.reduce(image) do |memo, region| + driver.draw_rectangles(Array[memo], region, SKIP_COLOR).first end end end + + class Comparison < Struct.new(:new_image, :base_image, :options) + end end end end diff --git a/lib/capybara/screenshot/diff/os.rb b/lib/capybara/screenshot/diff/os.rb index d96d86bd..6ff4e47c 100644 --- a/lib/capybara/screenshot/diff/os.rb +++ b/lib/capybara/screenshot/diff/os.rb @@ -7,7 +7,7 @@ module Os ON_MAC = !!(RbConfig::CONFIG["host_os"] =~ /darwin/) ON_LINUX = !!(RbConfig::CONFIG["host_os"] =~ /linux/) - def os_name + def self.name return "windows" if ON_WINDOWS return "macos" if ON_MAC return "linux" if ON_LINUX diff --git a/lib/capybara/screenshot/diff/screenshot_matcher.rb b/lib/capybara/screenshot/diff/screenshot_matcher.rb new file mode 100644 index 00000000..17ad2029 --- /dev/null +++ b/lib/capybara/screenshot/diff/screenshot_matcher.rb @@ -0,0 +1,128 @@ +# frozen_string_literal: true + +require_relative "screenshoter" +require_relative "stable_screenshoter" +require_relative "browser_helpers" +require_relative "vcs" + +module Capybara + module Screenshot + module Diff + class ScreenshotMatcher + attr_reader :screenshot_full_name, :driver_options, :screenshot_path, :base_screenshot_path + + def initialize(screenshot_full_name, options = {}) + @screenshot_full_name = screenshot_full_name + @driver_options = Diff.default_options.merge(options) + + @screenshot_path = Screenshot.screenshot_area_abs / Pathname.new(screenshot_full_name).sub_ext(".png") + @base_screenshot_path = ScreenshotMatcher.base_image_path_from(@screenshot_path) + end + + def build_screenshot_matches_job + # TODO: Move this into screenshot stage, in order to re-evaluate coordinates after page updates + return if BrowserHelpers.window_size_is_wrong?(Screenshot.window_size) + + # Stability Screenshoter Options + + # TODO: Move this into screenshot stage, in order to re-evaluate coordinates after page updates + crop = calculate_crop_region(driver_options) + + # Allow nil or single or multiple areas + # TODO: Move this into screenshot stage, in order to re-evaluate coordinates after page updates + if driver_options[:skip_area] + # Cast skip area args to Region and makes relative to crop + driver_options[:skip_area] = calculate_skip_area(driver_options[:skip_area], crop) + end + driver_options[:driver] = Drivers.for(driver_options) + + create_output_directory_for(screenshot_path) unless screenshot_path.exist? + + checkout_base_screenshot + + capture_options = { + crop: crop, + stability_time_limit: driver_options.delete(:stability_time_limit), + wait: driver_options.delete(:wait) + } + + take_comparison_screenshot(capture_options, driver_options, screenshot_path) + + return unless base_screenshot_path.exist? + + # Add comparison job in the queue + [ + screenshot_full_name, + ImageCompare.new(screenshot_path.to_s, base_screenshot_path.to_s, driver_options) + ] + end + + def cleanup + FileUtils.rm_f(base_screenshot_path) + end + + def self.base_image_path_from(screenshot_path) + screenshot_path.sub_ext(".base.png") + end + + private + + def checkout_base_screenshot + Vcs.checkout_vcs(screenshot_path, base_screenshot_path) + end + + def calculate_crop_region(driver_options) + crop_coordinates = driver_options.delete(:crop) + return nil unless crop_coordinates + + crop_coordinates = BrowserHelpers.bounds_for_css(crop_coordinates).first if crop_coordinates.is_a?(String) + Region.from_edge_coordinates(*crop_coordinates) + end + + def create_output_directory_for(screenshot_path) + screenshot_path.dirname.mkpath + end + + # Try to get screenshot from browser. + # On `stability_time_limit` it checks that page stop updating by comparison several screenshot attempts + # On reaching `wait` limit then it has been failed. On failing we annotate screenshot attempts to help to debug + def take_comparison_screenshot(capture_options, driver_options, screenshot_path) + screenshoter = build_screenshoter_for(capture_options, driver_options) + screenshoter.take_comparison_screenshot(screenshot_path) + end + + def build_screenshoter_for(capture_options, comparison_options = {}) + if capture_options[:stability_time_limit] + StableScreenshoter.new(capture_options, comparison_options) + else + Diff.screenshoter.new(capture_options, comparison_options[:driver]) + end + end + + # Cast skip areas params into Region + # and if there is crop then makes absolute coordinates to eb relative to crop top left corner + def calculate_skip_area(skip_area, crop) + crop_region = crop && Region.new(*crop) + skip_area = Array(skip_area) + + css_selectors, regions = skip_area.compact.partition { |region| region.is_a? String } + + result = [] + unless css_selectors.empty? + result.concat(build_regions_for(BrowserHelpers.bounds_for_css(*css_selectors))) + end + result.concat(build_regions_for(regions.flatten.each_slice(4))) unless regions.empty? + result.compact! + + result.map! { |region| crop_region.find_relative_intersect(region) } if crop_region + + result + end + + def build_regions_for(coordinates) + coordinates.map { Region.from_edge_coordinates(*_1) } + end + end + end + end +end diff --git a/lib/capybara/screenshot/diff/screenshoter.rb b/lib/capybara/screenshot/diff/screenshoter.rb new file mode 100644 index 00000000..d708b2a4 --- /dev/null +++ b/lib/capybara/screenshot/diff/screenshoter.rb @@ -0,0 +1,137 @@ +# frozen_string_literal: true + +require_relative "os" +require_relative "browser_helpers" + +module Capybara + module Screenshot + class Screenshoter + attr_reader :capture_options, :comparison_options, :driver + + def initialize(capture_options, driver) + @capture_options = capture_options + @comparison_options = comparison_options + @driver = driver + end + + def crop + @capture_options[:crop] + end + + def wait + @capture_options[:wait] + end + + def self.attempts_screenshot_paths(base_file) + Dir["#{base_file.to_s.chomp(".png")}.attempt_*.png"].sort + end + + def self.cleanup_attempts_screenshots(base_file) + FileUtils.rm_rf attempts_screenshot_paths(base_file) + end + + # Try to get screenshot from browser. + # On `stability_time_limit` it checks that page stop updating by comparison several screenshot attempts + # On reaching `wait` limit then it has been failed. On failing we annotate screenshot attempts to help to debug + def take_comparison_screenshot(screenshot_path) + new_screenshot_path = Screenshoter.gen_next_attempt_path(screenshot_path, 0) + + take_screenshot(new_screenshot_path) + + FileUtils.mv(new_screenshot_path, screenshot_path, force: true) + Screenshoter.cleanup_attempts_screenshots(screenshot_path) + end + + def self.gen_next_attempt_path(screenshot_path, iteration) + Pathname.new(screenshot_path).sub_ext(format(".attempt_%02i.png", iteration)) + end + + def take_screenshot(screenshot_path) + blurred_input = prepare_page_for_screenshot(timeout: wait) + + # Take browser screenshot and save + browser_save_screenshot(screenshot_path) + + # Load saved screenshot and pre-process it + process_screenshot(screenshot_path) + ensure + blurred_input&.click + end + + def browser_save_screenshot(screenshot_path) + BrowserHelpers.session.save_screenshot(screenshot_path) + end + + def process_screenshot(screenshot_path) + # TODO(uwe): Remove when chromedriver takes right size screenshots + # TODO: Adds tests when this case is true + if selenium_with_retina_screen? + reduce_retina_image_size(screenshot_path) + end + # ODOT + + if crop + image = driver.from_file(screenshot_path) + cropped_image = driver.crop(crop, image) + driver.save_image_to(cropped_image, screenshot_path) + end + end + + def reduce_retina_image_size(file_name) + expected_image_width = Screenshot.window_size[0] + saved_image = driver.from_file(file_name.to_s) + return if driver.width_for(saved_image) < expected_image_width * 2 + + notice_how_to_avoid_this + + new_height = expected_image_width * driver.height_for(saved_image) / driver.width_for(saved_image) + resized_image = driver.resize_image_to(saved_image, expected_image_width, new_height) + + driver.save_image_to(resized_image, file_name) + end + + def notice_how_to_avoid_this + unless defined?(@_csd_retina_warned) + warn "Halving retina screenshot. " \ + 'You should add "force-device-scale-factor=1" to your Chrome chromeOptions args.' + @_csd_retina_warned = true + end + end + + def prepare_page_for_screenshot(timeout:) + wait_images_loaded(timeout: timeout) + + blurred_input = if Screenshot.blur_active_element + BrowserHelpers.blur_from_focused_element + end + + if Screenshot.hide_caret + BrowserHelpers.hide_caret + end + + blurred_input + end + + def wait_images_loaded(timeout:) + start = Time.now + loop do + pending_image = BrowserHelpers.pending_image_to_load + break unless pending_image + + assert( + (Time.now - start) < timeout, + "Images not loaded after #{timeout}s: #{pending_image.inspect}" + ) + + sleep 0.025 + end + end + + private + + def selenium_with_retina_screen? + Os::ON_MAC && BrowserHelpers.selenium? && Screenshot.window_size + end + end + end +end diff --git a/lib/capybara/screenshot/diff/stabilization.rb b/lib/capybara/screenshot/diff/stabilization.rb index c01f14d4..e69de29b 100644 --- a/lib/capybara/screenshot/diff/stabilization.rb +++ b/lib/capybara/screenshot/diff/stabilization.rb @@ -1,187 +0,0 @@ -# frozen_string_literal: true - -require_relative "os" - -module Capybara - module Screenshot - module Diff - module Stabilization - include Os - - def take_stable_screenshot(comparison, stability_time_limit:, wait:, crop:) - previous_file_name = comparison.old_file_name - screenshot_started_at = last_image_change_at = Time.now - clean_stabilization_images(comparison.new_file_name) - - 1.step do |i| - take_right_size_screenshot(comparison, crop: crop) - if comparison.quick_equal? - clean_stabilization_images(comparison.new_file_name) - break - end - - comparison.reset - - stabilization_comparison = make_stabilization_comparison_from( - comparison.new_file_name, - previous_file_name, - comparison.driver_options - ) - - if stabilization_comparison.quick_equal? - if (Time.now - last_image_change_at) > stability_time_limit - clean_stabilization_images(comparison.new_file_name) - break - end - next - else - last_image_change_at = Time.now - end - - previous_file_name = build_snapshot_version_file_name( - comparison, - i, - screenshot_started_at, - stabilization_comparison - ) - - FileUtils.mv(comparison.new_file_name, previous_file_name) - - check_max_wait_time( - comparison, - screenshot_started_at, - max_wait_time: max_wait_time(comparison.shift_distance_limit, wait) - ) - end - end - - def notice_how_to_avoid_this(expected_image_width, actual_image_width) - unless defined?(@@_csd_retina_warned) - warn "Halving retina screenshot. (#{actual_image_width}px => #{expected_image_width}px) " \ - 'You should add "force-device-scale-factor=1" to your Chrome chromeOptions args.' - @@_csd_retina_warned = true - end - end - - private - - def build_snapshot_version_file_name(comparison, iteration, screenshot_started_at, stabilization_comparison) - elapsed_seconds = (Time.now - screenshot_started_at).round(1) - encode_diff_region = stabilization_comparison.difference_coordinates&.to_s&.gsub(", ", "_") || :initial - - "#{comparison.new_file_name.chomp(".png")}" \ - "_x#{format("%02i", iteration)}_#{elapsed_seconds}s" \ - "_#{encode_diff_region}.png" \ - "#{ImageCompare::TMP_FILE_SUFFIX}" - end - - def make_stabilization_comparison_from(new_file_name, previous_file_name, driver_options) - ImageCompare.new(new_file_name, previous_file_name, driver_options) - end - - def reduce_retina_image_size(file_name, driver) - return if !ON_MAC || !selenium? || !Capybara::Screenshot.window_size - - expected_image_width = Capybara::Screenshot.window_size[0] - saved_image = driver.from_file(file_name) - actual_image_width = driver.width_for(saved_image) - return if actual_image_width < expected_image_width * 2 - - notice_how_to_avoid_this(expected_image_width, actual_image_width) - - new_height = expected_image_width * driver.height_for(saved_image) / actual_image_width - resized_image = driver.resize_image_to(saved_image, expected_image_width, new_height) - - driver.save_image_to(resized_image, file_name) - end - - def stabilization_images(base_file) - Dir["#{base_file.chomp(".png")}_x*.png#{ImageCompare::TMP_FILE_SUFFIX}"].sort - end - - def clean_stabilization_images(base_file) - FileUtils.rm stabilization_images(base_file) - end - - def prepare_page_for_screenshot(timeout:) - assert_images_loaded(timeout: timeout) - - blurred_input = if Capybara::Screenshot.blur_active_element - blur_from_focused_element - end - - if Capybara::Screenshot.hide_caret - hide_caret - end - - blurred_input - end - - def take_right_size_screenshot(comparison, crop:) - driver = comparison.driver - - save_screenshot(comparison.new_file_name) - - # TODO(uwe): Remove when chromedriver takes right size screenshots - reduce_retina_image_size(comparison.new_file_name, driver) - # ODOT - - if crop - image = driver.from_file(comparison.new_file_name) - cropped_image = driver.crop(crop, image) - driver.save_image_to(cropped_image, comparison.new_file_name) - end - end - - def check_max_wait_time(comparison, screenshot_started_at, max_wait_time:) - return if (Time.now - screenshot_started_at) < max_wait_time - - annotate_stabilization_images(comparison) - # FIXME(uwe): Change to store the failure and only report if the test succeeds functionally. - fail("Could not get stable screenshot within #{max_wait_time}s\n" \ - "#{stabilization_images(comparison.new_file_name).join("\n")}") - end - - def annotate_stabilization_images(comparison) - previous_file = comparison.old_file_name - stabilization_images(comparison.new_file_name).each do |file_name| - if File.exist? previous_file - stabilization_comparison = make_stabilization_comparison_from( - file_name, - previous_file, - comparison.driver_options - ) - if stabilization_comparison.different? - FileUtils.mv stabilization_comparison.annotated_new_file_name, file_name - end - FileUtils.rm stabilization_comparison.annotated_old_file_name - end - previous_file = file_name - end - end - - def max_wait_time(shift_distance_limit, wait) - shift_factor = shift_distance_limit ? (shift_distance_limit * 2 + 1) ^ 2 : 1 - wait * shift_factor - end - - def assert_images_loaded(timeout:) - return unless respond_to? :evaluate_script - - start = Time.now - loop do - pending_image = pending_image_to_load - break unless pending_image - - assert( - (Time.now - start) < timeout, - "Images not loaded after #{timeout}s: #{pending_image.inspect}" - ) - - sleep 0.1 - end - end - end - end - end -end diff --git a/lib/capybara/screenshot/diff/stable_screenshoter.rb b/lib/capybara/screenshot/diff/stable_screenshoter.rb new file mode 100644 index 00000000..d371c376 --- /dev/null +++ b/lib/capybara/screenshot/diff/stable_screenshoter.rb @@ -0,0 +1,106 @@ +# frozen_string_literal: true + +module Capybara + module Screenshot + module Diff + class StableScreenshoter + STABILITY_OPTIONS = [:stability_time_limit, :wait] + + attr_reader :stability_time_limit, :wait + + def initialize(capture_options, comparison_options = nil) + @stability_time_limit, @wait = capture_options.fetch_values(:stability_time_limit, :wait) + @comparison_options = comparison_options || Diff.default_options + @screenshoter = Diff.screenshoter.new(capture_options.except(*STABILITY_OPTIONS), @comparison_options[:driver]) + end + + # Try to get screenshot from browser. + # On `stability_time_limit` it checks that page stop updating by comparison several screenshot attempts + # On reaching `wait` limit then it has been failed. On failing we annotate screenshot attempts to help to debug + def take_comparison_screenshot(screenshot_path) + new_screenshot_path = take_stable_screenshot(screenshot_path) + + # We failed to get stable browser state! Generate difference between attempts to overview moving parts! + unless new_screenshot_path + # FIXME(uwe): Change to store the failure and only report if the test succeeds functionally. + annotate_attempts_and_fail!(screenshot_path) + end + + FileUtils.mv(new_screenshot_path, screenshot_path, force: true) + Screenshoter.cleanup_attempts_screenshots(screenshot_path) + end + + def take_stable_screenshot(screenshot_path) + # We try to compare first attempt with checkout version, in order to not run next screenshots + attempt_path = nil + screenshot_started_at = last_attempt_at = Time.now + + # Cleanup all previous attempts for sure + Screenshoter.cleanup_attempts_screenshots(screenshot_path) + + 0.step do |i| + # Prevents redundant screenshots generations + sleep(stability_time_limit) unless i == 0 + + elapsed_time = last_attempt_at - screenshot_started_at + + prev_attempt_path = attempt_path + attempt_path = Screenshoter.gen_next_attempt_path(screenshot_path, i) + + @screenshoter.take_screenshot(attempt_path) + last_attempt_at = Time.now + + next unless prev_attempt_path + stabilization_comparator = build_comparison_for(attempt_path, prev_attempt_path) + + # If previous screenshot is equal to the current, then we are good + return attempt_path if prev_attempt_path && stabilization_comparator.quick_equal? + + # If timeout then we failed to generate valid screenshot + return nil if timeout?(elapsed_time) + end + end + + private + + def build_comparison_for(attempt_path, previous_attempt_path) + ImageCompare.new(attempt_path, previous_attempt_path, @comparison_options) + end + + def annotate_attempts_and_fail!(screenshot_path) + screenshot_attempts = Screenshoter.attempts_screenshot_paths(screenshot_path) + + annotate_stabilization_images(screenshot_attempts) + + # TODO: Move fail to the queue after tests passed + fail("Could not get stable screenshot within #{wait}s:\n#{screenshot_attempts.join("\n")}") + end + + # TODO: Add tests that we annotate all files except first one + def annotate_stabilization_images(attempts_screenshot_paths) + previous_file = nil + attempts_screenshot_paths.reverse_each do |file_name| + if previous_file && File.exist?(previous_file) + attempts_comparison = build_comparison_for(file_name, previous_file) + + if attempts_comparison.different? + FileUtils.mv(attempts_comparison.annotated_base_image_path, previous_file, force: true) + else + warn "[capybara-screenshot-diff] Some attempts was stable, but mistakenly marked as not: " \ + "#{previous_file} and #{file_name} are equal" + end + + FileUtils.rm(attempts_comparison.annotated_image_path, force: true) + end + + previous_file = file_name + end + end + + def timeout?(elapsed_time) + elapsed_time > wait + end + end + end + end +end diff --git a/lib/capybara/screenshot/diff/test_methods.rb b/lib/capybara/screenshot/diff/test_methods.rb index 59d5102a..959b0de5 100644 --- a/lib/capybara/screenshot/diff/test_methods.rb +++ b/lib/capybara/screenshot/diff/test_methods.rb @@ -5,31 +5,36 @@ require "action_controller" require "action_dispatch" require "active_support/core_ext/string/strip" +require "pathname" + +require_relative "drivers" require_relative "image_compare" -require_relative "stabilization" require_relative "vcs" require_relative "browser_helpers" require_relative "region" +require_relative "screenshot_matcher" + # Add the `screenshot` method to ActionDispatch::IntegrationTest module Capybara module Screenshot module Diff module TestMethods - include Stabilization - include Vcs - include BrowserHelpers - def initialize(*) super @screenshot_counter = nil @screenshot_group = nil @screenshot_section = nil @test_screenshot_errors = nil - @test_screenshots = nil + @test_screenshots = [] end - def full_name(name) + def build_full_name(name) + if @screenshot_counter + name = format("%02i_#{name}", @screenshot_counter) + @screenshot_counter += 1 + end + File.join(*group_parts.push(name.to_s)) end @@ -43,57 +48,17 @@ def screenshot_section(name) def screenshot_group(name) @screenshot_group = name.to_s - @screenshot_counter = 0 + @screenshot_counter = @screenshot_group.present? ? 0 : nil return unless Screenshot.active? && name.present? FileUtils.rm_rf screenshot_dir end - def screenshot(name, skip_stack_frames: 0, **options) - return false unless Screenshot.active? - return false if window_size_is_wrong? - - driver_options = Diff.default_options.merge(options) - - stability_time_limit = driver_options[:stability_time_limit] - wait = driver_options[:wait] - crop = calculate_crop_region(driver_options) - - # Allow nil or single or multiple areas - if driver_options[:skip_area] - # Cast skip area args to Region and makes relative to crop - driver_options[:skip_area] = calculate_skip_area(driver_options[:skip_area], crop) - end - - if @screenshot_counter - name = "#{format("%02i", @screenshot_counter)}_#{name}" - @screenshot_counter += 1 - end - name = full_name(name) - file_name = "#{Screenshot.screenshot_area_abs}/#{name}.png" - - create_output_directory_for(file_name) - - comparison = ImageCompare.new(file_name, nil, driver_options) - checkout_vcs(name, comparison.old_file_name, comparison.new_file_name) - - take_comparison_screenshot(comparison, crop, stability_time_limit, wait) - - return false unless comparison.old_file_exists? - - (@test_screenshots ||= []) << [caller[skip_stack_frames], name, comparison] - + def schedule_match_job(job) + (@test_screenshots ||= []) << job true end - def assert_image_not_changed(caller, name, comparison) - return unless comparison.different? - - "Screenshot does not match for '#{name}' #{comparison.error_message}\nat #{caller}" - end - - private - def group_parts parts = [] parts << @screenshot_section if @screenshot_section.present? @@ -101,56 +66,38 @@ def group_parts parts end - def calculate_crop_region(driver_options) - crop_coordinates = driver_options.delete(:crop) - return nil unless crop_coordinates + def screenshot(name, skip_stack_frames: 0, **options) + return false unless Screenshot.active? - crop_coordinates = bounds_for_css(crop_coordinates).first if crop_coordinates.is_a?(String) - Region.from_edge_coordinates(*crop_coordinates) - end + screenshot_full_name = build_full_name(name) + job = build_screenshot_matches_job(screenshot_full_name, options) - def create_output_directory_for(file_name) - FileUtils.mkdir_p File.dirname(file_name) - end + return false unless job - def take_comparison_screenshot(comparison, crop, stability_time_limit, wait) - blurred_input = prepare_page_for_screenshot(timeout: wait) - if stability_time_limit - take_stable_screenshot( - comparison, - crop: crop, - stability_time_limit: stability_time_limit, - wait: wait - ) - else - take_right_size_screenshot(comparison, crop: crop) - end - ensure - blurred_input&.click + schedule_match_job([caller(skip_stack_frames)] + job) end - # Cast skip areas params into Region - # and if there is crop then makes absolute coordinates to eb relative to crop top left corner - def calculate_skip_area(skip_area, crop) - crop_region = crop && Region.new(*crop) - skip_area = Array(skip_area) + def assert_image_not_changed(caller, name, comparison) + result = comparison.different? - css_selectors, regions = skip_area.compact.partition { |region| region.is_a? String } - result = [] - result.concat(build_regions_for(bounds_for_css(*css_selectors))) unless css_selectors.empty? - result.concat(build_regions_for(regions.flatten.each_slice(4))) unless regions.empty? - result.compact! + if !result && comparison.base_image_path.exist? + FileUtils.mv(comparison.base_image_path, comparison.image_path, force: true) + else + FileUtils.rm_rf(comparison.base_image_path) + end - result.map! { |region| crop_region.find_relative_intersect(region) } if crop_region + return unless result - result + "Screenshot does not match for '#{name}' #{comparison.error_message}\nat #{caller.join("\n")}" end - def build_regions_for(coordinates) - coordinates.map do |region_coordinates| - Region.from_edge_coordinates(*region_coordinates) - end + private + + def build_screenshot_matches_job(screenshot_full_name, options) + ScreenshotMatcher + .new(screenshot_full_name, options) + .build_screenshot_matches_job end end end diff --git a/lib/capybara/screenshot/diff/vcs.rb b/lib/capybara/screenshot/diff/vcs.rb index 86bfb0c3..9db36a51 100644 --- a/lib/capybara/screenshot/diff/vcs.rb +++ b/lib/capybara/screenshot/diff/vcs.rb @@ -1,42 +1,64 @@ # frozen_string_literal: true require_relative "os" + module Capybara module Screenshot module Diff module Vcs SILENCE_ERRORS = Os::ON_WINDOWS ? "2>nul" : "2>/dev/null" - def restore_git_revision(name, target_file_name) - redirect_target = "#{target_file_name} #{SILENCE_ERRORS}" - show_command = "git show HEAD~0:./#{Capybara::Screenshot.screenshot_area}/#{name}.png" - if Capybara::Screenshot.use_lfs + def self.restore_git_revision(screenshot_path, checkout_path) + vcs_file_path = screenshot_path.relative_path_from(Screenshot.root) + + redirect_target = "#{checkout_path} #{SILENCE_ERRORS}" + show_command = "git show HEAD~0:./#{vcs_file_path}" + if Screenshot.use_lfs `#{show_command} | git lfs smudge > #{redirect_target}` else `#{show_command} > #{redirect_target}` end - FileUtils.rm_f(target_file_name) unless $CHILD_STATUS == 0 - end - def checkout_vcs(name, old_file_name, new_file_name) - svn_file_name = "#{Capybara::Screenshot.screenshot_area_abs}/.svn/text-base/#{name}.png.svn-base" + if $CHILD_STATUS != 0 + FileUtils.rm_f(checkout_path) + false + else + true + end + end - if File.exist?(svn_file_name) - committed_file_name = svn_file_name - FileUtils.cp committed_file_name, old_file_name + def self.checkout_vcs(screenshot_path, checkout_path) + if svn? + restore_svn_revision(screenshot_path, checkout_path) else - svn_info = `svn info #{new_file_name} #{SILENCE_ERRORS}` - if svn_info.present? - wc_root = svn_info.slice(/(?<=Working Copy Root Path: ).*$/) - checksum = svn_info.slice(/(?<=Checksum: ).*$/) - if checksum - committed_file_name = "#{wc_root}/.svn/pristine/#{checksum[0..1]}/#{checksum}.svn-base" - FileUtils.cp committed_file_name, old_file_name - end - else - restore_git_revision(name, old_file_name) + restore_git_revision(screenshot_path, checkout_path) + end + end + + def self.restore_svn_revision(screenshot_path, checkout_path) + committed_file_name = screenshot_path + "../.svn/text-base/" + "#{screenshot_path.basename}.svn-base" + if committed_file_name.exist? + FileUtils.cp(committed_file_name, checkout_path) + return true + end + + svn_info = `svn info #{screenshot_path} #{SILENCE_ERRORS}` + if svn_info.present? + wc_root = svn_info.slice(/(?<=Working Copy Root Path: ).*$/) + checksum = svn_info.slice(/(?<=Checksum: ).*$/) + + if checksum + committed_file_name = "#{wc_root}/.svn/pristine/#{checksum[0..1]}/#{checksum}.svn-base" + FileUtils.cp(committed_file_name, checkout_path) + return true end end + + false + end + + def self.svn? + (Screenshot.screenshot_area_abs / ".svn").exist? end end end diff --git a/scripts/benchmark/find_region_benchmark.rb b/scripts/benchmark/find_region_benchmark.rb index dfd3ac30..1f6007de 100644 --- a/scripts/benchmark/find_region_benchmark.rb +++ b/scripts/benchmark/find_region_benchmark.rb @@ -49,12 +49,5 @@ def experiment_for(x, driver, method, suffix, new_path, base_path) end end end - - def build_driver_and_comparison(driver, base_screenshot_path, new_screenshot_path) - images = driver.new.load_images(new_screenshot_path, base_screenshot_path) - chunky_comparison = ImageCompare::Comparison.new(*images, {tolerance: 0.03}) - - [chunky_comparison, driver.new] - end end end diff --git a/sig/lib/capybara/screenshot/diff.rbs b/sig/capybara/screenshot/diff/diff.rbs similarity index 68% rename from sig/lib/capybara/screenshot/diff.rbs rename to sig/capybara/screenshot/diff/diff.rbs index 67cc3c1d..a1878111 100644 --- a/sig/lib/capybara/screenshot/diff.rbs +++ b/sig/capybara/screenshot/diff/diff.rbs @@ -1,31 +1,27 @@ module Capybara module Screenshot - extend Os - def self.root=: ((String | Pathname) path) -> Pathname - def self.active?: () -> bool + def self.root: -> Pathname + + def self.active?: () -> boolish def self.screenshot_area: () -> String - def self.screenshot_area_abs: () -> String + def self.screenshot_area_abs: () -> Pathname # Module to track screen shot changes module Diff - include Capybara::Screenshot::Os - AVAILABLE_DRIVERS: Array[(:vips | :chunky_png)] ASSERTION: (top | RuntimeError) - def self.default_options: () -> TestMethods::input_options + def self.default_options: () -> ScreenshotMatcher::input_options def self.included: (top klass) -> void private - EMPTY_LINE: "\n\n" - def track_failures: (Array[untyped] screenshots, (Array[String] | String) original_caller) -> void end end diff --git a/sig/capybara/screenshot/diff/difference.rbs b/sig/capybara/screenshot/diff/difference.rbs new file mode 100644 index 00000000..dce55851 --- /dev/null +++ b/sig/capybara/screenshot/diff/difference.rbs @@ -0,0 +1,33 @@ +module Capybara + module Screenshot + module Diff + class Difference + attr_reader comparison: ImageCompare::Comparison + + def different?: () -> bool + + def base_image: () -> top + + def options: () -> Drivers::BaseDriver::options_entity + + def tolerance: () -> Numeric? + + def area_size_limit: () -> Numeric? + + def blank?: () -> bool + + def region_area_size: () -> Numeric + + def ratio: () -> Numeric? + + def to_h: () -> Hash[Symbol, untyped] + + def coordinates: () -> Region::raw_region_entity + + def inspect: () -> String + + def tolerable?: () -> bool + end + end + end +end diff --git a/sig/lib/capybara/screenshot/diff/drivers/base_driver.rbs b/sig/capybara/screenshot/diff/drivers/base_driver.rbs similarity index 69% rename from sig/lib/capybara/screenshot/diff/drivers/base_driver.rbs rename to sig/capybara/screenshot/diff/drivers/base_driver.rbs index 974e7bc2..04af8b9f 100644 --- a/sig/lib/capybara/screenshot/diff/drivers/base_driver.rbs +++ b/sig/capybara/screenshot/diff/drivers/base_driver.rbs @@ -3,13 +3,14 @@ module Capybara module Diff module Drivers class BaseDriver[ImageEntity] + type images_entity[out T] = [T, T] type dimension_entity = [Numeric, Numeric] type options_entity = { area_size_limit?: Numeric?, color_distance_limit?: Numeric?, - driver: (:auto | :vips | :chunky_png)?, + driver: (:auto | :vips | :chunky_png | VipsDriver | ChunkyPNGDriver)?, dimensions: dimension_entity?, median_filter_window_size: Numeric?, shift_distance_limit?: Numeric?, @@ -21,29 +22,9 @@ module Capybara type color = [Integer, Integer, Integer, Integer] - attr_reader new_file_name: String - - attr_reader old_file_name: String - - attr_reader options: options_entity - - def initialize: (String new_file_name, String old_file_name, ?options_entity options) -> void - - def skip_area=: (Array[Region] new_skip_area) -> void - - # Resets the calculated data about the comparison with regard to the "new_image". - # Data about the original image is kept. - def reset: () -> void - - def shift_distance_equal?: () -> bool + def find_difference_region: (ImageEntity new_image, ImageEntity old_image, Numeric color_distance_limit, Numeric _shift_distance_limit, Integer _area_size_limit, ?fast_fail: bool) -> Difference - def shift_distance_different?: () -> bool - - def find_difference_region: (ImageEntity new_image, ImageEntity old_image, Numeric color_distance_limit, Numeric _shift_distance_limit, Integer _area_size_limit, ?fast_fail: bool) -> [Region?, (ImageEntity | top | nil)] - - def adds_error_details_to: (::Hash[Symbol, untyped] _log) -> void - - def inscribed?: (dimension_entity dimensions, ImageEntity i) -> bool + def inscribed?: (dimension_entity dimensions, ImageEntity i) -> boolish def crop: (Region region, ImageEntity i) -> ImageEntity @@ -66,14 +47,16 @@ module Capybara def load_images: (String old_file_name, String new_file_name) -> images_entity[ImageEntity] - def from_file: (String filename) -> ImageEntity - - def dimension_changed?: (ImageEntity old_image, ImageEntity new_image) -> bool + def from_file: (TestMethods::path_entity filename) -> ImageEntity def dimension: (ImageEntity image) -> dimension_entity def draw_rectangles: (images_entity[ImageEntity] images, Region region, color rgba, Integer offset) -> void + + def same_pixels?: () -> boolish end + + def self.for: (ScreenshotMatcher::input_options) -> (VipsDriver | ChunkyPNGDriver) end end end diff --git a/sig/capybara/screenshot/diff/drivers/browser_helpers.rbs b/sig/capybara/screenshot/diff/drivers/browser_helpers.rbs new file mode 100644 index 00000000..30001bc4 --- /dev/null +++ b/sig/capybara/screenshot/diff/drivers/browser_helpers.rbs @@ -0,0 +1,36 @@ +module Capybara + class Result + def map: () -> Result + end + module Screenshot + module BrowserHelpers + def self.current_capybara_driver_class: () -> top + + def self.selenium?: () -> boolish? + + def self.window_size_is_wrong?: () -> boolish + + def self.bounds_for_css: (*String css_selectors) -> Array[Region::raw_region_entity] + + IMAGE_WAIT_SCRIPT: String + + def self.pending_image_to_load: () -> top? + + HIDE_CARET_SCRIPT: String + + def self.hide_caret: () -> void + + FIND_ACTIVE_ELEMENT_SCRIPT: String + + type capybara_element = top + + def self.blur_from_focused_element: () -> capybara_element? + + GET_BOUNDING_CLIENT_RECT_SCRIPT: String + + def self.all_visible_regions_for: (String selector) -> Array[Region::raw_region_entity] + + def self.region_for: (Result element) -> Region::raw_region_entity + end + end +end diff --git a/sig/capybara/screenshot/diff/drivers/chunky_png_driver.rbs b/sig/capybara/screenshot/diff/drivers/chunky_png_driver.rbs new file mode 100644 index 00000000..af585ce2 --- /dev/null +++ b/sig/capybara/screenshot/diff/drivers/chunky_png_driver.rbs @@ -0,0 +1,89 @@ +module ChunkyPNG + class Canvas + end + + class Image + def self.from_blob: (String str) -> Image + + def self.from_file: (String filename) -> Image + end +end + +module Capybara + module Screenshot + module Diff + module Drivers + class ChunkyPNGDriver < BaseDriver[ChunkyPNG::Canvas] + + def _load_images: (String old_file, String new_file) -> [ChunkyPNG::Image, ChunkyPNG::Image] + + class DifferenceRegionFinder + def find_diff_rectangle: ( + ChunkyPNG::Image org_img, + ChunkyPNG::Image new_img, + (Region | Region::raw_region_entity) area_coordinates, + cache: ImageCompare::cache_entity + ) -> Region? + + def find_top: ( + ChunkyPNG::Image old_img, + ChunkyPNG::Image new_img, + cache: ImageCompare::cache_entity + ) -> Region::raw_region_entity? + + def find_left_right_and_top: ( + ChunkyPNG::Image old_img, + ChunkyPNG::Image new_img, + (Region | Region::raw_region_entity) region, + cache: ImageCompare::cache_entity + ) -> Region::raw_region_entity + + def find_bottom: ( + ChunkyPNG::Image old_img, + ChunkyPNG::Image new_img, + Integer left, + Integer right, + Integer bottom, + cache: ImageCompare::cache_entity + ) -> Integer + + def same_color?: ( + ChunkyPNG::Image old_img, + ChunkyPNG::Image new_img, + Integer x, + Integer y, + ?cache: ImageCompare::cache_entity + ) -> boolish + + def skipped_region?: (Integer x, Integer y) -> boolish + + def color_distance_at: ( + ChunkyPNG::Image new_img, + ChunkyPNG::Image old_img, + Integer x, + Integer y, + shift_distance_limit: Numeric? + ) -> Float + + def shift_distance_at: ( + ChunkyPNG::Image new_img, + ChunkyPNG::Image old_img, + Integer x, + Integer y, + color_distance_limit: Numeric? + ) -> Numeric + + def color_matches: ( + ChunkyPNG::Image new_img, + Integer org_color, + Integer x, + Integer y, + Numeric? color_distance_limit + ) -> boolish + end + + end + end + end + end +end diff --git a/sig/lib/capybara/screenshot/diff/drivers/utils.rbs b/sig/capybara/screenshot/diff/drivers/utils.rbs similarity index 55% rename from sig/lib/capybara/screenshot/diff/drivers/utils.rbs rename to sig/capybara/screenshot/diff/drivers/utils.rbs index 11363dbf..c0fcd5ce 100644 --- a/sig/lib/capybara/screenshot/diff/drivers/utils.rbs +++ b/sig/capybara/screenshot/diff/drivers/utils.rbs @@ -4,9 +4,9 @@ module Capybara module Utils def self.detect_available_drivers: () -> Array[(:vips | :chunky_png)] - def self.find_driver_class_for: (Symbol driver) -> top + def self.find_driver_class_for: [T] (Symbol driver) -> T - def self.detect_test_framework_assert: () -> (untyped | RuntimeError) + def self.detect_test_framework_assert: [T < Exception] () -> T end end end diff --git a/sig/lib/capybara/screenshot/diff/drivers/vips_driver.rbs b/sig/capybara/screenshot/diff/drivers/vips_driver.rbs similarity index 78% rename from sig/lib/capybara/screenshot/diff/drivers/vips_driver.rbs rename to sig/capybara/screenshot/diff/drivers/vips_driver.rbs index e7ad8e69..45f970a8 100644 --- a/sig/lib/capybara/screenshot/diff/drivers/vips_driver.rbs +++ b/sig/capybara/screenshot/diff/drivers/vips_driver.rbs @@ -9,14 +9,12 @@ module Capybara module Diff module Drivers class VipsDriver < BaseDriver[Vips::Image] - PNG_EXTENSION: String - class VipsUtil def self.difference_area: (Vips::Image old_image, Vips::Image new_image, ?color_distance: ::Integer) -> Numeric def self.difference_area_size_by: (Vips::Image difference_mask) -> Numeric - def self.difference_mask: (Numeric color_distance, Vips::Image old_image, Vips::Image new_image) -> Vips::Image + def self.difference_mask: (Vips::Image, Vips::Image, ?Numeric? color_distance) -> Vips::Image def self.difference_region_by: (Vips::Image diff_mask) -> Region? end diff --git a/sig/lib/capybara/screenshot/diff/image_compare.rbs b/sig/capybara/screenshot/diff/image_compare.rbs similarity index 53% rename from sig/lib/capybara/screenshot/diff/image_compare.rbs rename to sig/capybara/screenshot/diff/image_compare.rbs index 1701f329..60152de2 100644 --- a/sig/lib/capybara/screenshot/diff/image_compare.rbs +++ b/sig/capybara/screenshot/diff/image_compare.rbs @@ -6,43 +6,45 @@ module Capybara # Compare two images_entities and determine if they are equal, different, or within some comparison # range considering color values and difference area size. class ImageCompare - type driver_entity = Drivers::VipsDriver | Drivers::ChunkyPNGDriver - type image_entity = ChunkyPNG::Canvas | Vips::Image - type images_entities = [image_entity, image_entity] + TOLERABLE_OPTIONS: [:tolerance, :color_distance_limit, :shift_distance_limit, :area_size_limit] - TMP_FILE_SUFFIX: "~" + class Comparison - attr_reader driver: driver_entity + end - attr_reader driver_options: Drivers::BaseDriver::options_entity - - attr_reader annotated_new_file_name: String + type driver_entity = (Drivers::VipsDriver | Drivers::ChunkyPNGDriver) + type image_entity = (ChunkyPNG::Canvas | Vips::Image) + type images_entities = [image_entity, image_entity] + type cache_entity = (::Hash[Symbol, top] | top) - attr_reader annotated_old_file_name: String + @annotated_base_image_path: Pathname + @annotated_image_path: Pathname + @difference: Difference + @error_message: String? + attr_reader error_message: String? + attr_reader annotated_base_image_path: Pathname + attr_reader annotated_image_path: Pathname + attr_reader driver: driver_entity + attr_reader driver_options: Drivers::BaseDriver::options_entity + attr_reader annotated_new_file_name: TestMethods::path_entity + attr_reader annotated_old_file_name: TestMethods::path_entity attr_reader new_file_name: String - attr_reader old_file_name: String - attr_reader skip_area: Array[Region]? - attr_accessor shift_distance_limit: Numeric? - attr_accessor area_size_limit: Numeric? - attr_accessor color_distance_limit: Numeric? @median_filter_window_size: Numeric? @dimensions: Drivers::BaseDriver::dimension_entity? @tolerance: Numeric? - def initialize: (String new_file_name, (String | Drivers::BaseDriver::options_entity)? old_file_name, ?Drivers::BaseDriver::options_entity options) -> void - - def skip_area=: (Array[Region] new_skip_area) -> void + def initialize: (TestMethods::path_entity new_file_name, TestMethods::path_entity old_file_name, ?Drivers::BaseDriver::options_entity options) -> void # Compare the two image_entity files and return `true` or `false` as quickly as possible. # Return falsely if the old file does not exist or the image_entity dimensions do not match. - def quick_equal?: () -> bool + def quick_equal?: () -> boolish # Compare the two images_entities referenced by this object, and return `true` if they are different, # and `false` if they are the same. @@ -50,25 +52,19 @@ module Capybara def clean_tmp_files: () -> void - def save: (image_entity old_img, image_entity new_img, String annotated_old_file_name, String annotated_new_file_name) -> void + def save: (Drivers::BaseDriver::images_entity, TestMethods::path_entity) -> void - def old_file_exists?: () -> bool + def old_file_exists?: () -> boolish def reset: () -> void NEW_LINE: "\n" - def error_message: () -> String - - def difference_coordinates: () -> Region::raw_region_entity? - - def difference_region_area_size: () -> Numeric - private - attr_accessor difference_region: Region? + def _different?: -> String? - def different: (image_entity old_image, image_entity new_image) -> true + def different: (Difference images) -> String def preprocess_images: (images_entities images) -> images_entities @@ -78,19 +74,18 @@ module Capybara def new_file_size: () -> Integer - def not_different: () -> false - - def difference_region_empty?: (image_entity new_image, Region? region) -> bool + def not_different: () -> nil - def annotate_and_save: (images_entities images, Region region) -> void + def annotate_and_save_images: (Difference) -> void + def annotate_and_save_image: (Drivers::BaseDriver::images_entity, TestMethods::path_entity, Region) -> void DIFF_COLOR: [255, 0, 0, 255] - def annotate_difference: (images_entities images, Region region) -> void + def annotate_difference: (images_entities, Region) -> void SKIP_COLOR: [255, 192, 0, 255] - def annotate_skip_areas: (images_entities annotated_images, Array[Region] skip_areas) -> void + def annotate_skip_areas: (images_entities comparison, Array[Region] skip_areas) -> void end end end diff --git a/sig/lib/capybara/screenshot/diff/os.rbs b/sig/capybara/screenshot/diff/os.rbs similarity index 65% rename from sig/lib/capybara/screenshot/diff/os.rbs rename to sig/capybara/screenshot/diff/os.rbs index ad4e8a03..1200127f 100644 --- a/sig/lib/capybara/screenshot/diff/os.rbs +++ b/sig/capybara/screenshot/diff/os.rbs @@ -2,12 +2,10 @@ module Capybara module Screenshot module Os ON_WINDOWS: bool - ON_MAC: bool - ON_LINUX: bool - def os_name: () -> ("windows" | "macos" | "linux" | "unknown") + def self.name: () -> ("windows" | "macos" | "linux" | "unknown") end end end diff --git a/sig/lib/capybara/screenshot/diff/region.rbs b/sig/capybara/screenshot/diff/region.rbs similarity index 91% rename from sig/lib/capybara/screenshot/diff/region.rbs rename to sig/capybara/screenshot/diff/region.rbs index d8d4b353..9fd61f26 100644 --- a/sig/lib/capybara/screenshot/diff/region.rbs +++ b/sig/capybara/screenshot/diff/region.rbs @@ -33,11 +33,11 @@ class Region def find_intersect_with: (Region region) -> Region? - def intersect?: (Region region) -> bool + def intersect?: (Region region) -> boolish def move_by: (Numeric right_by, Numeric down_by) -> Region def find_relative_intersect: (Region region) -> Region? - def cover?: (Numeric x, Numeric y) -> bool + def cover?: (Numeric x, Numeric y) -> boolish end diff --git a/sig/capybara/screenshot/diff/screenshot_matcher.rbs b/sig/capybara/screenshot/diff/screenshot_matcher.rbs new file mode 100644 index 00000000..ac7d42d4 --- /dev/null +++ b/sig/capybara/screenshot/diff/screenshot_matcher.rbs @@ -0,0 +1,60 @@ +module Capybara + module Screenshot + module Diff + class ScreenshotMatcher + + type job_entity = Array[top] + + attr_reader base_screenshot_path: TestMethods::path_entity + attr_reader driver_options: Drivers::BaseDriver::options_entity + attr_reader screenshot_full_name: TestMethods::path_entity + attr_reader screenshot_path: Pathname + + def build_screenshot_matches_job: -> job_entity? + def cleanup: -> void + + def self.base_image_path_from: -> Pathname + + private + + def build_screenshoter_for: (capture_options_entity capture_options, Drivers::BaseDriver::options_entity driver_options) -> (Screenshoter | StableScreenshoter) + + def checkout_base_screenshot: -> void + + def take_comparison_screenshot: (capture_options_entity capture_options, Drivers::BaseDriver::options_entity driver_options, TestMethods::path_entity screenshot_path) -> void + + def create_output_directory_for: (Pathname file_name) -> void + + type skip_area_entity = String | Region::raw_region_entity + type flex_skip_area_entity = (skip_area_entity | Array[skip_area_entity]) + type flex_crop_entity = (nil | String | Region | Region::raw_region_entity) + + def calculate_skip_area: (flex_skip_area_entity skip_area, flex_crop_entity crop) -> Array[Region] + + type input_region = (Region::raw_region_entity | String | Region) + + type input_options = { + area_size_limit: Numeric?, + color_distance_limit: Numeric?, + driver: (:auto | :vips | :chunky_png | ImageCompare::driver_entity)?, + median_filter_window_size: Numeric?, + shift_distance_limit: Numeric?, + skip_area: nil | Array[input_region] | input_region, + stability_time_limit: Numeric?, + tolerance: Numeric?, + wait: Numeric? + } + + def calculate_crop_region: (input_options driver_options) -> Region? + + type capture_options_entity = { + stability_time_limit: Numeric?, + wait: Numeric?, + crop: Region? + } + + def build_regions_for: ((Enumerable[Region::raw_region_entity]) coordinates) -> Array[Region?] + end + end + end +end diff --git a/sig/capybara/screenshot/diff/screenshoter.rbs b/sig/capybara/screenshot/diff/screenshoter.rbs new file mode 100644 index 00000000..00138280 --- /dev/null +++ b/sig/capybara/screenshot/diff/screenshoter.rbs @@ -0,0 +1,48 @@ +module Capybara + module Screenshot + class Screenshoter + @_csd_retina_warned: bool? + + attr_reader capture_options: Diff::ScreenshotMatcher::capture_options_entity + + attr_reader comparison_options: Diff::Drivers::BaseDriver::options_entity + + attr_reader driver: Diff::ImageCompare::driver_entity + + def initialize: (?Diff::ScreenshotMatcher::capture_options_entity capture_options, Diff::ImageCompare::driver_entity driver) -> void + + def crop: () -> Numeric? + + def wait: () -> Numeric? + + def self.attempts_screenshot_paths: (Diff::TestMethods::path_entity base_file) -> Array[String] + + def self.cleanup_attempts_screenshots: (Diff::TestMethods::path_entity base_file) -> void + + # Try to get screenshot from browser. + # On `stability_time_limit` it checks that page stop updating by comparison several screenshot attempts + # On reaching `wait` limit then it has been failed. On failing we annotate screenshot attempts to help to debug + def take_comparison_screenshot: (Diff::TestMethods::path_entity screenshot_path) -> void + + def self.gen_next_attempt_path: (Diff::TestMethods::path_entity screenshot_path, Integer iteration) -> Pathname + + def take_screenshot: (Diff::TestMethods::path_entity screenshot_path) -> void + + def browser_save_screenshot: (Diff::TestMethods::path_entity screenshot_path) -> void + + def process_screenshot: (Diff::TestMethods::path_entity screenshot_path) -> void + + def reduce_retina_image_size: (Diff::TestMethods::path_entity file_name) -> void + + def notice_how_to_avoid_this: () -> void + + def prepare_page_for_screenshot: (timeout: Numeric) -> BrowserHelpers::capybara_element? + + def wait_images_loaded: (timeout: Numeric) -> void + + private + + def selenium_with_retina_screen?: () -> boolish + end + end +end diff --git a/sig/capybara/screenshot/diff/stable_screenshoter.rbs b/sig/capybara/screenshot/diff/stable_screenshoter.rbs new file mode 100644 index 00000000..efc78277 --- /dev/null +++ b/sig/capybara/screenshot/diff/stable_screenshoter.rbs @@ -0,0 +1,29 @@ +module Capybara + module Screenshot + module Diff + class StableScreenshoter + STABILITY_OPTIONS: [:stability_time_limit, :wait] + + @_csd_retina_warned: boolish + + @comparison_options: Drivers::BaseDriver::options_entity + @screenshoter: (StableScreenshoter | Screenshoter) + @stability_time_limit: Numeric + + def take_comparison_screenshot: (TestMethods::path_entity screenshot_path) -> void + + def take_stable_screenshot: (TestMethods::path_entity) -> Pathname? + + private + + def annotate_attempts_and_fail!: (TestMethods::path_entity screenshot_path) -> void + + def build_comparison_for: -> ImageCompare + + def prepare_page_for_screenshot: (timeout: Numeric) -> top? + + def annotate_stabilization_images: (Array[String]) -> void + end + end + end +end diff --git a/sig/capybara/screenshot/diff/test_methods.rbs b/sig/capybara/screenshot/diff/test_methods.rbs new file mode 100644 index 00000000..f8f9ffb4 --- /dev/null +++ b/sig/capybara/screenshot/diff/test_methods.rbs @@ -0,0 +1,39 @@ +# Add the `screenshot` method to ActionDispatch::IntegrationTest +module Capybara + module Screenshot + module Diff + module TestMethods + type name_entity = (Symbol | String) + type path_entity = (string | Pathname) + + @screenshot_counter: Numeric? + @screenshot_group: String? + @screenshot_section: String? + @test_screenshot_errors: Array[top]? + @test_screenshots: Array[[Array[String]?, String, ImageCompare]]? + + def initialize: (*untyped) -> untyped + + def group_parts: () -> Array[String] + + def build_full_name: (name_entity name) -> String + + def schedule_match_job: ([untyped, untyped, untyped] job) -> true + + def screenshot_dir: () -> String + + def screenshot_section: (name_entity name) -> void + + def screenshot_group: (name_entity? name) -> void + + def screenshot: (name_entity name, ?skip_stack_frames: ::Integer, **untyped options) -> boolish + + def assert_image_not_changed: (Array[String] caller, String name, ImageCompare comparison) -> ::String? + + private + + def build_screenshot_matches_job: (String, Drivers::BaseDriver::options_entity) -> ScreenshotMatcher::job_entity? + end + end + end +end diff --git a/sig/capybara/screenshot/diff/vcs.rbs b/sig/capybara/screenshot/diff/vcs.rbs new file mode 100644 index 00000000..7615bdb0 --- /dev/null +++ b/sig/capybara/screenshot/diff/vcs.rbs @@ -0,0 +1,17 @@ +module Capybara + module Screenshot + module Diff + module Vcs + SILENCE_ERRORS: String + + def self.checkout_vcs: (Pathname screenshot_path, Pathname checkout_path) -> bool + + def self.restore_git_revision: (Pathname screenshot_path, Pathname checkout_path) -> bool + + def self.restore_svn_revision: -> bool + + def self.svn?: -> bool + end + end + end +end diff --git a/sig/lib/capybara/screenshot/diff/browser_helpers.rbs b/sig/lib/capybara/screenshot/diff/browser_helpers.rbs deleted file mode 100644 index 2f9765ac..00000000 --- a/sig/lib/capybara/screenshot/diff/browser_helpers.rbs +++ /dev/null @@ -1,40 +0,0 @@ -module Capybara - class Result - def map: () -> Result - end - module Screenshot - module BrowserHelpers - def current_capybara_driver_class: () -> untyped - - def selenium?: () -> bool? - - def window_size_is_wrong?: () -> bool - - def rect_for: (String css_selector) -> Region::raw_region_entity - - def bounds_for_css: (*String css_selectors) -> Array[Region::raw_region_entity] - - IMAGE_WAIT_SCRIPT: String - - def pending_image_to_load: () -> top? - - HIDE_CARET_SCRIPT: String - - def hide_caret: () -> void - - FIND_ACTIVE_ELEMENT_SCRIPT: String - - def blur_from_focused_element: () -> top? - - GET_BOUNDING_CLIENT_RECT_SCRIPT: String - - def all_visible_regions_for: (String selector) -> Array[Region::raw_region_entity] - - def region_for: (Result element) -> Region::raw_region_entity - - private - - def create_output_directory_for: (String file_name) -> void - end - end -end diff --git a/sig/lib/capybara/screenshot/diff/drivers/chunky_png_driver.rbs b/sig/lib/capybara/screenshot/diff/drivers/chunky_png_driver.rbs deleted file mode 100644 index f56c8dce..00000000 --- a/sig/lib/capybara/screenshot/diff/drivers/chunky_png_driver.rbs +++ /dev/null @@ -1,76 +0,0 @@ -module ChunkyPNG - class Canvas - end - - class Image - def self.from_blob: (String str) -> Image - - def self.from_file: (String filename) -> Image - end -end - -module Capybara - module Screenshot - module Diff - module Drivers - class ChunkyPNGDriver < BaseDriver[ChunkyPNG::Canvas] - private - - def build_region_for_whole_image: (ChunkyPNG::Image new_image) -> Region? - - def find_diff_rectangle: ( - ChunkyPNG::Image org_img, - ChunkyPNG::Image new_img, - (Region | Region::raw_region_entity) area_coordinates - ) -> Region? - - def find_top: (ChunkyPNG::Image old_img, ChunkyPNG::Image new_img) -> Region::raw_region_entity? - - def find_left_right_and_top: ( - ChunkyPNG::Image old_img, - ChunkyPNG::Image new_img, - (Region | Region::raw_region_entity) region - ) -> Region::raw_region_entity - - def find_bottom: ( - ChunkyPNG::Image old_img, - ChunkyPNG::Image new_img, - Integer left, - Integer right, - Integer bottom - ) -> Integer - - def same_color?: (ChunkyPNG::Image old_img, ChunkyPNG::Image new_img, Integer x, Integer y) -> bool - - def skipped_region?: (Integer x, Integer y) -> bool - - def color_distance_at: ( - ChunkyPNG::Image new_img, - ChunkyPNG::Image old_img, - Integer x, - Integer y, - shift_distance_limit: Numeric? - ) -> Float - - def shift_distance_at: ( - ChunkyPNG::Image new_img, - ChunkyPNG::Image old_img, - Integer x, - Integer y, - color_distance_limit: Numeric? - ) -> Numeric - - def color_matches: ( - ChunkyPNG::Image new_img, - Integer org_color, - Integer x, - Integer y, - Numeric? color_distance_limit - ) -> bool - - def _load_images: (String old_file, String new_file) -> [ChunkyPNG::Image, ChunkyPNG::Image] - end - end - end - end -end diff --git a/sig/lib/capybara/screenshot/diff/stabilization.rbs b/sig/lib/capybara/screenshot/diff/stabilization.rbs deleted file mode 100644 index fa3db655..00000000 --- a/sig/lib/capybara/screenshot/diff/stabilization.rbs +++ /dev/null @@ -1,37 +0,0 @@ -module Capybara - module Screenshot - module Diff - module Stabilization - include Os - - def take_stable_screenshot: (ImageCompare comparison, stability_time_limit: Numeric, wait: Numeric, crop: Region?) -> void - - def notice_how_to_avoid_this: () -> void - - private - - def build_snapshot_version_file_name: (ImageCompare comparison, Integer iteration, Time screenshot_started_at, ImageCompare stabilization_comparison) -> ::String - - def make_stabilization_comparison_from: (String new_file_name, String previous_file_name, Drivers::BaseDriver::options_entity driver_options) -> ImageCompare - - def reduce_retina_image_size: (String file_name, ImageCompare::driver_entity driver) -> void - - def stabilization_images: (String base_file) -> Array[String] - - def clean_stabilization_images: (String base_file) -> void - - def prepare_page_for_screenshot: (timeout: Numeric) -> top? - - def take_right_size_screenshot: (ImageCompare comparison, crop: Region?) -> void - - def check_max_wait_time: (ImageCompare comparison, Time screenshot_started_at, max_wait_time: Numeric) -> void - - def annotate_stabilization_images: (ImageCompare comparison) -> void - - def max_wait_time: (Numeric? shift_distance_limit, Numeric wait) -> Integer - - def assert_images_loaded: (timeout: Numeric) -> void - end - end - end -end diff --git a/sig/lib/capybara/screenshot/diff/test_methods.rbs b/sig/lib/capybara/screenshot/diff/test_methods.rbs deleted file mode 100644 index 47c7615a..00000000 --- a/sig/lib/capybara/screenshot/diff/test_methods.rbs +++ /dev/null @@ -1,57 +0,0 @@ -# Add the `screenshot` method to ActionDispatch::IntegrationTest -module Capybara - module Screenshot - module Diff - module TestMethods - include Stabilization - - include Vcs - - include BrowserHelpers - - type name_entity = (Symbol | String) - - def initialize: (*untyped) -> void - - def group_parts: () -> Array[String] - - def full_name: (name_entity name) -> String - - def screenshot_dir: () -> String - - def screenshot_section: (name_entity name) -> void - - def screenshot_group: (name_entity? name) -> void - - def screenshot: (name_entity name, ?skip_stack_frames: ::Integer, **untyped options) -> bool - - def assert_image_not_changed: ((String | Array[String]) caller, String name, ImageCompare comparison) -> ::String? - - private - - type input_options = { - area_size_limit: Numeric?, - color_distance_limit: Numeric?, - driver: (:auto | :vips | :chunky_png)?, - shift_distance_limit: Numeric?, - skip_area: nil | Array[Region::raw_region_entity | String] | String | Region::raw_region_entity, - stability_time_limit: Numeric?, - tolerance: Numeric?, - wait: Numeric? - } - - def calculate_crop_region: (input_options driver_options) -> Region? - - def create_output_directory_for: (String file_name) -> void - - def take_comparison_screenshot: (ImageCompare comparison, Region? crop, Numeric? stability_time_limit, Numeric? wait) -> void - - type skip_area_entity = String | Region::raw_region_entity - - def calculate_skip_area: ((skip_area_entity | Array[skip_area_entity]) skip_area, (nil | String | Region | Region::raw_region_entity) crop) -> Array[Region] - - def build_regions_for: ((Enumerable[Region::raw_region_entity]) coordinates) -> Array[Region?] - end - end - end -end diff --git a/sig/lib/capybara/screenshot/diff/vcs.rbs b/sig/lib/capybara/screenshot/diff/vcs.rbs deleted file mode 100644 index adf7ce5f..00000000 --- a/sig/lib/capybara/screenshot/diff/vcs.rbs +++ /dev/null @@ -1,13 +0,0 @@ -module Capybara - module Screenshot - module Diff - module Vcs - SILENCE_ERRORS: String - - def restore_git_revision: (String name, String target_file_name) -> void - - def checkout_vcs: (String name, String old_file_name, String new_file_name) -> void - end - end - end -end diff --git a/test/capybara/screenshot/diff/drivers/chunky_png_driver_test.rb b/test/capybara/screenshot/diff/drivers/chunky_png_driver_test.rb index e4d9b03a..751292dd 100644 --- a/test/capybara/screenshot/diff/drivers/chunky_png_driver_test.rb +++ b/test/capybara/screenshot/diff/drivers/chunky_png_driver_test.rb @@ -9,14 +9,14 @@ module Screenshot module Diff module Drivers class ChunkyPNGDriverTest < ActionDispatch::IntegrationTest - include TestHelper + include TestMethodsStub - test "it can be instantiated" do - assert ChunkyPNGDriver.new("images/b.png", "images/a.png") + teardown do + FileUtils.rm Dir["#{Rails.root}/screenshot*.png"] end - test "it can be instantiated with dimensions" do - assert ChunkyPNGDriver.new("images/b.png", "images/a.png", dimensions: [80, 80]) + test "it can be instantiated" do + assert ChunkyPNGDriver.new end test "#different? for equal is negative" do @@ -32,72 +32,74 @@ class ChunkyPNGDriverTest < ActionDispatch::IntegrationTest test "compare then dimensions and cleanup" do comp = make_comparison(:a, :c) assert comp.different? - assert_equal [11, 3, 48, 20], comp.difference_coordinates + assert_includes comp.error_message, "[11,3,48,20]" assert File.exist?(comp.old_file_name) - assert File.exist?(comp.annotated_old_file_name) - assert File.exist?(comp.annotated_new_file_name) + assert File.exist?(comp.annotated_base_image_path) + assert File.exist?(comp.annotated_image_path) comp = make_comparison(:c, :c) - assert !comp.different? - assert !File.exist?(comp.old_file_name) - assert !File.exist?(comp.annotated_old_file_name) - assert !File.exist?(comp.annotated_new_file_name) + assert_not comp.different? + assert_not File.exist?(comp.annotated_base_image_path) + assert_not File.exist?(comp.annotated_image_path) end test "compare of 1 pixel wide diff" do comp = make_comparison(:a, :d) assert comp.different? - assert_equal [9, 6, 9, 13], comp.difference_coordinates + assert_includes comp.error_message, "[9,6,9,13]" end test "compare with color_distance_limit above difference" do comp = make_comparison(:a, :b, color_distance_limit: 223) assert_not comp.different? - assert_equal 223, comp.driver.max_color_distance.ceil end test "compare with color_distance_limit below difference" do comp = make_comparison(:a, :b, color_distance_limit: 222) assert comp.different? - assert_equal 223, comp.driver.max_color_distance.ceil + assert_includes comp.error_message, "222.7" end test "compare with shift_distance_limit above difference" do comp = make_comparison(:a, :b, shift_distance_limit: 11) + assert comp.quick_equal? assert_not comp.different? - assert_equal 0, comp.driver.max_shift_distance.ceil end test "compare with shift_distance_limit below difference" do comp = make_comparison(:a, :b, shift_distance_limit: 9) assert comp.different? - assert_equal 11, comp.driver.max_shift_distance.ceil + assert_includes comp.error_message, "11" end test "quick_equal with color distance limit above max color distance" do comp = make_comparison(:a, :b, color_distance_limit: 224) - assert comp.quick_equal? - assert_equal 223, comp.driver.max_color_distance.ceil + assert_not comp.different? end test "quick_equal with color distance limit" do comp = make_comparison(:a, :b, color_distance_limit: 222) - assert !comp.quick_equal? - assert_equal 223, comp.driver.max_color_distance.ceil + assert_not comp.quick_equal? + assert comp.different? + assert_includes comp.error_message, "222.7" end test "max_color_distance a vs b" do comp = make_comparison(:a, :b) - assert_equal 223, comp.driver.max_color_distance.ceil + assert_not comp.quick_equal? + comp.different? + assert_includes comp.error_message, "85" end test "max_color_distance a vs c" do comp = make_comparison(:a, :c) - assert_equal 318, comp.driver.max_color_distance.ceil + comp.different? + assert_includes comp.error_message, "187.4" end test "max_color_distance a vs d" do comp = make_comparison(:a, :d) - assert_equal 271, comp.driver.max_color_distance.ceil + comp.different? + assert_includes comp.error_message, "269.1" end test "max_color_distance 1.0" do @@ -108,24 +110,27 @@ class ChunkyPNGDriverTest < ActionDispatch::IntegrationTest other_img_filename = comp.new_file_name a_img.save(other_img_filename) - assert_equal 1, comp.driver.max_color_distance + comp.different? + + assert_includes comp.error_message, "1" end test "size a vs a_cropped" do comp = make_comparison(:a, :a_cropped) - comp.different? - assert_equal 4800, comp.difference_region_area_size + assert comp.different? + assert_includes comp.error_message, "Screenshot dimension has been changed for " + assert_includes comp.error_message, "80x60" end # Test Interface Contracts test "from_file loads image from path" do - driver = ChunkyPNGDriver.new("#{Rails.root}/screenshot.png", "images/a.png") + driver = ChunkyPNGDriver.new assert driver.from_file("#{TEST_IMAGES_DIR}/a.png") end test "tolerance" do - driver = ChunkyPNGDriver.new("#{Rails.root}/screenshot.png", "images/a.png") + driver = ChunkyPNGDriver.new level = driver.difference_level( nil, @@ -139,13 +144,7 @@ class ChunkyPNGDriverTest < ActionDispatch::IntegrationTest private def make_comparison(old_img, new_img, options = {}) - comp = ImageCompare.new( - "#{Rails.root}/screenshot.png", - nil, - options.merge(driver: :chunky_png) - ) - set_test_images(comp, old_img, new_img) - comp + super(old_img, new_img, **options.merge(driver: :chunky_png)) end def sample_region diff --git a/test/capybara/screenshot/diff/drivers/vips_driver_test.rb b/test/capybara/screenshot/diff/drivers/vips_driver_test.rb index ebf6fb09..b0ed8c6f 100644 --- a/test/capybara/screenshot/diff/drivers/vips_driver_test.rb +++ b/test/capybara/screenshot/diff/drivers/vips_driver_test.rb @@ -10,7 +10,7 @@ module Screenshot module Diff module Drivers class VipsDriverTest < ActionDispatch::IntegrationTest - include TestHelper + include TestMethodsStub setup do @new_screenshot_result = Tempfile.new(%w[screenshot .png], Rails.root) @@ -38,34 +38,29 @@ class VipsDriverTest < ActionDispatch::IntegrationTest end test "it can be instantiated" do - assert VipsDriver.new("images/b.png", "images/a.png") - end - - test "it can be instantiated with dimensions" do - assert VipsDriver.new("images/b.png", "images/a.png", dimensions: [80, 80]) + assert VipsDriver.new end test "when different does not clean runtime files" do comp = make_comparison(:a, :c) assert comp.different? - assert_equal [11.0, 3.0, 49.0, 21.0], comp.difference_coordinates + assert_includes comp.error_message, "[11.0,3.0,49.0,21.0]" assert File.exist?(comp.old_file_name) - assert File.exist?(comp.annotated_old_file_name) - assert File.exist?(comp.annotated_new_file_name) + assert File.exist?(comp.annotated_base_image_path) + assert File.exist?(comp.annotated_image_path) end test "when equal clean runtime files" do comp = make_comparison(:c, :c) assert_not comp.different? - assert_not File.exist?(comp.old_file_name) - assert_not File.exist?(comp.annotated_old_file_name) - assert_not File.exist?(comp.annotated_new_file_name) + assert_not File.exist?(comp.annotated_base_image_path) + assert_not File.exist?(comp.annotated_image_path) end test "compare of 1 pixel wide diff" do comp = make_comparison(:a, :d) assert comp.different? - assert_equal [9.0, 6.0, 10.0, 14.0], comp.difference_coordinates + assert_includes comp.error_message, "[9.0,6.0,10.0,14.0]" end test "compare with color_distance_limit above difference" do @@ -82,6 +77,7 @@ class VipsDriverTest < ActionDispatch::IntegrationTest comp = make_comparison(:a, :b, tolerance: 0.01) assert comp.quick_equal? assert_not comp.different? + assert_not comp.error_message end test "compare with tolerance level less then area of the difference" do @@ -113,8 +109,9 @@ class VipsDriverTest < ActionDispatch::IntegrationTest test "size a vs a_cropped" do comp = make_comparison(:a, :a_cropped) - comp.different? - assert_equal 4800, comp.difference_region_area_size + assert comp.different? + assert_includes comp.error_message, "Screenshot dimension has been changed for " + assert_includes comp.error_message, "80x60" end test "quick_equal compare skips difference if skip_area covers it" do @@ -146,16 +143,15 @@ class VipsDriverTest < ActionDispatch::IntegrationTest # Test Interface Contracts test "from_file loads image from path" do - driver = VipsDriver.new("#{Rails.root}/screenshot.png", "images/a.png") - assert driver.from_file("#{TEST_IMAGES_DIR}/a.png") + driver = VipsDriver.new + assert driver.from_file(TEST_IMAGES_DIR / "a.png") end private def make_comparison(old_img, new_img, options = {}) - result = ImageCompare.new(@new_screenshot_result.path, nil, options.merge(driver: :vips)) - set_test_images(result, old_img, new_img) - result + destination = Pathname.new(@new_screenshot_result.path) + super(old_img, new_img, destination: destination, **options.merge(driver: :vips)) end def sample_region @@ -171,6 +167,19 @@ class VipsUtilTest < ActiveSupport::TestCase left, top, right, bottom = difference(old_image, new_image) assert_equal [20.0, 15.0, 30.0, 25.0], [left, top, right, bottom] + + left, top, right, bottom = difference(old_image, new_image, color_distance: 0) + + assert_equal [20.0, 15.0, 30.0, 25.0], [left, top, right, bottom] + end + + test "segment difference with min color difference" do + old_image = Vips::Image.new_from_file("#{TEST_IMAGES_DIR}/a.png") + new_image = Vips::Image.new_from_file("#{TEST_IMAGES_DIR}/b.png") + + left, top, right, bottom = difference(old_image, new_image, color_distance: 150) + + assert_equal [26.0, 18.0, 27.0, 19.0], [left, top, right, bottom] end test "segment difference" do @@ -191,8 +200,8 @@ class VipsUtilTest < ActiveSupport::TestCase private - def difference(old_image, new_image, color_distance: 0) - diff_mask = VipsDriver::VipsUtil.difference_mask(color_distance, new_image, old_image) + def difference(old_image, new_image, color_distance: nil) + diff_mask = VipsDriver::VipsUtil.difference_mask(new_image, old_image, color_distance) VipsDriver::VipsUtil.difference_region_by(diff_mask).to_edge_coordinates end end diff --git a/test/capybara/screenshot/diff/image_compare_test.rb b/test/capybara/screenshot/diff/image_compare_test.rb index f3a9bf20..2ea3c9ba 100644 --- a/test/capybara/screenshot/diff/image_compare_test.rb +++ b/test/capybara/screenshot/diff/image_compare_test.rb @@ -9,23 +9,30 @@ module Capybara module Screenshot module Diff class ImageCompareTest < ActionDispatch::IntegrationTest - include TestHelper + include TestMethodsStub test "it can be instantiated with chunky_png driver" do - comparison = ImageCompare.new("images/b.png", nil) + comparison = ImageCompare.new("images/b.png", "images/b.base.png") assert_kind_of Drivers::ChunkyPNGDriver, comparison.driver end test "it can be instantiated with explicit chunky_png adapter" do - comparison = ImageCompare.new("images/b.png", nil, driver: :chunky_png) + comparison = ImageCompare.new("images/b.png", "images/b.base.png", driver: :chunky_png) assert_kind_of Drivers::ChunkyPNGDriver, comparison.driver end test "it can be instantiated with vips adapter" do - comparison = ImageCompare.new("images/b.png", nil, driver: :vips) + comparison = ImageCompare.new("images/b.png", "images/b.base.png", driver: :vips) assert_kind_of Drivers::VipsDriver, comparison.driver end + test "it generates annotation files on difference" do + comparison = make_comparison(:a, :b, driver: :vips) + assert comparison.different? + assert comparison.annotated_base_image_path.exist? + assert comparison.annotated_image_path.exist? + end + test "it can be instantiated with vips adapter and tolerance option" do comp = make_comparison(:a, :b, driver: :vips, tolerance: 0.02) assert comp.quick_equal? @@ -33,29 +40,29 @@ class ImageCompareTest < ActionDispatch::IntegrationTest end test "could pass use tolerance for chunky_png driver" do - ImageCompare.new("images/b.png", nil, driver: :chunky_png, tolerance: 0.02) + ImageCompare.new("images/b.png", "images/b.base.png", driver: :chunky_png, tolerance: 0.02) end test "it can be instantiated with dimensions" do - assert ImageCompare.new("images/b.png", nil, dimensions: [80, 80]) + assert ImageCompare.new("images/b.png", "images/b.base.png", dimensions: [80, 80]) end test "for driver: :auto returns first from available drivers" do - comparison = ImageCompare.new("images/b.png", nil, driver: :auto) + comparison = ImageCompare.new("images/b.png", "images/b.base.png", driver: :auto) assert_kind_of Drivers::VipsDriver, comparison.driver end test "for driver: :auto raise error if no drivers are available" do Capybara::Screenshot::Diff.stub_const(:AVAILABLE_DRIVERS, []) do assert_raise(RuntimeError) do - ImageCompare.new("images/b.png", nil, driver: :auto) + ImageCompare.new("images/b.png", "images/b.base.png", driver: :auto) end end end end class IntegrationRegressionTest < ActionDispatch::IntegrationTest - include TestHelper + include TestMethodsStub AVAILABLE_DRIVERS = [{}, {driver: :chunky_png}] diff --git a/test/capybara/screenshot/diff/region_test.rb b/test/capybara/screenshot/diff/region_test.rb index ff430e39..594ce287 100644 --- a/test/capybara/screenshot/diff/region_test.rb +++ b/test/capybara/screenshot/diff/region_test.rb @@ -2,59 +2,61 @@ require "test_helper" -class RegionTest < ActiveSupport::TestCase - test "move_by moves region coordinates" do - region = Region.new(10, 10, 10, 10).move_by(-5, -5) - - assert_equal 5, region.x - assert_equal 5, region.y - assert_equal 10, region.width - assert_equal 10, region.height - end - - test "find_intersect" do - crop = Region.new(5, 5, 10, 10) - region = Region.new(10, 10, 20, 20).find_intersect_with(crop) - - assert_equal 10, region.x - assert_equal 10, region.y - assert_equal 5, region.width - assert_equal 5, region.height - end - - test "find_relative_intersect finds intersect and returns relative position" do - crop = Region.new(5, 5, 10, 10) - - region = crop.find_relative_intersect(Region.new(0, 0, 20, 20)) - - assert_equal 0, region.x - assert_equal 0, region.y - assert_equal 10, region.width - assert_equal 10, region.height - - region = crop.find_relative_intersect(Region.new(10, 10, 20, 20)) - - assert_equal 5, region.x - assert_equal 5, region.y - assert_equal 5, region.width - assert_equal 5, region.height - end - - test ".from_edge_coordinates returns nil for missed coordinates" do - assert_nil Region.from_edge_coordinates(0, 0, nil, nil) - end - - test ".from_edge_coordinates returns nil for bottom before top and right before left" do - assert_nil Region.from_edge_coordinates(10, 10, 9, 11) - assert_nil Region.from_edge_coordinates(10, 10, 11, 9) - end - - test ".from_top_left_corner_coordinates returns nil for missed coordinates" do - assert_nil Region.from_top_left_corner_coordinates(0, 0, nil, nil) - end - - test ".from_top_left_corner_coordinates returns nil for negative width or height" do - assert_nil Region.from_top_left_corner_coordinates(10, 10, -1, 11) - assert_nil Region.from_top_left_corner_coordinates(10, 10, 11, -1) +module Capybara::Screenshot::Diff + class RegionTest < ActiveSupport::TestCase + test "move_by moves region coordinates" do + region = Region.new(10, 10, 10, 10).move_by(-5, -5) + + assert_equal 5, region.x + assert_equal 5, region.y + assert_equal 10, region.width + assert_equal 10, region.height + end + + test "find_intersect" do + crop = Region.new(5, 5, 10, 10) + region = Region.new(10, 10, 20, 20).find_intersect_with(crop) + + assert_equal 10, region.x + assert_equal 10, region.y + assert_equal 5, region.width + assert_equal 5, region.height + end + + test "find_relative_intersect finds intersect and returns relative position" do + crop = Region.new(5, 5, 10, 10) + + region = crop.find_relative_intersect(Region.new(0, 0, 20, 20)) + + assert_equal 0, region.x + assert_equal 0, region.y + assert_equal 10, region.width + assert_equal 10, region.height + + region = crop.find_relative_intersect(Region.new(10, 10, 20, 20)) + + assert_equal 5, region.x + assert_equal 5, region.y + assert_equal 5, region.width + assert_equal 5, region.height + end + + test ".from_edge_coordinates returns nil for missed coordinates" do + assert_nil Region.from_edge_coordinates(0, 0, nil, nil) + end + + test ".from_edge_coordinates returns nil for bottom before top and right before left" do + assert_nil Region.from_edge_coordinates(10, 10, 9, 11) + assert_nil Region.from_edge_coordinates(10, 10, 11, 9) + end + + test ".from_top_left_corner_coordinates returns nil for missed coordinates" do + assert_nil Region.from_top_left_corner_coordinates(0, 0, nil, nil) + end + + test ".from_top_left_corner_coordinates returns nil for negative width or height" do + assert_nil Region.from_top_left_corner_coordinates(10, 10, -1, 11) + assert_nil Region.from_top_left_corner_coordinates(10, 10, 11, -1) + end end end diff --git a/test/capybara/screenshot/diff/stabilization_test.rb b/test/capybara/screenshot/diff/stabilization_test.rb deleted file mode 100644 index af9d4e0a..00000000 --- a/test/capybara/screenshot/diff/stabilization_test.rb +++ /dev/null @@ -1,32 +0,0 @@ -# frozen_string_literal: true - -require "test_helper" - -module Capybara - module Screenshot - module Diff - class StabilizationTest < ActionDispatch::IntegrationTest - include TestMethods - include TestHelper - - ImageCompareStub = Struct.new( - :old_file_name, :new_file_name, :driver, :reset, :driver_options, :shift_distance_limit - ) - - test "several iterations to take stable screenshot" do - image_compare_stub = ImageCompareStub.new( - "old.png", "tmp/01_a.png", ::Minitest::Mock.new, nil, Capybara::Screenshot::Diff.default_options, nil - ) - - mock = ::Minitest::Mock.new(image_compare_stub) - - mock.expect(:quick_equal?, false) - mock.expect(:quick_equal?, false) - mock.expect(:quick_equal?, true) - - take_stable_screenshot(mock, stability_time_limit: 1, wait: 1, crop: nil) - end - end - end - end -end diff --git a/test/capybara/screenshot/diff/stable_screenshoter_test.rb b/test/capybara/screenshot/diff/stable_screenshoter_test.rb new file mode 100644 index 00000000..6f916c05 --- /dev/null +++ b/test/capybara/screenshot/diff/stable_screenshoter_test.rb @@ -0,0 +1,123 @@ +# frozen_string_literal: true + +require "test_helper" + +module Capybara + module Screenshot + module Diff + class StableScreenshoterTest < ActionDispatch::IntegrationTest + include TestMethods + include TestMethodsStub + + test "#take_stable_screenshot several iterations to take stable screenshot" do + image_compare_stub = build_image_compare_stub + + mock = ::Minitest::Mock.new(image_compare_stub) + + mock.expect(:quick_equal?, false) + mock.expect(:quick_equal?, false) + mock.expect(:quick_equal?, true) + + ImageCompare.stub :new, mock do + take_stable_screenshot_with("tmp/02_a.png") + end + + mock.verify + end + + test "#take_comparison_screenshot deletes runtime files on completion" do + image_compare_stub = build_image_compare_stub + + mock = ::Minitest::Mock.new(image_compare_stub) + mock.expect(:quick_equal?, false) + mock.expect(:quick_equal?, true) + + assert_not (Capybara::Screenshot.root / "02_a.png").exist? + + ImageCompare.stub :new, mock do + StableScreenshoter + .new({stability_time_limit: 1, wait: 0.5}, image_compare_stub.driver_options) + .take_comparison_screenshot("tmp/02_a.png") + end + + mock.verify + assert_empty Dir[Capybara::Screenshot.root / "**/02_a.attempt_*.png"] + assert (Capybara::Screenshot.root / "02_a.png").exist? + assert_not_predicate (Capybara::Screenshot.root / "02_a.png").size, :zero? + end + + test "#take_comparison_screenshot fail on missing find stable image in time and generates annotated history screenshots" do + screenshot_path = Pathname.new("tmp/01_a.png") + image_compare_stub = build_image_compare_stub(equal: false) + + # Stub annotated files for generated comparison annotations + attempts_paths = [ + screenshot_path.sub_ext(".attempt_00.png"), + screenshot_path.sub_ext(".attempt_01.png") + ] + + FileUtils.touch(attempts_paths) + + # Stub annotated files for generated comparison annotations + # We need to have different from screenshot_path name because of other stubs + annotated_screenshot_path = Pathname.new("tmp/02_a.png") + annotated_attempts_paths = [ + annotated_screenshot_path.sub_ext(".attempt_00.latest.png"), + annotated_screenshot_path.sub_ext(".attempt_00.committed.png"), + annotated_screenshot_path.sub_ext(".attempt_01.latest.png"), + annotated_screenshot_path.sub_ext(".attempt_01.committed.png") + ] + + FileUtils.touch(annotated_attempts_paths) + + mock = ::Minitest::Mock.new(image_compare_stub) + annotated_attempts_paths.each_slice(2) do |latest_path, committed_path| + mock.expect(:annotated_image_path, latest_path.to_s) + mock.expect(:annotated_base_image_path, committed_path.to_s) + end + + assert_raises RuntimeError, "Could not get stable screenshot within 1s" do + ImageCompare.stub :new, mock do + # Wait time is less then stability time, which will generate problem + StableScreenshoter + .new({stability_time_limit: 1, wait: 0.5}, image_compare_stub.driver_options) + .take_comparison_screenshot(screenshot_path.to_s) + end + end + + mock.verify + + # There are no runtime files to find difference on stabilization + assert_empty Dir["tmp/*_a*.latest.png"] + assert_empty Dir["tmp/*_a*.committed.png"] + + # All stabilization files should be annotated + assert_equal(0, Pathname.new(Dir["tmp/01_a*.png"].last).size) + ensure + FileUtils.rm_rf Dir["tmp/01_a*.png"] + end + + private + + ImageCompareStub = Struct.new( + :driver, :driver_options, :shift_distance_limit, :quick_equal?, :different?, keyword_init: true + ) + + def build_image_compare_stub(equal: true) + ImageCompareStub.new( + driver: ::Minitest::Mock.new, + driver_options: Capybara::Screenshot::Diff.default_options, + shift_distance_limit: nil, + quick_equal?: equal, + different?: !equal + ) + end + + def take_stable_screenshot_with(screenshot_path, stability_time_limit: 0.01, wait: 10) + screenshoter = StableScreenshoter.new({stability_time_limit: stability_time_limit, wait: wait}) + screenshoter.take_stable_screenshot(screenshot_path) + end + end + end + end +end diff --git a/test/capybara/screenshot/diff/test_methods_test.rb b/test/capybara/screenshot/diff/test_methods_test.rb index e02cb56d..4e6c221e 100644 --- a/test/capybara/screenshot/diff/test_methods_test.rb +++ b/test/capybara/screenshot/diff/test_methods_test.rb @@ -7,29 +7,32 @@ module Screenshot module Diff class TestMethodsTest < ActionDispatch::IntegrationTest include TestMethods - include TestHelper + include TestMethodsStub def test_assert_image_not_changed - message = assert_image_not_changed("caller", "name", make_comparison(:a, :c)) + message = assert_image_not_changed(["caller"], "name", make_comparison(:a, :c)) value = (RUBY_VERSION >= "2.4") ? 187.4 : 188 assert_equal <<-MSG.strip_heredoc.chomp, message Screenshot does not match for 'name' ({"area_size":629,"region":[11,3,48,20],"max_color_distance":#{value}}) #{Rails.root}/doc/screenshots/screenshot.png - #{Rails.root}/doc/screenshots/screenshot.committed.png - #{Rails.root}/doc/screenshots/screenshot.latest.png + #{Rails.root}/doc/screenshots/screenshot.base.diff.png + #{Rails.root}/doc/screenshots/screenshot.diff.png at caller MSG end def test_assert_image_not_changed_with_shift_distance_limit - message = - assert_image_not_changed("caller", "name", make_comparison(:a, :c, shift_distance_limit: 1, driver: :chunky_png)) + message = assert_image_not_changed( + ["caller"], + "name", + make_comparison(:a, :c, shift_distance_limit: 1, driver: :chunky_png) + ) value = (RUBY_VERSION >= "2.4") ? 5.0 : 5 assert_equal <<-MSG.strip_heredoc.chomp, message Screenshot does not match for 'name' ({"area_size":629,"region":[11,3,48,20],"max_color_distance":#{value},"max_shift_distance":15}) #{Rails.root}/doc/screenshots/screenshot.png - #{Rails.root}/doc/screenshots/screenshot.committed.png - #{Rails.root}/doc/screenshots/screenshot.latest.png + #{Rails.root}/doc/screenshots/screenshot.base.diff.png + #{Rails.root}/doc/screenshots/screenshot.diff.png at caller MSG end @@ -40,28 +43,53 @@ def test_screenshot_support_drivers_options end def test_skip_stack_frames - assert_nil @test_screenshots - make_comparison(:a, :c, name: "a") + Vcs.stub(:checkout_vcs, true) do + assert_predicate @test_screenshots, :blank? + make_comparison(:a, :c, destination: Rails.root / "doc/screenshots/a.png") - our_screenshot("a", 0) - assert_equal 1, @test_screenshots.size - unless ENV["RBS_TEST_TARGET"] # RBS generates new methods for checking types, so we do not know their names - assert_match(/test_methods_test.rb:\d+:in `our_screenshot'/, @test_screenshots[0][0]) - end - assert_equal "a", @test_screenshots[0][1] + our_screenshot("a", 1) + assert_equal 1, @test_screenshots.size + unless ENV["RBS_TEST_TARGET"] # RBS generates new methods for checking types, so we do not know their names + assert_match( + /test_methods_test.rb:\d+:in `our_screenshot'/, + @test_screenshots.dig(0, 0, 0) + ) + end + assert_equal "a", @test_screenshots[0][1] - our_screenshot("a", 1) - assert_equal 2, @test_screenshots.size - unless ENV["RBS_TEST_TARGET"] # RBS generates new methods for checking types, so we do not know their names - assert_match(/test_methods_test.rb:\d+:in `test_skip_stack_frames'/, @test_screenshots[1][0]) + our_screenshot("a", 2) + assert_equal 2, @test_screenshots.size + unless ENV["RBS_TEST_TARGET"] # RBS generates new methods for checking types, so we do not know their names + assert_match( + /test_methods_test.rb:.*?test_skip_stack_frames/, + @test_screenshots.dig(1, 0, 0) + ) + end + assert_equal "a", @test_screenshots[1][1] end - assert_equal "a", @test_screenshots[1][1] end def test_skip_area_and_stability_time_limit screenshot(:a, skip_area: [0, 0, 1, 1], stability_time_limit: 0.01) end + def test_creates_new_screenshot + screenshot(:c) + assert (Capybara::Screenshot.screenshot_area_abs / "c.png").exist? + end + + def test_cleanup_base_image_for_no_change + comparison = make_comparison(:a, :a) + assert_image_not_changed(["caller"], "name", comparison) + assert_not comparison.base_image_path.exist? + end + + def test_cleanup_base_image_for_changes + comparison = make_comparison(:a, :b) + assert_image_not_changed(["caller"], "name", comparison) + assert_not comparison.base_image_path.exist? + end + private def our_screenshot(name, skip_stack_frames) diff --git a/test/capybara/screenshot/diff/vcs_test.rb b/test/capybara/screenshot/diff/vcs_test.rb new file mode 100644 index 00000000..3982c786 --- /dev/null +++ b/test/capybara/screenshot/diff/vcs_test.rb @@ -0,0 +1,38 @@ +# frozen_string_literal: true + +require "test_helper" + +module Capybara + module Screenshot + module Diff + class VcsTest < ActionDispatch::IntegrationTest + include Vcs + + setup do + @base_screenshot = Tempfile.new(%w[vcs_base_screenshot attempt.0.png], Rails.root) + end + + teardown do + if @base_screenshot.is_a?(Tempfile) + @base_screenshot.close + @base_screenshot.unlink + end + end + + test "checkout of original screenshot" do + prev_root = Capybara::Screenshot.root + Capybara::Screenshot.root = "." + + screenshot_path = Capybara::Screenshot.root / "test/images/a.png" + base_screenshot_path = Pathname.new(@base_screenshot.path) + assert Vcs.restore_git_revision(screenshot_path, base_screenshot_path) + + assert base_screenshot_path.exist? + assert_equal screenshot_path.size, base_screenshot_path.size + ensure + Capybara::Screenshot.root = prev_root + end + end + end + end +end diff --git a/test/capybara/screenshot/diff_test.rb b/test/capybara/screenshot/diff_test.rb index 0a51817e..d0393cf4 100644 --- a/test/capybara/screenshot/diff_test.rb +++ b/test/capybara/screenshot/diff_test.rb @@ -18,9 +18,11 @@ class DiffTest < ActionDispatch::IntegrationTest end include Capybara::Screenshot::Diff - include Diff::TestHelper + include Diff::TestMethodsStub teardown do + FileUtils.rm_rf Capybara::Screenshot.screenshot_area_abs + Capybara::Screenshot.add_os_path = @orig_add_os_path Capybara::Screenshot.add_driver_path = @orig_add_driver_path Capybara::Screenshot.window_size = @orig_window_size @@ -79,7 +81,7 @@ def test_screenshot_with_color_threshold a_img = ChunkyPNG::Image.from_blob(File.binread("#{TEST_IMAGES_DIR}/a.png")) a_val = a_img[9, 14] a_img[9, 14] = a_val + 0x010000 + 0x000100 + 0x000001 - rev_filename = "#{Rails.root}/#{screenshot_dir}/a_0.png~" + rev_filename = "#{Rails.root}/#{screenshot_dir}/0_a.png" FileUtils.mkdir_p(File.dirname(rev_filename)) a_img.save(rev_filename) @@ -88,19 +90,19 @@ def test_screenshot_with_color_threshold File.delete(rev_filename) if File.exist?(rev_filename) end - test "full_name" do - assert_equal "a", full_name("a") + test "build_full_name" do + assert_equal "a", build_full_name("a") screenshot_group "b" - assert_equal "b/a", full_name("a") + assert_equal "b/00_a", build_full_name("a") screenshot_section "c" - assert_equal "c/b/a", full_name("a") + assert_equal "c/b/01_a", build_full_name("a") screenshot_group nil - assert_equal "c/a", full_name("a") + assert_equal "c/a", build_full_name("a") end - test "full_name allows symbol" do + test "build_full_name allows symbol" do screenshot_group :b - assert_equal "b/a", full_name(:a) + assert_equal "b/00_a", build_full_name(:a) end test "detect available diff drivers on the loading" do @@ -120,6 +122,7 @@ class SampleMiniTestCase < ActionDispatch::IntegrationTest def _test_sample_screenshot_error mock = ::Minitest::Mock.new mock.expect(:different?, true) + mock.expect(:base_image_path, Pathname.new("screenshot.base.png")) mock.expect(:error_message, "expected error message") @test_screenshots = [] @@ -155,6 +158,7 @@ def teardown def _test_sample_screenshot_error comparison = ::Minitest::Mock.new comparison.expect(:different?, true) + comparison.expect(:base_image_path, Pathname.new("screenshot.base.png")) comparison.expect(:error_message, "expected error message for non minitest") @test_screenshots = [] diff --git a/test/fixtures/app/doc/screenshots/chrome/macos/index_with_skip_area_as_array_of_css.png b/test/fixtures/app/doc/screenshots/chrome/macos/index_with_skip_area_as_array_of_css.png new file mode 100644 index 0000000000000000000000000000000000000000..d506803e911bebf7d62d222a76639c0399a18118 GIT binary patch literal 27725 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 literal 0 HcmV?d00001 diff --git a/test/fixtures/app/doc/screenshots/chrome/macos/index_with_skip_area_as_array_of_css_and_p.png b/test/fixtures/app/doc/screenshots/chrome/macos/index_with_skip_area_as_array_of_css_and_p.png new file mode 100644 index 0000000000000000000000000000000000000000..d506803e911bebf7d62d222a76639c0399a18118 GIT binary patch literal 27725 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 literal 0 HcmV?d00001 diff --git a/test/fixtures/app/doc/screenshots/firefox/macos/index-cropped.png b/test/fixtures/app/doc/screenshots/firefox/macos/index-cropped.png index 4632d919d6f54343e39e6511823d1c5b2d384957..30ceb97d66409c4cffa30443f58e91ec4208b6b7 100644 GIT binary patch literal 3838 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 DfJ9y& diff --git a/test/fixtures/app/doc/screenshots/firefox/macos/index.png b/test/fixtures/app/doc/screenshots/firefox/macos/index.png index df7b5597f64d3f1c4518e030be37b987d83d915c..7ad0bed7863bc8b9cdead130801563f979fcfb74 100644 GIT binary patch literal 31923 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

%D~OfhA;g`E-RI&QjA~c} zFPMmS^_i9Eo538CU3HbvQ||2>3A6qPyulpgvSW-><+%H>4%i(ee(|)?+L|XSj*V?d zy7JXdv<^{D&QrGMnxbB%g#W80EhT{xI}BOF)pEYKkAJ`wv$5@3wKe=6t-`$V9Ocz~ z@p)iX>T*(DrYD%%2V*iBKZW%7vs(_tL%%x>RE*|T@aOke_N^Q}8`LnLzjpKu$4hX| z4jw$rG4t`;P*4qqI-pxHij)?=Cvy5iZn{}`qWWnSZd{v^Lk>x7?H}~6(TPX* zg!@^T=_8v5v#F$xqxgn zyCv;wROR6Pt8!dr!Xh7QLZF9grZtffW7&aekL#AC2VZZHT_B=9+}BDuyfc6K=rK#q zGB?@m)%I4QO{4ldK{Q@P8J1xWWMiNDPg&*{$$*$_U0gfY7Y>IU`+OT9U^LIz8yDKW z=MAagh3~m8NfChHdF7+YgxWFg(&bha(~YcJqD+1%tjDeh%)w`ME~ZD#OHI1jceqRC zUA6Z|{d(P|{?P;x3+Cbj1I0fX59g)k4ZAIeqq1^IGpqH> zi7Ci7RMPL>$B4`fho|tsnU7d1pdZ_O(;jQyz5A=2peO&4!Q(G?TL?)=R*gcErZiQ5 zrP#84i8mmKid$2NnF|yJ5olOK<&EABoI8a_!n+*Z$XgD%Ko9vD`Dys>9ohNpDHsj> zs%LfaJ#Yo@fG_Uw3o%9jeCK_tPz~c~P$;Rl_MNe%5z0zn_l!Q9^@X^pV_jau3d-(U ztkCEdW9D!Cn4~$0H#UlzhuF2!Hch1w>~jh64#t4gq@ei>@MToU_G%`d{qkeVs`{M@ zso}02-fUsKnMh7i{jds=fll<{cA&k+jC5Ud$Ss_ zPj9A$yVMZ_Y9FnloK5Mb<3HQ5Fgy8jb}-h6xy$W$A(}B93;m;fh14$dFst&BjI51a zp)>&CNZ*SUj(EW#lJS}BgwOg*m>~QY$U{@HmeS&cG#n=jmnLG+~Ik7PUki>QBEtRDG_m&e{iV*b?-oH0?2p-}+LzSUUQ(HjTux^Pau7 zUDaNl%#tkD#srm-ndyvlNKp^$^ao^NfjixS$14GiPyY1=mba#{yKyCJMbqnK#Gu-9 z)!>~dLTcTkx~i`U$D*HkHs^kbTFoP6lG~mY^T6#)R+?pk?Y36E8!`%%+(SA;pZa{6 zDAV9|^BF=9ibu0R&*{!64T1?4R7wOIcE=3++ur_YHa4;k-{k!1^Ac-tKMu8^ZD^hH`v(8;2|#76YQl%M10WGk2k^VWsZMIFf^Q-z>o+L^I;qX}pB=kAf|z#SwdoxP+D*S)xIl>Xy2(KK5nnq{¨OQLZAj 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 literal 31845 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 BBcuQT diff --git a/test/fixtures/app/index-with-anim.html b/test/fixtures/app/index-with-anim.html new file mode 100644 index 00000000..2056539d --- /dev/null +++ b/test/fixtures/app/index-with-anim.html @@ -0,0 +1,40 @@ + + + + + + + +

Animation

+ +
+ + + + + diff --git a/test/integration/browser_screenshot_test.rb b/test/integration/browser_screenshot_test.rb index 867d4673..83b167ec 100644 --- a/test/integration/browser_screenshot_test.rb +++ b/test/integration/browser_screenshot_test.rb @@ -2,202 +2,225 @@ require "system_test_case" -class BrowserScreenshotTest < SystemTestCase - setup do - Capybara::Screenshot.blur_active_element = true - end +module Capybara::Screenshot + class BrowserScreenshotTest < SystemTestCase + setup do + Capybara::Screenshot.blur_active_element = true + end - teardown do - Capybara::Screenshot.blur_active_element = nil + teardown do + Capybara::Screenshot.blur_active_element = nil - if @test_screenshots - @test_screenshots.each(&method(:rollback_comparison_runtime_files)) - # NOTE: We clear tracked different errors in order to not raise error - @test_screenshots.clear + if @test_screenshots + @test_screenshots.each(&method(:rollback_comparison_runtime_files)) + # NOTE: We clear tracked different errors in order to not raise error + @test_screenshots.clear + end end - end - def test_screenshot_without_changes - visit "/" - screenshot "index" - end + def test_screenshot_without_changes + visit "/" + screenshot "index" + end - def test_screenshot_with_changes - visit "/" + def test_screenshot_with_changes + visit "/" - fill_in "First Field:", with: "Some changes in the field" + fill_in "First Field:", with: "Some changes in the field" - assert screenshot("index") + assert screenshot("index") - assert_screenshot_error_for("index") - end + assert_screenshot_error_for("index") + end - def test_window_size_should_resize_browser_window_in_setup - assert_equal [800, 600], window_size - end + def test_window_size_should_resize_browser_window_in_setup + assert_equal [800, 600], window_size + end - def test_screenshot_with_hide_caret_enabled - Capybara::Screenshot.hide_caret = true + def test_screenshot_with_hide_caret_enabled + Capybara::Screenshot.hide_caret = true - visit "/" - fill_in "First Field:", with: "Test Input With Hide Caret" - screenshot "index-hide_caret-enabled" - ensure - Capybara::Screenshot.hide_caret = nil - end + visit "/" + fill_in "First Field:", with: "Test Input With Hide Caret" + screenshot "index-hide_caret-enabled" + ensure + Capybara::Screenshot.hide_caret = nil + end - def test_screenshot_with_hide_caret_disabled - Capybara::Screenshot.hide_caret = false + def test_screenshot_with_hide_caret_disabled + Capybara::Screenshot.hide_caret = false - visit "/" - fill_in "First Field:", with: "Test Input Without Hide Caret" + visit "/" + fill_in "First Field:", with: "Test Input Without Hide Caret" - # Hide caret is flaky issue, let's give more tries to take stable screenshot - screenshot "index-hide_caret-disabled", wait: Capybara.default_max_wait_time * 5 - ensure - Capybara::Screenshot.hide_caret = nil - end + # Hide caret is flaky issue, let's give more tries to take stable screenshot + screenshot "index-hide_caret-disabled", wait: Capybara.default_max_wait_time * 5 + ensure + Capybara::Screenshot.hide_caret = nil + end - def test_screenshot_with_blur_active_element_enabled - Capybara::Screenshot.blur_active_element = true + def test_screenshot_with_blur_active_element_enabled + Capybara::Screenshot.blur_active_element = true - visit "/" - fill_in "First Field:", with: "Test Input With Hide Caret" - screenshot "index-blur_active_element-enabled" - ensure - Capybara::Screenshot.blur_active_element = nil - end + visit "/" + fill_in "First Field:", with: "Test Input With Hide Caret" + screenshot "index-blur_active_element-enabled" + ensure + Capybara::Screenshot.blur_active_element = nil + end - def test_screenshot_with_blur_active_element_disabled - Capybara::Screenshot.blur_active_element = false + def test_screenshot_with_blur_active_element_disabled + Capybara::Screenshot.blur_active_element = false - visit "/" - fill_in "First Field:", with: "Test Input Without Hide Caret" - screenshot "index-blur_active_element-disabled" - ensure - Capybara::Screenshot.blur_active_element = nil - end + visit "/" + fill_in "First Field:", with: "Test Input Without Hide Caret" + screenshot "index-blur_active_element-disabled" + ensure + Capybara::Screenshot.blur_active_element = nil + end - def test_screenshot_selected_element - visit "/" + def test_screenshot_selected_element + visit "/" - screenshot "cropped_screenshot", crop: [0, 100, 100, 200] - end + screenshot "cropped_screenshot", crop: [0, 100, 100, 200] + end - test "skip_area accepts passing multiple coordinates as one array" do - visit "/" + test "skip_area accepts passing multiple coordinates as one array" do + visit "/" - fill_in "First Field:", with: "Changed" - fill_in "Second Field:", with: "Changed" + fill_in "First Field:", with: "Changed" + fill_in "Second Field:", with: "Changed" - screenshot("index", skip_area: [8, 100, 218, 140, 8, 140, 218, 180]) + screenshot("index", skip_area: [8, 100, 218, 140, 8, 140, 218, 180]) - assert_no_screenshot_errors - end + assert_no_screenshot_errors + end - test "compare crops only when other part is not working" do - visit "/index-without-img.html" + test "compare crops only when other part is not working" do + visit "/index-without-img.html" - screenshot("index-cropped", crop: "form", color_distance_limit: 40) + screenshot("index-cropped", crop: "form", color_distance_limit: 40) - assert_no_screenshot_errors - end + assert_no_screenshot_errors + end - test "crop accepts css selector" do - visit "/index-without-img.html" + test "crop accepts css selector" do + visit "/index-without-img.html" - screenshot("index-cropped", crop: "form") + screenshot("index-cropped", crop: "form") - assert_no_screenshot_errors - end + assert_no_screenshot_errors + end - test "skip_area accepts css selector" do - visit "/" + test "skip_area accepts css selector" do + visit "/" - fill_in "First Field:", with: "Changed" - fill_in "Second Field:", with: "Changed" + fill_in "First Field:", with: "Changed" + fill_in "Second Field:", with: "Changed" - screenshot("index", skip_area: "form") - screenshot("index", skip_area: ["form"]) - screenshot("index", skip_area: [[90, 950, 180, 1000], "form"]) + screenshot("index", skip_area: "form") + screenshot("index_with_skip_area_as_array_of_css", skip_area: ["form"]) + screenshot("index_with_skip_area_as_array_of_css_and_p", skip_area: [[90, 950, 180, 1000], "form"]) - assert_no_screenshot_errors - end + assert_no_screenshot_errors + end - test "skip_area converts coordinates to be relative to cropped region" do - visit "/index.html" + test "skip_area converts coordinates to be relative to cropped region" do + visit "/index.html" - fill_in "First Field:", with: "New Change" - fill_in "Second Field:", with: "New Change" + fill_in "First Field:", with: "New Change" + fill_in "Second Field:", with: "New Change" - screenshot("index-cropped", skip_area: "#first-field", crop: "form") + screenshot("index-cropped", skip_area: "#first-field", crop: "form") - assert @test_screenshots.last.last.different?, "second field should not be skipped" - end + assert @test_screenshots.last.last.different?, "second field should not be skipped" + end - test "skip_area by css selectors" do - visit "/" + test "skip_area by css selectors" do + visit "/" - fill_in "First Field:", with: "Test Input With Hide Caret" + fill_in "First Field:", with: "Test Input With Hide Caret" - screenshot("index", skip_area: "form") + screenshot("index", skip_area: "form") - assert_no_screenshot_errors - end + assert_no_screenshot_errors + end - test "crop and skip_area by css selectors" do - visit "/index-without-img.html" + test "crop and skip_area by css selectors" do + visit "/index-without-img.html" - fill_in "First Field:", with: "Test Input With Hide Caret" + fill_in "First Field:", with: "Test Input With Hide Caret" - screenshot("index-cropped", skip_area: "input", crop: "form") + screenshot("index-cropped", skip_area: "input", crop: "form") - assert_no_screenshot_errors - end + assert_no_screenshot_errors + end - test "bounds_for_css for multiple elements returns all areas" do - visit "/" + test "bounds_for_css for multiple elements returns all areas" do + visit "/" - label_bounds = bounds_for_css("label") + label_bounds = BrowserHelpers.bounds_for_css("label") - assert_equal 2, label_bounds.size - end + assert_equal 2, label_bounds.size + end - test "rect_for for multiple elements returns first visible element" do - visit "/index.html" + test "rect_for for multiple elements returns first visible element" do + visit "/index.html" - label_bound = rect_for("label") + label_bound = rect_for("label") - assert_equal 4, label_bound.size - end + assert_equal 4, label_bound.size + end + + test "animated example" do + optional_test + + visit "/index-with-anim.html" + + assert_raises RuntimeError, "Could not get stable screenshot within 1s:" do + # We need to run several times, + # because quick_equal could produce incorrect result, + # because of the same size screenshots + 10.times do + screenshot "index-with-anim", stability_time_limit: 0.33, wait: 0.5 + end + end + ensure + FileUtils.rm_rf(Capybara::Screenshot.screenshot_area_abs / "index-with-anim.png") + end - private + private - def window_size - if page.driver.respond_to?(:window_size) - return page.driver.window_size(page.driver.current_window_handle) + def rect_for(css_selector) + BrowserHelpers.all_visible_regions_for(css_selector).first end - page.driver.browser.manage.window.size.to_a - end + def window_size + if page.driver.respond_to?(:window_size) + return page.driver.window_size(page.driver.current_window_handle) + end - def assert_screenshot_error_for(screenshot_name) - validate_screenshots + page.driver.browser.manage.window.size.to_a + end - assert_equal 1, @test_screenshots&.length, "expecting to have just one difference" - assert_equal screenshot_name, @test_screenshots[0][1], "index screenshot should have difference for changed page" - end + def assert_screenshot_error_for(screenshot_name) + validate_screenshots - def assert_no_screenshot_errors - screenshots = validate_screenshots + assert_equal 1, @test_screenshots&.length, "expecting to have just one difference" + assert_equal screenshot_name, @test_screenshots[0][1], "index screenshot should have difference for changed page" + end - error_messages = screenshots.map { |screenshot_error| screenshot_error.last.error_message } + def assert_no_screenshot_errors + screenshots = validate_screenshots - assert( - screenshots.empty?, - "expecting not to have any difference. But got next: #{error_messages.join("; ")}" - ) - end + error_messages = screenshots.map { |screenshot_error| screenshot_error.last.error_message } - # TODO: Add test for stability to await while image are loading + assert( + screenshots.empty?, + "expecting not to have any difference. But got next: #{error_messages.join("; ")}" + ) + end + + # TODO: Add test for stability to await while image are loading + end end diff --git a/test/integration/record_screenshot_test.rb b/test/integration/record_screenshot_test.rb index 2ffd4e2b..067512cd 100644 --- a/test/integration/record_screenshot_test.rb +++ b/test/integration/record_screenshot_test.rb @@ -14,4 +14,10 @@ def test_record_index_cropped screenshot "index-cropped", crop: "form" end + + def test_record_index_with_stability + visit "/" + + screenshot "index", stability_time_limit: 0.1, wait: 1 + end end diff --git a/test/integration/test_methods_system_test.rb b/test/integration/test_methods_system_test.rb index ffafbff4..241b8a5e 100644 --- a/test/integration/test_methods_system_test.rb +++ b/test/integration/test_methods_system_test.rb @@ -17,7 +17,7 @@ module Screenshot module Diff class TestMethodsSystemTest < ActionDispatch::SystemTestCase include TestMethods - include TestHelper + include TestMethodsStub driven_by :selenium, using: :headless_chrome @@ -26,7 +26,7 @@ def test_current_capybara_driver_class_do_not_spawn_new_process_when_we_use_syst # so each of them will have separate instance other_activated_drivers = ObjectSpace.each_object(Capybara::Selenium::Driver).count - 3.times { current_capybara_driver_class } + 3.times { BrowserHelpers.current_capybara_driver_class } run_chrome_drivers = ObjectSpace.each_object(Capybara::Selenium::Driver).count assert run_chrome_drivers.positive? diff --git a/test/support/screenshoter_stub.rb b/test/support/screenshoter_stub.rb new file mode 100644 index 00000000..265cefbb --- /dev/null +++ b/test/support/screenshoter_stub.rb @@ -0,0 +1,31 @@ +# frozen_string_literal: true + +require "capybara/screenshot/diff/screenshoter" + +class Capybara::Screenshot::ScreenshoterStub < Capybara::Screenshot::Screenshoter + def pending_image_to_load + end + + # Stub of the Capybara's save_screenshot + def save_screenshot(file_name) + source_image = File.basename(file_name) + source_image.slice!(/\.attempt_\d+/) + source_image.slice!(/^\d\d_/) + + FileUtils.cp(File.expand_path(source_image, TEST_IMAGES_DIR), file_name) + end + + def evaluate_script(*) + # Do nothing + end + + def prepare_page_for_screenshot(**) + nil + end + + def take_screenshot(screenshot_path) + save_screenshot(screenshot_path) + + process_screenshot(screenshot_path) + end +end diff --git a/test/support/stub_test_methods.rb b/test/support/stub_test_methods.rb new file mode 100644 index 00000000..655379c9 --- /dev/null +++ b/test/support/stub_test_methods.rb @@ -0,0 +1,38 @@ +# frozen_string_literal: true + +require_relative "screenshoter_stub" + +module Capybara + module Screenshot + module Diff + module TestMethodsStub + extend ActiveSupport::Concern + + included do + setup do + Diff.screenshoter = ScreenshoterStub + end + + teardown do + Diff.screenshoter = Screenshoter + end + end + + # Prepare comparison images and build ImageCompare for them + def make_comparison(fixture_base_image, fixture_new_image, destination: nil, **options) + destination ||= Rails.root / "doc/screenshots/screenshot.png" + + set_test_images(destination, fixture_base_image, fixture_new_image) + + ImageCompare.new(destination, ScreenshotMatcher.base_image_path_from(destination), **options) + end + + def set_test_images(destination, original_base_image, original_new_image) + FileUtils.mkdir_p destination.dirname + FileUtils.cp TEST_IMAGES_DIR / "#{original_new_image}.png", destination + FileUtils.cp TEST_IMAGES_DIR / "#{original_base_image}.png", ScreenshotMatcher.base_image_path_from(destination) + end + end + end + end +end diff --git a/test/system_test_case.rb b/test/system_test_case.rb index 595b1655..34334aeb 100644 --- a/test/system_test_case.rb +++ b/test/system_test_case.rb @@ -58,33 +58,36 @@ class SystemTestCase < ActionDispatch::IntegrationTest private - def rollback_comparison_runtime_files(screenshot_error) - screenshot_name, comparison = screenshot_error[1], screenshot_error[2] - debug_diffs_save_path = Pathname.new(Capybara.save_path) / "screenshots-diffs" / name + def rollback_comparison_runtime_files((_, _, comparison)) + save_annotations_for_debug(comparison) - save_annotations_for_debug(comparison, debug_diffs_save_path) + screenshot_path = Pathname.new(comparison.new_file_name) + Vcs.restore_git_revision(screenshot_path, screenshot_path) - restore_git_revision(screenshot_name, comparison.new_file_name) comparison.clean_tmp_files end - def save_annotations_for_debug(comparison, debug_diffs_save_path) + def save_annotations_for_debug(comparison) + debug_diffs_save_path = Pathname.new(Capybara.save_path) / "screenshots-diffs" / name + FileUtils.mkdir_p(debug_diffs_save_path) if File.exist?(comparison.new_file_name) - FileUtils.mv(comparison.new_file_name, debug_diffs_save_path) + FileUtils.cp(comparison.new_file_name, debug_diffs_save_path) end - if File.exist?(comparison.annotated_old_file_name) - FileUtils.mv(comparison.annotated_old_file_name, debug_diffs_save_path) + if comparison.annotated_base_image_path.exist? + FileUtils.mv(comparison.annotated_base_image_path, debug_diffs_save_path, force: true) end - if File.exist?(comparison.annotated_new_file_name) - FileUtils.mv(comparison.annotated_new_file_name, debug_diffs_save_path) + if comparison.annotated_image_path.exist? + FileUtils.mv(comparison.annotated_image_path, debug_diffs_save_path, force: true) end end def validate_screenshots - Array(@test_screenshots&.select { |screenshot_assert| screenshot_assert.last.different? }) + return [] unless @test_screenshots + + @test_screenshots.select { |screenshot_assert| screenshot_assert.last.different? } end end diff --git a/test/test_helper.rb b/test/test_helper.rb index 2d16235d..ee400bc7 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -5,13 +5,16 @@ SimpleCov.start "test_frameworks" do enable_coverage :branch minimum_coverage line: 90, branch: 68 + add_filter("gemfiles") + add_filter("test") end end $LOAD_PATH.unshift File.expand_path("../lib", __dir__) -TEST_IMAGES_DIR = File.expand_path("images", __dir__) +require "pathname" +TEST_IMAGES_DIR = Pathname.new(File.expand_path("images", __dir__)) # NOTE: Simulate Rails Environment module Rails @@ -37,40 +40,19 @@ def self.application Capybara.threadsafe = true Capybara.app = Rails.application -module Capybara - module Screenshot - module Diff - module TestHelper - private - - # Stub of Capybara's checkout_vcs - def checkout_vcs(name, old_file_name, new_file_name) - # Do nothing - end +require "support/stub_test_methods" - # Stub of the Capybara's save_screenshot - def save_screenshot(file_name) - source_image = File.basename(file_name) - source_image.slice!(/^\d\d_/) - FileUtils.cp File.expand_path("images/#{source_image}", __dir__), file_name - end +class ActiveSupport::TestCase + self.file_fixture_path = Pathname.new(File.expand_path("fixtures/app", __dir__)) - def make_comparison(old_img, new_img, name: "screenshot", **options) - comp = ImageCompare.new("#{Rails.root}/doc/screenshots/#{name}.png", nil, **options) - set_test_images(comp, old_img, new_img) - comp - end - - def set_test_images(comp, old_img, new_img) - FileUtils.mkdir_p File.dirname(comp.old_file_name) - FileUtils.cp "#{TEST_IMAGES_DIR}/#{old_img}.png", comp.old_file_name - FileUtils.cp "#{TEST_IMAGES_DIR}/#{new_img}.png", comp.new_file_name - end + teardown do + FileUtils.rm_rf Capybara::Screenshot.screenshot_area_abs + FileUtils.rm_rf Dir[Capybara::Screenshot.root / "*.png"] + end - def evaluate_script(*) - # Do nothing - end - end + def optional_test + unless ENV["DISABLE_SKIP_TESTS"] + skip "This is optional test! To enable need to provide DISABLE_SKIP_TESTS=1" end end end From e76818a2e1d51e6664ee349e33b9cbefffdf1dff Mon Sep 17 00:00:00 2001 From: Paul Keen <125715+pftg@users.noreply.github.com> Date: Sat, 18 Feb 2023 00:43:57 +0100 Subject: [PATCH 176/312] Do not test first screenshot (#68) --- .../diff/stable_screenshoter_test.rb | 23 +++++++++---------- 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/test/capybara/screenshot/diff/stable_screenshoter_test.rb b/test/capybara/screenshot/diff/stable_screenshoter_test.rb index 6f916c05..a9671c66 100644 --- a/test/capybara/screenshot/diff/stable_screenshoter_test.rb +++ b/test/capybara/screenshot/diff/stable_screenshoter_test.rb @@ -48,30 +48,26 @@ class StableScreenshoterTest < ActionDispatch::IntegrationTest test "#take_comparison_screenshot fail on missing find stable image in time and generates annotated history screenshots" do screenshot_path = Pathname.new("tmp/01_a.png") - image_compare_stub = build_image_compare_stub(equal: false) # Stub annotated files for generated comparison annotations attempts_paths = [ screenshot_path.sub_ext(".attempt_00.png"), - screenshot_path.sub_ext(".attempt_01.png") + screenshot_path.sub_ext(".attempt_01.png"), + screenshot_path.sub_ext(".attempt_02.png") ] - FileUtils.touch(attempts_paths) - # Stub annotated files for generated comparison annotations # We need to have different from screenshot_path name because of other stubs annotated_screenshot_path = Pathname.new("tmp/02_a.png") annotated_attempts_paths = [ - annotated_screenshot_path.sub_ext(".attempt_00.latest.png"), - annotated_screenshot_path.sub_ext(".attempt_00.committed.png"), - annotated_screenshot_path.sub_ext(".attempt_01.latest.png"), - annotated_screenshot_path.sub_ext(".attempt_01.committed.png") + [annotated_screenshot_path.sub_ext(".attempt_01.latest.png"), annotated_screenshot_path.sub_ext(".attempt_01.committed.png")], + [annotated_screenshot_path.sub_ext(".attempt_02.latest.png"), annotated_screenshot_path.sub_ext(".attempt_02.committed.png")] ] FileUtils.touch(annotated_attempts_paths) - mock = ::Minitest::Mock.new(image_compare_stub) - annotated_attempts_paths.each_slice(2) do |latest_path, committed_path| + mock = ::Minitest::Mock.new(build_image_compare_stub(equal: false)) + annotated_attempts_paths.reverse_each do |(latest_path, committed_path)| mock.expect(:annotated_image_path, latest_path.to_s) mock.expect(:annotated_base_image_path, committed_path.to_s) end @@ -80,7 +76,7 @@ class StableScreenshoterTest < ActionDispatch::IntegrationTest ImageCompare.stub :new, mock do # Wait time is less then stability time, which will generate problem StableScreenshoter - .new({stability_time_limit: 1, wait: 0.5}, image_compare_stub.driver_options) + .new({stability_time_limit: 1, wait: 0.5}, build_image_compare_stub(equal: false).driver_options) .take_comparison_screenshot(screenshot_path.to_s) end end @@ -92,7 +88,10 @@ class StableScreenshoterTest < ActionDispatch::IntegrationTest assert_empty Dir["tmp/*_a*.committed.png"] # All stabilization files should be annotated - assert_equal(0, Pathname.new(Dir["tmp/01_a*.png"].last).size) + last_annotation = screenshot_path.sub_ext(".attempt_02.png") + assert_equal 0, last_annotation.size, "#{last_annotation.to_path} should be override with annotated version" + last_annotation = screenshot_path.sub_ext(".attempt_01.png") + assert_equal 0, last_annotation.size, "#{last_annotation.to_path} should be override with annotated version" ensure FileUtils.rm_rf Dir["tmp/01_a*.png"] end From 70c4752d10c4e5242cfe3cacb889bc9bb08b50f8 Mon Sep 17 00:00:00 2001 From: Paul Keen <125715+pftg@users.noreply.github.com> Date: Sat, 18 Feb 2023 00:47:59 +0100 Subject: [PATCH 177/312] Fix linter --- test/capybara/screenshot/diff/stable_screenshoter_test.rb | 7 ------- 1 file changed, 7 deletions(-) diff --git a/test/capybara/screenshot/diff/stable_screenshoter_test.rb b/test/capybara/screenshot/diff/stable_screenshoter_test.rb index a9671c66..c442635e 100644 --- a/test/capybara/screenshot/diff/stable_screenshoter_test.rb +++ b/test/capybara/screenshot/diff/stable_screenshoter_test.rb @@ -49,13 +49,6 @@ class StableScreenshoterTest < ActionDispatch::IntegrationTest test "#take_comparison_screenshot fail on missing find stable image in time and generates annotated history screenshots" do screenshot_path = Pathname.new("tmp/01_a.png") - # Stub annotated files for generated comparison annotations - attempts_paths = [ - screenshot_path.sub_ext(".attempt_00.png"), - screenshot_path.sub_ext(".attempt_01.png"), - screenshot_path.sub_ext(".attempt_02.png") - ] - # Stub annotated files for generated comparison annotations # We need to have different from screenshot_path name because of other stubs annotated_screenshot_path = Pathname.new("tmp/02_a.png") From 322e6cb474657cb6fffe365fabe11a8d78ca4622 Mon Sep 17 00:00:00 2001 From: Paul Keen <125715+pftg@users.noreply.github.com> Date: Sat, 18 Feb 2023 00:52:32 +0100 Subject: [PATCH 178/312] Fixes rbs signatures (#65) --- .github/workflows/lint.yml | 15 +++--- .github/workflows/test.yml | 52 ++++++++++++++----- lib/capybara/screenshot/diff/test_methods.rb | 1 - .../screenshot/diff/image_compare.rbs | 9 ++-- .../screenshot/diff/screenshot_matcher.rbs | 2 +- .../screenshot/diff/stable_screenshoter.rbs | 2 +- 6 files changed, 54 insertions(+), 27 deletions(-) diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index fc08036a..25d37306 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -1,19 +1,22 @@ --- -name: Lint Code Base +name: Lint on: pull_request: - branches: [master] + branches: [ master ] paths: - '*.rb' - '*.yml' - '.github/workflows/lint.yml' - '!bin/**' +env: + RUBY_YJIT_ENABLE: 1 + jobs: - standard: - name: Standard - runs-on: ubuntu-22.04 + lint: + name: Ruby & YAML + runs-on: ubuntu-latest steps: - name: Checkout code @@ -22,7 +25,7 @@ jobs: - name: Set up Ruby uses: ruby/setup-ruby@v1 with: - ruby-version: '3.1' + ruby-version: '3.2' bundler-cache: true - name: Run Standard Ruby linter diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index c001f2c2..1c4b264d 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -18,6 +18,7 @@ env: BUNDLE_GEMFILE: 'gemfiles/rails70_gems.rb' DEBIAN_FRONTEND: 'noninteractive' FERRUM_PROCESS_TIMEOUT: '40' + RUBY_YJIT_ENABLE: 1 WD_CACHE_TIME: '864000' # 10 days concurrency: @@ -27,12 +28,9 @@ concurrency: jobs: test: name: Functional Testing - runs-on: ubuntu-22.04 # In order to install libvips 8.9+ version + runs-on: ubuntu-latest # In order to install libvips 8.9+ version timeout-minutes: 5 - env: - DISABLE_SKIP_TESTS: 1 - steps: - name: Checkout code uses: actions/checkout@v3 @@ -45,14 +43,15 @@ jobs: - name: Set up Ruby uses: ruby/setup-ruby@v1 with: - ruby-version: '3.2.0' + ruby-version: 3.2 bundler-cache: true - name: Run Tests with coverage env: COVERAGE: enabled - RUBY_YJIT_ENABLE: 1 - run: bundle exec rake test + DISABLE_SKIP_TESTS: 1 + SCREENSHOT_DRIVER: vips + run: bin/rake test - name: Upload Screenshots if: always() @@ -71,24 +70,49 @@ jobs: retention-days: 1 path: coverage + test-signature: + name: Testing Signatures + needs: [ 'test' ] + runs-on: ubuntu-latest # In order to install libvips 8.9+ version + + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: Install libvips + run: | + sudo apt-get update -qq + sudo apt-get install -qq --no-install-recommends libvips libvips-dev libvips-tools + + - name: Set up Ruby + uses: ruby/setup-ruby@v1 + with: + ruby-version: 3.2 + bundler-cache: true + + - name: Tests Signatures + env: + SCREENSHOT_DRIVER: vips + run: bin/rake test:signatures + matrix: name: Test Integration Rails & Ruby if: github.ref == 'refs/heads/master' || github.event_name == 'workflow_dispatch' || github.event.pull_request.requested_reviewers.length > 0 needs: [ 'test' ] - runs-on: ubuntu-22.04 + runs-on: ubuntu-latest timeout-minutes: 5 strategy: matrix: - ruby-version: [ '3.2.0', '3.1', '3.0', '2.7', 'jruby', 'jruby-9.4.0.0' ] + ruby-version: [ '3.2', '3.1', '3.0', '2.7', 'jruby', 'jruby-9.4.0.0' ] gemfile: - 'rails70_gems.rb' - 'rails61_gems.rb' - 'rails60_gems.rb' exclude: # We already tested last version - - ruby-version: '3.2.0' + - ruby-version: 3.2 gemfile: 'gemfiles/rails70_gems.rb' # JRuby < 9.4 is compatible with Ruby 2.6, but Rails 7 is compatible with Ruby 2.7+ - ruby-version: 'jruby' @@ -113,7 +137,7 @@ jobs: sudo apt-get install --fix-missing -qq --no-install-recommends libvips libvips-dev libvips-tools - name: Run tests - run: bundle exec rake test + run: bin/rake test matrix-screenshot-driver: name: Test Integration Capybara & Image Drivers @@ -126,7 +150,7 @@ jobs: screenshot-driver: [ vips, chunky_png ] capybara-driver: [ selenium_headless, selenium_chrome_headless, cuprite ] - runs-on: ${{ matrix.capybara-driver == 'selenium_headless' && 'ubuntu-20.04' || 'ubuntu-22.04' }} + runs-on: ubuntu-latest timeout-minutes: 5 @@ -137,7 +161,7 @@ jobs: - name: Set up Ruby uses: ruby/setup-ruby@v1 with: - ruby-version: '3.2.0' + ruby-version: 3.2 bundler-cache: true - name: Install libvips @@ -147,7 +171,7 @@ jobs: sudo apt-get install --fix-missing -qq --no-install-recommends libvips libvips-dev libvips-tools - name: Run tests - run: bundle exec rake test:integration + run: bin/rake test:integration env: SCREENSHOT_DRIVER: ${{ matrix.screenshot-driver }} CAPYBARA_DRIVER: ${{ matrix.capybara-driver }} diff --git a/lib/capybara/screenshot/diff/test_methods.rb b/lib/capybara/screenshot/diff/test_methods.rb index 959b0de5..25220d61 100644 --- a/lib/capybara/screenshot/diff/test_methods.rb +++ b/lib/capybara/screenshot/diff/test_methods.rb @@ -80,7 +80,6 @@ def screenshot(name, skip_stack_frames: 0, **options) def assert_image_not_changed(caller, name, comparison) result = comparison.different? - if !result && comparison.base_image_path.exist? FileUtils.mv(comparison.base_image_path, comparison.image_path, force: true) else diff --git a/sig/capybara/screenshot/diff/image_compare.rbs b/sig/capybara/screenshot/diff/image_compare.rbs index 60152de2..6a1c765e 100644 --- a/sig/capybara/screenshot/diff/image_compare.rbs +++ b/sig/capybara/screenshot/diff/image_compare.rbs @@ -52,7 +52,7 @@ module Capybara def clean_tmp_files: () -> void - def save: (Drivers::BaseDriver::images_entity, TestMethods::path_entity) -> void + def save: (image_entity, TestMethods::path_entity) -> void def old_file_exists?: () -> boolish @@ -77,15 +77,16 @@ module Capybara def not_different: () -> nil def annotate_and_save_images: (Difference) -> void - def annotate_and_save_image: (Drivers::BaseDriver::images_entity, TestMethods::path_entity, Region) -> void + + def annotate_and_save_image: (Difference, image_entity, TestMethods::path_entity) -> void DIFF_COLOR: [255, 0, 0, 255] - def annotate_difference: (images_entities, Region) -> void + def annotate_difference: (image_entity, Region) -> void SKIP_COLOR: [255, 192, 0, 255] - def annotate_skip_areas: (images_entities comparison, Array[Region] skip_areas) -> void + def annotate_skip_areas: (image_entity, Array[Region] skip_areas) -> void end end end diff --git a/sig/capybara/screenshot/diff/screenshot_matcher.rbs b/sig/capybara/screenshot/diff/screenshot_matcher.rbs index ac7d42d4..646a988c 100644 --- a/sig/capybara/screenshot/diff/screenshot_matcher.rbs +++ b/sig/capybara/screenshot/diff/screenshot_matcher.rbs @@ -13,7 +13,7 @@ module Capybara def build_screenshot_matches_job: -> job_entity? def cleanup: -> void - def self.base_image_path_from: -> Pathname + def self.base_image_path_from: (TestMethods::path_entity) -> Pathname private diff --git a/sig/capybara/screenshot/diff/stable_screenshoter.rbs b/sig/capybara/screenshot/diff/stable_screenshoter.rbs index efc78277..0ce59031 100644 --- a/sig/capybara/screenshot/diff/stable_screenshoter.rbs +++ b/sig/capybara/screenshot/diff/stable_screenshoter.rbs @@ -18,7 +18,7 @@ module Capybara def annotate_attempts_and_fail!: (TestMethods::path_entity screenshot_path) -> void - def build_comparison_for: -> ImageCompare + def build_comparison_for: (TestMethods::path_entity attempt_path, TestMethods::path_entity previous_attempt_path) -> ImageCompare def prepare_page_for_screenshot: (timeout: Numeric) -> top? From c3fa7c979d12a8262a855b796c1e3ae70162cea2 Mon Sep 17 00:00:00 2001 From: Paul Keen <125715+pftg@users.noreply.github.com> Date: Sat, 18 Feb 2023 01:14:07 +0100 Subject: [PATCH 179/312] Adds truffleruby (#66) --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 1c4b264d..953b326d 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -105,7 +105,7 @@ jobs: strategy: matrix: - ruby-version: [ '3.2', '3.1', '3.0', '2.7', 'jruby', 'jruby-9.4.0.0' ] + ruby-version: [ '3.2', '3.1', '3.0', '2.7', 'jruby', 'jruby-9.4.0.0', 'truffleruby', 'truffleruby+graalvm' ] gemfile: - 'rails70_gems.rb' - 'rails61_gems.rb' From a9c882f5cc7a30e0c81b2c1fc82f0ecc50e47a38 Mon Sep 17 00:00:00 2001 From: Paul Keen <125715+pftg@users.noreply.github.com> Date: Sat, 18 Feb 2023 01:26:45 +0100 Subject: [PATCH 180/312] Adds cross test to compare annotations (#67) --- .../diff/drivers/chunky_png_driver_test.rb | 4 ++++ .../screenshot/diff/image_compare_test.rb | 6 ++++-- test/fixtures/files/comparisons/a-and-b.diff.png | Bin 0 -> 8517 bytes test/fixtures/files/comparisons/a-and-c.diff.png | Bin 0 -> 6252 bytes test/fixtures/files/comparisons/b-and-a.diff.png | Bin 0 -> 8482 bytes test/fixtures/files/comparisons/c-and-a.diff.png | Bin 0 -> 5830 bytes test/test_helper.rb | 7 ++++++- 7 files changed, 14 insertions(+), 3 deletions(-) create mode 100644 test/fixtures/files/comparisons/a-and-b.diff.png create mode 100644 test/fixtures/files/comparisons/a-and-c.diff.png create mode 100644 test/fixtures/files/comparisons/b-and-a.diff.png create mode 100644 test/fixtures/files/comparisons/c-and-a.diff.png diff --git a/test/capybara/screenshot/diff/drivers/chunky_png_driver_test.rb b/test/capybara/screenshot/diff/drivers/chunky_png_driver_test.rb index 751292dd..4b51daa0 100644 --- a/test/capybara/screenshot/diff/drivers/chunky_png_driver_test.rb +++ b/test/capybara/screenshot/diff/drivers/chunky_png_driver_test.rb @@ -36,6 +36,10 @@ class ChunkyPNGDriverTest < ActionDispatch::IntegrationTest assert File.exist?(comp.old_file_name) assert File.exist?(comp.annotated_base_image_path) assert File.exist?(comp.annotated_image_path) + + assert_same_images("a-and-c.diff.png", comp.annotated_base_image_path) + assert_same_images("c-and-a.diff.png", comp.annotated_image_path) + comp = make_comparison(:c, :c) assert_not comp.different? assert_not File.exist?(comp.annotated_base_image_path) diff --git a/test/capybara/screenshot/diff/image_compare_test.rb b/test/capybara/screenshot/diff/image_compare_test.rb index 2ea3c9ba..85555904 100644 --- a/test/capybara/screenshot/diff/image_compare_test.rb +++ b/test/capybara/screenshot/diff/image_compare_test.rb @@ -28,9 +28,11 @@ class ImageCompareTest < ActionDispatch::IntegrationTest test "it generates annotation files on difference" do comparison = make_comparison(:a, :b, driver: :vips) + assert comparison.different? - assert comparison.annotated_base_image_path.exist? - assert comparison.annotated_image_path.exist? + + assert_same_images("a-and-b.diff.png", comparison.annotated_base_image_path) + assert_same_images("b-and-a.diff.png", comparison.annotated_image_path) end test "it can be instantiated with vips adapter and tolerance option" do diff --git a/test/fixtures/files/comparisons/a-and-b.diff.png b/test/fixtures/files/comparisons/a-and-b.diff.png new file mode 100644 index 0000000000000000000000000000000000000000..123a3d97f9ee190a4dbf90922362c196d79a3ec9 GIT binary patch literal 8517 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 W^xyH1IP)$wPi?D#Oy8|u@JIu^ycNUx(&|TYQ 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 QHvj+t07*qoM6N<$g55oQxBvhE literal 0 HcmV?d00001 diff --git a/test/fixtures/files/comparisons/c-and-a.diff.png b/test/fixtures/files/comparisons/c-and-a.diff.png new file mode 100644 index 0000000000000000000000000000000000000000..2b5c00d3fe812ace40cf33887353dc5f63d0dc18 GIT binary patch literal 5830 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 Q2mk;807*qoM6N<$f&)V?bpQYW literal 0 HcmV?d00001 diff --git a/test/test_helper.rb b/test/test_helper.rb index ee400bc7..c2c32942 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -43,7 +43,7 @@ def self.application require "support/stub_test_methods" class ActiveSupport::TestCase - self.file_fixture_path = Pathname.new(File.expand_path("fixtures/app", __dir__)) + self.file_fixture_path = Pathname.new(File.expand_path("fixtures", __dir__)) teardown do FileUtils.rm_rf Capybara::Screenshot.screenshot_area_abs @@ -55,4 +55,9 @@ def optional_test skip "This is optional test! To enable need to provide DISABLE_SKIP_TESTS=1" end end + + def assert_same_images(expected_image_name, image_path) + expected_image_path = file_fixture("files/comparisons/#{expected_image_name}") + assert_predicate(Capybara::Screenshot::Diff::ImageCompare.new(image_path, expected_image_path), :quick_equal?) + end end From fbcc415879d25e46fe2ab5440bebeb33e4f22582 Mon Sep 17 00:00:00 2001 From: Paul Keen <125715+pftg@users.noreply.github.com> Date: Sat, 18 Feb 2023 20:20:44 +0100 Subject: [PATCH 181/312] Reduce number of possible tests (#69) --- .github/workflows/test.yml | 86 +++++++++++++++---- gemfiles/rails-head_gems.rb | 10 +++ gems.rb | 3 +- lib/capybara/screenshot/diff/image_compare.rb | 2 +- .../screenshot/diff/screenshot_matcher.rb | 2 +- test/test_helper.rb | 1 + 6 files changed, 84 insertions(+), 20 deletions(-) create mode 100644 gemfiles/rails-head_gems.rb diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 953b326d..8ac0dad9 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -15,11 +15,11 @@ on: workflow_dispatch: env: - BUNDLE_GEMFILE: 'gemfiles/rails70_gems.rb' - DEBIAN_FRONTEND: 'noninteractive' - FERRUM_PROCESS_TIMEOUT: '40' + BUNDLE_GEMFILE: gemfiles/rails70_gems.rb + DEBIAN_FRONTEND: noninteractive + FERRUM_PROCESS_TIMEOUT: 40 RUBY_YJIT_ENABLE: 1 - WD_CACHE_TIME: '864000' # 10 days + WD_CACHE_TIME: 864000 # 10 days concurrency: group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} @@ -46,6 +46,12 @@ jobs: ruby-version: 3.2 bundler-cache: true + - name: Cache Webdrivers + uses: actions/cache@v3 + with: + path: ~/.webdrivers + key: ${{ runner.os }}-webdrivers + - name: Run Tests with coverage env: COVERAGE: enabled @@ -90,6 +96,12 @@ jobs: ruby-version: 3.2 bundler-cache: true + - name: Cache Webdrivers + uses: actions/cache@v3 + with: + path: ~/.webdrivers + key: ${{ runner.os }}-webdrivers + - name: Tests Signatures env: SCREENSHOT_DRIVER: vips @@ -99,24 +111,48 @@ jobs: name: Test Integration Rails & Ruby if: github.ref == 'refs/heads/master' || github.event_name == 'workflow_dispatch' || github.event.pull_request.requested_reviewers.length > 0 - needs: [ 'test' ] + needs: [ test ] runs-on: ubuntu-latest - timeout-minutes: 5 - + timeout-minutes: 7 + continue-on-error: ${{ matrix.experimental }} strategy: matrix: - ruby-version: [ '3.2', '3.1', '3.0', '2.7', 'jruby', 'jruby-9.4.0.0', 'truffleruby', 'truffleruby+graalvm' ] + ruby-version: [ 3.2, 2.7, jruby ] gemfile: - - 'rails70_gems.rb' - - 'rails61_gems.rb' - - 'rails60_gems.rb' + - rails70_gems.rb + - rails61_gems.rb + - rails60_gems.rb + experimental: [ false ] exclude: # We already tested last version - ruby-version: 3.2 - gemfile: 'gemfiles/rails70_gems.rb' - # JRuby < 9.4 is compatible with Ruby 2.6, but Rails 7 is compatible with Ruby 2.7+ - - ruby-version: 'jruby' - gemfile: 'rails70_gems.rb' + gemfile: gemfiles/rails70_gems.rb + experimental: false + include: + - ruby-version: 3.1 + gemfile: rails70_gems.rb + experimental: false + - ruby-version: 3.0 + gemfile: rails70_gems.rb + experimental: false + - ruby-version: 3.2 + gemfile: rails-head_gems.rb + experimental: true + - ruby-version: ruby-head + gemfile: rails70_gems.rb + experimental: true + - ruby-version: jruby-9.3 + gemfile: rails60_gems.rb + experimental: false + - ruby-version: jruby-head + gemfile: rails70_gems.rb + experimental: true + - ruby-version: truffleruby + gemfile: rails70_gems.rb + experimental: true + - ruby-version: truffleruby+graalvm + gemfile: rails70_gems.rb + experimental: true env: BUNDLE_GEMFILE: gemfiles/${{ matrix.gemfile }} @@ -130,19 +166,29 @@ jobs: with: ruby-version: ${{ matrix.ruby-version }} bundler-cache: true + cache-version: ${{ matrix.ruby-version }}-${{ matrix.gemfile }}-1 - name: Install libvips run: | sudo apt-get update -qq sudo apt-get install --fix-missing -qq --no-install-recommends libvips libvips-dev libvips-tools + - name: Cache Webdrivers + uses: actions/cache@v3 + with: + path: ~/.webdrivers + key: ${{ runner.os }}-webdrivers + - name: Run tests run: bin/rake test matrix-screenshot-driver: name: Test Integration Capybara & Image Drivers - if: github.ref == 'refs/heads/master' || github.event.inputs || - github.event.pull_request.requested_reviewers.length > 0 + if: > + github.ref == 'refs/heads/master' + || github.event.inputs + || github.event_name == 'workflow_dispatch' + || github.event.pull_request.requested_reviewers.length > 0 needs: [ 'test' ] strategy: @@ -170,6 +216,12 @@ jobs: sudo apt-get update -qq sudo apt-get install --fix-missing -qq --no-install-recommends libvips libvips-dev libvips-tools + - name: Cache Webdrivers + uses: actions/cache@v3 + with: + path: ~/.webdrivers + key: ${{ runner.os }}-webdrivers-${{ matrix.capybara-driver }} + - name: Run tests run: bin/rake test:integration env: diff --git a/gemfiles/rails-head_gems.rb b/gemfiles/rails-head_gems.rb new file mode 100644 index 00000000..55d338e2 --- /dev/null +++ b/gemfiles/rails-head_gems.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +gems = "#{File.dirname __dir__}/gems.rb" +eval File.read(gems), binding, gems + +git "https://github.com/rails/rails.git" do + gem "actionpack" +end + +gem "capybara", ">= 3.26" diff --git a/gems.rb b/gems.rb index 3c10f3ab..7ac1ddf9 100644 --- a/gems.rb +++ b/gems.rb @@ -18,11 +18,12 @@ # Capybara Server gem "puma", RUBY_PLATFORM.include?("java") ? "< 6" : ">= 5", require: false +gem "rackup", require: false # Capybara Drivers gem "cuprite", require: false gem "selenium-webdriver", require: false -gem "webdrivers", require: false +gem "webdrivers", "~> 5.0", require: false group :tools do gem "standard", require: false diff --git a/lib/capybara/screenshot/diff/image_compare.rb b/lib/capybara/screenshot/diff/image_compare.rb index d7bcc314..9cd530d2 100644 --- a/lib/capybara/screenshot/diff/image_compare.rb +++ b/lib/capybara/screenshot/diff/image_compare.rb @@ -152,7 +152,7 @@ def different(difference) end def preprocess_images(images) - images.map { preprocess_image(_1) } + images.map { |image| preprocess_image(image) } end def preprocess_image(image) diff --git a/lib/capybara/screenshot/diff/screenshot_matcher.rb b/lib/capybara/screenshot/diff/screenshot_matcher.rb index 17ad2029..1366b7fd 100644 --- a/lib/capybara/screenshot/diff/screenshot_matcher.rb +++ b/lib/capybara/screenshot/diff/screenshot_matcher.rb @@ -120,7 +120,7 @@ def calculate_skip_area(skip_area, crop) end def build_regions_for(coordinates) - coordinates.map { Region.from_edge_coordinates(*_1) } + coordinates.map { |coordinates_entity| Region.from_edge_coordinates(*coordinates_entity) } end end end diff --git a/test/test_helper.rb b/test/test_helper.rb index c2c32942..056f692f 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -33,6 +33,7 @@ def self.application require "capybara/screenshot/diff" require "minitest/autorun" require "capybara/minitest" +require "rackup" if Rack::RELEASE >= "3" require "capybara/dsl" Capybara.disable_animation = true From c637b6d48253a9f26e80f8e584f8e9a92dc53344 Mon Sep 17 00:00:00 2001 From: Paul Keen <125715+pftg@users.noreply.github.com> Date: Fri, 10 Mar 2023 13:39:20 +0100 Subject: [PATCH 182/312] Adds Cucumber integration (#73) * Adds cucumber integration * Adds documentation how to use * Adds documentation how to use --- README.md | 15 +++++++++++++++ gems.rb | 4 ++++ lib/capybara/screenshot/diff.rb | 3 ++- lib/capybara/screenshot/diff/cucumber.rb | 11 +++++++++++ lib/capybara/screenshot/diff/image_compare.rb | 3 ++- lib/capybara/screenshot/diff/test_methods.rb | 18 +++++++++++++++--- sig/capybara/screenshot/diff/test_methods.rbs | 2 +- .../screenshot/diff/test_methods_test.rb | 9 +++------ 8 files changed, 53 insertions(+), 12 deletions(-) create mode 100644 lib/capybara/screenshot/diff/cucumber.rb diff --git a/README.md b/README.md index 4b62bf7b..48256bf4 100644 --- a/README.md +++ b/README.md @@ -67,6 +67,21 @@ RSpec.configure do |config| config.include Capybara::Screenshot::Diff end ``` +### Cucumber + +Load Cucumber support by adding the following line (typically to your `features/support/env.rb` file): + +```ruby +require 'capybara/screenshot/diff/cucumber' +``` + +And in the steps you can use: + +```ruby +Then('I should not see any visual difference') do + screenshot 'homepage' +end +``` ### Taking screenshots diff --git a/gems.rb b/gems.rb index 7ac1ddf9..b22aee48 100644 --- a/gems.rb +++ b/gems.rb @@ -25,6 +25,10 @@ gem "selenium-webdriver", require: false gem "webdrivers", "~> 5.0", require: false +# Test Frameworks +# gem "cucumber", require: false +# gem "cucumber-rails", require: false + group :tools do gem "standard", require: false gem "rbs", require: false, platform: :ruby diff --git a/lib/capybara/screenshot/diff.rb b/lib/capybara/screenshot/diff.rb index 7c149071..0bfbdbed 100644 --- a/lib/capybara/screenshot/diff.rb +++ b/lib/capybara/screenshot/diff.rb @@ -45,6 +45,7 @@ def screenshot_area_abs module Diff include Capybara::DSL + mattr_accessor(:delayed) { true } mattr_accessor :area_size_limit mattr_accessor :color_distance_limit mattr_accessor(:enabled) { true } @@ -91,7 +92,7 @@ def self.included(klass) def track_failures(screenshots, original_caller) test_screenshot_errors = screenshots.map do |caller, name, compare| - assert_image_not_changed(caller, name, compare) + assert_image_not_changed(name, compare) end test_screenshot_errors.compact! diff --git a/lib/capybara/screenshot/diff/cucumber.rb b/lib/capybara/screenshot/diff/cucumber.rb new file mode 100644 index 00000000..ae0e6301 --- /dev/null +++ b/lib/capybara/screenshot/diff/cucumber.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +require "capybara/screenshot/diff" +require "capybara/screenshot/diff/test_methods" + +World(Capybara::Screenshot::Diff::TestMethods) + +Before do + Capybara::Screenshot::Diff.delayed = false + Capybara::Screenshot::BrowserHelpers.resize_to(Capybara::Screenshot.window_size) if Capybara::Screenshot.window_size +end diff --git a/lib/capybara/screenshot/diff/image_compare.rb b/lib/capybara/screenshot/diff/image_compare.rb index 9cd530d2..63b6c8c0 100644 --- a/lib/capybara/screenshot/diff/image_compare.rb +++ b/lib/capybara/screenshot/diff/image_compare.rb @@ -103,7 +103,8 @@ def without_tolerable_options? end def _different? - raise "There are no screenshots to compare!" unless image_files_exist? + raise "There is no original (base) screenshot version to compare, located: #{@base_image_path}" unless @base_image_path.exist? + raise "There is no new screenshot version to compare, located: #{@image_path}" unless @image_path.exist? comparison = load_and_process_images diff --git a/lib/capybara/screenshot/diff/test_methods.rb b/lib/capybara/screenshot/diff/test_methods.rb index 25220d61..35c82692 100644 --- a/lib/capybara/screenshot/diff/test_methods.rb +++ b/lib/capybara/screenshot/diff/test_methods.rb @@ -74,12 +74,24 @@ def screenshot(name, skip_stack_frames: 0, **options) return false unless job - schedule_match_job([caller(skip_stack_frames)] + job) + test_caller = caller(skip_stack_frames) + + if Screenshot::Diff.delayed + schedule_match_job([test_caller] + job) + else + error_msg = assert_image_not_changed(job.first, job.last) + if error_msg + error = ASSERTION.new(error_msg) + error.set_backtrace(caller(2)) + raise error + end + end end - def assert_image_not_changed(caller, name, comparison) + def assert_image_not_changed(name, comparison) result = comparison.different? + # Cleanup after comparisons if !result && comparison.base_image_path.exist? FileUtils.mv(comparison.base_image_path, comparison.image_path, force: true) else @@ -88,7 +100,7 @@ def assert_image_not_changed(caller, name, comparison) return unless result - "Screenshot does not match for '#{name}' #{comparison.error_message}\nat #{caller.join("\n")}" + "Screenshot does not match for '#{name}' #{comparison.error_message}" end private diff --git a/sig/capybara/screenshot/diff/test_methods.rbs b/sig/capybara/screenshot/diff/test_methods.rbs index f8f9ffb4..c8649ab4 100644 --- a/sig/capybara/screenshot/diff/test_methods.rbs +++ b/sig/capybara/screenshot/diff/test_methods.rbs @@ -28,7 +28,7 @@ module Capybara def screenshot: (name_entity name, ?skip_stack_frames: ::Integer, **untyped options) -> boolish - def assert_image_not_changed: (Array[String] caller, String name, ImageCompare comparison) -> ::String? + def assert_image_not_changed: (String name, ImageCompare comparison) -> ::String? private diff --git a/test/capybara/screenshot/diff/test_methods_test.rb b/test/capybara/screenshot/diff/test_methods_test.rb index 4e6c221e..ce8d87eb 100644 --- a/test/capybara/screenshot/diff/test_methods_test.rb +++ b/test/capybara/screenshot/diff/test_methods_test.rb @@ -10,20 +10,18 @@ class TestMethodsTest < ActionDispatch::IntegrationTest include TestMethodsStub def test_assert_image_not_changed - message = assert_image_not_changed(["caller"], "name", make_comparison(:a, :c)) + message = assert_image_not_changed("name", make_comparison(:a, :c)) value = (RUBY_VERSION >= "2.4") ? 187.4 : 188 assert_equal <<-MSG.strip_heredoc.chomp, message Screenshot does not match for 'name' ({"area_size":629,"region":[11,3,48,20],"max_color_distance":#{value}}) #{Rails.root}/doc/screenshots/screenshot.png #{Rails.root}/doc/screenshots/screenshot.base.diff.png #{Rails.root}/doc/screenshots/screenshot.diff.png - at caller MSG end def test_assert_image_not_changed_with_shift_distance_limit message = assert_image_not_changed( - ["caller"], "name", make_comparison(:a, :c, shift_distance_limit: 1, driver: :chunky_png) ) @@ -33,7 +31,6 @@ def test_assert_image_not_changed_with_shift_distance_limit #{Rails.root}/doc/screenshots/screenshot.png #{Rails.root}/doc/screenshots/screenshot.base.diff.png #{Rails.root}/doc/screenshots/screenshot.diff.png - at caller MSG end @@ -80,13 +77,13 @@ def test_creates_new_screenshot def test_cleanup_base_image_for_no_change comparison = make_comparison(:a, :a) - assert_image_not_changed(["caller"], "name", comparison) + assert_image_not_changed("name", comparison) assert_not comparison.base_image_path.exist? end def test_cleanup_base_image_for_changes comparison = make_comparison(:a, :b) - assert_image_not_changed(["caller"], "name", comparison) + assert_image_not_changed("name", comparison) assert_not comparison.base_image_path.exist? end From 3541725b7a1974db8f951df10f18ecc4182f84b6 Mon Sep 17 00:00:00 2001 From: Paul Keen <125715+pftg@users.noreply.github.com> Date: Sat, 5 Aug 2023 13:40:01 +0200 Subject: [PATCH 183/312] Allows to use tolerance for chunky png (#77) --- .../diff/drivers/chunky_png_driver.rb | 17 +++++++++++------ .../screenshot/diff/drivers/base_driver.rbs | 2 +- .../diff/drivers/chunky_png_driver_test.rb | 18 ++++++------------ 3 files changed, 18 insertions(+), 19 deletions(-) diff --git a/lib/capybara/screenshot/diff/drivers/chunky_png_driver.rb b/lib/capybara/screenshot/diff/drivers/chunky_png_driver.rb index f96f8d6f..1ff0c1c0 100644 --- a/lib/capybara/screenshot/diff/drivers/chunky_png_driver.rb +++ b/lib/capybara/screenshot/diff/drivers/chunky_png_driver.rb @@ -27,12 +27,8 @@ def add_black_box(image, _region) image end - def difference_level(_diff_mask, base_image, region) - region.size.to_f / image_area_size(base_image) - end - def find_difference_region(comparison) - DifferenceRegionFinder.new(comparison).perform + DifferenceRegionFinder.new(comparison, self).perform end def crop(region, i) @@ -80,8 +76,10 @@ def _load_images(old_file, new_file) class DifferenceRegionFinder attr_accessor :skip_area, :color_distance_limit, :shift_distance_limit - def initialize(comparison) + def initialize(comparison, driver = nil) @comparison = comparison + @driver = driver + @color_distance_limit = comparison.options[:color_distance_limit] @shift_distance_limit = comparison.options[:shift_distance_limit] @skip_area = comparison.options[:skip_area] @@ -118,6 +116,13 @@ def find_difference_region(comparison) result end + def difference_level(_diff_mask, base_image, region) + image_area_size = @driver.image_area_size(base_image) + return nil if image_area_size.zero? + + region.size.to_f / image_area_size + end + def find_diff_rectangle(org_img, new_img, area_coordinates, cache:) left, top, right, bottom = find_left_right_and_top(org_img, new_img, area_coordinates, cache: cache) bottom = find_bottom(org_img, new_img, left, right, bottom, cache: cache) diff --git a/sig/capybara/screenshot/diff/drivers/base_driver.rbs b/sig/capybara/screenshot/diff/drivers/base_driver.rbs index 04af8b9f..142caa7d 100644 --- a/sig/capybara/screenshot/diff/drivers/base_driver.rbs +++ b/sig/capybara/screenshot/diff/drivers/base_driver.rbs @@ -32,7 +32,7 @@ module Capybara def add_black_box: (ImageEntity memo, Region region) -> void - def difference_level: (Vips::Image diff_mask, ImageEntity old_img, Region _region) -> Float + def difference_level: (ImageEntity diff_mask, ImageEntity old_img, Region _region) -> Float def image_area_size: (ImageEntity old_img) -> Integer diff --git a/test/capybara/screenshot/diff/drivers/chunky_png_driver_test.rb b/test/capybara/screenshot/diff/drivers/chunky_png_driver_test.rb index 4b51daa0..62c3c48a 100644 --- a/test/capybara/screenshot/diff/drivers/chunky_png_driver_test.rb +++ b/test/capybara/screenshot/diff/drivers/chunky_png_driver_test.rb @@ -19,6 +19,12 @@ class ChunkyPNGDriverTest < ActionDispatch::IntegrationTest assert ChunkyPNGDriver.new end + test "#different? supports tolerance option" do + comp = make_comparison(:a, :b, tolerance: 2) + assert_not comp.different? + assert comp.quick_equal? + end + test "#different? for equal is negative" do comp = make_comparison(:a, :a) assert_not comp.different? @@ -133,18 +139,6 @@ class ChunkyPNGDriverTest < ActionDispatch::IntegrationTest assert driver.from_file("#{TEST_IMAGES_DIR}/a.png") end - test "tolerance" do - driver = ChunkyPNGDriver.new - - level = driver.difference_level( - nil, - load_test_image(driver), - Region.new(0, 0, 10, 10) - ) - - assert_equal 0.015625, level - end - private def make_comparison(old_img, new_img, options = {}) From fdb3aeb99817645466eaa26a3a81503605c68098 Mon Sep 17 00:00:00 2001 From: Phillip Kessels Date: Sat, 5 Aug 2023 14:11:26 +0200 Subject: [PATCH 184/312] Update readme with retina instructions (#79) * chore: add readme note about retina devices * chore: formatting * chore: wording --- README.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/README.md b/README.md index 48256bf4..eacfabca 100644 --- a/README.md +++ b/README.md @@ -212,6 +212,18 @@ test 'the cool' do end ``` +**Note:** When using a retina device screenshots dimensions might be off. If +you are using (headless) chrome you can prevent this by setting the +`force-device-scale-factor` argument to `1`. + +For Rails system specs using selenium you can do so for example by using the +following snippet: + +```ruby +driven_by :selenium, using: :chrome_headless do |options| + options.args << '--force-device-scale-factor=1' +end +``` ### Multiple Capybara drivers From 0a03e1f7db56221e8bac338c349f7733cfa40f63 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 4 Sep 2023 21:24:03 +0200 Subject: [PATCH 185/312] Bump actions/checkout from 3 to 4 (#80) Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v3...v4) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/lint.yml | 2 +- .github/workflows/test.yml | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 25d37306..bdff0062 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -20,7 +20,7 @@ jobs: steps: - name: Checkout code - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Set up Ruby uses: ruby/setup-ruby@v1 diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 8ac0dad9..8381b105 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -33,7 +33,7 @@ jobs: steps: - name: Checkout code - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Install libvips run: | @@ -83,7 +83,7 @@ jobs: steps: - name: Checkout code - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Install libvips run: | @@ -159,7 +159,7 @@ jobs: steps: - name: Checkout code - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Set up Ruby uses: ruby/setup-ruby@v1 @@ -202,7 +202,7 @@ jobs: steps: - name: Checkout code - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Set up Ruby uses: ruby/setup-ruby@v1 From 7e8a1319fee9bc6b62ec397e82f164b993576c5b Mon Sep 17 00:00:00 2001 From: Phillip Calvin Date: Sat, 9 Sep 2023 10:16:24 -0400 Subject: [PATCH 186/312] Fix "unix error: File name too long" when using Vips (#81) If a spec or test has a very long name or is nested deeply, the temporary path name formed by `Tmpname` (which preserves the directory names but removes the / separators) may exceed the 255 character filename limit present on many Linux filesystems. This causes an exception like the one below when Vips tries to write the temporary file. Since 1) temporary file is ultimately moved to the target path, which doesn't exceed the length limit (since most of the length is in nested directory strcuture) and 2) `Tmpname` has some logic to avoid name collisions anyway shortening the `prefix` passed to `Tmpname` to stay well below 255 characters resolves this error. ``` 1) email preferences with EMAIL_PREFERENCES doc preferences #edit should not display any doc preference link for non-imaging backend users Failure/Error: raise Vips::Error Vips::Error: /tmp/homecircleciprojectspecscreenshotslinuxfeatures-email_notification_preferences_specemail_preferences_with_EMAIL_PREFERENCES_doc_preferences_edit_should_not_display_any_doc_preference_link_for_non-imaging_backend_users01_non_imaging_no_pref_link.committed.png20200101-2583-3jy9w5.png: unable to open for write unix error: File name too long # /home/circleci/project/vendor/bundle/ruby/3.1.0/gems/ruby-vips-2.1.4/lib/vips/operation.rb:228:in `build' # /home/circleci/project/vendor/bundle/ruby/3.1.0/gems/ruby-vips-2.1.4/lib/vips/operation.rb:483:in `call' # /home/circleci/project/vendor/bundle/ruby/3.1.0/gems/ruby-vips-2.1.4/lib/vips/image.rb:592:in `write_to_file' # /home/circleci/project/vendor/bundle/ruby/3.1.0/gems/capybara-screenshot-diff-1.6.3/lib/capybara/screenshot/diff/drivers/vips_driver.rb:112:in `block in save_image_to' # /usr/local/lib/ruby/3.1.0/tmpdir.rb:144:in `create' # /home/circleci/project/vendor/bundle/ruby/3.1.0/gems/capybara-screenshot-diff-1.6.3/lib/capybara/screenshot/diff/drivers/vips_driver.rb:111:in `save_image_to' # /home/circleci/project/vendor/bundle/ruby/3.1.0/gems/capybara-screenshot-diff-1.6.3/lib/capybara/screenshot/diff/image_compare.rb:138:in `save' # /home/circleci/project/vendor/bundle/ruby/3.1.0/gems/capybara-screenshot-diff-1.6.3/lib/capybara/screenshot/diff/image_compare.rb:134:in `annotate_and_save' # /home/circleci/project/vendor/bundle/ruby/3.1.0/gems/capybara-screenshot-diff-1.6.3/lib/capybara/screenshot/diff/image_compare.rb:114:in `different?' # /home/circleci/project/vendor/bundle/ruby/3.1.0/gems/capybara-screenshot-diff-1.6.3/lib/capybara/screenshot/diff/test_methods.rb:115:in `assert_image_not_changed' # /home/circleci/project/vendor/bundle/ruby/3.1.0/gems/capybara-screenshot-diff-1.6.3/lib/capybara/screenshot/diff.rb:99:in `block in track_failures' # /home/circleci/project/vendor/bundle/ruby/3.1.0/gems/capybara-screenshot-diff-1.6.3/lib/capybara/screenshot/diff.rb:98:in `map' # /home/circleci/project/vendor/bundle/ruby/3.1.0/gems/capybara-screenshot-diff-1.6.3/lib/capybara/screenshot/diff.rb:98:in `track_failures' # /home/circleci/project/vendor/bundle/ruby/3.1.0/gems/capybara-screenshot-diff-1.6.3/lib/capybara/screenshot/diff.rb:87:in `block in included' # /home/circleci/project/vendor/bundle/ruby/3.1.0/gems/rspec-core-3.12.0/lib/rspec/core/example.rb:457:in `instance_exec' # /home/circleci/project/vendor/bundle/ruby/3.1.0/gems/rspec-core-3.12.0/lib/rspec/core/example.rb:457:in `instance_exec' ``` --- lib/capybara/screenshot/diff/drivers/vips_driver.rb | 7 ++++++- test/capybara/screenshot/diff/image_compare_test.rb | 10 ++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/lib/capybara/screenshot/diff/drivers/vips_driver.rb b/lib/capybara/screenshot/diff/drivers/vips_driver.rb index b6cf2daa..e278d5d9 100644 --- a/lib/capybara/screenshot/diff/drivers/vips_driver.rb +++ b/lib/capybara/screenshot/diff/drivers/vips_driver.rb @@ -56,9 +56,14 @@ def difference_level(diff_mask, old_img, _region = nil) VipsUtil.difference_area_size_by(diff_mask).to_f / image_area_size(old_img) end + MAX_FILENAME_LENGTH = 200 + # Vips could not work with the same file. Per each process we require to create new file def save_image_to(image, filename) - ::Dir::Tmpname.create([filename.to_s, PNG_EXTENSION]) do |tmp_image_filename| + # Dir::Tmpname will happily produce tempfile names that are too long for most unix filesystems, + # which leads to "unix error: File name too long". Apply a limit to avoid this. + limited_filename = filename.to_s[-MAX_FILENAME_LENGTH..] || filename.to_s + ::Dir::Tmpname.create([limited_filename, PNG_EXTENSION]) do |tmp_image_filename| image.write_to_file(tmp_image_filename) FileUtils.mv(tmp_image_filename, filename) end diff --git a/test/capybara/screenshot/diff/image_compare_test.rb b/test/capybara/screenshot/diff/image_compare_test.rb index 85555904..b95ef8a3 100644 --- a/test/capybara/screenshot/diff/image_compare_test.rb +++ b/test/capybara/screenshot/diff/image_compare_test.rb @@ -35,6 +35,16 @@ class ImageCompareTest < ActionDispatch::IntegrationTest assert_same_images("b-and-a.diff.png", comparison.annotated_image_path) end + test "it can handle very long input filenames" do + filename = %w(this-0000000000000000000000000000000000000000000000000-path/is/extremely/ + long/and/if/the/directories/are/flattened/in/ + the_temporary_they_will_cause_the_filename_to_exceed_ + the_limit_on_most_unix_systems_which_nobody_wants.png).join + comparison = make_comparison(:a, :b, destination: (Rails.root / filename), driver: :vips) + + assert comparison.different? + end + test "it can be instantiated with vips adapter and tolerance option" do comp = make_comparison(:a, :b, driver: :vips, tolerance: 0.02) assert comp.quick_equal? From 5a08f0966079d846b474571c65f892628d3da879 Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Wed, 13 Sep 2023 12:28:01 +0200 Subject: [PATCH 187/312] Narrow support to upstream supported versions of Ruby and Rails. --- .github/workflows/test.yml | 14 ++------------ .standard.yml | 2 +- README.md | 5 +++++ capybara-screenshot-diff.gemspec | 4 ++-- gemfiles/{rails-head_gems.rb => edge_gems.rb} | 0 gemfiles/rails60_gems.rb | 8 -------- 6 files changed, 10 insertions(+), 23 deletions(-) rename gemfiles/{rails-head_gems.rb => edge_gems.rb} (100%) delete mode 100644 gemfiles/rails60_gems.rb diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 8381b105..3bb891e3 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -117,11 +117,10 @@ jobs: continue-on-error: ${{ matrix.experimental }} strategy: matrix: - ruby-version: [ 3.2, 2.7, jruby ] + ruby-version: [ 3.2, 3.1, 3.0, jruby ] gemfile: - rails70_gems.rb - rails61_gems.rb - - rails60_gems.rb experimental: [ false ] exclude: # We already tested last version @@ -129,21 +128,12 @@ jobs: gemfile: gemfiles/rails70_gems.rb experimental: false include: - - ruby-version: 3.1 - gemfile: rails70_gems.rb - experimental: false - - ruby-version: 3.0 - gemfile: rails70_gems.rb - experimental: false - ruby-version: 3.2 - gemfile: rails-head_gems.rb + gemfile: edge_gems.rb experimental: true - ruby-version: ruby-head gemfile: rails70_gems.rb experimental: true - - ruby-version: jruby-9.3 - gemfile: rails60_gems.rb - experimental: false - ruby-version: jruby-head gemfile: rails70_gems.rb experimental: true diff --git a/.standard.yml b/.standard.yml index f34357f5..6ab041a4 100644 --- a/.standard.yml +++ b/.standard.yml @@ -2,7 +2,7 @@ fix: true # default: false parallel: true # default: false format: progress # default: Standard::Formatter -ruby_version: 2.7 # default: RUBY_VERSION +ruby_version: 3.0 # default: RUBY_VERSION default_ignores: false # default: true ignore: # default: [] diff --git a/README.md b/README.md index eacfabca..3df4c683 100644 --- a/README.md +++ b/README.md @@ -29,6 +29,11 @@ Or install it yourself as: ### Requirements +`capybara-screenshot-diff` supports the currently supported versions of Ruby and Rails: + +* Ruby 3.0+ (https://www.ruby-lang.org/en/downloads/branches/) +* Rails 6.1+ (https://guides.rubyonrails.org/maintenance_policy.html) + * [for :vips driver] libvips 8.9 or later, see the [libvips install instructions](https://libvips.github.io/libvips/install.html) ## Usage diff --git a/capybara-screenshot-diff.gemspec b/capybara-screenshot-diff.gemspec index 154bac0e..ef182524 100644 --- a/capybara-screenshot-diff.gemspec +++ b/capybara-screenshot-diff.gemspec @@ -12,7 +12,7 @@ Gem::Specification.new do |spec| spec.summary = "Track your GUI changes with diff assertions" spec.description = "Save screen shots and track changes with graphical diff" spec.homepage = "https://github.com/donv/capybara-screenshot-diff" - spec.required_ruby_version = defined?(JRUBY_VERSION) ? ">= 2.6.0" : ">= 2.7.0" + spec.required_ruby_version = ">= 3.0.0" spec.license = "MIT" spec.metadata["allowed_push_host"] = "https://rubygems.org/" spec.files = `git ls-files -z`.split("\x0").reject do |f| @@ -23,7 +23,7 @@ Gem::Specification.new do |spec| spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) } spec.require_paths = ["lib"] - spec.add_runtime_dependency "actionpack", ">= 6.0", "< 8" + spec.add_runtime_dependency "actionpack", ">= 6.1", "< 8" spec.add_runtime_dependency "capybara", ">= 2", "< 4" spec.add_runtime_dependency "chunky_png", ">= 1.3", "< 2" end diff --git a/gemfiles/rails-head_gems.rb b/gemfiles/edge_gems.rb similarity index 100% rename from gemfiles/rails-head_gems.rb rename to gemfiles/edge_gems.rb diff --git a/gemfiles/rails60_gems.rb b/gemfiles/rails60_gems.rb deleted file mode 100644 index 265afa0f..00000000 --- a/gemfiles/rails60_gems.rb +++ /dev/null @@ -1,8 +0,0 @@ -# frozen_string_literal: true - -gems = "#{File.dirname __dir__}/gems.rb" -eval File.read(gems), binding, gems - -gem "actionpack", "~> 6.0.1", "< 6.1" -gem "capybara", ">= 2.15" -gem "selenium-webdriver" From 60d6173dc310e9d8aee38e0c9e883fabde01cf6a Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Wed, 13 Sep 2023 12:41:04 +0200 Subject: [PATCH 188/312] Handle adding new screenshots when using GIT LFS. --- lib/capybara/screenshot/diff/vcs.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/capybara/screenshot/diff/vcs.rb b/lib/capybara/screenshot/diff/vcs.rb index 9db36a51..3eb29fc5 100644 --- a/lib/capybara/screenshot/diff/vcs.rb +++ b/lib/capybara/screenshot/diff/vcs.rb @@ -14,7 +14,7 @@ def self.restore_git_revision(screenshot_path, checkout_path) redirect_target = "#{checkout_path} #{SILENCE_ERRORS}" show_command = "git show HEAD~0:./#{vcs_file_path}" if Screenshot.use_lfs - `#{show_command} | git lfs smudge > #{redirect_target}` + `#{show_command} | git lfs smudge > #{redirect_target} ; exit ${PIPESTATUS[0]}` else `#{show_command} > #{redirect_target}` end From c4808c6282cffba03ac441cdf4ce74bdeb39599b Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Wed, 13 Sep 2023 12:42:38 +0200 Subject: [PATCH 189/312] Bump version to 1.8.0 for release. --- lib/capybara/screenshot/diff/version.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/capybara/screenshot/diff/version.rb b/lib/capybara/screenshot/diff/version.rb index 16533d1e..c0f3e66c 100644 --- a/lib/capybara/screenshot/diff/version.rb +++ b/lib/capybara/screenshot/diff/version.rb @@ -3,7 +3,7 @@ module Capybara module Screenshot module Diff - VERSION = "1.7.1" + VERSION = "1.8.0" end end end From ee2771c04b91655daefc36255ff740a92684caca Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Wed, 13 Sep 2023 12:57:06 +0200 Subject: [PATCH 190/312] Allow using puma 6 with JRuby. --- CONTRIBUTING.md | 12 ++++++------ gems.rb | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 42daf9cf..f8ae75e2 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -11,14 +11,14 @@ Run the tests before committing using Rake rake -### Matrix testing - -Run the tests for a matrix of configurations of Ruby implementations and Rails versions - - ./matrix_text.rb - ## Merging to master Before merging to `master`, please have a member of the project review your changes, and make sure the tests are green. + +## Release + +New versions are released to RubyGems. + + rake release diff --git a/gems.rb b/gems.rb index b22aee48..2abd949b 100644 --- a/gems.rb +++ b/gems.rb @@ -17,7 +17,7 @@ gem "simplecov", require: false # Capybara Server -gem "puma", RUBY_PLATFORM.include?("java") ? "< 6" : ">= 5", require: false +gem "puma", require: false gem "rackup", require: false # Capybara Drivers From 27c9198c3cab9862d901b3046c5f3de09bb2f5a1 Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Wed, 13 Sep 2023 12:58:15 +0200 Subject: [PATCH 191/312] Update CONTRIBUTING.md with release command. --- CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index f8ae75e2..ad1b2f34 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -17,7 +17,7 @@ Before merging to `master`, please have a member of the project review your changes, and make sure the tests are green. -## Release +## Releasing New versions are released to RubyGems. From a6fcdf48ce56abd7a4e404c9963a4fafc4361021 Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Wed, 13 Sep 2023 13:17:20 +0200 Subject: [PATCH 192/312] Disable puma 6 in tests for JRuby. --- gems.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gems.rb b/gems.rb index 2abd949b..b22aee48 100644 --- a/gems.rb +++ b/gems.rb @@ -17,7 +17,7 @@ gem "simplecov", require: false # Capybara Server -gem "puma", require: false +gem "puma", RUBY_PLATFORM.include?("java") ? "< 6" : ">= 5", require: false gem "rackup", require: false # Capybara Drivers From b47aabd5e2f723a2dab69fa8d2f9a31a2aa99023 Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Wed, 13 Sep 2023 13:26:58 +0200 Subject: [PATCH 193/312] Allow longer running test for JRuby. --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 3bb891e3..a4535a98 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -113,7 +113,7 @@ jobs: github.event.pull_request.requested_reviewers.length > 0 needs: [ test ] runs-on: ubuntu-latest - timeout-minutes: 7 + timeout-minutes: 10 continue-on-error: ${{ matrix.experimental }} strategy: matrix: From 52e118a154787980c644b0fae8fe5bd79c559c72 Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Wed, 13 Sep 2023 14:09:50 +0200 Subject: [PATCH 194/312] Enable puma 6 in tests for JRuby. --- gems.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gems.rb b/gems.rb index b22aee48..2abd949b 100644 --- a/gems.rb +++ b/gems.rb @@ -17,7 +17,7 @@ gem "simplecov", require: false # Capybara Server -gem "puma", RUBY_PLATFORM.include?("java") ? "< 6" : ">= 5", require: false +gem "puma", require: false gem "rackup", require: false # Capybara Drivers From ac171f165a2413cddda06c99e105da67cd7a7612 Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Thu, 14 Sep 2023 14:14:55 +0200 Subject: [PATCH 195/312] Verify that tests run after checkout. (#83) Verify that tests run after checkout. Allow running tests without VIPS installed. Retry test once since JRuby runs sometimes time out. --------- Co-authored-by: Uwe Kubosch --- .github/workflows/test.yml | 26 +- lib/capybara/screenshot/diff/drivers/utils.rb | 2 + .../screenshot/diff/drivers/vips_driver.rb | 2 +- .../screenshot/diff/drivers/utils_test.rb | 1 + .../diff/drivers/vips_driver_test.rb | 324 +++++++++--------- .../screenshot/diff/image_compare_test.rb | 11 +- test/integration/test_methods_system_test.rb | 4 +- 7 files changed, 202 insertions(+), 168 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index a4535a98..cb9beeee 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -26,6 +26,24 @@ concurrency: cancel-in-progress: true jobs: + # Test that new contributors can run the tests directly after checkout. + test-minimal-setup: + name: Test with minimal setup + runs-on: ubuntu-latest + timeout-minutes: 5 + steps: + - uses: actions/checkout@v4 + - uses: ruby/setup-ruby@v1 + with: + ruby-version: 3.0 + bundler-cache: true + - name: Cache Webdrivers + uses: actions/cache@v3 + with: + path: ~/.webdrivers + key: ${{ runner.os }}-webdrivers + - run: bin/rake test + test: name: Functional Testing runs-on: ubuntu-latest # In order to install libvips 8.9+ version @@ -113,7 +131,7 @@ jobs: github.event.pull_request.requested_reviewers.length > 0 needs: [ test ] runs-on: ubuntu-latest - timeout-minutes: 10 + timeout-minutes: 8 continue-on-error: ${{ matrix.experimental }} strategy: matrix: @@ -170,7 +188,11 @@ jobs: key: ${{ runner.os }}-webdrivers - name: Run tests - run: bin/rake test + uses: nick-fields/retry@v2 + with: + timeout_minutes: 3 + max_attempts: 2 + command: bin/rake test matrix-screenshot-driver: name: Test Integration Capybara & Image Drivers diff --git a/lib/capybara/screenshot/diff/drivers/utils.rb b/lib/capybara/screenshot/diff/drivers/utils.rb index fb3e314b..4aa2f0ee 100644 --- a/lib/capybara/screenshot/diff/drivers/utils.rb +++ b/lib/capybara/screenshot/diff/drivers/utils.rb @@ -10,11 +10,13 @@ def self.detect_available_drivers result << :vips if defined?(Vips) || require("vips") rescue LoadError # vips not present + Object.send(:remove_const, :Vips) if defined?(Vips) end begin result << :chunky_png if defined?(ChunkyPNG) || require("chunky_png") rescue LoadError # chunky_png not present + Object.send(:remove_const, :ChunkyPNG) if defined?(ChunkyPNG) end result end diff --git a/lib/capybara/screenshot/diff/drivers/vips_driver.rb b/lib/capybara/screenshot/diff/drivers/vips_driver.rb index e278d5d9..33a95d84 100644 --- a/lib/capybara/screenshot/diff/drivers/vips_driver.rb +++ b/lib/capybara/screenshot/diff/drivers/vips_driver.rb @@ -3,7 +3,7 @@ begin require "vips" rescue LoadError => e - warn 'Required ruby-vips gem is missing. Add `gem "ruby-vips"` to Gemfile' if e.message.include?("vips") + raise 'Required ruby-vips gem is missing. Add `gem "ruby-vips"` to Gemfile' if e.message.match?(/vips/i) raise end diff --git a/test/capybara/screenshot/diff/drivers/utils_test.rb b/test/capybara/screenshot/diff/drivers/utils_test.rb index e79ae9ef..0fd44c08 100644 --- a/test/capybara/screenshot/diff/drivers/utils_test.rb +++ b/test/capybara/screenshot/diff/drivers/utils_test.rb @@ -9,6 +9,7 @@ module Screenshot module Diff class UtilsTest < ActiveSupport::TestCase test "detect_available_drivers add vips when ruby-vips is available" do + skip "VIPS not present. Skipping VIPS driver tests." unless defined?(Vips) Object.stub :require, ->(gem) { gem == "vips" } do assert_includes Utils.detect_available_drivers, :vips end diff --git a/test/capybara/screenshot/diff/drivers/vips_driver_test.rb b/test/capybara/screenshot/diff/drivers/vips_driver_test.rb index b0ed8c6f..7f35b495 100644 --- a/test/capybara/screenshot/diff/drivers/vips_driver_test.rb +++ b/test/capybara/screenshot/diff/drivers/vips_driver_test.rb @@ -2,213 +2,213 @@ require "test_helper" -begin - require "capybara/screenshot/diff/drivers/vips_driver" - - module Capybara - module Screenshot - module Diff - module Drivers - class VipsDriverTest < ActionDispatch::IntegrationTest - include TestMethodsStub - - setup do - @new_screenshot_result = Tempfile.new(%w[screenshot .png], Rails.root) - end +unless defined?(Vips) + warn "VIPS not present. Skipping VIPS driver tests." + return +end +require "capybara/screenshot/diff/drivers/vips_driver" - teardown do - if @new_screenshot_result - @new_screenshot_result.close - @new_screenshot_result.unlink - end +module Capybara + module Screenshot + module Diff + module Drivers + class VipsDriverTest < ActionDispatch::IntegrationTest + include TestMethodsStub - Vips.cache_set_max(0) - Vips.cache_set_max(1000) - end + setup do + @new_screenshot_result = Tempfile.new(%w[screenshot .png], Rails.root) + end - test "#different? for equal is negative" do - comp = make_comparison(:a, :a) - assert_not comp.different? + teardown do + if @new_screenshot_result + @new_screenshot_result.close + @new_screenshot_result.unlink end - test "#quick_equal? for equal is positive" do - comp = make_comparison(:a, :a) + Vips.cache_set_max(0) + Vips.cache_set_max(1000) + end - assert comp.quick_equal? - end + test "#different? for equal is negative" do + comp = make_comparison(:a, :a) + assert_not comp.different? + end - test "it can be instantiated" do - assert VipsDriver.new - end + test "#quick_equal? for equal is positive" do + comp = make_comparison(:a, :a) - test "when different does not clean runtime files" do - comp = make_comparison(:a, :c) - assert comp.different? - assert_includes comp.error_message, "[11.0,3.0,49.0,21.0]" - assert File.exist?(comp.old_file_name) - assert File.exist?(comp.annotated_base_image_path) - assert File.exist?(comp.annotated_image_path) - end + assert comp.quick_equal? + end - test "when equal clean runtime files" do - comp = make_comparison(:c, :c) - assert_not comp.different? - assert_not File.exist?(comp.annotated_base_image_path) - assert_not File.exist?(comp.annotated_image_path) - end + test "it can be instantiated" do + assert VipsDriver.new + end - test "compare of 1 pixel wide diff" do - comp = make_comparison(:a, :d) - assert comp.different? - assert_includes comp.error_message, "[9.0,6.0,10.0,14.0]" - end + test "when different does not clean runtime files" do + comp = make_comparison(:a, :c) + assert comp.different? + assert_includes comp.error_message, "[11.0,3.0,49.0,21.0]" + assert File.exist?(comp.old_file_name) + assert File.exist?(comp.annotated_base_image_path) + assert File.exist?(comp.annotated_image_path) + end - test "compare with color_distance_limit above difference" do - comp = make_comparison(:a, :b, color_distance_limit: 255) - assert_not comp.different? - end + test "when equal clean runtime files" do + comp = make_comparison(:c, :c) + assert_not comp.different? + assert_not File.exist?(comp.annotated_base_image_path) + assert_not File.exist?(comp.annotated_image_path) + end - test "compare with color_distance_limit below difference" do - comp = make_comparison(:a, :b, color_distance_limit: 3) - assert comp.different? - end + test "compare of 1 pixel wide diff" do + comp = make_comparison(:a, :d) + assert comp.different? + assert_includes comp.error_message, "[9.0,6.0,10.0,14.0]" + end - test "compare with tolerance level more then area of the difference" do - comp = make_comparison(:a, :b, tolerance: 0.01) - assert comp.quick_equal? - assert_not comp.different? - assert_not comp.error_message - end + test "compare with color_distance_limit above difference" do + comp = make_comparison(:a, :b, color_distance_limit: 255) + assert_not comp.different? + end - test "compare with tolerance level less then area of the difference" do - comp = make_comparison(:a, :b, tolerance: 0.000001) - assert_not comp.quick_equal? - assert comp.different? - end + test "compare with color_distance_limit below difference" do + comp = make_comparison(:a, :b, color_distance_limit: 3) + assert comp.different? + end - test "compare with median_filter_window_size when images have 1px line difference" do - comp = make_comparison(:a, :d, median_filter_window_size: 3, color_distance_limit: 8) - assert comp.quick_equal? - assert_not comp.different? - end + test "compare with tolerance level more then area of the difference" do + comp = make_comparison(:a, :b, tolerance: 0.01) + assert comp.quick_equal? + assert_not comp.different? + assert_not comp.error_message + end - test "quick_equal" do - comp = make_comparison(:a, :b) - assert_not comp.quick_equal? - end + test "compare with tolerance level less then area of the difference" do + comp = make_comparison(:a, :b, tolerance: 0.000001) + assert_not comp.quick_equal? + assert comp.different? + end - test "quick_equal with color distance limit below current level" do - comp = make_comparison(:a, :b, color_distance_limit: 2) - assert_not comp.quick_equal? - end + test "compare with median_filter_window_size when images have 1px line difference" do + comp = make_comparison(:a, :d, median_filter_window_size: 3, color_distance_limit: 8) + assert comp.quick_equal? + assert_not comp.different? + end - test "quick_equal with color distance limit above current level" do - comp = make_comparison(:a, :b, color_distance_limit: 200) - assert comp.quick_equal? - end + test "quick_equal" do + comp = make_comparison(:a, :b) + assert_not comp.quick_equal? + end - test "size a vs a_cropped" do - comp = make_comparison(:a, :a_cropped) - assert comp.different? - assert_includes comp.error_message, "Screenshot dimension has been changed for " - assert_includes comp.error_message, "80x60" - end + test "quick_equal with color distance limit below current level" do + comp = make_comparison(:a, :b, color_distance_limit: 2) + assert_not comp.quick_equal? + end - test "quick_equal compare skips difference if skip_area covers it" do - comp = make_comparison( - :a, - :d, - skip_area: [ - Region.from_edge_coordinates(9, 0, 11, 80), - Region.from_edge_coordinates(79, 79, 80, 80) - ] - ) - assert comp.quick_equal? - assert_not comp.different? - end + test "quick_equal with color distance limit above current level" do + comp = make_comparison(:a, :b, color_distance_limit: 200) + assert comp.quick_equal? + end - test "quick_equal compare skips difference if skip_area does not cover it" do - comp = make_comparison( - :a, - :d, - skip_area: [ - Region.from_edge_coordinates(79, 79, 80, 80), - Region.from_edge_coordinates(78, 78, 80, 80) - ] - ) - assert_not comp.quick_equal? - assert comp.different? - end + test "size a vs a_cropped" do + comp = make_comparison(:a, :a_cropped) + assert comp.different? + assert_includes comp.error_message, "Screenshot dimension has been changed for " + assert_includes comp.error_message, "80x60" + end - # Test Interface Contracts + test "quick_equal compare skips difference if skip_area covers it" do + comp = make_comparison( + :a, + :d, + skip_area: [ + Region.from_edge_coordinates(9, 0, 11, 80), + Region.from_edge_coordinates(79, 79, 80, 80) + ] + ) + assert comp.quick_equal? + assert_not comp.different? + end - test "from_file loads image from path" do - driver = VipsDriver.new - assert driver.from_file(TEST_IMAGES_DIR / "a.png") - end + test "quick_equal compare skips difference if skip_area does not cover it" do + comp = make_comparison( + :a, + :d, + skip_area: [ + Region.from_edge_coordinates(79, 79, 80, 80), + Region.from_edge_coordinates(78, 78, 80, 80) + ] + ) + assert_not comp.quick_equal? + assert comp.different? + end - private + # Test Interface Contracts - def make_comparison(old_img, new_img, options = {}) - destination = Pathname.new(@new_screenshot_result.path) - super(old_img, new_img, destination: destination, **options.merge(driver: :vips)) - end + test "from_file loads image from path" do + driver = VipsDriver.new + assert driver.from_file(TEST_IMAGES_DIR / "a.png") + end - def sample_region - [0, 0, 0, 0] - end + private + + def make_comparison(old_img, new_img, options = {}) + destination = Pathname.new(@new_screenshot_result.path) + super(old_img, new_img, destination: destination, **options.merge(driver: :vips)) end - class VipsUtilTest < ActiveSupport::TestCase - test "segment difference without min color difference" do - old_image = Vips::Image.new_from_file("#{TEST_IMAGES_DIR}/a.png") - new_image = Vips::Image.new_from_file("#{TEST_IMAGES_DIR}/b.png") + def sample_region + [0, 0, 0, 0] + end + end - left, top, right, bottom = difference(old_image, new_image) + class VipsUtilTest < ActiveSupport::TestCase + test "segment difference without min color difference" do + old_image = Vips::Image.new_from_file("#{TEST_IMAGES_DIR}/a.png") + new_image = Vips::Image.new_from_file("#{TEST_IMAGES_DIR}/b.png") - assert_equal [20.0, 15.0, 30.0, 25.0], [left, top, right, bottom] + left, top, right, bottom = difference(old_image, new_image) - left, top, right, bottom = difference(old_image, new_image, color_distance: 0) + assert_equal [20.0, 15.0, 30.0, 25.0], [left, top, right, bottom] - assert_equal [20.0, 15.0, 30.0, 25.0], [left, top, right, bottom] - end + left, top, right, bottom = difference(old_image, new_image, color_distance: 0) - test "segment difference with min color difference" do - old_image = Vips::Image.new_from_file("#{TEST_IMAGES_DIR}/a.png") - new_image = Vips::Image.new_from_file("#{TEST_IMAGES_DIR}/b.png") + assert_equal [20.0, 15.0, 30.0, 25.0], [left, top, right, bottom] + end - left, top, right, bottom = difference(old_image, new_image, color_distance: 150) + test "segment difference with min color difference" do + old_image = Vips::Image.new_from_file("#{TEST_IMAGES_DIR}/a.png") + new_image = Vips::Image.new_from_file("#{TEST_IMAGES_DIR}/b.png") - assert_equal [26.0, 18.0, 27.0, 19.0], [left, top, right, bottom] - end + left, top, right, bottom = difference(old_image, new_image, color_distance: 150) + + assert_equal [26.0, 18.0, 27.0, 19.0], [left, top, right, bottom] + end - test "segment difference" do - old_image = Vips::Image.new_from_file("#{TEST_IMAGES_DIR}/a.png") - new_image = Vips::Image.new_from_file("#{TEST_IMAGES_DIR}/b.png") + test "segment difference" do + old_image = Vips::Image.new_from_file("#{TEST_IMAGES_DIR}/a.png") + new_image = Vips::Image.new_from_file("#{TEST_IMAGES_DIR}/b.png") - left, top, right, bottom = difference(old_image, new_image) + left, top, right, bottom = difference(old_image, new_image) - assert_equal [20.0, 15.0, 30.0, 25.0], [left, top, right, bottom] - end + assert_equal [20.0, 15.0, 30.0, 25.0], [left, top, right, bottom] + end - test "area of the difference" do - old_image = Vips::Image.new_from_file("#{TEST_IMAGES_DIR}/a.png") - new_image = Vips::Image.new_from_file("#{TEST_IMAGES_DIR}/d.png").bandjoin(255) + test "area of the difference" do + old_image = Vips::Image.new_from_file("#{TEST_IMAGES_DIR}/a.png") + new_image = Vips::Image.new_from_file("#{TEST_IMAGES_DIR}/d.png").bandjoin(255) - assert_equal 8, VipsDriver::VipsUtil.difference_area(old_image, new_image, color_distance: 10) - end + assert_equal 8, VipsDriver::VipsUtil.difference_area(old_image, new_image, color_distance: 10) + end - private + private - def difference(old_image, new_image, color_distance: nil) - diff_mask = VipsDriver::VipsUtil.difference_mask(new_image, old_image, color_distance) - VipsDriver::VipsUtil.difference_region_by(diff_mask).to_edge_coordinates - end + def difference(old_image, new_image, color_distance: nil) + diff_mask = VipsDriver::VipsUtil.difference_mask(new_image, old_image, color_distance) + VipsDriver::VipsUtil.difference_region_by(diff_mask).to_edge_coordinates end end end end end -rescue LoadError - warn "VIPS not present. Skipping VIPS driver tests." end diff --git a/test/capybara/screenshot/diff/image_compare_test.rb b/test/capybara/screenshot/diff/image_compare_test.rb index b95ef8a3..5bea8e35 100644 --- a/test/capybara/screenshot/diff/image_compare_test.rb +++ b/test/capybara/screenshot/diff/image_compare_test.rb @@ -3,7 +3,11 @@ require "test_helper" require "minitest/stub_const" require "capybara/screenshot/diff/drivers/chunky_png_driver" -require "capybara/screenshot/diff/drivers/vips_driver" +if defined?(Vips) + require "capybara/screenshot/diff/drivers/vips_driver" +elsif ENV['SCREENSHOT_DRIVER'] == 'vips' + raise 'Required `ruby-vips` gem or `vips` library is missing. Ensure "ruby-vips" gem and "vips" library is installed.' +end module Capybara module Screenshot @@ -22,11 +26,13 @@ class ImageCompareTest < ActionDispatch::IntegrationTest end test "it can be instantiated with vips adapter" do + skip "VIPS not present. Skipping VIPS driver tests." unless defined?(Vips) comparison = ImageCompare.new("images/b.png", "images/b.base.png", driver: :vips) assert_kind_of Drivers::VipsDriver, comparison.driver end test "it generates annotation files on difference" do + skip "VIPS not present. Skipping VIPS driver tests." unless defined?(Vips) comparison = make_comparison(:a, :b, driver: :vips) assert comparison.different? @@ -36,6 +42,7 @@ class ImageCompareTest < ActionDispatch::IntegrationTest end test "it can handle very long input filenames" do + skip "VIPS not present. Skipping VIPS driver tests." unless defined?(Vips) filename = %w(this-0000000000000000000000000000000000000000000000000-path/is/extremely/ long/and/if/the/directories/are/flattened/in/ the_temporary_they_will_cause_the_filename_to_exceed_ @@ -46,6 +53,7 @@ class ImageCompareTest < ActionDispatch::IntegrationTest end test "it can be instantiated with vips adapter and tolerance option" do + skip "VIPS not present. Skipping VIPS driver tests." unless defined?(Vips) comp = make_comparison(:a, :b, driver: :vips, tolerance: 0.02) assert comp.quick_equal? assert_not comp.different? @@ -60,6 +68,7 @@ class ImageCompareTest < ActionDispatch::IntegrationTest end test "for driver: :auto returns first from available drivers" do + skip "VIPS not present. Skipping VIPS driver tests." unless defined?(Vips) comparison = ImageCompare.new("images/b.png", "images/b.base.png", driver: :auto) assert_kind_of Drivers::VipsDriver, comparison.driver end diff --git a/test/integration/test_methods_system_test.rb b/test/integration/test_methods_system_test.rb index 241b8a5e..f10c1585 100644 --- a/test/integration/test_methods_system_test.rb +++ b/test/integration/test_methods_system_test.rb @@ -5,8 +5,8 @@ # NOTE: For this test we need only chrome browser, # because we can spot problem by counting running chrome driver processes require "action_pack/version" -unless [ActionPack::VERSION::MAJOR, ActionPack::VERSION::MINOR].join >= "60" && ENV["CAPYBARA_DRIVER"].include?("selenium_chrome") - warn "Regression only for 6x Rails and driven_by construction" +unless ENV["CAPYBARA_DRIVER"].include?("selenium_chrome") + warn "Regression only for `driven_by :selenium_chrome` construction." return end From 15a11129f30e1cc97ab918abd20fd13dcd9f5d12 Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Thu, 14 Sep 2023 17:26:55 +0200 Subject: [PATCH 196/312] Use "compatible with" version selector. --- capybara-screenshot-diff.gemspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/capybara-screenshot-diff.gemspec b/capybara-screenshot-diff.gemspec index ef182524..4a970882 100644 --- a/capybara-screenshot-diff.gemspec +++ b/capybara-screenshot-diff.gemspec @@ -25,5 +25,5 @@ Gem::Specification.new do |spec| spec.add_runtime_dependency "actionpack", ">= 6.1", "< 8" spec.add_runtime_dependency "capybara", ">= 2", "< 4" - spec.add_runtime_dependency "chunky_png", ">= 1.3", "< 2" + spec.add_runtime_dependency "chunky_png", "~> 1.3" end From bf8bb8d52be8f49c3fa03b6937ea40fbeea6cdbd Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Fri, 15 Sep 2023 08:59:20 +0200 Subject: [PATCH 197/312] Fixed case when awaiting images to load before taking the screenshot. --- lib/capybara/screenshot/diff/screenshoter.rb | 7 +++---- lib/capybara/screenshot/diff/version.rb | 2 +- test/integration/browser_screenshot_test.rb | 12 ++++++++++-- 3 files changed, 14 insertions(+), 7 deletions(-) diff --git a/lib/capybara/screenshot/diff/screenshoter.rb b/lib/capybara/screenshot/diff/screenshoter.rb index d708b2a4..e3d4f95b 100644 --- a/lib/capybara/screenshot/diff/screenshoter.rb +++ b/lib/capybara/screenshot/diff/screenshoter.rb @@ -118,10 +118,9 @@ def wait_images_loaded(timeout:) pending_image = BrowserHelpers.pending_image_to_load break unless pending_image - assert( - (Time.now - start) < timeout, - "Images not loaded after #{timeout}s: #{pending_image.inspect}" - ) + if (Time.now - start) >= timeout + raise Capybara::Screenshot::Diff::ASSERTION, "Images not loaded after #{timeout}s: #{pending_image.inspect}" + end sleep 0.025 end diff --git a/lib/capybara/screenshot/diff/version.rb b/lib/capybara/screenshot/diff/version.rb index c0f3e66c..7d48285a 100644 --- a/lib/capybara/screenshot/diff/version.rb +++ b/lib/capybara/screenshot/diff/version.rb @@ -3,7 +3,7 @@ module Capybara module Screenshot module Diff - VERSION = "1.8.0" + VERSION = "1.8.1" end end end diff --git a/test/integration/browser_screenshot_test.rb b/test/integration/browser_screenshot_test.rb index 83b167ec..7039b211 100644 --- a/test/integration/browser_screenshot_test.rb +++ b/test/integration/browser_screenshot_test.rb @@ -189,6 +189,16 @@ def test_screenshot_selected_element FileUtils.rm_rf(Capybara::Screenshot.screenshot_area_abs / "index-with-anim.png") end + def test_await_all_images_are_loaded + visit "/index.html" + assert_raises Minitest::Assertion do + BrowserHelpers.stub(:pending_image_to_load, 'http://127.0.0.1:62815/image.png') do + screenshot :index + end + end + assert_no_screenshot_errors + end + private def rect_for(css_selector) @@ -220,7 +230,5 @@ def assert_no_screenshot_errors "expecting not to have any difference. But got next: #{error_messages.join("; ")}" ) end - - # TODO: Add test for stability to await while image are loading end end From 4f34873962767375f146787fa3221adfe0c9ddf4 Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Fri, 15 Sep 2023 10:29:48 +0200 Subject: [PATCH 198/312] Display the source line for the calling test in the screenshot difference report. Fixes #84 --- lib/capybara/screenshot/diff.rb | 2 +- lib/capybara/screenshot/diff/test_methods.rb | 10 +++++----- lib/capybara/screenshot/diff/version.rb | 2 +- test/capybara/screenshot/diff/test_methods_test.rb | 9 ++++++--- 4 files changed, 13 insertions(+), 10 deletions(-) diff --git a/lib/capybara/screenshot/diff.rb b/lib/capybara/screenshot/diff.rb index 0bfbdbed..96f8a4f2 100644 --- a/lib/capybara/screenshot/diff.rb +++ b/lib/capybara/screenshot/diff.rb @@ -92,7 +92,7 @@ def self.included(klass) def track_failures(screenshots, original_caller) test_screenshot_errors = screenshots.map do |caller, name, compare| - assert_image_not_changed(name, compare) + assert_image_not_changed(caller, name, compare) end test_screenshot_errors.compact! diff --git a/lib/capybara/screenshot/diff/test_methods.rb b/lib/capybara/screenshot/diff/test_methods.rb index 35c82692..2f3ccde0 100644 --- a/lib/capybara/screenshot/diff/test_methods.rb +++ b/lib/capybara/screenshot/diff/test_methods.rb @@ -74,12 +74,12 @@ def screenshot(name, skip_stack_frames: 0, **options) return false unless job - test_caller = caller(skip_stack_frames) + job.prepend(caller[skip_stack_frames]) if Screenshot::Diff.delayed - schedule_match_job([test_caller] + job) + schedule_match_job(job) else - error_msg = assert_image_not_changed(job.first, job.last) + error_msg = assert_image_not_changed(*job) if error_msg error = ASSERTION.new(error_msg) error.set_backtrace(caller(2)) @@ -88,7 +88,7 @@ def screenshot(name, skip_stack_frames: 0, **options) end end - def assert_image_not_changed(name, comparison) + def assert_image_not_changed(caller, name, comparison) result = comparison.different? # Cleanup after comparisons @@ -100,7 +100,7 @@ def assert_image_not_changed(name, comparison) return unless result - "Screenshot does not match for '#{name}' #{comparison.error_message}" + "Screenshot does not match for '#{name}' #{comparison.error_message}\n#{caller}" end private diff --git a/lib/capybara/screenshot/diff/version.rb b/lib/capybara/screenshot/diff/version.rb index 7d48285a..6ebf5d6b 100644 --- a/lib/capybara/screenshot/diff/version.rb +++ b/lib/capybara/screenshot/diff/version.rb @@ -3,7 +3,7 @@ module Capybara module Screenshot module Diff - VERSION = "1.8.1" + VERSION = "1.8.2" end end end diff --git a/test/capybara/screenshot/diff/test_methods_test.rb b/test/capybara/screenshot/diff/test_methods_test.rb index ce8d87eb..29eed20e 100644 --- a/test/capybara/screenshot/diff/test_methods_test.rb +++ b/test/capybara/screenshot/diff/test_methods_test.rb @@ -10,18 +10,20 @@ class TestMethodsTest < ActionDispatch::IntegrationTest include TestMethodsStub def test_assert_image_not_changed - message = assert_image_not_changed("name", make_comparison(:a, :c)) + message = assert_image_not_changed("my_test.rb:42", "name", make_comparison(:a, :c)) value = (RUBY_VERSION >= "2.4") ? 187.4 : 188 assert_equal <<-MSG.strip_heredoc.chomp, message Screenshot does not match for 'name' ({"area_size":629,"region":[11,3,48,20],"max_color_distance":#{value}}) #{Rails.root}/doc/screenshots/screenshot.png #{Rails.root}/doc/screenshots/screenshot.base.diff.png #{Rails.root}/doc/screenshots/screenshot.diff.png + my_test.rb:42 MSG end def test_assert_image_not_changed_with_shift_distance_limit message = assert_image_not_changed( + "my_test.rb:42", "name", make_comparison(:a, :c, shift_distance_limit: 1, driver: :chunky_png) ) @@ -31,6 +33,7 @@ def test_assert_image_not_changed_with_shift_distance_limit #{Rails.root}/doc/screenshots/screenshot.png #{Rails.root}/doc/screenshots/screenshot.base.diff.png #{Rails.root}/doc/screenshots/screenshot.diff.png + my_test.rb:42 MSG end @@ -77,13 +80,13 @@ def test_creates_new_screenshot def test_cleanup_base_image_for_no_change comparison = make_comparison(:a, :a) - assert_image_not_changed("name", comparison) + assert_image_not_changed("my_test.rb:42", "name", comparison) assert_not comparison.base_image_path.exist? end def test_cleanup_base_image_for_changes comparison = make_comparison(:a, :b) - assert_image_not_changed("name", comparison) + assert_image_not_changed("my_test.rb:42", "name", comparison) assert_not comparison.base_image_path.exist? end From 37c06ea9db12d661f49624c0b13c1a67277c198e Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Fri, 15 Sep 2023 10:56:39 +0200 Subject: [PATCH 199/312] Adjust signature of `assert_image_not_changed` to take a `caller` String. --- sig/capybara/screenshot/diff/test_methods.rbs | 2 +- test/capybara/screenshot/diff_test.rb | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/sig/capybara/screenshot/diff/test_methods.rbs b/sig/capybara/screenshot/diff/test_methods.rbs index c8649ab4..62866b7e 100644 --- a/sig/capybara/screenshot/diff/test_methods.rbs +++ b/sig/capybara/screenshot/diff/test_methods.rbs @@ -28,7 +28,7 @@ module Capybara def screenshot: (name_entity name, ?skip_stack_frames: ::Integer, **untyped options) -> boolish - def assert_image_not_changed: (String name, ImageCompare comparison) -> ::String? + def assert_image_not_changed: (String caller, String name, ImageCompare comparison) -> ::String? private diff --git a/test/capybara/screenshot/diff_test.rb b/test/capybara/screenshot/diff_test.rb index d0393cf4..b38f3878 100644 --- a/test/capybara/screenshot/diff_test.rb +++ b/test/capybara/screenshot/diff_test.rb @@ -126,7 +126,7 @@ def _test_sample_screenshot_error mock.expect(:error_message, "expected error message") @test_screenshots = [] - @test_screenshots << [[], "sample_screenshot", mock] + @test_screenshots << ["my_test.rb:42", "sample_screenshot", mock] end end @@ -162,7 +162,7 @@ def _test_sample_screenshot_error comparison.expect(:error_message, "expected error message for non minitest") @test_screenshots = [] - @test_screenshots << [[], "sample_screenshot", comparison] + @test_screenshots << ["my_test.rb:42", "sample_screenshot", comparison] end end From 1fd5448a1e913886acb1def35fe4517adb3e53bc Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Fri, 15 Sep 2023 11:13:02 +0200 Subject: [PATCH 200/312] Omit the long and noisy stack trace for the test framework in the diff report. --- lib/capybara/screenshot/diff.rb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/capybara/screenshot/diff.rb b/lib/capybara/screenshot/diff.rb index 96f8a4f2..45e357ba 100644 --- a/lib/capybara/screenshot/diff.rb +++ b/lib/capybara/screenshot/diff.rb @@ -80,7 +80,7 @@ def self.included(klass) klass.teardown do if Screenshot.active? && @test_screenshots.present? - track_failures(@test_screenshots, caller) + track_failures(@test_screenshots) @test_screenshots.clear end end @@ -90,7 +90,7 @@ def self.included(klass) EMPTY_LINE = "\n\n" - def track_failures(screenshots, original_caller) + def track_failures(screenshots) test_screenshot_errors = screenshots.map do |caller, name, compare| assert_image_not_changed(caller, name, compare) end @@ -99,7 +99,7 @@ def track_failures(screenshots, original_caller) unless test_screenshot_errors.empty? error = ASSERTION.new(test_screenshot_errors.join(EMPTY_LINE)) - error.set_backtrace(original_caller) + error.set_backtrace([]) if is_a?(::Minitest::Runnable) failures << error From 0f26bc50e42fe70cd3f775cd22ae97833d979bbe Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Fri, 15 Sep 2023 11:19:41 +0200 Subject: [PATCH 201/312] Omit the long and noisy stack trace for the test framework in the diff report. --- sig/capybara/screenshot/diff/diff.rbs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sig/capybara/screenshot/diff/diff.rbs b/sig/capybara/screenshot/diff/diff.rbs index a1878111..14642159 100644 --- a/sig/capybara/screenshot/diff/diff.rbs +++ b/sig/capybara/screenshot/diff/diff.rbs @@ -22,7 +22,7 @@ module Capybara private - def track_failures: (Array[untyped] screenshots, (Array[String] | String) original_caller) -> void + def track_failures: (Array[untyped] screenshots) -> void end end end From 6a113e26f5e1fb664f0c359511744e00c9e3e89b Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Mon, 25 Sep 2023 14:51:40 +0200 Subject: [PATCH 202/312] Handle GIT LFS on shells without PIPESTATUS. --- lib/capybara/screenshot/diff/vcs.rb | 6 +++++- lib/capybara/screenshot/diff/version.rb | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/lib/capybara/screenshot/diff/vcs.rb b/lib/capybara/screenshot/diff/vcs.rb index 3eb29fc5..f8bfa5f6 100644 --- a/lib/capybara/screenshot/diff/vcs.rb +++ b/lib/capybara/screenshot/diff/vcs.rb @@ -14,7 +14,11 @@ def self.restore_git_revision(screenshot_path, checkout_path) redirect_target = "#{checkout_path} #{SILENCE_ERRORS}" show_command = "git show HEAD~0:./#{vcs_file_path}" if Screenshot.use_lfs - `#{show_command} | git lfs smudge > #{redirect_target} ; exit ${PIPESTATUS[0]}` + `#{show_command} > #{checkout_path}.tmp #{SILENCE_ERRORS}` + if $CHILD_STATUS == 0 + `git lfs smudge < #{checkout_path}.tmp > #{redirect_target}` + end + File.delete "#{checkout_path}.tmp" else `#{show_command} > #{redirect_target}` end diff --git a/lib/capybara/screenshot/diff/version.rb b/lib/capybara/screenshot/diff/version.rb index 6ebf5d6b..bcbfefcf 100644 --- a/lib/capybara/screenshot/diff/version.rb +++ b/lib/capybara/screenshot/diff/version.rb @@ -3,7 +3,7 @@ module Capybara module Screenshot module Diff - VERSION = "1.8.2" + VERSION = "1.8.3" end end end From 7d1d0878b66d70594d619534052fe330f6d38b34 Mon Sep 17 00:00:00 2001 From: Paul Keen <125715+pftg@users.noreply.github.com> Date: Tue, 7 Nov 2023 15:12:01 +0100 Subject: [PATCH 203/312] Cleanup code & configurations (#86) * Auto-fix standardrb errors * Adds rails 7.1 to CI/CD * Drops unreachable code --- .github/workflows/lint.yml | 4 ++-- .github/workflows/test.yml | 18 +++++++++++------- Rakefile | 2 +- gemfiles/rails71_gems.rb | 7 +++++++ lib/capybara/screenshot/diff/image_compare.rb | 9 ++------- .../screenshot/diff/image_compare_test.rb | 6 +++--- test/integration/browser_screenshot_test.rb | 2 +- 7 files changed, 27 insertions(+), 21 deletions(-) create mode 100644 gemfiles/rails71_gems.rb diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index bdff0062..3b0f1fae 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -5,8 +5,8 @@ on: pull_request: branches: [ master ] paths: - - '*.rb' - - '*.yml' + - '**.rb' + - '**.yml' - '.github/workflows/lint.yml' - '!bin/**' diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index cb9beeee..e1f30d9a 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -15,7 +15,7 @@ on: workflow_dispatch: env: - BUNDLE_GEMFILE: gemfiles/rails70_gems.rb + BUNDLE_GEMFILE: gemfiles/rails71_gems.rb DEBIAN_FRONTEND: noninteractive FERRUM_PROCESS_TIMEOUT: 40 RUBY_YJIT_ENABLE: 1 @@ -35,7 +35,7 @@ jobs: - uses: actions/checkout@v4 - uses: ruby/setup-ruby@v1 with: - ruby-version: 3.0 + ruby-version: 3.2 bundler-cache: true - name: Cache Webdrivers uses: actions/cache@v3 @@ -137,29 +137,33 @@ jobs: matrix: ruby-version: [ 3.2, 3.1, 3.0, jruby ] gemfile: + - rails71_gems.rb - rails70_gems.rb - rails61_gems.rb experimental: [ false ] exclude: # We already tested last version - ruby-version: 3.2 - gemfile: gemfiles/rails70_gems.rb + gemfile: rails71_gems.rb experimental: false include: - ruby-version: 3.2 gemfile: edge_gems.rb experimental: true - ruby-version: ruby-head - gemfile: rails70_gems.rb + gemfile: rails71_gems.rb + experimental: true + - ruby-version: 3.3.0-preview2 + gemfile: rails71_gems.rb experimental: true - ruby-version: jruby-head - gemfile: rails70_gems.rb + gemfile: rails71_gems.rb experimental: true - ruby-version: truffleruby - gemfile: rails70_gems.rb + gemfile: rails71_gems.rb experimental: true - ruby-version: truffleruby+graalvm - gemfile: rails70_gems.rb + gemfile: rails71_gems.rb experimental: true env: diff --git a/Rakefile b/Rakefile index 374080c8..fa696d71 100644 --- a/Rakefile +++ b/Rakefile @@ -33,7 +33,7 @@ task "clobber" do end task "test:benchmark" do - require_relative "./scripts/benchmark/find_region_benchmark" + require_relative "scripts/benchmark/find_region_benchmark" benchmark = Capybara::Screenshot::Diff::Drivers::FindRegionBenchmark.new puts "For Medium Screen Size: 800x600" diff --git a/gemfiles/rails71_gems.rb b/gemfiles/rails71_gems.rb new file mode 100644 index 00000000..32be55d6 --- /dev/null +++ b/gemfiles/rails71_gems.rb @@ -0,0 +1,7 @@ +# frozen_string_literal: true + +gems = "#{File.dirname __dir__}/gems.rb" +eval File.read(gems), binding, gems + +gem "actionpack", "~> 7.1", "< 7.2" +gem "capybara", ">= 3.26" diff --git a/lib/capybara/screenshot/diff/image_compare.rb b/lib/capybara/screenshot/diff/image_compare.rb index 63b6c8c0..3acb1194 100644 --- a/lib/capybara/screenshot/diff/image_compare.rb +++ b/lib/capybara/screenshot/diff/image_compare.rb @@ -159,11 +159,6 @@ def preprocess_images(images) def preprocess_image(image) result = image - # FIXME: How can we access to this method from public interface? Is this not documented feature? - if dimensions && driver.inscribed?(dimensions, result) - result = driver.crop(dimensions, result) - end - if skip_area result = ignore_skipped_area(result) end @@ -209,14 +204,14 @@ def annotate_and_save_image(difference, image, image_path) DIFF_COLOR = [255, 0, 0, 255].freeze def annotate_difference(image, region) - driver.draw_rectangles(Array[image], region, DIFF_COLOR, offset: 1).first + driver.draw_rectangles([image], region, DIFF_COLOR, offset: 1).first end SKIP_COLOR = [255, 192, 0, 255].freeze def annotate_skip_areas(image, skip_areas) skip_areas.reduce(image) do |memo, region| - driver.draw_rectangles(Array[memo], region, SKIP_COLOR).first + driver.draw_rectangles([memo], region, SKIP_COLOR).first end end end diff --git a/test/capybara/screenshot/diff/image_compare_test.rb b/test/capybara/screenshot/diff/image_compare_test.rb index 5bea8e35..06dbf19b 100644 --- a/test/capybara/screenshot/diff/image_compare_test.rb +++ b/test/capybara/screenshot/diff/image_compare_test.rb @@ -5,7 +5,7 @@ require "capybara/screenshot/diff/drivers/chunky_png_driver" if defined?(Vips) require "capybara/screenshot/diff/drivers/vips_driver" -elsif ENV['SCREENSHOT_DRIVER'] == 'vips' +elsif ENV["SCREENSHOT_DRIVER"] == "vips" raise 'Required `ruby-vips` gem or `vips` library is missing. Ensure "ruby-vips" gem and "vips" library is installed.' end @@ -43,10 +43,10 @@ class ImageCompareTest < ActionDispatch::IntegrationTest test "it can handle very long input filenames" do skip "VIPS not present. Skipping VIPS driver tests." unless defined?(Vips) - filename = %w(this-0000000000000000000000000000000000000000000000000-path/is/extremely/ + filename = %w[this-0000000000000000000000000000000000000000000000000-path/is/extremely/ long/and/if/the/directories/are/flattened/in/ the_temporary_they_will_cause_the_filename_to_exceed_ - the_limit_on_most_unix_systems_which_nobody_wants.png).join + the_limit_on_most_unix_systems_which_nobody_wants.png].join comparison = make_comparison(:a, :b, destination: (Rails.root / filename), driver: :vips) assert comparison.different? diff --git a/test/integration/browser_screenshot_test.rb b/test/integration/browser_screenshot_test.rb index 7039b211..ab4600cd 100644 --- a/test/integration/browser_screenshot_test.rb +++ b/test/integration/browser_screenshot_test.rb @@ -192,7 +192,7 @@ def test_screenshot_selected_element def test_await_all_images_are_loaded visit "/index.html" assert_raises Minitest::Assertion do - BrowserHelpers.stub(:pending_image_to_load, 'http://127.0.0.1:62815/image.png') do + BrowserHelpers.stub(:pending_image_to_load, "http://127.0.0.1:62815/image.png") do screenshot :index end end From fe828ad436df84dd85011c73ebc2efddbfc15db3 Mon Sep 17 00:00:00 2001 From: Alan Savage Date: Wed, 8 Nov 2023 05:24:11 -0600 Subject: [PATCH 204/312] Use ceil before converting to an integer in BrowserHelpers.region_for (#88) This prevents creating a region that is one pixel too small due to rounding down. --- lib/capybara/screenshot/diff/browser_helpers.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/capybara/screenshot/diff/browser_helpers.rb b/lib/capybara/screenshot/diff/browser_helpers.rb index b1cca8b3..88714a3e 100644 --- a/lib/capybara/screenshot/diff/browser_helpers.rb +++ b/lib/capybara/screenshot/diff/browser_helpers.rb @@ -83,7 +83,7 @@ def self.all_visible_regions_for(selector) end def self.region_for(element) - element.evaluate_script(GET_BOUNDING_CLIENT_RECT_SCRIPT).map { |point| point.negative? ? 0 : point.to_i } + element.evaluate_script(GET_BOUNDING_CLIENT_RECT_SCRIPT).map { |point| point.negative? ? 0 : point.ceil.to_i } end def self.session From 7a81562e0babd128b67ed54343051def86bbe5ed Mon Sep 17 00:00:00 2001 From: Taylor Rouse <91197025+TaylorBrysonRouse@users.noreply.github.com> Date: Thu, 30 Nov 2023 05:20:26 -0600 Subject: [PATCH 205/312] Move screenshot clearing to be before error raise (#90) --- lib/capybara/screenshot/diff.rb | 7 +++++-- test/capybara/screenshot/diff_test.rb | 2 ++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/lib/capybara/screenshot/diff.rb b/lib/capybara/screenshot/diff.rb index 45e357ba..711623fe 100644 --- a/lib/capybara/screenshot/diff.rb +++ b/lib/capybara/screenshot/diff.rb @@ -80,8 +80,11 @@ def self.included(klass) klass.teardown do if Screenshot.active? && @test_screenshots.present? - track_failures(@test_screenshots) - @test_screenshots.clear + begin + track_failures(@test_screenshots) + ensure + @test_screenshots.clear + end end end end diff --git a/test/capybara/screenshot/diff_test.rb b/test/capybara/screenshot/diff_test.rb index b38f3878..b9f1a022 100644 --- a/test/capybara/screenshot/diff_test.rb +++ b/test/capybara/screenshot/diff_test.rb @@ -127,6 +127,7 @@ def _test_sample_screenshot_error @test_screenshots = [] @test_screenshots << ["my_test.rb:42", "sample_screenshot", mock] + mock.expect(:clear_screenshots, @test_screenshots) end end @@ -174,6 +175,7 @@ def _test_sample_screenshot_error expected_message = "Screenshot does not match for 'sample_screenshot' expected error message for non minitest" assert_raises(RuntimeError, expected_message) { test_case.teardown } + assert(test_case.instance_variable_get(:@test_screenshots).empty?) end end end From c49dd40243537dbf8931bd96df9cbc440c19771b Mon Sep 17 00:00:00 2001 From: Paul Keen <125715+pftg@users.noreply.github.com> Date: Sun, 10 Dec 2023 11:43:02 +0100 Subject: [PATCH 206/312] refact: wrap image compare constructor --- lib/capybara/screenshot/diff/image_compare.rb | 4 ++++ sig/capybara/screenshot/diff/image_compare.rbs | 2 ++ 2 files changed, 6 insertions(+) diff --git a/lib/capybara/screenshot/diff/image_compare.rb b/lib/capybara/screenshot/diff/image_compare.rb index 3acb1194..c076982e 100644 --- a/lib/capybara/screenshot/diff/image_compare.rb +++ b/lib/capybara/screenshot/diff/image_compare.rb @@ -32,6 +32,10 @@ def initialize(image_path, base_image_path, options = {}) @driver = Drivers.for(@driver_options) end + def self.build(image_path, base_image_path, options = {}) + self.new(image_path, base_image_path, options) + end + # Compare the two image files and return `true` or `false` as quickly as possible. # Return falsely if the old file does not exist or the image dimensions do not match. def quick_equal? diff --git a/sig/capybara/screenshot/diff/image_compare.rbs b/sig/capybara/screenshot/diff/image_compare.rbs index 6a1c765e..2c55fe28 100644 --- a/sig/capybara/screenshot/diff/image_compare.rbs +++ b/sig/capybara/screenshot/diff/image_compare.rbs @@ -42,6 +42,8 @@ module Capybara def initialize: (TestMethods::path_entity new_file_name, TestMethods::path_entity old_file_name, ?Drivers::BaseDriver::options_entity options) -> void + def self.build: (TestMethods::path_entity new_file_name, TestMethods::path_entity old_file_name, ?Drivers::BaseDriver::options_entity options) -> ImageCompare + # Compare the two image_entity files and return `true` or `false` as quickly as possible. # Return falsely if the old file does not exist or the image_entity dimensions do not match. def quick_equal?: () -> boolish From bf2ef100bddba426d500f34088e60238fb2e97ca Mon Sep 17 00:00:00 2001 From: Paul Keen <125715+pftg@users.noreply.github.com> Date: Sun, 10 Dec 2023 11:46:30 +0100 Subject: [PATCH 207/312] refact: use build --- lib/capybara/screenshot/diff/screenshot_matcher.rb | 2 +- .../screenshot/diff/stable_screenshoter.rb | 2 +- scripts/benchmark/find_region_benchmark.rb | 2 +- .../capybara/screenshot/diff/image_compare_test.rb | 14 +++++++------- test/support/stub_test_methods.rb | 2 +- test/test_helper.rb | 2 +- 6 files changed, 12 insertions(+), 12 deletions(-) diff --git a/lib/capybara/screenshot/diff/screenshot_matcher.rb b/lib/capybara/screenshot/diff/screenshot_matcher.rb index 1366b7fd..71ff1676 100644 --- a/lib/capybara/screenshot/diff/screenshot_matcher.rb +++ b/lib/capybara/screenshot/diff/screenshot_matcher.rb @@ -53,7 +53,7 @@ def build_screenshot_matches_job # Add comparison job in the queue [ screenshot_full_name, - ImageCompare.new(screenshot_path.to_s, base_screenshot_path.to_s, driver_options) + ImageCompare.build(screenshot_path.to_s, base_screenshot_path.to_s, driver_options) ] end diff --git a/lib/capybara/screenshot/diff/stable_screenshoter.rb b/lib/capybara/screenshot/diff/stable_screenshoter.rb index d371c376..239cd6c8 100644 --- a/lib/capybara/screenshot/diff/stable_screenshoter.rb +++ b/lib/capybara/screenshot/diff/stable_screenshoter.rb @@ -64,7 +64,7 @@ def take_stable_screenshot(screenshot_path) private def build_comparison_for(attempt_path, previous_attempt_path) - ImageCompare.new(attempt_path, previous_attempt_path, @comparison_options) + ImageCompare.build(attempt_path, previous_attempt_path, @comparison_options) end def annotate_attempts_and_fail!(screenshot_path) diff --git a/scripts/benchmark/find_region_benchmark.rb b/scripts/benchmark/find_region_benchmark.rb index 1f6007de..a14ead8a 100644 --- a/scripts/benchmark/find_region_benchmark.rb +++ b/scripts/benchmark/find_region_benchmark.rb @@ -42,7 +42,7 @@ def for_small_images def experiment_for(x, driver, method, suffix, new_path, base_path) x.report("[#{suffix}] #{driver}##{method}") do 50.times do - ImageCompare.new(new_path, base_path, driver: driver).public_send(method) + ImageCompare.build(new_path, base_path, driver: driver).public_send(method) Vips.cache_set_max(0) Vips.cache_set_max(1000) diff --git a/test/capybara/screenshot/diff/image_compare_test.rb b/test/capybara/screenshot/diff/image_compare_test.rb index 06dbf19b..35de1ed3 100644 --- a/test/capybara/screenshot/diff/image_compare_test.rb +++ b/test/capybara/screenshot/diff/image_compare_test.rb @@ -16,18 +16,18 @@ class ImageCompareTest < ActionDispatch::IntegrationTest include TestMethodsStub test "it can be instantiated with chunky_png driver" do - comparison = ImageCompare.new("images/b.png", "images/b.base.png") + comparison = ImageCompare.build("images/b.png", "images/b.base.png") assert_kind_of Drivers::ChunkyPNGDriver, comparison.driver end test "it can be instantiated with explicit chunky_png adapter" do - comparison = ImageCompare.new("images/b.png", "images/b.base.png", driver: :chunky_png) + comparison = ImageCompare.build("images/b.png", "images/b.base.png", driver: :chunky_png) assert_kind_of Drivers::ChunkyPNGDriver, comparison.driver end test "it can be instantiated with vips adapter" do skip "VIPS not present. Skipping VIPS driver tests." unless defined?(Vips) - comparison = ImageCompare.new("images/b.png", "images/b.base.png", driver: :vips) + comparison = ImageCompare.build("images/b.png", "images/b.base.png", driver: :vips) assert_kind_of Drivers::VipsDriver, comparison.driver end @@ -60,23 +60,23 @@ class ImageCompareTest < ActionDispatch::IntegrationTest end test "could pass use tolerance for chunky_png driver" do - ImageCompare.new("images/b.png", "images/b.base.png", driver: :chunky_png, tolerance: 0.02) + ImageCompare.build("images/b.png", "images/b.base.png", driver: :chunky_png, tolerance: 0.02) end test "it can be instantiated with dimensions" do - assert ImageCompare.new("images/b.png", "images/b.base.png", dimensions: [80, 80]) + assert ImageCompare.build("images/b.png", "images/b.base.png", dimensions: [80, 80]) end test "for driver: :auto returns first from available drivers" do skip "VIPS not present. Skipping VIPS driver tests." unless defined?(Vips) - comparison = ImageCompare.new("images/b.png", "images/b.base.png", driver: :auto) + comparison = ImageCompare.build("images/b.png", "images/b.base.png", driver: :auto) assert_kind_of Drivers::VipsDriver, comparison.driver end test "for driver: :auto raise error if no drivers are available" do Capybara::Screenshot::Diff.stub_const(:AVAILABLE_DRIVERS, []) do assert_raise(RuntimeError) do - ImageCompare.new("images/b.png", "images/b.base.png", driver: :auto) + ImageCompare.build("images/b.png", "images/b.base.png", driver: :auto) end end end diff --git a/test/support/stub_test_methods.rb b/test/support/stub_test_methods.rb index 655379c9..4fdc09f0 100644 --- a/test/support/stub_test_methods.rb +++ b/test/support/stub_test_methods.rb @@ -24,7 +24,7 @@ def make_comparison(fixture_base_image, fixture_new_image, destination: nil, **o set_test_images(destination, fixture_base_image, fixture_new_image) - ImageCompare.new(destination, ScreenshotMatcher.base_image_path_from(destination), **options) + ImageCompare.build(destination, ScreenshotMatcher.base_image_path_from(destination), **options) end def set_test_images(destination, original_base_image, original_new_image) diff --git a/test/test_helper.rb b/test/test_helper.rb index 056f692f..44c9c609 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -59,6 +59,6 @@ def optional_test def assert_same_images(expected_image_name, image_path) expected_image_path = file_fixture("files/comparisons/#{expected_image_name}") - assert_predicate(Capybara::Screenshot::Diff::ImageCompare.new(image_path, expected_image_path), :quick_equal?) + assert_predicate(Capybara::Screenshot::Diff::ImageCompare.build(image_path, expected_image_path), :quick_equal?) end end From 5290c16ca46867be081c7c27a0688af1afe3e66c Mon Sep 17 00:00:00 2001 From: Paul Keen <125715+pftg@users.noreply.github.com> Date: Sun, 10 Dec 2023 13:17:34 +0100 Subject: [PATCH 208/312] refact: extracted default reporter --- lib/capybara/screenshot/diff.rb | 3 + lib/capybara/screenshot/diff/difference.rb | 8 +- lib/capybara/screenshot/diff/image_compare.rb | 102 ++++++------------ .../screenshot/diff/reporters/default.rb | 96 +++++++++++++++++ .../screenshot/diff/image_compare.rbs | 2 +- .../screenshot/diff/difference_test.rb | 22 ++++ 6 files changed, 159 insertions(+), 74 deletions(-) create mode 100644 lib/capybara/screenshot/diff/reporters/default.rb create mode 100644 test/capybara/screenshot/diff/difference_test.rb diff --git a/lib/capybara/screenshot/diff.rb b/lib/capybara/screenshot/diff.rb index 711623fe..60918fec 100644 --- a/lib/capybara/screenshot/diff.rb +++ b/lib/capybara/screenshot/diff.rb @@ -7,8 +7,11 @@ require "capybara/screenshot/diff/test_methods" require "capybara/screenshot/diff/screenshoter" +require "capybara/screenshot/diff/reporters/default" + module Capybara module Screenshot + mattr_accessor :add_driver_path mattr_accessor :add_os_path mattr_accessor :blur_active_element diff --git a/lib/capybara/screenshot/diff/difference.rb b/lib/capybara/screenshot/diff/difference.rb index 4d2a2cfa..eb3a1630 100644 --- a/lib/capybara/screenshot/diff/difference.rb +++ b/lib/capybara/screenshot/diff/difference.rb @@ -5,9 +5,13 @@ module Capybara module Screenshot module Diff - class Difference < Struct.new(:region, :meta, :comparison) + class Difference < Struct.new(:region, :meta, :comparison, :failed_by) def different? - !(blank? || tolerable?) + failed? || !(blank? || tolerable?) + end + + def failed? + !!failed_by end def base_image diff --git a/lib/capybara/screenshot/diff/image_compare.rb b/lib/capybara/screenshot/diff/image_compare.rb index c076982e..9787abcc 100644 --- a/lib/capybara/screenshot/diff/image_compare.rb +++ b/lib/capybara/screenshot/diff/image_compare.rb @@ -30,6 +30,7 @@ def initialize(image_path, base_image_path, options = {}) @driver_options = options.dup @driver = Drivers.for(@driver_options) + @reporter = Capybara::Screenshot::Diff::Reporters::Default.new(self, @annotated_image_path, @annotated_base_image_path) end def self.build(image_path, base_image_path, options = {}) @@ -39,17 +40,13 @@ def self.build(image_path, base_image_path, options = {}) # Compare the two image files and return `true` or `false` as quickly as possible. # Return falsely if the old file does not exist or the image dimensions do not match. def quick_equal? - @error_message = nil return false unless image_files_exist? # TODO: Confirm this change. There are screenshots with the same size, but there is a big difference return true if new_file_size == old_file_size comparison = load_and_process_images - unless driver.same_dimension?(comparison) - @error_message = build_error_for_different_dimensions(comparison) - return false - end + return false unless driver.same_dimension?(comparison) return true if driver.same_pixels?(comparison) @@ -57,10 +54,8 @@ def quick_equal? return false if without_tolerable_options? @difference = driver.find_difference_region(comparison) - return true unless @difference.different? - @error_message = @difference.inspect - false + !@difference.different? end # Compare the two image referenced by this object, and return `true` if they are different, @@ -68,60 +63,55 @@ def quick_equal? def different? @error_message = nil - @error_message = _different? + @difference = find_difference unless processed? - clean_tmp_files unless @error_message + @error_message = reporter.generate(@difference) - !@error_message.nil? - end - - def build_error_for_different_dimensions(comparison) - change_msg = [comparison.base_image, comparison.new_image] - .map { |i| driver.dimension(i).join("x") } - .join(" => ") + clean_tmp_files unless @difference.different? - "Screenshot dimension has been changed for #{@new_file_name}: #{change_msg}" + @difference.different? end def clean_tmp_files - @annotated_base_image_path.unlink if @annotated_base_image_path.exist? - @annotated_image_path.unlink if @annotated_image_path.exist? - end - - def save(image, image_path) - driver.save_image_to(image, image_path.to_s) + reporter.clean_tmp_files end def image_files_exist? @base_image_path.exist? && @image_path.exist? end - NEW_LINE = "\n" - attr_reader :error_message private + def processed? + !!@difference + end + def without_tolerable_options? (@driver_options.keys & TOLERABLE_OPTIONS).empty? end - def _different? - raise "There is no original (base) screenshot version to compare, located: #{@base_image_path}" unless @base_image_path.exist? - raise "There is no new screenshot version to compare, located: #{@image_path}" unless @image_path.exist? + def find_difference + raise ArgumentError, "There is no original (base) screenshot version to compare, located: #{@base_image_path}" unless @base_image_path.exist? + raise ArgumentError, "There is no new screenshot version to compare, located: #{@image_path}" unless @image_path.exist? comparison = load_and_process_images unless driver.same_dimension?(comparison) - return build_error_for_different_dimensions(comparison) + return Difference.new( + nil, + { difference_level: nil, max_color_distance: 0 }, + self, + { different_dimensions: { comparison: comparison, new_file_name: new_file_name } } + ) end - return not_different if driver.same_pixels?(comparison) - - @difference = driver.find_difference_region(comparison) - return not_different unless @difference.different? - - different(@difference) + if driver.same_pixels?(comparison) + no_difference + else + driver.find_difference_region(comparison) + end end def load_and_process_images @@ -130,15 +120,6 @@ def load_and_process_images Comparison.new(new_image, base_image, @driver_options) end - def build_error_message(difference) - [ - "(#{difference.inspect})", - new_file_name, - annotated_base_image_path.to_path, - annotated_image_path.to_path - ].join(NEW_LINE) - end - def skip_area @driver_options[:skip_area] end @@ -151,11 +132,6 @@ def dimensions @driver_options[:dimensions] end - def different(difference) - annotate_and_save_images(difference) - build_error_message(difference) - end - def preprocess_images(images) images.map { |image| preprocess_image(image) } end @@ -191,33 +167,17 @@ def new_file_size end def not_different - nil + no_difference.different? || nil end - def annotate_and_save_images(difference) - annotate_and_save_image(difference, difference.comparison.new_image, @annotated_image_path) - annotate_and_save_image(difference, difference.comparison.base_image, @annotated_base_image_path) + def no_difference + @difference = Difference.new(nil, { difference_level: nil, max_color_distance: 0 }, self).freeze end - def annotate_and_save_image(difference, image, image_path) - image = annotate_difference(image, difference.region) - image = annotate_skip_areas(image, difference.skip_area) if difference.skip_area - save(image, image_path.to_path) + def reporter + @reporter ||= Capybara::Screenshot::Diff::Reporters::Default.new(self) end - DIFF_COLOR = [255, 0, 0, 255].freeze - - def annotate_difference(image, region) - driver.draw_rectangles([image], region, DIFF_COLOR, offset: 1).first - end - - SKIP_COLOR = [255, 192, 0, 255].freeze - - def annotate_skip_areas(image, skip_areas) - skip_areas.reduce(image) do |memo, region| - driver.draw_rectangles([memo], region, SKIP_COLOR).first - end - end end class Comparison < Struct.new(:new_image, :base_image, :options) diff --git a/lib/capybara/screenshot/diff/reporters/default.rb b/lib/capybara/screenshot/diff/reporters/default.rb new file mode 100644 index 00000000..9048066b --- /dev/null +++ b/lib/capybara/screenshot/diff/reporters/default.rb @@ -0,0 +1,96 @@ +# frozen_string_literal: true + +module Capybara::Screenshot::Diff + module Reporters + class Default + attr_reader :comparer, :annotated_image_path, :annotated_base_image_path + + def initialize(comparer, annotated_image_path = nil, annotated_base_image_path = nil) + @comparer = comparer + @annotated_image_path = annotated_image_path || comparer.annotated_image_path + @annotated_base_image_path = annotated_base_image_path || comparer.annotated_base_image_path + end + + def generate(difference) + return nil unless difference.different? + + if difference.failed? && difference.failed_by[:different_dimensions] + return build_error_for_different_dimensions(difference.failed_by[:different_dimensions]) + end + + annotate_and_save_images(difference) + build_error_message(difference) + end + + + def clean_tmp_files + annotated_base_image_path.unlink if annotated_base_image_path.exist? + annotated_image_path.unlink if annotated_image_path.exist? + end + + def build_error_for_different_dimensions(failed_by) + comparison, new_file_name = failed_by[:comparison], failed_by[:new_file_name] + change_msg = [comparison.base_image, comparison.new_image] + .map { |i| driver.dimension(i).join("x") } + .join(" => ") + + "Screenshot dimension has been changed for #{new_file_name}: #{change_msg}" + end + + def annotate_and_save_images(difference) + annotate_and_save_image(difference, difference.comparison.new_image, annotated_image_path) + annotate_and_save_image(difference, difference.comparison.base_image, annotated_base_image_path) + end + + def annotate_and_save_image(difference, image, image_path) + image = annotate_difference(image, difference.region) + image = annotate_skip_areas(image, difference.skip_area) if difference.skip_area + + save(image, image_path.to_path) + end + + DIFF_COLOR = [255, 0, 0, 255].freeze + + def annotate_difference(image, region) + driver.draw_rectangles([image], region, DIFF_COLOR, offset: 1).first + end + + SKIP_COLOR = [255, 192, 0, 255].freeze + + def annotate_skip_areas(image, skip_areas) + skip_areas.reduce(image) do |memo, region| + driver.draw_rectangles([memo], region, SKIP_COLOR).first + end + end + + def save(image, image_path) + driver.save_image_to(image, image_path.to_s) + end + + NEW_LINE = "\n".freeze + + def build_error_message(difference) + [ + "(#{difference.inspect})", + new_file_name, + annotated_base_image_path.to_path, + annotated_image_path.to_path + ].join(NEW_LINE) + end + + private + + def reporter + self + end + + def driver + @comparer.driver + end + + def new_file_name + @comparer.new_file_name + end + end + end +end diff --git a/sig/capybara/screenshot/diff/image_compare.rbs b/sig/capybara/screenshot/diff/image_compare.rbs index 2c55fe28..d865e11a 100644 --- a/sig/capybara/screenshot/diff/image_compare.rbs +++ b/sig/capybara/screenshot/diff/image_compare.rbs @@ -64,7 +64,7 @@ module Capybara private - def _different?: -> String? + def find_difference: -> Difference def different: (Difference images) -> String diff --git a/test/capybara/screenshot/diff/difference_test.rb b/test/capybara/screenshot/diff/difference_test.rb new file mode 100644 index 00000000..60fc85e1 --- /dev/null +++ b/test/capybara/screenshot/diff/difference_test.rb @@ -0,0 +1,22 @@ +# frozen_string_literal: true + +require "test_helper" +require "capybara/screenshot/diff/difference" + +module Capybara::Screenshot::Diff + class DifferenceTest < ActiveSupport::TestCase + class WithFailedByTest < DifferenceTest + setup do + @difference = Difference.new(nil, {}, nil, { different_dimensions: [] }) + end + + test 'it is different' do + assert_predicate @difference, :different? + end + + test 'it is failed' do + assert_predicate @difference, :failed? + end + end + end +end From 16f803b538af3808480b52ba9c11d7023f3e3a86 Mon Sep 17 00:00:00 2001 From: Paul Keen <125715+pftg@users.noreply.github.com> Date: Sun, 10 Dec 2023 15:48:34 +0100 Subject: [PATCH 209/312] refact: detach Reporter from ImageComparer --- lib/capybara/screenshot/diff/difference.rb | 4 + lib/capybara/screenshot/diff/image_compare.rb | 86 +++++++++++-------- .../screenshot/diff/reporters/default.rb | 37 ++++---- .../screenshot/diff/screenshot_matcher.rb | 2 +- .../screenshot/diff/stable_screenshoter.rb | 7 +- scripts/benchmark/find_region_benchmark.rb | 2 +- .../diff/drivers/chunky_png_driver_test.rb | 16 ++-- .../diff/drivers/vips_driver_test.rb | 12 ++- .../screenshot/diff/image_compare_test.rb | 18 ++-- .../diff/stable_screenshoter_test.rb | 8 +- test/support/stub_test_methods.rb | 2 +- test/system_test_case.rb | 12 +-- test/test_helper.rb | 2 +- 13 files changed, 125 insertions(+), 83 deletions(-) diff --git a/lib/capybara/screenshot/diff/difference.rb b/lib/capybara/screenshot/diff/difference.rb index eb3a1630..6b87ee38 100644 --- a/lib/capybara/screenshot/diff/difference.rb +++ b/lib/capybara/screenshot/diff/difference.rb @@ -10,6 +10,10 @@ def different? failed? || !(blank? || tolerable?) end + def equal? + !different? + end + def failed? !!failed_by end diff --git a/lib/capybara/screenshot/diff/image_compare.rb b/lib/capybara/screenshot/diff/image_compare.rb index 9787abcc..8a3e9e0f 100644 --- a/lib/capybara/screenshot/diff/image_compare.rb +++ b/lib/capybara/screenshot/diff/image_compare.rb @@ -12,11 +12,14 @@ class ImageCompare attr_reader :driver, :driver_options - attr_reader :annotated_image_path, :annotated_base_image_path, - :image_path, :base_image_path, - :new_file_name, :old_file_name + attr_reader :image_path, :base_image_path, :new_file_name, :old_file_name + + attr_reader :difference def initialize(image_path, base_image_path, options = {}) + @reporter = nil + @error_message = nil + @image_path = Pathname.new(image_path) @new_file_name = @image_path.to_s @@ -30,16 +33,12 @@ def initialize(image_path, base_image_path, options = {}) @driver_options = options.dup @driver = Drivers.for(@driver_options) - @reporter = Capybara::Screenshot::Diff::Reporters::Default.new(self, @annotated_image_path, @annotated_base_image_path) - end - - def self.build(image_path, base_image_path, options = {}) - self.new(image_path, base_image_path, options) end # Compare the two image files and return `true` or `false` as quickly as possible. # Return falsely if the old file does not exist or the image dimensions do not match. def quick_equal? + return false unless image_files_exist? # TODO: Confirm this change. There are screenshots with the same size, but there is a big difference return true if new_file_size == old_file_size @@ -54,6 +53,8 @@ def quick_equal? return false if without_tolerable_options? @difference = driver.find_difference_region(comparison) + @reporter = nil + @error_message = nil !@difference.different? end @@ -62,28 +63,45 @@ def quick_equal? # and `false` if they are the same. def different? @error_message = nil + @reporter = nil @difference = find_difference unless processed? - @error_message = reporter.generate(@difference) - - clean_tmp_files unless @difference.different? + @error_message = report(@difference) @difference.different? end - def clean_tmp_files - reporter.clean_tmp_files - end - def image_files_exist? @base_image_path.exist? && @image_path.exist? end attr_reader :error_message + def reporter(difference = @difference) + @reporter ||= Capybara::Screenshot::Diff::Reporters::Default.new(difference || no_difference) + end + + # TODO: Delete me + def annotated_image_path + return unless different? + + reporter.annotated_image_path + end + + # TODO: Delete me + def annotated_base_image_path + return unless different? + + reporter.annotated_base_image_path + end + private + def report(difference) + reporter(difference).generate + end + def processed? !!@difference end @@ -99,25 +117,29 @@ def find_difference comparison = load_and_process_images unless driver.same_dimension?(comparison) - return Difference.new( - nil, - { difference_level: nil, max_color_distance: 0 }, - self, - { different_dimensions: { comparison: comparison, new_file_name: new_file_name } } - ) + return failed_difference(comparison, { different_dimensions: true }) end if driver.same_pixels?(comparison) - no_difference + no_difference(comparison) else driver.find_difference_region(comparison) end end + def failed_difference(comparison, failed_by) + Difference.new( + nil, + { difference_level: nil, max_color_distance: 0 }, + comparison, + failed_by + ) + end + def load_and_process_images images = driver.load_images(old_file_name, new_file_name) base_image, new_image = preprocess_images(images) - Comparison.new(new_image, base_image, @driver_options) + Comparison.new(new_image, base_image, @driver_options, driver, image_path, base_image_path) end def skip_area @@ -166,21 +188,17 @@ def new_file_size File.size(@new_file_name) end - def not_different - no_difference.different? || nil - end - - def no_difference - @difference = Difference.new(nil, { difference_level: nil, max_color_distance: 0 }, self).freeze - end - - def reporter - @reporter ||= Capybara::Screenshot::Diff::Reporters::Default.new(self) + def no_difference(comparison = nil) + Difference.new( + nil, + { difference_level: nil, max_color_distance: 0 }, + comparison || Comparison.new(nil, nil, driver_options, driver, image_path, base_image_path) + ).freeze end end - class Comparison < Struct.new(:new_image, :base_image, :options) + class Comparison < Struct.new(:new_image, :base_image, :options, :driver, :new_image_path, :base_image_path) end end end diff --git a/lib/capybara/screenshot/diff/reporters/default.rb b/lib/capybara/screenshot/diff/reporters/default.rb index 9048066b..39dd0a10 100644 --- a/lib/capybara/screenshot/diff/reporters/default.rb +++ b/lib/capybara/screenshot/diff/reporters/default.rb @@ -3,16 +3,21 @@ module Capybara::Screenshot::Diff module Reporters class Default - attr_reader :comparer, :annotated_image_path, :annotated_base_image_path + attr_reader :annotated_image_path, :annotated_base_image_path, :difference - def initialize(comparer, annotated_image_path = nil, annotated_base_image_path = nil) - @comparer = comparer - @annotated_image_path = annotated_image_path || comparer.annotated_image_path - @annotated_base_image_path = annotated_base_image_path || comparer.annotated_base_image_path + def initialize(difference) + @difference = difference + + @annotated_image_path = comparison.new_image_path.sub_ext(".diff.png") + @annotated_base_image_path = comparison.base_image_path.sub_ext(".diff.png") end - def generate(difference) - return nil unless difference.different? + def generate + if difference.equal? + # NOTE: Delete previous run runtime files + clean_tmp_files + return nil + end if difference.failed? && difference.failed_by[:different_dimensions] return build_error_for_different_dimensions(difference.failed_by[:different_dimensions]) @@ -22,14 +27,12 @@ def generate(difference) build_error_message(difference) end - def clean_tmp_files annotated_base_image_path.unlink if annotated_base_image_path.exist? annotated_image_path.unlink if annotated_image_path.exist? end - def build_error_for_different_dimensions(failed_by) - comparison, new_file_name = failed_by[:comparison], failed_by[:new_file_name] + def build_error_for_different_dimensions(failed_by = nil) change_msg = [comparison.base_image, comparison.new_image] .map { |i| driver.dimension(i).join("x") } .join(" => ") @@ -72,7 +75,7 @@ def save(image, image_path) def build_error_message(difference) [ "(#{difference.inspect})", - new_file_name, + new_image_path.to_path, annotated_base_image_path.to_path, annotated_image_path.to_path ].join(NEW_LINE) @@ -80,16 +83,20 @@ def build_error_message(difference) private - def reporter - self + def new_image_path + comparison.new_image_path end def driver - @comparer.driver + @_driver ||= comparison.driver + end + + def comparison + @_comparison ||= difference.comparison end def new_file_name - @comparer.new_file_name + @_new_file_name ||= comparison.new_image_path.to_path end end end diff --git a/lib/capybara/screenshot/diff/screenshot_matcher.rb b/lib/capybara/screenshot/diff/screenshot_matcher.rb index 71ff1676..1366b7fd 100644 --- a/lib/capybara/screenshot/diff/screenshot_matcher.rb +++ b/lib/capybara/screenshot/diff/screenshot_matcher.rb @@ -53,7 +53,7 @@ def build_screenshot_matches_job # Add comparison job in the queue [ screenshot_full_name, - ImageCompare.build(screenshot_path.to_s, base_screenshot_path.to_s, driver_options) + ImageCompare.new(screenshot_path.to_s, base_screenshot_path.to_s, driver_options) ] end diff --git a/lib/capybara/screenshot/diff/stable_screenshoter.rb b/lib/capybara/screenshot/diff/stable_screenshoter.rb index 239cd6c8..786ab5c4 100644 --- a/lib/capybara/screenshot/diff/stable_screenshoter.rb +++ b/lib/capybara/screenshot/diff/stable_screenshoter.rb @@ -64,9 +64,10 @@ def take_stable_screenshot(screenshot_path) private def build_comparison_for(attempt_path, previous_attempt_path) - ImageCompare.build(attempt_path, previous_attempt_path, @comparison_options) + ImageCompare.new(attempt_path, previous_attempt_path, @comparison_options) end + # TODO: Move to the HistoricalReporter def annotate_attempts_and_fail!(screenshot_path) screenshot_attempts = Screenshoter.attempts_screenshot_paths(screenshot_path) @@ -84,13 +85,13 @@ def annotate_stabilization_images(attempts_screenshot_paths) attempts_comparison = build_comparison_for(file_name, previous_file) if attempts_comparison.different? - FileUtils.mv(attempts_comparison.annotated_base_image_path, previous_file, force: true) + FileUtils.mv(attempts_comparison.reporter.annotated_base_image_path, previous_file, force: true) else warn "[capybara-screenshot-diff] Some attempts was stable, but mistakenly marked as not: " \ "#{previous_file} and #{file_name} are equal" end - FileUtils.rm(attempts_comparison.annotated_image_path, force: true) + FileUtils.rm(attempts_comparison.reporter.annotated_image_path, force: true) end previous_file = file_name diff --git a/scripts/benchmark/find_region_benchmark.rb b/scripts/benchmark/find_region_benchmark.rb index a14ead8a..1f6007de 100644 --- a/scripts/benchmark/find_region_benchmark.rb +++ b/scripts/benchmark/find_region_benchmark.rb @@ -42,7 +42,7 @@ def for_small_images def experiment_for(x, driver, method, suffix, new_path, base_path) x.report("[#{suffix}] #{driver}##{method}") do 50.times do - ImageCompare.build(new_path, base_path, driver: driver).public_send(method) + ImageCompare.new(new_path, base_path, driver: driver).public_send(method) Vips.cache_set_max(0) Vips.cache_set_max(1000) diff --git a/test/capybara/screenshot/diff/drivers/chunky_png_driver_test.rb b/test/capybara/screenshot/diff/drivers/chunky_png_driver_test.rb index 62c3c48a..3e806dd6 100644 --- a/test/capybara/screenshot/diff/drivers/chunky_png_driver_test.rb +++ b/test/capybara/screenshot/diff/drivers/chunky_png_driver_test.rb @@ -40,16 +40,20 @@ class ChunkyPNGDriverTest < ActionDispatch::IntegrationTest assert comp.different? assert_includes comp.error_message, "[11,3,48,20]" assert File.exist?(comp.old_file_name) - assert File.exist?(comp.annotated_base_image_path) - assert File.exist?(comp.annotated_image_path) + assert File.exist?(comp.reporter.annotated_base_image_path) + assert File.exist?(comp.reporter.annotated_image_path) - assert_same_images("a-and-c.diff.png", comp.annotated_base_image_path) - assert_same_images("c-and-a.diff.png", comp.annotated_image_path) + assert_same_images("a-and-c.diff.png", comp.reporter.annotated_base_image_path) + assert_same_images("c-and-a.diff.png", comp.reporter.annotated_image_path) comp = make_comparison(:c, :c) assert_not comp.different? - assert_not File.exist?(comp.annotated_base_image_path) - assert_not File.exist?(comp.annotated_image_path) + + assert comp.reporter.annotated_base_image_path + assert comp.reporter.annotated_image_path + + assert_not File.exist?(comp.reporter.annotated_base_image_path) + assert_not File.exist?(comp.reporter.annotated_image_path) end test "compare of 1 pixel wide diff" do diff --git a/test/capybara/screenshot/diff/drivers/vips_driver_test.rb b/test/capybara/screenshot/diff/drivers/vips_driver_test.rb index 7f35b495..37a9c4f8 100644 --- a/test/capybara/screenshot/diff/drivers/vips_driver_test.rb +++ b/test/capybara/screenshot/diff/drivers/vips_driver_test.rb @@ -49,15 +49,19 @@ class VipsDriverTest < ActionDispatch::IntegrationTest assert comp.different? assert_includes comp.error_message, "[11.0,3.0,49.0,21.0]" assert File.exist?(comp.old_file_name) - assert File.exist?(comp.annotated_base_image_path) - assert File.exist?(comp.annotated_image_path) + assert File.exist?(comp.reporter.annotated_base_image_path) + assert File.exist?(comp.reporter.annotated_image_path) end test "when equal clean runtime files" do comp = make_comparison(:c, :c) assert_not comp.different? - assert_not File.exist?(comp.annotated_base_image_path) - assert_not File.exist?(comp.annotated_image_path) + + assert comp.reporter.annotated_base_image_path + assert comp.reporter.annotated_image_path + + assert_not File.exist?(comp.reporter.annotated_base_image_path) + assert_not File.exist?(comp.reporter.annotated_image_path) end test "compare of 1 pixel wide diff" do diff --git a/test/capybara/screenshot/diff/image_compare_test.rb b/test/capybara/screenshot/diff/image_compare_test.rb index 35de1ed3..04ef5abb 100644 --- a/test/capybara/screenshot/diff/image_compare_test.rb +++ b/test/capybara/screenshot/diff/image_compare_test.rb @@ -16,18 +16,18 @@ class ImageCompareTest < ActionDispatch::IntegrationTest include TestMethodsStub test "it can be instantiated with chunky_png driver" do - comparison = ImageCompare.build("images/b.png", "images/b.base.png") + comparison = ImageCompare.new("images/b.png", "images/b.base.png") assert_kind_of Drivers::ChunkyPNGDriver, comparison.driver end test "it can be instantiated with explicit chunky_png adapter" do - comparison = ImageCompare.build("images/b.png", "images/b.base.png", driver: :chunky_png) + comparison = ImageCompare.new("images/b.png", "images/b.base.png", driver: :chunky_png) assert_kind_of Drivers::ChunkyPNGDriver, comparison.driver end test "it can be instantiated with vips adapter" do skip "VIPS not present. Skipping VIPS driver tests." unless defined?(Vips) - comparison = ImageCompare.build("images/b.png", "images/b.base.png", driver: :vips) + comparison = ImageCompare.new("images/b.png", "images/b.base.png", driver: :vips) assert_kind_of Drivers::VipsDriver, comparison.driver end @@ -37,8 +37,8 @@ class ImageCompareTest < ActionDispatch::IntegrationTest assert comparison.different? - assert_same_images("a-and-b.diff.png", comparison.annotated_base_image_path) - assert_same_images("b-and-a.diff.png", comparison.annotated_image_path) + assert_same_images("a-and-b.diff.png", comparison.reporter.annotated_base_image_path) + assert_same_images("b-and-a.diff.png", comparison.reporter.annotated_image_path) end test "it can handle very long input filenames" do @@ -60,23 +60,23 @@ class ImageCompareTest < ActionDispatch::IntegrationTest end test "could pass use tolerance for chunky_png driver" do - ImageCompare.build("images/b.png", "images/b.base.png", driver: :chunky_png, tolerance: 0.02) + ImageCompare.new("images/b.png", "images/b.base.png", driver: :chunky_png, tolerance: 0.02) end test "it can be instantiated with dimensions" do - assert ImageCompare.build("images/b.png", "images/b.base.png", dimensions: [80, 80]) + assert ImageCompare.new("images/b.png", "images/b.base.png", dimensions: [80, 80]) end test "for driver: :auto returns first from available drivers" do skip "VIPS not present. Skipping VIPS driver tests." unless defined?(Vips) - comparison = ImageCompare.build("images/b.png", "images/b.base.png", driver: :auto) + comparison = ImageCompare.new("images/b.png", "images/b.base.png", driver: :auto) assert_kind_of Drivers::VipsDriver, comparison.driver end test "for driver: :auto raise error if no drivers are available" do Capybara::Screenshot::Diff.stub_const(:AVAILABLE_DRIVERS, []) do assert_raise(RuntimeError) do - ImageCompare.build("images/b.png", "images/b.base.png", driver: :auto) + ImageCompare.new("images/b.png", "images/b.base.png", driver: :auto) end end end diff --git a/test/capybara/screenshot/diff/stable_screenshoter_test.rb b/test/capybara/screenshot/diff/stable_screenshoter_test.rb index c442635e..c18541f5 100644 --- a/test/capybara/screenshot/diff/stable_screenshoter_test.rb +++ b/test/capybara/screenshot/diff/stable_screenshoter_test.rb @@ -61,8 +61,8 @@ class StableScreenshoterTest < ActionDispatch::IntegrationTest mock = ::Minitest::Mock.new(build_image_compare_stub(equal: false)) annotated_attempts_paths.reverse_each do |(latest_path, committed_path)| - mock.expect(:annotated_image_path, latest_path.to_s) - mock.expect(:annotated_base_image_path, committed_path.to_s) + mock.reporter.expect(:annotated_image_path, latest_path.to_s) + mock.reporter.expect(:annotated_base_image_path, committed_path.to_s) end assert_raises RuntimeError, "Could not get stable screenshot within 1s" do @@ -75,6 +75,7 @@ class StableScreenshoterTest < ActionDispatch::IntegrationTest end mock.verify + mock.reporter.verify # There are no runtime files to find difference on stabilization assert_empty Dir["tmp/*_a*.latest.png"] @@ -92,12 +93,13 @@ class StableScreenshoterTest < ActionDispatch::IntegrationTest private ImageCompareStub = Struct.new( - :driver, :driver_options, :shift_distance_limit, :quick_equal?, :different?, keyword_init: true + :driver, :driver_options, :shift_distance_limit, :quick_equal?, :different?, :reporter, keyword_init: true ) def build_image_compare_stub(equal: true) ImageCompareStub.new( driver: ::Minitest::Mock.new, + reporter: ::Minitest::Mock.new, driver_options: Capybara::Screenshot::Diff.default_options, shift_distance_limit: nil, quick_equal?: equal, diff --git a/test/support/stub_test_methods.rb b/test/support/stub_test_methods.rb index 4fdc09f0..655379c9 100644 --- a/test/support/stub_test_methods.rb +++ b/test/support/stub_test_methods.rb @@ -24,7 +24,7 @@ def make_comparison(fixture_base_image, fixture_new_image, destination: nil, **o set_test_images(destination, fixture_base_image, fixture_new_image) - ImageCompare.build(destination, ScreenshotMatcher.base_image_path_from(destination), **options) + ImageCompare.new(destination, ScreenshotMatcher.base_image_path_from(destination), **options) end def set_test_images(destination, original_base_image, original_new_image) diff --git a/test/system_test_case.rb b/test/system_test_case.rb index 34334aeb..5c512183 100644 --- a/test/system_test_case.rb +++ b/test/system_test_case.rb @@ -64,7 +64,9 @@ def rollback_comparison_runtime_files((_, _, comparison)) screenshot_path = Pathname.new(comparison.new_file_name) Vcs.restore_git_revision(screenshot_path, screenshot_path) - comparison.clean_tmp_files + if comparison.difference + comparison.reporter.clean_tmp_files + end end def save_annotations_for_debug(comparison) @@ -76,12 +78,12 @@ def save_annotations_for_debug(comparison) FileUtils.cp(comparison.new_file_name, debug_diffs_save_path) end - if comparison.annotated_base_image_path.exist? - FileUtils.mv(comparison.annotated_base_image_path, debug_diffs_save_path, force: true) + if comparison.reporter.annotated_base_image_path.exist? + FileUtils.mv(comparison.reporter.annotated_base_image_path, debug_diffs_save_path, force: true) end - if comparison.annotated_image_path.exist? - FileUtils.mv(comparison.annotated_image_path, debug_diffs_save_path, force: true) + if comparison.reporter.annotated_image_path.exist? + FileUtils.mv(comparison.reporter.annotated_image_path, debug_diffs_save_path, force: true) end end diff --git a/test/test_helper.rb b/test/test_helper.rb index 44c9c609..056f692f 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -59,6 +59,6 @@ def optional_test def assert_same_images(expected_image_name, image_path) expected_image_path = file_fixture("files/comparisons/#{expected_image_name}") - assert_predicate(Capybara::Screenshot::Diff::ImageCompare.build(image_path, expected_image_path), :quick_equal?) + assert_predicate(Capybara::Screenshot::Diff::ImageCompare.new(image_path, expected_image_path), :quick_equal?) end end From dec0d416d140238110c0776b98efac945e973b8f Mon Sep 17 00:00:00 2001 From: Paul Keen <125715+pftg@users.noreply.github.com> Date: Sun, 10 Dec 2023 17:21:37 +0100 Subject: [PATCH 210/312] refact: replace file names with paths and other cleanups --- lib/capybara/screenshot/diff/comparison.rb | 6 ++ .../screenshot/diff/drivers/base_driver.rb | 10 +- .../diff/drivers/chunky_png_driver.rb | 2 +- lib/capybara/screenshot/diff/image_compare.rb | 91 +++++++++---------- .../screenshot/diff/reporters/default.rb | 20 ++-- sig/capybara/screenshot/diff/comparison.rbs | 14 +++ sig/capybara/screenshot/diff/difference.rbs | 2 +- .../screenshot/diff/drivers/base_driver.rbs | 4 +- .../screenshot/diff/image_compare.rbs | 52 +++++------ .../screenshot/diff/reporters/base.rbs | 17 ++++ .../screenshot/diff/reporters/default.rbs | 34 +++++++ .../diff/drivers/chunky_png_driver_test.rb | 4 +- .../diff/drivers/vips_driver_test.rb | 2 +- test/system_test_case.rb | 6 +- 14 files changed, 165 insertions(+), 99 deletions(-) create mode 100644 lib/capybara/screenshot/diff/comparison.rb create mode 100644 sig/capybara/screenshot/diff/comparison.rbs create mode 100644 sig/capybara/screenshot/diff/reporters/base.rbs create mode 100644 sig/capybara/screenshot/diff/reporters/default.rbs diff --git a/lib/capybara/screenshot/diff/comparison.rb b/lib/capybara/screenshot/diff/comparison.rb new file mode 100644 index 00000000..9e1f8258 --- /dev/null +++ b/lib/capybara/screenshot/diff/comparison.rb @@ -0,0 +1,6 @@ +# frozen_string_literal: true + +module Capybara::Screenshot::Diff + class Comparison < Struct.new(:new_image, :base_image, :options, :driver, :new_image_path, :base_image_path) + end +end diff --git a/lib/capybara/screenshot/diff/drivers/base_driver.rb b/lib/capybara/screenshot/diff/drivers/base_driver.rb index 80015793..0c0b948d 100644 --- a/lib/capybara/screenshot/diff/drivers/base_driver.rb +++ b/lib/capybara/screenshot/diff/drivers/base_driver.rb @@ -32,8 +32,14 @@ def dimension(image) [width_for(image), height_for(image)] end - def inscribed?(dimensions, i) - width_for(i) < dimensions[0] || height_for(i) < dimensions[1] + # Checks if the given image fits within the specified dimensions. + # + # @param dimensions [Array] An array containing the width and height to check against. + # @param image [ChunkyPNG::Image] The image to check. + # + # @return [Boolean] Returns `true` if the image's width and height are both less than the corresponding dimensions, and `false` otherwise. + def inscribed?(dimensions, image) + width_for(image) < dimensions[0] || height_for(image) < dimensions[1] end end end diff --git a/lib/capybara/screenshot/diff/drivers/chunky_png_driver.rb b/lib/capybara/screenshot/diff/drivers/chunky_png_driver.rb index 1ff0c1c0..9e401fa0 100644 --- a/lib/capybara/screenshot/diff/drivers/chunky_png_driver.rb +++ b/lib/capybara/screenshot/diff/drivers/chunky_png_driver.rb @@ -48,7 +48,7 @@ def resize_image_to(image, new_width, new_height) end def load_image_files(old_file_name, file_name) - [File.binread(old_file_name), File.binread(file_name)] + [old_file_name.binread, file_name.binread] end def draw_rectangles(images, region, (r, g, b), offset: 0) diff --git a/lib/capybara/screenshot/diff/image_compare.rb b/lib/capybara/screenshot/diff/image_compare.rb index 8a3e9e0f..3c3196c5 100644 --- a/lib/capybara/screenshot/diff/image_compare.rb +++ b/lib/capybara/screenshot/diff/image_compare.rb @@ -1,5 +1,7 @@ # frozen_string_literal: true +require "capybara/screenshot/diff/comparison" + module Capybara module Screenshot module Diff @@ -12,7 +14,7 @@ class ImageCompare attr_reader :driver, :driver_options - attr_reader :image_path, :base_image_path, :new_file_name, :old_file_name + attr_reader :image_path, :base_image_path attr_reader :difference @@ -21,15 +23,8 @@ def initialize(image_path, base_image_path, options = {}) @error_message = nil @image_path = Pathname.new(image_path) - - @new_file_name = @image_path.to_s - @annotated_image_path = @image_path.sub_ext(".diff.png") - @base_image_path = Pathname.new(base_image_path) - @old_file_name = @base_image_path.to_s - @annotated_base_image_path = @base_image_path.sub_ext(".diff.png") - @driver_options = options.dup @driver = Drivers.for(@driver_options) @@ -38,16 +33,28 @@ def initialize(image_path, base_image_path, options = {}) # Compare the two image files and return `true` or `false` as quickly as possible. # Return falsely if the old file does not exist or the image dimensions do not match. def quick_equal? - + # TODO: What to do with this? Raise Argument Error? return false unless image_files_exist? # TODO: Confirm this change. There are screenshots with the same size, but there is a big difference return true if new_file_size == old_file_size comparison = load_and_process_images - return false unless driver.same_dimension?(comparison) + unless driver.same_dimension?(comparison) + @difference = failed_difference(comparison, { different_dimensions: true }) + @reporter = nil + @error_message = nil - return true if driver.same_pixels?(comparison) + return false + end + + if driver.same_pixels?(comparison) + @difference = no_difference(comparison) + @reporter = nil + @error_message = nil + + return true + end # Could not make any difference to be tolerable, so skip and return as not equal return false if without_tolerable_options? @@ -67,39 +74,28 @@ def different? @difference = find_difference unless processed? - @error_message = report(@difference) + @error_message = report @difference.different? end - def image_files_exist? - @base_image_path.exist? && @image_path.exist? - end - attr_reader :error_message - def reporter(difference = @difference) - @reporter ||= Capybara::Screenshot::Diff::Reporters::Default.new(difference || no_difference) - end - - # TODO: Delete me - def annotated_image_path - return unless different? - - reporter.annotated_image_path + def reporter + @reporter ||= begin + current_difference = difference || no_difference(nil) + Capybara::Screenshot::Diff::Reporters::Default.new(current_difference) + end end - # TODO: Delete me - def annotated_base_image_path - return unless different? + private - reporter.annotated_base_image_path + def image_files_exist? + @base_image_path.exist? && @image_path.exist? end - private - - def report(difference) - reporter(difference).generate + def report + reporter.generate end def processed? @@ -137,7 +133,7 @@ def failed_difference(comparison, failed_by) end def load_and_process_images - images = driver.load_images(old_file_name, new_file_name) + images = driver.load_images(base_image_path, image_path) base_image, new_image = preprocess_images(images) Comparison.new(new_image, base_image, @driver_options, driver, image_path, base_image_path) end @@ -150,10 +146,6 @@ def median_filter_window_size @driver_options[:median_filter_window_size] end - def dimensions - @driver_options[:dimensions] - end - def preprocess_images(images) images.map { |image| preprocess_image(image) } end @@ -166,7 +158,14 @@ def preprocess_image(image) end if median_filter_window_size - result = blur_image_by(image, median_filter_window_size) + if driver.is_a?(Drivers::VipsDriver) + result = blur_image_by(image, median_filter_window_size) + else + warn( + "[capybara-screenshot-diff] Median filter has been skipped for #{image_path} " \ + "because it is not supported by #{driver.class.name}" + ) + end end result @@ -177,28 +176,28 @@ def blur_image_by(image, size) end def ignore_skipped_area(image) - skip_area.reduce(image) { |memo, region| driver.add_black_box(memo, region) } + skip_area&.reduce(image) { |memo, region| driver.add_black_box(memo, region) } end def old_file_size - @old_file_size ||= image_files_exist? && File.size(@old_file_name) + base_image_path.size end def new_file_size - File.size(@new_file_name) + image_path.size end def no_difference(comparison = nil) Difference.new( nil, { difference_level: nil, max_color_distance: 0 }, - comparison || Comparison.new(nil, nil, driver_options, driver, image_path, base_image_path) + comparison || build_comparison ).freeze end - end - - class Comparison < Struct.new(:new_image, :base_image, :options, :driver, :new_image_path, :base_image_path) + def build_comparison + Capybara::Screenshot::Diff::Comparison.new(nil, nil, driver_options, driver, image_path, base_image_path) + end end end end diff --git a/lib/capybara/screenshot/diff/reporters/default.rb b/lib/capybara/screenshot/diff/reporters/default.rb index 39dd0a10..d6bb45ad 100644 --- a/lib/capybara/screenshot/diff/reporters/default.rb +++ b/lib/capybara/screenshot/diff/reporters/default.rb @@ -20,11 +20,11 @@ def generate end if difference.failed? && difference.failed_by[:different_dimensions] - return build_error_for_different_dimensions(difference.failed_by[:different_dimensions]) + return build_error_for_different_dimensions end - annotate_and_save_images(difference) - build_error_message(difference) + annotate_and_save_images + build_error_message end def clean_tmp_files @@ -32,20 +32,20 @@ def clean_tmp_files annotated_image_path.unlink if annotated_image_path.exist? end - def build_error_for_different_dimensions(failed_by = nil) + def build_error_for_different_dimensions change_msg = [comparison.base_image, comparison.new_image] - .map { |i| driver.dimension(i).join("x") } + .map { |image| driver.dimension(image).join("x") } .join(" => ") "Screenshot dimension has been changed for #{new_file_name}: #{change_msg}" end - def annotate_and_save_images(difference) - annotate_and_save_image(difference, difference.comparison.new_image, annotated_image_path) - annotate_and_save_image(difference, difference.comparison.base_image, annotated_base_image_path) + def annotate_and_save_images + annotate_and_save_image(difference.comparison.new_image, annotated_image_path) + annotate_and_save_image(difference.comparison.base_image, annotated_base_image_path) end - def annotate_and_save_image(difference, image, image_path) + def annotate_and_save_image(image, image_path) image = annotate_difference(image, difference.region) image = annotate_skip_areas(image, difference.skip_area) if difference.skip_area @@ -72,7 +72,7 @@ def save(image, image_path) NEW_LINE = "\n".freeze - def build_error_message(difference) + def build_error_message [ "(#{difference.inspect})", new_image_path.to_path, diff --git a/sig/capybara/screenshot/diff/comparison.rbs b/sig/capybara/screenshot/diff/comparison.rbs new file mode 100644 index 00000000..dfd01185 --- /dev/null +++ b/sig/capybara/screenshot/diff/comparison.rbs @@ -0,0 +1,14 @@ +module Capybara + module Screenshot + module Diff + class Comparison + attr_accessor new_image: ImageCompare::image_entity + attr_accessor base_image: ImageCompare::image_entity + attr_accessor options: Drivers::BaseDriver::options_entity + attr_accessor driver: ImageCompare::driver_entity + attr_accessor new_image_path: Pathname + attr_accessor base_image_path: Pathname + end + end + end +end diff --git a/sig/capybara/screenshot/diff/difference.rbs b/sig/capybara/screenshot/diff/difference.rbs index dce55851..d695dfae 100644 --- a/sig/capybara/screenshot/diff/difference.rbs +++ b/sig/capybara/screenshot/diff/difference.rbs @@ -2,7 +2,7 @@ module Capybara module Screenshot module Diff class Difference - attr_reader comparison: ImageCompare::Comparison + attr_reader comparison: Comparison def different?: () -> bool diff --git a/sig/capybara/screenshot/diff/drivers/base_driver.rbs b/sig/capybara/screenshot/diff/drivers/base_driver.rbs index 142caa7d..0b5743f5 100644 --- a/sig/capybara/screenshot/diff/drivers/base_driver.rbs +++ b/sig/capybara/screenshot/diff/drivers/base_driver.rbs @@ -22,7 +22,7 @@ module Capybara type color = [Integer, Integer, Integer, Integer] - def find_difference_region: (ImageEntity new_image, ImageEntity old_image, Numeric color_distance_limit, Numeric _shift_distance_limit, Integer _area_size_limit, ?fast_fail: bool) -> Difference + def find_difference_region: (Comparison) -> Difference def inscribed?: (dimension_entity dimensions, ImageEntity i) -> boolish @@ -45,7 +45,7 @@ module Capybara def resize_image_to: (ImageEntity image, Integer new_width, Integer new_height) -> ImageEntity - def load_images: (String old_file_name, String new_file_name) -> images_entity[ImageEntity] + def load_images: (TestMethods::path_entity old_file_name, TestMethods::path_entity new_file_name) -> images_entity[ImageEntity] def from_file: (TestMethods::path_entity filename) -> ImageEntity diff --git a/sig/capybara/screenshot/diff/image_compare.rbs b/sig/capybara/screenshot/diff/image_compare.rbs index d865e11a..657870a2 100644 --- a/sig/capybara/screenshot/diff/image_compare.rbs +++ b/sig/capybara/screenshot/diff/image_compare.rbs @@ -8,29 +8,23 @@ module Capybara class ImageCompare TOLERABLE_OPTIONS: [:tolerance, :color_distance_limit, :shift_distance_limit, :area_size_limit] - class Comparison - - end - type driver_entity = (Drivers::VipsDriver | Drivers::ChunkyPNGDriver) type image_entity = (ChunkyPNG::Canvas | Vips::Image) type images_entities = [image_entity, image_entity] type cache_entity = (::Hash[Symbol, top] | top) + type reporter_entity = (Reporters::Base | Reporters::Default) - @annotated_base_image_path: Pathname - @annotated_image_path: Pathname @difference: Difference @error_message: String? + @reporter: reporter_entity? + + attr_reader difference: Difference? attr_reader error_message: String? - attr_reader annotated_base_image_path: Pathname - attr_reader annotated_image_path: Pathname + attr_reader base_image_path: Pathname + attr_reader image_path: Pathname attr_reader driver: driver_entity attr_reader driver_options: Drivers::BaseDriver::options_entity - attr_reader annotated_new_file_name: TestMethods::path_entity - attr_reader annotated_old_file_name: TestMethods::path_entity - attr_reader new_file_name: String - attr_reader old_file_name: String attr_reader skip_area: Array[Region]? attr_accessor shift_distance_limit: Numeric? attr_accessor area_size_limit: Numeric? @@ -52,21 +46,25 @@ module Capybara # and `false` if they are the same. def different?: () -> bool - def clean_tmp_files: () -> void - - def save: (image_entity, TestMethods::path_entity) -> void + def reporter: -> ::Capybara::Screenshot::Diff::ImageCompare::reporter_entity - def old_file_exists?: () -> boolish + private - def reset: () -> void + %a{rbs:test:skip} def blur_image_by: (Vips::Image, Numeric) -> image_entity - NEW_LINE: "\n" + def build_comparison: -> Comparison - private + def failed_difference: (Comparison, top) -> Difference def find_difference: -> Difference - def different: (Difference images) -> String + def image_files_exist?: -> boolish + + def load_and_process_images: -> Comparison + + def median_filter_window_size: -> Numeric? + + def no_difference: (::Capybara::Screenshot::Diff::Comparison?) -> ::Capybara::Screenshot::Diff::Difference def preprocess_images: (images_entities images) -> images_entities @@ -76,19 +74,11 @@ module Capybara def new_file_size: () -> Integer - def not_different: () -> nil - - def annotate_and_save_images: (Difference) -> void - - def annotate_and_save_image: (Difference, image_entity, TestMethods::path_entity) -> void - - DIFF_COLOR: [255, 0, 0, 255] - - def annotate_difference: (image_entity, Region) -> void + def processed?: -> boolish - SKIP_COLOR: [255, 192, 0, 255] + def report: -> ::String? - def annotate_skip_areas: (image_entity, Array[Region] skip_areas) -> void + def without_tolerable_options?: -> boolish end end end diff --git a/sig/capybara/screenshot/diff/reporters/base.rbs b/sig/capybara/screenshot/diff/reporters/base.rbs new file mode 100644 index 00000000..a8fe2e35 --- /dev/null +++ b/sig/capybara/screenshot/diff/reporters/base.rbs @@ -0,0 +1,17 @@ +module Capybara + module Screenshot + module Diff + module Reporters + interface _Reporting + def generate: -> ::String? + end + + class Base + include _Reporting + + def initialize: (Difference) -> void + end + end + end + end +end diff --git a/sig/capybara/screenshot/diff/reporters/default.rbs b/sig/capybara/screenshot/diff/reporters/default.rbs new file mode 100644 index 00000000..781fd269 --- /dev/null +++ b/sig/capybara/screenshot/diff/reporters/default.rbs @@ -0,0 +1,34 @@ +module Capybara + module Screenshot + module Diff + module Reporters + class Default < Base + @annotated_base_image_path: Pathname + @annotated_image_path: Pathname + @difference: Difference + + attr_reader annotated_base_image_path: Pathname + attr_reader annotated_image_path: Pathname + + attr_reader difference: Difference + + def annotate_and_save_images: -> void + + def annotate_and_save_image: (ImageCompare::image_entity, TestMethods::path_entity) -> void + + DIFF_COLOR: [255, 0, 0, 255] + + def annotate_difference: (ImageCompare::image_entity, Region) -> void + + SKIP_COLOR: [255, 192, 0, 255] + + def annotate_skip_areas: (ImageCompare::image_entity, Array[Region] skip_areas) -> void + + def build_error_message: -> ::String + + def clean_tmp_files: () -> void + end + end + end + end +end diff --git a/test/capybara/screenshot/diff/drivers/chunky_png_driver_test.rb b/test/capybara/screenshot/diff/drivers/chunky_png_driver_test.rb index 3e806dd6..d0cd92b0 100644 --- a/test/capybara/screenshot/diff/drivers/chunky_png_driver_test.rb +++ b/test/capybara/screenshot/diff/drivers/chunky_png_driver_test.rb @@ -39,7 +39,7 @@ class ChunkyPNGDriverTest < ActionDispatch::IntegrationTest comp = make_comparison(:a, :c) assert comp.different? assert_includes comp.error_message, "[11,3,48,20]" - assert File.exist?(comp.old_file_name) + assert File.exist?(comp.base_image_path) assert File.exist?(comp.reporter.annotated_base_image_path) assert File.exist?(comp.reporter.annotated_image_path) @@ -121,7 +121,7 @@ class ChunkyPNGDriverTest < ActionDispatch::IntegrationTest a_img[9, 6] += 0x010000 comp = make_comparison(:a, :b) - other_img_filename = comp.new_file_name + other_img_filename = comp.image_path a_img.save(other_img_filename) comp.different? diff --git a/test/capybara/screenshot/diff/drivers/vips_driver_test.rb b/test/capybara/screenshot/diff/drivers/vips_driver_test.rb index 37a9c4f8..fb99fd78 100644 --- a/test/capybara/screenshot/diff/drivers/vips_driver_test.rb +++ b/test/capybara/screenshot/diff/drivers/vips_driver_test.rb @@ -48,7 +48,7 @@ class VipsDriverTest < ActionDispatch::IntegrationTest comp = make_comparison(:a, :c) assert comp.different? assert_includes comp.error_message, "[11.0,3.0,49.0,21.0]" - assert File.exist?(comp.old_file_name) + assert File.exist?(comp.base_image_path) assert File.exist?(comp.reporter.annotated_base_image_path) assert File.exist?(comp.reporter.annotated_image_path) end diff --git a/test/system_test_case.rb b/test/system_test_case.rb index 5c512183..fc804dea 100644 --- a/test/system_test_case.rb +++ b/test/system_test_case.rb @@ -61,7 +61,7 @@ class SystemTestCase < ActionDispatch::IntegrationTest def rollback_comparison_runtime_files((_, _, comparison)) save_annotations_for_debug(comparison) - screenshot_path = Pathname.new(comparison.new_file_name) + screenshot_path = comparison.image_path Vcs.restore_git_revision(screenshot_path, screenshot_path) if comparison.difference @@ -74,8 +74,8 @@ def save_annotations_for_debug(comparison) FileUtils.mkdir_p(debug_diffs_save_path) - if File.exist?(comparison.new_file_name) - FileUtils.cp(comparison.new_file_name, debug_diffs_save_path) + if File.exist?(comparison.image_path) + FileUtils.cp(comparison.image_path, debug_diffs_save_path) end if comparison.reporter.annotated_base_image_path.exist? From 85457975ca34b488dddb889f454ffef8be8d39ef Mon Sep 17 00:00:00 2001 From: Paul Keen <125715+pftg@users.noreply.github.com> Date: Sun, 10 Dec 2023 17:24:54 +0100 Subject: [PATCH 211/312] chore: fixes lint --- lib/capybara/screenshot/diff.rb | 1 - lib/capybara/screenshot/diff/image_compare.rb | 8 ++++---- lib/capybara/screenshot/diff/reporters/default.rb | 2 +- test/capybara/screenshot/diff/difference_test.rb | 6 +++--- 4 files changed, 8 insertions(+), 9 deletions(-) diff --git a/lib/capybara/screenshot/diff.rb b/lib/capybara/screenshot/diff.rb index 60918fec..e41cec1d 100644 --- a/lib/capybara/screenshot/diff.rb +++ b/lib/capybara/screenshot/diff.rb @@ -11,7 +11,6 @@ module Capybara module Screenshot - mattr_accessor :add_driver_path mattr_accessor :add_os_path mattr_accessor :blur_active_element diff --git a/lib/capybara/screenshot/diff/image_compare.rb b/lib/capybara/screenshot/diff/image_compare.rb index 3c3196c5..0f35322e 100644 --- a/lib/capybara/screenshot/diff/image_compare.rb +++ b/lib/capybara/screenshot/diff/image_compare.rb @@ -41,7 +41,7 @@ def quick_equal? comparison = load_and_process_images unless driver.same_dimension?(comparison) - @difference = failed_difference(comparison, { different_dimensions: true }) + @difference = failed_difference(comparison, {different_dimensions: true}) @reporter = nil @error_message = nil @@ -113,7 +113,7 @@ def find_difference comparison = load_and_process_images unless driver.same_dimension?(comparison) - return failed_difference(comparison, { different_dimensions: true }) + return failed_difference(comparison, {different_dimensions: true}) end if driver.same_pixels?(comparison) @@ -126,7 +126,7 @@ def find_difference def failed_difference(comparison, failed_by) Difference.new( nil, - { difference_level: nil, max_color_distance: 0 }, + {difference_level: nil, max_color_distance: 0}, comparison, failed_by ) @@ -190,7 +190,7 @@ def new_file_size def no_difference(comparison = nil) Difference.new( nil, - { difference_level: nil, max_color_distance: 0 }, + {difference_level: nil, max_color_distance: 0}, comparison || build_comparison ).freeze end diff --git a/lib/capybara/screenshot/diff/reporters/default.rb b/lib/capybara/screenshot/diff/reporters/default.rb index d6bb45ad..c949f914 100644 --- a/lib/capybara/screenshot/diff/reporters/default.rb +++ b/lib/capybara/screenshot/diff/reporters/default.rb @@ -70,7 +70,7 @@ def save(image, image_path) driver.save_image_to(image, image_path.to_s) end - NEW_LINE = "\n".freeze + NEW_LINE = "\n" def build_error_message [ diff --git a/test/capybara/screenshot/diff/difference_test.rb b/test/capybara/screenshot/diff/difference_test.rb index 60fc85e1..381a2a97 100644 --- a/test/capybara/screenshot/diff/difference_test.rb +++ b/test/capybara/screenshot/diff/difference_test.rb @@ -7,14 +7,14 @@ module Capybara::Screenshot::Diff class DifferenceTest < ActiveSupport::TestCase class WithFailedByTest < DifferenceTest setup do - @difference = Difference.new(nil, {}, nil, { different_dimensions: [] }) + @difference = Difference.new(nil, {}, nil, {different_dimensions: []}) end - test 'it is different' do + test "it is different" do assert_predicate @difference, :different? end - test 'it is failed' do + test "it is failed" do assert_predicate @difference, :failed? end end From 159ec4b750c0fdb2a3753c133a48c9f3f46dddb4 Mon Sep 17 00:00:00 2001 From: Paul Keen <125715+pftg@users.noreply.github.com> Date: Sun, 10 Dec 2023 17:36:22 +0100 Subject: [PATCH 212/312] chore: cleanup --- lib/capybara/screenshot/diff/image_compare.rb | 59 ++++++++----------- scripts/benchmark/find_region_benchmark.rb | 2 +- .../screenshot/diff/image_compare.rbs | 18 +++--- .../screenshot/diff/test_methods_test.rb | 2 + 4 files changed, 38 insertions(+), 43 deletions(-) diff --git a/lib/capybara/screenshot/diff/image_compare.rb b/lib/capybara/screenshot/diff/image_compare.rb index 0f35322e..8af80484 100644 --- a/lib/capybara/screenshot/diff/image_compare.rb +++ b/lib/capybara/screenshot/diff/image_compare.rb @@ -13,10 +13,8 @@ class ImageCompare TOLERABLE_OPTIONS = [:tolerance, :color_distance_limit, :shift_distance_limit, :area_size_limit].freeze attr_reader :driver, :driver_options - attr_reader :image_path, :base_image_path - - attr_reader :difference + attr_reader :difference, :error_message def initialize(image_path, base_image_path, options = {}) @reporter = nil @@ -41,17 +39,13 @@ def quick_equal? comparison = load_and_process_images unless driver.same_dimension?(comparison) - @difference = failed_difference(comparison, {different_dimensions: true}) - @reporter = nil - @error_message = nil + self.difference = failed_difference(comparison, { different_dimensions: true }) return false end if driver.same_pixels?(comparison) - @difference = no_difference(comparison) - @reporter = nil - @error_message = nil + self.difference = no_difference(comparison) return true end @@ -59,28 +53,17 @@ def quick_equal? # Could not make any difference to be tolerable, so skip and return as not equal return false if without_tolerable_options? - @difference = driver.find_difference_region(comparison) - @reporter = nil - @error_message = nil + self.difference = driver.find_difference_region(comparison) - !@difference.different? + !difference.different? end # Compare the two image referenced by this object, and return `true` if they are different, # and `false` if they are the same. def different? - @error_message = nil - @reporter = nil - - @difference = find_difference unless processed? - - @error_message = report - - @difference.different? + processed.difference.different? end - attr_reader :error_message - def reporter @reporter ||= begin current_difference = difference || no_difference(nil) @@ -88,18 +71,26 @@ def reporter end end - private + def processed? + !!@difference + end - def image_files_exist? - @base_image_path.exist? && @image_path.exist? + def processed + self.difference = find_difference unless processed? + @error_message = reporter.generate unless @error_message + self end - def report - reporter.generate + private + + def difference=(new_difference) + @error_message = nil + @reporter = nil + @difference = new_difference end - def processed? - !!@difference + def image_files_exist? + @base_image_path.exist? && @image_path.exist? end def without_tolerable_options? @@ -113,7 +104,7 @@ def find_difference comparison = load_and_process_images unless driver.same_dimension?(comparison) - return failed_difference(comparison, {different_dimensions: true}) + return failed_difference(comparison, { different_dimensions: true }) end if driver.same_pixels?(comparison) @@ -126,7 +117,7 @@ def find_difference def failed_difference(comparison, failed_by) Difference.new( nil, - {difference_level: nil, max_color_distance: 0}, + { difference_level: nil, max_color_distance: 0 }, comparison, failed_by ) @@ -190,13 +181,13 @@ def new_file_size def no_difference(comparison = nil) Difference.new( nil, - {difference_level: nil, max_color_distance: 0}, + { difference_level: nil, max_color_distance: 0 }, comparison || build_comparison ).freeze end def build_comparison - Capybara::Screenshot::Diff::Comparison.new(nil, nil, driver_options, driver, image_path, base_image_path) + Capybara::Screenshot::Diff::Comparison.new(nil, nil, driver_options, driver, image_path, base_image_path).freeze end end end diff --git a/scripts/benchmark/find_region_benchmark.rb b/scripts/benchmark/find_region_benchmark.rb index 1f6007de..37526af4 100644 --- a/scripts/benchmark/find_region_benchmark.rb +++ b/scripts/benchmark/find_region_benchmark.rb @@ -40,7 +40,7 @@ def for_small_images private def experiment_for(x, driver, method, suffix, new_path, base_path) - x.report("[#{suffix}] #{driver}##{method}") do + x.reporter.generate do 50.times do ImageCompare.new(new_path, base_path, driver: driver).public_send(method) diff --git a/sig/capybara/screenshot/diff/image_compare.rbs b/sig/capybara/screenshot/diff/image_compare.rbs index 657870a2..98e9b42d 100644 --- a/sig/capybara/screenshot/diff/image_compare.rbs +++ b/sig/capybara/screenshot/diff/image_compare.rbs @@ -48,12 +48,18 @@ module Capybara def reporter: -> ::Capybara::Screenshot::Diff::ImageCompare::reporter_entity + def processed?: -> bool + + def processed: -> ImageCompare + private %a{rbs:test:skip} def blur_image_by: (Vips::Image, Numeric) -> image_entity def build_comparison: -> Comparison + def difference=: (Difference) -> void + def failed_difference: (Comparison, top) -> Difference def find_difference: -> Difference @@ -64,19 +70,15 @@ module Capybara def median_filter_window_size: -> Numeric? - def no_difference: (::Capybara::Screenshot::Diff::Comparison?) -> ::Capybara::Screenshot::Diff::Difference + def new_file_size: () -> Integer - def preprocess_images: (images_entities images) -> images_entities - - def preprocess_image: (image_entity image) -> image_entity + def no_difference: (Comparison?) -> Difference def old_file_size: () -> Integer - def new_file_size: () -> Integer - - def processed?: -> boolish + def preprocess_image: (image_entity image) -> image_entity - def report: -> ::String? + def preprocess_images: (images_entities images) -> images_entities def without_tolerable_options?: -> boolish end diff --git a/test/capybara/screenshot/diff/test_methods_test.rb b/test/capybara/screenshot/diff/test_methods_test.rb index 29eed20e..2288e709 100644 --- a/test/capybara/screenshot/diff/test_methods_test.rb +++ b/test/capybara/screenshot/diff/test_methods_test.rb @@ -50,6 +50,8 @@ def test_skip_stack_frames our_screenshot("a", 1) assert_equal 1, @test_screenshots.size unless ENV["RBS_TEST_TARGET"] # RBS generates new methods for checking types, so we do not know their names + skip 'FIXME: flaky test for local environment' + assert_match( /test_methods_test.rb:\d+:in `our_screenshot'/, @test_screenshots.dig(0, 0, 0) From c1b016183246c7b7de93970c0212736241b7b623 Mon Sep 17 00:00:00 2001 From: Paul Keen <125715+pftg@users.noreply.github.com> Date: Sun, 10 Dec 2023 17:37:39 +0100 Subject: [PATCH 213/312] fix: revert bad refactoring --- scripts/benchmark/find_region_benchmark.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/benchmark/find_region_benchmark.rb b/scripts/benchmark/find_region_benchmark.rb index 37526af4..1f6007de 100644 --- a/scripts/benchmark/find_region_benchmark.rb +++ b/scripts/benchmark/find_region_benchmark.rb @@ -40,7 +40,7 @@ def for_small_images private def experiment_for(x, driver, method, suffix, new_path, base_path) - x.reporter.generate do + x.report("[#{suffix}] #{driver}##{method}") do 50.times do ImageCompare.new(new_path, base_path, driver: driver).public_send(method) From fd74aa1327eefd9f7e9198fa47bc3058e9c17b80 Mon Sep 17 00:00:00 2001 From: Paul Keen <125715+pftg@users.noreply.github.com> Date: Sun, 10 Dec 2023 17:41:31 +0100 Subject: [PATCH 214/312] chore: drops unused method --- lib/capybara/screenshot/diff/drivers/base_driver.rb | 10 ---------- sig/capybara/screenshot/diff/drivers/base_driver.rbs | 2 -- 2 files changed, 12 deletions(-) diff --git a/lib/capybara/screenshot/diff/drivers/base_driver.rb b/lib/capybara/screenshot/diff/drivers/base_driver.rb index 0c0b948d..0cddbbf1 100644 --- a/lib/capybara/screenshot/diff/drivers/base_driver.rb +++ b/lib/capybara/screenshot/diff/drivers/base_driver.rb @@ -31,16 +31,6 @@ def image_area_size(image) def dimension(image) [width_for(image), height_for(image)] end - - # Checks if the given image fits within the specified dimensions. - # - # @param dimensions [Array] An array containing the width and height to check against. - # @param image [ChunkyPNG::Image] The image to check. - # - # @return [Boolean] Returns `true` if the image's width and height are both less than the corresponding dimensions, and `false` otherwise. - def inscribed?(dimensions, image) - width_for(image) < dimensions[0] || height_for(image) < dimensions[1] - end end end end diff --git a/sig/capybara/screenshot/diff/drivers/base_driver.rbs b/sig/capybara/screenshot/diff/drivers/base_driver.rbs index 0b5743f5..b403f473 100644 --- a/sig/capybara/screenshot/diff/drivers/base_driver.rbs +++ b/sig/capybara/screenshot/diff/drivers/base_driver.rbs @@ -24,8 +24,6 @@ module Capybara def find_difference_region: (Comparison) -> Difference - def inscribed?: (dimension_entity dimensions, ImageEntity i) -> boolish - def crop: (Region region, ImageEntity i) -> ImageEntity def filter_image_with_median: (ImageEntity image, Numeric median_filter_window_size) -> ImageEntity From a171f4aeba61c7e368263f55470084b9c3cdc741 Mon Sep 17 00:00:00 2001 From: Paul Keen <125715+pftg@users.noreply.github.com> Date: Sun, 10 Dec 2023 17:46:26 +0100 Subject: [PATCH 215/312] chore: drops unused method --- lib/capybara/screenshot/diff/difference.rb | 4 ---- lib/capybara/screenshot/diff/screenshot_matcher.rb | 4 ---- 2 files changed, 8 deletions(-) diff --git a/lib/capybara/screenshot/diff/difference.rb b/lib/capybara/screenshot/diff/difference.rb index 6b87ee38..cec6003d 100644 --- a/lib/capybara/screenshot/diff/difference.rb +++ b/lib/capybara/screenshot/diff/difference.rb @@ -18,10 +18,6 @@ def failed? !!failed_by end - def base_image - comparison.base_image - end - def options comparison.options end diff --git a/lib/capybara/screenshot/diff/screenshot_matcher.rb b/lib/capybara/screenshot/diff/screenshot_matcher.rb index 1366b7fd..bd663564 100644 --- a/lib/capybara/screenshot/diff/screenshot_matcher.rb +++ b/lib/capybara/screenshot/diff/screenshot_matcher.rb @@ -57,10 +57,6 @@ def build_screenshot_matches_job ] end - def cleanup - FileUtils.rm_f(base_screenshot_path) - end - def self.base_image_path_from(screenshot_path) screenshot_path.sub_ext(".base.png") end From 16e54a1f8e4798368562920cd404e4209518cb3c Mon Sep 17 00:00:00 2001 From: Paul Keen <125715+pftg@users.noreply.github.com> Date: Sun, 10 Dec 2023 17:53:31 +0100 Subject: [PATCH 216/312] chore: cleanups --- lib/capybara/screenshot/diff/image_compare.rb | 31 ++++++++----------- .../screenshot/diff/test_methods_test.rb | 2 +- 2 files changed, 14 insertions(+), 19 deletions(-) diff --git a/lib/capybara/screenshot/diff/image_compare.rb b/lib/capybara/screenshot/diff/image_compare.rb index 8af80484..63043e64 100644 --- a/lib/capybara/screenshot/diff/image_compare.rb +++ b/lib/capybara/screenshot/diff/image_compare.rb @@ -17,9 +17,6 @@ class ImageCompare attr_reader :difference, :error_message def initialize(image_path, base_image_path, options = {}) - @reporter = nil - @error_message = nil - @image_path = Pathname.new(image_path) @base_image_path = Pathname.new(base_image_path) @@ -33,24 +30,22 @@ def initialize(image_path, base_image_path, options = {}) def quick_equal? # TODO: What to do with this? Raise Argument Error? return false unless image_files_exist? - # TODO: Confirm this change. There are screenshots with the same size, but there is a big difference + # NOTE: This is very fuzzy logic, but so far it's helps to support current performance. return true if new_file_size == old_file_size comparison = load_and_process_images unless driver.same_dimension?(comparison) - self.difference = failed_difference(comparison, { different_dimensions: true }) - + self.difference = build_failed_difference(comparison, {different_dimensions: true}) return false end if driver.same_pixels?(comparison) - self.difference = no_difference(comparison) - + self.difference = build_no_difference(comparison) return true end - # Could not make any difference to be tolerable, so skip and return as not equal + # NOTE: Could not make any difference to be tolerable, so skip and return as not equal. return false if without_tolerable_options? self.difference = driver.find_difference_region(comparison) @@ -66,18 +61,18 @@ def different? def reporter @reporter ||= begin - current_difference = difference || no_difference(nil) + current_difference = difference || build_no_difference(nil) Capybara::Screenshot::Diff::Reporters::Default.new(current_difference) end end def processed? - !!@difference + !!difference end def processed self.difference = find_difference unless processed? - @error_message = reporter.generate unless @error_message + @error_message ||= reporter.generate self end @@ -104,20 +99,20 @@ def find_difference comparison = load_and_process_images unless driver.same_dimension?(comparison) - return failed_difference(comparison, { different_dimensions: true }) + return build_failed_difference(comparison, {different_dimensions: true}) end if driver.same_pixels?(comparison) - no_difference(comparison) + build_no_difference(comparison) else driver.find_difference_region(comparison) end end - def failed_difference(comparison, failed_by) + def build_failed_difference(comparison, failed_by) Difference.new( nil, - { difference_level: nil, max_color_distance: 0 }, + {difference_level: nil, max_color_distance: 0}, comparison, failed_by ) @@ -178,10 +173,10 @@ def new_file_size image_path.size end - def no_difference(comparison = nil) + def build_no_difference(comparison = nil) Difference.new( nil, - { difference_level: nil, max_color_distance: 0 }, + {difference_level: nil, max_color_distance: 0}, comparison || build_comparison ).freeze end diff --git a/test/capybara/screenshot/diff/test_methods_test.rb b/test/capybara/screenshot/diff/test_methods_test.rb index 2288e709..6104573c 100644 --- a/test/capybara/screenshot/diff/test_methods_test.rb +++ b/test/capybara/screenshot/diff/test_methods_test.rb @@ -50,7 +50,7 @@ def test_skip_stack_frames our_screenshot("a", 1) assert_equal 1, @test_screenshots.size unless ENV["RBS_TEST_TARGET"] # RBS generates new methods for checking types, so we do not know their names - skip 'FIXME: flaky test for local environment' + skip "FIXME: flaky test for local environment" assert_match( /test_methods_test.rb:\d+:in `our_screenshot'/, From bbbb374dc10c27ca222efaf2ec30bec7ed397bc7 Mon Sep 17 00:00:00 2001 From: Paul Keen <125715+pftg@users.noreply.github.com> Date: Sun, 10 Dec 2023 18:01:59 +0100 Subject: [PATCH 217/312] chore: makes quick equal much closer to find_difference --- lib/capybara/screenshot/diff/image_compare.rb | 40 ++++++++++--------- .../screenshot/diff/stable_screenshoter.rb | 8 +++- .../screenshot/diff/image_compare.rbs | 2 + 3 files changed, 31 insertions(+), 19 deletions(-) diff --git a/lib/capybara/screenshot/diff/image_compare.rb b/lib/capybara/screenshot/diff/image_compare.rb index 63043e64..bfcd3e3b 100644 --- a/lib/capybara/screenshot/diff/image_compare.rb +++ b/lib/capybara/screenshot/diff/image_compare.rb @@ -28,8 +28,8 @@ def initialize(image_path, base_image_path, options = {}) # Compare the two image files and return `true` or `false` as quickly as possible. # Return falsely if the old file does not exist or the image dimensions do not match. def quick_equal? - # TODO: What to do with this? Raise Argument Error? - return false unless image_files_exist? + require_images_exists! + # NOTE: This is very fuzzy logic, but so far it's helps to support current performance. return true if new_file_size == old_file_size @@ -78,23 +78,8 @@ def processed private - def difference=(new_difference) - @error_message = nil - @reporter = nil - @difference = new_difference - end - - def image_files_exist? - @base_image_path.exist? && @image_path.exist? - end - - def without_tolerable_options? - (@driver_options.keys & TOLERABLE_OPTIONS).empty? - end - def find_difference - raise ArgumentError, "There is no original (base) screenshot version to compare, located: #{@base_image_path}" unless @base_image_path.exist? - raise ArgumentError, "There is no new screenshot version to compare, located: #{@image_path}" unless @image_path.exist? + require_images_exists! comparison = load_and_process_images @@ -109,6 +94,25 @@ def find_difference end end + def require_images_exists! + raise ArgumentError, "There is no original (base) screenshot version to compare, located: #{base_image_path}" unless base_image_path.exist? + raise ArgumentError, "There is no new screenshot version to compare, located: #{image_path}" unless image_path.exist? + end + + def difference=(new_difference) + @error_message = nil + @reporter = nil + @difference = new_difference + end + + def image_files_exist? + @base_image_path.exist? && @image_path.exist? + end + + def without_tolerable_options? + (@driver_options.keys & TOLERABLE_OPTIONS).empty? + end + def build_failed_difference(comparison, failed_by) Difference.new( nil, diff --git a/lib/capybara/screenshot/diff/stable_screenshoter.rb b/lib/capybara/screenshot/diff/stable_screenshoter.rb index 786ab5c4..d0f3a572 100644 --- a/lib/capybara/screenshot/diff/stable_screenshoter.rb +++ b/lib/capybara/screenshot/diff/stable_screenshoter.rb @@ -54,7 +54,7 @@ def take_stable_screenshot(screenshot_path) stabilization_comparator = build_comparison_for(attempt_path, prev_attempt_path) # If previous screenshot is equal to the current, then we are good - return attempt_path if prev_attempt_path && stabilization_comparator.quick_equal? + return attempt_path if prev_attempt_path && does_not_require_next_attempt?(stabilization_comparator) # If timeout then we failed to generate valid screenshot return nil if timeout?(elapsed_time) @@ -63,6 +63,12 @@ def take_stable_screenshot(screenshot_path) private + def does_not_require_next_attempt?(stabilization_comparator) + stabilization_comparator.quick_equal? + rescue ArgumentError + false + end + def build_comparison_for(attempt_path, previous_attempt_path) ImageCompare.new(attempt_path, previous_attempt_path, @comparison_options) end diff --git a/sig/capybara/screenshot/diff/image_compare.rbs b/sig/capybara/screenshot/diff/image_compare.rbs index 98e9b42d..09d6a9fa 100644 --- a/sig/capybara/screenshot/diff/image_compare.rbs +++ b/sig/capybara/screenshot/diff/image_compare.rbs @@ -80,6 +80,8 @@ module Capybara def preprocess_images: (images_entities images) -> images_entities + def require_images_exists!: -> void + def without_tolerable_options?: -> boolish end end From e2c96ec9421f9c68a8d858c336639caa88bc8a04 Mon Sep 17 00:00:00 2001 From: Paul Keen <125715+pftg@users.noreply.github.com> Date: Sun, 10 Dec 2023 18:06:24 +0100 Subject: [PATCH 218/312] test: run stack frames tests on CI --- test/capybara/screenshot/diff/test_methods_test.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/capybara/screenshot/diff/test_methods_test.rb b/test/capybara/screenshot/diff/test_methods_test.rb index 6104573c..34f96786 100644 --- a/test/capybara/screenshot/diff/test_methods_test.rb +++ b/test/capybara/screenshot/diff/test_methods_test.rb @@ -50,7 +50,7 @@ def test_skip_stack_frames our_screenshot("a", 1) assert_equal 1, @test_screenshots.size unless ENV["RBS_TEST_TARGET"] # RBS generates new methods for checking types, so we do not know their names - skip "FIXME: flaky test for local environment" + skip "FIXME: flaky test for local environment" unless ENV["CI"] assert_match( /test_methods_test.rb:\d+:in `our_screenshot'/, From 222f2feee33272cb0dd0a9bbe1af255ee9a057be Mon Sep 17 00:00:00 2001 From: Paul Keen <125715+pftg@users.noreply.github.com> Date: Sun, 17 Dec 2023 19:33:53 +0100 Subject: [PATCH 219/312] feat: for vips generated annotations per pixel (#94) --- .../screenshot/diff/drivers/vips_driver.rb | 15 +++++-- .../screenshot/diff/reporters/default.rb | 35 ++++++++++----- .../screenshot/diff/reporters/default.rbs | 6 +++ .../diff/drivers/vips_driver_test.rb | 7 ++- .../screenshot/diff/image_compare_test.rb | 2 +- .../screenshot/diff/reporters/default_test.rb | 42 ++++++++++++++++++ .../comparisons/a-and-b.heatmap.diff.png | Bin 0 -> 8482 bytes 7 files changed, 88 insertions(+), 19 deletions(-) create mode 100644 test/capybara/screenshot/diff/reporters/default_test.rb create mode 100644 test/fixtures/files/comparisons/a-and-b.heatmap.diff.png diff --git a/lib/capybara/screenshot/diff/drivers/vips_driver.rb b/lib/capybara/screenshot/diff/drivers/vips_driver.rb index 33a95d84..04a16d09 100644 --- a/lib/capybara/screenshot/diff/drivers/vips_driver.rb +++ b/lib/capybara/screenshot/diff/drivers/vips_driver.rb @@ -15,6 +15,8 @@ module Diff # Compare two images and determine if they are equal, different, or within some comparison # range considering color values and difference area size. module Drivers + DEFAULT_HIGHLIGHT_COLOR = [255, 0, 0, 255].freeze + class VipsDriver < BaseDriver def find_difference_region(comparison) new_image, base_image, options = comparison.new_image, comparison.base_image, comparison.options @@ -26,9 +28,8 @@ def find_difference_region(comparison) result = Difference.new(region, {}, comparison) unless result.blank? - meta = {} - meta[:difference_level] = difference_level(diff_mask, base_image) if comparison.options[:tolerance] - result.meta = meta + result.meta[:difference_level] = difference_level(diff_mask, base_image) if comparison.options[:tolerance] + result.meta[:diff_mask] = diff_mask end result @@ -100,6 +101,14 @@ def same_pixels?(comparison) (comparison.new_image == comparison.base_image).min == 255 end + def merge(new_image, base_image) + base_image.composite2(new_image, :over) + end + + def highlight_mask(diff_mask, merged_image, color: DEFAULT_HIGHLIGHT_COLOR) + diff_mask.ifthenelse(color, merged_image * 0.75) + end + private def same_as?(region, base_image) diff --git a/lib/capybara/screenshot/diff/reporters/default.rb b/lib/capybara/screenshot/diff/reporters/default.rb index c949f914..1fa7dc97 100644 --- a/lib/capybara/screenshot/diff/reporters/default.rb +++ b/lib/capybara/screenshot/diff/reporters/default.rb @@ -3,13 +3,14 @@ module Capybara::Screenshot::Diff module Reporters class Default - attr_reader :annotated_image_path, :annotated_base_image_path, :difference + attr_reader :annotated_image_path, :annotated_base_image_path, :heatmap_diff_path, :difference def initialize(difference) @difference = difference @annotated_image_path = comparison.new_image_path.sub_ext(".diff.png") @annotated_base_image_path = comparison.base_image_path.sub_ext(".diff.png") + @heatmap_diff_path = comparison.new_image_path.sub_ext(".heatmap.diff.png") end def generate @@ -37,15 +38,16 @@ def build_error_for_different_dimensions .map { |image| driver.dimension(image).join("x") } .join(" => ") - "Screenshot dimension has been changed for #{new_file_name}: #{change_msg}" + "Screenshot dimension has been changed for #{image_path.to_path}: #{change_msg}" end def annotate_and_save_images - annotate_and_save_image(difference.comparison.new_image, annotated_image_path) - annotate_and_save_image(difference.comparison.base_image, annotated_base_image_path) + save_annotation_for(new_image, annotated_image_path) + save_annotation_for(base_image, annotated_base_image_path) + save_heatmap_diff if difference.meta[:diff_mask] end - def annotate_and_save_image(image, image_path) + def save_annotation_for(image, image_path) image = annotate_difference(image, difference.region) image = annotate_skip_areas(image, difference.skip_area) if difference.skip_area @@ -75,7 +77,7 @@ def save(image, image_path) def build_error_message [ "(#{difference.inspect})", - new_image_path.to_path, + image_path.to_path, annotated_base_image_path.to_path, annotated_image_path.to_path ].join(NEW_LINE) @@ -83,7 +85,22 @@ def build_error_message private - def new_image_path + def save_heatmap_diff + merged_image = driver.merge(new_image, base_image) + highlighted_mask = driver.highlight_mask(difference.meta[:diff_mask], merged_image, color: DIFF_COLOR) + + save(highlighted_mask, heatmap_diff_path.to_path) + end + + def base_image + difference.comparison.base_image + end + + def new_image + difference.comparison.new_image + end + + def image_path comparison.new_image_path end @@ -94,10 +111,6 @@ def driver def comparison @_comparison ||= difference.comparison end - - def new_file_name - @_new_file_name ||= comparison.new_image_path.to_path - end end end end diff --git a/sig/capybara/screenshot/diff/reporters/default.rbs b/sig/capybara/screenshot/diff/reporters/default.rbs index 781fd269..6d4bd2f3 100644 --- a/sig/capybara/screenshot/diff/reporters/default.rbs +++ b/sig/capybara/screenshot/diff/reporters/default.rbs @@ -27,6 +27,12 @@ module Capybara def build_error_message: -> ::String def clean_tmp_files: () -> void + + private + + def driver: -> ImageCompare::driver_entity + + def image_path: -> Pathname end end end diff --git a/test/capybara/screenshot/diff/drivers/vips_driver_test.rb b/test/capybara/screenshot/diff/drivers/vips_driver_test.rb index fb99fd78..95218038 100644 --- a/test/capybara/screenshot/diff/drivers/vips_driver_test.rb +++ b/test/capybara/screenshot/diff/drivers/vips_driver_test.rb @@ -150,8 +150,7 @@ class VipsDriverTest < ActionDispatch::IntegrationTest # Test Interface Contracts test "from_file loads image from path" do - driver = VipsDriver.new - assert driver.from_file(TEST_IMAGES_DIR / "a.png") + assert VipsDriver.new.from_file(TEST_IMAGES_DIR / "a.png") end private @@ -190,8 +189,8 @@ class VipsUtilTest < ActiveSupport::TestCase end test "segment difference" do - old_image = Vips::Image.new_from_file("#{TEST_IMAGES_DIR}/a.png") - new_image = Vips::Image.new_from_file("#{TEST_IMAGES_DIR}/b.png") + old_image = Vips::Image.new_from_file(TEST_IMAGES_DIR.join("a.png").to_path) + new_image = Vips::Image.new_from_file(TEST_IMAGES_DIR.join("b.png").to_path) left, top, right, bottom = difference(old_image, new_image) diff --git a/test/capybara/screenshot/diff/image_compare_test.rb b/test/capybara/screenshot/diff/image_compare_test.rb index 04ef5abb..0aad8542 100644 --- a/test/capybara/screenshot/diff/image_compare_test.rb +++ b/test/capybara/screenshot/diff/image_compare_test.rb @@ -31,7 +31,7 @@ class ImageCompareTest < ActionDispatch::IntegrationTest assert_kind_of Drivers::VipsDriver, comparison.driver end - test "it generates annotation files on difference" do + test "for vips it generates annotation files on difference" do skip "VIPS not present. Skipping VIPS driver tests." unless defined?(Vips) comparison = make_comparison(:a, :b, driver: :vips) diff --git a/test/capybara/screenshot/diff/reporters/default_test.rb b/test/capybara/screenshot/diff/reporters/default_test.rb new file mode 100644 index 00000000..af52ca76 --- /dev/null +++ b/test/capybara/screenshot/diff/reporters/default_test.rb @@ -0,0 +1,42 @@ +# frozen_string_literal: true + +require "test_helper" +require "capybara/screenshot/diff/reporters/default" + +unless defined?(Vips) + warn "VIPS not present. Skipping VIPS driver tests." + return +end +require "capybara/screenshot/diff/drivers/vips_driver" + +module Capybara::Screenshot::Diff + class Reporters::DefaultTest < ActiveSupport::TestCase + setup do + @_tmpdir = Pathname.new(Dir.mktmpdir) + end + + teardown do + FileUtils.remove_entry @_tmpdir if @_tmpdir + end + + test "for vips driver generates heatmap diff file" do + skip "VIPS not present. Skipping VIPS driver tests." unless defined?(Vips) + driver = Drivers::VipsDriver.new + comparison = build_comparison_for(driver, "a.png", "b.png") + reporter = Reporters::Default.new(driver.find_difference_region(comparison)) + + reporter.generate + + assert_same_images "a-and-b.heatmap.diff.png", reporter.heatmap_diff_path + end + + private + + def build_comparison_for(driver, *images) + new_image = driver.from_file(TEST_IMAGES_DIR.join(images.first)) + base_image = driver.from_file(TEST_IMAGES_DIR.join(images.last)) + + Comparison.new(new_image, base_image, {}, driver, @_tmpdir / images.first, @_tmpdir / images.last) + end + end +end diff --git a/test/fixtures/files/comparisons/a-and-b.heatmap.diff.png b/test/fixtures/files/comparisons/a-and-b.heatmap.diff.png new file mode 100644 index 0000000000000000000000000000000000000000..6e7a09fac02fe74d8dee6e2af03cf9fba1fcce77 GIT binary patch literal 8482 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 literal 0 HcmV?d00001 From a44ddf1ea2f95bc7aef8f127d7b760924fa0b4ed Mon Sep 17 00:00:00 2001 From: Paul Keen <125715+pftg@users.noreply.github.com> Date: Sun, 17 Dec 2023 19:01:20 +0100 Subject: [PATCH 220/312] feat: extract format for images to use --- lib/capybara/screenshot/diff.rb | 3 +- .../diff/drivers/chunky_png_driver.rb | 4 +- .../screenshot/diff/reporters/default.rb | 8 +-- .../screenshot/diff/screenshot_matcher.rb | 10 ++-- lib/capybara/screenshot/diff/screenshoter.rb | 48 ++++++++++-------- .../screenshot/diff/stable_screenshoter.rb | 5 +- .../screenshot/diff/{drivers => }/utils.rb | 0 .../screenshot/diff/screenshot_matcher.rbs | 2 + .../screenshot/diff/drivers/utils_test.rb | 2 +- .../diff/stable_screenshoter_test.rb | 22 -------- test/capybara/screenshot/diff_test.rb | 9 ++++ .../screenshots/chrome/macos/index-vips.webp | Bin 0 -> 20235 bytes test/integration/record_screenshot_test.rb | 8 +++ test/support/screenshoter_stub.rb | 12 +++-- test/support/stub_test_methods.rb | 21 ++++++++ 15 files changed, 94 insertions(+), 60 deletions(-) rename lib/capybara/screenshot/diff/{drivers => }/utils.rb (100%) create mode 100644 test/fixtures/app/doc/screenshots/chrome/macos/index-vips.webp diff --git a/lib/capybara/screenshot/diff.rb b/lib/capybara/screenshot/diff.rb index e41cec1d..7d7fe14a 100644 --- a/lib/capybara/screenshot/diff.rb +++ b/lib/capybara/screenshot/diff.rb @@ -2,7 +2,7 @@ require "capybara/dsl" require "capybara/screenshot/diff/version" -require "capybara/screenshot/diff/drivers/utils" +require "capybara/screenshot/diff/utils" require "capybara/screenshot/diff/image_compare" require "capybara/screenshot/diff/test_methods" require "capybara/screenshot/diff/screenshoter" @@ -21,6 +21,7 @@ module Screenshot mattr_accessor :window_size mattr_accessor(:save_path) { "doc/screenshots" } mattr_accessor(:use_lfs) + mattr_accessor(:screenshot_format) { "png" } class << self def root=(path) diff --git a/lib/capybara/screenshot/diff/drivers/chunky_png_driver.rb b/lib/capybara/screenshot/diff/drivers/chunky_png_driver.rb index 9e401fa0..5a685d79 100644 --- a/lib/capybara/screenshot/diff/drivers/chunky_png_driver.rb +++ b/lib/capybara/screenshot/diff/drivers/chunky_png_driver.rb @@ -35,8 +35,8 @@ def crop(region, i) i.crop(*region.to_top_left_corner_coordinates) end - def from_file(filename) - ChunkyPNG::Image.from_file(filename.to_s) + def from_file(filename_or_path) + ChunkyPNG::Image.from_file(filename_or_path.to_s) end def save_image_to(image, filename) diff --git a/lib/capybara/screenshot/diff/reporters/default.rb b/lib/capybara/screenshot/diff/reporters/default.rb index 1fa7dc97..f7d868b9 100644 --- a/lib/capybara/screenshot/diff/reporters/default.rb +++ b/lib/capybara/screenshot/diff/reporters/default.rb @@ -5,12 +5,12 @@ module Reporters class Default attr_reader :annotated_image_path, :annotated_base_image_path, :heatmap_diff_path, :difference - def initialize(difference) + def initialize(difference, format: "png") @difference = difference - @annotated_image_path = comparison.new_image_path.sub_ext(".diff.png") - @annotated_base_image_path = comparison.base_image_path.sub_ext(".diff.png") - @heatmap_diff_path = comparison.new_image_path.sub_ext(".heatmap.diff.png") + @annotated_image_path = comparison.new_image_path.sub_ext(".diff.#{format}") + @annotated_base_image_path = comparison.base_image_path.sub_ext(".diff.#{format}") + @heatmap_diff_path = comparison.new_image_path.sub_ext(".heatmap.diff.#{format}") end def generate diff --git a/lib/capybara/screenshot/diff/screenshot_matcher.rb b/lib/capybara/screenshot/diff/screenshot_matcher.rb index bd663564..7878c12a 100644 --- a/lib/capybara/screenshot/diff/screenshot_matcher.rb +++ b/lib/capybara/screenshot/diff/screenshot_matcher.rb @@ -9,13 +9,14 @@ module Capybara module Screenshot module Diff class ScreenshotMatcher - attr_reader :screenshot_full_name, :driver_options, :screenshot_path, :base_screenshot_path + attr_reader :screenshot_full_name, :driver_options, :screenshot_path, :base_screenshot_path, :screenshot_format def initialize(screenshot_full_name, options = {}) @screenshot_full_name = screenshot_full_name @driver_options = Diff.default_options.merge(options) - @screenshot_path = Screenshot.screenshot_area_abs / Pathname.new(screenshot_full_name).sub_ext(".png") + @screenshot_format = options[:screenshot_format] || "png" + @screenshot_path = Screenshot.screenshot_area_abs / Pathname.new(screenshot_full_name).sub_ext(".#{screenshot_format}") @base_screenshot_path = ScreenshotMatcher.base_image_path_from(@screenshot_path) end @@ -43,7 +44,8 @@ def build_screenshot_matches_job capture_options = { crop: crop, stability_time_limit: driver_options.delete(:stability_time_limit), - wait: driver_options.delete(:wait) + wait: driver_options.delete(:wait), + screenshot_format: driver_options[:screenshot_format] } take_comparison_screenshot(capture_options, driver_options, screenshot_path) @@ -58,7 +60,7 @@ def build_screenshot_matches_job end def self.base_image_path_from(screenshot_path) - screenshot_path.sub_ext(".base.png") + screenshot_path.sub_ext(".base#{screenshot_path.extname}") end private diff --git a/lib/capybara/screenshot/diff/screenshoter.rb b/lib/capybara/screenshot/diff/screenshoter.rb index e3d4f95b..0712d565 100644 --- a/lib/capybara/screenshot/diff/screenshoter.rb +++ b/lib/capybara/screenshot/diff/screenshoter.rb @@ -22,8 +22,13 @@ def wait @capture_options[:wait] end + def screenshot_format + @capture_options[:screenshot_format] || "png" + end + def self.attempts_screenshot_paths(base_file) - Dir["#{base_file.to_s.chomp(".png")}.attempt_*.png"].sort + extname = Pathname.new(base_file).extname + Dir["#{base_file.to_s.chomp("#{extname}")}.attempt_*#{extname}"].sort end def self.cleanup_attempts_screenshots(base_file) @@ -43,38 +48,34 @@ def take_comparison_screenshot(screenshot_path) end def self.gen_next_attempt_path(screenshot_path, iteration) - Pathname.new(screenshot_path).sub_ext(format(".attempt_%02i.png", iteration)) + screenshot_path.sub_ext(format(".attempt_%02i#{screenshot_path.extname}", iteration)) end def take_screenshot(screenshot_path) blurred_input = prepare_page_for_screenshot(timeout: wait) # Take browser screenshot and save - browser_save_screenshot(screenshot_path) + tmpfile = Tempfile.new([screenshot_path.basename.to_s, ".png"]) + BrowserHelpers.session.save_screenshot(tmpfile.path) # Load saved screenshot and pre-process it - process_screenshot(screenshot_path) + process_screenshot(tmpfile.path, screenshot_path) ensure + File.unlink(tmpfile) if tmpfile blurred_input&.click end - def browser_save_screenshot(screenshot_path) - BrowserHelpers.session.save_screenshot(screenshot_path) - end + def process_screenshot(stored_path, screenshot_path) + screenshot_image = driver.from_file(stored_path) - def process_screenshot(screenshot_path) # TODO(uwe): Remove when chromedriver takes right size screenshots # TODO: Adds tests when this case is true - if selenium_with_retina_screen? - reduce_retina_image_size(screenshot_path) - end + screenshot_image = resize_if_needed(screenshot_image) if selenium_with_retina_screen? # ODOT - if crop - image = driver.from_file(screenshot_path) - cropped_image = driver.crop(crop, image) - driver.save_image_to(cropped_image, screenshot_path) - end + screenshot_image = driver.crop(crop, screenshot_image) if crop + + driver.save_image_to(screenshot_image, screenshot_path) end def reduce_retina_image_size(file_name) @@ -82,10 +83,7 @@ def reduce_retina_image_size(file_name) saved_image = driver.from_file(file_name.to_s) return if driver.width_for(saved_image) < expected_image_width * 2 - notice_how_to_avoid_this - - new_height = expected_image_width * driver.height_for(saved_image) / driver.width_for(saved_image) - resized_image = driver.resize_image_to(saved_image, expected_image_width, new_height) + resized_image = resize_if_needed(saved_image) driver.save_image_to(resized_image, file_name) end @@ -128,6 +126,16 @@ def wait_images_loaded(timeout:) private + def resize_if_needed(saved_image) + expected_image_width = Screenshot.window_size[0] + return saved_image if driver.width_for(saved_image) < expected_image_width * 2 + + notice_how_to_avoid_this + + new_height = expected_image_width * driver.height_for(saved_image) / driver.width_for(saved_image) + driver.resize_image_to(saved_image, expected_image_width, new_height) + end + def selenium_with_retina_screen? Os::ON_MAC && BrowserHelpers.selenium? && Screenshot.window_size end diff --git a/lib/capybara/screenshot/diff/stable_screenshoter.rb b/lib/capybara/screenshot/diff/stable_screenshoter.rb index d0f3a572..7f867b85 100644 --- a/lib/capybara/screenshot/diff/stable_screenshoter.rb +++ b/lib/capybara/screenshot/diff/stable_screenshoter.rb @@ -11,7 +11,9 @@ class StableScreenshoter def initialize(capture_options, comparison_options = nil) @stability_time_limit, @wait = capture_options.fetch_values(:stability_time_limit, :wait) @comparison_options = comparison_options || Diff.default_options - @screenshoter = Diff.screenshoter.new(capture_options.except(*STABILITY_OPTIONS), @comparison_options[:driver]) + + driver = Diff::Drivers.for(@comparison_options) + @screenshoter = Diff.screenshoter.new(capture_options.except(*STABILITY_OPTIONS), driver) end # Try to get screenshot from browser. @@ -31,6 +33,7 @@ def take_comparison_screenshot(screenshot_path) end def take_stable_screenshot(screenshot_path) + screenshot_path = screenshot_path.is_a?(String) ? Pathname.new(screenshot_path) : screenshot_path # We try to compare first attempt with checkout version, in order to not run next screenshots attempt_path = nil screenshot_started_at = last_attempt_at = Time.now diff --git a/lib/capybara/screenshot/diff/drivers/utils.rb b/lib/capybara/screenshot/diff/utils.rb similarity index 100% rename from lib/capybara/screenshot/diff/drivers/utils.rb rename to lib/capybara/screenshot/diff/utils.rb diff --git a/sig/capybara/screenshot/diff/screenshot_matcher.rbs b/sig/capybara/screenshot/diff/screenshot_matcher.rbs index 646a988c..9f80c61b 100644 --- a/sig/capybara/screenshot/diff/screenshot_matcher.rbs +++ b/sig/capybara/screenshot/diff/screenshot_matcher.rbs @@ -5,6 +5,8 @@ module Capybara type job_entity = Array[top] + @screenshot_format: String + attr_reader base_screenshot_path: TestMethods::path_entity attr_reader driver_options: Drivers::BaseDriver::options_entity attr_reader screenshot_full_name: TestMethods::path_entity diff --git a/test/capybara/screenshot/diff/drivers/utils_test.rb b/test/capybara/screenshot/diff/drivers/utils_test.rb index 0fd44c08..84a180bc 100644 --- a/test/capybara/screenshot/diff/drivers/utils_test.rb +++ b/test/capybara/screenshot/diff/drivers/utils_test.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true require "test_helper" -require "capybara/screenshot/diff/drivers/utils" +require "capybara/screenshot/diff/utils" require "minitest/stub_const" module Capybara diff --git a/test/capybara/screenshot/diff/stable_screenshoter_test.rb b/test/capybara/screenshot/diff/stable_screenshoter_test.rb index c18541f5..78790338 100644 --- a/test/capybara/screenshot/diff/stable_screenshoter_test.rb +++ b/test/capybara/screenshot/diff/stable_screenshoter_test.rb @@ -89,28 +89,6 @@ class StableScreenshoterTest < ActionDispatch::IntegrationTest ensure FileUtils.rm_rf Dir["tmp/01_a*.png"] end - - private - - ImageCompareStub = Struct.new( - :driver, :driver_options, :shift_distance_limit, :quick_equal?, :different?, :reporter, keyword_init: true - ) - - def build_image_compare_stub(equal: true) - ImageCompareStub.new( - driver: ::Minitest::Mock.new, - reporter: ::Minitest::Mock.new, - driver_options: Capybara::Screenshot::Diff.default_options, - shift_distance_limit: nil, - quick_equal?: equal, - different?: !equal - ) - end - - def take_stable_screenshot_with(screenshot_path, stability_time_limit: 0.01, wait: 10) - screenshoter = StableScreenshoter.new({stability_time_limit: stability_time_limit, wait: wait}) - screenshoter.take_stable_screenshot(screenshot_path) - end end end end diff --git a/test/capybara/screenshot/diff_test.rb b/test/capybara/screenshot/diff_test.rb index b9f1a022..2ea78a7f 100644 --- a/test/capybara/screenshot/diff_test.rb +++ b/test/capybara/screenshot/diff_test.rb @@ -90,6 +90,15 @@ def test_screenshot_with_color_threshold File.delete(rev_filename) if File.exist?(rev_filename) end + def test_screenshot_with_screenshot_format + skip "VIPS not present. Skipping VIPS driver tests." unless defined?(Vips) + + Capybara::Screenshot.screenshot_format = "webp" + screenshot "a", driver: :vips + ensure + Capybara::Screenshot.screenshot_format = "webp" + end + test "build_full_name" do assert_equal "a", build_full_name("a") screenshot_group "b" diff --git a/test/fixtures/app/doc/screenshots/chrome/macos/index-vips.webp b/test/fixtures/app/doc/screenshots/chrome/macos/index-vips.webp new file mode 100644 index 0000000000000000000000000000000000000000..2c77ba1f758c43feceb3f1fea8394aa8667d9f60 GIT binary patch literal 20235 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 Jp}tGZ{{coo3BCXT literal 0 HcmV?d00001 diff --git a/test/integration/record_screenshot_test.rb b/test/integration/record_screenshot_test.rb index 067512cd..90a533ed 100644 --- a/test/integration/record_screenshot_test.rb +++ b/test/integration/record_screenshot_test.rb @@ -15,6 +15,14 @@ def test_record_index_cropped screenshot "index-cropped", crop: "form" end + def test_record_index_as_webp + skip "VIPS not present. Skipping VIPS driver tests." unless defined?(Vips) + + visit "/" + + screenshot "index-vips", screenshot_format: "webp", driver: :vips + end + def test_record_index_with_stability visit "/" diff --git a/test/support/screenshoter_stub.rb b/test/support/screenshoter_stub.rb index 265cefbb..86f62542 100644 --- a/test/support/screenshoter_stub.rb +++ b/test/support/screenshoter_stub.rb @@ -7,12 +7,14 @@ def pending_image_to_load end # Stub of the Capybara's save_screenshot - def save_screenshot(file_name) - source_image = File.basename(file_name) + def save_screenshot(path) + source_image = path.basename.to_path source_image.slice!(/\.attempt_\d+/) source_image.slice!(/^\d\d_/) - FileUtils.cp(File.expand_path(source_image, TEST_IMAGES_DIR), file_name) + FileUtils.cp(File.expand_path(source_image, TEST_IMAGES_DIR), path) + + path end def evaluate_script(*) @@ -24,8 +26,8 @@ def prepare_page_for_screenshot(**) end def take_screenshot(screenshot_path) - save_screenshot(screenshot_path) + stored_path = save_screenshot(screenshot_path) - process_screenshot(screenshot_path) + process_screenshot(stored_path, screenshot_path) end end diff --git a/test/support/stub_test_methods.rb b/test/support/stub_test_methods.rb index 655379c9..4adbb54e 100644 --- a/test/support/stub_test_methods.rb +++ b/test/support/stub_test_methods.rb @@ -32,6 +32,27 @@ def set_test_images(destination, original_base_image, original_new_image) FileUtils.cp TEST_IMAGES_DIR / "#{original_new_image}.png", destination FileUtils.cp TEST_IMAGES_DIR / "#{original_base_image}.png", ScreenshotMatcher.base_image_path_from(destination) end + + + ImageCompareStub = Struct.new( + :driver, :driver_options, :shift_distance_limit, :quick_equal?, :different?, :reporter, keyword_init: true + ) + + def build_image_compare_stub(equal: true) + ImageCompareStub.new( + driver: ::Minitest::Mock.new, + reporter: ::Minitest::Mock.new, + driver_options: Capybara::Screenshot::Diff.default_options, + shift_distance_limit: nil, + quick_equal?: equal, + different?: !equal + ) + end + + def take_stable_screenshot_with(screenshot_path, stability_time_limit: 0.01, wait: 10) + screenshoter = StableScreenshoter.new({stability_time_limit: stability_time_limit, wait: wait}) + screenshoter.take_stable_screenshot(screenshot_path) + end end end end From 1442ba9fa1f1a2ad98cdb1491994240c7b8693fd Mon Sep 17 00:00:00 2001 From: Paul Keen <125715+pftg@users.noreply.github.com> Date: Sun, 17 Dec 2023 21:58:49 +0100 Subject: [PATCH 221/312] cleanups --- lib/capybara/screenshot/diff.rb | 1 + .../screenshot/diff/reporters/default.rb | 9 +++++---- .../screenshot/diff/screenshot_matcher.rb | 2 +- lib/capybara/screenshot/diff/screenshoter.rb | 2 +- .../screenshot/diff/reporters/default.rbs | 3 ++- .../doc/screenshots/chrome/macos/index.png | Bin 27198 -> 24435 bytes test/support/stub_test_methods.rb | 1 - 7 files changed, 10 insertions(+), 8 deletions(-) diff --git a/lib/capybara/screenshot/diff.rb b/lib/capybara/screenshot/diff.rb index 7d7fe14a..116c3fb1 100644 --- a/lib/capybara/screenshot/diff.rb +++ b/lib/capybara/screenshot/diff.rb @@ -68,6 +68,7 @@ def self.default_options color_distance_limit: color_distance_limit, driver: driver, shift_distance_limit: shift_distance_limit, + screenshot_format: "png", skip_area: skip_area, stability_time_limit: Screenshot.stability_time_limit, tolerance: tolerance || ((driver == :vips) ? 0.001 : nil), diff --git a/lib/capybara/screenshot/diff/reporters/default.rb b/lib/capybara/screenshot/diff/reporters/default.rb index f7d868b9..dbed7598 100644 --- a/lib/capybara/screenshot/diff/reporters/default.rb +++ b/lib/capybara/screenshot/diff/reporters/default.rb @@ -5,12 +5,13 @@ module Reporters class Default attr_reader :annotated_image_path, :annotated_base_image_path, :heatmap_diff_path, :difference - def initialize(difference, format: "png") + def initialize(difference) @difference = difference - @annotated_image_path = comparison.new_image_path.sub_ext(".diff.#{format}") - @annotated_base_image_path = comparison.base_image_path.sub_ext(".diff.#{format}") - @heatmap_diff_path = comparison.new_image_path.sub_ext(".heatmap.diff.#{format}") + screenshot_format = difference.comparison.options[:screenshot_format] || comparison.new_image_path.extname.slice(1..-1) + @annotated_image_path = comparison.new_image_path.sub_ext(".diff.#{screenshot_format}") + @annotated_base_image_path = comparison.base_image_path.sub_ext(".diff.#{screenshot_format}") + @heatmap_diff_path = comparison.new_image_path.sub_ext(".heatmap.diff.#{screenshot_format}") end def generate diff --git a/lib/capybara/screenshot/diff/screenshot_matcher.rb b/lib/capybara/screenshot/diff/screenshot_matcher.rb index 7878c12a..740cc174 100644 --- a/lib/capybara/screenshot/diff/screenshot_matcher.rb +++ b/lib/capybara/screenshot/diff/screenshot_matcher.rb @@ -15,7 +15,7 @@ def initialize(screenshot_full_name, options = {}) @screenshot_full_name = screenshot_full_name @driver_options = Diff.default_options.merge(options) - @screenshot_format = options[:screenshot_format] || "png" + @screenshot_format = @driver_options[:screenshot_format] @screenshot_path = Screenshot.screenshot_area_abs / Pathname.new(screenshot_full_name).sub_ext(".#{screenshot_format}") @base_screenshot_path = ScreenshotMatcher.base_image_path_from(@screenshot_path) end diff --git a/lib/capybara/screenshot/diff/screenshoter.rb b/lib/capybara/screenshot/diff/screenshoter.rb index 0712d565..31343403 100644 --- a/lib/capybara/screenshot/diff/screenshoter.rb +++ b/lib/capybara/screenshot/diff/screenshoter.rb @@ -28,7 +28,7 @@ def screenshot_format def self.attempts_screenshot_paths(base_file) extname = Pathname.new(base_file).extname - Dir["#{base_file.to_s.chomp("#{extname}")}.attempt_*#{extname}"].sort + Dir["#{base_file.to_s.chomp(extname)}.attempt_*#{extname}"].sort end def self.cleanup_attempts_screenshots(base_file) diff --git a/sig/capybara/screenshot/diff/reporters/default.rbs b/sig/capybara/screenshot/diff/reporters/default.rbs index 6d4bd2f3..dcd5ed74 100644 --- a/sig/capybara/screenshot/diff/reporters/default.rbs +++ b/sig/capybara/screenshot/diff/reporters/default.rbs @@ -5,11 +5,12 @@ module Capybara class Default < Base @annotated_base_image_path: Pathname @annotated_image_path: Pathname + @heatmap_diff_path: Pathname @difference: Difference attr_reader annotated_base_image_path: Pathname attr_reader annotated_image_path: Pathname - + attr_reader heatmap_diff_path: Pathname attr_reader difference: Difference def annotate_and_save_images: -> void diff --git a/test/fixtures/app/doc/screenshots/chrome/macos/index.png b/test/fixtures/app/doc/screenshots/chrome/macos/index.png index 50a2bf9a42f37289f7faf645bac04beb4cc3d8ea..4cc26e2feafd12698ebb8de7966fcc5c62573cdd 100644 GIT binary patch literal 24435 zcmZs@Wl&sQw>65py9PoU*93P7?yf-+T!Xs=2?U3R;M%xD;}Qt&?m>dPYw&MBPu_dZ zd#WzQkFMQau=d(h#vEg;4p&u{!9*iNgMop;l#`WIhk=2ohJk_8MS%mZ5E2m5!@w8| z$VrN8dS)E`K=mY_ZEmVE=hA1OP1MyKVy zLSjgi_yzYB4v}r5`g?T&%j?&$(9dSC-8U9uZVjQd2GDxjh8K@9xyRv-HG&AI2hi_f zSCUMA7YiZm@#$Os-SpFG29zLb;CJ8~MD6w8mv7L}i2hzf2@d-D&zmUkx^hhZz8l5C zp!=VXVf_Dm41-x$=OzC+cDy&sYxa6e!7sr3^_eI(@`>k9)P!YgufYhg=s%O%IkJ9$6V2uP0IhI%o*hq)_MsMaF~_n)r(zGq)c1ehL0Gt< z)Q1nw?(luN(>V=$yXd!mfnFu-da~VWX$&>JmolKs?C_fFUD`EjIBa9SWo^wxlMWU1 zud_Ghb5&AUV&eN^se7pn{{da6Q*WW$l%>u2cXRS-s>h;3lg+AmtA$aU-!HHVGm#wy z=b`Yzn#l%4X_|fcozG$nqRtWJXmZTI`;8wrxdLskdtXS;65fiFI0q@FO+8sQz|T+HOOrn5Je%xPac=o>rl9 zHVk>)H)!cJyYJLx{v35yj38SO2GP&hAOkSrUNN&!i-cd!lOvw#oT*u%x)pWvQ ziRtROt$MlB5X+obCUHZ4`Hs0rdBo7)`jb@nEf}4X%O+YvW@3L$AX-`Gd32vII`nan zEIKV3o3*^V@wpHeK^zBx-;B_pN~cYr(GOQwZ9QZ2DV&LL zQt~_6FPUxoH~++^Y13H%Zq8Q}G1Od(8iLHHcqtjZ6Mf@^$e>@y z$<0m=FImLk5fIz2sWDH15;8MW%2$zOM}chVQaddbjvWeK?;I(7u2+indQan}si$Xr z9MJmIXrkYoD)ShuEE8eB-aKugL=~{Q9Q5{1EnyM{+IvYce(0GQqi9qz3uRGojqLwA z>9z82T4i7YDYU{CTQq*Ue|d)-L>7(oK~k;6L?!tM#DTXUvu+%OARtxPx^b=>#RYbV zzz9M#2pY6fv1z1jQJ9HU8hV#n0h|5nyOn0L0HzdHFsGX3ob9?%41o#*-v0Idnme@_ zd~l~Mmvm?n2ns3E4kX|Aq8y-bb@Yj_A;;&p&)D36lpmb+8wLl7($wGdlMAVNhwU?+ ziDe=}1l-5Lq}I{`_PJlgqEn=T%cLg+)fa;- z5>(O-#~FM3my@t^6NC%Y6lL6Jv1xjF3=zNQmZWfiEZ!XAif(c;{>zk8f-+flT)Cg4F3q|6J<|j2`jn~hWCyctxX-h$SVX>4YdS~ z$tsk=8bu;5nN9P*Y3uITLdsIjOn8mGAX^NE3xceBQMwS&FmFAGP*QxU;?RQ?h8v9N z)6GJhcsIDR)acdkIgxpAf63!_VHrTpN}}vw_111h@NT<9v`dqbojE1`#4)Z1$LtUO z`XxOzDb0|=Rc#^Zc)Gz^=B0u{auMMQHppF+kdN!Uc!3c3qYm4LP z&ey9b64^fJJh!%t9s?d6$9%6uqtZ?{6GRswiS%8~bNFw7XaSL(!vhM*ET3aE^NTJ; zl_Qb5l#OSHuNm-^732>9sqow0@Rv=h%OK>pO7=qfzG6Ln zz0TLHaI|+MT3#)0*`>1Ww8>p<#MO5QQa=7f$eT>Ey1BYrSNY=8**!gu6s{cDHc7(1 z5xJ%tQC?m5|F!I{GldYA@`!TO(r`^iwCh(8ZL+jR4TV~{njGdmv{&!JeBY)}J=Dq; z!8CTG6^7hyqq&YfOS@%dpDP6PsZc_k2O-9J3>WK;nmC}^lHWPlU=^$i3li+3h!7)d zZWBYjv9#cIEgys6df`c8CeaLG^W$Z7qFL*zr6mb{G9eIlQuoOBLegC#U8w!z`D!u4 zxm*KmOr)iy<22pDyD3V#1T}tsX6d30D*_@v<1oiaP@z8U0O|Z$#NWk& zC^URC24zaYzmL4oz+**~{;~Rrhj7c>Lg0ybG@xya@?0k0L=mem-%`~0W$;`)t~9CL z^E8J7^|1S`mSkM5U5gAmtMS`i@P|92#v+ucQ46Q;KT^#P_Tf97ojJ0bU0nKU4T&P* zp=NzF;me)yGKXLPhWQR>xrsGbT2~NDp#O4_T7n%aU4nQnr#e#_A6kr=9ApYoopPJt zW-)($(#%M;OqP0{Ut@@pvB59wLn{`j-n~h- z!GlU!Wtb9JsdyajmaF)Q043v+WvzaOH6zmnY8GhXNSg~O5N~K7{sC88=)$fg@hFUKut`Hq1wV&UJ_4t_B5W?Sn2c0wH@#38`^tQ z)4=s0yMgW9OjA`e`OST+DU63sjt>#e|Ps|s4)#F8_oH-Q|trIBRnk8 zj`AFgH5{UHS?)Eg7oLaI0Y^f?`w5m9(^LvBSCxBmPyeBwsqJLCF@Ac)I@C(cus0L@ z1Tis;BcvK}n78sAr1!qdH{(Q9W$Y!wt8niU<4*?0MNV9~((vyweJAW_3e8p4pmx3u zO2kovYT_cRS!xHq`)N{ZGn^KMkTAvHKFmtC~ zLvl~(-jF1(TFoRAv~ivKIN+Ez#LtCR{HLWf#vTpAg_6gLP0kD#I)`5RP}ZdpfB2=7B0$c$BeyN zSQg$Q$`TPhB2W7z9y&u-pEXabKjI|*t#2eF$t;AJ)(F7dPUpCvWsk1V15?a6vt$hr zi?B2^JC17)f9u{7d8WMSg|F<30CfciU3N+rl{e)wFcVEFk47LROge|@KStpE8`trh zuAI8m@_}LuBoT3T=w>Go<`i0bEU2h-@B`Cza+`ejj8qJhJr^6x8Ln}pHaZzbK?ZZVR%nb07^ZxR4>un*}ApZ$zrMs;{S|wtwvF`WmW2fc zg=Ye6E7r)c&I<__E@qj^wkmQP09w}ewwYgc`ScZ0Pk?e)u{M^9w=d0#ZD{4Q@*c7r z9R7jpIT%zc5Nh^HA<5JXR)vOfO)6g5zXU<;;QIdODljWBYCNyi@%~}~X1VA<>~`m3 zex?D7A9EHoxH{AZ&($Otv|-(9O}OdSW#tZM56Jagepd1kn6I4Gr6ioe-@oTsP+?{b zOc&5XdzoH+ib49P28v53O|wQ9{7UGHW^LMOZ6L3-xgW%K|8P$EyL=zNFLpRYW091i zSj9+tyXWHVgl?SeS`(kHS|MjWq}*!qgRtws=n)~U5rJ3s@0P>b_HpLJfnSs*Rf-|f zNwV^#B;Q$*{$%!M-QHq*-aqD;_xnJm=^t12t+@7rACPoB{%mxn*iDp3$?2)vAdbQ< zG7Sl@} z0|)t|NhsK&^$?^iidPuV5s)Ceq&mY2?F1T8S3T9L-TFFTZtH%@zd$RBq8m-yHmr=n z6`qp5Pl}u9BNdO$KS+~6f)_#_!o3h0#KKeF3dZsL;tB}n44iC>X(V) zjZ9B)E^-QgVEgjZdd>9;_6hk1)(GEH;gY4}*EQO?TPnAY#1vl$5rg_Dvk58qe4~2# zdlA*sR4XRGK?ov)o#J6wSVxO`F9o8t6HMOm9m$y}oUFFL|6Y$QT6OmzV+ueM7Ucc& z)jgSdcu09r7;NXkRWE<^y{8I6mW)i~!A}jsEiyYI-s$$jo085ktsMluvg5ElS!4^2818tlOK1)%!A&dZqW_)M6>$A zMwM3B3du}Gm*xe5lePFyGj^JHd+fp;z|Bl+c6R9}H$V|%{Tx7(wdNho}gzv(8 zhh8QzvftAtDM`PV(wp2m$KrEu{(*N4qf=k!_W4i#?O9Ef37?nK$sM)V8A*Y%sS(=U z9(K%aJ(8u0o`F6WUoOORZe|SJWjN1b!0$8nW2?0n=!hcjY(l815_z~MEQm}PEZHnO z-BZSa*-E89Nm>48dDKV5;UW6&)pGjR@)b|##ne8*LAGMWr7gl_oQ>{EZ7*HWrQMh1BegiJ+)m0CEMo!UlUbj=|c;M#*u12#BH7 z9M6~#4d|(5%*#-(k~ZO((XJU_*zd7KC<;u}wzi+@dg1IqG1izq?23BjqnQZM9E3_z|48m+psKv?{naL`U+E67e8R7*LlErF^ZF5&dah5#> z2xBDIh3Yi0-()}3?6WztH06!<1kOsCqOR#ix{P-?$ioU*I_%&QhP(4VbkP*4c?E-J zlL98>Zl1+S_=#d`Pl-rre2~D|fr&X5CDklD1OH8*Rb$*wK+z16q8s<>SL009xH6xc zd{nK}UokN*WG3q^F7P~w&ECykqnG(JzHiJtkd~sw59?k3_ef)_g#+$ zvd9;~pw;+PRsnmYtX;*KPNFC|y)iPQ{*nPR!gGFZLPo+=LJhNUgq3b26}Vr?>6u3F z=&FEnwD-gLZ;5pcB`mjMc`d-lDj3dtNmgsb3>DyK(o!%!TDj?8|2e%Y>fYwnFR~w= zY?N-}ZE~CS+tZIfgC{Hd{RR7%CO!=f-E)cqT^s$OxGfdS?2ACteJ}L})nRLeh)eGu zBI+BVmFQDsBWRei^z!+eO#qe#s6M~0-<@S9@Z*=EJ+oA;&ggS#__E*MUlgoA8;{F= z_{iyWX7?b`(PFg@!$-uprMS~AOM?=loF4xkj2Wpp09&7?86US^2UPd}hD!fTGW`Y? zl*ci3SN-CiZQ^RwKCej<2aL_sGF#{V^MYe@hbvP@3ShpnBe#ps~!W*Hjo0k`)*k_YGbp z6C1KMsfvAX5f>4gkzC+X-v=oXc;Qf{_hOQNLstmOQJbdu0+j&5T^CcVURu~=Cx390 zaCiw#GJt0!3>;&3^#pF?|30n7~XSY1@HVj&Pv1d{bhUJ4_;izOhe`2P@gjcLJsoQG3d+iM{|@R15TzAE>gI-I z1>TAs6M7=LKvB`6n^|UzZ<9w?x|KT;Uoivo(3lm_9ub}4$tzfu@JbV?Jt~suoK&aN z0?8ctNQQ(Nj_fg!f*x-*l8h}oykop9$ac?=q>Mwh3{8FuAqnc-y#b3#Kvv319UAHD zi;7Zz<_>UL&D5D-4ZbU#;PaMJ+i=QVIvyP^btQWFRAnvkhGN2iVbm{HpU+3G$>NPH=~x7+Qp11#AZONJ3sdXTCDasClfM!l zuief0%`uh6Z^-q2|K8?>q0RPhGUEZsY&hDvv{SI^wyK*RKdi7$^`maNeExpl6*t4) z%Hgxki5cqh6MSGx-xuLj7OZ=CYe>&~cM2DA|qCLF8as(+dkF&IlT8 zyqy~&?*|us!BK$d-TRra#}KVZvn;nu^}#w#|5@CqH@5LwnBrSJVtZwifoe!KMd)S| zjVo$paSjXnkBMW(h`tfGQJ10S*;^L2%(QAWeSlp?6h~;KLCpX0yk%CVFV!KpRd>ca zA;+RcO%jCMMDw!yf6{uWKK6L^GQH!+i)#4AW0cUPSR2)hjg4~GRC#tFdHgFIFfl<- zam5N^2LPx6!k{La00+S(NCZe4xuM~)YC3({*Ot)bqOWBG$ibRjIpdQpsSnH=qE+QC zw^tO8zDZYwtJM zI~YY!xWop7F48?#(0n{Y*^-e%XZQI?>`gde(rD%J9*S{rB;(B-R5i~QDh%x?r_kuFq}fNai{wCOHyG#S@Ss^uu)oRx_rRd>ko~PMVF|hu84A# z;m9!CPFM++ur*#L86DZ;#N(n1?u4PF$S~9lc{E#1Exx>mMoXjiSy`RzT{@k?m<>YT zt{q>>L6_%GEf=>IEyIt#9P9O|d4lnWzWo*b@G{tthDAwc_W7#VEpI#TK7UTR=|T4* zZwwLgYj3%q3+#khK;?^$kX8yL@iWpwF5No6kDa^EnFL1Nxle#3k@5yfn0*+JlY)bu zWE!B$^wMVm)@s2flRD8fT0w9Mz}hYV6Fb_kY1 zT~cvz$~9SBv#cb#$LZbyKQMZC_q(NwRFsx|&dV#=8_2(UO=<-G_=c5>7UBH8T9*L- zzsNO;r5lYXoEcy&yVX>(157v;mZuQ=gB>S+Ngah09-76gm#1OcQ7dA#j&5Gh&fW5< z3nBU8^wrR|SQiV*4Zk7|@%(UxjUfIDn!&BXY_mpS$KnUC#4K-v*rkQ&m8!RY?iXC< z!GkR5>jd7{-1T5QuBd77@S{4xI9Z`w-qpDd;v4mNYz&wvnYQjH*a6Y&nL543ioz)_+rgcT~47?C6yC23lhUpF(cJeI`rF9RSh9kOnVt6dm`y6^hIwzUk9 z+d|}VXbCezKZ$SDJx7JIwq`;fi-u)AzHru9nz&qsg@Jn0l90j~cK^Oz9++Eo7;?E zCzWj@&Rl^zJUFEyDY%XPSH#u(SsgSxe|n3J@UzmncA9gF5{iP z^FexnwCFSQ{=C+T9~<=ZlB|z3Kj5r`LkryrpCoW@Of=VJ6MbLHS{4C!$DN9SFBvS- z)N$|*EWn%^c21}_Sv>1l#lIUzpf{O9$`(#nzRm@zw^rQ@{LwwKO@G+Whv9-g!g)Dz zYm}%45t`j+bMc8Vp;+*F@TIBP#u!2-lhOtu;!>d9IN`+wK)_tg-UHAS@Jta`lmGv= zEg;DG@U3v}^y9q2+-e%?O@|%+)id^Yt31C~zF*W6v)q>~&WJiu=&jT);sLtyL`O|C zyd)A^AiAGFbJcV~Q7W`{$_h~|MtkgaLDnIeKDj>A@+!?lUSCrC4HoZ%Gmi9t^W4vB z7K4)4uJ7Z!hO-qCca6RMOzk%lcN+G5$XgpvGMA5U zO0{f~L=w%W)Jyg$k_aLJTJpX#Pxk7>%ud8$0~ElhCq^Ls-wZipK1J@<^*vddpeEPO ziiMNtMahyd!_2iL?;Ms;(;#<&uOGl&ghYG_TSi&3=htgXArFJ-NZXDP~r&UKQfzTSpr;ZLv1p7e_v{EXmCk zxlxOsA64LTKOQ=*IK=iJ+FIG%J|Ms0aHY^x{8*4Yop}S^5aQskE$IM6bT22tDC-I2 z?)c)O*pY~Eu=6bhudzs0N(m(qr4n1_)B9MoG=%q13LO|m7Nw$UGaGFtC|R+3<_P=_2Hx7_y5+OINVPFbbfnqc)M#xJC*|WABBEDbziwWKNr8v!HF7N*XWus7ANX1+OZQVF{dwJmiG#bhwzsdMKLHmyPx>qzM0!*{{6vMH~N9uJNBPKf`40Y3K%8+LltkgSJdmMS=X@vx3J zYk)4zN?C;yH3$X?G`UX`_X?aFF%UO1x!4Wmnc-1hZ0^YLCER1RIi;`zdcCvP4W;ue z_jpOUp1R%&4oavV1aTqIREp;9Yqp;%o|<3BOb0>9B`D8C1x)nue0~cGBV{I>WY^WZ zgSSykEmp+?T{Jej6Jl^Dw;t6UWMiJ%Xe!&}ZNDxKTpj^0w5n6UO#DnfYQqTIT zNB{nl>E-Q~xt8-UzRWx{grL{4^F^C{O%p~<5d9AyRcx}~p4-=!Q1wKP5HX@D$PH;< z5!}}nR^D~T+BTkwxL)a+X2;rE&wug%+BF#%2ou%d;MZNq`rz&Tun=71s%^&|wwj|x3Lv0ejt_Gx-9jtK2xY|xIpoq;KgwY9YMe5)`M{S3Q5-_ zv@SG|{7^vU45DAR$Y|ZW_pgPD%(G7z?Mkh!lx@eK-)PNVV=7TTwZno9nAs)}#hqjB z6J+UsN;VA0qVY^`i;?VY@tF}t)3$#a4p1zb;i821gZZS%VvmqQjM}$bN0;~UzpJ{o zRCr_L%XR0CDhD0FNk}qg`i~M562$D-hY3H9d_U#h3x*7IBMo(ljOGPu@9eGB@gwdO z`$!eF68N`xcX{#eQv>MlRR~?D+03O-s@#+fIH4jf;e03G%0!Xx&M8|$=NzO>s}G8y z1!l;PM_^xw9p{rp+=$KFC&+*u6paULq#zVumpNu;{j=E9$dYRhUlFOAosW$&T~wc) z;$Oy}Gy5YVdPqq(F>)jve@(g@Qf6p5hCJFIZOu3-y+F*K;h)HQy58?y!uk(Q`Elz0`T0|K1-6}Y5(r4e9tM8BOZ`Qt3=j2oe;KGG7r+nn49;W!cQf?@s zb>>L9*gKKx<=mr^6zdu(>6>e+Bi$Q!?<5wI1FKO=GS>prUd-GM#XeB{sXp227!fMa z0|4(406$du-Z6b9|97diLF9< z?@5428QCJ%%-~9n@y(n}^RC+e3P0#1+SNjSF|^hm#sVUP78`3tg4A4|kmqlEXefZ7 zUQAsZG2H2h_eVn>EX({FJct*emS>hW+gp1uV6-k%6q0kUS=9Xlyqik?>N z4tUSR(|a=kR@3Doj4m&b1#8NCgymHvBknit3~wTXH4Wtv6SeJ6E;_DCafV&(q#)cw zkX0spEhOGZpD>d&Z(1J&&h!nD4Lw7!x$VmoZ zK*~OTapTB1a^;d3w^}|r9uMr}lF^mAr2BSt*pWagK4^#k2rf~m3F1+#(=Alp(N*lw zJtH!}-14FnLfx4>+In@30mMj`!yo%Au#=q#1|gEt4RR2-BA_ApYpHe~PN!*>j@ zLuu9>>pB8pq~DZK;H_9_yfnRC5*t_p-_zXz6PcTza%{h3SCMRq1zsT5d@UaD#h^M5 z*KW{HNR@I(nT!4$>9bPN53{85z#=D|nHsJ-ftZM|b%(C{N#?KIy|Yy6KodV%nt$_( z1$U49pLn2P1PMe)sv=II%`(^8wMkXgr`Dm`lri8soy&mEDq2N_+{Z%P@D+H!C-3!t zCm`4|Cn7Y%?@&vK-weVD?=>m=Z0F&lNv->pA6a}@tRW)?sNDcLYG-wDc6B$yRnNEw zjzLh0uNO-7!(R(?@e-HXiILO|pH#6$ro{3xf!-kZy!5cU*AIQM0X_pm-IXJLvMyU%>0 zya>w|M@iQd=ma7)9)pjC;hQu2*6z{LN(V4Zpj<01vdF#-K$&j4a32a=@;3qr1Na!; z&Gy*w`ufgZyO#PJy~u5Fz&G>~y%-i~m&|616&#B|Chf35ny}Q`MU2s~Tf?7XK z@<81y7vmSP*nR|eTEJvwkko%@8Mtf0k3P=2>lKsVrEXTCjZT+e#4on^G>}NB1TgOC zEG2}7u!+_IH%~cfNP*V6gqE0$PQ~04DkvXSh}i~VQ|3Y#~IB~cd z>aZVP{j1H3x3hIeNC6g3OdG4WDN0Yf$^l;651Ewy00W945G`I**y{qSX5l-N0fnVL ztkAoK33gG6>ddfG{2oDzXl_hA1>ylVg_`gZySxPha2^I*4ZKWVpvL~v+gI3jaX>Jrc`We}osTLE5 zx%8y+s_CbqoWv$(8MksQ;!u1>D;fr*|#6&9qOwtGcPG zPQ%IbQuPN(2ouHPPHz-2vl!}ly+7q>uK^qHlxM=1+9w*nn4hc5u&^)tiHWr-J|IrA zDR^(8JPE-4K_B3O$L4I#ZwqkfSTfGeV66)ErDM5_q}l1$hhG$DlnXzr)@(}6^@PtwW?c+o>ljHwDxE7s?410`;bYp)2}#3vCSa8MV5HUUuv z@Ci7+zSC8a8JhfJ0vMPaGr)HB`m8zHkb!iir*%hy{Qey5pevTFOJY7iWABeT+iOz+3QTx;Uy%Q`w;H4UNok2BpBa z2$MNmOaUd$xMS1|hO!aw(etcg;S#@3Ugv*{vKYCE+2_iGgx#~&NacPeTB3Y)u$Fu%}R7w8OQKe zE*{{dxn3u+>{=9cTWzf$N9U-Xfi##`v-O{0Q9gLv=!8x?aN#8f8Ps;*`o?^apkI*w zAJ-r-phPnc1dbl7{b*k2&9AJLvgCE~Z)VTOklaGC%g{$YE@%5_ufj!=z*pgImj-KR zG1YWz9aG);vuy7oOS^1vc#vU$n_&B-!(wp=kTP!&Us-MW3*81uC9~WM*YO=I4KvwI zG&5Z(a#^_Ndx|y78mYEW%hu{Tl{<4{(8}ena)$4L&D7EKwFgwx5Dv*mFoJaM;FT8! zpm{tFJa-UO+mS;5xKb8NB_oUN8E41`6HiBUj_T!+RToQ@_O-SRHJ{DD0_!;jyY8Kg zxN8O$o<{w^bKGb?s}iU3uo8na3CKQVS4zg2AaPij;pa~5H%fnX(w5SL8^-NJy#uv` zK@=ZVn)KPOqX;F+yEk~l`PXX4UtXX8G^C>NY2S&L5pjF*9|rU^1k9k(eJj^|Q072i zC5z8MCZg?ToZ+qPAJ*%5 zyEMY_L;)o^fEtqvOENC;B=!37(Zz^~ef1p~`+q_zH~^fLlkZ5Z`z>IiIe*4xZ3ZwK z&1IQyPUE{l${qFHg6MKRR2{B*+QiRIJZAypx_#0ss1Wbl`5b!w>EXVe@svL?{D*<4 z_^)1o8bwi2yvgAL7?_IOuY$7culj9#AkkS26ja1iuzkJnCzaN!?;*3nngCm$^W|(8D3NC&YcYUc z)coV?f7xjNsPhLabKvoiOYU`yI_&(6W_lMTh4mwXt`n^fRAI(tWAbKWc0JZ7xXVog zZGj+udiBpr!OcJUrm}J)H=c0%>ikFbJUSlWJie6a0sQP0g6i}5702N-&3TS%XmNwp z@b<6Is%0gYew|D?m(z@eU+~%JSH&sWo}2lBb(8PSoIUoCMUpd9lTuG$;_+x-QP@(i z20T30-Nn3UPo{;7bktW`V`Y5Jwn)HMtZaD}`lDbVNbmnpMfMlqe*K8ZOrm^p>4Y2$ z*35tm%yW-7KT|wJ<9A#hqE7*S%fjsx&7K-AfZwk4vS_Xu$sIcjl?+yP$#9y1E~GYL9trkBWxt!jo(p2W|ri`j&U%!(%hE z3UIl7s_e}$;W`*B3Sz2{+4WRcRW0LB?Mj@Z(yYA}XJuS1Pf_f<+`TrpbOh+ZEZ8hB zKuEOveWz-=#P!Don5YGBDOWuPW~VCe%AK{%j}fU2s6U<|$84bg)y774T@^y?DJ$pP zb>2sQe4-an$%Z#WB&+bf(A+#d?Wi6}Er!pO-vP@jnG(}yBNxuD(!V;6DL?h48P@B* zNc_bj+?n!Wg>r|>=CkUT+DdU)BwWz8qopJopI8NrGlISe6(NC|Hds+VKzGD>ZpU0Z zDS8w;EN>*2FKtygaOYc5FYZ=D}a}$mvp?g{;a~wtonEO?Y3iO|Nga1RAH}3@xAds%wuPDP`%eMZtVR0 z{ArbtKDIj4Z#-AU-CSpub@lSj*+(5YwGbj#4W~Xq=;0yVf>$3-R8cUAZ+j)VesML! zMu_So|3$bsMXw6iobZGC{Cl_xtcEc4ZC}TCXSIrk-c@^QhmiGRA|V!d##sIszE;zVkgmu@beRD>zO!yMCVc#4oV@>@0SOLVYloNd zI4&y(EWeTHlO#CUGN$oXia4~{0gg+R!QB1nWu=Gz2k!MEzQ%gN@3BfGf+5&0Od894 z81Dc6LYr2-bDShPdn5TZrCsLAj(oXZ@NDsULY!OW(;)oYJCnV@@~gD)0xJ7MA6+R? za;`ltuR)M)Fv|g)xJdT+@ceEJZ*(w`8ZBOHM2Y7s2Z-5{r*fI{J0}N~c;zA`4pQ+V z*&!rCg^e*_Y{A#B(Og;QHBCr5P1USZUR7n{z5y`+1A@RI7y+o854OQHGuLvLzyBQKU z8@8VwSO*3QwVFH$Jj`;)0<(MJK)T!)?|Q7p$>N#Ip&fPB$WLR0qpHhd1!|^p^~Dij z$#%wg7ICU2+tCeftW&c~{gcu)%ai~oe6sNCM13+AIa*q{#9UURvGynrB%BnJ=awV) zj1)dM1^c;FK>w5qiHi;W{xfncwRB!W6p{)L~7Bi_-0ZwhicYxEyv=Rz3_ zPty&|KBE5i!$lSNB8w^CX&T>xjm*Q{m!{Vj)@JsU&+>+3Ap>qh3ov{cCjLp=WDTOO zHaj~i0c15Uarmdkp`6`%eN4}!P`VyC^bm`(S&2j9Qb{$8u)H-*Gdu;HH)<^+D59GZ zQ2@~dCWuANF+St{KL!x>fnTJ-vUqa)CE9n$@PKxv0T-)dM$*rBwVMnw(zP&0tqFR| z&&04AH&BZIt{zHSzowE!eb<6h9%;{$puGY2)RJ^Xz)1fUzGO&YCs}L3AvFOFl4P6V zQ+_{3{QLPb3m*4Hj2bwLl$nZTgeZ~^;nXUJ!xo!vb@9$Ba?&G9n-oWXhs4%9hp|6H zuqo+}oU|b>b&bmfXw>?8PTl`|Gz73ijmYRGmE?x(n+QP$eEj(Dvvev4o}XwQ{N`g? zaae|^aF-qie81~e)ui*QRu&h3Q3!PF{F))HwHq^YBe|H7BrL82wn#~|4jP+w#fSy`ZFQVKhb4)_Sd6a*-1X6xr*cG6XY>VjQFZt+FSeQsu zRD@t;4b1oT>Ox|88zAG}Yxp{YSgh!1Hjlg*^S zR5}{F6iCC1yuzc6SE?=9>sbmPWcn`eL$fPb5mr38$A?#qC`v0(+sj5|jWaia2l|(y z8{h?e5H#qH`mBZlriBGD=rjvj0J3B_hsg5Omb?^_8DR4v~kYnE~)2M3q zT0mPfEYt>9LvzpLn*bTzc$+-G`6BK=y%%RI-9@0rTrzf1{NhgdyQ77hrk*AtL82 zHUP#Ez+rK@r-((y1#o!;7cf;Id z|AQUYgO~T)VzTB*F&>+yy3mP~t7+5h!ySB_1xxbmoOm0h41c6X+fTQP?hxbO&1&3P zu8}O;?pof@|4zReJh>DwG;i)}PL5GwlH;r%$M_)*`&d+QXX7FfP~X(0WV+tj2Q>Q1 zSDyo3V3y}o)26mBxVY+NXxg8LYYVJ>SJ3m^cwBbOE-R^x2F9StRs) zS{F?+*1O07`cSeBgB(MFv|Iu#U3c|QpUAlNi1GvS?zbe?i+?!%rFT4)8zoWjI13qy zAmzo>^VAVS{k@$bWJ`s?z}&=%MCN+r$yrzDt^}NQfOw( z&@ej8xP@!?=8<6ar!{~$E1qiXv*>RTpBr1!H3!}v)*Bfsn<`Mnzo}=!LGfy9A8`%q z&XRNq1GD6SaEqzcTWJ&mnYc@?GEVALSlGwL)^@V+4WMGe_Re}O)8ZD(brk47)Cs^Z znSK(*c~lfrZF>1(5z-!$Q3X9MR)5;uuZ;NrQq=<8Xmbr77JiR?SC+4aJk7MG#y{6R zj;qXgtmcQoFLa#sXVj|@cU%UTSBKq{B`XC<^L;sf;>H*8v+diNFA{bva+*D+xO%BN z-5yJE?oK-_!>+I^y?5iJcpL`@-x~Vv%~DZ5OlxU5!X$Sa@>FFa>2&&U+G?!Du!|a< z4W{qfdD-^Gbd0ZFKDPx^u|C>$2d$irFWuepXSaJ{T?Jyaz%O;bmyNzs%=dX5 zc{gT9;XfD;DY*4NvUf^=TD5?HfRX>*_GfNUOAy}Oq4CSF-@gOWM7X)RZRabWK0W;W z`7@2%_Wu69y}s!Eza$805ch#8oca4Wp(a}Q6N=yB(@~G@r+q{~Fb*hXo$8Y{@ z#=g846k2cdy7d3kO?7j1<(ts|_g~)415~X;(|V}SNi#CmN$aUdbw-6jV?%xYit{jQ zrwI<(=Z>eFmX?@R`j%BtV5msf(0aH_NQMSML)d z5#ynMEgl=b(IhN!pw^YF%*>V9S+~<4w?Y1h!JVO@p~lY_$zQ*IJ)Ex!)983uIR(iD z)hZ;jWpaG%YI53K>l$WjJ=zCu<95XZU{4x-ZcnC{H?HT6MZK@~^5qgFawlrXMbNQ$ z>m+pz3|h?w@tSa>_?KJOfkg@U-Cuo0Cw{&g4|ru0A_zF`j~8k-%U%lp%BR0W0@!o~ zJx+W#qj|NfjGmTV#%q#dVq!{5OU0;j8039?9-f~b($mvBqYIVNi6VO&99GcYA+*;! zZA$Nlg_@xX8Z|kt2O*-bt)2H%A;;g3e)e}cTkAYtYNXx;^xr zsimQqRw{Y6`}^bN!;@p=+?+O_3G3b6-S3y@+c1H)vo7@g{r&zJN*~}suE8uj%vTx~ z#lT2kml;1D+$?<_9~=zydD@c^B@^Hdc=oMk_8hDF^Dlx$5O06|@}WA3-MHOmwv;~0 zbE7cbfy`!R-}QYzH5af)4vn?h#2*~RKYuq2bc}yAx4x#&3`g z+aFHI1uSSE+dVN9)3~f}Pga0%ixs|E7)j++$sRbMg7GRXF8=eWbsRWISY`k<8}v}V zzz*uATYyaN>2whPZU2ou^El<~{^z#^ZBI8#n|;v_kC)>>Ca4)3zW@mabyp`i%g&uY z>~L);$;qL{L80Jt{PMKi?)PBu`G=cLSX30oLcq(*@ivaR}Yx07DgyhE16NU)58aOm^$DQ^69M`8OfPyj zSW*N8jN8$|TfS?cv;@37{65{^4>XO-PfR2rtY;I)5gP+?7IUim-Pcw3C3|>y_%(r| zN=`Q2Y7-!?(Gc$qSdwxzQd3h;+aK8KPJh*xwY5>`uaQdR;wSR^e`QJoyE;1J z+*ebaPgK;`*H>0n=H&skU=^lbztO?)}oM+(JbEi{n_3 z|MSW$gg?`yLM#r~eCE0KpX`bYU52JkS08+@Eb` zo_$RyCSB3F<5H4(MNST>Rpkq(%#mko^|aiJ!AJFJtL#ny`KBoG3_C8w6yu{glEs5-5&Y? zzr|O^F1#0%kdV;9UcLIw$Ur0Gm4FwVaF>hHLEFi;Ece)zDT)s5>Cp=p_4GJ7IhPg} zQ%D4YSLWFWLqo$tQ0}L=<3E=wqTrZWIFD#Zpsw!wtjLthI;VoQY&I50QVqvh@-&eV z`&b+mv_3x&E*`Yrh@|rC7J-n|)CA3R5ptJ6K&)|FUgLBse__$BB)`%3g6MnR`w6hn zC76)I*ZfAJZA?W)MFED8%79ZtR++R~W@uB24~D2FA#p3+ntdBde=S6_OCNYpXN_-7 zeBCVS(_`7Sxv zhj9y{0~Q9~KbrBTS^4z7uMGYtIHoaCjhK~{g~xO7Xl2(8*VVHiq5DW6BO_yLP_TCW z1Wx@Yfxa<4AfsgD1+KzKMEh<>o~2;q`GNA36s?^0x7z2gsH-^us|o z2PcAsxlKo`$H09-47Dav6vx;Yn?8K@EZ^!A&CT&MWH<;hzu~755fO`vi@jAoC7Lf% z*nX6oOfC4RtoBI?8n*?IuN;Z7Tm@CV)tr<}AC|CDF+goCyN6_a{qHG!8?zPbF@3; zlUBPpWy@1CGfy5lV%uHj8f)d<2`0sSOl~z9tPG!l`oiENIhM2KJ8|i*z<$X@{WXxa z4?_!*Mz4p5hmV~&p~<8#xz7N#!OVkBSJUZqcja7F$vfLPXC4XQR%9z-vA%L-!-(*~ zgXJ&?Gqpnsii+G`M*Q{@-!e>cR??nmPR`BovhNU4axo)fdh@NS`lm(Qsuw_NN|NA6 zLzhJG&CHC&dUo|o^_B=4vlB%N<$}b>L%xRiu(N3X^E%PHn*f&?Em}@vDQc`k)x~2Sc8mdgmpU)=p_yAuBh zwK8S(k)Z@(?ekGrXw5%rat5jYz>)2n*t2B7{^<98E>2EY`E~hqfw5GdymxSR#sWNR zI*!A_18>W#ueyu&w*jSk&-SSNLHz0c|G@L*j*gE0{rrTL|3rqgX}*kBur1hWK^e3E5)-*mYtx-OZ-K4DZmm#!e0*>dFTOe~ zS5DEO=8BlaAQOj;9Y=2d=aic&TkGOhE(u)0HRujjoH52yHKUF&ss= zElrwa2L{*c=Huft*vk6qAm-a23?BLSQ`eQfr@yyGWSQig5@?`Qif)gO!usJ|_ep7K zT5B@H6ONLHi%YBF*>Szmro@J(&43zl#(X${tf8q%>_CCx$z|5d_Kh^-7-yaN*=@lI z3tD;p<{4I!tG-m`+MQoMxbL8CZ>3iY&qdGmdD{*&zwS8i(YoUaO0JtyxcWq&K1X8r zz~2z4W=U(-Epkc;yQ*-lm``)&*8xkxKo%IIWd5~)lZq(Edv3<8jD!m5= z8suuZXh80-%gfgRb~{Fd;}2ER7aJhAup(hHlRoCt>t*WYrKk|JRz+=hP)H73?L0;7 zSu9E3a-prxw5&Iv8Q(@cTtR$UGPl%-lp`%)bztY~f^-PPvNIC01=4eUr2yA>K8zF6 zWPg{bwO>X>#fHKY;+?T3WS_6y%49p3zeCOwcg0u|79w6~e7vxO zc;)*nE}tp~g?$!&@iuFoS7a<~o7L!n-x8vgv7bu%fuq8eP3@agH-05y2O>e<=Z%}sxILTZfA*_-f4vK!+P zdxrr9pFY5ceGUGr>O-&NvbnA5<_IgHbc*{%Qh^8j}?;o!h6|5k8;QVzy zIuZQG%ZWtf{ykh8!}kTPmD4?`!`|DJg&*?_S;3>W9LIeDbHrZngoi;^FJfakIDo2c z@X%3v(S zRMa71p`!nc;*EH8h4U2R?Bruw&t1?xr)oH%l|iMgRjko+H%unSGP)>33m-{SLDV@~ zWqvaWOH=phr3ChlC3%n~?dP*|^8F{X@aH3i+pB!$&NeBhSrRdD{&F?z*E2lG!jB<4 z9(|%-EF*WVyzm681StvFSS)TKI8!{ZfZ;&!Fd5w!|NrWxQ1 zi!N6={wi>-7lgC&==q3D<3OQoFs#uYlhj&Vfi+3hYqAaa>cr*v2r-RHg^rD}WE^lY zYg52o`fhEm=>4;`IaTmc92YQ=2ln-`(An4eiK?Nyx#Q2+oqzD+f|y^r`V{!meB-Ua z`U6_Wo5(sWk~hEgAjzWrLXy;*e-@yOU?nGe+y1)X=;!rL)l3F0`l)k%#Z8d-SagtI z=Mreo%5>*a(MK_n(>7XunVz;4funJ^$YB0k7DM`u*^EQFSy!m}&i8i_oMW$B7F~Z27r8M*q{iHe zR#~Ism|?L9((p4qsoF?0Ov7W>@_JEKPq2q_WF1yYO*l?yOrSe6EvX@^ENJeb~{DetY2_0%5y@ z6LI*G4IAQ~tFFx!G=;qC^IFYG8esF@vCb3b6ukf$0u3I9`DJ$NK8#^2x1=c^5aivd zil{s9>Sz;PIr+WFZXz43y3fS7kp~h<%9ELCqs_@^v3NBfOd~JK&2FkAPejqF?UnAM zvW5;egp!lq&K#)PMpl8(DEkfFvnIf=u|OuaJqTP0HDKwo5Y>GVyqEf| zrk5!09f;{YWhV;-A8JjWcKZS&L=9PFLv@Mr@+TU z(ewt?h-|}TY&Dd^#)t*XzX?C&@z;pEsb48WElFwdulosa80~R-mY>rc0xZw8@-;$@Ux{XlA1pK8j&;FUk6? zff*=s`1;4nIRqjdE+)@{kZrQUtKxRENs)5Rs5WS8sY$Is1_yotggOy6%@Lod1SA5P zr8GO+3FaRir{TYRa>(Ap{G^YbW26W&AI4)<dPkd0bQID1QfZ!x)_jpLA^ zd1gTR`a3>@<(yTrbU~ELBY{&=B;z|#Il1&X`T_#Mymx9}u1TH+5V*$Xc$(tVe*|P} z)(0&y751zUG;S2eE6$iMY1U6t_XBqVfISZ@FC}r)wGGs16IxBv7!<&k{I(A}XNBS5 z6{G7C_VS&8Q_*OI-~l8AeV5doYbk7q?`*DDY-UPZ^}$E=WL`;=B`tqr735oM)Hy(L z*2`3#aEw%;6NN!loC9`*622Rf^a{|2@nbL7f1ZeGkexVq4k_Ore8;js^4}qLLXSQV zS0VRV(XFo192DE5o7&&ApN<%KY)kT*+Xv! zUD)k+|Nh3Su?(X!PDJCZ9cQ}0vdl{2Uls#(BOO}$!E~xFeL0Jw&)1WOnJ=kXM))H- zVO#(;NU<#C5RyD%3}+0T37tWkgLLcm^_4CZ0^!^uCQ03RgJjlu@mqtzG0DGXKE=Gw zgRtQ!`rYv=c@!!QnafM{yeJu~O33tbc@eSqA)-<)Spxh(Y5HJJ6l<*O=V!+oV&%k< zm>$3d6-a7voKvp)G;9g^3y-L3)Mvn+7%C{BA?8%WMONnNw2zGr2aa_z7JnBnZ-24z zB21~4%*VlXu+Vp55DNUqqH1Ni1NZp!|ElIkAcQOfr}2=(Ad`&Y#O`-xf=o`Abz^WU zd2MFUL&4nFKOKD%6`?lz!cIvY8<-{ybI=D`COS2m$K}7H;UleocS!{-l`FcldKP1(F*yHy{uQiIU>e7Z3>EJqQH%)qnWlE2-{p z9Kk<0E-w^hAjN%9ECg~7qV)91OV9N6DIZ63j2Gr;OB5rS&+{5W^2sMJsMQ4DC9D5A zG*&kJi$eKul7)U=;^=P2x8F8RT9aJjJ1pfnqa59w`sJ`K8@dvvk#A;K*%5cNED&6% z=@onZB)4p~2uf>35{wiTaUhO&9<3h^>8bm)%k=q9rhS}#K?sL32ld&>%Q8pCUsEf4 zXs>0jEDVMUMlACmr4TeR$t|2<+x*rtZT^C-Y4vBHYFG~M1k7DW$upM;Zijf}A&(Mr- zz|}HDezbQhKh=ZX4vr>|r)?-Iz z%L)It7fuf2Rgf{w)ca|KgyMs24v(ww5r;xSTjZMwqu8QHJ&#me-{ec!q^TaFuT!vo zn=HQj6H_h{9n2RxZ*KasrE+|th1s~ST2-BvgIp@=*9Vu1BEd6Aq?Lp#?hxV~&(ulH z%dRclme%ZYtI+vHkuKUuqml)YA7U)gsu-n4nWQ81T3{lQvZK})p2Dp5F8(cZncTazIs;_Aiq|p; z1RS26?+mLFaR-&n!ChrxhXpV0r2&fe9gZzAo#hst-U_4!%)VO1TI_MbhpMPRUnzx}kuZ(2+4(O43bUNgG&xs9K229nMW2yf z;0Czw1!N<0esX+VAoGu`$e)Y2^aE?W<(^l!uc6Q=8Kyn@b2YlJG_{&Gb66l(`Ux2dc;vd2_kWbsZfrW z-?j8M;Q9~|$$1e*C9~BuE`yO)su*9XZaueHwBJq)yIK=b236h=g{W}%Mk~IUI~BT? zZ6y2Ua|wwZf26-ftlyn=KGs|j=UMB_vrS!YBjmFZ;T9(-v}JDq_lMJV;(W`cuInVr zWD5SL4-VV;!k2;CBlIT&;d2#~di(oVZ=*>Zq>pfCJU6EjtRl|0$)tX$<)eBMSkegV z47ujLxTAC4RmKeS1+#s3g2w&0Ywi@sOZBwmryTkJF6F#Yl`T#=*xH9#$}uV-wZ+O5 zSe;2bTA1SewGkIA3329{#*AGo)!7vk8jAQ2cH0b2^s&r0df@jBa4ZinWUqU#jwy{w=X@uu_ zs!_I{_;B5-S&KM4>qqaU6v5k1z4RF#g<#BSs4O3QrpQ>Yw)H zOL!%V(hR|p7jv;K5jW~CgP5Ap(EA7fYn4BmHhog#riJzC{iZj@=CqJlE6DUgRWSZ0MoTFY?I5rxQOq{2HcMP7gRK@>WC=Kf}_Q;C&ogJpl&5@3P zCqukn@2VNe_P6t&8&=s8Fe}{#SH<&+u(v=MdaSP%3e^7 zUwXjR2^qP2UV$*atC*n#x{A}8gbMb{iI}Cs&F~R*R)vFzTw#-H{$S3~bl$`oEHZoA z;FE}kg%gXc#dnNZZSU0A(5+*rX32ug(f!3w2Bi+YdIuC9HeRIb4az0PCZXSX6s0u>|$Pebv;nJU8&~K znHcus2BOL^B#mDAQHOolfRoD2)XezC-?~W6t#Q>#58j>d0JcS-TQ4Ao2nX7zx%k-@^RBa}_liTKwQ1OxM1Oi?f`6CHRw40M88LCX7d|rf} zB!m{$>~5%EO5A*C@bL+S(}{ct+v@hZS6k+Q?yi@71#5-R5zcc5;$QXOW7~tKdfa?t z_b7`snkuYg>r;=A*bLu=Iu93@1CiVUPKo9{h5gTO z+f#@&>|VRU^b9A;-kG)4$zER-=7?N!K1M3QE95AwZ4UBCm?9VYS51Q%hY5?CL=br`}H9uyY zDQyk)SQRM_-eNaEFa6$;Tju21w!;Mbx`^S&834&+Mk%jNpgAvWZTnBM2V zn)%wlM$%~szg1B(Fi+=j!FDyLX{a|vwIufTB3b(K&`P7YZAo0xCVP2PTc)pfK-Jqd z=WV=C#rdXsWAs17^wCyo^^&qH-)*RKD+KEtc`kw*$J75uYaI|HHVdPdM;2Q76d;1>I?PEe7{ww z!TM!}VU|;nLlKI`L-i$75j&;No<-z@QU21)Zp1+#ZaBsln9&A)e}#v@i&)U|U+E1y zJ|q&vkIfSiRTI)&n(;m0=(Sg2T!_=+{XXJae zS@hNJ2!Lvp)f{YskG+IKnn2e8MPP+=v95ILp0jXawbotss$RRr8qSP-6F`P2R-Gy~+MwpD$I0S>mg4qgwT(?xkm{ zWSMyqnu`S(ABc_#KzCntdrx+gD#!$RXS-h4}RlTtjBHlJkhJq*;RKwS51A_>YQLQo@p{L zvz?&FIva$ED9N`Sn#7ofgv|GYfsP3Ki=VD6w2r;O`+D)W6Nftv&lWxs9H#OTQ1dBSi4|2 z=F{)MXD4EiwIQ*ghBQ!g%a+{$+NSqj*pePfwVwIc$}lc`9t_$sn}$g&IL#PDUufd! zF1_gCdz7S+ErXaNN9?MqF>jmW>0&*E=2kbE>L(??t?> zs&Oh^^N>X26NwcEJ44L~9zAKf7qK20<{bHiKYC# zgEQJMx9kV7u7ti>8EP@$UUXv0!TCfkRoDsLF}@g{z^QdzYM>$pUGDCYakhwtTmjD5 zy|*owByGLgx=W?w5i4?pI-7@{Tlz=4WhGPBO%Q^!8Ao?cCO1A@?D^>GB0jsl8OFoc zh*w43rE25Su|K7+MSgF2z2uk>Dkx?z#>4dYQd5mpK?>GWvWKRZ4?~+yc+{dRs-~zd ze28oGm-a-*^(S%?n?xd)Werf5MGVIxd1NkJPt0Ml8u)A;# zk`whxfo#JHj4!ns6kuSl>0;_hVRh*j!3lJ)bfyCVB-P=TBt7R$AQCGh#DqjDSLD<= zW1ad`@3KYD%(duWCSWqp?g(ve=7`kwcIgRDiP&K@L%mp8_;MCt#duC;@>^}&Y&4_4 zJ<#$0NbUa^PQmmPb2z#0Oun|mz{bIj0Ri2_tRz&vZ5Z%Su?%kg@Lpmk$&cYXxEqJ= zVwk!4dLg>0BS}yvp8MI*y~KRc#_fk$XI(sHjpa%9zaAA8Pf<5TcTH2m>&$P{+}9 z&!oNVVn?#pA?`^4S>7I=j+;orU$rdST_) zgc3~vY8<$Ktx>Y6HD(=2>?`@(?%md1a�^81^U#qse#-z)t=|Zp9cZe=yhJ+w*ib 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 Date: Sun, 17 Dec 2023 22:01:46 +0100 Subject: [PATCH 222/312] cleanups --- .../doc/screenshots/chrome/macos/index.png | Bin 24435 -> 27198 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/test/fixtures/app/doc/screenshots/chrome/macos/index.png b/test/fixtures/app/doc/screenshots/chrome/macos/index.png index 4cc26e2feafd12698ebb8de7966fcc5c62573cdd..50a2bf9a42f37289f7faf645bac04beb4cc3d8ea 100644 GIT binary patch literal 27198 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�^81^U#qse#-z)t=|Zp9cZe=yhJ+w*ib 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 Date: Mon, 18 Dec 2023 14:23:03 +0000 Subject: [PATCH 223/312] Bump actions/upload-artifact from 3 to 4 Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 3 to 4. - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](https://github.com/actions/upload-artifact/compare/v3...v4) --- updated-dependencies: - dependency-name: actions/upload-artifact dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/test.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index e1f30d9a..f935aa55 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -79,7 +79,7 @@ jobs: - name: Upload Screenshots if: always() - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: screenshots retention-days: 1 @@ -88,7 +88,7 @@ jobs: tmp/capybara/screenshots-diffs/ - name: Upload Coverage - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: coverage retention-days: 1 @@ -245,7 +245,7 @@ jobs: CAPYBARA_DRIVER: ${{ matrix.capybara-driver }} - name: Upload Screenshots - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 if: failure() with: name: screenshots-${{ matrix.screenshot-driver }}-${{ matrix.capybara-driver }} From 67878e26836995f875ae4c352db1be248d5667e0 Mon Sep 17 00:00:00 2001 From: Paul Keen <125715+pftg@users.noreply.github.com> Date: Thu, 21 Dec 2023 12:25:37 +0100 Subject: [PATCH 224/312] fix: honor global screenshot format setting --- lib/capybara/screenshot/diff.rb | 2 +- .../diff/drivers/vips_driver_test.rb | 1 + test/capybara/screenshot/diff_test.rb | 83 ++++++++++++------ test/images/a.webp | Bin 0 -> 2160 bytes test/test_helper.rb | 13 ++- 5 files changed, 67 insertions(+), 32 deletions(-) create mode 100644 test/images/a.webp diff --git a/lib/capybara/screenshot/diff.rb b/lib/capybara/screenshot/diff.rb index 116c3fb1..094f6b21 100644 --- a/lib/capybara/screenshot/diff.rb +++ b/lib/capybara/screenshot/diff.rb @@ -67,8 +67,8 @@ def self.default_options area_size_limit: area_size_limit, color_distance_limit: color_distance_limit, driver: driver, + screenshot_format: Screenshot.screenshot_format, shift_distance_limit: shift_distance_limit, - screenshot_format: "png", skip_area: skip_area, stability_time_limit: Screenshot.stability_time_limit, tolerance: tolerance || ((driver == :vips) ? 0.001 : nil), diff --git a/test/capybara/screenshot/diff/drivers/vips_driver_test.rb b/test/capybara/screenshot/diff/drivers/vips_driver_test.rb index 95218038..59eb1a55 100644 --- a/test/capybara/screenshot/diff/drivers/vips_driver_test.rb +++ b/test/capybara/screenshot/diff/drivers/vips_driver_test.rb @@ -6,6 +6,7 @@ warn "VIPS not present. Skipping VIPS driver tests." return end + require "capybara/screenshot/diff/drivers/vips_driver" module Capybara diff --git a/test/capybara/screenshot/diff_test.rb b/test/capybara/screenshot/diff_test.rb index 2ea78a7f..00e11e36 100644 --- a/test/capybara/screenshot/diff_test.rb +++ b/test/capybara/screenshot/diff_test.rb @@ -7,11 +7,13 @@ module Capybara module Screenshot class DiffTest < ActionDispatch::IntegrationTest setup do + @orig_add_driver_path = Capybara::Screenshot.add_driver_path + Capybara::Screenshot.add_driver_path = true + @orig_add_os_path = Capybara::Screenshot.add_os_path Capybara::Screenshot.add_os_path = true - @orig_add_driver_path = Capybara::Screenshot.add_driver_path - Capybara::Screenshot.add_driver_path = true + @orig_screenshot_format = Capybara::Screenshot.screenshot_format @orig_window_size = Capybara::Screenshot.window_size Capybara::Screenshot.window_size = [80, 80] @@ -23,8 +25,9 @@ class DiffTest < ActionDispatch::IntegrationTest teardown do FileUtils.rm_rf Capybara::Screenshot.screenshot_area_abs - Capybara::Screenshot.add_os_path = @orig_add_os_path Capybara::Screenshot.add_driver_path = @orig_add_driver_path + Capybara::Screenshot.add_os_path = @orig_add_os_path + Capybara::Screenshot.screenshot_format = @orig_screenshot_format Capybara::Screenshot.window_size = @orig_window_size end @@ -90,15 +93,6 @@ def test_screenshot_with_color_threshold File.delete(rev_filename) if File.exist?(rev_filename) end - def test_screenshot_with_screenshot_format - skip "VIPS not present. Skipping VIPS driver tests." unless defined?(Vips) - - Capybara::Screenshot.screenshot_format = "webp" - screenshot "a", driver: :vips - ensure - Capybara::Screenshot.screenshot_format = "webp" - end - test "build_full_name" do assert_equal "a", build_full_name("a") screenshot_group "b" @@ -124,6 +118,27 @@ def test_screenshot_with_screenshot_format assert_equal expected_drivers, Capybara::Screenshot::Diff::AVAILABLE_DRIVERS end + test "aggregates failures instead of raising errors on teardown for Minitest" do + test_case = SampleMiniTestCase.new(:_test_sample_screenshot_error) + + test_case.run + + assert_equal 1, test_case.failures.size + assert_includes test_case.failures.first.message, "expected error message" + end + + test "raising errors on teardown for non Minitest" do + Capybara::Screenshot::Diff.stub_const(:ASSERTION, ::RuntimeError) do + test_case = SampleNotMiniTestCase.new + test_case._test_sample_screenshot_error + + expected_message = + "Screenshot does not match for 'sample_screenshot' expected error message for non minitest" + assert_raises(RuntimeError, expected_message) { test_case.teardown } + assert(test_case.instance_variable_get(:@test_screenshots).empty?) + end + end + class SampleMiniTestCase < ActionDispatch::IntegrationTest include Capybara::Screenshot::Diff @@ -140,15 +155,6 @@ def _test_sample_screenshot_error end end - test "aggregates failures instead of raising errors on teardown for Minitest" do - test_case = SampleMiniTestCase.new(:_test_sample_screenshot_error) - - test_case.run - - assert_equal 1, test_case.failures.size - assert_includes test_case.failures.first.message, "expected error message" - end - class SampleNotMiniTestCase def self.setup # noop @@ -176,15 +182,34 @@ def _test_sample_screenshot_error end end - test "raising errors on teardown for non Minitest" do - Capybara::Screenshot::Diff.stub_const(:ASSERTION, ::RuntimeError) do - test_case = SampleNotMiniTestCase.new - test_case._test_sample_screenshot_error + class ScreenshotFormatTest < ActionDispatch::IntegrationTest + setup do + @orig_screenshot_format = Capybara::Screenshot.screenshot_format + end - expected_message = - "Screenshot does not match for 'sample_screenshot' expected error message for non minitest" - assert_raises(RuntimeError, expected_message) { test_case.teardown } - assert(test_case.instance_variable_get(:@test_screenshots).empty?) + include Capybara::Screenshot::Diff + include Diff::TestMethodsStub + + teardown do + Capybara::Screenshot.screenshot_format = @orig_screenshot_format + end + + test "use default screenshot format" do + skip "VIPS not present. Skipping VIPS driver tests." unless defined?(Vips) + + Capybara::Screenshot.screenshot_format = "webp" + + screenshot "a", driver: :vips + + assert_stored_screenshot("a.webp") + end + + test "override default screenshot format" do + Capybara::Screenshot.screenshot_format = "webp" + + screenshot "a", screenshot_format: "png" + + assert_stored_screenshot("a.png") end end end diff --git a/test/images/a.webp b/test/images/a.webp new file mode 100644 index 0000000000000000000000000000000000000000..a77ee5d0df87001f721a3b78e0feb2209120f481 GIT binary patch literal 2160 zcmV-$2#@ztNk&F!2mkl1HT?p`kQ;{BWQU ziEIF*xsBF7XZ_pq1Mw&32GITc@iz`h^6b++-i>^~IoNrJ{hj@Q_kjFn_rK@?{M-HK zS+}5{mglkm_iy%JxL*Jtxp)iPr~FrfzCl8c(Z0wdo0vEt?aBaKuIW?I1IAB18isVA zYhn)4Y$u>ST}GSD=q*%1@nh=M}w*Bd`Z?yV$aKY3JM@WjIX3#T#`8BZ39p$;f&em|>Qpwoc)V&k) z1sL3J?kTtc0RFdrMM2JGw!B3E+@{2=b>|HO9k>Wm8|_3J7)Z3L48TUYL7npb1jgUZ z_mb4Yx*BKy_EP}?$J)g%!y81fIiH`P`vHw95Hm}-I@U36ka)^_i23(J5Sfi)Z?W_T zxb86=%&@rsF==X^X2c}n%pM=d z$vkutEW6psuFA5#;RMv%=DF4^@B(_C_YDs~cY@a9K-gN;_zyJ`8UnI|!2!-ID^PR{8MkY%JtXthGnZ$Kd3~l=d>ZR=_@T_GUU-6qS#$$D{&rLiYq( zOt9@TE<^66Rj2savI7%A2@wkOMhDJ5HiJ+ael6S?A_>HBo=mbE~;7-+YiKxvhPN!x4h}2|NX#=y^;}h7he=EnySA()#hDfgw$p_K z$ry9JS!&yv2yMdrO>=qa1fbt{JDwDR=)jem_I9`3H9cj%P=hSv!@`El|7$Z{q!MM zF2H?a-2pQrzKe)KgSCsea#YRPiw`LQ86_p1M^Jd*X*zk}q-~KdRomXAy0)X3!j@o* z2busJiE#I0yGzSBX$zvxdCFH6iB~twzxb%{`P#@^ifpe*_a8u5gwv1m?jPAEZ+Xun zT$UE8WAIEszv>$g82XOGr_62+DvbXH-(V2XiCm8XxR;f2>F=%~G%g^M7CEzmQF)xU ziX0J#D5m{W5Tz&kJB&}al5U@_7Vy0Gw@RDoY!w+q(F$GZqG*3pU_8BJZ3GEqVRe2E zWcihmMUx0iAGWY?zhk}tTKB9_$|dM!n!VC{su}r5Yry0m7Dvb$OqkhU=qt2< z7f_Pz%Y&Xz!R5^wbUY(GOkUPu`!4608Qg7;(BmzaB4!$PC;U25mv(|A_`#ZVwuw^& z9GD{m+9`sZE@u&LjH6&rF%<(fkTB{lGwWuMC5ij9Pfc}9p4`N~xLTsG45sR$ITzpkOIoCk|F<$cCu)S_=Jjz9~K~7NE>10@M(eNM%Nr-I~%e?C?FYbsHoh25lR4x;V5D({w@+&@h8l z%hIA*<6>m@`~BHTU--@mG5P)Jz>Z)>x&7;dt=1CyMBodI(BGF@sN||4Y=nO%mq6kiF^tHljvEh%$3%FL5@eXD;|iEt-v zPfN|tL-|rkCNewo$oxBcb|7GohXg@ysCza-DhPv6le>ex8HKx}@+4rc1EyzKau71} zjs(lmYE)wI?31+qp2gGPW2PW)D7)W-xOfa2*4=1(*VlnLl`>^!-GQ>({byn?+moO_ mj(t0XV3OaHsjjm3zwG0mdl2tIR*&4(Q8pFGhVa+Jr{DlAygTmz literal 0 HcmV?d00001 diff --git a/test/test_helper.rb b/test/test_helper.rb index 056f692f..aa4a3e2b 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -47,8 +47,7 @@ class ActiveSupport::TestCase self.file_fixture_path = Pathname.new(File.expand_path("fixtures", __dir__)) teardown do - FileUtils.rm_rf Capybara::Screenshot.screenshot_area_abs - FileUtils.rm_rf Dir[Capybara::Screenshot.root / "*.png"] + FileUtils.rm_rf Dir[Capybara::Screenshot.root / "*"] end def optional_test @@ -61,4 +60,14 @@ def assert_same_images(expected_image_name, image_path) expected_image_path = file_fixture("files/comparisons/#{expected_image_name}") assert_predicate(Capybara::Screenshot::Diff::ImageCompare.new(image_path, expected_image_path), :quick_equal?) end + + def assert_stored_screenshot(filename) + screenshots = Capybara::Screenshot.screenshot_area_abs.children.map { |f| f.basename.to_s } + + assert_includes( + screenshots, + filename, + "Screenshot #{filename} not found in #{Capybara::Screenshot.screenshot_area_abs}" + ) + end end From 73276dcd051e4d29ccc5cb76eeb975d0ed0b169c Mon Sep 17 00:00:00 2001 From: Paul Keen <125715+pftg@users.noreply.github.com> Date: Thu, 21 Dec 2023 12:53:04 +0100 Subject: [PATCH 225/312] build: removes chunky_png requirements to be more flexible --- capybara-screenshot-diff.gemspec | 3 +-- gems.rb | 3 ++- lib/capybara/screenshot/diff/drivers/chunky_png_driver.rb | 8 +++++++- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/capybara-screenshot-diff.gemspec b/capybara-screenshot-diff.gemspec index 4a970882..14c6a0d4 100644 --- a/capybara-screenshot-diff.gemspec +++ b/capybara-screenshot-diff.gemspec @@ -16,7 +16,7 @@ Gem::Specification.new do |spec| spec.license = "MIT" spec.metadata["allowed_push_host"] = "https://rubygems.org/" spec.files = `git ls-files -z`.split("\x0").reject do |f| - f.match(%r{(^(\.|tmp|bin|test|spec|features|gemfiles|scripts)/)|(^(\.|Dockerfile|CONTRIBUTING|README))}) + f.match(%r{(^(\.|tmp|bin|test|spec|features|gemfiles|scripts|foo)/)|(^(\.|Dockerfile|CONTRIBUTING|README))}) end spec.bindir = "exe" @@ -25,5 +25,4 @@ Gem::Specification.new do |spec| spec.add_runtime_dependency "actionpack", ">= 6.1", "< 8" spec.add_runtime_dependency "capybara", ">= 2", "< 4" - spec.add_runtime_dependency "chunky_png", "~> 1.3" end diff --git a/gems.rb b/gems.rb index 2abd949b..8718ca02 100644 --- a/gems.rb +++ b/gems.rb @@ -8,7 +8,8 @@ gem "rake" # Image processing libraries -gem "oily_png", platform: :ruby, git: "https://github.com/donv/oily_png", branch: "patch-2" +gem "chunky_png", "~> 1.3", require: false +gem "oily_png", platform: :ruby, git: "https://github.com/wvanbergen/oily_png", ref: "44042006e79efd42ce4b52c1d78a4c70f0b4b1b2" gem "ruby-vips", require: false # Test diff --git a/lib/capybara/screenshot/diff/drivers/chunky_png_driver.rb b/lib/capybara/screenshot/diff/drivers/chunky_png_driver.rb index 5a685d79..153dcb5c 100644 --- a/lib/capybara/screenshot/diff/drivers/chunky_png_driver.rb +++ b/lib/capybara/screenshot/diff/drivers/chunky_png_driver.rb @@ -1,6 +1,12 @@ # frozen_string_literal: true -require "chunky_png" + +begin + require "chunky_png" +rescue LoadError => e + raise 'Required chunky_png gem is missing. Add `gem "chunky_png"` to Gemfile' if e.message.match?(/chunky_png/i) + raise +end require "capybara/screenshot/diff/drivers/base_driver" From baf117d2069210dc1ae61f9b25cd71ffd0eefb06 Mon Sep 17 00:00:00 2001 From: Paul Keen <125715+pftg@users.noreply.github.com> Date: Thu, 21 Dec 2023 12:53:24 +0100 Subject: [PATCH 226/312] build: updates dockerfile with 3.2 ruby --- Dockerfile | 2 +- lib/capybara/screenshot/diff/drivers/chunky_png_driver.rb | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 77d3569b..1e195a27 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,7 +3,7 @@ # $ docker build . -t csd # $ docker run -v $(pwd):/app -ti csd rake test -FROM jetthoughts/cimg-ruby:3.1-chrome +FROM jetthoughts/cimg-ruby:3.2-chrome RUN \ # Install dependencies diff --git a/lib/capybara/screenshot/diff/drivers/chunky_png_driver.rb b/lib/capybara/screenshot/diff/drivers/chunky_png_driver.rb index 153dcb5c..c834bc55 100644 --- a/lib/capybara/screenshot/diff/drivers/chunky_png_driver.rb +++ b/lib/capybara/screenshot/diff/drivers/chunky_png_driver.rb @@ -1,6 +1,5 @@ # frozen_string_literal: true - begin require "chunky_png" rescue LoadError => e From d8a4da7caf375bd18acbcdff311c7c0e5966d64e Mon Sep 17 00:00:00 2001 From: Paul Keen <125715+pftg@users.noreply.github.com> Date: Sun, 10 Dec 2023 11:36:36 +0100 Subject: [PATCH 227/312] build: drops support of truffleruby --- .github/workflows/test.yml | 96 +++++++----------- .standard.yml | 1 + .yamllint.yml | 2 + gems.rb | 5 +- .../chrome/macos/index-cropped.png | Bin 2088 -> 33963 bytes .../screenshots/chrome/macos/index-vips.webp | Bin 20235 -> 161454 bytes .../doc/screenshots/chrome/macos/index.png | Bin 27198 -> 161454 bytes .../screenshots/firefox/macos/index-vips.webp | Bin 0 -> 19905 bytes .../index_with_skip_area_as_array_of_css.png | Bin 0 -> 20195 bytes ...x_with_skip_area_as_array_of_css_and_p.png | Bin 0 -> 20195 bytes test/support/setup_capybara_drivers.rb | 6 -- 11 files changed, 39 insertions(+), 71 deletions(-) create mode 100644 test/fixtures/app/doc/screenshots/firefox/macos/index-vips.webp create mode 100644 test/fixtures/app/doc/screenshots/firefox/macos/index_with_skip_area_as_array_of_css.png create mode 100644 test/fixtures/app/doc/screenshots/firefox/macos/index_with_skip_area_as_array_of_css_and_p.png diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index f935aa55..3769e59e 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -18,8 +18,8 @@ env: BUNDLE_GEMFILE: gemfiles/rails71_gems.rb DEBIAN_FRONTEND: noninteractive FERRUM_PROCESS_TIMEOUT: 40 + MALLOC_ARENA_MAX: 2 RUBY_YJIT_ENABLE: 1 - WD_CACHE_TIME: 864000 # 10 days concurrency: group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} @@ -37,11 +37,7 @@ jobs: with: ruby-version: 3.2 bundler-cache: true - - name: Cache Webdrivers - uses: actions/cache@v3 - with: - path: ~/.webdrivers - key: ${{ runner.os }}-webdrivers + - run: bin/rake test test: @@ -53,10 +49,10 @@ jobs: - name: Checkout code uses: actions/checkout@v4 - - name: Install libvips - run: | - sudo apt-get update -qq - sudo apt-get install --fix-missing -qq --no-install-recommends libvips libvips-dev libvips-tools + - uses: awalsh128/cache-apt-pkgs-action@latest + with: + packages: libvips libglib2.0-0 libglib2.0-dev libwebp-dev libvips42 libpng-dev + version: tests-v1 - name: Set up Ruby uses: ruby/setup-ruby@v1 @@ -64,12 +60,6 @@ jobs: ruby-version: 3.2 bundler-cache: true - - name: Cache Webdrivers - uses: actions/cache@v3 - with: - path: ~/.webdrivers - key: ${{ runner.os }}-webdrivers - - name: Run Tests with coverage env: COVERAGE: enabled @@ -103,10 +93,10 @@ jobs: - name: Checkout code uses: actions/checkout@v4 - - name: Install libvips - run: | - sudo apt-get update -qq - sudo apt-get install -qq --no-install-recommends libvips libvips-dev libvips-tools + - uses: awalsh128/cache-apt-pkgs-action@latest + with: + packages: libvips libglib2.0-0 libglib2.0-dev libwebp-dev libvips42 libpng-dev + version: tests-v1 - name: Set up Ruby uses: ruby/setup-ruby@v1 @@ -114,12 +104,6 @@ jobs: ruby-version: 3.2 bundler-cache: true - - name: Cache Webdrivers - uses: actions/cache@v3 - with: - path: ~/.webdrivers - key: ${{ runner.os }}-webdrivers - - name: Tests Signatures env: SCREENSHOT_DRIVER: vips @@ -127,7 +111,9 @@ jobs: matrix: name: Test Integration Rails & Ruby - if: github.ref == 'refs/heads/master' || github.event_name == 'workflow_dispatch' || + if: > + github.ref == 'refs/heads/master' || + github.event_name == 'workflow_dispatch' || github.event.pull_request.requested_reviewers.length > 0 needs: [ test ] runs-on: ubuntu-latest @@ -135,36 +121,28 @@ jobs: continue-on-error: ${{ matrix.experimental }} strategy: matrix: - ruby-version: [ 3.2, 3.1, 3.0, jruby ] + ruby-version: [ 3.3.0-rc1, 3.2, 3.1, jruby ] gemfile: - - rails71_gems.rb - - rails70_gems.rb - rails61_gems.rb + - rails70_gems.rb + - rails71_gems.rb experimental: [ false ] exclude: # We already tested last version - ruby-version: 3.2 gemfile: rails71_gems.rb experimental: false + # Tests for Rails 6.1 cannot exit properly on JRuby + - ruby-version: jruby + gemfile: rails61_gems.rb + experimental: false include: - ruby-version: 3.2 gemfile: edge_gems.rb experimental: true - - ruby-version: ruby-head - gemfile: rails71_gems.rb - experimental: true - - ruby-version: 3.3.0-preview2 - gemfile: rails71_gems.rb - experimental: true - ruby-version: jruby-head gemfile: rails71_gems.rb experimental: true - - ruby-version: truffleruby - gemfile: rails71_gems.rb - experimental: true - - ruby-version: truffleruby+graalvm - gemfile: rails71_gems.rb - experimental: true env: BUNDLE_GEMFILE: gemfiles/${{ matrix.gemfile }} @@ -180,16 +158,10 @@ jobs: bundler-cache: true cache-version: ${{ matrix.ruby-version }}-${{ matrix.gemfile }}-1 - - name: Install libvips - run: | - sudo apt-get update -qq - sudo apt-get install --fix-missing -qq --no-install-recommends libvips libvips-dev libvips-tools - - - name: Cache Webdrivers - uses: actions/cache@v3 + - uses: awalsh128/cache-apt-pkgs-action@latest with: - path: ~/.webdrivers - key: ${{ runner.os }}-webdrivers + packages: libvips libglib2.0-0 libglib2.0-dev libwebp-dev libvips42 libpng-dev + version: tests-v1 - name: Run tests uses: nick-fields/retry@v2 @@ -201,10 +173,10 @@ jobs: matrix-screenshot-driver: name: Test Integration Capybara & Image Drivers if: > - github.ref == 'refs/heads/master' - || github.event.inputs - || github.event_name == 'workflow_dispatch' - || github.event.pull_request.requested_reviewers.length > 0 + github.ref == 'refs/heads/master' || + github.event.inputs || + github.event_name == 'workflow_dispatch' || + github.event.pull_request.requested_reviewers.length > 0 needs: [ 'test' ] strategy: @@ -226,17 +198,17 @@ jobs: ruby-version: 3.2 bundler-cache: true - - name: Install libvips + - uses: awalsh128/cache-apt-pkgs-action@latest if: matrix.screenshot-driver == 'vips' - run: | - sudo apt-get update -qq - sudo apt-get install --fix-missing -qq --no-install-recommends libvips libvips-dev libvips-tools + with: + packages: libvips libglib2.0-0 libglib2.0-dev libwebp-dev libvips42 libpng-dev + version: tests-v1 - - name: Cache Webdrivers + - name: Cache Selenium uses: actions/cache@v3 with: - path: ~/.webdrivers - key: ${{ runner.os }}-webdrivers-${{ matrix.capybara-driver }} + path: ~/.cache/selenium + key: ${{ runner.os }}-selenium-${{ matrix.capybara-driver }} - name: Run tests run: bin/rake test:integration diff --git a/.standard.yml b/.standard.yml index 6ab041a4..96e7810e 100644 --- a/.standard.yml +++ b/.standard.yml @@ -6,6 +6,7 @@ ruby_version: 3.0 # default: RUBY_VERSION default_ignores: false # default: true ignore: # default: [] + - '.*' - 'bin/**/*' - 'coverage/**/*' - 'gemfiles/**/*': diff --git a/.yamllint.yml b/.yamllint.yml index 90027646..93f08e58 100644 --- a/.yamllint.yml +++ b/.yamllint.yml @@ -9,8 +9,10 @@ rules: indent-sequences: whatever ignore: | + bin coverage gemfiles + scripts sig test tmp diff --git a/gems.rb b/gems.rb index 8718ca02..04bff65d 100644 --- a/gems.rb +++ b/gems.rb @@ -8,7 +8,7 @@ gem "rake" # Image processing libraries -gem "chunky_png", "~> 1.3", require: false +gem "chunky_png", ">= 1.3", require: false gem "oily_png", platform: :ruby, git: "https://github.com/wvanbergen/oily_png", ref: "44042006e79efd42ce4b52c1d78a4c70f0b4b1b2" gem "ruby-vips", require: false @@ -23,8 +23,7 @@ # Capybara Drivers gem "cuprite", require: false -gem "selenium-webdriver", require: false -gem "webdrivers", "~> 5.0", require: false +gem "selenium-webdriver", ">= 4.11", require: false # Test Frameworks # gem "cucumber", require: false diff --git a/test/fixtures/app/doc/screenshots/chrome/macos/index-cropped.png b/test/fixtures/app/doc/screenshots/chrome/macos/index-cropped.png index f31f722ec3e62d5b87013a1a7ea101f9e7bcfece..1e492ec467d3aa64856e176520da60293c495a59 100644 GIT binary patch literal 33963 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
p~=X-1KJpXnKL zUqPo;&F0hA(~Kkl5M~Dlk3SZdag>FU{lcG7aLh9{+l)(pN%5KE>{$r^JeW-0$R1<8 zDYzj4m=Tc33>z1pJHh)TVEl%}zUJj5{99Q31glI2MEoTF{XGK+{HF6)M+J~Z*x42Z zK8BX(gU7}Da0JM%N{wSs>k*N_FGI9hzq6MC0*{Pke+3|#5xdBUBBoQ9t3;~h^U>~I z=LQf<{V@+Uf`>Wqlq!Yt0#6T+;wb=;vk^H&#Bfng*lP@uqXq~fh)G7Qv`o-TjS0He zw*m)CUv_hg&^%Va;@|&a!G9G%;FF#`O0n6UbiFW2M3CL0aQ5J+;EN}Jft2t8Jss`X zOX_`R)rDse008+*_$4Ut;A$Pu6j4XiDc+(^LBzlT&~ztEAH0qC`xmYk0P!Y!M?9+n z);Bw-tQNk0gCfnrveO$j%Rya%;#MnxyW6;#4zZ2=6h*fQ94+Z*I7ElfJr>d6Iq!f# za2x*bPzVW6km3+fWe2^-!4-U`yhy>V6zoC%0cj91Q1Mi=tu(-FZEr#VLL?5tl!KFg+zkb(;0rIn! zWR^DaR0Vp|&dmiNZj4(~9NIR8W-b9@rdjgoUOY{~US_0PGTo|>oh?k+MNRTM%h&xd zK+0SIV*R@M->t%MNXzucSV7_5j-Fwg_dobTL}%Ql*ur#*sW>JI=B-Tqh^$^kVU;Vm zh(@;wDU@H4EVgAdkR2@D3f2b~-%HI%&;>iBI$rMQD5q``K$nX>DcydY?CtR)f|Rpe z89XJ@3LY{I{ennqAfyH{HZ4=>qK1K|q>G88bUL#}FMtASH-s2?H8u1H z`4akA5%1WI3Q+;k0Z{_7I{}ezS#l>lVUooWGDX@4E#gXtlZvX_DMbJ!HvJ{rxkabE zXL6;qdwat#(PY5E>r$fUC99A~9oyH;8N){7S4SR^=k8u(eqp`X2K8J`p_$LLy5407 zxyWrIuDAM@Sbir+#|+aM7mp2-l&FQ-On{i`g*pWSFm#GDUD57ZlUN3cF0EaCDyQh^ z>I-iLoNfZ>ddM9(?w{xWF*5?l3d@5(pT`Ch@Vdf6Bp2T$#UKHFt?6n zp?@}SF$I+ZASbC-)F93l8&%ocC=co;`A@jO_75NDoc_yweJ&TsxI`#mRS|321~(ag z;)pt0y$~P)+0h%mhUZ^0=~1$2N9gPoh~tejz1%lslxqzvQC*FGFD~>r`+b+ywNPts z2KC;JrjA=lWNWaoHz1TpAmS#CLSKngZIlmYImx-Blu_`M8v*$hci5gS7d8M{55?Dh zMW_77Me#n&0MWbdOFT_#h$ar2ZcDOt$~*7|o!-^m)#!M6$~0_|a>{ZChZP{R)$$k5 zD3(egXsd#uDYH{z6wy|oXs}o>uC*qyfic}C?&bk1>)y&L7%_FLDYVLi_c>6cBLeJC zn9l&%1*%D`q?&*RkJj+6=y^3nQmy1XytlPzp-a7ZLNnmvOuVS z9jSbt^BOGZH}Eq*dqs-nK{O&ReM}VggH-LbQ|~}D-GAao_lAP0qc@u+Q;Wo<2SqSiux#UoC|f(WSAbJpY}?hc7f_J z=_xe!Gv=)_X)NvlF@RyvOSEU7lR@>@0Ad!=R-rccjlLpviY;J~+j|-yazQ>Ah4X6&Bj=R#i6>+Y*;f6g}oO( z4tpX2nFD70AT%P9oXA{E0mUmR!M=s^o4u&2?JCu^99bMLJX}`Stl2@ zpoDlS>=myEd+zNq0P;D5!?JMXVK-W(n!*9W2n`VH&+p>xuBYT{tz<#VG3pPyu|90= zGPwi9N(V7P;tCLJO=7*I`e^laeW|Sg(UC=_W)&`!dTWX%Ro$lth&9EN|992Q05U%D zA9O+F;TJ+tIKCG7{tJ;F+@q}0HY#%zle7C8^*lUA?GJZTarXv_sPW)J{D4T85Fr49 z4Xk%16-+>PN3_8EAQH#Usp6~(ltK<)Mku4JrN{sP0y9ZOK~%Gr#CdcoYbm=FRd#(x zZFeqGM}I6ebruSM$Or;)I_!gBfhj!UIUT zy*F1aWa%12pU)H%cRH&1d<71xkKcSvu(WWbKK%ed%rwiaL#78wi5nN{!zq*%KpG6w zov8qsI%stLny%4nMgSRm^Y7#n^p@L=(7nYlE;M#b{L!9>T)B%H+Vg2(D1h!f@gm!; zZ4_%?!>wGTNdNb%7 diff --git a/test/fixtures/app/doc/screenshots/chrome/macos/index.png b/test/fixtures/app/doc/screenshots/chrome/macos/index.png index 49f9b999c8170f6bd69df11a923ceeae63916ce8..2c77ba1f758c43feceb3f1fea8394aa8667d9f60 100644 GIT binary patch literal 20235 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 Jp}tGZ{{coo3BCXT literal 161454 zcmeFYg;N{d`!|dgcL?sZ1ww&BOK~VcD^OArptwVEDei8?D$o{(7D8}$Cy?S$+}+)s zcl(ohpYMG??|<;_%#y>-nVrn$+H*d3MX0GNkq|NvVqjp9yik^Zi-Ca;$H2gSj*kmm zDZSYv!N9=ee=jGe_TIz<1H(PpC$8yLn;Lb9%q!Vp{>;oExek6Sof4U1(n_nr5;(%{ zJwxR9Xq@7Qy-n7I?T6Lj0~4qh4wR0Lv^Zn#L&QAF4T(ut4M(INd(z>28R0qUe@>>Y zewhx(zWMl@?BSQT#|5cv=W$zW!pDvI*Gr7F>MC^>xqi8lnqgasDhJ-Y%X$8c>;`z= z8)B*F4-L16*C8=v zBTV^~U8@aNYAPq6r%C6B-VAC@)HbEJfaMpRZ&$(J8;4PbUOo98Y41o*H;hZbU6wzd zP8bk>QJMUu_IVX}fCLW8@0>9(h^YRam>55j>41ynW?C=IU%UWg-~<2QVo+jYV_*WK zzb6Ccz5n{u0LF~}Gu8*j-2XEN3m8*j{lD|yhvEF!d~@LX-$NNV|K8_+KY<@H4i5td zxbj#?@G)lme~&SNJ7A>$&vn7ak1^B#`;K>a7#LXT|9wX|@a3@oXZ-wcEdWRVqcLv` z3^t4x^0F}ZV-#@=OT5P<-3;)Nlu6f(p z*s$8q&@f>)19~RNk-_Zwg`a$jn-rSWhTPSk* zQq2AFz1z7m*uQP-cRyR8t>_)Izf~W}+qi2VK9(uBedBX`C4lD#i^Z;;W2EVPDt!@k z-Z!_e-PCVvz?I$JsB)v?W3ZbuJ?F-H8@%V|9maYq85--y(7v^IC3sp$Cih3+@&4vL zebtk6`%=aRD(9E=343Jqz8TUvMGGPgbRJVt(1V+UGoNqg17W|(1mG$@-VqynVeOUK z`)zOb4sLQ-QKx}Z$gybjIQueQSH8@L;aW&;!HEQ=8)uj4qSo8I7{1jbNUzDu(y&`k* z@xDH$^1a^R^u1jnxxGE(xn5%Zym^plkbRKYRNwZ-?=qa#_ga=|D{X(_N@l68Gwncs zxb93Q>gJZHPe52L|m|e(>1ClWp;9QD++){8~ok^u|5% z@hq@A$QiCkOEy^JzTGhVPUMRFBoXs7ndjgVL|Hn^#=peO@p+b$`;xhyzcEN>UniOD zN9bCJ=3-qDdCDbW{BQMrlC<_0d(dt1*{G8`mS)Ezm2t5-|Ay`{>zh8jaX)kNS=w0+ z@CEbRqtH0L>8Ou^Minv(1b!VM)lF>oSGjQHeJRttVxRba9`~vx+j5-=yUA7^x2eaK zNL0X@*W6JgEZ&UJ(zc0N(d)Kb zh(t^>lrhy&YR((}5L7i!YUP__(pN~>2Uq$VM37|WJbgxw5A_f;TKXI9BXVVoqG~*?bn(|#_zS4cTzs< zKtf|ZWmtI$eyv&2Jf2G*8l&>K*uGt8%JWf4A-tlel9ZQ;!Kl2H{^6ptxwWa+CHKCw@jKO(KY)(4_}%iXnQw=}sUbbQ)5->bvweb*q7 zopbZ}DN{^Nzxsej4t2C`FCxDwVzDa>EwBZ-{c87f%_YitGCGT;A0>P)&pfxe<2F)B zn#|nnSOh)cHYl3*)X8rn85cLuT$?Zt(iq*6Fs!L$UbUVyf5}qy)!o3rin-nK_tF!Z z&iCsB!60Migl?B&WDDd7-1DTMo%Lha{vL1P{2cL1i%l8g?){V(_g0hO#sMA=XtXtq zO3wS4ByarYzx8Ut0dLo?qU0XQ`q3$DI&5GXpY9GBNYt+`?6T zVyk<`l+i!rA*c5jpBS(|yAkI9rOL^%!3Sx#sBfE{*ByAOdZn`TWsVo9Qi$QObud?B zN67iuK7L9w#hHVtpS?RRz zJ>D+OC@iTiuiKv#clT*g6j1_H&jvvn5~Yd zSz)Z9LmY@x@rVrQGtWgHNu2o=FCX90ocI-QZ#T8HAITWfijw8=qa9G*`2;%tB=J$j z!mb3T_XRrRiRF?TZHTM9sgk=zLcJR4A>E^FRVz4P9f6EuBre78e#d8q)P+i33*{^P z`OD(D6}1mz@~A5NMCPk6NJnd>n^&>>i|=e?B;|4(*mr|OHRqx({nOWZm|XTymnp`4 zqi(I70b)b?sx-u*z}?6vgWj+`GTDMeQDH-Jv+zUv?vp=V3n)A zwi7fb(~&z*VS$lj>g7n~*iJp~=zK?yMxv6^DGnZ3jDdULYyr61qB z)gaI3l;95p#N}f;Z-Ub)6^8PSjhIW3e|zg=I(DD^YLn&uQ}Nb3G}e`RbnydovC%Mr z0J(h*t;;_386M)ku1iuyyCcJ0G1f{42UY|)EAN|3xIOyYN1D{Jmo6w#*IXmg_X!+PLnZc9W7_;wk#XdE$z0 zicChc^Fyl_&Mid|Mf^3UBR#823OHMO3&vh2s#W+$98M=u(Ts-9p4&GI)pzLJeXN!odCpI!443ejktZa|28?~KOl{_o>HH#cQ^V+It?N@ng_b4sC{Go1*O&>Dx(k9{B&&kp zTBguwltu-zJ7oJU``9S#I(uUC*^FmZ#ED7He=e4pb5kM&@Q*6jfmtk^qPtRrO=tr7 zoO(s?RUMZs>4z$LFXx40qJ8IYTDV@vjGtrN zq1_fwf(fl{q|S-+s^*{>cs}Wn7>78K4qFk+*h49?Q(4yp(N)1mz82JpLznTXb2$)@ z6V40WP$stnTukU5YEB06DI-#DEv(qFe=UQsMyf`y=7wt4M3nWIki|HyA5S&+0Hh>U zUP2kxceZ5H9CtqBcz=0T?xlhxrIj07ei!N5VGj&ptdoqXo0*8DU>&_ZvVeei`}%?g zFD@QCrja?PU06wmS8yl!-_xQm#qW#nF6K45M`}U0bZqt{xmUO|!bY8`_bKXocLF}2 z+jHGs()$Sp@~`_yaP%2ED5?_2i?31%70`wuORG9oOz7;JH^oO`Ok2r(4o9K~hoB|9+hMGkXY9ZzHq7~OmHHFU%RK_)xD$x^K5BfS2g5Ed` zH!$8(_=KzOC^@O7iE>Gy!CywAx_`}Z7y1VOSS1~Hqt3Whe2lc)le=K1)vakDK#4qC zaH=C3`k@y$R89Y0MJIlwl<{6c4s?bhXmV7DT5|>h(U9Tz)IsrGlDn|NLb=D6qt7D| zL2H#%vZ#$8na~o+HC}yH=t>f?W&RLWqRPt)6(Tpzs>@z>wB(c%AMp~>W$z3^lLtqr z6KRM(%Z>ZZF;UZ&PwDscRv;MsC=X6&R>O3|-sy{Yu8?Q9tX#LbZ?xqd{SQ)=IX6*7 z0DpZ8>TKw67;< z1DJG(*)`a@EjXd{xC(Tg*1oH{=qr zC-VarvLJFXT2X?z{W1I~zo2h0dS4ITz6lA(UHye`7BbIvyzo1FMJymV+K5boP*M^w zj9uc4A0oBEY7;CWL)M*82V2I{sb_2zW?!|t(F|Vl!{h9=eWVf5s_6GKp+A!B zEE~W3PmWqGf0dCphl&VA?s3%B)7QYGxe>MezE>=S-DybM2d1uVPks_f#7Jw%Qq{x? zX&F_>ZYdiz-2SL8EX*ShVR~0Oc~U4EdbK$j7b{fGS!b_hyROE}`x;f!waavPZl(;u zec1Sfr_+y4|2qK;y(VONV1_WxRVlbk9i3T1UP{%B9$uDd<=peS4D-FDxzmmK50<|! z@)rOKAeY(+_MqpA^$_frAMWe<;wf_1v~ARATYvHU zIVxa}gGK)ucg)9=h&>DMw6l?zzL)3|JJM@IpAaYV-HbM3qJ(&-_{S5ZEH1_}iTwm~ ziy45eC1$XTh_dkCBrCq2^csn0f4WQ3hZnsxFUCjC-bP&)duG%fz@IYAS~7BDt>LTQR-mG=etqtpQt6CiY2+qot2GhA`PEXT~6l zeh3X1zeM8wy=RJiL3;BLIxp|A6^oM@aARAfvlB7e?MVwE@7#q0zJB-##j6s&(dRyz zuJxjE<{uk!L&uYh!?WH!+~*TkG9A&ruTjJK>nEuoz0`hDTM87zETmQzns74>ag-Dic%_PG-fE7 zme22rWgE$b)o$37Xc*WQYjIkoJQI?YDQuZtd8iSwXD7Cg!&R?1&v;5Bn<&k}wi(1Q z=QwVwc8|mK43~b=VU{~zWrJ^VCIGPH)FR__S0Vs3#Kt*fn7EfI%W5AM|_n93X~uk zWPt+F^I!VY2{CObI(e{pOJ9X-6EAugXLxWsbYr$D-c+uo*@DlX*!UcJ!VIe#PS1F94>VREue%o+C#2*~^KM=@RjhCMNA4kaxxCg_ zsl%cIrM4TrYR@^6Xc0=ak<^cwd5zWHE;59ZG3k|0C^aRB1}CAhwFw#}GgFJ-(%PX9hYOxaDWrZzay3WkeDH zJIt^%u|92%Bl|8D$0y%b)VU1%`B3aW!BzN?ti3~zHF4dW;})|ys{9FdC7$WG3->&* z-?3`N$r4WRHEYYvn&^eqmfV@8w|Ylw9M;evt8pa`q^6=%z{JJAYuMXjBe7KaRH92~ zFQr(-MS^X^>fmR%z}8yqdA0Lhklre3t3s7-vUkVY>P`dcQ~OJt0S%>a>Io0xcPR0= zdm?<>CgqL+{T)=Tdx=A`<5GRV#!^5g6*smUxo@RZ4f>X+N|ltE*uri}&?8CPx_%9z ztBX*2w?@-Ezb#3ZnwC=w*V=@D7&$8rSnED(8ov1i6cZhCPVCcr!ZU9PdCeNOhTHq4 zNUAuE56q7ALHN-=_hRFC9P3T2@*}s)**d=_lY9>V^atQ&;X{QF^&63NZVKqhsx8 z8?hxBWJgIg%SK1XOziwIV+#2A7a8>1`b()X7u`6{r>6L3by{0XsW-zebgN%)Bu&!{7gZ~SND8U41aMaJaA zl;*xA0T{mWoG=QKAIpTzf&I{lsf(kVp+_XInKil_9!B`?@M2mG1&IPbszgF(_=vZc zwXKY(eGsiqGcGP9PhhhDAe)z!8HBM=cYXJuIJ${ni~Rt^x4==j!!IJ*a~yKRy6PuI zI5JqfPOAg8^bQhAZ~8k4J-M|7R?A@holYj!L-N-9-KP05E+5P&=ZbFv)8tP;j)T-> zRv=cXNn7X)*+{Q1{q#U9lL+j2t19i{fW1G`%{TL?QaUa-K{K8Y#RF7U~RmI+1HE#uSv$I%Lh$Go9GdYI3hf zir8?o5+`(RHR_VIV|T8lRVn693nvj_HvW}c$&YUFIg)}jhjGb0fuL{Y9Y^&CsZs{j zjPeIG3c?l2wbMc2Ki}hYdIuY{<5lA|p$PT}990$Dm#W=wa9a}fIi;P+Cs2B5@UEin z>NlFl_}`iv|M-kM?dNXxuq*kA+SKOOwaf|riEdFASv7g6wlIwK2d-)H(pNQ9f7!EZ zZo(m1T$u@CzVL)vL-MVOw5dNwnFB_yhY1)K4;2l*KD0m=Sv^;Dd1{M~&~}S(tapKfzlgDw%+g1@ z_0Qjyy{f)SS9U?hEh&9+T2}sch97>3lU7W&PwWwO6j0rQPSVj>=?Q3&L!${(Lzqd5?bHG|98Q81Vs7q1dJV)+Q>=0rVv>=<%>kNSl?U=i7 z_8KP__~cW#bmC82OyN-sTpUGiN5agT;#;iO2mc=;an_PdUI_(&>X*FZw!QbIAjW=g z^}yF0jbSA+*mvG<*77y|y5HMQ<0E!ZT`VLgSlf ziVtzEP)oVrZr>FbN^Fac!LoLfR>Q=faDhy%+B}EY88neOd98x02gTKqydB~N%X1ZR zVZ`>jnw&3nVwuy6b;B@_e~q* zRX3iRU(|9Ah9^C-7K>nn_9MORH-J^s)8P>_BIj1&}S>+-*ZofTu9!H zWi$$O<}ry%;P(&k$lvd>qi!&+>qkx2lUol9oVwveOi(HRW|q?!^k*RWWS|$(9*KdI zSlyg8K$s(tw4jwh5EE`9^T{YMtJXy{-ZnEDlc(6J|F0664iztp9 z;clv7O^Ll3@DN}g>Fq@ecs;C?3I!B^@Rzs2=%0J2MxS=nIoYDN4_DtpxmKIz;@)Sg zxlaPIQA)u3tS6m~^6XLtHEeo*YN6Pf9PIE%tF;s273iRh^Q=bVA-FuIz%r$s4#}&@ zh%~Dt+4Q>PXPxx4X3t0@hLiuF<`TtCVdD#gvHP|F*bv~@MYR!o^p`Y^3#@Q1jI%fq z(TyjCiqOAOgSFf2SoHaMJ!eQo;}euPuoh*IiRF*jO?K}GGnJ)V!J{-bD`@-&!dQm! z$@G-vT(gSj?pLl13j}4{=p`n$m(x#3ubyLf=aN&7QH7B7QH8=9o^kO(K$Tqt+@PJd7+uQ9moJ{pFSTnnD5t$J|X%OoE zX&QZS_iU$D%}D|c%|IHh-Wusd$YPmVh&%t-oNj)TFJHlNij@3sm$`It_;DUT9lPM? z@O}oxm%DMEA78U5m=0AF3ZT^#R1aQ#fl0~xsyv_sU(XxV>qno9CL09LG_KJO|uC4~3KkL#m1C59t&u$J3HOC8EI$G->n-@}KInJ003>m7@vbXH<{3 zOdEWk0W4PaQPt-e@MiINDJ~HoSa434@j{Rh8J7Y^u6+QOIhd*P3bMLy@}Fk!CGF+I zjL4RFnOsupKCd)H3@FE&%R$dlkvuJt4a=3>&PmkW>lLE zdYI?3K;U8G2PgWdA>4v~G2CTN7d7@Uui~ttkib^kBBFxX$|htR%-#)&fyHGIfcmP% zb5=jppTCSVw)@^kpozXo$cWVI^a9peYRo|)w#R`VuQ8VmHWVF4uyu3mVh%eLsYRAK z8XjWMc0bEgC9L~QTq5mFzl}}XHtELxsGhdD$6C6lVXbY_9#aEQL04aO7YmFiyXXPJ zL$F`&S9fZ-@vqddFH@Y2u8f7{_cAiF@P$=U&^)`c-m5tL9dFu1u1NqTZehMg7LYOW z6g8N{Ww>V=4(;_XQ%wU)g1yU`5 z@PPRSL4Bo?g4{yIWX%9V9ZnI^62NGwr&1`d&ImE%)$t=!$&0w+eu#Y3Euqo05c=ON zfVrlXT~=`+4#C&ieO~<>Mc?fg`T@3%xZ{*%Ogbhc!$-^!yfCz}LF6+^g;D(j&m4Dy zTNUYDke@`VZK(fSo%T^1h(?14*2>K45G(fkRLMDZ6E@w1pthj(j+XphBA>f3`;k@Q{ z<2;5(r9)WML_HOxAR)DqflTci+guf9;%x?_t zwSjCbYi1MoR6aYgiEPys5o(7S)T(t%f7;~xNc}9}Fl3=+ z<4o9+INL1X&A`I0ZhS=ro{oPv9JIKpgRm)7bacjA%u{VHYbFRAiY^hh6B|`})UsKO z(xR%w*=kKRG+BOI;@b^K85k0j8it9)>g`3%qu*AHcM|eQSqp&zD}wN3C&hx@YzfoDAZBJTWb1CkLcaEvv18^4w9*(5!A0LU@nYkaUI9OTHOo#5&z!GrxL?fl zkPgDuO3p;*$&ab6LEkJ&w>{d0)wcVvxnp_nnTO}pI!g|#HKxK*z8My>^sd2guTEq?(eq zxd0*9F6+`t?1!B~M&=RmqE*#=kC}A|4K7%IfxKKTTE65ksi^DObE0%~94dQ#WxR09 zkUa?82Ym(q?SSeF28n)pPn<@n^YfW~$4FR?{Oh0-?|EvlR=H5z(&+-_=5N?WwrB6a< z5a5%=ua!ZhDY_X*$!pOGLo?2VUOEi~(svv>*YeW>wXt5OajgjfO~oG1|9r#Rx|o(( zoXM=Rb7HxbFY9ITz;1@Oy=?8h`!rR|Dqc?9@H+7vr8OW~x1^eKRzJ*F6S+ORPrqRJ zgCNF2d+|ez@buyKyq;-nI&VyPzN5TN5W*AhuSlG)oxqoArO8p_%k@&HP3@0%OxI9|6E8I4nQG>I2Wxbr?v5}9u5h4wyPJ2^9Q1wl}^h3>)`E01CQ` z$=U%6=x1C&WJ8WV(m#Y4o7I94hf>k*0Rg-%TH6UJv-6k zW%>aNUj()mLeup;*@jVZgLTEQ9=@E_@AK_`4eBVOkz9^Pw_=1{;?TLt;L$A?fY|I@ zU94}YbQ~qJTY5P$<@Pcz_@Nkb_>+)!psPP09Ujl%bCveaL+AYmc=^K%rz6IZ4dF!- zLBky>+|`ZrD3LMF9Fqz{4f&Bt&dL^+Tt4f#sai6#0zrf&Qt8Er`p>mkHV#L^-IlCz zziiED?f5LPsl`1Vy>Z!?l{lk>k-{?=EkS4RBtA`^SeB;w){$CB4Flc~A(0rRsqNHS z0O8CznGdi#J~jQF9s*>1M!w6(&`r42(sKFWE>JxSM=a~>^7{rKcHj9!PU3<>nK= z!%>2&W@;E{{R{*F5c_+#xp71CzTp5U=(ENCPYKLu+mq_I&YB_MNM6>=^lKicm!9$` zNI`JTFFj)^FN&{E35tk{9QU^$KMUWQRAox~%JinJ&}X$aZY;V{4)rz(Nb8KcArL7f z@SY9b3|4|eGeoPro9%DIkb^Fbf9@r>_Zr_LT8;kjjr=n1|D7o6;QHJJ5hoit!&R;p zLac>Ox)F*?#{%_Ds<>O9G~HDQQVCV3@2MH3GyY<;zDU+SRru`?Lae%82VJ+WYzyJ{ z&LGmD+YAC3eDS@H9)o~38%7Fh)fDhF?3;LFa%e5C!yMUtF}{bqarkvgW2G}WI5g?e{WBaYO=N+%__k>0`er50!&5B9z}jG?2jxCEKNFWp(;FBp~7 zj;Z@DWAnB=W@4^3wH~=}LK}(UXbjXe1uIz8NJoSUYsf8sAhAA%WLugH`?vKQeS?2- zU~BIrHPn1;vGXo0Ba#ovDJw&o!V0(xu1q_jK)PdFbTkN1Y>SP~UX=<`G{`(JwRT54veg&@NHVuYUewgyI{!8p&%~# zS|dVKKhL#)I|Te0of`M8X6%&2n`e~vf0a9fe&ikgX)_5?H~G=Js_WqV9Zl*7rOcZQ zJg354+1I^_!Eo^fNQe|fA>@k~N9GXydzVh=1WQz2N{D5Re#GjQS+y${)f>>u>SB0knm+~E}sS(&(43D`?g75>e$bjKj~`m z43?o|!MB}GrdYn!N}c(EQ_8ehK_=AL?stFpF4bw0JtCex4=_-y**c@vyMg%N$oEza z0CBtJ#}%1{cbLsdB_Ddkpnn3Sb5r5{3FjB#VfLm2N+2=N(lktpH$+_W%!a_`x`H2M zzAFSX`Usyr)!M6Lu=deF8iu4Kialybi0Xe77{NexnBsn|8p8Y6`{nr%&%o|v!1D(5;k}hL1PbsyexI0+t@=M#$if*QFL&uaIq64Kcn9sbyY0t%XF)(hCcF| z)#Qpp|AzW}atvBe_ML4e&v5#@SXw;xOhAY@W)`LoCNlYBTM`e-^GYbQ^K^`shcoTo zGG5a{K$lR$(sBpX8av?#bF*q508;Fj!dsH}LmHP|N3_UiL~;L!{R*V9da4{%o69fZ zjE)B^X_p0r7nvlamLg#vhyGp_bix5-n=(>;luqu(nw_NFj=Rlw)Ou4vrBg`` zE2rkvuG@pN)-e#XZqV?vs;t@tQY52&W=R1>)vjJg+ZsjnT`O}+|5?_~Z~dopGC{R{ z_y-q~)EX{qS^M`EpKwv6p3}@4{SjRh%Wvh~a-F@i0)W9;#P@;rAFkhWRhi0WM31w$ zk5hP;-BvtwnyxS_Bj?JPJ?y@bM^~H-xvd@i+?tMKLX$_VKTt7Xg zGxvbvb3x(4pNLW-%}qw=ICapM&>8&P;?BWGoHifzaqF5x9-nDrP@SQQ9Ylh&5=lnS z^I;DpG(M}ZMA>c+jrL3k?`GR75jXRou@m3$7KWZTb zM+*Kp%Mv-2-FflW`0N-Uy-C-wQhUJ)9-Q_4kK-=y?`l=OA zq_udw+X_!TI1@X9|D@3v~HpB`Hc}llWz%U$GXr194wgO zQrr}Ij92tR@fA5~@(yk1Ef!G4QB6{9**8Lx&aBpzb5Q0NOwYPY9;a+NX1U+(U-;rE zs&KMz3G*i&M=aUNIjRdeX_InR`U+1I^)CD<#!}6QGFo`T+ObOnSP#U{QnMZQD?_uY z_%x8E(Abz+jpEa%p(Rrgx>_GR^*06Ts2{}-#%b*R%W7!QHabx`a(IG5tFd)tQEIRY zH5)%Biikh>QE7^>Lu$%0rFd@->Vxlp!e3tm1IbZ^8-M?GH$dk6sB*;;>9QUC)$Vnq zG>m=hrK?8#SpSefEgT50-Hf1P0S_hZE3szyR!?)|yAaPyT;KEmTO6Y7fK^*0Sk>jp zoY|ZS+}dqAttMCCF0twQqxY~(A~W$aiLZx=fsCr`EKFlbhKa$V_NC=Wy5d7iX3X;E zD2`VJ<&H!Ku6dT{aD;KTjSQJ?kFVmEX$F}_4|8uiYd@QPW>P^7@*YWhW4B2>GrOrs zj86_Lpi5zXa<>zCI;LO}e1_=OjhWB~Bb02c1==YR6n14?xzDJ$a_zQGl z)(^-_KkZIC&CoFf*l2F|Y~P#}ZLw6zHywX=P0QyH5Tg|n;X}@g!!LxG^1te3EvFgX z^}e-3V|@XZ{dP%abkFlKl~sxJ1}sZ7f7JSyft#}9Y!n|} z>f*qKQAwITES-Jjkld+zH@!Lo17(|vwsBP$`1%z{PAgjC$( zgQpq`gzucL!-5hYY@@QihOxh%rfnUUW4v3St0(V+b{C7F$Y&Ks(RR))4YXVb^#WK0 zDR4CRwxatYBaT9olHstIF1a;rl60=Pul$2IocB+$1NnU*K#B!NzF{N;%#u6!5SiDN z3}C_uy4+pL=*3#Afm($3sFYcyG$STQq1=x4A1m`m(S(*ybJfWHwWk!>Ga!rg-SlRf z6I&uDR0*nv@Ak)H)72iNZ9zcVXE-|#D*)t@^!xB(1&yg?s=CVNYFRz~jYnc+O#tCU z07Pao>%|xE!aePSEygKeUt1T)r&|vMO`cUe5A&9yLdMAk3ELLyPG!Wj`2HaQ;tzO9 zWV3)T!-XHd4$-}Q0+=BX=n6LUjblwYt%sQ&cTrPJ_9?i0<`JqwM{~flfpjEVBu;%O zEI9v#{QU++) z(&vG+3~trDER*C|4rBiTG5=L6qJ-&Ca$U&@J%q=*>YA$-5c#$27n#Po1RU-Ek?8`6 zR4CsAd$&F$|L`6w!`MKMKbk|-6UKDKT`%yljniFsyPLc3oNVb^C&p=-M}$w#70OMi z-HU3UBoQ-|!10k3cfOs1iW2zcloW;fPUPo_XX7;1{_u<_!<9M=V5=}%ts&3ejZ)x) z#+tLdGF)wZJ^U6_``8tTC+>L^6Y2T`B~;Ao2pECiII4RvC-~|HJY_J(_Dr+#v*q$P z{0U#32RBh&9jG$3dC5Qg{i%Ph^~nc@-IhQ5wdXXu>_rakKIDB~K+J8lYOB_}XG4R% z=p8*y>6nY`cdDUx(mA}5^|uL|ieu>gkN~~5wHEe&(T-n#X@}E}Fko|L*v)UfVm!;( zdp(%ZVXoCr0Jm(3bk*vqk(D~jzMVc`JnX0-ez7hGdX-=C$%Ll-fcdcF!{=JTf<4y^ zR?f_(jE0`oCUWG!$TUAK(hF4t0quZo*d(5#4NeB^y4<{fWZC z=RG{_W~v-wRjlt6V%5}qiB?W*5s1C#&=sGbtE8OZ3t_CRoCOMTf~s@^_$;lGgPa zFQF;fu02+#Rk2bjs#ImTHJy8^7YbfJK<~FtSBw=kNpcCvv-N-eGb#Z_040I3%brzD zE)zQbk>bAj8K-m|W63+ca8oyK|4BmF|3+S zhA^$z&DeIXjq6$pE3;8kk0(&Tr>NEvNDh!+iG@D7{k*6fV=}jqsMWO9xLKXas(EBq z1&9#Z>q@L~1A$T`WhOS}g)Q28g8$43%=H5K;CiNOs7rdW)|B9rSvkPQ6SEo8pIWbd ziyjK&F_!}|mx<(R>V@Ri*9f#xA1dA@C*1%smwNVsTJ`Z!*?|+FjYEvGjFnAzkNuM~5NP9A9(pPX z(O;+@Lu{@)jN8Iyrq2jdp1ZeNw`X??f>_%vWFq$bAX?XF_^-~nQ=2sX>b{6a4~%Q> zH=Yx&VQ~Ro&Rd_m@Tp=#+-=Fx=-#U|!x_>7=a6X&4`M)4Lo5xu2~JSyMiCixdVjq;gNL;Y|Cj9mlQKJE8Q55VoVi}Ll}$}ev-kTBK_MFmmubfq3a!?>v9YRdB180LT|IHO6=~3 z0w@l2HBFf3V!L^sQaRhYiv7l6-bP0CBBpg~5$8HfpPkK$LE1>@vEZ)`qvUTr>_Yw>FO#H5cmZBrv1_N#xP5JI zU)!`=NaOH0nIpex`14SLW%ti~i{mk#Xnv-p@NPOqyNxH*W0mYp{CF?EHikcv2#j0w z!RHeXKJO|+)Y62;Oue(*Kq&Z5Fayg-lAlb%HHt*pAtWMih)zJ6zgq&hVj!p_QA( z>01u$a-dMK{~*FnTc8q&0^&@M$`LfNBU;=q@9}oc8|jsenTyNf2Tag;-Fe>RlQhbrPWZfWXNetDZ`|$j zUQ9LFeDD}PP(pd6AfSl_$m3d!*WdBDvUp{LfCD>#9wuSqq1pamF#kjEK!as3cRg>i zxqUMHhzklM0vUFW4Lo5Qd5xd$EUD+5tyJ<4ZvC6r-HiP@V3t60oe9uss8i73+hF$m zxxrz@S5el=zOfP@&0QVdzb7_AQk5<%|B#F`E1gkc#FqPg{l{%jKY4g9NAZUTl7zPN zaLd?mBnfwuBYsLOmcx=ScvIV2P1i-;dry$Ew3a;ahA#JBRUA|!r00j_Pmx`v*E8Vr zFItNZp#-iE@|#b!_+TX)L#5vhLzoCk`60B0_TbrDz9gkf6zp+#WS|`rkd`K3&-G6Hh)0^$jY>S_ZM_b4RvVGGRSYB zL5};Livh6O|ErFDOW!Z`g6}|x5J?0tzg9#TS29NWF8B0|e-{w{`A9SCdHI%gh)-E< z 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 "3" require "capybara/dsl" +Capybara.app = Rails.application +Capybara.default_max_wait_time = 1 Capybara.disable_animation = true Capybara.server = :puma, {Silent: true} Capybara.threadsafe = true -Capybara.app = Rails.application require "support/stub_test_methods" From b8fee9389a4cfb020a6970c227f18817d3a4cc97 Mon Sep 17 00:00:00 2001 From: Paul Keen <125715+pftg@users.noreply.github.com> Date: Sun, 28 Jan 2024 16:10:24 +0100 Subject: [PATCH 232/312] refact: optimizes to save png files (#99) --- lib/capybara/screenshot/diff/drivers/chunky_png_driver.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/capybara/screenshot/diff/drivers/chunky_png_driver.rb b/lib/capybara/screenshot/diff/drivers/chunky_png_driver.rb index c834bc55..835b311d 100644 --- a/lib/capybara/screenshot/diff/drivers/chunky_png_driver.rb +++ b/lib/capybara/screenshot/diff/drivers/chunky_png_driver.rb @@ -45,7 +45,7 @@ def from_file(filename_or_path) end def save_image_to(image, filename) - image.save(filename) + image.save(filename, :fast_rgba) end def resize_image_to(image, new_width, new_height) From 345a224ca696577bda2aedb9c2811c23b3b7bdc3 Mon Sep 17 00:00:00 2001 From: Paul Keen <125715+pftg@users.noreply.github.com> Date: Sun, 28 Jan 2024 16:20:22 +0100 Subject: [PATCH 233/312] feat: Force failure when base screenshot is missing on CircleCI (#101) --- lib/capybara/screenshot/diff.rb | 1 + .../screenshot/diff/screenshot_matcher.rb | 13 ++++---- lib/capybara/screenshot/diff/test_methods.rb | 20 +++++++++---- lib/capybara/screenshot/diff/vcs.rb | 2 +- .../screenshot/diff/screenshot_matcher.rbs | 1 + .../screenshot/diff/test_methods_test.rb | 12 +++++++- test/capybara/screenshot/diff_test.rb | 30 +++++++------------ test/integration/browser_screenshot_test.rb | 3 +- test/support/stub_test_methods.rb | 15 +++++++--- test/system_test_case.rb | 3 +- 10 files changed, 59 insertions(+), 41 deletions(-) diff --git a/lib/capybara/screenshot/diff.rb b/lib/capybara/screenshot/diff.rb index 094f6b21..afab4851 100644 --- a/lib/capybara/screenshot/diff.rb +++ b/lib/capybara/screenshot/diff.rb @@ -50,6 +50,7 @@ module Diff mattr_accessor(:delayed) { true } mattr_accessor :area_size_limit + mattr_accessor(:fail_if_new) { false } mattr_accessor :color_distance_limit mattr_accessor(:enabled) { true } mattr_accessor :shift_distance_limit diff --git a/lib/capybara/screenshot/diff/screenshot_matcher.rb b/lib/capybara/screenshot/diff/screenshot_matcher.rb index c19ae376..0137de9b 100644 --- a/lib/capybara/screenshot/diff/screenshot_matcher.rb +++ b/lib/capybara/screenshot/diff/screenshot_matcher.rb @@ -25,8 +25,6 @@ def build_screenshot_matches_job # TODO: Move this into screenshot stage, in order to re-evaluate coordinates after page updates return if BrowserHelpers.window_size_is_wrong?(Screenshot.window_size) - # Stability Screenshoter Options - # TODO: Move this into screenshot stage, in order to re-evaluate coordinates after page updates area_calculator = AreaCalculator.new(driver_options.delete(:crop), driver_options[:skip_area]) driver_options[:crop] = area_calculator.calculate_crop @@ -37,10 +35,14 @@ def build_screenshot_matches_job driver_options[:driver] = Drivers.for(driver_options[:driver]) + # Load base screenshot from VCS create_output_directory_for(screenshot_path) unless screenshot_path.exist? checkout_base_screenshot + # When fail_if_new is true no need to create screenshot if base screenshot is missing + return if Capybara::Screenshot::Diff.fail_if_new && !base_screenshot_path.exist? + capture_options = { crop: driver_options.delete(:crop), stability_time_limit: driver_options.delete(:stability_time_limit), @@ -48,15 +50,14 @@ def build_screenshot_matches_job screenshot_format: driver_options[:screenshot_format] } + # Load new screenshot from Browser take_comparison_screenshot(capture_options, driver_options, screenshot_path) + # Pre-computation: No need to compare without base screenshot return unless base_screenshot_path.exist? # Add comparison job in the queue - [ - screenshot_full_name, - ImageCompare.new(screenshot_path.to_s, base_screenshot_path.to_s, driver_options) - ] + [screenshot_full_name, ImageCompare.new(screenshot_path, base_screenshot_path, driver_options)] end def self.base_image_path_from(screenshot_path) diff --git a/lib/capybara/screenshot/diff/test_methods.rb b/lib/capybara/screenshot/diff/test_methods.rb index 2f3ccde0..729b68f9 100644 --- a/lib/capybara/screenshot/diff/test_methods.rb +++ b/lib/capybara/screenshot/diff/test_methods.rb @@ -72,7 +72,13 @@ def screenshot(name, skip_stack_frames: 0, **options) screenshot_full_name = build_full_name(name) job = build_screenshot_matches_job(screenshot_full_name, options) - return false unless job + unless job + if Screenshot::Diff.fail_if_new + raise_error("No existing screenshot found for #{screenshot_full_name}!\nTo stop seeing this error disable by Capybara::Screenshot::Diff.fail_if_new=false", caller(2)) + end + + return false + end job.prepend(caller[skip_stack_frames]) @@ -80,11 +86,7 @@ def screenshot(name, skip_stack_frames: 0, **options) schedule_match_job(job) else error_msg = assert_image_not_changed(*job) - if error_msg - error = ASSERTION.new(error_msg) - error.set_backtrace(caller(2)) - raise error - end + raise_error(error_msg, caller(2)) if error_msg end end @@ -105,6 +107,12 @@ def assert_image_not_changed(caller, name, comparison) private + def raise_error(error_msg, backtrace) + error = ASSERTION.new(error_msg) + error.set_backtrace(backtrace) + raise error + end + def build_screenshot_matches_job(screenshot_full_name, options) ScreenshotMatcher .new(screenshot_full_name, options) diff --git a/lib/capybara/screenshot/diff/vcs.rb b/lib/capybara/screenshot/diff/vcs.rb index f8bfa5f6..f8672724 100644 --- a/lib/capybara/screenshot/diff/vcs.rb +++ b/lib/capybara/screenshot/diff/vcs.rb @@ -24,7 +24,7 @@ def self.restore_git_revision(screenshot_path, checkout_path) end if $CHILD_STATUS != 0 - FileUtils.rm_f(checkout_path) + checkout_path.delete if checkout_path.exist? false else true diff --git a/sig/capybara/screenshot/diff/screenshot_matcher.rbs b/sig/capybara/screenshot/diff/screenshot_matcher.rbs index 1968ee9c..23c0bc10 100644 --- a/sig/capybara/screenshot/diff/screenshot_matcher.rbs +++ b/sig/capybara/screenshot/diff/screenshot_matcher.rbs @@ -9,6 +9,7 @@ module Capybara attr_reader base_screenshot_path: TestMethods::path_entity attr_reader driver_options: Drivers::BaseDriver::options_entity + attr_reader screenshot_format: String attr_reader screenshot_full_name: TestMethods::path_entity attr_reader screenshot_path: Pathname diff --git a/test/capybara/screenshot/diff/test_methods_test.rb b/test/capybara/screenshot/diff/test_methods_test.rb index 34f96786..70bf6475 100644 --- a/test/capybara/screenshot/diff/test_methods_test.rb +++ b/test/capybara/screenshot/diff/test_methods_test.rb @@ -9,6 +9,16 @@ class TestMethodsTest < ActionDispatch::IntegrationTest include TestMethods include TestMethodsStub + test "raise error on missing screenshot when fail_if_new is true" do + Vcs.stub(:checkout_vcs, false) do + Capybara::Screenshot::Diff.stub(:fail_if_new, true) do + assert_raises ::Minitest::Assertion, match: /No existing screenshot found for/ do + screenshot "not_existing_screenshot-name" + end + end + end + end + def test_assert_image_not_changed message = assert_image_not_changed("my_test.rb:42", "name", make_comparison(:a, :c)) value = (RUBY_VERSION >= "2.4") ? 187.4 : 188 @@ -77,7 +87,7 @@ def test_skip_area_and_stability_time_limit def test_creates_new_screenshot screenshot(:c) - assert (Capybara::Screenshot.screenshot_area_abs / "c.png").exist? + assert_predicate (Capybara::Screenshot.screenshot_area_abs / "c.png"), :exist? end def test_cleanup_base_image_for_no_change diff --git a/test/capybara/screenshot/diff_test.rb b/test/capybara/screenshot/diff_test.rb index 00e11e36..ab0917c4 100644 --- a/test/capybara/screenshot/diff_test.rb +++ b/test/capybara/screenshot/diff_test.rb @@ -80,19 +80,6 @@ def test_screenshot_with_stability_time_limit Capybara::Screenshot.stability_time_limit = nil end - def test_screenshot_with_color_threshold - a_img = ChunkyPNG::Image.from_blob(File.binread("#{TEST_IMAGES_DIR}/a.png")) - a_val = a_img[9, 14] - a_img[9, 14] = a_val + 0x010000 + 0x000100 + 0x000001 - rev_filename = "#{Rails.root}/#{screenshot_dir}/0_a.png" - FileUtils.mkdir_p(File.dirname(rev_filename)) - a_img.save(rev_filename) - - screenshot "a", color_distance_limit: 3 - ensure - File.delete(rev_filename) if File.exist?(rev_filename) - end - test "build_full_name" do assert_equal "a", build_full_name("a") screenshot_group "b" @@ -196,20 +183,23 @@ class ScreenshotFormatTest < ActionDispatch::IntegrationTest test "use default screenshot format" do skip "VIPS not present. Skipping VIPS driver tests." unless defined?(Vips) + set_test_images("a.webp", :a, :a) - Capybara::Screenshot.screenshot_format = "webp" - - screenshot "a", driver: :vips + Capybara::Screenshot.stub(:screenshot_format, "webp") do + screenshot "a", driver: :vips - assert_stored_screenshot("a.webp") + assert_stored_screenshot("a.webp") + end end test "override default screenshot format" do - Capybara::Screenshot.screenshot_format = "webp" + set_test_images("a.png", :a, :a) - screenshot "a", screenshot_format: "png" + Capybara::Screenshot.stub(:screenshot_format, "webp") do + screenshot "a", screenshot_format: "png" - assert_stored_screenshot("a.png") + assert_stored_screenshot("a.png") + end end end end diff --git a/test/integration/browser_screenshot_test.rb b/test/integration/browser_screenshot_test.rb index ab4600cd..0d4a8998 100644 --- a/test/integration/browser_screenshot_test.rb +++ b/test/integration/browser_screenshot_test.rb @@ -133,7 +133,8 @@ def test_screenshot_selected_element screenshot("index-cropped", skip_area: "#first-field", crop: "form") - assert @test_screenshots.last.last.different?, "second field should not be skipped" + assert_not_predicate @test_screenshots, :empty?, "differences have not been found when they should have been" + assert @test_screenshots.last.last.different?, "should provide comparison object in the error" end test "skip_area by css selectors" do diff --git a/test/support/stub_test_methods.rb b/test/support/stub_test_methods.rb index 7d34fdad..ffe065ea 100644 --- a/test/support/stub_test_methods.rb +++ b/test/support/stub_test_methods.rb @@ -27,10 +27,17 @@ def make_comparison(fixture_base_image, fixture_new_image, destination: nil, **o ImageCompare.new(destination, ScreenshotMatcher.base_image_path_from(destination), **options) end - def set_test_images(destination, original_base_image, original_new_image) - FileUtils.mkdir_p destination.dirname - FileUtils.cp TEST_IMAGES_DIR / "#{original_new_image}.png", destination - FileUtils.cp TEST_IMAGES_DIR / "#{original_base_image}.png", ScreenshotMatcher.base_image_path_from(destination) + def set_test_images(destination, original_base_image, original_new_image, ext: "png") + destination = Pathname.new(destination) unless destination.is_a?(Pathname) + destination = Capybara::Screenshot.screenshot_area_abs.join(destination) unless destination.absolute? + destination.dirname.mkpath unless destination.dirname.exist? + + ext = destination.extname[1..] if destination.extname.present? + FileUtils.cp(TEST_IMAGES_DIR / "#{original_new_image}.#{ext}", destination) + FileUtils.cp( + TEST_IMAGES_DIR / "#{original_base_image}.#{ext}", + ScreenshotMatcher.base_image_path_from(destination) + ) end ImageCompareStub = Struct.new( diff --git a/test/system_test_case.rb b/test/system_test_case.rb index 6b9e0f6b..4d83a0c9 100644 --- a/test/system_test_case.rb +++ b/test/system_test_case.rb @@ -71,8 +71,7 @@ def rollback_comparison_runtime_files((_, _, comparison)) def save_annotations_for_debug(comparison) debug_diffs_save_path = Pathname.new(Capybara.save_path) / "screenshots-diffs" / name - - FileUtils.mkdir_p(debug_diffs_save_path) + debug_diffs_save_path.mkpath unless debug_diffs_save_path.exist? if File.exist?(comparison.image_path) FileUtils.cp(comparison.image_path, debug_diffs_save_path) From 20c82b19f1b31fde2cfb4be245fcd32ffb93c1a0 Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Sun, 28 Jan 2024 16:30:44 +0100 Subject: [PATCH 234/312] Use the latest Ruby 3.3 in CI. --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 81504e2b..de0c4e04 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -121,7 +121,7 @@ jobs: continue-on-error: ${{ matrix.experimental }} strategy: matrix: - ruby-version: [ 3.3.0-rc1, 3.2, 3.1, jruby ] + ruby-version: [ 3.3, 3.2, 3.1, jruby ] gemfile: - rails61_gems.rb - rails70_gems.rb From 4cf8dcba0172f89c19131fd590f1ceb7efdc3d72 Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Sun, 28 Jan 2024 16:45:20 +0100 Subject: [PATCH 235/312] "OS" feels like a "higher level" path than "driver" --- lib/capybara/screenshot/diff.rb | 2 +- test/capybara/screenshot/diff_test.rb | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/capybara/screenshot/diff.rb b/lib/capybara/screenshot/diff.rb index afab4851..41c867d0 100644 --- a/lib/capybara/screenshot/diff.rb +++ b/lib/capybara/screenshot/diff.rb @@ -34,8 +34,8 @@ def active? def screenshot_area parts = [Screenshot.save_path] - parts << Capybara.current_driver.to_s if Screenshot.add_driver_path parts << Os.name if Screenshot.add_os_path + parts << Capybara.current_driver.to_s if Screenshot.add_driver_path File.join(*parts) end diff --git a/test/capybara/screenshot/diff_test.rb b/test/capybara/screenshot/diff_test.rb index ab0917c4..d42e27b9 100644 --- a/test/capybara/screenshot/diff_test.rb +++ b/test/capybara/screenshot/diff_test.rb @@ -48,13 +48,13 @@ def test_screenshot_section_is_prepended assert_nil @screenshot_group screenshot_section "a" assert_equal "a", @screenshot_section - assert_match %r{doc/screenshots/rack_test/(macos|linux)/a}, screenshot_dir + assert_match %r{doc/screenshots/(macos|linux)/rack_test/a}, screenshot_dir screenshot_group "b" assert_equal "b", @screenshot_group - assert_match %r{doc/screenshots/rack_test/(macos|linux)/a/b}, screenshot_dir + assert_match %r{doc/screenshots/(macos|linux)/rack_test/a/b}, screenshot_dir screenshot_group "c" assert_equal "c", @screenshot_group - assert_match %r{doc/screenshots/rack_test/(macos|linux)/a/c}, screenshot_dir + assert_match %r{doc/screenshots/(macos|linux)/rack_test/a/c}, screenshot_dir end test "screenshot" do @@ -68,7 +68,7 @@ def test_screenshot_with_alternate_save_path screenshot_section "a" screenshot_group "b" screenshot "a" - assert_match %r{foo/bar/rack_test/(macos|linux)/a/b}, screenshot_dir + assert_match %r{foo/bar/(macos|linux)/rack_test/a/b}, screenshot_dir ensure Capybara::Screenshot.save_path = default_path end From 7f8db365b59527e60d697aa1a4b642475faba832 Mon Sep 17 00:00:00 2001 From: Paul Keen <125715+pftg@users.noreply.github.com> Date: Mon, 29 Jan 2024 10:03:00 +0100 Subject: [PATCH 236/312] fix: avoid use minitest 5.21 until bug will be fixed --- gems.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gems.rb b/gems.rb index 04bff65d..0ab47647 100644 --- a/gems.rb +++ b/gems.rb @@ -13,7 +13,7 @@ gem "ruby-vips", require: false # Test -gem "minitest", require: false +gem "minitest", "~> 5.20.0", require: false gem "minitest-stub-const", require: false gem "simplecov", require: false From f98a8432aa0c23d4f78d592346c78de8639ce768 Mon Sep 17 00:00:00 2001 From: Paul Keen <125715+pftg@users.noreply.github.com> Date: Mon, 29 Jan 2024 10:10:17 +0100 Subject: [PATCH 237/312] tests: updates for firefox/macos screenshots --- .../firefox/macos/index-cropped.png | Bin 3838 -> 4079 bytes .../doc/screenshots/firefox/macos/index.png | Bin 31923 -> 19905 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/test/fixtures/app/doc/screenshots/firefox/macos/index-cropped.png b/test/fixtures/app/doc/screenshots/firefox/macos/index-cropped.png index 30ceb97d66409c4cffa30443f58e91ec4208b6b7..65026f01918758b4a036c11b0814ad021050334c 100644 GIT binary patch literal 4079 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 MbTK;RD95P(07h6`kpKVy delta 3832 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 OF+XE-y2|uI{Qm`B%(^cC literal 31923 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 Wo~)j}i32JrR63e^=sb1Hp#KAH_MZ>{ diff --git a/test/fixtures/app/doc/screenshots/firefox/macos/index-blur_active_element-enabled.png b/test/fixtures/app/doc/screenshots/firefox/macos/index-blur_active_element-enabled.png deleted file mode 100644 index 8d47f6348f7215de1628adeb483dc6cf293bef86..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32714 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 Wo~)j}i32JrR63e^=sb1Hp#KAH_MZ>{ diff --git a/test/fixtures/app/doc/screenshots/firefox/macos/index-hide_caret-enabled.png b/test/fixtures/app/doc/screenshots/firefox/macos/index-hide_caret-enabled.png deleted file mode 100644 index 8d47f6348f7215de1628adeb483dc6cf293bef86..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32714 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 PZzag#vptJ literal 0 HcmV?d00001 diff --git a/test/fixtures/app/doc/screenshots/linux/cuprite/index-blur_active_element-disabled.png b/test/fixtures/app/doc/screenshots/linux/cuprite/index-blur_active_element-disabled.png new file mode 100644 index 0000000000000000000000000000000000000000..510da9e10815fe4f753d277df6fae449c280776f GIT binary patch literal 29241 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 literal 0 HcmV?d00001 diff --git a/test/fixtures/app/doc/screenshots/linux/cuprite/index-blur_active_element-enabled.png b/test/fixtures/app/doc/screenshots/linux/cuprite/index-blur_active_element-enabled.png new file mode 100644 index 0000000000000000000000000000000000000000..ad9cf0db4b5ad4a86657d953e2c362e764218e0b GIT binary patch literal 29014 zcmZr&c|4SR`<@xYJY$_Pk;*bdQA3Oc+N6t$zzB489j4U!U4FUAroa7O2opM zH=3~wx1F)c4kt^D!rtxR+J#>*Pt|+qB$S7ZO2XY47fLvNOIS|_PJ;;vrOHsMM=RVm zm%eE1nog9#9sRS~_gP&=tL9od%in9tZZjZD$!?wz3gh0N{ogOm`@&X6{y2K%!GC}7 z*RS?+M1{bAIch)Q6Py?8d9#PU!<-1^{Lhyf$k4z){;c^hl%vV!K`HLPM{FNU2whhB z-{rQ??rBm3IrJ&d)$o5O0uQ^+l@PtQfzPS%xcm9Bo5rHXmxVmDXT+}Tq9_jO-8 z>Urq7=*EJSyJ}u5mBy-`h7Rn7jp~<|Y^N({?)NQ@R19Ps$@25Ps<0UEdUYdY`ox}@ zz<}Kqb@3gqdi(Bl^{lU!)cR~GxR!LdUhe3hHtwDIxzH!S=G}krQ;wD0O4^S!nYgCH z&jYdY0ehcomey^~H3yqH1y{_qY9IgV^Gegr(WdzI&$Ow6;?A3wf0`7SJaKWiwDr@x zR{ZvI|1&qE^DnnNdMTZnNxYdtlYf zlNG{lKip9;Dqz-lPDy=+14^r@oB7PYCIr2(F0Xz3eCcbon?3V%*V?{Gb=VG^IT*B9 zab?(u7e}*aF2r9gQ?w!h8j~Sp^SrncQqz>$81J5?2g)uFwhW)#td_Pq*VQ{RQYj(& zK;YMS9s_>JhSr8bfdpy?u0u zZi@XtUS$ch%~dUsAV6C}M_DIBbkbbH7lA#^O1Nc0eQd-h@>!?&jr)I)P!#PIzUoK! zm_DDi8e42obX&C6v8z5o1y!gwyx0tFWxE4^7m83K3qtxCI;fMI#tnqg^0_juz&IBU zrg*hHoKZA!Ovjm#CHz`^=Q4>XC>Rk08jQrrBZQ#qDh|hBiI&vRno5C@C=_tD>}S5H zYWL2?*fz8-^Gv4*{*Z4;FI$Ojbn>zNIVv}g4mEnFM8BKTw3Agiuv~)kXGk*J2>H@z zy=5^W5hen9C45A6*Y}1%3<+ReahuCp={{@8$Xd3_`L*_)gKcnQy?UfV+iuB(w$+Z< zZH;?jh$*uz%=O4=b0%tE*ZF7&)00eeAgMxW3AM8_^ka(J;r1k;sWV=hP$ciEb#2TE z2H@xkwWP!J*;>Kc@L3(}LCuLnE-^-2o=5Xa-8-M*BA;cJYF`>H`EV;OM@afvLh|8w ziS#
aC<#JeTgk!Vx3S{iGt$U+Qvhaf?ldhQB?cJdV%>kncBQ9DGY>wV!+ z64CfbE_dA~O0IjS`YPGl;R`}YfPVQTg|hb4%-w;ag%IMCzNfSv^Sv=e>c~6jg@p$% z-_9VhWP7LNBdJ@po3m$OsNQI{qvAR~AM1xA7P0+;{syJ}*+heEJ1DJHi^me4&+Wf# zsZNv7dI1B|mgr?yn%t_X6OI*JIPB2MHSio|Bxzk_ z2A9lNqzUBnPYSFxsnZZ$j%QE49`v-uTmyE|`0x^aA$#c#iU=CRjwVUvw(jcg*4^&K>n9A)EUGWPJVBiqYRl6^8n2{p84`SCJ|wgQA`of0)Z%$QTV&)(Lfn zTMAr#*EqYEgb-WsGa0S?+1oqsGv3|tHrJCii>Is2X^mv+Ek|K%0$@;{iDEmrK+i?( z6){{mwr(9w_iC_wmQq)1E|16BP-2T}`{JMHKD`}zK~XMtsTs}qgSlE#SEY!M&esvu zb`>N_y6AtCq3%qa`u_{(2#H?7l&^lUgfiaM5c2!bZt6Y$ewG->eG5|vd%mP^&-t4s zh3|QiAGZi4^aYzl;eBLlFr$l%8cc<>Wfu8NOiDy%UdL zr_U0F!k?UZPKc+WNJWF*WNkpym?#rPSjkY^F9*L<<_LsE5_K!kHvmolKR51BoM-}g zi79`q$$n3M!%=}2t6xG9+g1o+CP=BTu1{z~!)A3Jh0WI30K#+~^nO5+#+xqzk4NvZ z>#sU)N7gGNoysi!02d~42;Bw5N*b7p$bGyIVvY}%m_aBGs?hLIqN=@Sump~tU9-+N zEy27P^!O@RV~5n(;n}sF1tQlP&VBNieptj`EtOYKAoNI&%{C{i&y&nR#8Xtf{Re3GT4r!_(03YIf6tYj-aO>&P{|TpiLmVzJN7o zOvrN|An}}FbAWF8{AOS^KOSqchxdUb9EHCh1l|n|#ze5>o*F=+Bg~n70wiEbn9);v z!4rl6frsU1LS+0wTF#!=S&s7QmY;dhb6X}`W$hS*QmvK=h-+Y~dJ@~y*w)RSbN?Wl z+XzHsALDhEM77n*B(y;t`QddB0W7$jywwikdd*we+{~gUW$MBiKk{g^yE+r{b`+VE zHjwtvGN##}a;G5wuB zT#!yVDP$l0{=*?ND#ggFdpz48SB5SDLEkkfaY1tS5z3jlfR(A#KMT8NE2I(6`ipD}M`m^i4 z+3vUf6_*2=neNM(4MRH1WBtduz&$E|G1~ippXKT-W{A&80 ztOD$A-on!Kx}z$dHd;RSGYe(#m7Yk7jHqb{h*Pk8eZ`2AW(4Tm!0KO&bQb7L5G~lv zQAiaExuhlgH(a*~Zr4S4zYy@H<3O%bE2%NPh}b~I61%g{izjz~Q_4rGr7LIr)VN&n zSX{3$(^cthT0SR>tUNZmPyvXR9ABoGaDo0d5 ztNadrd7~E{o zJx+m`a?%DmJaQK#bQyk^&QYPPr@Dre0m*f9G~+s2w-~_j7CTrAb%N!fuCQ#&0FLU~ z=ZqpSBrm5;t8-6W1fl+Uk)0?98!sR$6=Wuc3pjvwnJ+)i1%_#3@pPRF9zolX2LQ;z|unX8C$mSu+Q5m z=FdE4dyl|e;td+|EY)4cs+!l@pLLOu&iAwv7`g8LNVXuV!CiJF&^Zm{P%i&Ka0x|GPRDJ z`XF6bC~~afh<}DGw&e;QOV*I|LLCDnkj0DhJ{!_p z(8$|PbrjPE)x}svC-*i2 zq|0GX^|2C+MwznPT9u>)o~QX4mNqMf+nc|`YyNWhqEqrLI!S0G2?cUGIkIMo07+l_BU4TKkyzuJo}Dp8M#$92LV0Q!?EYj4$QQorZNn0rUL zqaUU={CMAou-sw^O1Pd}zXdF~z5(Wkx(2vY?%$I1E#aWx59!zZws(SVD z4)Tk~0tqkq6q7i#>qx`qoG6aEL1AoY@IFBr(e_a>Ypse!TX0NVbb{W`a5Zs_VwCc7 z`qXexreNv)KXjMDCa57?4L@md<+f&G*W6+>%*`cHCnS?S!7D&d|&1e77$QQCHBdE&ZT)nA;Eo^4rq7K!HUWdgSvg z(X%u;*bX6d4=!~0#O#r^!BSAvQqT;hZN1?=$9Bo6f{4Gh6gn$}i6x;FN7 z;he8GjfEu0(RSc@6d%TZQe>yM9!)OZ=ViWOPig9O{#tnaip%wL7?Si$4j?R|hG;&R zinD-+j;$+2?(Jfnqn_lga0q!ESTFP(FbXsy+^3QnXxTdZWa47E`I7|b33J8}#zCez zZ?*GlH+sb3S}Ebhuz}@YWE)~w+;(r}m|jzB`Ot49cz55)^awmm%qJi4T72-;bQDyK zSYER$=|9I3lrF@yYKaBVojx#RLQ(2v=?5_tNGW(iS+Q!C=c5Da>*S+(AkK{qV^jf% z9B+iA$nbj(mEL{XC@OGFuFpLICCIa8kR(M#WEprzp8x8(c#AxPh#Pc$?W;VJLnhY1U{uW?(s!LXvG08mBI827rW z=UJ18wVEpZ{V}0>ZP}!{%{PRDFhIB5DUzFqLEpF#XW$E=jEU&b%4KQT#eMW>^zGkk zU^Jn&?U5L3&)s996%G#aK;d~2;RymIjcvL9L|gaX*lfpKZlYNP%~Y#493{ALWbEV1 zLh(*x0&A(=DPIiiO~e&Hq&epE!lC)7=1y#7iFEMGf++p{Q4Dj91+fV*tHo*j!g1lw zz*<8v<{lscm(h}<={3;KJJ_9F`Mv>vrY zjhH_5ZGU(9eIcJK0yPp?)b?50-dr)e!&HP}VTQ;ug0RTPts~i1Pdm7IpOx=`^Q!*< zSyPix5+_xUtToox@jRE0u6okj>D;b~#ma*uLz-ZfW1jGuj!29-+G_rOyUw7!#N#0p z$y(KxikZNi0!-nlz+wNWokF)RQ4G6ZomE+aU8cuBR|tHw>5*RY-tG4rWn9;h$#8D$ zwm5bCLDj22Z1bp~s=#{iz_iTXmJ1pdr<#NcW|`-RjOdMONI$@c%y&M#mtDJ|G}h!x zKl?)38?!g>I?CEQFT0IPCwyRd?W%HhJjDtQXTsRw-pFG%^yG3`xQsCU)^ozs8?$;B zY3DECo}!FZrQ>eSs0!09Pa>n80oQshr5~~&6A0+Jd3;JV_xCE!OL52(%}Lx%!G1@Sths!nRkcv6X;xJ1M;H9ZDNY*2*uTmELmKP0Flk~xczm7k zG}cwmogqlFqzw$C+Ia^g6Mpc)XaXbG2w}l3UlFY$gS|@|E*DSCO^?w5 zSzch#teRL5mD8$Bl5FmujWKP**0hB=iqTaScf{HYdg|oKwSlt0Erq&X5I3wX!F~Tx z%$JW@kMqf+>HVZZh(E(4P^630801vPC7J-KF-%76POHX3bIIu3mWr#_aE@96DnF0v ze#3($z!cUk0U@bkQi&bu^SG*rRf5s2>9*^+6iu=ASG77ns{40i4dqndmQYTjvn@;` zGb291ZVbuzkM6Y0jhqC*_P4QOSFFgjjIb zKEv4nCWJ!g=7C1A&ysN|+U=TVw1N6zPrN8v%T#mYWBvT+!s%q)rXzNrwXD2>-6iO1 zwkCt-xR|`*=p@w17Z?9^?=VUa5Ti*H1UJmeX??|?gQG@n{a!r<>k{%%s3T){4D@NT z6trocF-jQVq;acHc(tF-6Rn?>g~7$Hca3^hIi6FWf+Jy^6l$wRFU|$!0C0JYeKsYV z0`l-A5$=X7TIa=>+(~;DlVkXx7lu4S(o9vSXkL?#8%H3_wZk&c5=W^7R(OI=z{zLP zF+lGF?z*{eYhlW@Qt}+lb8q@U&dJ!Tt-?M)vig1N>x&Mke}p5{7n_r_Nkmmfv6+k} zB0(Brz7K0YYg`j$s%eQV6{^cyPB-F8!l?g%3o!Mn3Jn$l@O* z%}mP6OE-_Um*|#Qj1M~RC*-O9M)di~j;>qd>7K2}9W%U7sSgk9E{LK={&csL3$9y4 zswjqp2VIo7oE5|{$@Hvf*__L4>+q#yEyoRbJpH}>YD4B)h+Fx_;E#djTo1(ypuJkZ z;!kRTY4fodb!_a8#R_=S%|7GHjSuHVj_HTuj8R1E<%2WheHi7Gtq;z*-uvW8fKI4S zw?h8T=C2~xf5fN-PF|awE?@OvN9-IyF$qs?gi;SdGuT#>0!jRFO41(;lIR-@O}t#? zCARhFojp@)&DSSYYMcKb7=gS}l86!+OUD2yH%!I`4{r^b<)+)CEP2)0aQQndAz-j{Q4Dt_Hh-3ZVb;>J(#|_a+&GmK{#D9_Fz`Sq_}=j`lQn<9TFET}cY(KY zDD`J|CiLM#I%CBVCcp-1lh$@`wniAm*0*^dbNq4=zA0tK9YZK#k*Kx z;;N^`Zl!NIG*L|B$p1@pO%6k^cSwFXB%g!K0r0|6AieBogomQ)9xunWs`ldcf_WlL zL&0>(s>_-xk}l^?EiH<=c;c^kAvQs1jp^}cko>dvkHWs1PQV3W0xUTH^yx#+@Au3r%^)Qvlzlx$ zmEyue-vqDxPLgEqLC~y9>8Q5jGEuYlzQe_QyKwI22b+Whnan#7raJl(AndigaszkH zC9$nN->F3Y%KIXDCU=V8N(bpt4oDq`N!9_iB36 zLoX_V1xm5`829cYCupLJ8AirnNyE`LBt^efl&G)*s}_Z~QoGU#H)ImKA_f)po;qnIsxLg=m_a5j{>u`?ZiBNg;0Kx7TqN;5It=CHPaWS}sQ zWkO)c?U5z2_wV$HQ7lm#R#QXb43B|k_>I`OAGcLs{P5V(PpF!qE+~XiUzCHRN^AGJ z3YY393|35kN7hC}cmu*NN{BRRKa>`5(B&w8Ck;sj^|fh}Kj$v%&dNLHm|ko0{e z1)6NYzXYv!XxvdTugvjE3)k#KmIk-_YI89*6s0Hf1=NnrQJChHgHYN&{7!fraG+AU zdp2|SRyYyEd&a8Mxdr)FC-2ETTDNf71Qb}^>o-sS%ob#};hFrkk)Q&}9~X@`xYBJk z5p%{xdr?t-?nHvUZDW*l;L}&^km1?q%(3?iN|q=Rzyqaui`;EUkOOBh#Il&XzjG+B zcMtHjN=aM=q77}b(w@bHzUbp$nqOyku$It7U`@pOt+-I3LJpP%R3)Sp2PJ>3PyG&ZF^Fu?{&5jnMRRJio(@9C7`M7P(^j;gqU zQ7x-Km{^(Wi0(`%-10LHxaLbf49-z@GC83%)?<6Zo!A-48};S~@rdSJdsPhB35e+I zqn|zb&E6E0Qo(JLg>eg^NvOK#%Qv`rI|WF`3QU!g_(m=d2LvgH(XwkvX9M3{kxncY zAghR6JM5G(ll#r!T$eZ%T*JG0!6-t&GtSc>rvj_z+ubzH`X`IDef zsu6duLoZo<=rDyIbYZPTx0|h0`u+;2G#!wRQqsfAC!c6*QV~oS6ai(|Ysubu&L{#s zZi8~hqhGfDkd#8pd!zFO#$@eoF6e>M#vllhBmDYHC#YfNG*$cAUa zu}o1E6H!aUGL>{9zQc8JAaV)7xH{v@Y~;ft-cHJSB*`*ij8G#^vFrILI0xP2xq_VH zflMNE5s>74FX=MOux)XFGOZ?tCQ4ePZSn(!J-ii?f#w_7z`$!Q zCpxZO2~ptN6=0b;qZ6?=UvypiDk(*`<&Nv0n*X9U^jSQ%|3ifm9)YtWYb~yJIZwTx zJp_++XD*R-@~)XfDQ^?smES(4gienEptL6z4c|Ph-lmH@> z+#XF(W`q-KZTK@!XHCr;H&Je@S?&oogJjRwiVBqKX0zwZ$pl~*TrgiU5ER}~wd!Q` zyg6~x3L-q;u0r*{H zML=xM_*?kEOVYb3wL2(dK-47-!km$GH$Tok%7li64c0vJN+o{@>cn@QR~3R@+#WcC zYO}Gb<1~T=N0X4%j`M20QhfxC8-yKUQ9&2B{Bu_SCApG#VQ&gXUxK<>T*`vZU{nMP zoZS;1#+cWlzjJ?w~t&9FGC^=C7M2$p)%)}YV(`$cOVAQ!3?Q1OK zf`S7OG6|3^(fui9rko{6%<~~o(ixW9-C3pMydN(^GSqw*;~l!L5D=9^Yt7H3&8&#| z8jY4++m~}Wd2tu_8$nN7^^aA5{OZF1$K`g9^HV?R6h#%GttyAq3PSb0_u{2^AK$;P z6J_7ZCFUheKZV|L-?LTk8WYgj2P&(>9{DnXjR|sJ7Wy>j(ovXRDflqslnIKmCKs3- zNjaQ!Q{;?3gz-wJ3~SEYKO4CcH$o;kXn~Pqe@mh8L=tT+PaVbE_L#mecp~v?tF~Ls0W@C95C&v%z2g~A&BXCoKS>v>Xv8F@?v3D1G`qT7`S|nuWzR7+FVC&hqx(ht(-In9ETS zjhGX^H%#WK*(4o^y^|28J#|Ls+xb-8WY&A`#8XY4dLlUukG#uIjfua7laI6jr zmxq$P*5*Wo*GickbF*zk$$}{H(|#jRBK|<)rJKQ-v(-Es&4{(wsf$0boN zi6;IIpuGMu<-6f9Ce*6R0h~p~Z<_;jfy9sJ#Q_}}M8}@tfQEw8EUQTHw+qsFqQlWc zEm!jQ!g=$>*Y9F=&yq<)MrS@eX6Y8)d;4u&3oijjkvQt^0|5De2wrI6C?FMhEXAH5 zTzvvFK^7d9m!}&6P$_}O&M^M9WBL&+;E!E9}n}yhiD##=eb^W4jNv7p9kpjI@ExIvUWbB89 zCiX%bztxBPyP3DcPbgiGEuc3P6{NU-$z1xdt~DT1wCk$AAvUmH^QeQNP!>iS*saJ4 z_XZ?rXqZvKRpnah@ky7o71{Dv?SaBe`*5JoAZ4<(s>qJU_jE|rzs2MCzMfghE6n8J z2@5U9+RVlHOQ4A<7{SC3NEtFArKHtej_!&EJ5h}ESQ$oj-i9w<*aX7x9JqJF!=OOA zNWQKR6hn>fKVWGUX_Nl|5M*Mv?ZkY=GmwQJm9#e>k9u+%O~`Yo_oeYO5j=HImc?*% zd%cU{Q|%fW0D@%l@{4WasF)s&4Ly0EK*`6k$gI^?gU!PeW)VbV@-t%ai zltkLkH9Nx5@*m!(qq;6?0XUGA{G?8OxFzE>j59Ib>n03CW}zV|Uv*}&pp9nqFi+uU zuDW#Vv9V%JDo`8xNyDPnej1_sZ0L4{#|%I9cwplaSZ;+cqchQrAa>=oGbIvZCw|VraJB=cD*f3z0t}XC6nG9sRPG) za8SmsD;;aY2+s>W&mqeKV!T%z081Oq7;gvQlnrMrL~l8}y{1TBx_%+kG{iTFI)%Cf z2=%=TKQaBLvmoy}*xS=DqKyD4Ug-Jdowbp(#B8jKK8l?hH0rr1+cT_I_0{uk_fBfU zzc=&=#cky|U(K@Z@2e%np(6{EbPY5tI8To^>8J&QBwHMQHzh&b62^qr<{W-Gv}p4) z3U|uu$LV-k`{yXtv9S)VEKoE7o-5c~jAfezvSw0vO{47RRXx>2zUU8vgO5&rx=n*p zGW*+ng~#P{bi3!;XfFVZCgoi#QYdM>vIyF^B;?S>-3BCdZ#IlM^e+TC;4V0hPl=*f zdq|+Djn^WdZrhRSB?D3BDKdh-2Dvbj^&tL?S2t4BYq`8<$I^%FYeYn*H?UJNIwN}0 z*xqsaIE}xw;R+SNg_&wsUtGo{A;4MT+wvE^}8{Y?OgqhUzgp5}S=MG|Pd zq;(sJ02@&&;vi+7?r!z<_$jLu8_LxBmu84lQhnL0Y1e9fAU}Q&hzh%m_2S#?9i<>?g19{^owM4j%aAW2%A^b|Pw zo%F06JsOv2PU@`x|KgGuG3WaQl?-#owq;##+SwFx zS>UxZ9!o>zxDg}_~dmzsp3G=I>lvlqXMw&yN@C0_z|DXwVPSVz{>DrKESD~5V) zwgo==+t~(zfm#hX1{g!L!}wLjJV;Pns5ueB{(|ij%b2aLL}eneaITTKw&+|>aB`Fn z6I;*AN10nkI>LB*hctB}9hr#UoL8h55l2>T!~l#4io?oxvWZ_4rY6k@*tW%h&2BK^ zKn8MLZiS21B8tLed8>y;sK)j(sFP6kJ3F$Dq+uJ^34WuNx#F#ow*=X^u)$hiG~J;f zD&*2Hexm(6t~_PU zAg%vD8v?ygl|Vj^SBd|K-R5{gW4*ijFgT9h-l+LX$4viA>Jv|k=dVnI16^7SvhMc% zYeX#03w0>(`fT%cnt-sa(&G%2?yUX&fTh<4U>V)fbMfpXh7snE^>FkWNx9KGz8ILO zyFDQb2uBgYF^XCS&f4aciZla*1&nA>Wrc`Zx@+-Z&8(s{OX;KRbc`wJ{+Lrt&G`Ad zPQ$)d?p3M+TBR%MS~d=jrGOSUP_P4=3f?_p<(L1`eGko*RlC}W#fIuY7>9_XnG73v zf{1fN0zQ8?Z?B{c;Z}w#+R0in5cKE}n6KbM;Jz~@`-HXGvsuRQ-8BceeX!^o>?WoIzm-s9qa5+p3tUqX=_Gg}itLh=alQDJ|1N%}#O zI~?=f&?Vfxb_Ng)5Z?;%OaQ|iR9nnXvQrb7Z3pSDin}t{Cuv-Zv4i!f10;?$R{w`> z6|N1vppz2X>Ns&V$fD|uaPss%``JD8^ph>v8k8!4BO3yT`jlvEH*S3S{$@Qux?Cyp zg3UsJa9}ro;qTKgoO|2&$hFc5WwERIoL*0nSg*xhbp5<25aL-)CzL4Zp~SJlch<(c z9sPvE!qoQAxR{8Um4o0ERIrz^3Xb38-)g7NKC(fAU3={XFBo5^KxvY$ImRjPDd>ho zzyNmG3YILL_ecFr!a|HrRVsC&eI^-o@3#)~>ua+J)Hup?CSAgnO~myQQ3dBhT2K$vQ{l=K7; ze_nsl2Z?*yc*LRIpL`MwV70muaL#B0a`9CXgu>6ASd&^v8r$~4?ge`zXEYnfY+Nh{-pxg&7WTu+WM1)lFEmX_v8h;AC|>q z;V5DGx9=17(+$x3Q(o#UV-rxSewRSkwxT^(d9|=COpE8YvMsXY197<;S zffiFkp}O25{3*pdF+q+6h$I0}2WuKUN;NPpb>qC%)ma2c$tfZ;%s=GAUyOvgE8NNp z)?3DAgX1Zd8g?_@`0pua*kev`m^4;|(Hl$epv1rbcx)_N5Z#H=Iv=&8?$MC5Rb@Qo z4DSbrx5-1UBrXOu8?iP?b?CB(94+4UBih6K=cR?FI$P}g=#*zY z8cKU(-;R5nwuJ!;7k|Iqw_XXeY*g(C8@X@jQj>ox5tR*sDGH+HZA45x# zGW9=*5GoZC!q9C`LKz_1P!T$`<704?ZL!H>_-w6@pR`|*9UOFybl%82Ro|HhoP>jJ zs)=HGo#@5$T1ZAzkW8hXb#y?Op6X>jmU9aa&IU}swB4ZUM8DybF9G^fgB##pvj6r% zgJj~b@5SsV?ZWW zu|vTHe>2dU04c&*=2`ncFZ{3;cB7~I?F+ABZ|LTZG#-!ure(z5vX)b>rUv2fRO6)pw<=KxH zg+T{jgNr@xwmIU~-gjn&% z*qHXMKCw3S(vF{(HzTHzPo*#6NWWJ{-w1ur)s(BRe|9b7fAV1`2S&A)$~Ed^XMDOT zk&j_b-k;7T3!im)?lqd>Tl$jC^UD}_$5?euC`VJYOlFFB$oibm3GfixqoK3x4+at$ zcTZnR^_qI|X~cA^di{O%Lkm;2eJq)1iRY#oTztEg!O2m@^efqOULW+IM{Ar;KmHX> z%nV)~FKHw3JVJ>3VGBLq?n{37=-l%GD?tO0Yi&A+Z?ki&6NRHQYpu}ok$YDJ zaZwE0e*md{7w4q|p-)SDoG-60&-vqQesE)r1>+GJtGWW3$~Q&T4uLy({Sj!_1xGV;*e*S&@VGr zdwW>%4&o~rhQ;fYBnWeQV`yi!;R(6tdS?RX8Wt|h4{R>JoO(U&1{u$!1;0P|vROGa za4y!)SYm6rv7;s>AVhv+O!gRlku`$9XFbBsOHVBP-{X0b*%lOq>d`lA%KnKtmYLc&>M% zu)6B?E9gU$e{9@H6u57O16^wv;wxG4!m3s00=f-&+x`~d$%2*`ZV!# zAKR;0v2pl`-pxHK@&ifh4--wDt*}*_KMQkDJ~;O6#L%CcbBz)MU&fVMRi*4=l23eF zeBFF7xqDxwyNnn0T`fYQud3bBWf1(2@!E8S8$Yj&Q8La!L)t7eedca!U*d~TwnyzQ zB_l^2vx0mwvs?8R-2%Vv@$Vna3emE=m+ZZgeuB%huUU+pQht9YE^lV@o5Y&LKl0`P z=ydwgN0t5M$v}7d2Kf5v56rvHUj-`rMNVF9vD=vNuRqMrf^j7TlgjV?TA-V&h}AG4 zvFe=itegG!>afpSSy^ZQ7qH(k+nx)rRdZt4WzO}1H=ud%{(sBX4?*y{g7X2Km$3Gb zROk(f|5@dg(1g%tcw^y?l+;k@g-hzex&QqeV>|G@*r1)-mf5+X(1$X&{(h7WK!lis zo8#bIm9dA6XC+?w-+OZXuwqf7*3ZXgk5<5_di5SGSzWKEPG1jN{Orhb-#DHq{pcB( zxby+mV}+`%jhWo-^}W|}&a>t4c;V*v!uBhLue&yh-v;>%gv z5|uXB-9#?@=*)k%B>Pg>X?|?KHA2kGyaz;x3hmu(69ZeDOP8NF2&b{#Mo&Q)=YzI3 zmduJJ3adA--!C>pMK_B1_T9Q`dwsm*&F(Ap1}pxNVm^j;%gmkEM$_A7rz>VgSQRff zY~cwz?E)3IOP0mdiOSRr$hBI|ox`)h*7Z9*-8@ z`C6Uxww!L8{|g&8CmprdJ}b*Gj)oR(fM7uo^B=x-x!3ijNnNCX8A8;ZxTX@$#b?wg z9^g`t;!;%0b$PP;`M6c}s^w;8D+uWidMD-`w(;|2zt7owsvZsn%1=SGA75W!WjTv| zL6vN>B{mrwYEzh+JgWKB;9S>Pw{Q5`;kSvo`Jq4hk3ea}YeUg8IZ3C^9N5Nv|Fcs! zeP2h-5@dxEwAa}J{vpXAOa@lc5c#K0LQ_AeeRn=mz1Pnp5L}n*1BLBiy}whn^m^tS zYrya8O+C&_4MJANC2Cju%Ibp`woB)=-qCbVQ>|7o#}#G}qh3u3xRn_SlZG6BE0Z<( zX@K-)Ok-YxqedC3qpT?Ko8uAWW# z9NauL19HH#eT)AI{lN_^!GNPFcx@`#2MmqJHe>4xg#%j~16vt&O`obae_kFr{o}jW zA|EzueOM;fIXuL>8ssetjzO{_>#=JHt=X`?U0E3rQk26{FbWkqwl-(BM$R+pOkP~b z&G32W+JWo8n0#)2!WK%)H&{9kl0;Vt-K9}9F;7npiO-V!Z+nr%lumghVd1(~nm5GV;T=*$nuL{M(|2W2Q#o`Jq=DlPBsQEJM96Yk%k?ttijAU)lsuHV;&OMR z*4<-qqNxR7RImFNnmP_Z+I?Xvt{YDoPpUG35_GPwk`X`~=lcl-fu5g3SFLsZmJpnrB z_Mg(|*1o&Ehn-p-op$xrTZo|H->^Mn5vI1A$geS5qp_ZoETrop59XMLSBx_=9V}*B zuYy4`H?p#CU3LSkg4H=7=2g57m_*dQbjmVVB0OF+I;RkKbh@mh->3Hx$VFupUG|H6 zl_4$GGrzJGb2*xRkZNueP!GFw7x|zZ>_qUw(1+EdQ3Hy1T%z~gH8c?O-r<&eo!~O5 zl(k|keyX8zH$A99G;t<)sY1G1ym-})nD^9KlX9k#jesC1BpcQ?qa+rfW#tA0Ln`xbXJ+B55f@nkUA?JO{D(g3W|QG@6G z(~dWQ%jD6^P;)M3stZ!TFCdS54;Nkmb`1}=S$J=b}s1T>?E41k3Uqt)SObE zRN+T3j*DJ}r+|;Uf>>w@;l(aAMZ2r~H{BGB?BlplaqB~|3ayx!a&F-ysPz7Y?Be6! z>{q@evl7cwbBRK<#wUeU_hd1~dX8Uo1{$AoB@_mJlfC@l=8<=Gk^UYM{kcn# zq0r$C4{=TI{}kYq3XuAgPq<#0kpe%yV{Poh_5J^m)&KXYA79+SLza4X{q+0Kve{n+ zDraC#eZ*ouP89eFAHM&+B6ssEkk)jytVh63gP#u~LH#eEB20jj1R(9eZ_=9bUdnfnR!z6oc)T#J+$qUEkjzW1N!k z7k5%T|7Q4T^1$_pXA4afFQ2be9{Cgsq#UGF9ak%+?#^(x^6?nNi}%~!J?HbeUhJK} zsNZ1NHa2J6T=aXfJQT|!gwA%PPFcj8tiAZ(6NSQNWW$0v6FB%)v98q{i{n!-2d+x2 zKhDj(SGABaQ!>DkRk-fG2)4qTqQuoN2RGVJD7YdLz?!2Hw7HNqvxM74Ts8R?^Y@}8 z@qiyaVSZ3`{9$6w{p%o-w{H{tPR9ji+BOTL3!xU>j{V&#hw?M5AmcC0IGjI9{Esnm z@1NbdAAI%t&&}0|T!wC>G^z21c)aGKwRq->_wp5cyR>I27kZv(txXnRUh4NX12O1a z57<_8fIKd96NDknkgc?Vb!jUrFx}GDn^BL!X@zu%?_9%98TBRJjWYpLFaGLBMDPvf z`F^u&t}pwKY_|QI!jQ(N|r`S%Jh|Jf=#qsFWt>0h9uj9kMZNp9=GAvE$K8DLAzY_0emQN6b*RHH;l-&+xB)zRnUr^mgHuVb6V z+**!fZ8z;ldJ=HD?av#<(;^Sg^|L}Y7Z!b+_xX=8A_Y6Ss@8rMhV*YvZ}XC@IWYlP zlMX`crlhY=TjQ1dx)pby1uA%Ev;@o^d4-N&C6Gs9knnfd+|!} zr@mkOWkR~dh+Kb~P4TUfe$h>q%8At+hN|nEOVwuUJe%8`q6E}lM&k?1hGInFB3g$% zhUzQbBOa&ZnHu_mJAWQCH3|lg+}3obm7QzIG0V`OUt`EY98I85lN6~i$3cZmRDl6E zHL#=->SadCg(($t1DzS5==35Ul+@uO`G+)KaWoMZAHQCx`d^2&!+bDE9*ouY{#t=} zu%(e<@vwtH{%-4stGcR<*$W`I+w`8ShS+6!`jI)ciRa)QZ*5feG{bKs2C=X`7E`N<@Epf0Hz`j`q z0Uh!A5k&YAli&`f!q1KTApLw$3M<*@583z>^6lsOrmkjK(@m8xDW5hP6oNl&ZV+LH zYmFARKlrf5*S2fQT0vLvz<-u`<^L};tO?W|Ftu25-dqQueOvX@b`Vt8y;H{HPgYu% z!((hxW72kNf!e|I=*6M~1u5PiPa3??-f9e4ZwwTAwrqb1I{fVa+Pl)ICay4=31JH@ zL?GgZ3D$xF)l}+26*F}y&;yDhP$QdyRH7^eEL(tyS}9s32o*R8gdV7P5GXYkq%6U@ zp{Y=yRVxyzMnnom7DFgYzoD5x`@6q-<|i+2-h6rQd-uEdzL`+n^%2-1zKa)JKe!k; z-fxHebWeuC{j+_eTzQdAy6vzkKiyOR?8kgz%$|5)18;Ain4vB74r`d>O{wu6r90G7 zHNGL)cOFMwY8bHF`)4O2%C!=a;92+mdBay~8dIlu4g zaa`Lp6ukJL;;L%-g z!NKZOH@?@FF5Eis1V?sq`D_zG>T3pNXf=P~KOPPQTt8~Eaov>z-EwJ1iq52b=2TyL z(P$Xn-+mv?_oNc)WJD0pjJtzKv;@O>Xo8`-p6Y-XH_DB4A|zohi2RTvPkiVyH}C-* zEE}~?`hBw!JcNdmg|@ApQc7FqEvBXjgYN**wu?rE)Cq`jxTX2B_LFcSqAS9!K9DPd zc0d1QwPK*(BC#Iku6RNvZ~XYrHRF@`1WdJ5IhSfIh-m*nDe@G`Q2tP&gMRe^O778| zaDFY+{@(9Ki-^L;@f50-VuGPOx!dMcV|QGChmQkPy5Uw`0;s^Yg%Ncb2KsgtHT!ts zR}^hEpFU~((S&>MULv>>(OwEDuP(rIgBEOviyS+jGIk!4$)d#av-?(WE?i?TPe1k* z3pifg0N4rnU|y6-z@aU1dVT+`t-9Z=$Lc_9!7{ssg1C&&GqZMc*}hR79Ns>)jN<|P z1yzjaYa;EiR~FD1DBxUA3^=bPJ^@Lq%W=JY+pbb}7f&c&(5cn91#-44N%d$N;wVko zE!-)AF%z#z{wfgi`;${(%PCZ}ER$sA(X<|@PPQp3#mW@N6crfUj$x9YKkT&&P=ADP z@@1)1p}&F<*%2i*WNj38&Be2T<}K<{V2? zWCv{Qm$YxY@_0^w$Emp95;z1J>rypjmzfF}$WyR@f08#2-Cge(+?n{YzJJ65wpC1v zlS-m~$=J#y7SSv|6IaO;`n`S=XN6(7+mNO~s|VIZJ&}YHtKtmMddvGdxs^ z6mz3dc#dKB1k{s5p4?a0%+kcG5{92kKw2q^cwkA~mOE35uFf$@W^I;?9>N_6nAA_e zm(Gjh#2f^vs1A#z?2c-F+svr{+F(_Bl0Deq?yo!xnK}DmP3$w(I>c`5t~X-is+yP3 zThb0?E9*u&tFSag$&QOWY-?+^p#g;5GY@H>kR}?4jJ|4UQ;cJ)ySo=Me>H#C*z4-X ze6EU1mo0~J&z*@`uVF_XnbO3ah?Vb`^Bt`7Qzq4pafbjCfGBOdUEyZmsJv=4)JKSf zUbDi{Ed?g4M3ljjl}XDZPF}GFKyrhUE=ZR9Aw^-Yd#+mq$mBq-l0qL}OY3K3afjiS zUjwt9+vMv1myIDvQj z!!XF?Vy5@UR&#dhnWA@{RGnKs56aztw%Mm?$rsA!#%!5-TF`iXTVp!6F95V_RpLfF z4jaBGc7HrWlhnIbaKw~VD|4=UeT(~Y@q1%CQ|Vx6G7Dl%c55OF*#ijj@L0Im8_{to z|D@}Q_uud%e1Myerwba(c~Z*GkzQ4|27LlCYDyInjNR;OG0zEt{qFc-FY!}<;w3Q1 zR-1>L^Dp5a^!5Hqq_Hs=$27h7c`Fu-uH}r#QOhZd-*?y&a2o9mEGPKx8g2jS82%j+ z9}~pg&(>qhbCT2-Och@Z3xUb z5|g)!C>k(D|5{0M+Q?}mvyIpvx99PGl`qFY20xvZ`Ut-8$qZkFD(hTb8>)4fd`rQBi3!2%CNR%3rK{Ft_ z`0Fkb-BXNMYc62083yavNUaN8tm#roHNMq1m|#YX$uOWT5>fn?;^R+u5&9tdPY=h} z&)k+qHFm*PoS6;*?;nX)r(-&0$m}3D%YTd=^InbH We^wbgbOaEX;<|O)mWoY*NB#oQYm!y~ literal 0 HcmV?d00001 diff --git a/test/fixtures/app/doc/screenshots/linux/cuprite/index-cropped.png b/test/fixtures/app/doc/screenshots/linux/cuprite/index-cropped.png new file mode 100644 index 0000000000000000000000000000000000000000..880faafced253ce335970b6fa10c83831add5644 GIT binary patch literal 3430 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 literal 0 HcmV?d00001 diff --git a/test/fixtures/app/doc/screenshots/linux/cuprite/index-hide_caret-enabled.png b/test/fixtures/app/doc/screenshots/linux/cuprite/index-hide_caret-enabled.png new file mode 100644 index 0000000000000000000000000000000000000000..ad9cf0db4b5ad4a86657d953e2c362e764218e0b GIT binary patch literal 29014 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 We^wbgbOaEX;<|O)mWoY*NB#oQYm!y~ literal 0 HcmV?d00001 diff --git a/test/fixtures/app/doc/screenshots/chrome/linux/index-vips.webp b/test/fixtures/app/doc/screenshots/linux/cuprite/index-vips.webp similarity index 100% rename from test/fixtures/app/doc/screenshots/chrome/linux/index-vips.webp rename to test/fixtures/app/doc/screenshots/linux/cuprite/index-vips.webp diff --git a/test/fixtures/app/doc/screenshots/linux/cuprite/index.png b/test/fixtures/app/doc/screenshots/linux/cuprite/index.png new file mode 100644 index 0000000000000000000000000000000000000000..6a97dd88a7f3a91d158031eadd9f348103a6dffe GIT binary patch literal 27983 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 literal 0 HcmV?d00001 diff --git a/test/fixtures/app/doc/screenshots/chrome/linux/index_with_skip_area_as_array_of_css.png b/test/fixtures/app/doc/screenshots/linux/cuprite/index_with_skip_area_as_array_of_css.png similarity index 100% rename from test/fixtures/app/doc/screenshots/chrome/linux/index_with_skip_area_as_array_of_css.png rename to test/fixtures/app/doc/screenshots/linux/cuprite/index_with_skip_area_as_array_of_css.png diff --git a/test/fixtures/app/doc/screenshots/chrome/linux/index_with_skip_area_as_array_of_css_and_p.png b/test/fixtures/app/doc/screenshots/linux/cuprite/index_with_skip_area_as_array_of_css_and_p.png similarity index 100% rename from test/fixtures/app/doc/screenshots/chrome/linux/index_with_skip_area_as_array_of_css_and_p.png rename to test/fixtures/app/doc/screenshots/linux/cuprite/index_with_skip_area_as_array_of_css_and_p.png diff --git a/test/fixtures/app/doc/screenshots/linux/selenium_chrome_headless/cropped_screenshot.png b/test/fixtures/app/doc/screenshots/linux/selenium_chrome_headless/cropped_screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..e8644606c2e7a541424344457a913ede0ec43b98 GIT binary patch literal 2685 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 PZzag#vptJ literal 0 HcmV?d00001 diff --git a/test/fixtures/app/doc/screenshots/linux/selenium_chrome_headless/index-blur_active_element-disabled.png b/test/fixtures/app/doc/screenshots/linux/selenium_chrome_headless/index-blur_active_element-disabled.png new file mode 100644 index 0000000000000000000000000000000000000000..a5b651a8657c32a9cfdd6aa6cf20f6ad87bbedb0 GIT binary patch literal 29308 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�cMZd69xlzeDwg_*mO1=*sHCjF0y==J>87K$i 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 SP9i8YBzqgDZMj=~qW%psI0wK0 literal 0 HcmV?d00001 diff --git a/test/fixtures/app/doc/screenshots/linux/selenium_chrome_headless/index-blur_active_element-enabled.png b/test/fixtures/app/doc/screenshots/linux/selenium_chrome_headless/index-blur_active_element-enabled.png new file mode 100644 index 0000000000000000000000000000000000000000..ad9cf0db4b5ad4a86657d953e2c362e764218e0b GIT binary patch literal 29014 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 We^wbgbOaEX;<|O)mWoY*NB#oQYm!y~ literal 0 HcmV?d00001 diff --git a/test/fixtures/app/doc/screenshots/linux/selenium_chrome_headless/index-cropped.png b/test/fixtures/app/doc/screenshots/linux/selenium_chrome_headless/index-cropped.png new file mode 100644 index 0000000000000000000000000000000000000000..880faafced253ce335970b6fa10c83831add5644 GIT binary patch literal 3430 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 literal 0 HcmV?d00001 diff --git a/test/fixtures/app/doc/screenshots/linux/selenium_chrome_headless/index-hide_caret-enabled.png b/test/fixtures/app/doc/screenshots/linux/selenium_chrome_headless/index-hide_caret-enabled.png new file mode 100644 index 0000000000000000000000000000000000000000..ad9cf0db4b5ad4a86657d953e2c362e764218e0b GIT binary patch literal 29014 zcmZr&c|4SR`<@xYJY$_Pk;*bdQA3Oc+N6t$zzB489j4U!U4FUAroa7O2opM zH=3~wx1F)c4kt^D!rtxR+J#>*Pt|+qB$S7ZO2XY47fLvNOIS|_PJ;;vrOHsMM=RVm zm%eE1nog9#9sRS~_gP&=tL9od%in9tZZjZD$!?wz3gh0N{ogOm`@&X6{y2K%!GC}7 z*RS?+M1{bAIch)Q6Py?8d9#PU!<-1^{Lhyf$k4z){;c^hl%vV!K`HLPM{FNU2whhB z-{rQ??rBm3IrJ&d)$o5O0uQ^+l@PtQfzPS%xcm9Bo5rHXmxVmDXT+}Tq9_jO-8 z>Urq7=*EJSyJ}u5mBy-`h7Rn7jp~<|Y^N({?)NQ@R19Ps$@25Ps<0UEdUYdY`ox}@ zz<}Kqb@3gqdi(Bl^{lU!)cR~GxR!LdUhe3hHtwDIxzH!S=G}krQ;wD0O4^S!nYgCH z&jYdY0ehcomey^~H3yqH1y{_qY9IgV^Gegr(WdzI&$Ow6;?A3wf0`7SJaKWiwDr@x zR{ZvI|1&qE^DnnNdMTZnNxYdtlYf zlNG{lKip9;Dqz-lPDy=+14^r@oB7PYCIr2(F0Xz3eCcbon?3V%*V?{Gb=VG^IT*B9 zab?(u7e}*aF2r9gQ?w!h8j~Sp^SrncQqz>$81J5?2g)uFwhW)#td_Pq*VQ{RQYj(& zK;YMS9s_>JhSr8bfdpy?u0u zZi@XtUS$ch%~dUsAV6C}M_DIBbkbbH7lA#^O1Nc0eQd-h@>!?&jr)I)P!#PIzUoK! zm_DDi8e42obX&C6v8z5o1y!gwyx0tFWxE4^7m83K3qtxCI;fMI#tnqg^0_juz&IBU zrg*hHoKZA!Ovjm#CHz`^=Q4>XC>Rk08jQrrBZQ#qDh|hBiI&vRno5C@C=_tD>}S5H zYWL2?*fz8-^Gv4*{*Z4;FI$Ojbn>zNIVv}g4mEnFM8BKTw3Agiuv~)kXGk*J2>H@z zy=5^W5hen9C45A6*Y}1%3<+ReahuCp={{@8$Xd3_`L*_)gKcnQy?UfV+iuB(w$+Z< zZH;?jh$*uz%=O4=b0%tE*ZF7&)00eeAgMxW3AM8_^ka(J;r1k;sWV=hP$ciEb#2TE z2H@xkwWP!J*;>Kc@L3(}LCuLnE-^-2o=5Xa-8-M*BA;cJYF`>H`EV;OM@afvLh|8w ziS#aC<#JeTgk!Vx3S{iGt$U+Qvhaf?ldhQB?cJdV%>kncBQ9DGY>wV!+ z64CfbE_dA~O0IjS`YPGl;R`}YfPVQTg|hb4%-w;ag%IMCzNfSv^Sv=e>c~6jg@p$% z-_9VhWP7LNBdJ@po3m$OsNQI{qvAR~AM1xA7P0+;{syJ}*+heEJ1DJHi^me4&+Wf# zsZNv7dI1B|mgr?yn%t_X6OI*JIPB2MHSio|Bxzk_ z2A9lNqzUBnPYSFxsnZZ$j%QE49`v-uTmyE|`0x^aA$#c#iU=CRjwVUvw(jcg*4^&K>n9A)EUGWPJVBiqYRl6^8n2{p84`SCJ|wgQA`of0)Z%$QTV&)(Lfn zTMAr#*EqYEgb-WsGa0S?+1oqsGv3|tHrJCii>Is2X^mv+Ek|K%0$@;{iDEmrK+i?( z6){{mwr(9w_iC_wmQq)1E|16BP-2T}`{JMHKD`}zK~XMtsTs}qgSlE#SEY!M&esvu zb`>N_y6AtCq3%qa`u_{(2#H?7l&^lUgfiaM5c2!bZt6Y$ewG->eG5|vd%mP^&-t4s zh3|QiAGZi4^aYzl;eBLlFr$l%8cc<>Wfu8NOiDy%UdL zr_U0F!k?UZPKc+WNJWF*WNkpym?#rPSjkY^F9*L<<_LsE5_K!kHvmolKR51BoM-}g zi79`q$$n3M!%=}2t6xG9+g1o+CP=BTu1{z~!)A3Jh0WI30K#+~^nO5+#+xqzk4NvZ z>#sU)N7gGNoysi!02d~42;Bw5N*b7p$bGyIVvY}%m_aBGs?hLIqN=@Sump~tU9-+N zEy27P^!O@RV~5n(;n}sF1tQlP&VBNieptj`EtOYKAoNI&%{C{i&y&nR#8Xtf{Re3GT4r!_(03YIf6tYj-aO>&P{|TpiLmVzJN7o zOvrN|An}}FbAWF8{AOS^KOSqchxdUb9EHCh1l|n|#ze5>o*F=+Bg~n70wiEbn9);v z!4rl6frsU1LS+0wTF#!=S&s7QmY;dhb6X}`W$hS*QmvK=h-+Y~dJ@~y*w)RSbN?Wl z+XzHsALDhEM77n*B(y;t`QddB0W7$jywwikdd*we+{~gUW$MBiKk{g^yE+r{b`+VE zHjwtvGN##}a;G5wuB zT#!yVDP$l0{=*?ND#ggFdpz48SB5SDLEkkfaY1tS5z3jlfR(A#KMT8NE2I(6`ipD}M`m^i4 z+3vUf6_*2=neNM(4MRH1WBtduz&$E|G1~ippXKT-W{A&80 ztOD$A-on!Kx}z$dHd;RSGYe(#m7Yk7jHqb{h*Pk8eZ`2AW(4Tm!0KO&bQb7L5G~lv zQAiaExuhlgH(a*~Zr4S4zYy@H<3O%bE2%NPh}b~I61%g{izjz~Q_4rGr7LIr)VN&n zSX{3$(^cthT0SR>tUNZmPyvXR9ABoGaDo0d5 ztNadrd7~E{o zJx+m`a?%DmJaQK#bQyk^&QYPPr@Dre0m*f9G~+s2w-~_j7CTrAb%N!fuCQ#&0FLU~ z=ZqpSBrm5;t8-6W1fl+Uk)0?98!sR$6=Wuc3pjvwnJ+)i1%_#3@pPRF9zolX2LQ;z|unX8C$mSu+Q5m z=FdE4dyl|e;td+|EY)4cs+!l@pLLOu&iAwv7`g8LNVXuV!CiJF&^Zm{P%i&Ka0x|GPRDJ z`XF6bC~~afh<}DGw&e;QOV*I|LLCDnkj0DhJ{!_p z(8$|PbrjPE)x}svC-*i2 zq|0GX^|2C+MwznPT9u>)o~QX4mNqMf+nc|`YyNWhqEqrLI!S0G2?cUGIkIMo07+l_BU4TKkyzuJo}Dp8M#$92LV0Q!?EYj4$QQorZNn0rUL zqaUU={CMAou-sw^O1Pd}zXdF~z5(Wkx(2vY?%$I1E#aWx59!zZws(SVD z4)Tk~0tqkq6q7i#>qx`qoG6aEL1AoY@IFBr(e_a>Ypse!TX0NVbb{W`a5Zs_VwCc7 z`qXexreNv)KXjMDCa57?4L@md<+f&G*W6+>%*`cHCnS?S!7D&d|&1e77$QQCHBdE&ZT)nA;Eo^4rq7K!HUWdgSvg z(X%u;*bX6d4=!~0#O#r^!BSAvQqT;hZN1?=$9Bo6f{4Gh6gn$}i6x;FN7 z;he8GjfEu0(RSc@6d%TZQe>yM9!)OZ=ViWOPig9O{#tnaip%wL7?Si$4j?R|hG;&R zinD-+j;$+2?(Jfnqn_lga0q!ESTFP(FbXsy+^3QnXxTdZWa47E`I7|b33J8}#zCez zZ?*GlH+sb3S}Ebhuz}@YWE)~w+;(r}m|jzB`Ot49cz55)^awmm%qJi4T72-;bQDyK zSYER$=|9I3lrF@yYKaBVojx#RLQ(2v=?5_tNGW(iS+Q!C=c5Da>*S+(AkK{qV^jf% z9B+iA$nbj(mEL{XC@OGFuFpLICCIa8kR(M#WEprzp8x8(c#AxPh#Pc$?W;VJLnhY1U{uW?(s!LXvG08mBI827rW z=UJ18wVEpZ{V}0>ZP}!{%{PRDFhIB5DUzFqLEpF#XW$E=jEU&b%4KQT#eMW>^zGkk zU^Jn&?U5L3&)s996%G#aK;d~2;RymIjcvL9L|gaX*lfpKZlYNP%~Y#493{ALWbEV1 zLh(*x0&A(=DPIiiO~e&Hq&epE!lC)7=1y#7iFEMGf++p{Q4Dj91+fV*tHo*j!g1lw zz*<8v<{lscm(h}<={3;KJJ_9F`Mv>vrY zjhH_5ZGU(9eIcJK0yPp?)b?50-dr)e!&HP}VTQ;ug0RTPts~i1Pdm7IpOx=`^Q!*< zSyPix5+_xUtToox@jRE0u6okj>D;b~#ma*uLz-ZfW1jGuj!29-+G_rOyUw7!#N#0p z$y(KxikZNi0!-nlz+wNWokF)RQ4G6ZomE+aU8cuBR|tHw>5*RY-tG4rWn9;h$#8D$ zwm5bCLDj22Z1bp~s=#{iz_iTXmJ1pdr<#NcW|`-RjOdMONI$@c%y&M#mtDJ|G}h!x zKl?)38?!g>I?CEQFT0IPCwyRd?W%HhJjDtQXTsRw-pFG%^yG3`xQsCU)^ozs8?$;B zY3DECo}!FZrQ>eSs0!09Pa>n80oQshr5~~&6A0+Jd3;JV_xCE!OL52(%}Lx%!G1@Sths!nRkcv6X;xJ1M;H9ZDNY*2*uTmELmKP0Flk~xczm7k zG}cwmogqlFqzw$C+Ia^g6Mpc)XaXbG2w}l3UlFY$gS|@|E*DSCO^?w5 zSzch#teRL5mD8$Bl5FmujWKP**0hB=iqTaScf{HYdg|oKwSlt0Erq&X5I3wX!F~Tx z%$JW@kMqf+>HVZZh(E(4P^630801vPC7J-KF-%76POHX3bIIu3mWr#_aE@96DnF0v ze#3($z!cUk0U@bkQi&bu^SG*rRf5s2>9*^+6iu=ASG77ns{40i4dqndmQYTjvn@;` zGb291ZVbuzkM6Y0jhqC*_P4QOSFFgjjIb zKEv4nCWJ!g=7C1A&ysN|+U=TVw1N6zPrN8v%T#mYWBvT+!s%q)rXzNrwXD2>-6iO1 zwkCt-xR|`*=p@w17Z?9^?=VUa5Ti*H1UJmeX??|?gQG@n{a!r<>k{%%s3T){4D@NT z6trocF-jQVq;acHc(tF-6Rn?>g~7$Hca3^hIi6FWf+Jy^6l$wRFU|$!0C0JYeKsYV z0`l-A5$=X7TIa=>+(~;DlVkXx7lu4S(o9vSXkL?#8%H3_wZk&c5=W^7R(OI=z{zLP zF+lGF?z*{eYhlW@Qt}+lb8q@U&dJ!Tt-?M)vig1N>x&Mke}p5{7n_r_Nkmmfv6+k} zB0(Brz7K0YYg`j$s%eQV6{^cyPB-F8!l?g%3o!Mn3Jn$l@O* z%}mP6OE-_Um*|#Qj1M~RC*-O9M)di~j;>qd>7K2}9W%U7sSgk9E{LK={&csL3$9y4 zswjqp2VIo7oE5|{$@Hvf*__L4>+q#yEyoRbJpH}>YD4B)h+Fx_;E#djTo1(ypuJkZ z;!kRTY4fodb!_a8#R_=S%|7GHjSuHVj_HTuj8R1E<%2WheHi7Gtq;z*-uvW8fKI4S zw?h8T=C2~xf5fN-PF|awE?@OvN9-IyF$qs?gi;SdGuT#>0!jRFO41(;lIR-@O}t#? zCARhFojp@)&DSSYYMcKb7=gS}l86!+OUD2yH%!I`4{r^b<)+)CEP2)0aQQndAz-j{Q4Dt_Hh-3ZVb;>J(#|_a+&GmK{#D9_Fz`Sq_}=j`lQn<9TFET}cY(KY zDD`J|CiLM#I%CBVCcp-1lh$@`wniAm*0*^dbNq4=zA0tK9YZK#k*Kx z;;N^`Zl!NIG*L|B$p1@pO%6k^cSwFXB%g!K0r0|6AieBogomQ)9xunWs`ldcf_WlL zL&0>(s>_-xk}l^?EiH<=c;c^kAvQs1jp^}cko>dvkHWs1PQV3W0xUTH^yx#+@Au3r%^)Qvlzlx$ zmEyue-vqDxPLgEqLC~y9>8Q5jGEuYlzQe_QyKwI22b+Whnan#7raJl(AndigaszkH zC9$nN->F3Y%KIXDCU=V8N(bpt4oDq`N!9_iB36 zLoX_V1xm5`829cYCupLJ8AirnNyE`LBt^efl&G)*s}_Z~QoGU#H)ImKA_f)po;qnIsxLg=m_a5j{>u`?ZiBNg;0Kx7TqN;5It=CHPaWS}sQ zWkO)c?U5z2_wV$HQ7lm#R#QXb43B|k_>I`OAGcLs{P5V(PpF!qE+~XiUzCHRN^AGJ z3YY393|35kN7hC}cmu*NN{BRRKa>`5(B&w8Ck;sj^|fh}Kj$v%&dNLHm|ko0{e z1)6NYzXYv!XxvdTugvjE3)k#KmIk-_YI89*6s0Hf1=NnrQJChHgHYN&{7!fraG+AU zdp2|SRyYyEd&a8Mxdr)FC-2ETTDNf71Qb}^>o-sS%ob#};hFrkk)Q&}9~X@`xYBJk z5p%{xdr?t-?nHvUZDW*l;L}&^km1?q%(3?iN|q=Rzyqaui`;EUkOOBh#Il&XzjG+B zcMtHjN=aM=q77}b(w@bHzUbp$nqOyku$It7U`@pOt+-I3LJpP%R3)Sp2PJ>3PyG&ZF^Fu?{&5jnMRRJio(@9C7`M7P(^j;gqU zQ7x-Km{^(Wi0(`%-10LHxaLbf49-z@GC83%)?<6Zo!A-48};S~@rdSJdsPhB35e+I zqn|zb&E6E0Qo(JLg>eg^NvOK#%Qv`rI|WF`3QU!g_(m=d2LvgH(XwkvX9M3{kxncY zAghR6JM5G(ll#r!T$eZ%T*JG0!6-t&GtSc>rvj_z+ubzH`X`IDef zsu6duLoZo<=rDyIbYZPTx0|h0`u+;2G#!wRQqsfAC!c6*QV~oS6ai(|Ysubu&L{#s zZi8~hqhGfDkd#8pd!zFO#$@eoF6e>M#vllhBmDYHC#YfNG*$cAUa zu}o1E6H!aUGL>{9zQc8JAaV)7xH{v@Y~;ft-cHJSB*`*ij8G#^vFrILI0xP2xq_VH zflMNE5s>74FX=MOux)XFGOZ?tCQ4ePZSn(!J-ii?f#w_7z`$!Q zCpxZO2~ptN6=0b;qZ6?=UvypiDk(*`<&Nv0n*X9U^jSQ%|3ifm9)YtWYb~yJIZwTx zJp_++XD*R-@~)XfDQ^?smES(4gienEptL6z4c|Ph-lmH@> z+#XF(W`q-KZTK@!XHCr;H&Je@S?&oogJjRwiVBqKX0zwZ$pl~*TrgiU5ER}~wd!Q` zyg6~x3L-q;u0r*{H zML=xM_*?kEOVYb3wL2(dK-47-!km$GH$Tok%7li64c0vJN+o{@>cn@QR~3R@+#WcC zYO}Gb<1~T=N0X4%j`M20QhfxC8-yKUQ9&2B{Bu_SCApG#VQ&gXUxK<>T*`vZU{nMP zoZS;1#+cWlzjJ?w~t&9FGC^=C7M2$p)%)}YV(`$cOVAQ!3?Q1OK zf`S7OG6|3^(fui9rko{6%<~~o(ixW9-C3pMydN(^GSqw*;~l!L5D=9^Yt7H3&8&#| z8jY4++m~}Wd2tu_8$nN7^^aA5{OZF1$K`g9^HV?R6h#%GttyAq3PSb0_u{2^AK$;P z6J_7ZCFUheKZV|L-?LTk8WYgj2P&(>9{DnXjR|sJ7Wy>j(ovXRDflqslnIKmCKs3- zNjaQ!Q{;?3gz-wJ3~SEYKO4CcH$o;kXn~Pqe@mh8L=tT+PaVbE_L#mecp~v?tF~Ls0W@C95C&v%z2g~A&BXCoKS>v>Xv8F@?v3D1G`qT7`S|nuWzR7+FVC&hqx(ht(-In9ETS zjhGX^H%#WK*(4o^y^|28J#|Ls+xb-8WY&A`#8XY4dLlUukG#uIjfua7laI6jr zmxq$P*5*Wo*GickbF*zk$$}{H(|#jRBK|<)rJKQ-v(-Es&4{(wsf$0boN zi6;IIpuGMu<-6f9Ce*6R0h~p~Z<_;jfy9sJ#Q_}}M8}@tfQEw8EUQTHw+qsFqQlWc zEm!jQ!g=$>*Y9F=&yq<)MrS@eX6Y8)d;4u&3oijjkvQt^0|5De2wrI6C?FMhEXAH5 zTzvvFK^7d9m!}&6P$_}O&M^M9WBL&+;E!E9}n}yhiD##=eb^W4jNv7p9kpjI@ExIvUWbB89 zCiX%bztxBPyP3DcPbgiGEuc3P6{NU-$z1xdt~DT1wCk$AAvUmH^QeQNP!>iS*saJ4 z_XZ?rXqZvKRpnah@ky7o71{Dv?SaBe`*5JoAZ4<(s>qJU_jE|rzs2MCzMfghE6n8J z2@5U9+RVlHOQ4A<7{SC3NEtFArKHtej_!&EJ5h}ESQ$oj-i9w<*aX7x9JqJF!=OOA zNWQKR6hn>fKVWGUX_Nl|5M*Mv?ZkY=GmwQJm9#e>k9u+%O~`Yo_oeYO5j=HImc?*% zd%cU{Q|%fW0D@%l@{4WasF)s&4Ly0EK*`6k$gI^?gU!PeW)VbV@-t%ai zltkLkH9Nx5@*m!(qq;6?0XUGA{G?8OxFzE>j59Ib>n03CW}zV|Uv*}&pp9nqFi+uU zuDW#Vv9V%JDo`8xNyDPnej1_sZ0L4{#|%I9cwplaSZ;+cqchQrAa>=oGbIvZCw|VraJB=cD*f3z0t}XC6nG9sRPG) za8SmsD;;aY2+s>W&mqeKV!T%z081Oq7;gvQlnrMrL~l8}y{1TBx_%+kG{iTFI)%Cf z2=%=TKQaBLvmoy}*xS=DqKyD4Ug-Jdowbp(#B8jKK8l?hH0rr1+cT_I_0{uk_fBfU zzc=&=#cky|U(K@Z@2e%np(6{EbPY5tI8To^>8J&QBwHMQHzh&b62^qr<{W-Gv}p4) z3U|uu$LV-k`{yXtv9S)VEKoE7o-5c~jAfezvSw0vO{47RRXx>2zUU8vgO5&rx=n*p zGW*+ng~#P{bi3!;XfFVZCgoi#QYdM>vIyF^B;?S>-3BCdZ#IlM^e+TC;4V0hPl=*f zdq|+Djn^WdZrhRSB?D3BDKdh-2Dvbj^&tL?S2t4BYq`8<$I^%FYeYn*H?UJNIwN}0 z*xqsaIE}xw;R+SNg_&wsUtGo{A;4MT+wvE^}8{Y?OgqhUzgp5}S=MG|Pd zq;(sJ02@&&;vi+7?r!z<_$jLu8_LxBmu84lQhnL0Y1e9fAU}Q&hzh%m_2S#?9i<>?g19{^owM4j%aAW2%A^b|Pw zo%F06JsOv2PU@`x|KgGuG3WaQl?-#owq;##+SwFx zS>UxZ9!o>zxDg}_~dmzsp3G=I>lvlqXMw&yN@C0_z|DXwVPSVz{>DrKESD~5V) zwgo==+t~(zfm#hX1{g!L!}wLjJV;Pns5ueB{(|ij%b2aLL}eneaITTKw&+|>aB`Fn z6I;*AN10nkI>LB*hctB}9hr#UoL8h55l2>T!~l#4io?oxvWZ_4rY6k@*tW%h&2BK^ zKn8MLZiS21B8tLed8>y;sK)j(sFP6kJ3F$Dq+uJ^34WuNx#F#ow*=X^u)$hiG~J;f zD&*2Hexm(6t~_PU zAg%vD8v?ygl|Vj^SBd|K-R5{gW4*ijFgT9h-l+LX$4viA>Jv|k=dVnI16^7SvhMc% zYeX#03w0>(`fT%cnt-sa(&G%2?yUX&fTh<4U>V)fbMfpXh7snE^>FkWNx9KGz8ILO zyFDQb2uBgYF^XCS&f4aciZla*1&nA>Wrc`Zx@+-Z&8(s{OX;KRbc`wJ{+Lrt&G`Ad zPQ$)d?p3M+TBR%MS~d=jrGOSUP_P4=3f?_p<(L1`eGko*RlC}W#fIuY7>9_XnG73v zf{1fN0zQ8?Z?B{c;Z}w#+R0in5cKE}n6KbM;Jz~@`-HXGvsuRQ-8BceeX!^o>?WoIzm-s9qa5+p3tUqX=_Gg}itLh=alQDJ|1N%}#O zI~?=f&?Vfxb_Ng)5Z?;%OaQ|iR9nnXvQrb7Z3pSDin}t{Cuv-Zv4i!f10;?$R{w`> z6|N1vppz2X>Ns&V$fD|uaPss%``JD8^ph>v8k8!4BO3yT`jlvEH*S3S{$@Qux?Cyp zg3UsJa9}ro;qTKgoO|2&$hFc5WwERIoL*0nSg*xhbp5<25aL-)CzL4Zp~SJlch<(c z9sPvE!qoQAxR{8Um4o0ERIrz^3Xb38-)g7NKC(fAU3={XFBo5^KxvY$ImRjPDd>ho zzyNmG3YILL_ecFr!a|HrRVsC&eI^-o@3#)~>ua+J)Hup?CSAgnO~myQQ3dBhT2K$vQ{l=K7; ze_nsl2Z?*yc*LRIpL`MwV70muaL#B0a`9CXgu>6ASd&^v8r$~4?ge`zXEYnfY+Nh{-pxg&7WTu+WM1)lFEmX_v8h;AC|>q z;V5DGx9=17(+$x3Q(o#UV-rxSewRSkwxT^(d9|=COpE8YvMsXY197<;S zffiFkp}O25{3*pdF+q+6h$I0}2WuKUN;NPpb>qC%)ma2c$tfZ;%s=GAUyOvgE8NNp z)?3DAgX1Zd8g?_@`0pua*kev`m^4;|(Hl$epv1rbcx)_N5Z#H=Iv=&8?$MC5Rb@Qo z4DSbrx5-1UBrXOu8?iP?b?CB(94+4UBih6K=cR?FI$P}g=#*zY z8cKU(-;R5nwuJ!;7k|Iqw_XXeY*g(C8@X@jQj>ox5tR*sDGH+HZA45x# zGW9=*5GoZC!q9C`LKz_1P!T$`<704?ZL!H>_-w6@pR`|*9UOFybl%82Ro|HhoP>jJ zs)=HGo#@5$T1ZAzkW8hXb#y?Op6X>jmU9aa&IU}swB4ZUM8DybF9G^fgB##pvj6r% zgJj~b@5SsV?ZWW zu|vTHe>2dU04c&*=2`ncFZ{3;cB7~I?F+ABZ|LTZG#-!ure(z5vX)b>rUv2fRO6)pw<=KxH zg+T{jgNr@xwmIU~-gjn&% z*qHXMKCw3S(vF{(HzTHzPo*#6NWWJ{-w1ur)s(BRe|9b7fAV1`2S&A)$~Ed^XMDOT zk&j_b-k;7T3!im)?lqd>Tl$jC^UD}_$5?euC`VJYOlFFB$oibm3GfixqoK3x4+at$ zcTZnR^_qI|X~cA^di{O%Lkm;2eJq)1iRY#oTztEg!O2m@^efqOULW+IM{Ar;KmHX> z%nV)~FKHw3JVJ>3VGBLq?n{37=-l%GD?tO0Yi&A+Z?ki&6NRHQYpu}ok$YDJ zaZwE0e*md{7w4q|p-)SDoG-60&-vqQesE)r1>+GJtGWW3$~Q&T4uLy({Sj!_1xGV;*e*S&@VGr zdwW>%4&o~rhQ;fYBnWeQV`yi!;R(6tdS?RX8Wt|h4{R>JoO(U&1{u$!1;0P|vROGa za4y!)SYm6rv7;s>AVhv+O!gRlku`$9XFbBsOHVBP-{X0b*%lOq>d`lA%KnKtmYLc&>M% zu)6B?E9gU$e{9@H6u57O16^wv;wxG4!m3s00=f-&+x`~d$%2*`ZV!# zAKR;0v2pl`-pxHK@&ifh4--wDt*}*_KMQkDJ~;O6#L%CcbBz)MU&fVMRi*4=l23eF zeBFF7xqDxwyNnn0T`fYQud3bBWf1(2@!E8S8$Yj&Q8La!L)t7eedca!U*d~TwnyzQ zB_l^2vx0mwvs?8R-2%Vv@$Vna3emE=m+ZZgeuB%huUU+pQht9YE^lV@o5Y&LKl0`P z=ydwgN0t5M$v}7d2Kf5v56rvHUj-`rMNVF9vD=vNuRqMrf^j7TlgjV?TA-V&h}AG4 zvFe=itegG!>afpSSy^ZQ7qH(k+nx)rRdZt4WzO}1H=ud%{(sBX4?*y{g7X2Km$3Gb zROk(f|5@dg(1g%tcw^y?l+;k@g-hzex&QqeV>|G@*r1)-mf5+X(1$X&{(h7WK!lis zo8#bIm9dA6XC+?w-+OZXuwqf7*3ZXgk5<5_di5SGSzWKEPG1jN{Orhb-#DHq{pcB( zxby+mV}+`%jhWo-^}W|}&a>t4c;V*v!uBhLue&yh-v;>%gv z5|uXB-9#?@=*)k%B>Pg>X?|?KHA2kGyaz;x3hmu(69ZeDOP8NF2&b{#Mo&Q)=YzI3 zmduJJ3adA--!C>pMK_B1_T9Q`dwsm*&F(Ap1}pxNVm^j;%gmkEM$_A7rz>VgSQRff zY~cwz?E)3IOP0mdiOSRr$hBI|ox`)h*7Z9*-8@ z`C6Uxww!L8{|g&8CmprdJ}b*Gj)oR(fM7uo^B=x-x!3ijNnNCX8A8;ZxTX@$#b?wg z9^g`t;!;%0b$PP;`M6c}s^w;8D+uWidMD-`w(;|2zt7owsvZsn%1=SGA75W!WjTv| zL6vN>B{mrwYEzh+JgWKB;9S>Pw{Q5`;kSvo`Jq4hk3ea}YeUg8IZ3C^9N5Nv|Fcs! zeP2h-5@dxEwAa}J{vpXAOa@lc5c#K0LQ_AeeRn=mz1Pnp5L}n*1BLBiy}whn^m^tS zYrya8O+C&_4MJANC2Cju%Ibp`woB)=-qCbVQ>|7o#}#G}qh3u3xRn_SlZG6BE0Z<( zX@K-)Ok-YxqedC3qpT?Ko8uAWW# z9NauL19HH#eT)AI{lN_^!GNPFcx@`#2MmqJHe>4xg#%j~16vt&O`obae_kFr{o}jW zA|EzueOM;fIXuL>8ssetjzO{_>#=JHt=X`?U0E3rQk26{FbWkqwl-(BM$R+pOkP~b z&G32W+JWo8n0#)2!WK%)H&{9kl0;Vt-K9}9F;7npiO-V!Z+nr%lumghVd1(~nm5GV;T=*$nuL{M(|2W2Q#o`Jq=DlPBsQEJM96Yk%k?ttijAU)lsuHV;&OMR z*4<-qqNxR7RImFNnmP_Z+I?Xvt{YDoPpUG35_GPwk`X`~=lcl-fu5g3SFLsZmJpnrB z_Mg(|*1o&Ehn-p-op$xrTZo|H->^Mn5vI1A$geS5qp_ZoETrop59XMLSBx_=9V}*B zuYy4`H?p#CU3LSkg4H=7=2g57m_*dQbjmVVB0OF+I;RkKbh@mh->3Hx$VFupUG|H6 zl_4$GGrzJGb2*xRkZNueP!GFw7x|zZ>_qUw(1+EdQ3Hy1T%z~gH8c?O-r<&eo!~O5 zl(k|keyX8zH$A99G;t<)sY1G1ym-})nD^9KlX9k#jesC1BpcQ?qa+rfW#tA0Ln`xbXJ+B55f@nkUA?JO{D(g3W|QG@6G z(~dWQ%jD6^P;)M3stZ!TFCdS54;Nkmb`1}=S$J=b}s1T>?E41k3Uqt)SObE zRN+T3j*DJ}r+|;Uf>>w@;l(aAMZ2r~H{BGB?BlplaqB~|3ayx!a&F-ysPz7Y?Be6! z>{q@evl7cwbBRK<#wUeU_hd1~dX8Uo1{$AoB@_mJlfC@l=8<=Gk^UYM{kcn# zq0r$C4{=TI{}kYq3XuAgPq<#0kpe%yV{Poh_5J^m)&KXYA79+SLza4X{q+0Kve{n+ zDraC#eZ*ouP89eFAHM&+B6ssEkk)jytVh63gP#u~LH#eEB20jj1R(9eZ_=9bUdnfnR!z6oc)T#J+$qUEkjzW1N!k z7k5%T|7Q4T^1$_pXA4afFQ2be9{Cgsq#UGF9ak%+?#^(x^6?nNi}%~!J?HbeUhJK} zsNZ1NHa2J6T=aXfJQT|!gwA%PPFcj8tiAZ(6NSQNWW$0v6FB%)v98q{i{n!-2d+x2 zKhDj(SGABaQ!>DkRk-fG2)4qTqQuoN2RGVJD7YdLz?!2Hw7HNqvxM74Ts8R?^Y@}8 z@qiyaVSZ3`{9$6w{p%o-w{H{tPR9ji+BOTL3!xU>j{V&#hw?M5AmcC0IGjI9{Esnm z@1NbdAAI%t&&}0|T!wC>G^z21c)aGKwRq->_wp5cyR>I27kZv(txXnRUh4NX12O1a z57<_8fIKd96NDknkgc?Vb!jUrFx}GDn^BL!X@zu%?_9%98TBRJjWYpLFaGLBMDPvf z`F^u&t}pwKY_|QI!jQ(N|r`S%Jh|Jf=#qsFWt>0h9uj9kMZNp9=GAvE$K8DLAzY_0emQN6b*RHH;l-&+xB)zRnUr^mgHuVb6V z+**!fZ8z;ldJ=HD?av#<(;^Sg^|L}Y7Z!b+_xX=8A_Y6Ss@8rMhV*YvZ}XC@IWYlP zlMX`crlhY=TjQ1dx)pby1uA%Ev;@o^d4-N&C6Gs9knnfd+|!} zr@mkOWkR~dh+Kb~P4TUfe$h>q%8At+hN|nEOVwuUJe%8`q6E}lM&k?1hGInFB3g$% zhUzQbBOa&ZnHu_mJAWQCH3|lg+}3obm7QzIG0V`OUt`EY98I85lN6~i$3cZmRDl6E zHL#=->SadCg(($t1DzS5==35Ul+@uO`G+)KaWoMZAHQCx`d^2&!+bDE9*ouY{#t=} zu%(e<@vwtH{%-4stGcR<*$W`I+w`8ShS+6!`jI)ciRa)QZ*5feG{bKs2C=X`7E`N<@Epf0Hz`j`q z0Uh!A5k&YAli&`f!q1KTApLw$3M<*@583z>^6lsOrmkjK(@m8xDW5hP6oNl&ZV+LH zYmFARKlrf5*S2fQT0vLvz<-u`<^L};tO?W|Ftu25-dqQueOvX@b`Vt8y;H{HPgYu% z!((hxW72kNf!e|I=*6M~1u5PiPa3??-f9e4ZwwTAwrqb1I{fVa+Pl)ICay4=31JH@ zL?GgZ3D$xF)l}+26*F}y&;yDhP$QdyRH7^eEL(tyS}9s32o*R8gdV7P5GXYkq%6U@ zp{Y=yRVxyzMnnom7DFgYzoD5x`@6q-<|i+2-h6rQd-uEdzL`+n^%2-1zKa)JKe!k; z-fxHebWeuC{j+_eTzQdAy6vzkKiyOR?8kgz%$|5)18;Ain4vB74r`d>O{wu6r90G7 zHNGL)cOFMwY8bHF`)4O2%C!=a;92+mdBay~8dIlu4g zaa`Lp6ukJL;;L%-g z!NKZOH@?@FF5Eis1V?sq`D_zG>T3pNXf=P~KOPPQTt8~Eaov>z-EwJ1iq52b=2TyL z(P$Xn-+mv?_oNc)WJD0pjJtzKv;@O>Xo8`-p6Y-XH_DB4A|zohi2RTvPkiVyH}C-* zEE}~?`hBw!JcNdmg|@ApQc7FqEvBXjgYN**wu?rE)Cq`jxTX2B_LFcSqAS9!K9DPd zc0d1QwPK*(BC#Iku6RNvZ~XYrHRF@`1WdJ5IhSfIh-m*nDe@G`Q2tP&gMRe^O778| zaDFY+{@(9Ki-^L;@f50-VuGPOx!dMcV|QGChmQkPy5Uw`0;s^Yg%Ncb2KsgtHT!ts zR}^hEpFU~((S&>MULv>>(OwEDuP(rIgBEOviyS+jGIk!4$)d#av-?(WE?i?TPe1k* z3pifg0N4rnU|y6-z@aU1dVT+`t-9Z=$Lc_9!7{ssg1C&&GqZMc*}hR79Ns>)jN<|P z1yzjaYa;EiR~FD1DBxUA3^=bPJ^@Lq%W=JY+pbb}7f&c&(5cn91#-44N%d$N;wVko zE!-)AF%z#z{wfgi`;${(%PCZ}ER$sA(X<|@PPQp3#mW@N6crfUj$x9YKkT&&P=ADP z@@1)1p}&F<*%2i*WNj38&Be2T<}K<{V2? zWCv{Qm$YxY@_0^w$Emp95;z1J>rypjmzfF}$WyR@f08#2-Cge(+?n{YzJJ65wpC1v zlS-m~$=J#y7SSv|6IaO;`n`S=XN6(7+mNO~s|VIZJ&}YHtKtmMddvGdxs^ z6mz3dc#dKB1k{s5p4?a0%+kcG5{92kKw2q^cwkA~mOE35uFf$@W^I;?9>N_6nAA_e zm(Gjh#2f^vs1A#z?2c-F+svr{+F(_Bl0Deq?yo!xnK}DmP3$w(I>c`5t~X-is+yP3 zThb0?E9*u&tFSag$&QOWY-?+^p#g;5GY@H>kR}?4jJ|4UQ;cJ)ySo=Me>H#C*z4-X ze6EU1mo0~J&z*@`uVF_XnbO3ah?Vb`^Bt`7Qzq4pafbjCfGBOdUEyZmsJv=4)JKSf zUbDi{Ed?g4M3ljjl}XDZPF}GFKyrhUE=ZR9Aw^-Yd#+mq$mBq-l0qL}OY3K3afjiS zUjwt9+vMv1myIDvQj z!!XF?Vy5@UR&#dhnWA@{RGnKs56aztw%Mm?$rsA!#%!5-TF`iXTVp!6F95V_RpLfF z4jaBGc7HrWlhnIbaKw~VD|4=UeT(~Y@q1%CQ|Vx6G7Dl%c55OF*#ijj@L0Im8_{to z|D@}Q_uud%e1Myerwba(c~Z*GkzQ4|27LlCYDyInjNR;OG0zEt{qFc-FY!}<;w3Q1 zR-1>L^Dp5a^!5Hqq_Hs=$27h7c`Fu-uH}r#QOhZd-*?y&a2o9mEGPKx8g2jS82%j+ z9}~pg&(>qhbCT2-Och@Z3xUb z5|g)!C>k(D|5{0M+Q?}mvyIpvx99PGl`qFY20xvZ`Ut-8$qZkFD(hTb8>)4fd`rQBi3!2%CNR%3rK{Ft_ z`0Fkb-BXNMYc62083yavNUaN8tm#roHNMq1m|#YX$uOWT5>fn?;^R+u5&9tdPY=h} z&)k+qHFm*PoS6;*?;nX)r(-&0$m}3D%YTd=^InbH We^wbgbOaEX;<|O)mWoY*NB#oQYm!y~ literal 0 HcmV?d00001 diff --git a/test/fixtures/app/doc/screenshots/linux/selenium_chrome_headless/index-vips.webp b/test/fixtures/app/doc/screenshots/linux/selenium_chrome_headless/index-vips.webp new file mode 100644 index 0000000000000000000000000000000000000000..9b1033d5632ae76b53e4be0d91cb40a11ac9c3f6 GIT binary patch literal 25670 zcmY&<1yqym|Mvg|Q5Y&pNQs~zAR#pxMd=VxkOoJ0#~7gq2vU;LNQ#tnm&EAN4WmbQ z=X?3+@0|a84jvJA#;*JR#;0!oSBg@^*Y912Kp@02(l1^^Ab9s75Zrgy@WD@Foj%%t zzX)xl)$JjW8@K=b!RedyID{VYbFt3e<19;O5oO zG{OzPb2h!WYKzC$YexpxS1O}rA7-WHw7=0wORY{gjCa0tQ8IESrD8x?mGNIsRC?jZ z{=_h2=gdA4F@-%AXrb`F`TQFFr<>1_bmfRQs}2!@%R5<^ZeJPMax25UXr%ezBAGe4(%8yez6>y}>^H#G|Iql-6m)Fyoy z3-{AjtXtMT>m_wQ-jIw|Wx}6+@$iPYtGsf|*1EaCS;tvsod-GE9eW!#4TJWpgvX26 zLl%gSIyiLG``5qEePb>RN$N1#itx+7<5NH_MZ)na@v+_F0J&?2MAE$CIj5SHsBBGv zS1?}fQJJrkTbv3L)OLI4_Sd0rP04dt;6$>nCb|9&fx$dA7hXD^5OF@zX;=0Sn{%fD z_qUG6#oXox>&*UMpovtcC*lVY8LdXoe|Ph=Q@zT4mR+MTefml0p_5=XQ4tYo!t~>i zF{AKvdz@x}ma^=ZI~8ofb9#Z_Vd@ljIdc#AINQ|nEc^R?+dnBW@XSxJnRkgo<|s)L z#2r~@<(w}>B6q4FHa0)jV!p!!f_Ly!hgV_Hf?)r-E9hN|-f7ph$4a|HQmDuC!ygdv_K>D~VCM6(OvK={fp^2H>|Rtx%l79xr7b@9#laIx!ZKJq7>Wu%v}xHXGl zkIrXTNp!`7pmkktVGd<(dvp0})HL^Xjk_euRq(vDt!}UCjyzsc+t`}iXNOFtNe!sT z2R6Sb(9bozLA3DPHl=+=VmHTn;9J}im00L276VI$`$_2D^?m&}Y~`?J%&nt#GkWpfu2b@fS;XSzQ&O$yr=j=bsS)=bM&Jd?l~KP8xMxJ}|!+sxbxhEsGH3m{x@ zymm1)*GI6*?RaoWpLaR%t-G~j`|EfAo{uhKa~Z0>3i+Hh7&pKlM}e0+L?(miPhiAH z;lLqyEnM++Hj%1s<75!U5SXHL*tZj-8^eyAEeuKMLRIZ~d)+g5fXe1`CSOzDm)%`< zZofVR)3k82w>vW5y+fi@os_SuZlHVBtyAW4Fttl8w$?4`OLTtUDzObU0l`*vF~pV{ znGXBqNk&sf=$wJWJWqAD93+-JSRz&H@cwAchfL&L>^r=199>h-pXkQF5c5Fn%$ua3 zf0>Irz0K&kmD(4V#4mHq57tv1JMRbBQ2Q|!Tvd-}B*O1Cx9k1espV?x8eZViQgmSZ z7*y!rhZoona)XJ7N_vDgdr!-Jed99m6?~KUJ0*w1$2%wM3vvDiY|OtTh!yiKE6#@ zG95{?K)kenBO*iX$5611xnpCu&k{u-{np()a|{W}*3$OrO3lBS&TPB%^Orfe&FzVC7BN$Zv>6!R+apLnXDq77v8rpr)P_ zO(6>pIB)iP-jW`=-Fi}rmqH5no1XL954sm58P_HGMYT#gb+oh@0?k|1?;GBLLH)U4 z^+9pwS1ukvB6l1E2t-@ER^6lc2^>yB(e?f{>WHu3$(!GlJ@A+=z|3dsUJf%`gMk7u zi!!`t^exS$Bu$#zu<7S{r80bjY`}6)5MIl!>%Z)Bxg4#7_$5- zOW(mYl`y9(voQK#co?ies@RKBMq0;-d*g8kqYSu_@3Iq9_?aQ0``QQOc#B^|>ugRu z=Z(oO?uLlH2DMm5la#C>^gLfzFBIy5vi+S<6_?tL3f&RL#h@IuwNNs;;gduAC*d>^ z{L^2e$JqE!ToCboEwp;U5?Uimg%eBtD`tG94<30h_d-0tyST0sm2?@MXq9$S5F1peWYr&fJ!5GZ{<0m;B?v z%xv*mg)K>s6W2gt%U!PTiGn|pvumZQa%}6K8`K9y7RARQBTg|p%2rQm;%=y2-V%gf z6Y57!Thd|0JT4kRZ?6R5Bq)-j?bide@LDJwsJ;DdwWH-*uxnI`y=K<^%X=mzWy=RA z6!0JX;)Lau_CSTJmQWa@V&`88P-RN5-fA@`~ z++olM*5XJLf&C8Gbg2mDUh!y>!F~Pd--^4A>A#7{ow~B7P%;N|$&;WSXLy@vClhuh zx1Y*x;d{h$b4#_E3{+TP!T5IvYSJsB)5&w+RwflLR?PFUA5Jv};%>Y#m--QrPwJGR zu05<(bqp~dRQW_BBOEz;Voa8Kia`0k3wj?}w zh;s$Uc&QKk3oi{SmBIM$iu$ZJRs!K_;iMqq7p9~}bvrUI-~{^iilCeAwYAWVwrgK= zV8K!nGc6{k$e9Yf$T8zP!gNgCtn)nNa7Ba#^g8EVJEhf5u1%yA5MaM$e53O96BaQiM&XjFLD-5W+uvDpU*5&QG9K z*)PH5t7A}Z&5m08q-5Gz`%rD;;9DSGMt~*a9QPD^M~d7%YB*zLd2i_eKQ;J93;wOj zV7d2w>|b}bv^GmBt^VGliSXJ?hIfgpc1JzJ35p^6WI)2ZY=NK7Pvj7z=%~~PPcX*7JSAMK3 zWnOh_wRQIK5Wm?T0GTynQT742FS zR&n7E+bbtVcQ>?>vHgXFI#$EDO$uK^m?wo71f8bnN{al{ALR2(Qe(DBY!MLPjIXHE|u$B=bOK z>F?b+qp8Z9+3!nfIJ{eHEphHZ-M_xCTe>ksuQ;nr)*9N7H$jsT=9VZ_=^9d8x@s?_ zeY;9_xB==^x7^SlVH_a5KY_0#%-y`R;;W#DxpvJtqgODw z>#lC|t5wl*7M9}-+QF+gnc7T7XxF&d!pXD+1EetIe?R}bDzf`66rctoj59275r{LE zfLS%_)I$3QUIono;YRPTn9jTpVH{1O^Cf*`8r?(z$3E|ixk=!+Z$_NH);^gYS7urw zks@us-oi3?ax3EAtH-(odNmrE2nM{7ajViuD|xG*iwFQa0nXX8N5B_odlWmz zNFQK9|1|an&giFyf4K=}TZH)gX|2-q=^Z8%PI-+ogAC7CuJXKaCmHJ7Ofr7mG;V9M zkEw?#b8~2{`f(-WinWGm(XSIx^YgGEBdTx;jrGt2)fg$v5h4+J;?uiYAZ8vSIT&|C z*xiF9I&aFr$=csNQlxXEpxOI19;os9yup1DKaC&Cc@l=dvBur<+s$&8zdb$%6PxGa zpp`CexpjyU;@7%gJoPU?{m6R~#2r<)TgY3-hu6F>j6}&aQdmkg?N0RC{_BG#R)ENe zu>2aD<3uT+Ro$ovsyv2wEq*1>2{NPTo$ixfAxdfOb~$n)jd(r9Oh2g?!a__ZM0G{j zWs#8yszxZ(FMMwKa)0Adf?{<2;pp-n4B_$t$=-n|X?Z8wVWhG>XkA0&C8t*VrGb-Q z(+H3&aEOR|p~TOxtzkGPEF#}RvvWV|MA$4?g&fv8a?qWQX+wrI@TOdKzoI9hqhfW@ zk%KH6OeP|FH+e@LEIx2e*ezsiepqEC3RHzknZ8S%%h-MTZ=HPAz7g7UzMG{7nD_Dztn_{jvcqgam{) z7dM9es;-1`j(v9A>+y(E<6m-c)2goiG_?I=l{2biR7`sGgX01*vqG-TLf>3{-Lr~h z(l{HP)^Z-9Sk`D-?1aIG*&`Zg^@5V?Muo2a+=ggC_;^mv+y0sYZPs3+>pLl>X(y z$dS&Q!}c*096eUnnfA2odFK7S?ie_z6DhiOE?w8y#vACJiu|+N9jxZd_)i*F#u9p0 zf2<{ZFC8t+_Tpb_VMW`wF()BKQTGD?!cEP6D+tv)fooNar`D!sS-rG4gc~uP^}<(R z(=k}jE11L9L{D_=oyLKB4tlvSrf}X;e+2sXm~El&PP4yl?a93Tw+1;O5Bpy>Jwn>vvR`D61@{+m!B>sPhuNl6S2W<#Wqcf8-$Ds8?G45tpFRo0TKWYUodpnQjZGF3R7KeMa&cA)zELg1w>(g#pp8(-!CN)89*pD*b#db);R z3y{I#Ql-~~0-j&63qpGYlSgCcn_1;}?pZoehg1^jS+9_;L8|5iUGn_qyk7Hd<@cJX zj9b{w+IX`%BdWJA>cmleb#qy{AvX_5e|x-F+ivlt6B1}6m7^ErqmFU&{k5A~T)Jk_ zvC}S?V1;&ax%~|wx#{0*>C0X=OnOR>zt@fyH}1)VbtjFass_)6mbaNmL}4o&+|Gwr zD*y2rC4evm>`#7Zn+kcvd7pOg4h%_^*N$P6gn1feM8n8#8Mhj(wQDXA!`#<8mSBLY z{0`FGl~-ird~0FvVC!RJ91Awckg8!s{`MeKQYqzq|AYe0>f#kX#oL;nC?xnuLt%vM z?1`(>( zE@%7Aih^R_{5x}V@OT0D2nK>gd_Ayqe2xk6dp+{Bs(A0ot0nq1I6bG9x@8&^XB6DZ zqVo^Fm=5C_xH@{%xvdgU?X_TLypw8z6p11Ulk&C37qtpx^L3}2W|(>er)jLunU%yY zRSpiVl4e+ytnBw*eU)7nOkchm%puyAJD#68r3F?#jzuy(J`h&~Wj_S-qVuI(ABD%9jiZ9^@LDp)L%)wop@C}g2wYN3z{$bBmz^!RL^!$V>bY~bmCk^4OvnB!(BT7pz3DGBYU5%uh znI+mY4gEEcNK+k%H-VCvJkk9(r>-N(A+BW_$@ z5Cj16c?+B+ALg+$hn#C8v0pt{Ro*aul_ z%-dS{SU<6D4}ps@{y9=Qd2bC;xg#9blnf7=8!6jf$nQVAYhA7+c>nKxte(ib+G@Z_ zoTJ?8vgh#I4(?_5o&2Fi@m;jor4Aq?9cAb(%}v-#H$A+oV%xcxMJ(-;-f_g|nsh4U zddy*H*C(y=(M%vR=HKb>56@p>UV^p2x=oy(KPEx%_Hj!1F>>vl;DNP&fL5?wZ@F$8 z7FY^@C=xw|!=S0RwUGtn?-dNYvjkX&cIt**_DxItzt0<-3)ezgu5ss|`Jh9(yw8B^FKe%&1 zoQ%>&dzr~szIQ#K?9M9I&}_1O{-@%x_xc)#Ci>Ze)+<}!wvS@U=^B{mGugi zQc^FEX`=1>_w0-#dU0&>jyyI7NbL16H;_*2B*!D%N#8|GY|NJ@g`H=(Ks#GJn#WGP zNqIV>60=2k%C#H$|iC^%`P?c;y?L2GCwW2 zFGbex(QlsVTMzqK<*_{uYslq<5uPeF6 z!<<5^_8$oeX#=4x>r_IR?&o z#o?1D3VM9*XL@SzlzZOZQjsp{{6b6S?|C7%qX)rotmtjHUn>{> zLIrbrs}Z*WHzhLt8nU@|^l79B_x!H9AdM!H0=_nlxE;=DG(c>t?dNlTw>|x_BHigz zrTo0235u=BAolEB9DaTRq;YOXzB?i)pGT~I#>ZGnJCuLwl3e&g+COKrZ>6Pr`9ci4 zG~-j;IQu=~fue<^e?wYa#aXY}6d)HCH~Yq}13HZOzjM>C$C3IKbsgSY!0Qmo@A ztYzek)&Oif13UOk8Z08~qkl)(1(U@9a9*2#qY|fXMJsaQ0l1A$(8dCLibSk_;AGlD zWvPn*!bA)*nETn9-Os`g=h9%&*i~tHGM-iVx6a!PTC>fo|4~dQ^F;P{@STxX*=qwgpM@ttriM=@6VvVymzr#)TayoKQ6;Ln&i+1I!|*v z>f*h);Y8+}S57xn5oarlE4C1$j4wyBy<^t_!vuogGgmxWl|K{>u*a3ItAMD@IpyJc z?+lvE4Q@TED|Gg4_W1-LYV)?x9j2cE>qFO)n&qmfot&ETTK0uWFlyDiC=wt$WrkY! zteBNHdL_jo0tGzD5=?fif}1;WXgkL@UT|Tz7pz6QHTEME#5qn3+)t0%sd~nK+AOco z05*1v3})~M55h4&>fbUi2g{r(>bb}E6St#5IzdIQ zOc;!GYxAO`A7J*}VmAm_EIw3n=4+1?3UqRTQfz;G!Uqto#iO*68giQPvmkH`@b71L z3OIG?Nk^=%LsN0~NTo=2mLvpn(bG$>h#bGKJ4a^Xx>~HML2DZ-BIQx z3_aSPG&Ajf`7z((f~xe?$#P@;S!C-AhcGAvkJMIZESa3r<6u5SC70&=Fo%unGIi#l z)KO4b()`*8K^Cw&mQSuIr?p}20f;x-Cj;9SW_sZFnijv0{TkSX15`K8I%hd*@T2Ab z6Qe)74d-#+&#V!frc%N$E@g?QFn=X*)KN@8?C>5|#o01`a3Pn6DfGDt)v79Zp2l1I zn)=m*L$SwmxZOaD<&vsNDw#WFeD6g^!ybznf)I29E*U`8erS4+>-Sc{{UgN52PlA>o} zP57km@2|-hAx}MMJ+?|JZ2mRk7XUiXs$Jk;m_UQ^xmhikkB-x`^W&yt6C3%V>EY5%HGL z@&Q>U9t)}H{-Os!eM3=;V|^_4kx%t>SNG%o`i5~qWccITlvWe>@)l`40>iJM9D&_6 z)L?Gg^^eOM11<|GZtO3g{a+TK^f^*j*}B_q^?(-GWI&NSx_~ac4hI6;I?H5J;K!@l z!+9g;2fNX2Mz}}}QveTB$hsj=H;|Y=?%YVsqd3B){S(tt-zUuAji}3ZA2iFjF^CB- z@=S>HR&S$?KJwr-bz7XZkh2#K-5YskcNZ9x!J9|%GdvyVcQv-j=B8jGG-F*l=eU!3 zsOAp2rsYT3`dfMti%6Hm^-@NE5xev`*kq-lH>qu3u)Kw?W)ZK9ZS~1Lt*8I?oi@-C zeURR&<2}oJKP*c>Kd`(J%-CRi0xtRsjkyf|*+z9D5iONf*qy_`aI~?yl3x*>;9UPI zIRxx=Al3FyjnM~_0=c4@J=aOPrXtj;_M>r~TL6%ezDxCH&&_enCUN*woh8<_V(grfmvwr^kD!Md0q>)OqjUBw*!(Zm2Ea5g7? zklWxDZnbz1pXB2+^RD}Suw^%czB+r(rI1Rl;V9J+F(#USnFSzF)9+=XH@^>-(u4x5 zJ8$wGJy#oR<;_O=wP>pWg-Wtv_tCE`Nfo0{o7=W~1*fKxffW6F!a`u3(GzR7s?U%)W7cstPQtte&&&h@1c9qRFH7lqmfw$ z4@u6o9yprC#HyWt{KvdG#!Da-n%1|E0)TB$fQ+&;4QTVX#nsj4ln*3#+3J)bBk3$~ zMuS8HFj98bxN^QDMdhYXC#HUkiZ{UYEE)8Qvfg2S)Hv+PKCUx#u%L zLmGV4Be0_-HL~9$P*Wn@d=G1oG&BST&KHyd7(>02H)q%XbG?~Z)D_VSuM*Esh);Jq zl}2Yye!ufRZhr~3h?8KA@^8d@i!z2_xWit1$k!ngnsLTMMjSlB;Pp-1^Jgzodp)|? zJ}g zOZS7}Zf@ue=(A9K0*>xu!AaUdp*XK~lTca0bTfB{c-8A8UDgr6yr+tO#uK3hp>GePFAMdLDL6epCcpDe!c7RI_N2^MORP-<3 zdKrF2R9>;Xcnolw%CArdD(bbavjy{x2xE(PdY}x!B+AKAm9i&OPK(LcD%K7}dV?#! z)-5(CeM~Ys(g*l$^RgFdBsCU#*JSd<5&~FY(h-Rr=Q1mb8|F^uw2WtFLTipbBqHDkka|JKo1-qp_yv`>Bx$3dt? ziZPF3L)4DX>#|Zv8|~orB^n`#eASy@(RK@qsS}pvom_o=ae%C}u|_JR_cj|Imx!&W)dr=qZ% zt1iVx!+Mec&hP4%Aq{cG)*Y$`uG&)DAYW1ol~UN&W+uD-ooyElBPEcwE20EsM(UU! z%JFPq>!)Ykg|4}M*fRRKLk&3lAJJTN`!`lV-y^oqK|Ebp5#*c32svA(1!+IzZ}ng1 zVI~*@_Lf|RZ4?d6S>=UDekteLmkrh1YlHNHa$0|?+ON`EuOE8{x* zQr?I2H+uG84k<;tXw<~^pc4m5)4HQuw~IX&j{Uq7Y_v|iNO96n`BF` z#)(sSDVntKft%@_&S>)F)FZ{)0G=9JS9tH>v*jxUB^tXLdh2+44RO_6+$V*~|wd;U@qd4zs8~x93NY}n`6J-l? zwfOo+8l7H7?`V2D`kR-~@@KPqv~cR~fq|3$F(tHse*vf@dIX)iE(LrmPMuv*kE1hS zzc$%{F)%7GZTho*U(@F<{n5|=js!mNTEsH!A zzYlmtmOKF>JaE3M9DQD6f$1pVIdgAZA4PW8l>QcF&>ZZFY4GPc7-P##CPFCZ=e-}( z6pIL=kgvxaLZTTF{Ic={;{t$ZGAi0=5fET6w?+P!pZYl&-h;C1d@FmWC2@h21DU83 z0i@-ON4I5tyqaT(n&bTxiH6PHWqrPtiES|gvtXfwJ9Teo-NuhO;9GXY<3L_!8V@n0 zCw{`h`yL>krlli@0v6)>78%8EK=Ce2(T0Y~%mu{pII1b&x8tb7&5cZs50pqC8q|}z$ui<{mFdZkw3#aZE=5cQl@oz|)&Q@~y zzC$sZ>Y(I8tc_LhzZ!9VmVD{E$r^#3(HmYH8~(XQ^x0UtaV&h3?qX)-XS-fEJO8f`THad=u*;Do-O8diH2v{<9UnSB5v-*|Vx_a&`YY5}IEQJL>NQ(jV4svp-&$j0c z=|3c5gH^GQmMgV}9sN^2OQTG=Zl?+lLnFs~NeW}?$sU{jJT|$SFVlyT-j$&q=LO*V z5RvxGKsPQh${ky)e~cpJG13)xDSDuppgkL16E06u=l6cj%nRw7He%;4KG zR}>nA<@#*2XL;ZfsC$7lWQW4TPLHU`(Yrdf_-5rL?Yn)+^^6S)-Xwl)*aPg^#FzXv zo8w=n`dFcfUV9=5LT(mmZn3rGvzcaB2w-PI2^-lq{(lku(JA~8ml4|IuV1?qB1j|X zWa0>Su()>00SN_nruQX=!vhy*cp*3=zv)RcDkzr&KW9n@KB29g6kVm_Me2e*mPFnr9yn@DFC|*W5Z19G+Nz4Bj&_X? z%!Zfym-W9vQg|dtwH^PcSq3P|_a~P7K;VsM47?AB#Mu7!C8`Bxk0iafnl+>F=|{9r z_Kk_Gh4pxRr^H4z+B|HEqXkxemZzDz?`~zU$pQS`50~Zo%6zagM==Vw@^9qikL_Pmbu|j8 zKg{BnD=s~>8#(3W3#fbPE~V1x_F@uO$d<}Wb?nx0JyvJF#`?q_2+gT;NsL=0L9ZLE zC$v&AA&|H`R(+18YWexE;*m52*lcPYmnbFe6I^3d_iG>?O`Xwq>y}IAPNitE%<2&| zix`H;67LFz%^dt}y7_XOnc@}7R?vHPw(@{E@-++1b0ukcT*4m?Um`Pw$9ZLh9@YPF zp(LZR8hfeSPR4MUBq}+53e*h{2VHYOtYxpcTIR+6;~PJKj1=>@%gF@GnukF!5F92b z`SszIo^p}@CTosQAu}_hmtPQh!@meeBYjbddz;IDJygY--ntlt#f| zeCx=Yw@wMs9@q!NR-M0`Hlks#5rHKuJdloTDhsR9cO$y=0X((&pZi8{K;|A%%!TUR z2(NQXYbT@YHYu@=&s(C&n{d=7*BuoOnJHjJIc{r_=nCYsJ?~2*Xf?nsjPU~e^TQ^$ z&JvjQ9UxY?w4eFvCvj(W`~Ojhq<%S2hjugrVGh(rO+`INtszNna0Yoz1kY6e!H9~g z0FcJgKhA>2cfQ!#EKotj&wd~QS;$swk?B{x5b5+rN=BLI`C>rmTvU952Cz_rV4|E? zDR-*y_+Gt)G1B9RK#BCqb(F2N{70-S*mN=VQpaY+S?!M6M0|R`#D1yYZ~O=^k71>B z;?rVEP%A(+`4-VQ$*FneuSvN@bb4&KvL9lc1NkTTeK*~fV1HcLAyuDsPE=Qn1Y!5=M)Lz9I{~gwqI@D^jLn1 zQD5Hz5gmXg23B$%e7%)9leswPSVCM^Vm8MHtIWjHco$yZ!l(r<*e}7Rr)zi5$i+Oq z#ej5yVH_-P6#)I1db%zvSg^!x)C&z#)V9eq@|_7|%XEd+*zqrKY=uP>h}+D+0Q^#s zR@30JwgyP_5j$)42DrE3%v~UACz0;(M}IZ7eyCMGVO*nO?CO{>-Wc@HW4$)*2K%@_ z8~N~WI01s3_rLryIOLV>j8A>-ponI8>7{#$hp$zi1d|95opP<@vq{7EEd?tTiS&){ zVK9=9qhYpE+Qh%IX7hkVLJ2pq^f_3pCE`@HwTqXfj37@L@B)ncpeykgs^CG_kZP-Z zR_mhCm)2gd1Ok5tVZo1A166UEWIi_9+@I{W1v;SNCXq3kIvEJHV?S@cO6`5lVOwgZ*k zb~Lx&XAIua?oS@#DD5xpUk9@)dnRtdo7j<~Z>i z+rT&@E9M0*9SS^)neUF`fL8RkaSJHlk26({|FLsmf61!rwkQ%WnDH1*ol-h#z?PJb zFt#s_8g_#1$)U3P9sp+2yC(IN`oW==TXDNRA@U_3>FZX0kR!gsw1xt#P{93x_Ylsw zelXy?z*5>b3LL`GAOLn8xC(x>Cx+ZCf91zNggp&t+#t{lM zs0JT_MV5!4CaL2upF%)zW+BEM{MuBDuS%k2O>V&B1wuLy7jQ|Qsyz<+NF4e4sCFIs z;%jMKL7+?$3DHQ`J6Ni4DC1l|9lr>f}Wv*pI+A4(-B!@%;%@7`-t4o7xX*5R)(5 zB{X%Se6h8v*6Z)?V|~$!OJHYhWW9{fq2(cDE%@fj^l^gN```4Ek( zAH>E!^G*Z|(!Kb`)6bxIJ8t|dMT&HY-Lo-G`f$?zr4h0_?NrItI6lbmsga~ttw}FX zIDq$n+Zn4tA2<44LrlKJ=*!&&Vu}ti&UUVUk0`yH@)OY>SdFs3KJwyK;;cvi$&|*QJ21pL)1YB zqI?^YYikYwqk|MtcYNYZ>xaxXBZ)u!zpmPjziYy#{N1|UhD#jg=11K-zzga%UdJtr^g&!dieYU+-?S-DNEiK@Q(}ibGR36e~GwGN5952!5=N*nhcM_xqSey zhDmjojHkS>1epLJvR=**glv}>AArsFBO-4%4<);Ye>Ir;=(=v@?q-(Xt@MvH8YHJ& z=^tg)PVWtA+=||C=hjze1-#a-lQ7z(aGjxZh;{)5} z`tc({Xt~Y49|$wPvSzF1Q&adSqYdO;l^%)7sEK@)n=m_FJqdLLPLbFlDP1O@W~2Vb zM{`VOARz*-x@tvW_EY1X!vfm3>LGkbb>mfs_l2@?HxKLFm(%PS2pPllK7JxBt4|i6 zpU%GjnS=BCOUOgz(1JVqckWR5HV9m0xfS4lMc>BeXK37eLaDFM9K;usUGQlt{K@ZM z!Daj)F1VQJAegYXQG=#SC=TbBety4W9IG<;cJkB}u~`x>J9x3EzN#)a#MZ65`INaX z#{G>TnNnxiLRE&lp7EpFg_$#hVox2C1UC)*08`kzV!UBhQ5{xN4f)WKS{4+FBh8E(CJct*X!v zdpQf9sWeT?GRN}yqA!4e)v$pq>j$u$cu*CwdblU+RdsJyAc!l=O8Zb1_zYY zY6sa0?UQns+;v)&oFOFYaftm`YEdHt9i;2?l@c6EE(>Krq1c!*2W?5BpT;uAN{j64 zn)Qi{A~m_fgS`p*HSnjkI%qkO8{uQ0b1d@|G?iG_E!$cfN^+LW3?@EhhB30LttTak zoy8Hmc`}xmJsJEk_=d&3|7UEjQEZp0S&1ymsEwmRW9|JxvxnCAc%RBeZARP@a$uwk z*A*F+RU2;4S-uw~iH9MnsJg!+TDs$ArsI70oH4Bbh*-w4yuvHj%@Ay4t zFz9VvcUZUN&#rDZEzDQO(eI@azJtCCqsFGmB5{h^9dDU^GgjF@sEzLVkejo2+DH@e6=__MJyl%@GMH{=L zkJic#gO_#qdC=&%gsG`onCsS8RR7Ytf@LH7%IZ+QQue4UtGiIau=zflZUKwf@p7vB zvoOZvx~cj)b_nFCA3O`Dj_D8Au;#7lGD0Bk$viYQFIlLlxUo||eZE6t?8&UevC>VF z`0i^anPaB$WIfwYwr(ZWa~{jc(&~X-yD|Jcxv(6a;m%a^+HYk+=kLb|92S}6E(K%? z-&(n^TmSg@#IFKv0VjegJ7Nkq+Nuv(-nrZ~r}Bvw^JCOdLU(%NiLLnBw!E{ZEfaPQ2nZ`S*058r(cUpF}l=X5Ii2U^V;L-v$(M0u9Gc_ zG0TnpfESjSICVDb59hWUxs1Ezy-LZO_9S8dt*LePqpVDw+_b9R&Ylm0#lzV$v44)e z8hU%k-4RUHvzOIlRNkrW2BI7R=UMf z@)jq4$1^`3{Fuk4H5k4j$qITnVfEhfhG|AsX5<0lAsF|86mL3uK9sO+SfthD#sy-wLcZ1DJtXb5Hf}#dTenY7Uz5%ABA#!6net)WisWCC-A2lh-!);lT9j7A@unrn1Y_gzv8~`V zNcuE3#0dKgy%4H@$to05$vpOL>VH{)hjoeWZ^+oFLwU6)mp62hjyc%mH8n-%FxB=t zNK@sNeMD?-?Xn8^jF$Um_{Amrb*Ng+ouR(*DtflQ_LXkl^HrT#stoIgqrX(=owp0P z%woZyit7S5JPOQ$-pa@CAdp{KPw-n?rcFTon`dWgtdDnEcg8uji@I&ZBXYS@C2K>w z^Jw}DT;59tA?eqJgu_4wQ(5JXC*1NTF!&ver;@LFVqGw9Qrb7URQ3Fq-b*D=(_Kfm zESI&0F{$(}A@*4u2;>|y>K*5z?HBb5%r@g&;PQnRL47}WC1ky)ns3zFV_4VK7u->XZJ zf3`V5CM`iRksFQ@{U$`xVMH|5Y`UH%GAo0!k|eptP093>BE^a3if5}6J72K7Z%|`I zH1Fh6D{ReFG5Ed-tFg;gJofeF4WQ=};Rlq7x|b*MM7q3>jBCz=wN6_P`zQN5+xI(m zW;;lqVvouDhK9mROB0GPQ&mRmV;Yh~bg^%%EM!(Q)Unk6OI!cDl&Do?7`x}Q_=d(($$e-l6O%LJDe0!oy7&KoaAdt zMbX`2FuzS#r`n3ypYl_V(t^YLM(ugnd8$hfhcN=D#gT%dFvg%M98)@O2ImVS*Lz*6 zsyUVx<>snjHVqdIcds9h+6x&iO&cD2CRS#8M(%ktev;WWG zpIL+Eqi!LSg{$Q>eI`V$pJ|NJb##;NX1Ap2XeMEVd10x}2>UUDT9M2RTb(F2x}=Sv z9$}$6>z@PhSY3HLamkQ-G5*%-Q4CDfv5!y1Lg_?Ho_16riVPH#q8ttk20{^wVq#Au z{Mb73D>)QVKNAPCBdLX)5FYyjX>3}1t8ZSn{nD3sx~L$uknZ!P$ZlbU=U&bEmv*X} z8uzcSz}|52>POA9jExv~FLx-QL_X*+msJ^(H&A z_^p{K?nClgKvJimpz_><(kiJS_jfVAjxQeQq8i5ch#ywIza0@^@v7P z4iih))Qa8^e3TA=uaZa+vw3A@e}B=VI_*MXOUrN%XJq3*&ZWl@zj~1oP;WGxD7gi1 zc%CjIH)}mRdm1v0+Y=8n;e(w3t9PkqS!wKocTyx*xT?JBvReb-$yj47`+8N4 z)kF0fghFNIkWt@Mm9e;{2nUB&yb)NqQ$`54IIwA@b2SudbmXjy_)9c2@rwt!5d*Dj z1*dtGd=8cuh)qWsmYDO2v`#mD{Xh5IMotRLSTYRrhZjrH8nSvV~Kq8dX)40 zXKxvEjdf<@o3H^hcjZFc^Z(c0nTIuXXMH?Kt?jrl9Y-k&L~DexDhMbT14)-xX{wm9 zDpA?2Y$BV6C13(^M5Pr44ay=*+B%5Jk}9&vrXovN5(NPvKoCL#CTs~3$U5ieJAceP zGk?DSyw4+l!1G*gZtne^bH3ltIZ1AoVK6W9JNhcV0$x8(DEWR32J;t*t>ag<>Mm}8 zz(v*ON>ab1IujXl^6Xei=DkB-X1XwQC#)#B{e~T3 z{T2Q3nh7#nDIk%im{LM{>pCevCo6)Fw>JKGSu>w7Rn7Z+t~ZdA9XHoYX0r?`mH;+p zCnqOwB}(&&@9xR#4Ej3N{2*g0XQ@ra&~kS8W)}y~4|9S;+eyBa!Eo0kygTmIp=CX9Mg%^p$8wK3j z$A%-WuC6vUvmH2IhMg~M=x<8`riY#iodMB~Yht}TqOg%KzCKz>^Jj}wIa;x7O|yTx zR~nqIbd|BV>x!9!)zsOZDmHE^rinm&s@b>B5lBmokQoCqnmwreWk(5Hzur|*10h!l8Ndu z^N2P(SQt$?tJSG?<|=a{*r)Zzrh^YpG+gf4o*dM9$A4zHVc}Ii@#gn=>_ARjnc;Pu zY9L)zEp@@qJYT6Srq^sXah`rM6$h_P^+@0n{2(^jCd?sY{8Y8l5wEYu>bGrhO>Rpt zA>JwV$bMhiT$% zSE&PMq0Oqv=j?c%Ilcc(rTT3_M3V(wTv)YahtZF7&S1Rex!Dt7+}@#UAG&VR)TO9b`Bgmt<-i-*s`gd?4DR@#@;1 zy4Tu)sd)P8t;cRa0JkKeV%>~r z<9X?Gw%@RdW?l>q=63EUZ0+%3#aZpkxOR}@vO~&Y#W$v44YzWo#@P9hX=Qc#;IPWkG-rsr86jHkc=gRW;}y-2)!y&2XGWUBY30SD zK%M#>d5iNB%(;o6EK(@t*7i-X9t^iSB`kEn^PfI@pG&UTxb0vaDiO<2wqkvKqKN9t3G=$f4>`*O1(qjN?n+YtE2AK(!D7B`A@X2qs1KBUc>w&D2`O&1#v~RG-{f zKirU{RDt}AzkS;R(Pc@VEw$|zyH}AF;#7*{enIi~Y|q%yo0&U;-J=JhdbC4JNX_&* z&49dG$$wuWlaK%QID&KW`be<}8)U4SRIkpy0#9)R5&C!|Xqw1GC`EhIJzNgdaY%vJ`fjudf zITx3j1`Iro!s})`9e#Xv;R>WeqDAzP06}gJZhUO)ySyKG?|OVVn-1RbQw`7si%mVR zWrf$`o3Jb{zC7`#by&lEQ^{1VCO|zqj-r$qn42jpuCnoMN^alLjo(=k(B87t zw))!7E3M}!H}Cgo%8;i5bN*G|_X>BNzd&uQg>q}E@)PWa*8AzGVVlNipwS6rC_s)^&l zAs_GrzKvIS*VcclfI^((Fx2Du*5p&A$H3Uwn#rp0k_Uq^BUkatHiwdtWP%l$s2it9 z$MZRS(8;oQ6Oci|<4J^H4Mfp=qmzAT-y;!&`ReWg{JU2NBNj%}r9WHejE103 zrasw#D|zk({tcH`1vzGAX(t<_a9yXOQaMh=@jm5=y~Yhs>lWNimGvh zBlm@*V}iD?S!i}8viI6l;(XK{=^ZDx+e6%NJlORi1QDss%infaj^D}Z=<2%ZUQp`B zje-*0NPhhIF-;g+K6>|da-Tf=-oboHfsgJKNXt#!LW6DmbuiDomnTC;2p?fEWetv$ zr@KaP9HhOymmfAaZ$aF=r_XMqncaq14wjO#!blrxURIKn|Y&ywV|7 zA=Y!@+(zew;S_c@OTQ2+C5S2;de-7;em0NCep_Z{@0ZmCAz+cq-a1xubn-wYh_nO@ z$E{{iwVCQ2>yP~LTN9Vasuj~$BLSKG#Ld?c3!nntmua78cnx9bHt669I|l}IiJyM~ zYjYGXxDphC)@T+u+vLgy;=wlmwmYdz_@wM`>EqCn78IaD&q{l;f=7v0Ts7}-O!*Xp z(f5ZOK6k~^WtUU`>2L4s&$(4zJ-QVr0)Fd6);vI2j({m~Fxz?hxOe=*sCGi657kdj z>21gzFJE3qXzS(W1*qMcjgO$c+->R)Jd#PEhw<^!?Coo=zLLFLX1;SgZ(E6o2Sx0%9^GkRy#(84c3DjtraH`Qd(A>(!o(EbbENCh5wYDW)|7G39i< zi8VQyq@Q1gB|3`?dewV$Q_Hx5XBU^I;=tzH|F*<312~2N#6(4&slRsstDjCR5yfl# z0kc{K@pC1S(a`}0ok}n}-l_4?KnC%{swUD5YObLLQ5#e4i)FO4K5+%Ju*T~Nf;uHH;|PGOXd3Q^*sf1n9^g>v?Z7!TfY0^=9wle2k8%T zB4h>Cp#QDECR*MC4Z@9AotmB>Ns&HZN!iD~vewCFrPaRX8r5JHLLd{8_B4N&tWYl{ zjQx^8dv(Bd^g)wlE5gwfrg(#{i8%KlW%NxVmJh+`HoR`WzQN(-i(gQD;o*@eZE>+s z8_KcUDPf9!57}=?HZ8DwZoLV~88V=~AXoE_%W`qGh&p6Ap+rDY2}Ri%;^;)62RBCc z`ltKrwF_pBA+LiiolvlZ_ct9O`)p@wgd%=N-d-h=o^+r1Sp5vvVCOU#K|j<&9C2jGJ|Qav0a}Msp6rRSNq>lW>9Hb1 zg26%HoQmrOW+~TOgr7!C>l3u_43PQ0l+PiN1Vl~99k;AB+|klghY?^EdX(EFe7w9* z+~4D11@aV8ei&}fIgm3q2LrnOgozt~id&LaZ|##iR{LoBdhAa;|H;i#7!xd{-U>T( z?~o&*%+AKqlCeY9!=)(Hrm-BRg4YX%3fziP5Bcx|JJf03E>hn>G!Z`c`ogCxQU8bI zfkvj{C_py>(ooNS9RxExIs{rkaz~vdj_eJ*>nc|R2oO5cPjv|D_&YUc#g2IG zJe3(Pj6fXk8rgJQ94y4GFInw~1>Bg=tSOaG% z@DQoHt4A!Rnn~Jv(rnZ24*KEI&~SzaYJO0S=~6_*oO8o3?Z4*n|WHln{w)29gL6*|d+q-ZnWfh1~M(E-HW#chd(k)0l zd+VIYA5aOrH(8B8Fdl-@?_EbijF)6ot7@j&L0z)YMlx-xMkN8FZv}O~h6+7a!LwE-V72R7)3&xEiF#C8 zI;s&F;!$pUMfYwDX9$Ig5v*ZnYr3rf5WTin69YD(#@79l)QPh0BB40@y%O}Fadj^| za(%orKd|fm;Y`QSV>VUthwq!jiZde$KE2ifiEf&$PcCvswBRUL#Xy9@`*!cCnRV~W zt(*&BnBNrMfY;G3f3^+?+HMi}$6o>p=8P)AK+9D-hbVk7HT{ckAsbUm8Zc;c+>7(n zA<@T}C&7V#0Q~;z6=aA1_V}zter*|cFu~x?cR>L5q@2mhj#rQ4Rs9i$7xmz``oz%M zMKoDaIrN^Pb2~soooGxTLC*CF`^B3*ccHw~l!5&ORRKb}q~~);Woo5lC9W1&KNayDiJf7Ut7E z-i%NbF!R$-jL`66_A>Q2+*T1;s2n1O$~6M{^F>qd*OuWh&x%b;NnUvq;LW4w{Dtx$E;szy4lYWQ_yVsVC+J# zAU^Hugpc7yzTynuWFDM<2`>T*^8zv(4(Xf9X}V&Ty8hcsVxU?%Nj2L^p}lf&<%kaEzxP9}tDN7>WW^luDtFk1=tgZ>+4O?MC6 zMieMfwAu<*Qk-8J=J(px+<>MM^%vh4xwl?kwYdW%dST$I?7RD2Z>>n-%);{Wa)b2h zf$KQbECZT4u5ATQ*VuN&^%N#9-IGSHoz1fa(Dj43k=ba>070bGcng4q zXq|3Oc?AWVi`;{=yk*e5>}5wrMUBE3t@VJbMQJY{895auB!$OHza%S?e6(M5-f`P| z`{nCKI*?~bQfTh^sFqFnVvw={`3xEX)oDj<9iTF@&or8m)!oOawx0Wq-^f%fC zS^-uD9r^U0ZU4Q~-tZNSeonln@c+=0|7goU?EJ4oiVv&tVKx5g+#f3CUpeH%YW&}= zMq;UB1ALRfEA$-!9|Y%v;Cv9A|I+yUe-s>vVaZ2%io~YN=enRV!;p9H|DWP-j-USr DgzKMq literal 0 HcmV?d00001 diff --git a/test/fixtures/app/doc/screenshots/linux/selenium_chrome_headless/index.png b/test/fixtures/app/doc/screenshots/linux/selenium_chrome_headless/index.png new file mode 100644 index 0000000000000000000000000000000000000000..6a97dd88a7f3a91d158031eadd9f348103a6dffe GIT binary patch literal 27983 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 literal 0 HcmV?d00001 diff --git a/test/fixtures/app/doc/screenshots/linux/selenium_chrome_headless/index_with_skip_area_as_array_of_css.png b/test/fixtures/app/doc/screenshots/linux/selenium_chrome_headless/index_with_skip_area_as_array_of_css.png new file mode 100644 index 0000000000000000000000000000000000000000..66e82905fa8f7c295f26df8c29b2ca7e620fd685 GIT binary patch literal 28516 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 E0LTDC*8l(j literal 0 HcmV?d00001 diff --git a/test/fixtures/app/doc/screenshots/linux/selenium_chrome_headless/index_with_skip_area_as_array_of_css_and_p.png b/test/fixtures/app/doc/screenshots/linux/selenium_chrome_headless/index_with_skip_area_as_array_of_css_and_p.png new file mode 100644 index 0000000000000000000000000000000000000000..66e82905fa8f7c295f26df8c29b2ca7e620fd685 GIT binary patch literal 28516 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 O8-u5-pUXO@geCw){?~#4 literal 0 HcmV?d00001 diff --git a/test/fixtures/app/doc/screenshots/macos/selenium_chrome_headless/index_with_skip_area_as_array_of_css_and_p.png b/test/fixtures/app/doc/screenshots/macos/selenium_chrome_headless/index_with_skip_area_as_array_of_css_and_p.png new file mode 100644 index 0000000000000000000000000000000000000000..805cf6cad767d853b6969be9dd3aa7b64a6fa705 GIT binary patch literal 20549 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 O8-u5-pUXO@geCw){?~#4 literal 0 HcmV?d00001 diff --git a/test/fixtures/app/doc/screenshots/macos/selenium_headless/cropped_screenshot.png b/test/fixtures/app/doc/screenshots/macos/selenium_headless/cropped_screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..50e5ee847f18a34a87e1b7b1558fc51820dd6f72 GIT binary patch literal 2712 zcmb_eXH-+!77ic~dI$kRQOHmYLrDlhozMa*2+~11NGKvm5ip@h4Q=REDN+;_l-@!5 z&;%V2=_5r!zywG@s#0DUo%QC|`}OWx`|fXl>%04$ea~5EpEyJPs~oI?tN;LjLq}W7 znC6{M4ah`$dw`m}Da?Q~G)4i5P@qfw zf$3-&0EIt!gn|NH;g5_bCjbC_;g5``r7-*p(?Y;ij0rQXrr&k6G)xJ3>v`mOeS1j% ziU@T=rm~gV%_g5=Y;2q+t|QJZfz8lujv6?+G;Lpp8^$OOXS?=UEH<{+2j%Sy`)9=pGsF7-1KlSk7t2b$^6n;RN z@30@;qsgrVcGsrG-0o54WGC79wy&bat|k%9UYbX7p1mZFtiL@DuXCT&KMp-U zyokCpgF?BDisz|?sCYfY4oa^N$w;fa*JcHDnS(-p9I z#o%w-=f&P`F82Qs&o7@A1U*KbjaJvATDa3qTKEnP4W(~a+IMg!pHl&gNtn-AH+nh` zq{f5v)|RZz&9f?}LfLop2R=0W_WG4e;`JsURvAeSlIPlj9Ostt%WtyNk}gyz<%eN6 zi&m9Bjy}~*3+YP`DDo#yfKi;auNp=@uxO8|l+@wXcTe0)Uqowk5f@r5TM0g3wC4wD zA8Eel29-Z&l6QIpV{X96=sduql@Wl5WX@jEsz6lT9XMEU+H4i$U5Id4PDZx?0P9VG%3> z%AR@bRX*w$-=tA(4RX=fU96=8c1Yt}A9~_=p5}%Ftk|5!qd=pJxgB_lT@4U>w1|Mc zA;spR+>8l_`_+Dy8R6B#f~=C_`PH`^;MZhC^UWl}vb2O3`_iQh(l#PG`<>7*Dg8X{ zx%6a^l|x6!QQ9Gt2fCoK`zv{*NK*%2szs`s0UyVHAyUE!0fw+JP!nS%Y_>;zZxFQeNcwr?w>gx_ooZ1h(>M==*vzkb+xz-4$!7FeqNDyhN zejDV%k#KLKGbAI&rV-bdQ0lnMTnD_LG!wEmRc%Un@}MLx1%>R@z6`8qGznOX?p2TR zA7}LwVQ#+<*Y$s>=$a%=?F?rS*h93HDA%A3g>2-oqk|AJURaAtqTZKw$mTL{S>uHl zxALKzoaZnPd)n@QN3%l})Y-%R*w*Zf#YA&)O~b6*`9c_i_ouIOuke+AED+!dPi91g zq`5HD_0jFMX_G^-;!;_dDQXLlVKDnATug;Q=FWiqS!)79Lk_$3nkW)|cd4fI=`X}C zOas+XC-M7@L!ll`)eOM>z#;kShUl~odukPuT7kfSRnv77F?*97W%lqf) zs-ayGjE}V{%mSnnTF00E)Y6pESH({8_3vUJi9%u3-0BU3l|(~gQTZkqD|J^i>*;Rp{BdWDG7c+n1>;A#V-%TkZ41T*F zB`FB;jhas=(B1VJr2{T*pXu!b4=iiy`73rTj1^mJ>^tgpxK*& zRI$&O&QS%p4B?(8pP+@jdbyUQX1_1SaX9Px2p`P{YhgLSY=xT<#feg&16G6i{P+|o z0=AaBqIS?%_%dGQ(KT%tvUfliDF2ypQ<>S^^QuL=Ct4u4Wyi7zQi!CgD(AQ0E-dzrUE9* z#0uB^p10h{M}nU7q@$2;3)IvW0g+bR*pq86Z-h(Azc~*Up2KTO8#4!wdd;`1#6^mp z#T&XDzUxIA#%jGAvm1Ck&qPX=sshPR?)Tom&Jch}&TCe+V!L=I{5AWv#2eaJkd|R- ziuKp`QTPKV$DCwgpT?{lP~i~vV56{)jLi3_stOOsOdjSe8zjC~dR6E@l0#@niDXzs zul}OpUo*}usy=VRpB+1-^o+i7S1^*tk^N`KV`hf3g?NV{_FH~EJr2595KOe@cDMk* zQ6m`=y0|zMnA9$G{%<1siu=&k54AT6_|LbD_DoLyj6#I|Ysmj!aLBf-fRE<^uOm)x OXF8YlwJNX<5&r?TAG$99 literal 0 HcmV?d00001 diff --git a/test/fixtures/app/doc/screenshots/macos/selenium_headless/index-blur_active_element-disabled.png b/test/fixtures/app/doc/screenshots/macos/selenium_headless/index-blur_active_element-disabled.png new file mode 100644 index 0000000000000000000000000000000000000000..ca0d48437019af27e91019f9034bb3afae18f273 GIT binary patch literal 21694 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 By1@Vd literal 0 HcmV?d00001 diff --git a/test/fixtures/app/doc/screenshots/macos/selenium_headless/index-hide_caret-enabled.png b/test/fixtures/app/doc/screenshots/macos/selenium_headless/index-hide_caret-enabled.png new file mode 100644 index 0000000000000000000000000000000000000000..ed2f48f4347b9d88488cbc1023597b7042d58550 GIT binary patch literal 21080 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 nil, + "autoplay-policy" => "user-gesture-required", + "disable-add-to-shelf" => nil, + "disable-background-networking" => nil, + "disable-background-timer-throttling" => nil, + "disable-backgrounding-occluded-windows" => nil, + "disable-breakpad" => nil, + "disable-checker-imaging" => nil, + "disable-client-side-phishing-detection" => nil, + "disable-component-extensions-with-background-pages" => nil, + "disable-datasaver-prompt" => nil, + "disable-default-apps" => nil, + "disable-desktop-notifications" => nil, + "disable-dev-shm-usage" => nil, + "disable-domain-reliability" => nil, + "disable-extensions" => nil, + "disable-features" => "TranslateUI,BlinkGenPropertyTrees", + "disable-gpu" => nil, + "disable-hang-monitor" => nil, + "disable-infobars" => nil, + "disable-ipc-flooding-protection" => nil, + "disable-notifications" => nil, + "disable-popup-blocking" => nil, + "disable-prompt-on-repost" => nil, + "disable-renderer-backgrounding" => nil, + "disable-setuid-sandbox" => nil, + "disable-site-isolation-trials" => nil, + "disable-sync" => nil, + "disable-web-security" => nil, + "enable-automation" => nil, + "enable-features" => "NetworkService,NetworkServiceInProcess", + "enable-logging" => "stderr", + "force-color-profile" => "srgb", + "force-device-scale-factor" => "1", + "hide-scrollbars" => nil, + "headless" => nil, + # "headless" => "new", + "ignore-certificate-errors" => nil, + "js-flags" => "--random-seed=1157259157", + "log-level" => "0", + "metrics-recording-only" => nil, + "mute-audio" => nil, + "no-default-browser-check" => nil, + "no-first-run" => nil, + "no-sandbox" => nil, + "password-store=basic" => nil, + "test-type" => nil, + "use-mock-keychain" => nil, + "window-size" => SCREEN_SIZE.join(",") +} if ENV["CAPYBARA_DRIVER"] == "cuprite" + # NOTE: do not require cuprite by default require "capybara/cuprite" - CHROME_ARGS = { - "allow-running-insecure-content" => nil, - "autoplay-policy" => "user-gesture-required", - "disable-add-to-shelf" => nil, - "disable-background-networking" => nil, - "disable-background-timer-throttling" => nil, - "disable-backgrounding-occluded-windows" => nil, - "disable-breakpad" => nil, - "disable-checker-imaging" => nil, - "disable-client-side-phishing-detection" => nil, - "disable-component-extensions-with-background-pages" => nil, - "disable-datasaver-prompt" => nil, - "disable-default-apps" => nil, - "disable-desktop-notifications" => nil, - "disable-dev-shm-usage" => nil, - "disable-domain-reliability" => nil, - "disable-extensions" => nil, - "disable-features" => "TranslateUI,BlinkGenPropertyTrees", - "disable-gpu" => nil, - "disable-hang-monitor" => nil, - "disable-infobars" => nil, - "disable-ipc-flooding-protection" => nil, - "disable-notifications" => nil, - "disable-popup-blocking" => nil, - "disable-prompt-on-repost" => nil, - "disable-renderer-backgrounding" => nil, - "disable-setuid-sandbox" => nil, - "disable-site-isolation-trials" => nil, - "disable-sync" => nil, - "disable-web-security" => nil, - "enable-automation" => nil, - "enable-features" => "NetworkService,NetworkServiceInProcess", - "enable-logging" => "stderr", - "force-color-profile" => "srgb", - "force-device-scale-factor" => "1", - "hide-scrollbars" => nil, - "ignore-certificate-errors" => nil, - "js-flags" => "--random-seed=1157259157", - "log-level" => "0", - "metrics-recording-only" => nil, - "mute-audio" => nil, - "no-default-browser-check" => nil, - "no-first-run" => nil, - "no-sandbox" => nil, - "password-store=basic" => nil, - "test-type" => nil, - "use-mock-keychain" => nil - } Capybara.register_driver(:cuprite) do |app| Capybara::Cuprite::Driver.new( @@ -70,5 +74,15 @@ end end +Capybara.register_driver :selenium_chrome_headless do |app| + version = Capybara::Selenium::Driver.load_selenium + options_key = Capybara::Selenium::Driver::CAPS_VERSION.satisfied_by?(version) ? :capabilities : :options + browser_options = Selenium::WebDriver::Chrome::Options.new + CHROME_ARGS.each { browser_options.add_argument("--#{_1}=#{_2}") } + Capybara::Selenium::Driver.new(app, :browser => :chrome, options_key => browser_options).tap do |driver| + driver.browser.manage.window.size = Selenium::WebDriver::Dimension.new(*SCREEN_SIZE) + end +end + Capybara.save_path = Pathname.new("tmp/capybara").expand_path Capybara.javascript_driver = ENV.fetch("CAPYBARA_DRIVER", :cuprite).to_sym diff --git a/test/support/setup_rails_app.rb b/test/support/setup_rails_app.rb new file mode 100644 index 00000000..21ae0829 --- /dev/null +++ b/test/support/setup_rails_app.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +require "rack" +require "rackup" if Rack::RELEASE >= "3" + +# NOTE: Simulate Rails Environment +module Rails + def self.root + Pathname("../../tmp").expand_path(__dir__) + end + + def self.application + Rack::Builder.new { + use(Rack::Static, urls: [""], root: "test/fixtures/app", index: "index.html") + run ->(_env) { [200, {}, []] } + }.to_app + end +end diff --git a/test/system_test_case.rb b/test/system_test_case.rb index 4d83a0c9..0526fbe5 100644 --- a/test/system_test_case.rb +++ b/test/system_test_case.rb @@ -1,16 +1,13 @@ # frozen_string_literal: true require "test_helper" +require "capybara_screenshot_diff/minitest" require "support/setup_capybara_drivers" -class SystemTestCase < ActionDispatch::IntegrationTest - BROWSERS = {cuprite: "chrome", selenium_headless: "firefox", selenium_chrome_headless: "chrome"} - +class SystemTestCase < ActiveSupport::TestCase setup do Capybara.current_driver = Capybara.javascript_driver - browser = BROWSERS.fetch(Capybara.current_driver, "chrome") - Capybara.page.current_window.resize_to(*SCREEN_SIZE) Capybara::Screenshot.enabled = true @@ -20,7 +17,8 @@ class SystemTestCase < ActionDispatch::IntegrationTest @orig_root = Capybara::Screenshot.root Capybara::Screenshot.root = "." @orig_save_path = Capybara::Screenshot.save_path - Capybara::Screenshot.save_path = "test/fixtures/app/doc/screenshots/#{browser}" + Capybara::Screenshot.save_path = "test/fixtures/app/doc/screenshots" + Capybara::Screenshot::Diff.driver = ENV.fetch("SCREENSHOT_DRIVER", "chunky_png").to_sym # TODO: Makes configurations copying and restoring much easier @@ -28,7 +26,7 @@ class SystemTestCase < ActionDispatch::IntegrationTest @orig_add_os_path = Capybara::Screenshot.add_os_path Capybara::Screenshot.add_os_path = true @orig_add_driver_path = Capybara::Screenshot.add_driver_path - Capybara::Screenshot.add_driver_path = false + Capybara::Screenshot.add_driver_path = true # NOTE: Only works before `include Capybara::Screenshot::Diff` line @orig_window_size = Capybara::Screenshot.window_size Capybara::Screenshot.window_size = SCREEN_SIZE @@ -39,6 +37,7 @@ class SystemTestCase < ActionDispatch::IntegrationTest end include Capybara::Screenshot::Diff + include CapybaraScreenshotDiff::Minitest::Assertions teardown do # Restore to previous values @@ -86,7 +85,7 @@ def save_annotations_for_debug(comparison) end end - def validate_screenshots + def run_screenshots_validation return [] unless @test_screenshots @test_screenshots.select { |screenshot_assert| screenshot_assert.last.different? } diff --git a/test/test_helper.rb b/test/test_helper.rb index b5a85dae..f61fdfee 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -16,33 +16,16 @@ require "pathname" TEST_IMAGES_DIR = Pathname.new(File.expand_path("images", __dir__)) -# NOTE: Simulate Rails Environment -module Rails - def self.root - Pathname("../tmp").expand_path(__dir__) - end - - def self.application - Rack::Builder.new { - use(Rack::Static, urls: [""], root: "test/fixtures/app", index: "index.html") - run ->(_env) { [200, {}, []] } - }.to_app - end -end - -require "capybara/screenshot/diff" +require "support/setup_rails_app" require "minitest/autorun" + require "capybara/minitest" -require "rackup" if Rack::RELEASE >= "3" +require "support/setup_capybara" -require "capybara/dsl" -Capybara.app = Rails.application -Capybara.default_max_wait_time = 1 -Capybara.disable_animation = true -Capybara.server = :puma, {Silent: true} -Capybara.threadsafe = true +require "capybara_screenshot_diff/minitest" require "support/stub_test_methods" +require "support/setup_capybara_drivers" class ActiveSupport::TestCase self.file_fixture_path = Pathname.new(File.expand_path("fixtures", __dir__)) From 08c001c6844889f949b6b824b28fdc9ca910e713 Mon Sep 17 00:00:00 2001 From: Paul Keen <125715+pftg@users.noreply.github.com> Date: Sun, 21 Jul 2024 18:41:51 +0200 Subject: [PATCH 248/312] refact: drops rbs usage (#122) --- .../setup-ruby-and-dependencies/action.yml | 2 +- .github/workflows/test.yml | 17 ---- Rakefile | 10 --- gems.rb | 1 - .../screenshot/diff/stable_screenshoter.rb | 20 ++++- lib/capybara/screenshot/diff/test_methods.rb | 48 +++++++++- .../screenshot/diff/area_calculator.rbs | 23 ----- sig/capybara/screenshot/diff/comparison.rbs | 14 --- sig/capybara/screenshot/diff/diff.rbs | 26 ------ sig/capybara/screenshot/diff/difference.rbs | 33 ------- .../screenshot/diff/drivers/base_driver.rbs | 61 ------------- .../diff/drivers/browser_helpers.rbs | 37 -------- .../diff/drivers/chunky_png_driver.rbs | 89 ------------------- .../screenshot/diff/drivers/utils.rbs | 11 --- .../screenshot/diff/drivers/vips_driver.rbs | 25 ------ .../screenshot/diff/image_compare.rbs | 89 ------------------- sig/capybara/screenshot/diff/os.rbs | 11 --- sig/capybara/screenshot/diff/region.rbs | 47 ---------- .../screenshot/diff/reporters/base.rbs | 17 ---- .../screenshot/diff/reporters/default.rbs | 41 --------- .../screenshot/diff/screenshot_matcher.rbs | 60 ------------- sig/capybara/screenshot/diff/screenshoter.rbs | 48 ---------- .../screenshot/diff/stable_screenshoter.rbs | 34 ------- sig/capybara/screenshot/diff/test_methods.rbs | 42 --------- sig/capybara/screenshot/diff/vcs.rbs | 17 ---- .../screenshot/diff/test_methods_test.rb | 22 ++--- 26 files changed, 73 insertions(+), 772 deletions(-) delete mode 100644 sig/capybara/screenshot/diff/area_calculator.rbs delete mode 100644 sig/capybara/screenshot/diff/comparison.rbs delete mode 100644 sig/capybara/screenshot/diff/diff.rbs delete mode 100644 sig/capybara/screenshot/diff/difference.rbs delete mode 100644 sig/capybara/screenshot/diff/drivers/base_driver.rbs delete mode 100644 sig/capybara/screenshot/diff/drivers/browser_helpers.rbs delete mode 100644 sig/capybara/screenshot/diff/drivers/chunky_png_driver.rbs delete mode 100644 sig/capybara/screenshot/diff/drivers/utils.rbs delete mode 100644 sig/capybara/screenshot/diff/drivers/vips_driver.rbs delete mode 100644 sig/capybara/screenshot/diff/image_compare.rbs delete mode 100644 sig/capybara/screenshot/diff/os.rbs delete mode 100644 sig/capybara/screenshot/diff/region.rbs delete mode 100644 sig/capybara/screenshot/diff/reporters/base.rbs delete mode 100644 sig/capybara/screenshot/diff/reporters/default.rbs delete mode 100644 sig/capybara/screenshot/diff/screenshot_matcher.rbs delete mode 100644 sig/capybara/screenshot/diff/screenshoter.rbs delete mode 100644 sig/capybara/screenshot/diff/stable_screenshoter.rbs delete mode 100644 sig/capybara/screenshot/diff/test_methods.rbs delete mode 100644 sig/capybara/screenshot/diff/vcs.rbs diff --git a/.github/actions/setup-ruby-and-dependencies/action.yml b/.github/actions/setup-ruby-and-dependencies/action.yml index 8692e288..f6023d2a 100644 --- a/.github/actions/setup-ruby-and-dependencies/action.yml +++ b/.github/actions/setup-ruby-and-dependencies/action.yml @@ -20,7 +20,7 @@ runs: with: ruby-version: ${{ inputs.ruby-version }} bundler-cache: true - cache-version: ${{ inputs.ruby-cache-version }} + cache-version: ${{ inputs.ruby-cache-version }}-v1 - name: Install and cache vips if: ${{ inputs.cache-apt-packages == 'true' }} diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index b96935c2..5d7c008d 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -79,23 +79,6 @@ jobs: retention-days: 1 path: coverage - test-signature: - name: Testing Signatures - needs: [ 'test' ] - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v4 - - - uses: ./.github/actions/setup-ruby-and-dependencies - with: - ruby-version: 3.3 - cache-apt-packages: true - - - run: bin/rake test:signatures - env: - SCREENSHOT_DRIVER: vips - matrix: name: Test Integration Rails & Ruby # Test on master, when a review is requested or manually invoked. diff --git a/Rakefile b/Rakefile index fa696d71..3d345bd2 100644 --- a/Rakefile +++ b/Rakefile @@ -17,16 +17,6 @@ Rake::TestTask.new("test:integration") do |t| t.test_files = FileList["test/integration/**/*_test.rb"] end -Rake::TestTask.new("test:signatures") do |t| - ENV["RBS_TEST_DOUBLE_SUITE"] ||= "minitest" - ENV["RBS_TEST_TARGET"] ||= "Capybara::Screenshot::Diff::*" - ENV["RBS_TEST_OPT"] ||= "-rset -rpathname -Isig" - - t.libs << "test" - t.ruby_opts << "-r rbs/test/setup" - t.test_files = FileList["test/**/*_test.rb"] -end - task "clobber" do puts "Cleanup tmp/*.png" FileUtils.rm_rf(Dir["./tmp/*"]) diff --git a/gems.rb b/gems.rb index e49c4a3e..e8d1ee5e 100644 --- a/gems.rb +++ b/gems.rb @@ -32,5 +32,4 @@ group :tools do gem "standard", require: false - gem "rbs", require: false, platform: :ruby end diff --git a/lib/capybara/screenshot/diff/stable_screenshoter.rb b/lib/capybara/screenshot/diff/stable_screenshoter.rb index b6bc1dc6..a49bda2e 100644 --- a/lib/capybara/screenshot/diff/stable_screenshoter.rb +++ b/lib/capybara/screenshot/diff/stable_screenshoter.rb @@ -8,6 +8,14 @@ class StableScreenshoter attr_reader :stability_time_limit, :wait + # Initializes a new instance of StableScreenshoter + # + # This method sets up a new screenshoter with specific capture and comparison options. It validates the presence of + # `:stability_time_limit` and `:wait` in capture options and ensures that `:stability_time_limit` is less than or equal to `:wait`. + # + # @param capture_options [Hash] The options for capturing screenshots, must include `:stability_time_limit` and `:wait`. + # @param comparison_options [Hash, nil] The options for comparing screenshots, defaults to `nil` which uses `Diff.default_options`. + # @raise [ArgumentError] If `:wait` or `:stability_time_limit` are not provided, or if `:stability_time_limit` is greater than `:wait`. def initialize(capture_options, comparison_options = nil) @stability_time_limit, @wait = capture_options.fetch_values(:stability_time_limit, :wait) @@ -21,9 +29,15 @@ def initialize(capture_options, comparison_options = nil) @screenshoter = Diff.screenshoter.new(capture_options.except(*STABILITY_OPTIONS), driver) end - # Try to get screenshot from browser. - # On `stability_time_limit` it checks that page stop updating by comparison several screenshot attempts - # On reaching `wait` limit then it has been failed. On failing we annotate screenshot attempts to help to debug + # Takes a comparison screenshot ensuring page stability + # + # Attempts to take a stable screenshot of the page by comparing several screenshot attempts until the page stops updating + # or the `:wait` limit is reached. If unable to achieve a stable state within the time limit, it annotates the attempts + # to aid debugging. + # + # @param screenshot_path [String, Pathname] The path where the screenshot will be saved. + # @return [void] + # @raise [RuntimeError] If a stable screenshot cannot be obtained within the specified `:wait` time. def take_comparison_screenshot(screenshot_path) new_screenshot_path = take_stable_screenshot(screenshot_path) diff --git a/lib/capybara/screenshot/diff/test_methods.rb b/lib/capybara/screenshot/diff/test_methods.rb index 5ea54a83..4b162ff5 100644 --- a/lib/capybara/screenshot/diff/test_methods.rb +++ b/lib/capybara/screenshot/diff/test_methods.rb @@ -15,11 +15,20 @@ require_relative "screenshot_matcher" -# Add the `screenshot` method to ActionDispatch::IntegrationTest +# == Capybara::Screenshot::Diff::TestMethods +# +# This module provides methods for capturing screenshots and verifying them against +# baseline images to detect visual changes. It's designed to be included in test +# classes to add visual regression testing capabilities. + module Capybara module Screenshot module Diff module TestMethods + # @!attribute [rw] test_screenshots + # @return [Array(Array(Array(String), String, ImageCompare))] An array where each element is an array containing the caller context, + # the name of the screenshot, and the comparison object. This attribute stores information about each screenshot + # scheduled for comparison to ensure they do not show any unintended differences. def initialize(*) super @screenshot_counter = nil @@ -29,6 +38,11 @@ def initialize(*) @test_screenshots = [] end + # Verifies that all scheduled screenshots do not show any unintended differences. + # + # @param screenshots [Array(Array(Array(String), String, ImageCompare))] The list of match screenshots jobs. Defaults to all screenshots taken during the test. + # @return [Array, nil] Returns an array of error messages if there are screenshot differences, otherwise nil. + # @note This method is typically called at the end of a test to assert all screenshots are as expected. def verify_screenshots!(screenshots = @test_screenshots) return unless ::Capybara::Screenshot.active? && ::Capybara::Screenshot::Diff.fail_on_difference @@ -43,6 +57,10 @@ def verify_screenshots!(screenshots = @test_screenshots) screenshots.clear end + # Builds the full name for a screenshot, incorporating counters and group names for uniqueness. + # + # @param name [String] The base name for the screenshot. + # @return [String] The full, unique name for the screenshot. def build_full_name(name) if @screenshot_counter name = format("%02i_#{name}", @screenshot_counter) @@ -52,6 +70,9 @@ def build_full_name(name) File.join(*group_parts.push(name.to_s)) end + # Determines the directory path for saving screenshots. + # + # @return [String] The full path to the directory where screenshots are saved. def screenshot_dir File.join(*([Screenshot.screenshot_area] + group_parts)) end @@ -68,6 +89,13 @@ def screenshot_group(name) FileUtils.rm_rf screenshot_dir end + # Schedules a screenshot comparison job for later execution. + # + # This method adds a job to the queue of screenshots to be matched. It's used when `Capybara::Screenshot::Diff.delayed` + # is set to true, allowing for batch processing of screenshot comparisons at a later point, typically at the end of a test. + # + # @param job [Array(Array(String), String, ImageCompare)] The job to be scheduled, consisting of the caller context, screenshot name, and comparison object. + # @return [Boolean] Always returns true, indicating the job was successfully scheduled. def schedule_match_job(job) (@test_screenshots ||= []) << job true @@ -80,6 +108,15 @@ def group_parts parts end + # Takes a screenshot and optionally compares it against a baseline image. + # + # @param name [String] The name of the screenshot, used to generate the filename. + # @param skip_stack_frames [Integer] The number of stack frames to skip when reporting errors, for cleaner error messages. + # @param options [Hash] Additional options for taking the screenshot, such as custom dimensions or selectors. + # @return [Boolean] Returns true if the screenshot was successfully captured and matches the baseline, false otherwise. + # @raise [CapybaraScreenshotDiff::ExpectationNotMet] If the screenshot does not match the baseline image and fail_if_new is set to true. + # @example Capture a full-page screenshot named 'login_page' + # screenshot('login_page', skip_stack_frames: 1, full: true) def screenshot(name, skip_stack_frames: 0, **options) return false unless Screenshot.active? @@ -97,7 +134,7 @@ def screenshot(name, skip_stack_frames: 0, **options) return false end - job.prepend(caller[skip_stack_frames]) + job.prepend(caller(skip_stack_frames)) if Screenshot::Diff.delayed schedule_match_job(job) @@ -107,6 +144,13 @@ def screenshot(name, skip_stack_frames: 0, **options) end end + # Asserts that an image has not changed compared to its baseline. + # + # @param caller [Array] The caller context, used for error reporting. + # @param name [String] The name of the screenshot being verified. + # @param comparison [Object] The comparison object containing the result and details of the comparison. + # @return [String, nil] Returns an error message if the screenshot differs from the baseline, otherwise nil. + # @note This method is used internally to verify individual screenshots. def assert_image_not_changed(caller, name, comparison) result = comparison.different? diff --git a/sig/capybara/screenshot/diff/area_calculator.rbs b/sig/capybara/screenshot/diff/area_calculator.rbs deleted file mode 100644 index 5cfc90ae..00000000 --- a/sig/capybara/screenshot/diff/area_calculator.rbs +++ /dev/null @@ -1,23 +0,0 @@ -module Capybara - module Screenshot - module Diff - class AreaCalculator - type area_entity = String | Region | Region::raw_region_entity - type flex_skip_area_entity = area_entity | Array[area_entity] - - @_calculated_crop: Region? - @crop_coordinates: area_entity? - @skip_area: area_entity? - - def initialize: (area_entity?, flex_skip_area_entity?) -> void - - def build_regions_for: ((Enumerable[Region::raw_region_entity]) coordinates) -> Array[Region] - - def calculate_crop: -> Region? - - def calculate_skip_area: -> Array[Region]? - - end - end - end -end diff --git a/sig/capybara/screenshot/diff/comparison.rbs b/sig/capybara/screenshot/diff/comparison.rbs deleted file mode 100644 index dfd01185..00000000 --- a/sig/capybara/screenshot/diff/comparison.rbs +++ /dev/null @@ -1,14 +0,0 @@ -module Capybara - module Screenshot - module Diff - class Comparison - attr_accessor new_image: ImageCompare::image_entity - attr_accessor base_image: ImageCompare::image_entity - attr_accessor options: Drivers::BaseDriver::options_entity - attr_accessor driver: ImageCompare::driver_entity - attr_accessor new_image_path: Pathname - attr_accessor base_image_path: Pathname - end - end - end -end diff --git a/sig/capybara/screenshot/diff/diff.rbs b/sig/capybara/screenshot/diff/diff.rbs deleted file mode 100644 index e8337a63..00000000 --- a/sig/capybara/screenshot/diff/diff.rbs +++ /dev/null @@ -1,26 +0,0 @@ -module Capybara - module Screenshot - def self.root=: ((String | Pathname) path) -> Pathname - - def self.root: -> Pathname - - def self.active?: () -> boolish - - def self.screenshot_area: () -> String - - def self.screenshot_area_abs: () -> Pathname - - # Module to track screen shot changes - module Diff - AVAILABLE_DRIVERS: Array[(:vips | :chunky_png)] - - def self.default_options: () -> ScreenshotMatcher::input_options - - def self.included: (top klass) -> void - - private - - def track_failures: (Array[untyped] screenshots) -> void - end - end -end diff --git a/sig/capybara/screenshot/diff/difference.rbs b/sig/capybara/screenshot/diff/difference.rbs deleted file mode 100644 index d695dfae..00000000 --- a/sig/capybara/screenshot/diff/difference.rbs +++ /dev/null @@ -1,33 +0,0 @@ -module Capybara - module Screenshot - module Diff - class Difference - attr_reader comparison: Comparison - - def different?: () -> bool - - def base_image: () -> top - - def options: () -> Drivers::BaseDriver::options_entity - - def tolerance: () -> Numeric? - - def area_size_limit: () -> Numeric? - - def blank?: () -> bool - - def region_area_size: () -> Numeric - - def ratio: () -> Numeric? - - def to_h: () -> Hash[Symbol, untyped] - - def coordinates: () -> Region::raw_region_entity - - def inspect: () -> String - - def tolerable?: () -> bool - end - end - end -end diff --git a/sig/capybara/screenshot/diff/drivers/base_driver.rbs b/sig/capybara/screenshot/diff/drivers/base_driver.rbs deleted file mode 100644 index 6fe0f05b..00000000 --- a/sig/capybara/screenshot/diff/drivers/base_driver.rbs +++ /dev/null @@ -1,61 +0,0 @@ -module Capybara - module Screenshot - module Diff - module Drivers - class BaseDriver[ImageEntity] - - type images_entity[out T] = [T, T] - type dimension_entity = [Numeric, Numeric] - - type options_entity = { - area_size_limit?: Numeric?, - color_distance_limit?: Numeric?, - driver: (:auto | :vips | :chunky_png | VipsDriver | ChunkyPNGDriver)?, - dimensions: dimension_entity?, - median_filter_window_size: Numeric?, - shift_distance_limit?: Numeric?, - skip_area?: Array[Region]?, - stability_time_limit?: Numeric?, - tolerance?: Numeric?, - wait?: Numeric? - } - - type color = [Integer, Integer, Integer, Integer] - - def find_difference_region: (Comparison) -> Difference - - def crop: (Region region, ImageEntity i) -> ImageEntity - - def filter_image_with_median: (ImageEntity image, Numeric median_filter_window_size) -> ImageEntity - - def add_black_box: (ImageEntity memo, Region? region) -> void - - def difference_level: (ImageEntity diff_mask, ImageEntity old_img, Region _region) -> Float - - def image_area_size: (ImageEntity old_img) -> Integer - - def height_for: (ImageEntity image) -> Integer - - def width_for: (ImageEntity image) -> Integer - - # Vips could not work with the same file. Per each process we require to create new file - def save_image_to: (ImageEntity image, String filename) -> void - - def resize_image_to: (ImageEntity image, Integer new_width, Integer new_height) -> ImageEntity - - def load_images: (TestMethods::path_entity old_file_name, TestMethods::path_entity new_file_name) -> images_entity[ImageEntity] - - def from_file: (TestMethods::path_entity filename) -> ImageEntity - - def dimension: (ImageEntity image) -> dimension_entity - - def draw_rectangles: (images_entity[ImageEntity] images, Region region, color rgba, Integer offset) -> void - - def same_pixels?: () -> boolish - end - - def self.for: (ScreenshotMatcher::input_options | top) -> (VipsDriver | ChunkyPNGDriver) - end - end - end -end diff --git a/sig/capybara/screenshot/diff/drivers/browser_helpers.rbs b/sig/capybara/screenshot/diff/drivers/browser_helpers.rbs deleted file mode 100644 index 19947245..00000000 --- a/sig/capybara/screenshot/diff/drivers/browser_helpers.rbs +++ /dev/null @@ -1,37 +0,0 @@ -module Capybara - class Result - def map: () -> Result - end - - module Screenshot - module BrowserHelpers - def self.current_capybara_driver_class: () -> top - - def self.selenium?: () -> boolish? - - def self.window_size_is_wrong?: () -> boolish - - def self.bounds_for_css: (*String css_selectors) -> Array[Region::raw_region_entity] - - IMAGE_WAIT_SCRIPT: String - - def self.pending_image_to_load: () -> top? - - HIDE_CARET_SCRIPT: String - - def self.hide_caret: () -> void - - FIND_ACTIVE_ELEMENT_SCRIPT: String - - type capybara_element = top - - def self.blur_from_focused_element: () -> capybara_element? - - GET_BOUNDING_CLIENT_RECT_SCRIPT: String - - def self.all_visible_regions_for: (String selector) -> Array[Region::raw_region_entity] - - def self.region_for: (Result element) -> Region::raw_region_entity - end - end -end diff --git a/sig/capybara/screenshot/diff/drivers/chunky_png_driver.rbs b/sig/capybara/screenshot/diff/drivers/chunky_png_driver.rbs deleted file mode 100644 index af585ce2..00000000 --- a/sig/capybara/screenshot/diff/drivers/chunky_png_driver.rbs +++ /dev/null @@ -1,89 +0,0 @@ -module ChunkyPNG - class Canvas - end - - class Image - def self.from_blob: (String str) -> Image - - def self.from_file: (String filename) -> Image - end -end - -module Capybara - module Screenshot - module Diff - module Drivers - class ChunkyPNGDriver < BaseDriver[ChunkyPNG::Canvas] - - def _load_images: (String old_file, String new_file) -> [ChunkyPNG::Image, ChunkyPNG::Image] - - class DifferenceRegionFinder - def find_diff_rectangle: ( - ChunkyPNG::Image org_img, - ChunkyPNG::Image new_img, - (Region | Region::raw_region_entity) area_coordinates, - cache: ImageCompare::cache_entity - ) -> Region? - - def find_top: ( - ChunkyPNG::Image old_img, - ChunkyPNG::Image new_img, - cache: ImageCompare::cache_entity - ) -> Region::raw_region_entity? - - def find_left_right_and_top: ( - ChunkyPNG::Image old_img, - ChunkyPNG::Image new_img, - (Region | Region::raw_region_entity) region, - cache: ImageCompare::cache_entity - ) -> Region::raw_region_entity - - def find_bottom: ( - ChunkyPNG::Image old_img, - ChunkyPNG::Image new_img, - Integer left, - Integer right, - Integer bottom, - cache: ImageCompare::cache_entity - ) -> Integer - - def same_color?: ( - ChunkyPNG::Image old_img, - ChunkyPNG::Image new_img, - Integer x, - Integer y, - ?cache: ImageCompare::cache_entity - ) -> boolish - - def skipped_region?: (Integer x, Integer y) -> boolish - - def color_distance_at: ( - ChunkyPNG::Image new_img, - ChunkyPNG::Image old_img, - Integer x, - Integer y, - shift_distance_limit: Numeric? - ) -> Float - - def shift_distance_at: ( - ChunkyPNG::Image new_img, - ChunkyPNG::Image old_img, - Integer x, - Integer y, - color_distance_limit: Numeric? - ) -> Numeric - - def color_matches: ( - ChunkyPNG::Image new_img, - Integer org_color, - Integer x, - Integer y, - Numeric? color_distance_limit - ) -> boolish - end - - end - end - end - end -end diff --git a/sig/capybara/screenshot/diff/drivers/utils.rbs b/sig/capybara/screenshot/diff/drivers/utils.rbs deleted file mode 100644 index dd1c0486..00000000 --- a/sig/capybara/screenshot/diff/drivers/utils.rbs +++ /dev/null @@ -1,11 +0,0 @@ -module Capybara - module Screenshot - module Diff - module Utils - def self.detect_available_drivers: () -> Array[(:vips | :chunky_png)] - - def self.find_driver_class_for: [T] (Symbol driver) -> T - end - end - end -end diff --git a/sig/capybara/screenshot/diff/drivers/vips_driver.rbs b/sig/capybara/screenshot/diff/drivers/vips_driver.rbs deleted file mode 100644 index 45f970a8..00000000 --- a/sig/capybara/screenshot/diff/drivers/vips_driver.rbs +++ /dev/null @@ -1,25 +0,0 @@ -module ::Vips - class Image - def self.new_from_file: (String filename) -> Image - end -end - -module Capybara - module Screenshot - module Diff - module Drivers - class VipsDriver < BaseDriver[Vips::Image] - class VipsUtil - def self.difference_area: (Vips::Image old_image, Vips::Image new_image, ?color_distance: ::Integer) -> Numeric - - def self.difference_area_size_by: (Vips::Image difference_mask) -> Numeric - - def self.difference_mask: (Vips::Image, Vips::Image, ?Numeric? color_distance) -> Vips::Image - - def self.difference_region_by: (Vips::Image diff_mask) -> Region? - end - end - end - end - end -end diff --git a/sig/capybara/screenshot/diff/image_compare.rbs b/sig/capybara/screenshot/diff/image_compare.rbs deleted file mode 100644 index 09d6a9fa..00000000 --- a/sig/capybara/screenshot/diff/image_compare.rbs +++ /dev/null @@ -1,89 +0,0 @@ -module Capybara - module Screenshot - module Diff - LOADED_DRIVERS: { vips: ImageCompare::driver_entity, chunky_png: ImageCompare::driver_entity } - - # Compare two images_entities and determine if they are equal, different, or within some comparison - # range considering color values and difference area size. - class ImageCompare - TOLERABLE_OPTIONS: [:tolerance, :color_distance_limit, :shift_distance_limit, :area_size_limit] - - type driver_entity = (Drivers::VipsDriver | Drivers::ChunkyPNGDriver) - type image_entity = (ChunkyPNG::Canvas | Vips::Image) - type images_entities = [image_entity, image_entity] - type cache_entity = (::Hash[Symbol, top] | top) - type reporter_entity = (Reporters::Base | Reporters::Default) - - @difference: Difference - @error_message: String? - - @reporter: reporter_entity? - - attr_reader difference: Difference? - attr_reader error_message: String? - attr_reader base_image_path: Pathname - attr_reader image_path: Pathname - attr_reader driver: driver_entity - attr_reader driver_options: Drivers::BaseDriver::options_entity - attr_reader skip_area: Array[Region]? - attr_accessor shift_distance_limit: Numeric? - attr_accessor area_size_limit: Numeric? - attr_accessor color_distance_limit: Numeric? - - @median_filter_window_size: Numeric? - @dimensions: Drivers::BaseDriver::dimension_entity? - @tolerance: Numeric? - - def initialize: (TestMethods::path_entity new_file_name, TestMethods::path_entity old_file_name, ?Drivers::BaseDriver::options_entity options) -> void - - def self.build: (TestMethods::path_entity new_file_name, TestMethods::path_entity old_file_name, ?Drivers::BaseDriver::options_entity options) -> ImageCompare - - # Compare the two image_entity files and return `true` or `false` as quickly as possible. - # Return falsely if the old file does not exist or the image_entity dimensions do not match. - def quick_equal?: () -> boolish - - # Compare the two images_entities referenced by this object, and return `true` if they are different, - # and `false` if they are the same. - def different?: () -> bool - - def reporter: -> ::Capybara::Screenshot::Diff::ImageCompare::reporter_entity - - def processed?: -> bool - - def processed: -> ImageCompare - - private - - %a{rbs:test:skip} def blur_image_by: (Vips::Image, Numeric) -> image_entity - - def build_comparison: -> Comparison - - def difference=: (Difference) -> void - - def failed_difference: (Comparison, top) -> Difference - - def find_difference: -> Difference - - def image_files_exist?: -> boolish - - def load_and_process_images: -> Comparison - - def median_filter_window_size: -> Numeric? - - def new_file_size: () -> Integer - - def no_difference: (Comparison?) -> Difference - - def old_file_size: () -> Integer - - def preprocess_image: (image_entity image) -> image_entity - - def preprocess_images: (images_entities images) -> images_entities - - def require_images_exists!: -> void - - def without_tolerable_options?: -> boolish - end - end - end -end diff --git a/sig/capybara/screenshot/diff/os.rbs b/sig/capybara/screenshot/diff/os.rbs deleted file mode 100644 index 1200127f..00000000 --- a/sig/capybara/screenshot/diff/os.rbs +++ /dev/null @@ -1,11 +0,0 @@ -module Capybara - module Screenshot - module Os - ON_WINDOWS: bool - ON_MAC: bool - ON_LINUX: bool - - def self.name: () -> ("windows" | "macos" | "linux" | "unknown") - end - end -end diff --git a/sig/capybara/screenshot/diff/region.rbs b/sig/capybara/screenshot/diff/region.rbs deleted file mode 100644 index eaf12b86..00000000 --- a/sig/capybara/screenshot/diff/region.rbs +++ /dev/null @@ -1,47 +0,0 @@ -class Region - type raw_region_entity = [Numeric, Numeric, Numeric, Numeric] - - attr_accessor x: Numeric - - attr_accessor y: Numeric - - attr_accessor width: Numeric - - attr_accessor height: Numeric - - def initialize: (Numeric x, Numeric y, Numeric width, Numeric height) -> void - - def self.from_edge_coordinates: (Numeric left, Numeric `top`, Numeric right, Numeric bottom) -> Region? - - def empty?: -> bool - - def blank?: -> bool - - def present?: -> bool - - def to_edge_coordinates: () -> ::Array[Numeric] - - def to_top_left_corner_coordinates: () -> ::Array[Numeric] - - def top: () -> Numeric - - def bottom: () -> Numeric - - def left: () -> Numeric - - def right: () -> Numeric - - def size: () -> Numeric - - def to_a: () -> ::Array[Numeric] - - def find_intersect_with: (Region region) -> Region? - - def intersect?: (Region region) -> boolish - - def move_by: (Numeric right_by, Numeric down_by) -> Region - - def find_relative_intersect: (Region region) -> Region? - - def cover?: (Numeric x, Numeric y) -> boolish -end diff --git a/sig/capybara/screenshot/diff/reporters/base.rbs b/sig/capybara/screenshot/diff/reporters/base.rbs deleted file mode 100644 index a8fe2e35..00000000 --- a/sig/capybara/screenshot/diff/reporters/base.rbs +++ /dev/null @@ -1,17 +0,0 @@ -module Capybara - module Screenshot - module Diff - module Reporters - interface _Reporting - def generate: -> ::String? - end - - class Base - include _Reporting - - def initialize: (Difference) -> void - end - end - end - end -end diff --git a/sig/capybara/screenshot/diff/reporters/default.rbs b/sig/capybara/screenshot/diff/reporters/default.rbs deleted file mode 100644 index dcd5ed74..00000000 --- a/sig/capybara/screenshot/diff/reporters/default.rbs +++ /dev/null @@ -1,41 +0,0 @@ -module Capybara - module Screenshot - module Diff - module Reporters - class Default < Base - @annotated_base_image_path: Pathname - @annotated_image_path: Pathname - @heatmap_diff_path: Pathname - @difference: Difference - - attr_reader annotated_base_image_path: Pathname - attr_reader annotated_image_path: Pathname - attr_reader heatmap_diff_path: Pathname - attr_reader difference: Difference - - def annotate_and_save_images: -> void - - def annotate_and_save_image: (ImageCompare::image_entity, TestMethods::path_entity) -> void - - DIFF_COLOR: [255, 0, 0, 255] - - def annotate_difference: (ImageCompare::image_entity, Region) -> void - - SKIP_COLOR: [255, 192, 0, 255] - - def annotate_skip_areas: (ImageCompare::image_entity, Array[Region] skip_areas) -> void - - def build_error_message: -> ::String - - def clean_tmp_files: () -> void - - private - - def driver: -> ImageCompare::driver_entity - - def image_path: -> Pathname - end - end - end - end -end diff --git a/sig/capybara/screenshot/diff/screenshot_matcher.rbs b/sig/capybara/screenshot/diff/screenshot_matcher.rbs deleted file mode 100644 index d43a0cde..00000000 --- a/sig/capybara/screenshot/diff/screenshot_matcher.rbs +++ /dev/null @@ -1,60 +0,0 @@ -module Capybara - module Screenshot - module Diff - class ScreenshotMatcher - - type job_entity = Array[top] - - @screenshot_format: String - - attr_reader base_screenshot_path: TestMethods::path_entity - attr_reader driver_options: Drivers::BaseDriver::options_entity - attr_reader screenshot_format: String - attr_reader capybara_screenshot_options: top? - attr_reader screenshot_full_name: TestMethods::path_entity - attr_reader screenshot_path: Pathname - - def build_screenshot_matches_job: -> job_entity? - - def cleanup: -> void - - def self.base_image_path_from: (TestMethods::path_entity) -> Pathname - - private - - def build_screenshoter_for: (capture_options_entity capture_options, Drivers::BaseDriver::options_entity driver_options) -> (Screenshoter | StableScreenshoter) - - def checkout_base_screenshot: -> void - - def take_comparison_screenshot: - ( - capture_options_entity capture_options, - Drivers::BaseDriver::options_entity driver_options, - TestMethods::path_entity screenshot_path - ) -> void - - def create_output_directory_for: (Pathname file_name) -> void - - type input_region = (Region::raw_region_entity | String | Region) - - type input_options = { - area_size_limit: Numeric?, - color_distance_limit: Numeric?, - driver: (:auto | :vips | :chunky_png | ImageCompare::driver_entity)?, - median_filter_window_size: Numeric?, - shift_distance_limit: Numeric?, - skip_area: nil | Array[input_region] | input_region, - stability_time_limit: Numeric?, - tolerance: Numeric?, - wait: Numeric? - } - - type capture_options_entity = { - stability_time_limit: Numeric?, - wait: Numeric?, - crop: Region? - } - end - end - end -end diff --git a/sig/capybara/screenshot/diff/screenshoter.rbs b/sig/capybara/screenshot/diff/screenshoter.rbs deleted file mode 100644 index e6661af1..00000000 --- a/sig/capybara/screenshot/diff/screenshoter.rbs +++ /dev/null @@ -1,48 +0,0 @@ -module Capybara - module Screenshot - class Screenshoter - @_csd_retina_warned: bool? - - attr_reader capture_options: Diff::ScreenshotMatcher::capture_options_entity - - attr_reader comparison_options: Diff::Drivers::BaseDriver::options_entity - - attr_reader driver: Diff::ImageCompare::driver_entity - - def initialize: (?Diff::ScreenshotMatcher::capture_options_entity capture_options, Diff::ImageCompare::driver_entity driver) -> void - - def crop: () -> Numeric? - - def wait: () -> Numeric? - - def self.attempts_screenshot_paths: (Diff::TestMethods::path_entity base_file) -> Array[String] - - def self.cleanup_attempts_screenshots: (Diff::TestMethods::path_entity base_file) -> void - - # Try to get screenshot from browser. - # On `stability_time_limit` it checks that page stop updating by comparison several screenshot attempts - # On reaching `wait` limit then it has been failed. On failing we annotate screenshot attempts to help to debug - def take_comparison_screenshot: (Diff::TestMethods::path_entity screenshot_path) -> void - - def self.gen_next_attempt_path: (Diff::TestMethods::path_entity screenshot_path, Integer iteration) -> Pathname - - def take_screenshot: (Diff::TestMethods::path_entity screenshot_path) -> void - - def browser_save_screenshot: (Diff::TestMethods::path_entity screenshot_path) -> void - - def process_screenshot: (Diff::TestMethods::path_entity screenshot_path) -> void - - def reduce_retina_image_size: (Diff::TestMethods::path_entity file_name) -> void - - def notice_how_to_avoid_this: () -> void - - def prepare_page_for_screenshot: (timeout: Numeric?) -> BrowserHelpers::capybara_element? - - def wait_images_loaded: (timeout: Numeric?) -> void - - private - - def selenium_with_retina_screen?: () -> boolish - end - end -end diff --git a/sig/capybara/screenshot/diff/stable_screenshoter.rbs b/sig/capybara/screenshot/diff/stable_screenshoter.rbs deleted file mode 100644 index 36cdbb26..00000000 --- a/sig/capybara/screenshot/diff/stable_screenshoter.rbs +++ /dev/null @@ -1,34 +0,0 @@ -module Capybara - module Screenshot - module Diff - class StableScreenshoter - STABILITY_OPTIONS: [:stability_time_limit, :wait] - - @_csd_retina_warned: boolish - - @comparison_options: Drivers::BaseDriver::options_entity - @screenshoter: (StableScreenshoter | Screenshoter) - @stability_time_limit: Numeric - - attr_reader stability_time_limit: Numeric? - attr_reader wait: Numeric? - - def initialize: (?Diff::ScreenshotMatcher::capture_options_entity capture_options, ?ScreenshotMatcher::input_options? comparison_options) -> void - - def take_comparison_screenshot: (TestMethods::path_entity screenshot_path) -> void - - def take_stable_screenshot: (TestMethods::path_entity) -> Pathname? - - private - - def annotate_attempts_and_fail!: (TestMethods::path_entity screenshot_path) -> void - - def build_comparison_for: (TestMethods::path_entity attempt_path, TestMethods::path_entity previous_attempt_path) -> ImageCompare - - def prepare_page_for_screenshot: (timeout: Numeric) -> top? - - def annotate_stabilization_images: (Array[String]) -> void - end - end - end -end diff --git a/sig/capybara/screenshot/diff/test_methods.rbs b/sig/capybara/screenshot/diff/test_methods.rbs deleted file mode 100644 index 25fb4394..00000000 --- a/sig/capybara/screenshot/diff/test_methods.rbs +++ /dev/null @@ -1,42 +0,0 @@ -# Add the `screenshot` method to ActionDispatch::IntegrationTest -module Capybara - module Screenshot - module Diff - module TestMethods - type name_entity = (Symbol | String) - type path_entity = (string | Pathname) - type match_screenshot_job = [(String | Array[String])?, String, ImageCompare] - - @screenshot_counter: Numeric? - @screenshot_group: String? - @screenshot_section: String? - @test_screenshot_errors: Array[top]? - @test_screenshots: Array[match_screenshot_job]? - - def initialize: (*untyped) -> untyped - - def group_parts: () -> Array[String] - - def build_full_name: (name_entity name) -> String - - def schedule_match_job: (match_screenshot_job job) -> true - - def screenshot_dir: () -> String - - def screenshot_section: (name_entity name) -> void - - def screenshot_group: (name_entity? name) -> void - - def screenshot: (name_entity name, ?skip_stack_frames: ::Integer, **untyped options) -> boolish - - def assert_image_not_changed: (String caller, String name, ImageCompare comparison) -> ::String? - - def verify_screenshots!: (?Array[match_screenshot_job]?) -> Array[String]? - - private - - def build_screenshot_matches_job: (String, Drivers::BaseDriver::options_entity) -> ScreenshotMatcher::job_entity? - end - end - end -end diff --git a/sig/capybara/screenshot/diff/vcs.rbs b/sig/capybara/screenshot/diff/vcs.rbs deleted file mode 100644 index 7615bdb0..00000000 --- a/sig/capybara/screenshot/diff/vcs.rbs +++ /dev/null @@ -1,17 +0,0 @@ -module Capybara - module Screenshot - module Diff - module Vcs - SILENCE_ERRORS: String - - def self.checkout_vcs: (Pathname screenshot_path, Pathname checkout_path) -> bool - - def self.restore_git_revision: (Pathname screenshot_path, Pathname checkout_path) -> bool - - def self.restore_svn_revision: -> bool - - def self.svn?: -> bool - end - end - end -end diff --git a/test/capybara/screenshot/diff/test_methods_test.rb b/test/capybara/screenshot/diff/test_methods_test.rb index 82000c15..3fc1ae05 100644 --- a/test/capybara/screenshot/diff/test_methods_test.rb +++ b/test/capybara/screenshot/diff/test_methods_test.rb @@ -59,24 +59,20 @@ def test_skip_stack_frames our_screenshot("a", 1) assert_equal 1, @test_screenshots.size - unless ENV["RBS_TEST_TARGET"] # RBS generates new methods for checking types, so we do not know their names - skip "FIXME: flaky test for local environment" unless ENV["CI"] + skip "FIXME: flaky test for local environment" unless ENV["CI"] - assert_match( - /test_methods_test.rb:\d+:in `our_screenshot'/, - @test_screenshots.dig(0, 0, 0) - ) - end + assert_match( + /test_methods_test.rb:\d+:in `our_screenshot'/, + @test_screenshots.dig(0, 0, 0) + ) assert_equal "a", @test_screenshots[0][1] our_screenshot("a", 2) assert_equal 2, @test_screenshots.size - unless ENV["RBS_TEST_TARGET"] # RBS generates new methods for checking types, so we do not know their names - assert_match( - /test_methods_test.rb:.*?test_skip_stack_frames/, - @test_screenshots.dig(1, 0, 0) - ) - end + assert_match( + /test_methods_test.rb:.*?test_skip_stack_frames/, + @test_screenshots.dig(1, 0, 0) + ) assert_equal "a", @test_screenshots[1][1] end end From 219dc247f36890e0a6df57b9a84c73f587721a90 Mon Sep 17 00:00:00 2001 From: Paul Keen <125715+pftg@users.noreply.github.com> Date: Tue, 23 Jul 2024 22:30:32 +0200 Subject: [PATCH 249/312] refact: simplify readability for stable screenshot (#121) --- .../screenshot/diff/screenshot_matcher.rb | 3 + lib/capybara/screenshot/diff/screenshoter.rb | 55 ++++++++++--------- .../screenshot/diff/stable_screenshoter.rb | 44 ++++++--------- .../diff/stable_screenshoter_test.rb | 4 +- 4 files changed, 52 insertions(+), 54 deletions(-) diff --git a/lib/capybara/screenshot/diff/screenshot_matcher.rb b/lib/capybara/screenshot/diff/screenshot_matcher.rb index 2237a1a0..ef075937 100644 --- a/lib/capybara/screenshot/diff/screenshot_matcher.rb +++ b/lib/capybara/screenshot/diff/screenshot_matcher.rb @@ -44,9 +44,12 @@ def build_screenshot_matches_job return if Capybara::Screenshot::Diff.fail_if_new && !base_screenshot_path.exist? capture_options = { + # screenshot options capybara_screenshot_options: driver_options[:capybara_screenshot_options], crop: driver_options.delete(:crop), + # delivery options screenshot_format: driver_options[:screenshot_format], + # stability options stability_time_limit: driver_options.delete(:stability_time_limit), wait: driver_options.delete(:wait) } diff --git a/lib/capybara/screenshot/diff/screenshoter.rb b/lib/capybara/screenshot/diff/screenshoter.rb index b588e942..0042f9ff 100644 --- a/lib/capybara/screenshot/diff/screenshoter.rb +++ b/lib/capybara/screenshot/diff/screenshoter.rb @@ -43,11 +43,8 @@ def self.cleanup_attempts_screenshots(base_file) # On `stability_time_limit` it checks that page stop updating by comparison several screenshot attempts # On reaching `wait` limit then it has been failed. On failing we annotate screenshot attempts to help to debug def take_comparison_screenshot(screenshot_path) - new_screenshot_path = Screenshoter.gen_next_attempt_path(screenshot_path, 0) - - take_screenshot(new_screenshot_path) + capture_screenshot_at(screenshot_path) - FileUtils.mv(new_screenshot_path, screenshot_path, force: true) Screenshoter.cleanup_attempts_screenshots(screenshot_path) end @@ -61,13 +58,8 @@ def take_screenshot(screenshot_path) blurred_input = prepare_page_for_screenshot(timeout: wait) # Take browser screenshot and save - tmpfile = Tempfile.new([screenshot_path.basename.to_s, PNG_EXTENSION]) - BrowserHelpers.session.save_screenshot(tmpfile.path, **capybara_screenshot_options) + save_and_process_screenshot(screenshot_path) - # Load saved screenshot and pre-process it - process_screenshot(tmpfile.path, screenshot_path) - ensure - File.unlink(tmpfile) if tmpfile blurred_input&.click end @@ -84,20 +76,10 @@ def process_screenshot(stored_path, screenshot_path) driver.save_image_to(screenshot_image, screenshot_path) end - def reduce_retina_image_size(file_name) - expected_image_width = Screenshot.window_size[0] - saved_image = driver.from_file(file_name.to_s) - return if driver.width_for(saved_image) < expected_image_width * 2 - - resized_image = resize_if_needed(saved_image) - - driver.save_image_to(resized_image, file_name) - end - def notice_how_to_avoid_this unless defined?(@_csd_retina_warned) warn "Halving retina screenshot. " \ - 'You should add "force-device-scale-factor=1" to your Chrome chromeOptions args.' + 'You should add "force-device-scale-factor=1" to your Chrome chromeOptions args.' @_csd_retina_warned = true end end @@ -105,9 +87,7 @@ def notice_how_to_avoid_this def prepare_page_for_screenshot(timeout:) wait_images_loaded(timeout: timeout) if timeout - blurred_input = if Screenshot.blur_active_element - BrowserHelpers.blur_from_focused_element - end + blurred_input = BrowserHelpers.blur_from_focused_element if Screenshot.blur_active_element if Screenshot.hide_caret BrowserHelpers.hide_caret @@ -119,12 +99,12 @@ def prepare_page_for_screenshot(timeout:) def wait_images_loaded(timeout:) return unless timeout - start = Process.clock_gettime(Process::CLOCK_MONOTONIC) + deadline_at = Process.clock_gettime(Process::CLOCK_MONOTONIC) + timeout loop do pending_image = BrowserHelpers.pending_image_to_load break unless pending_image - if (Process.clock_gettime(Process::CLOCK_MONOTONIC) - start) >= timeout + if Process.clock_gettime(Process::CLOCK_MONOTONIC) > deadline_at raise CapybaraScreenshotDiff::ExpectationNotMet, "Images have not been loaded after #{timeout}s: #{pending_image.inspect}" end @@ -134,6 +114,29 @@ def wait_images_loaded(timeout:) private + def save_and_process_screenshot(screenshot_path) + tmpfile = Tempfile.new([screenshot_path.basename.to_s, PNG_EXTENSION]) + BrowserHelpers.session.save_screenshot(tmpfile.path, **capybara_screenshot_options) + # Load saved screenshot and pre-process it + process_screenshot(tmpfile.path, screenshot_path) + ensure + File.unlink(tmpfile) if tmpfile + end + + def capture_screenshot_at(screenshot_path) + new_screenshot_path = Screenshoter.gen_next_attempt_path(screenshot_path, 0) + take_and_process_screenshot(new_screenshot_path, screenshot_path) + end + + def take_and_process_screenshot(new_screenshot_path, screenshot_path) + take_screenshot(new_screenshot_path) + move_screenshot_to(new_screenshot_path, screenshot_path) + end + + def move_screenshot_to(new_screenshot_path, screenshot_path) + FileUtils.mv(new_screenshot_path, screenshot_path, force: true) + end + def resize_if_needed(saved_image) expected_image_width = Screenshot.window_size[0] return saved_image if driver.width_for(saved_image) < expected_image_width * 2 diff --git a/lib/capybara/screenshot/diff/stable_screenshoter.rb b/lib/capybara/screenshot/diff/stable_screenshoter.rb index a49bda2e..b8c53a54 100644 --- a/lib/capybara/screenshot/diff/stable_screenshoter.rb +++ b/lib/capybara/screenshot/diff/stable_screenshoter.rb @@ -55,43 +55,39 @@ def take_stable_screenshot(screenshot_path) screenshot_path = screenshot_path.is_a?(String) ? Pathname.new(screenshot_path) : screenshot_path # We try to compare first attempt with checkout version, in order to not run next screenshots attempt_path = nil - screenshot_started_at = last_attempt_at = Process.clock_gettime(Process::CLOCK_MONOTONIC) + deadline_at = Process.clock_gettime(Process::CLOCK_MONOTONIC) + wait # Cleanup all previous attempts for sure Screenshoter.cleanup_attempts_screenshots(screenshot_path) 0.step do |i| - # Prevents redundant screenshots generations # FIXME: it should be wait, and wait should be replaced with stability_time_limit sleep(stability_time_limit) unless i == 0 - - elapsed_time = last_attempt_at - screenshot_started_at - - prev_attempt_path = attempt_path - attempt_path = Screenshoter.gen_next_attempt_path(screenshot_path, i) - - @screenshoter.take_screenshot(attempt_path) - last_attempt_at = Process.clock_gettime(Process::CLOCK_MONOTONIC) - - next unless prev_attempt_path - stabilization_comparator = build_comparison_for(attempt_path, prev_attempt_path) - - # If previous screenshot is equal to the current, then we are good - return attempt_path if prev_attempt_path && does_not_require_next_attempt?(stabilization_comparator) - - # If timeout then we failed to generate valid screenshot - return nil if timeout?(elapsed_time) + attempt_path, prev_attempt_path = attempt_next_screenshot(attempt_path, i, screenshot_path) + return attempt_path if attempt_successful?(attempt_path, prev_attempt_path) + return nil if timeout?(deadline_at) end end private - def does_not_require_next_attempt?(stabilization_comparator) - stabilization_comparator.quick_equal? + def attempt_successful?(attempt_path, prev_attempt_path) + return false unless prev_attempt_path + build_comparison_for(attempt_path, prev_attempt_path).quick_equal? rescue ArgumentError false end + def attempt_next_screenshot(prev_attempt_path, i, screenshot_path) + new_attempt_path = Screenshoter.gen_next_attempt_path(screenshot_path, i) + @screenshoter.take_screenshot(new_attempt_path) + [new_attempt_path, prev_attempt_path] + end + + def timeout?(deadline_at) + Process.clock_gettime(Process::CLOCK_MONOTONIC) > deadline_at + end + def build_comparison_for(attempt_path, previous_attempt_path) ImageCompare.new(attempt_path, previous_attempt_path, @comparison_options) end @@ -117,7 +113,7 @@ def annotate_stabilization_images(attempts_screenshot_paths) FileUtils.mv(attempts_comparison.reporter.annotated_base_image_path, previous_file, force: true) else warn "[capybara-screenshot-diff] Some attempts was stable, but mistakenly marked as not: " \ - "#{previous_file} and #{file_name} are equal" + "#{previous_file} and #{file_name} are equal" end FileUtils.rm(attempts_comparison.reporter.annotated_image_path, force: true) @@ -126,10 +122,6 @@ def annotate_stabilization_images(attempts_screenshot_paths) previous_file = file_name end end - - def timeout?(elapsed_time) - elapsed_time > wait - end end end end diff --git a/test/capybara/screenshot/diff/stable_screenshoter_test.rb b/test/capybara/screenshot/diff/stable_screenshoter_test.rb index 4a204d28..bd17e740 100644 --- a/test/capybara/screenshot/diff/stable_screenshoter_test.rb +++ b/test/capybara/screenshot/diff/stable_screenshoter_test.rb @@ -47,7 +47,7 @@ class StableScreenshoterTest < ActionDispatch::IntegrationTest ImageCompare.stub :new, mock do StableScreenshoter - .new({stability_time_limit: 0.5, wait: 0.5}, image_compare_stub.driver_options) + .new({stability_time_limit: 0.5, wait: 1}, image_compare_stub.driver_options) .take_comparison_screenshot("tmp/02_a.png") end @@ -80,7 +80,7 @@ class StableScreenshoterTest < ActionDispatch::IntegrationTest ImageCompare.stub :new, mock do # Wait time is less then stability time, which will generate problem StableScreenshoter - .new({stability_time_limit: 0.5, wait: 0.5}, build_image_compare_stub(equal: false).driver_options) + .new({stability_time_limit: 0.5, wait: 1}, build_image_compare_stub(equal: false).driver_options) .take_comparison_screenshot(screenshot_path.to_s) end end From c564934556bc8b63d6bdb69a1689966bcb363c7f Mon Sep 17 00:00:00 2001 From: Paul Keen <125715+pftg@users.noreply.github.com> Date: Tue, 30 Jul 2024 17:36:38 +0200 Subject: [PATCH 250/312] refact: shows deprecation message only when minitest required automatically (#123) --- lib/capybara-screenshot-diff.rb | 8 -------- lib/capybara/screenshot/diff.rb | 8 -------- lib/capybara_screenshot_diff/minitest.rb | 11 +++++++++++ 3 files changed, 11 insertions(+), 16 deletions(-) diff --git a/lib/capybara-screenshot-diff.rb b/lib/capybara-screenshot-diff.rb index 96f75baf..dff8d102 100644 --- a/lib/capybara-screenshot-diff.rb +++ b/lib/capybara-screenshot-diff.rb @@ -1,11 +1,3 @@ # frozen_string_literal: true -warn <<~MSG - - DEPRECATED: use 'require "capybara_screenshot_diff/minitest"' instead of 'require "capybara-screenshot-diff"' - in #{caller(3)&.first}. - "capybara-screenshot-diff" is no longer needed and will be removed in the next major release. - -MSG - require "capybara_screenshot_diff/minitest" diff --git a/lib/capybara/screenshot/diff.rb b/lib/capybara/screenshot/diff.rb index e3664282..dff8d102 100644 --- a/lib/capybara/screenshot/diff.rb +++ b/lib/capybara/screenshot/diff.rb @@ -1,11 +1,3 @@ # frozen_string_literal: true -warn <<~MSG - - DEPRECATED: use 'require "capybara_screenshot_diff/minitest"' or 'require "capybara_screenshot_diff/rspec"' instead of 'require "capybara/screenshot/diff"' - in #{caller(3)&.first}. - "capybara/screenshot/diff" is no longer needed and will be removed in the next major release. - -MSG - require "capybara_screenshot_diff/minitest" diff --git a/lib/capybara_screenshot_diff/minitest.rb b/lib/capybara_screenshot_diff/minitest.rb index cf2f90d7..c3e2b9ab 100644 --- a/lib/capybara_screenshot_diff/minitest.rb +++ b/lib/capybara_screenshot_diff/minitest.rb @@ -3,6 +3,17 @@ require "minitest" require "capybara_screenshot_diff/dsl" +used_deprecated_entrypoint = caller.any? do |path| + path.include?("capybara-screenshot-diff.rb") || path.include?("capybara/screenshot/diff.rb") +end + +if used_deprecated_entrypoint + warn <<~MSG + [DEPRECATION] The default activation of `capybara_screenshot_diff/minitest` will be removed. + Please `require "capybara_screenshot_diff/minitest"` explicitly. + MSG +end + module CapybaraScreenshotDiff module Minitest module Assertions From f942c0febb5e72fc9a42c274f56aa88d65ebabe9 Mon Sep 17 00:00:00 2001 From: Paul Keen <125715+pftg@users.noreply.github.com> Date: Tue, 30 Jul 2024 17:36:52 +0200 Subject: [PATCH 251/312] Publish new releases by GitHub Actions (#78) * build: adds release action * build: bump to 1.9.0 --- .github/workflows/release.yml | 24 ++++++++++++++++++++++++ lib/capybara/screenshot/diff/version.rb | 2 +- 2 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/release.yml diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 00000000..babe6426 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,24 @@ +--- +on: + workflow_dispatch: + +jobs: + push: + name: Push gem to RubyGems.org + runs-on: ubuntu-latest + + permissions: + id-token: write # IMPORTANT: this permission is mandatory for trusted publishing + contents: write # IMPORTANT: this permission is required for `rake release` to push the release tag + + steps: + # Set up + - uses: actions/checkout@v4 + - name: Set up Ruby + uses: ruby/setup-ruby@v1 + with: + bundler-cache: true + ruby-version: ruby + + # Release + - uses: rubygems/release-gem@v1 diff --git a/lib/capybara/screenshot/diff/version.rb b/lib/capybara/screenshot/diff/version.rb index bcbfefcf..20fb2241 100644 --- a/lib/capybara/screenshot/diff/version.rb +++ b/lib/capybara/screenshot/diff/version.rb @@ -3,7 +3,7 @@ module Capybara module Screenshot module Diff - VERSION = "1.8.3" + VERSION = "1.9.0" end end end From 34238c10e85788e4b38882a6b30b1a9387c83c3f Mon Sep 17 00:00:00 2001 From: Paul Keen <125715+pftg@users.noreply.github.com> Date: Tue, 30 Jul 2024 17:45:28 +0200 Subject: [PATCH 252/312] test: prevent ruby 3.4.0 fail --- test/capybara/screenshot/diff/test_methods_test.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/capybara/screenshot/diff/test_methods_test.rb b/test/capybara/screenshot/diff/test_methods_test.rb index 3fc1ae05..159d422b 100644 --- a/test/capybara/screenshot/diff/test_methods_test.rb +++ b/test/capybara/screenshot/diff/test_methods_test.rb @@ -62,7 +62,7 @@ def test_skip_stack_frames skip "FIXME: flaky test for local environment" unless ENV["CI"] assert_match( - /test_methods_test.rb:\d+:in `our_screenshot'/, + /our_screenshot'/, @test_screenshots.dig(0, 0, 0) ) assert_equal "a", @test_screenshots[0][1] From 84f0909d86cc91d61dc118a302a3ab9897161780 Mon Sep 17 00:00:00 2001 From: Alan Savage Date: Thu, 1 Aug 2024 09:33:39 -0700 Subject: [PATCH 253/312] Include CapybaraScreenshotDiff::DSL in all RSpec system tests by default (#125) Co-authored-by: Alan Savage <3028205+asavageiv@users.noreply.github.com> --- README.md | 2 +- lib/capybara_screenshot_diff/rspec.rb | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 4913656a..0ca22726 100644 --- a/README.md +++ b/README.md @@ -79,7 +79,7 @@ include the `CapybaraScreenshotDiff::DSL` in your test classes. It adds `match_screenshot` matcher to RSpec. > **Important**: -> The `CapybaraScreenshotDiff::DSL` is automatically included in all feature tests by default. +> The `CapybaraScreenshotDiff::DSL` is automatically included in all feature and system tests by default. ```ruby diff --git a/lib/capybara_screenshot_diff/rspec.rb b/lib/capybara_screenshot_diff/rspec.rb index bcce44b2..5af66674 100644 --- a/lib/capybara_screenshot_diff/rspec.rb +++ b/lib/capybara_screenshot_diff/rspec.rb @@ -14,6 +14,7 @@ RSpec.configure do |config| config.include ::CapybaraScreenshotDiff::DSL, type: :feature + config.include ::CapybaraScreenshotDiff::DSL, type: :system config.after do if self.class.include?(::CapybaraScreenshotDiff::DSL) && ::Capybara::Screenshot.active? From 8fe324f2c6ca8f71ceabd416bb855e23e945763a Mon Sep 17 00:00:00 2001 From: Paul Keen <125715+pftg@users.noreply.github.com> Date: Sun, 11 Aug 2024 17:31:06 +0300 Subject: [PATCH 254/312] Encapsulates screenshot manager (#124) * refact: cleanup redundant code and make explicit names * refact: extracted snap manager * refact: cleanup * refact: removes usage of the filesystem to access to the screenshots * chore: cleanup lint * wip * cleanup vcs * chore: cleanup vcs * chore: cleanup vcs * refact: use snapshots for screenshoter * test: cleanup tests to use snap manager * chore: fixes lint * test: cleanup tests to use snap manager * refact: removes scrn_path * refact: adds usage of snapshot for take screenshot methods * refcat: snap tracks attempts version * cleanup * chore: cleanup * chore: cleanup * chore: cleanup * refact: move Snap to separate file * refact: extracted annotation * fix: cleanup --- .../screenshot/diff/screenshot_matcher.rb | 63 ++++++-------- lib/capybara/screenshot/diff/screenshoter.rb | 42 ++------- .../screenshot/diff/stable_screenshoter.rb | 86 +++++++------------ lib/capybara/screenshot/diff/test_methods.rb | 6 +- lib/capybara/screenshot/diff/vcs.rb | 46 +++++----- lib/capybara_screenshot_diff.rb | 3 +- .../attempts_reporter.rb | 49 +++++++++++ lib/capybara_screenshot_diff/dsl.rb | 1 + lib/capybara_screenshot_diff/snap.rb | 55 ++++++++++++ lib/capybara_screenshot_diff/snap_manager.rb | 76 ++++++++++++++++ .../screenshot/diff/image_compare_test.rb | 29 +++---- .../diff/stable_screenshoter_test.rb | 45 ++++++---- .../screenshot/diff/test_methods_test.rb | 14 +-- test/capybara/screenshot/diff/vcs_test.rb | 11 +-- test/capybara/screenshot/diff_test.rb | 13 +-- test/capybara/screenshot/screenshot_test.rb | 2 +- .../snap_manager_test.rb | 35 ++++++++ test/integration/browser_screenshot_test.rb | 2 +- test/support/stub_test_methods.rb | 28 +++--- test/system_test_case.rb | 2 +- test/test_helper.rb | 10 ++- 21 files changed, 395 insertions(+), 223 deletions(-) create mode 100644 lib/capybara_screenshot_diff/attempts_reporter.rb create mode 100644 lib/capybara_screenshot_diff/snap.rb create mode 100644 lib/capybara_screenshot_diff/snap_manager.rb create mode 100644 test/capybara_screenshot_diff/snap_manager_test.rb diff --git a/lib/capybara/screenshot/diff/screenshot_matcher.rb b/lib/capybara/screenshot/diff/screenshot_matcher.rb index ef075937..0e92fe21 100644 --- a/lib/capybara/screenshot/diff/screenshot_matcher.rb +++ b/lib/capybara/screenshot/diff/screenshot_matcher.rb @@ -1,5 +1,6 @@ # frozen_string_literal: true +require "capybara_screenshot_diff/snap_manager" require_relative "screenshoter" require_relative "stable_screenshoter" require_relative "browser_helpers" @@ -10,15 +11,14 @@ module Capybara module Screenshot module Diff class ScreenshotMatcher - attr_reader :screenshot_full_name, :driver_options, :screenshot_path, :base_screenshot_path, :screenshot_format + attr_reader :screenshot_full_name, :driver_options, :screenshot_format def initialize(screenshot_full_name, options = {}) @screenshot_full_name = screenshot_full_name @driver_options = Diff.default_options.merge(options) @screenshot_format = @driver_options[:screenshot_format] - @screenshot_path = Screenshot.screenshot_area_abs / Pathname.new(screenshot_full_name).sub_ext(".#{screenshot_format}") - @base_screenshot_path = ScreenshotMatcher.base_image_path_from(@screenshot_path) + @snapshot = CapybaraScreenshotDiff::SnapManager.snapshot(screenshot_full_name, @screenshot_format) end def build_screenshot_matches_job @@ -32,58 +32,49 @@ def build_screenshot_matches_job # TODO: Move this into screenshot stage, in order to re-evaluate coordinates after page updates # Allow nil or single or multiple areas driver_options[:skip_area] = area_calculator.calculate_skip_area - driver_options[:driver] = Drivers.for(driver_options[:driver]) - # Load base screenshot from VCS - create_output_directory_for(screenshot_path) unless screenshot_path.exist? - - checkout_base_screenshot + @snapshot.checkout_base_screenshot # When fail_if_new is true no need to create screenshot if base screenshot is missing - return if Capybara::Screenshot::Diff.fail_if_new && !base_screenshot_path.exist? - - capture_options = { - # screenshot options - capybara_screenshot_options: driver_options[:capybara_screenshot_options], - crop: driver_options.delete(:crop), - # delivery options - screenshot_format: driver_options[:screenshot_format], - # stability options - stability_time_limit: driver_options.delete(:stability_time_limit), - wait: driver_options.delete(:wait) - } + return if Capybara::Screenshot::Diff.fail_if_new && !@snapshot.base_path.exist? + + capture_options, comparison_options = extract_capture_and_comparison_options!(driver_options) # Load new screenshot from Browser - take_comparison_screenshot(capture_options, driver_options, screenshot_path) + take_comparison_screenshot(capture_options, comparison_options, @snapshot) # Pre-computation: No need to compare without base screenshot - return unless base_screenshot_path.exist? + return unless @snapshot.base_path.exist? # Add comparison job in the queue - [screenshot_full_name, ImageCompare.new(screenshot_path, base_screenshot_path, driver_options)] - end - - def self.base_image_path_from(screenshot_path) - screenshot_path.sub_ext(".base#{screenshot_path.extname}") + [screenshot_full_name, ImageCompare.new(@snapshot.path, @snapshot.base_path, comparison_options)] end private - def checkout_base_screenshot - Vcs.checkout_vcs(screenshot_path, base_screenshot_path) - end - - def create_output_directory_for(screenshot_path) - screenshot_path.dirname.mkpath + def extract_capture_and_comparison_options!(driver_options = {}) + [ + { + # screenshot options + capybara_screenshot_options: driver_options[:capybara_screenshot_options], + crop: driver_options.delete(:crop), + # delivery options + screenshot_format: driver_options[:screenshot_format], + # stability options + stability_time_limit: driver_options.delete(:stability_time_limit), + wait: driver_options.delete(:wait) + }, + driver_options + ] end # Try to get screenshot from browser. # On `stability_time_limit` it checks that page stop updating by comparison several screenshot attempts # On reaching `wait` limit then it has been failed. On failing we annotate screenshot attempts to help to debug - def take_comparison_screenshot(capture_options, driver_options, screenshot_path) - screenshoter = build_screenshoter_for(capture_options, driver_options) - screenshoter.take_comparison_screenshot(screenshot_path) + def take_comparison_screenshot(capture_options, comparison_options, snapshot = nil) + screenshoter = build_screenshoter_for(capture_options, comparison_options) + screenshoter.take_comparison_screenshot(snapshot) end def build_screenshoter_for(capture_options, comparison_options = {}) diff --git a/lib/capybara/screenshot/diff/screenshoter.rb b/lib/capybara/screenshot/diff/screenshoter.rb index 0042f9ff..7718746c 100644 --- a/lib/capybara/screenshot/diff/screenshoter.rb +++ b/lib/capybara/screenshot/diff/screenshoter.rb @@ -6,11 +6,10 @@ module Capybara module Screenshot class Screenshoter - attr_reader :capture_options, :comparison_options, :driver + attr_reader :capture_options, :driver def initialize(capture_options, driver) @capture_options = capture_options - @comparison_options = comparison_options @driver = driver end @@ -22,34 +21,16 @@ def wait @capture_options[:wait] end - def screenshot_format - @capture_options[:screenshot_format] || "png" - end - def capybara_screenshot_options @capture_options[:capybara_screenshot_options] || {} end - def self.attempts_screenshot_paths(base_file) - extname = Pathname.new(base_file).extname - Dir["#{base_file.to_s.chomp(extname)}.attempt_*#{extname}"].sort - end - - def self.cleanup_attempts_screenshots(base_file) - FileUtils.rm_rf attempts_screenshot_paths(base_file) - end - # Try to get screenshot from browser. # On `stability_time_limit` it checks that page stop updating by comparison several screenshot attempts # On reaching `wait` limit then it has been failed. On failing we annotate screenshot attempts to help to debug - def take_comparison_screenshot(screenshot_path) - capture_screenshot_at(screenshot_path) - - Screenshoter.cleanup_attempts_screenshots(screenshot_path) - end - - def self.gen_next_attempt_path(screenshot_path, iteration) - screenshot_path.sub_ext(format(".attempt_%02i#{screenshot_path.extname}", iteration)) + def take_comparison_screenshot(snapshot) + capture_screenshot_at(snapshot) + snapshot.cleanup_attempts end PNG_EXTENSION = ".png" @@ -101,6 +82,7 @@ def wait_images_loaded(timeout:) deadline_at = Process.clock_gettime(Process::CLOCK_MONOTONIC) + timeout loop do + Capybara.default_max_wait_time pending_image = BrowserHelpers.pending_image_to_load break unless pending_image @@ -123,18 +105,10 @@ def save_and_process_screenshot(screenshot_path) File.unlink(tmpfile) if tmpfile end - def capture_screenshot_at(screenshot_path) - new_screenshot_path = Screenshoter.gen_next_attempt_path(screenshot_path, 0) - take_and_process_screenshot(new_screenshot_path, screenshot_path) - end - - def take_and_process_screenshot(new_screenshot_path, screenshot_path) - take_screenshot(new_screenshot_path) - move_screenshot_to(new_screenshot_path, screenshot_path) - end + def capture_screenshot_at(snapshot) + take_screenshot(snapshot.next_attempt_path!) - def move_screenshot_to(new_screenshot_path, screenshot_path) - FileUtils.mv(new_screenshot_path, screenshot_path, force: true) + snapshot.commit_last_attempt end def resize_if_needed(saved_image) diff --git a/lib/capybara/screenshot/diff/stable_screenshoter.rb b/lib/capybara/screenshot/diff/stable_screenshoter.rb index b8c53a54..992e9e8b 100644 --- a/lib/capybara/screenshot/diff/stable_screenshoter.rb +++ b/lib/capybara/screenshot/diff/stable_screenshoter.rb @@ -16,14 +16,14 @@ class StableScreenshoter # @param capture_options [Hash] The options for capturing screenshots, must include `:stability_time_limit` and `:wait`. # @param comparison_options [Hash, nil] The options for comparing screenshots, defaults to `nil` which uses `Diff.default_options`. # @raise [ArgumentError] If `:wait` or `:stability_time_limit` are not provided, or if `:stability_time_limit` is greater than `:wait`. - def initialize(capture_options, comparison_options = nil) - @stability_time_limit, @wait = capture_options.fetch_values(:stability_time_limit, :wait) + def initialize(capture_options, comparison_options = {}) + @stability_time_limit, @wait = capture_options.fetch_values(*STABILITY_OPTIONS) raise ArgumentError, "wait should be provided for stable screenshots" unless wait raise ArgumentError, "stability_time_limit should be provided for stable screenshots" unless stability_time_limit raise ArgumentError, "stability_time_limit (#{stability_time_limit}) should be less or equal than wait (#{wait}) for stable screenshots" unless stability_time_limit <= wait - @comparison_options = comparison_options || Diff.default_options + @comparison_options = comparison_options driver = Diff::Drivers.for(@comparison_options) @screenshoter = Diff.screenshoter.new(capture_options.except(*STABILITY_OPTIONS), driver) @@ -35,92 +35,72 @@ def initialize(capture_options, comparison_options = nil) # or the `:wait` limit is reached. If unable to achieve a stable state within the time limit, it annotates the attempts # to aid debugging. # - # @param screenshot_path [String, Pathname] The path where the screenshot will be saved. + # @param snapshot Snap The snapshot details to take a stable screenshot of. # @return [void] # @raise [RuntimeError] If a stable screenshot cannot be obtained within the specified `:wait` time. - def take_comparison_screenshot(screenshot_path) - new_screenshot_path = take_stable_screenshot(screenshot_path) + def take_comparison_screenshot(snapshot) + result = take_stable_screenshot(snapshot) # We failed to get stable browser state! Generate difference between attempts to overview moving parts! - unless new_screenshot_path + unless result # FIXME(uwe): Change to store the failure and only report if the test succeeds functionally. - annotate_attempts_and_fail!(screenshot_path) + annotate_attempts_and_fail!(snapshot) end - FileUtils.mv(new_screenshot_path, screenshot_path, force: true) - Screenshoter.cleanup_attempts_screenshots(screenshot_path) + # store success attempt as actual screenshot + snapshot.commit_last_attempt + + # cleanup all previous attempts + snapshot.cleanup_attempts end - def take_stable_screenshot(screenshot_path) - screenshot_path = screenshot_path.is_a?(String) ? Pathname.new(screenshot_path) : screenshot_path + def take_stable_screenshot(snapshot) # We try to compare first attempt with checkout version, in order to not run next screenshots - attempt_path = nil deadline_at = Process.clock_gettime(Process::CLOCK_MONOTONIC) + wait # Cleanup all previous attempts for sure - Screenshoter.cleanup_attempts_screenshots(screenshot_path) + snapshot.cleanup_attempts 0.step do |i| # FIXME: it should be wait, and wait should be replaced with stability_time_limit - sleep(stability_time_limit) unless i == 0 - attempt_path, prev_attempt_path = attempt_next_screenshot(attempt_path, i, screenshot_path) - return attempt_path if attempt_successful?(attempt_path, prev_attempt_path) - return nil if timeout?(deadline_at) + sleep(stability_time_limit) unless i == 0 # test prev_attempt_path is nil + + attempt_next_screenshot(snapshot) + + return true if attempt_successful?(snapshot) + return false if timeout?(deadline_at) end end private - def attempt_successful?(attempt_path, prev_attempt_path) - return false unless prev_attempt_path - build_comparison_for(attempt_path, prev_attempt_path).quick_equal? + def attempt_successful?(snapshot) + return false unless snapshot.prev_attempt_path + + build_last_attempts_comparison_for(snapshot).quick_equal? rescue ArgumentError false end - def attempt_next_screenshot(prev_attempt_path, i, screenshot_path) - new_attempt_path = Screenshoter.gen_next_attempt_path(screenshot_path, i) - @screenshoter.take_screenshot(new_attempt_path) - [new_attempt_path, prev_attempt_path] + def attempt_next_screenshot(snapshot) + @screenshoter.take_screenshot(snapshot.next_attempt_path!) end def timeout?(deadline_at) Process.clock_gettime(Process::CLOCK_MONOTONIC) > deadline_at end - def build_comparison_for(attempt_path, previous_attempt_path) - ImageCompare.new(attempt_path, previous_attempt_path, @comparison_options) + def build_last_attempts_comparison_for(snapshot) + ImageCompare.new(snapshot.attempt_path, snapshot.prev_attempt_path, @comparison_options) end # TODO: Move to the HistoricalReporter - def annotate_attempts_and_fail!(screenshot_path) - screenshot_attempts = Screenshoter.attempts_screenshot_paths(screenshot_path) - - annotate_stabilization_images(screenshot_attempts) + def annotate_attempts_and_fail!(snapshot) + require "capybara_screenshot_diff/attempts_reporter" + attempts_reporter = CapybaraScreenshotDiff::AttemptsReporter.new(snapshot, @comparison_options, {wait: wait, stability_time_limit: stability_time_limit}) # TODO: Move fail to the queue after tests passed - fail("Could not get stable screenshot within #{wait}s:\n#{screenshot_attempts.join("\n")}") - end - - # TODO: Add tests that we annotate all files except first one - def annotate_stabilization_images(attempts_screenshot_paths) - previous_file = nil - attempts_screenshot_paths.reverse_each do |file_name| - if previous_file && File.exist?(previous_file) - attempts_comparison = build_comparison_for(file_name, previous_file) - - if attempts_comparison.different? - FileUtils.mv(attempts_comparison.reporter.annotated_base_image_path, previous_file, force: true) - else - warn "[capybara-screenshot-diff] Some attempts was stable, but mistakenly marked as not: " \ - "#{previous_file} and #{file_name} are equal" - end - - FileUtils.rm(attempts_comparison.reporter.annotated_image_path, force: true) - end - - previous_file = file_name - end + fail(attempts_reporter.generate) end end end diff --git a/lib/capybara/screenshot/diff/test_methods.rb b/lib/capybara/screenshot/diff/test_methods.rb index 4b162ff5..2e9d7db4 100644 --- a/lib/capybara/screenshot/diff/test_methods.rb +++ b/lib/capybara/screenshot/diff/test_methods.rb @@ -26,7 +26,7 @@ module Screenshot module Diff module TestMethods # @!attribute [rw] test_screenshots - # @return [Array(Array(Array(String), String, ImageCompare))] An array where each element is an array containing the caller context, + # @return [Array(Array(Array(String), String, ImageCompare | Minitest::Mock))] An array where each element is an array containing the caller context, # the name of the screenshot, and the comparison object. This attribute stores information about each screenshot # scheduled for comparison to ensure they do not show any unintended differences. def initialize(*) @@ -146,7 +146,7 @@ def screenshot(name, skip_stack_frames: 0, **options) # Asserts that an image has not changed compared to its baseline. # - # @param caller [Array] The caller context, used for error reporting. + # @param caller [Array(String)] The caller context, used for error reporting. # @param name [String] The name of the screenshot being verified. # @param comparison [Object] The comparison object containing the result and details of the comparison. # @return [String, nil] Returns an error message if the screenshot differs from the baseline, otherwise nil. @@ -163,7 +163,7 @@ def assert_image_not_changed(caller, name, comparison) return unless result - "Screenshot does not match for '#{name}' #{comparison.error_message}\n#{caller}" + "Screenshot does not match for '#{name}' #{comparison.error_message}\n#{caller.join(", ")}" end private diff --git a/lib/capybara/screenshot/diff/vcs.rb b/lib/capybara/screenshot/diff/vcs.rb index f8672724..532f0890 100644 --- a/lib/capybara/screenshot/diff/vcs.rb +++ b/lib/capybara/screenshot/diff/vcs.rb @@ -6,21 +6,35 @@ module Capybara module Screenshot module Diff module Vcs - SILENCE_ERRORS = Os::ON_WINDOWS ? "2>nul" : "2>/dev/null" + def self.checkout_vcs(root, screenshot_path, checkout_path) + if svn?(root) + restore_svn_revision(screenshot_path, checkout_path) + else + restore_git_revision(screenshot_path, checkout_path, root: root) + end + end - def self.restore_git_revision(screenshot_path, checkout_path) - vcs_file_path = screenshot_path.relative_path_from(Screenshot.root) + def self.svn?(root) + (root / ".svn").exist? + end + + SILENCE_ERRORS = Os::ON_WINDOWS ? "2>nul" : "2>/dev/null" + def self.restore_git_revision(screenshot_path, checkout_path = screenshot_path, root:) + vcs_file_path = screenshot_path.relative_path_from(root) redirect_target = "#{checkout_path} #{SILENCE_ERRORS}" show_command = "git show HEAD~0:./#{vcs_file_path}" - if Screenshot.use_lfs - `#{show_command} > #{checkout_path}.tmp #{SILENCE_ERRORS}` - if $CHILD_STATUS == 0 - `git lfs smudge < #{checkout_path}.tmp > #{redirect_target}` + + Dir.chdir(root) do + if Screenshot.use_lfs + system("#{show_command} > #{checkout_path}.tmp #{SILENCE_ERRORS}", exception: !!ENV["DEBUG"]) + + `git lfs smudge < #{checkout_path}.tmp > #{redirect_target}` if $CHILD_STATUS == 0 + + File.delete "#{checkout_path}.tmp" + else + system("#{show_command} > #{redirect_target}", exception: !!ENV["DEBUG"]) end - File.delete "#{checkout_path}.tmp" - else - `#{show_command} > #{redirect_target}` end if $CHILD_STATUS != 0 @@ -31,14 +45,6 @@ def self.restore_git_revision(screenshot_path, checkout_path) end end - def self.checkout_vcs(screenshot_path, checkout_path) - if svn? - restore_svn_revision(screenshot_path, checkout_path) - else - restore_git_revision(screenshot_path, checkout_path) - end - end - def self.restore_svn_revision(screenshot_path, checkout_path) committed_file_name = screenshot_path + "../.svn/text-base/" + "#{screenshot_path.basename}.svn-base" if committed_file_name.exist? @@ -60,10 +66,6 @@ def self.restore_svn_revision(screenshot_path, checkout_path) false end - - def self.svn? - (Screenshot.screenshot_area_abs / ".svn").exist? - end end end end diff --git a/lib/capybara_screenshot_diff.rb b/lib/capybara_screenshot_diff.rb index 5aa1915d..3e3bd604 100644 --- a/lib/capybara_screenshot_diff.rb +++ b/lib/capybara_screenshot_diff.rb @@ -4,9 +4,9 @@ require "capybara/screenshot/diff/version" require "capybara/screenshot/diff/utils" require "capybara/screenshot/diff/image_compare" +require "capybara_screenshot_diff/snap_manager" require "capybara/screenshot/diff/test_methods" require "capybara/screenshot/diff/screenshoter" - require "capybara/screenshot/diff/reporters/default" module CapybaraScreenshotDiff @@ -63,6 +63,7 @@ module Diff mattr_accessor :tolerance mattr_accessor(:screenshoter) { Screenshoter } + mattr_accessor(:manager) { CapybaraScreenshotDiff::SnapManager } AVAILABLE_DRIVERS = Utils.detect_available_drivers.freeze diff --git a/lib/capybara_screenshot_diff/attempts_reporter.rb b/lib/capybara_screenshot_diff/attempts_reporter.rb new file mode 100644 index 00000000..08ee3f92 --- /dev/null +++ b/lib/capybara_screenshot_diff/attempts_reporter.rb @@ -0,0 +1,49 @@ +# frozen_string_literal: true + +require "capybara/screenshot/diff/image_compare" + +module CapybaraScreenshotDiff + class AttemptsReporter + def initialize(snapshot, comparison_options, stability_options = {}) + @snapshot = snapshot + @comparison_options = comparison_options + @wait = stability_options[:wait] + end + + def generate + attempts_screenshot_paths = @snapshot.find_attempts_paths + + annotate_attempts(attempts_screenshot_paths) + + "Could not get stable screenshot within #{@wait}s:\n#{attempts_screenshot_paths.join("\n")}" + end + + def build_comparison_for(attempt_path, previous_attempt_path) + Capybara::Screenshot::Diff::ImageCompare.new(attempt_path, previous_attempt_path, @comparison_options) + end + + private + + def annotate_attempts(attempts_screenshot_paths) + previous_file = nil + attempts_screenshot_paths.reverse_each do |file_name| + if previous_file && File.exist?(previous_file) + attempts_comparison = build_comparison_for(file_name, previous_file) + + if attempts_comparison.different? + FileUtils.mv(attempts_comparison.reporter.annotated_base_image_path, previous_file, force: true) + else + warn "[capybara-screenshot-diff] Some attempts was stable, but mistakenly marked as not: " \ + "#{previous_file} and #{file_name} are equal" + end + + FileUtils.rm(attempts_comparison.reporter.annotated_image_path, force: true) + end + + previous_file = file_name + end + + previous_file + end + end +end diff --git a/lib/capybara_screenshot_diff/dsl.rb b/lib/capybara_screenshot_diff/dsl.rb index 8a58739f..188463d2 100644 --- a/lib/capybara_screenshot_diff/dsl.rb +++ b/lib/capybara_screenshot_diff/dsl.rb @@ -1,6 +1,7 @@ # frozen_string_literal: true require "capybara_screenshot_diff" +require "capybara/screenshot/diff/test_methods" module CapybaraScreenshotDiff module DSL diff --git a/lib/capybara_screenshot_diff/snap.rb b/lib/capybara_screenshot_diff/snap.rb new file mode 100644 index 00000000..cbc95696 --- /dev/null +++ b/lib/capybara_screenshot_diff/snap.rb @@ -0,0 +1,55 @@ +# frozen_string_literal: true + +module CapybaraScreenshotDiff + class Snap + attr_reader :full_name, :format, :path, :base_path, :manager, :attempt_path, :prev_attempt_path, :attempts_count + + def initialize(full_name, format, manager: SnapManager.instance) + @full_name = full_name + @format = format + @path = manager.abs_path_for(Pathname.new(@full_name).sub_ext(".#{@format}")) + @base_path = @path.sub_ext(".base.#{@format}") + @manager = manager + @attempts_count = 0 + end + + def delete! + path.delete if path.exist? + base_path.delete if base_path.exist? + cleanup_attempts + end + + def checkout_base_screenshot + @manager.checkout_file(path, base_path) + end + + def path_for(version = :actual) + case version + when :base + base_path + else + path + end + end + + def next_attempt_path! + @prev_attempt_path = @attempt_path + @attempt_path = path.sub_ext(sprintf(".attempt_%02i.#{format}", @attempts_count)) + ensure + @attempts_count += 1 + end + + def commit_last_attempt + @manager.move(attempt_path, path) + end + + def cleanup_attempts + @manager.cleanup_attempts!(self) + @attempts_count = 0 + end + + def find_attempts_paths + Dir[@manager.abs_path_for "**/#{full_name}.attempt_*.#{format}"] + end + end +end diff --git a/lib/capybara_screenshot_diff/snap_manager.rb b/lib/capybara_screenshot_diff/snap_manager.rb new file mode 100644 index 00000000..0a75c98d --- /dev/null +++ b/lib/capybara_screenshot_diff/snap_manager.rb @@ -0,0 +1,76 @@ +# frozen_string_literal: true + +require "capybara/screenshot/diff/vcs" +require "active_support/core_ext/module/attribute_accessors" + +require "capybara_screenshot_diff/snap" + +module CapybaraScreenshotDiff + class SnapManager + attr_reader :root + + def initialize(root) + @root = Pathname.new(root) + end + + def snapshot(screenshot_full_name, screenshot_format = "png") + Snap.new(screenshot_full_name, screenshot_format, manager: self) + end + + def self.snapshot(screenshot_full_name, screenshot_format = "png") + instance.snapshot(screenshot_full_name, screenshot_format) + end + + def abs_path_for(relative_path) + @root / relative_path + end + + def checkout_file(path, as_path) + create_output_directory_for(as_path) unless as_path.exist? + Capybara::Screenshot::Diff::Vcs.checkout_vcs(root, path, as_path) + end + + def provision_snap_with(snap, path, version: :actual) + managed_path = snap.path_for(version) + create_output_directory_for(managed_path) unless managed_path.exist? + FileUtils.cp(path, managed_path) + end + + def create_output_directory_for(path = nil) + path ? path.dirname.mkpath : root.mkpath + end + + # TODO: rename to delete! + def cleanup! + FileUtils.rm_rf root, secure: true + end + + def self.cleanup! + instance.cleanup! + end + + def cleanup_attempts!(snapshot) + FileUtils.rm_rf snapshot.find_attempts_paths, secure: true + end + + def move(new_screenshot_path, screenshot_path) + FileUtils.mv(new_screenshot_path, screenshot_path, force: true) + end + + def screenshots + root.children.map { |f| f.basename.to_s } + end + + def self.screenshots + instance.screenshots + end + + def self.root + instance.root + end + + def self.instance + Capybara::Screenshot::Diff.manager.new(Capybara::Screenshot.screenshot_area_abs) + end + end +end diff --git a/test/capybara/screenshot/diff/image_compare_test.rb b/test/capybara/screenshot/diff/image_compare_test.rb index 0aad8542..eac0d597 100644 --- a/test/capybara/screenshot/diff/image_compare_test.rb +++ b/test/capybara/screenshot/diff/image_compare_test.rb @@ -111,28 +111,25 @@ class IntegrationRegressionTest < ActionDispatch::IntegrationTest images = all_fixtures_images_names AVAILABLE_DRIVERS.each do |driver| - Dir.chdir File.expand_path("../../../images", __dir__) do - images.each do |image| - other_images = images - [image] - other_images.each do |different_image| - comparison = make_comparison(image, different_image, **driver) - assert_not( - comparison.quick_equal?, - "compare #{image} with #{different_image} with #{driver} driver should not be quick_equal" - ) - assert( - comparison.different?, - "compare #{image} with #{different_image} with #{driver} driver should be different" - ) - end + images.each do |image| + other_images = images - [image] + other_images.each do |different_image| + comparison = make_comparison(image, different_image, **driver) + assert_not( + comparison.quick_equal?, + "compare #{image.inspect} with #{different_image.inspect} using #{driver} driver should not be quick_equal" + ) + assert( + comparison.different?, + "compare #{image.inspect} with #{different_image.inspect} using #{driver} driver should be different" + ) end end end end def all_fixtures_images_names - fixtures_images = Dir[File.expand_path("../../../images/*.png", __dir__)] - fixtures_images.map { |f| File.basename(f).chomp(".png") } + %w[a a_cropped b c d portrait portrait_b] end end end diff --git a/test/capybara/screenshot/diff/stable_screenshoter_test.rb b/test/capybara/screenshot/diff/stable_screenshoter_test.rb index bd17e740..d651e54a 100644 --- a/test/capybara/screenshot/diff/stable_screenshoter_test.rb +++ b/test/capybara/screenshot/diff/stable_screenshoter_test.rb @@ -8,6 +8,15 @@ module Diff class StableScreenshoterTest < ActionDispatch::IntegrationTest include TestMethodsStub + setup do + @manager = CapybaraScreenshotDiff::SnapManager.new(Capybara::Screenshot.root / "stable_screenshoter_test") + @manager.create_output_directory_for + end + + teardown do + @manager.cleanup! + end + test "#take_stable_screenshot several iterations to take stable screenshot" do image_compare_stub = build_image_compare_stub @@ -18,7 +27,8 @@ class StableScreenshoterTest < ActionDispatch::IntegrationTest mock.expect(:quick_equal?, true) ImageCompare.stub :new, mock do - take_stable_screenshot_with("tmp/02_a.png") + snap = @manager.snapshot("02_a") + take_stable_screenshot_with(snap) end mock.verify @@ -26,13 +36,13 @@ class StableScreenshoterTest < ActionDispatch::IntegrationTest test "#take_stable_screenshot without wait raises any error" do assert_raises ArgumentError, "wait should be provided" do - take_stable_screenshot_with("tmp/02_a.png", wait: nil) + take_stable_screenshot_with(@manager.snapshot("02_a"), wait: nil) end end test "#take_stable_screenshot without stability_time_limit raises any error" do assert_raises ArgumentError, "stability_time_limit should be provided" do - take_stable_screenshot_with("tmp/02_a.png", stability_time_limit: nil) + take_stable_screenshot_with(@manager.snapshot("02_a"), stability_time_limit: nil) end end @@ -43,26 +53,30 @@ class StableScreenshoterTest < ActionDispatch::IntegrationTest mock.expect(:quick_equal?, false) mock.expect(:quick_equal?, true) - assert_not (Capybara::Screenshot.root / "02_a.png").exist? + snap = @manager.snapshot("02_a") + assert_not_predicate snap.path, :exist? ImageCompare.stub :new, mock do StableScreenshoter .new({stability_time_limit: 0.5, wait: 1}, image_compare_stub.driver_options) - .take_comparison_screenshot("tmp/02_a.png") + .take_comparison_screenshot(snap) end mock.verify - assert_empty Dir[Capybara::Screenshot.root / "**/02_a.attempt_*.png"] - assert (Capybara::Screenshot.root / "02_a.png").exist? - assert_not_predicate (Capybara::Screenshot.root / "02_a.png").size, :zero? + assert_empty snap.find_attempts_paths + assert_predicate snap.path, :exist? + assert_not_predicate snap.path.size, :zero? end test "#take_comparison_screenshot fail on missing find stable image in time and generates annotated history screenshots" do - screenshot_path = Pathname.new("tmp/01_a.png") + snap = @manager.snapshot("01_a") + + screenshot_path = snap.path # Stub annotated files for generated comparison annotations # We need to have different from screenshot_path name because of other stubs - annotated_screenshot_path = Pathname.new("tmp/02_a.png") + pseudo_snap_for_annotations = @manager.snapshot("02_a") + annotated_screenshot_path = pseudo_snap_for_annotations.path annotated_attempts_paths = [ [annotated_screenshot_path.sub_ext(".attempt_01.latest.png"), annotated_screenshot_path.sub_ext(".attempt_01.committed.png")], [annotated_screenshot_path.sub_ext(".attempt_02.latest.png"), annotated_screenshot_path.sub_ext(".attempt_02.committed.png")] @@ -71,9 +85,9 @@ class StableScreenshoterTest < ActionDispatch::IntegrationTest FileUtils.touch(annotated_attempts_paths) mock = ::Minitest::Mock.new(build_image_compare_stub(equal: false)) - annotated_attempts_paths.reverse_each do |(latest_path, committed_path)| - mock.reporter.expect(:annotated_image_path, latest_path.to_s) - mock.reporter.expect(:annotated_base_image_path, committed_path.to_s) + annotated_attempts_paths.reverse_each do |(actual_path, base_path)| + mock.reporter.expect(:annotated_image_path, actual_path.to_s) + mock.reporter.expect(:annotated_base_image_path, base_path.to_s) end assert_raises RuntimeError, "Could not get stable screenshot within 1s" do @@ -81,7 +95,7 @@ class StableScreenshoterTest < ActionDispatch::IntegrationTest # Wait time is less then stability time, which will generate problem StableScreenshoter .new({stability_time_limit: 0.5, wait: 1}, build_image_compare_stub(equal: false).driver_options) - .take_comparison_screenshot(screenshot_path.to_s) + .take_comparison_screenshot(snap) end end @@ -98,7 +112,8 @@ class StableScreenshoterTest < ActionDispatch::IntegrationTest last_annotation = screenshot_path.sub_ext(".attempt_01.png") assert_equal 0, last_annotation.size, "#{last_annotation.to_path} should be override with annotated version" ensure - FileUtils.rm_rf Dir["tmp/01_a*.png"] + snap&.delete! + pseudo_snap_for_annotations&.delete! end end end diff --git a/test/capybara/screenshot/diff/test_methods_test.rb b/test/capybara/screenshot/diff/test_methods_test.rb index 159d422b..ffbee4e3 100644 --- a/test/capybara/screenshot/diff/test_methods_test.rb +++ b/test/capybara/screenshot/diff/test_methods_test.rb @@ -20,7 +20,7 @@ class TestMethodsTest < ActionDispatch::IntegrationTest end def test_assert_image_not_changed - message = assert_image_not_changed("my_test.rb:42", "name", make_comparison(:a, :c)) + message = assert_image_not_changed(["my_test.rb:42"], "name", make_comparison(:a, :c)) value = (RUBY_VERSION >= "2.4") ? 187.4 : 188 assert_equal <<-MSG.strip_heredoc.chomp, message Screenshot does not match for 'name' ({"area_size":629,"region":[11,3,48,20],"max_color_distance":#{value}}) @@ -33,7 +33,7 @@ def test_assert_image_not_changed def test_assert_image_not_changed_with_shift_distance_limit message = assert_image_not_changed( - "my_test.rb:42", + ["my_test.rb:42"], "name", make_comparison(:a, :c, shift_distance_limit: 1, driver: :chunky_png) ) @@ -55,7 +55,7 @@ def test_screenshot_support_drivers_options def test_skip_stack_frames Vcs.stub(:checkout_vcs, true) do assert_predicate @test_screenshots, :blank? - make_comparison(:a, :c, destination: Rails.root / "doc/screenshots/a.png") + make_comparison(:a, :c, destination: "a.png") our_screenshot("a", 1) assert_equal 1, @test_screenshots.size @@ -83,18 +83,20 @@ def test_skip_area_and_stability_time_limit def test_creates_new_screenshot screenshot(:c) - assert_predicate (Capybara::Screenshot.screenshot_area_abs / "c.png"), :exist? + + snap = CapybaraScreenshotDiff::SnapManager.snapshot("c") + assert_predicate snap.path, :exist? end def test_cleanup_base_image_for_no_change comparison = make_comparison(:a, :a) - assert_image_not_changed("my_test.rb:42", "name", comparison) + assert_image_not_changed(["my_test.rb:42"], "name", comparison) assert_not comparison.base_image_path.exist? end def test_cleanup_base_image_for_changes comparison = make_comparison(:a, :b) - assert_image_not_changed("my_test.rb:42", "name", comparison) + assert_image_not_changed(["my_test.rb:42"], "name", comparison) assert_not comparison.base_image_path.exist? end diff --git a/test/capybara/screenshot/diff/vcs_test.rb b/test/capybara/screenshot/diff/vcs_test.rb index 3982c786..0752b419 100644 --- a/test/capybara/screenshot/diff/vcs_test.rb +++ b/test/capybara/screenshot/diff/vcs_test.rb @@ -9,7 +9,7 @@ class VcsTest < ActionDispatch::IntegrationTest include Vcs setup do - @base_screenshot = Tempfile.new(%w[vcs_base_screenshot attempt.0.png], Rails.root) + @base_screenshot = Tempfile.new(%w[vcs_base_screenshot. .attempt.0.png], Screenshot.root) end teardown do @@ -20,17 +20,12 @@ class VcsTest < ActionDispatch::IntegrationTest end test "checkout of original screenshot" do - prev_root = Capybara::Screenshot.root - Capybara::Screenshot.root = "." - - screenshot_path = Capybara::Screenshot.root / "test/images/a.png" + screenshot_path = Screenshot.root / "../test/images/a.png" base_screenshot_path = Pathname.new(@base_screenshot.path) - assert Vcs.restore_git_revision(screenshot_path, base_screenshot_path) + assert Vcs.restore_git_revision(screenshot_path, base_screenshot_path, root: Screenshot.root) assert base_screenshot_path.exist? assert_equal screenshot_path.size, base_screenshot_path.size - ensure - Capybara::Screenshot.root = prev_root end end end diff --git a/test/capybara/screenshot/diff_test.rb b/test/capybara/screenshot/diff_test.rb index efb121e3..90ef430e 100644 --- a/test/capybara/screenshot/diff_test.rb +++ b/test/capybara/screenshot/diff_test.rb @@ -27,7 +27,7 @@ class DiffTest < ActionDispatch::IntegrationTest include Diff::TestMethodsStub teardown do - FileUtils.rm_rf Capybara::Screenshot.screenshot_area_abs + CapybaraScreenshotDiff::SnapManager.cleanup! Capybara::Screenshot.add_driver_path = @orig_add_driver_path Capybara::Screenshot.add_os_path = @orig_add_os_path @@ -148,7 +148,7 @@ def _test_sample_screenshot_error mock.expect(:error_message, "expected error message") @test_screenshots = [] - @test_screenshots << ["my_test.rb:42", "sample_screenshot", mock] + @test_screenshots << [["my_test.rb:42"], "sample_screenshot", mock] mock.expect(:clear_screenshots, @test_screenshots) end end @@ -176,7 +176,7 @@ def _test_sample_screenshot_error comparison.expect(:base_image_path, Pathname.new("screenshot.base.png")) comparison.expect(:error_message, "expected error message for non minitest") - @test_screenshots << ["my_test.rb:42", "sample_screenshot", comparison] + @test_screenshots << [["my_test.rb:42"], "sample_screenshot", comparison] end end @@ -195,7 +195,9 @@ class ScreenshotFormatTest < ActionDispatch::IntegrationTest test "use default screenshot format" do skip "VIPS not present. Skipping VIPS driver tests." unless defined?(Vips) - set_test_images("a.webp", :a, :a) + snap = CapybaraScreenshotDiff::SnapManager.snapshot("a", "webp") + + set_test_images(snap, :a, :a) Capybara::Screenshot.stub(:screenshot_format, "webp") do screenshot "a", driver: :vips @@ -205,7 +207,8 @@ class ScreenshotFormatTest < ActionDispatch::IntegrationTest end test "override default screenshot format" do - set_test_images("a.png", :a, :a) + snap = CapybaraScreenshotDiff::SnapManager.snapshot("a", "png") + set_test_images(snap, :a, :a) Capybara::Screenshot.stub(:screenshot_format, "webp") do screenshot "a", screenshot_format: "png" diff --git a/test/capybara/screenshot/screenshot_test.rb b/test/capybara/screenshot/screenshot_test.rb index cc242037..4fb273db 100644 --- a/test/capybara/screenshot/screenshot_test.rb +++ b/test/capybara/screenshot/screenshot_test.rb @@ -6,7 +6,7 @@ module Capybara class ScreenshotTest < ActionDispatch::IntegrationTest def test_screenshot_area_abs_is_absolute - assert Capybara::Screenshot.screenshot_area_abs.absolute? + assert CapybaraScreenshotDiff::SnapManager.root.absolute? end def test_root_is_a_pathname diff --git a/test/capybara_screenshot_diff/snap_manager_test.rb b/test/capybara_screenshot_diff/snap_manager_test.rb new file mode 100644 index 00000000..c5315828 --- /dev/null +++ b/test/capybara_screenshot_diff/snap_manager_test.rb @@ -0,0 +1,35 @@ +# frozen_string_literal: true + +require "test_helper" + +module CapybaraScreenshotDiff + class SnapManagerTest < ActiveSupport::TestCase + setup do + @manager = SnapManager.new(Dir.mktmpdir("snap_diff-storage")) + end + + teardown do + @manager.cleanup! + end + + test "#provision_snap_with copies the file to the snap path" do + snap = @manager.snapshot("test_image") + path = fixture_image_path_from("a") + + @manager.provision_snap_with(snap, path) + + assert_predicate snap.path, :exist? + assert_not_predicate snap.base_path, :exist? + end + + test "#provision_snap_with populate the base version of the snapshot" do + snap = @manager.snapshot("test_image") + path = fixture_image_path_from("a") + + @manager.provision_snap_with(snap, path, version: :base) + + assert_not_predicate snap.path, :exist? + assert_predicate snap.base_path, :exist? + end + end +end diff --git a/test/integration/browser_screenshot_test.rb b/test/integration/browser_screenshot_test.rb index e0685e28..5db08c0d 100644 --- a/test/integration/browser_screenshot_test.rb +++ b/test/integration/browser_screenshot_test.rb @@ -187,7 +187,7 @@ def test_screenshot_selected_element end end ensure - FileUtils.rm_rf(Capybara::Screenshot.screenshot_area_abs / "index-with-anim.png") + CapybaraScreenshotDiff::SnapManager.snapshot("index-with-anim").delete! end def test_await_all_images_are_loaded diff --git a/test/support/stub_test_methods.rb b/test/support/stub_test_methods.rb index ffe065ea..2498e83c 100644 --- a/test/support/stub_test_methods.rb +++ b/test/support/stub_test_methods.rb @@ -10,34 +10,28 @@ module TestMethodsStub included do setup do + @manager = CapybaraScreenshotDiff::SnapManager.new(Rails.root / "doc/screenshots") Diff.screenshoter = ScreenshoterStub end teardown do + @manager.cleanup! Diff.screenshoter = Screenshoter end end # Prepare comparison images and build ImageCompare for them - def make_comparison(fixture_base_image, fixture_new_image, destination: nil, **options) - destination ||= Rails.root / "doc/screenshots/screenshot.png" + def make_comparison(fixture_base_image, fixture_new_image, destination: "screenshot", **options) + snap = @manager.snapshot(destination) - set_test_images(destination, fixture_base_image, fixture_new_image) + set_test_images(snap, fixture_base_image, fixture_new_image) - ImageCompare.new(destination, ScreenshotMatcher.base_image_path_from(destination), **options) + ImageCompare.new(snap.path, snap.base_path, **options) end - def set_test_images(destination, original_base_image, original_new_image, ext: "png") - destination = Pathname.new(destination) unless destination.is_a?(Pathname) - destination = Capybara::Screenshot.screenshot_area_abs.join(destination) unless destination.absolute? - destination.dirname.mkpath unless destination.dirname.exist? - - ext = destination.extname[1..] if destination.extname.present? - FileUtils.cp(TEST_IMAGES_DIR / "#{original_new_image}.#{ext}", destination) - FileUtils.cp( - TEST_IMAGES_DIR / "#{original_base_image}.#{ext}", - ScreenshotMatcher.base_image_path_from(destination) - ) + def set_test_images(snap, original_base_image, original_new_image, ext: "png") + @manager.provision_snap_with(snap, fixture_image_path_from(original_new_image, snap.format), version: :actual) + @manager.provision_snap_with(snap, fixture_image_path_from(original_base_image, snap.format), version: :base) end ImageCompareStub = Struct.new( @@ -55,9 +49,9 @@ def build_image_compare_stub(equal: true) ) end - def take_stable_screenshot_with(screenshot_path, stability_time_limit: 0.01, wait: 10) + def take_stable_screenshot_with(snap, stability_time_limit: 0.01, wait: 10) screenshoter = StableScreenshoter.new({stability_time_limit: stability_time_limit, wait: wait}) - screenshoter.take_stable_screenshot(screenshot_path) + screenshoter.take_stable_screenshot(snap) end end end diff --git a/test/system_test_case.rb b/test/system_test_case.rb index 0526fbe5..5fffa4c0 100644 --- a/test/system_test_case.rb +++ b/test/system_test_case.rb @@ -61,7 +61,7 @@ def rollback_comparison_runtime_files((_, _, comparison)) save_annotations_for_debug(comparison) screenshot_path = comparison.image_path - Vcs.restore_git_revision(screenshot_path, screenshot_path) + Vcs.restore_git_revision(screenshot_path, root: Capybara::Screenshot.root) if comparison.difference comparison.reporter.clean_tmp_files diff --git a/test/test_helper.rb b/test/test_helper.rb index f61fdfee..f463fd1b 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -40,18 +40,20 @@ def optional_test end end + def fixture_image_path_from(original_new_image, ext = "png") + TEST_IMAGES_DIR / "#{original_new_image}.#{ext}" + end + def assert_same_images(expected_image_name, image_path) expected_image_path = file_fixture("files/comparisons/#{expected_image_name}") assert_predicate(Capybara::Screenshot::Diff::ImageCompare.new(image_path, expected_image_path), :quick_equal?) end def assert_stored_screenshot(filename) - screenshots = Capybara::Screenshot.screenshot_area_abs.children.map { |f| f.basename.to_s } - assert_includes( - screenshots, + CapybaraScreenshotDiff::SnapManager.screenshots, filename, - "Screenshot #{filename} not found in #{Capybara::Screenshot.screenshot_area_abs}" + "Screenshot #{filename} not found in #{CapybaraScreenshotDiff::SnapManager.instance.root}" ) end end From 90f71e19a887164756ed666c7cf87e41b2ed9197 Mon Sep 17 00:00:00 2001 From: Paul Keen <125715+pftg@users.noreply.github.com> Date: Thu, 12 Sep 2024 22:12:47 +0200 Subject: [PATCH 255/312] Fixes multiple problems (#132) * feat: do not expect to lazy loading images Closes: #127 * bug: allows to pass wait and override timeout for stable screenshoter Closes: #131 * chore: remove redundant operation * chore: reduce requirement of the Rails * chore: remove redundant chunky_png requirement * chore: updates system font --- .../screenshot/diff/browser_helpers.rb | 18 ++++++++++++++---- .../screenshot/diff/drivers/base_driver.rb | 1 - lib/capybara/screenshot/diff/screenshoter.rb | 1 - .../screenshot/diff/stable_screenshoter.rb | 2 +- lib/capybara_screenshot_diff.rb | 2 +- .../screenshots/macos/cuprite/index-vips.webp | Bin 20235 -> 20247 bytes 6 files changed, 16 insertions(+), 8 deletions(-) diff --git a/lib/capybara/screenshot/diff/browser_helpers.rb b/lib/capybara/screenshot/diff/browser_helpers.rb index 88714a3e..7350800f 100644 --- a/lib/capybara/screenshot/diff/browser_helpers.rb +++ b/lib/capybara/screenshot/diff/browser_helpers.rb @@ -30,13 +30,23 @@ def self.bounds_for_css(*css_selectors) IMAGE_WAIT_SCRIPT = <<~JS function pending_image() { - var images = document.images; + function isInViewport(element) { + const rect = element.getBoundingClientRect(); + return ( + rect.top >= 0 && + rect.left >= 0 && + rect.bottom <= (window.innerHeight || document.documentElement.clientHeight) && + rect.right <= (window.innerWidth || document.documentElement.clientWidth) + ); + } + + const images = document.images for (var i = 0; i < images.length; i++) { - if (!images[i].complete) { - return images[i].src; + if (!images[i].complete && ("lazy" !== images[i].loading || isInViewport(images[i]))) { + return images[i].src } } - return false; + return false }(window) JS diff --git a/lib/capybara/screenshot/diff/drivers/base_driver.rb b/lib/capybara/screenshot/diff/drivers/base_driver.rb index 0cddbbf1..8082966b 100644 --- a/lib/capybara/screenshot/diff/drivers/base_driver.rb +++ b/lib/capybara/screenshot/diff/drivers/base_driver.rb @@ -1,6 +1,5 @@ # frozen_string_literal: true -require "chunky_png" require "capybara/screenshot/diff/difference" module Capybara diff --git a/lib/capybara/screenshot/diff/screenshoter.rb b/lib/capybara/screenshot/diff/screenshoter.rb index 7718746c..a05e31c7 100644 --- a/lib/capybara/screenshot/diff/screenshoter.rb +++ b/lib/capybara/screenshot/diff/screenshoter.rb @@ -82,7 +82,6 @@ def wait_images_loaded(timeout:) deadline_at = Process.clock_gettime(Process::CLOCK_MONOTONIC) + timeout loop do - Capybara.default_max_wait_time pending_image = BrowserHelpers.pending_image_to_load break unless pending_image diff --git a/lib/capybara/screenshot/diff/stable_screenshoter.rb b/lib/capybara/screenshot/diff/stable_screenshoter.rb index 992e9e8b..331a7137 100644 --- a/lib/capybara/screenshot/diff/stable_screenshoter.rb +++ b/lib/capybara/screenshot/diff/stable_screenshoter.rb @@ -26,7 +26,7 @@ def initialize(capture_options, comparison_options = {}) @comparison_options = comparison_options driver = Diff::Drivers.for(@comparison_options) - @screenshoter = Diff.screenshoter.new(capture_options.except(*STABILITY_OPTIONS), driver) + @screenshoter = Diff.screenshoter.new(capture_options.except(:stability_time_limit), driver) end # Takes a comparison screenshot ensuring page stability diff --git a/lib/capybara_screenshot_diff.rb b/lib/capybara_screenshot_diff.rb index 3e3bd604..ff84eb4f 100644 --- a/lib/capybara_screenshot_diff.rb +++ b/lib/capybara_screenshot_diff.rb @@ -20,7 +20,7 @@ module Screenshot mattr_accessor :blur_active_element mattr_accessor :enabled mattr_accessor :hide_caret - mattr_reader(:root) { (defined?(Rails.root) && Rails.root) || Pathname(".").expand_path } + mattr_reader(:root) { (defined?(Rails) && defined?(Rails.root) && Rails.root) || Pathname(".").expand_path } mattr_accessor :stability_time_limit mattr_accessor :window_size mattr_accessor(:save_path) { "doc/screenshots" } diff --git a/test/fixtures/app/doc/screenshots/macos/cuprite/index-vips.webp b/test/fixtures/app/doc/screenshots/macos/cuprite/index-vips.webp index 2c77ba1f758c43feceb3f1fea8394aa8667d9f60..d5da2f3f8c5e72ac58387eb768a41863a56965fe 100644 GIT binary patch delta 16970 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 From 31f17556e18c0edc1f9b825191c427f073f3f193 Mon Sep 17 00:00:00 2001 From: Paul Keen <125715+pftg@users.noreply.github.com> Date: Thu, 12 Sep 2024 22:19:55 +0200 Subject: [PATCH 256/312] bump 1.9.1 --- lib/capybara/screenshot/diff/version.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/capybara/screenshot/diff/version.rb b/lib/capybara/screenshot/diff/version.rb index 20fb2241..b6c0ab1e 100644 --- a/lib/capybara/screenshot/diff/version.rb +++ b/lib/capybara/screenshot/diff/version.rb @@ -3,7 +3,7 @@ module Capybara module Screenshot module Diff - VERSION = "1.9.0" + VERSION = "1.9.1" end end end From 2c946980d559a6b4b9baa1bff94f98e5acec34af Mon Sep 17 00:00:00 2001 From: Paul Keen <125715+pftg@users.noreply.github.com> Date: Thu, 31 Oct 2024 17:12:50 +0100 Subject: [PATCH 257/312] chore: ignores lazy images --- lib/capybara/screenshot/diff/browser_helpers.rb | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/lib/capybara/screenshot/diff/browser_helpers.rb b/lib/capybara/screenshot/diff/browser_helpers.rb index 7350800f..ceb6d87d 100644 --- a/lib/capybara/screenshot/diff/browser_helpers.rb +++ b/lib/capybara/screenshot/diff/browser_helpers.rb @@ -30,19 +30,9 @@ def self.bounds_for_css(*css_selectors) IMAGE_WAIT_SCRIPT = <<~JS function pending_image() { - function isInViewport(element) { - const rect = element.getBoundingClientRect(); - return ( - rect.top >= 0 && - rect.left >= 0 && - rect.bottom <= (window.innerHeight || document.documentElement.clientHeight) && - rect.right <= (window.innerWidth || document.documentElement.clientWidth) - ); - } - const images = document.images for (var i = 0; i < images.length; i++) { - if (!images[i].complete && ("lazy" !== images[i].loading || isInViewport(images[i]))) { + if (!images[i].complete && images[i].loading !== "lazy") { return images[i].src } } From caafa9dbdaf8fb212fecd4036d93203d9e904a9b Mon Sep 17 00:00:00 2001 From: Fabio Maia Date: Tue, 19 Nov 2024 10:05:54 -0500 Subject: [PATCH 258/312] Relax rails version constraints (#135) * Relax rails version constraints * Update version.rb --- capybara-screenshot-diff.gemspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/capybara-screenshot-diff.gemspec b/capybara-screenshot-diff.gemspec index 14c6a0d4..6c57e723 100644 --- a/capybara-screenshot-diff.gemspec +++ b/capybara-screenshot-diff.gemspec @@ -23,6 +23,6 @@ Gem::Specification.new do |spec| spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) } spec.require_paths = ["lib"] - spec.add_runtime_dependency "actionpack", ">= 6.1", "< 8" + spec.add_runtime_dependency "actionpack", ">= 6.1", "< 9" spec.add_runtime_dependency "capybara", ">= 2", "< 4" end From d1adc5a6cafc92fa9ecd6d8220540b31a225a1b4 Mon Sep 17 00:00:00 2001 From: Paul Keen <125715+pftg@users.noreply.github.com> Date: Wed, 20 Nov 2024 15:56:59 +0100 Subject: [PATCH 259/312] Update version.rb --- lib/capybara/screenshot/diff/version.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/capybara/screenshot/diff/version.rb b/lib/capybara/screenshot/diff/version.rb index b6c0ab1e..8543dbd4 100644 --- a/lib/capybara/screenshot/diff/version.rb +++ b/lib/capybara/screenshot/diff/version.rb @@ -3,7 +3,7 @@ module Capybara module Screenshot module Diff - VERSION = "1.9.1" + VERSION = "1.9.2" end end end From 17c050c0869eafda3a5c115b7fd4e48e5280c112 Mon Sep 17 00:00:00 2001 From: Paul Keen <125715+pftg@users.noreply.github.com> Date: Fri, 20 Dec 2024 23:14:31 +0100 Subject: [PATCH 260/312] fix: prevents rspec collision (#137) Closes: #136 --- lib/capybara/screenshot/diff/test_methods.rb | 6 +++--- .../doc/screenshots/macos/cuprite/index.png | Bin 20235 -> 28282 bytes test/fixtures/files/rspec_spec.rb | 4 ++++ 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/lib/capybara/screenshot/diff/test_methods.rb b/lib/capybara/screenshot/diff/test_methods.rb index 2e9d7db4..d1a7a849 100644 --- a/lib/capybara/screenshot/diff/test_methods.rb +++ b/lib/capybara/screenshot/diff/test_methods.rb @@ -125,7 +125,7 @@ def screenshot(name, skip_stack_frames: 0, **options) unless job if Screenshot::Diff.fail_if_new - raise_error(<<-ERROR.strip_heredoc, caller(2)) + _raise_error(<<-ERROR.strip_heredoc, caller(2)) No existing screenshot found for #{screenshot_full_name}! To stop seeing this error disable by `Capybara::Screenshot::Diff.fail_if_new=false` ERROR @@ -140,7 +140,7 @@ def screenshot(name, skip_stack_frames: 0, **options) schedule_match_job(job) else error_msg = assert_image_not_changed(*job) - raise_error(error_msg, caller(2)) if error_msg + _raise_error(error_msg, caller(2)) if error_msg end end @@ -168,7 +168,7 @@ def assert_image_not_changed(caller, name, comparison) private - def raise_error(error_msg, backtrace) + def _raise_error(error_msg, backtrace) raise CapybaraScreenshotDiff::ExpectationNotMet.new(error_msg).tap { _1.set_backtrace(backtrace) } end diff --git a/test/fixtures/app/doc/screenshots/macos/cuprite/index.png b/test/fixtures/app/doc/screenshots/macos/cuprite/index.png index 2c77ba1f758c43feceb3f1fea8394aa8667d9f60..7d2b9eda3a88392c10805ec6a23e6780ec18ca0b 100644 GIT binary patch literal 28282 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 literal 20235 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 Jp}tGZ{{coo3BCXT diff --git a/test/fixtures/files/rspec_spec.rb b/test/fixtures/files/rspec_spec.rb index 4c89e7bb..12b1e788 100644 --- a/test/fixtures/files/rspec_spec.rb +++ b/test/fixtures/files/rspec_spec.rb @@ -36,4 +36,8 @@ expect(page).to match_screenshot("index", skip_stack_frames: 1, driver: :chunky_png) end + + it "does not conflicts with rspec methods" do + expect { raise StandardError }.to raise_error(StandardError) + end end From ac76bb7c97d6a07a37e758809990e82c16a76cfe Mon Sep 17 00:00:00 2001 From: Paul Keen <125715+pftg@users.noreply.github.com> Date: Sat, 21 Dec 2024 00:23:47 +0100 Subject: [PATCH 261/312] build: review broken CI tests (#138) * chore: cleanup * build: generate screenshots on fails * WIP: build: generate screenshots on fails * WIP: build: generate screenshots on fails * WIP: build: generate screenshots on fails * build: makes build works * build: update debug artifcats * build: update test images for CI * Update .gitignore to exclude report image files Added patterns to ignore .webp files alongside .png for reports. This ensures consistency in ignoring generated report files across formats. Helps maintain a cleaner working directory. --- .../setup-ruby-and-dependencies/action.yml | 9 ++++++++- .github/actions/upload-screenshots/action.yml | 9 +++++++-- .github/workflows/test.yml | 1 + .gitignore | 5 +++++ test/capybara/screenshot/diff_test.rb | 2 +- .../linux/cuprite/index-cropped.png | Bin 3430 -> 2885 bytes .../screenshots/linux/cuprite/index-vips.webp | Bin 25670 -> 19586 bytes .../doc/screenshots/linux/cuprite/index.png | Bin 27983 -> 27135 bytes 8 files changed, 22 insertions(+), 4 deletions(-) diff --git a/.github/actions/setup-ruby-and-dependencies/action.yml b/.github/actions/setup-ruby-and-dependencies/action.yml index f6023d2a..27441777 100644 --- a/.github/actions/setup-ruby-and-dependencies/action.yml +++ b/.github/actions/setup-ruby-and-dependencies/action.yml @@ -22,9 +22,16 @@ runs: bundler-cache: true cache-version: ${{ inputs.ruby-cache-version }}-v1 + - run: sudo apt-get -qq update + shell: bash + - name: Install and cache vips if: ${{ inputs.cache-apt-packages == 'true' }} uses: awalsh128/cache-apt-pkgs-action@latest with: packages: libvips libglib2.0-0 libglib2.0-dev libwebp-dev libvips42 libpng-dev - version: tests-v1 + version: tests-v2 + + # fallback if cache version is outdated + - run: sudo apt-get -qq install libvips + shell: bash diff --git a/.github/actions/upload-screenshots/action.yml b/.github/actions/upload-screenshots/action.yml index e12faa9b..d64c104a 100644 --- a/.github/actions/upload-screenshots/action.yml +++ b/.github/actions/upload-screenshots/action.yml @@ -9,10 +9,15 @@ runs: using: 'composite' steps: - uses: actions/upload-artifact@v4 - if: failure() with: - name: ${{ inputs.name }} + name: ${{ inputs.name }}-diffs retention-days: 1 path: | test/fixtures/app/doc/screenshots/ + + - uses: actions/upload-artifact@v4 + with: + name: ${{ inputs.name }}-capybara-fails + retention-days: 1 + path: | tmp/capybara/screenshots-diffs/ diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 5d7c008d..8f1e3362 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -69,6 +69,7 @@ jobs: - uses: ./.github/actions/upload-screenshots + if: failure() with: name: base-screenshots diff --git a/.gitignore b/.gitignore index 28cf2aea..84aee455 100644 --- a/.gitignore +++ b/.gitignore @@ -12,6 +12,11 @@ /tmp/ /vendor/sigs/ +# Ignore report files *.attempt_*.png *.diff.png *.base.png + +*.attempt_*.webp +*.diff.webp +*.base.webp diff --git a/test/capybara/screenshot/diff_test.rb b/test/capybara/screenshot/diff_test.rb index 90ef430e..cd6edd0a 100644 --- a/test/capybara/screenshot/diff_test.rb +++ b/test/capybara/screenshot/diff_test.rb @@ -63,7 +63,7 @@ def test_screenshot_section_is_prepended test "screenshot" do screenshot_group "screenshot" - screenshot "a" + assert_matches_screenshot "a" end test "succeed on screenshot diff when fail_on_difference is false" do diff --git a/test/fixtures/app/doc/screenshots/linux/cuprite/index-cropped.png b/test/fixtures/app/doc/screenshots/linux/cuprite/index-cropped.png index 880faafced253ce335970b6fa10c83831add5644..826d2605a2726139b0fd28b2058bd3c6cddced1b 100644 GIT binary patch literal 2885 zcmYLL3p~@^8=u)UD>mkuWRY@fZIk3u=90DuA@}<=uiSE1^iGIGqr{L)sfgB4R3r^q zOp0RV9*vDr=2EWj^!ES1=ks}f-|zE1&w0-8_xqf4o|9%}aY6*T6AAzTLmM{%|)wSNRhInkf5?9o(l!8yub{CQv_RIsT!5be zQ1VB|pwR*)|7P6W1OR{~|7P6!6v02-g3q^FMm69J007k{m>Al|6moArs;|^VyqPB9 z_ll=oyJljln1vr4v&1Q8<>cV^*34C^sb}TjC&Kp&Kz-|H5@zDxZRCwOIo1y)XBX+g z$iifX(2kZtAKqiVX0$t5L5+mq1POg}q~7JM>}eNw)EIL(Rx>`rmFLAX3pqf-RLk(W z(VybhqNgA+nU|>_uSAw3V3~{`s&yZ2>Eht-FU{xID`3{m%e!I-L85`35K1NW=n(Io zd`IYUWWKlPYoMpy)CrO?^pdxd3)9*@CADK?F-%S|)ojqWp#R9Ha?zm<0WB|oLG8~6 z->Jhzf$SxnnvPD%mOs%lXr z;w;s8=d+28z087T=T=&ZvZif=L`U?6@sMS@@%aqfR4W4H49Tp|>s1Ew9G3>R^1RC7 zKtj!sf(t{*X|kYsvZ1!5t2<}z%!HI$*(Vj6I*^^oY!d*FssZo9@YpYn+~h;6H23Z$d7BEIFf1#J_!tyb1Cy=qu}^(yeieGvlZMzgQutttcKrmzi?E1d(y9SMN;_MGokCC@%$!A=Gb$n z-b-w?o`)PEZjScplnFDlQa18U@gq_YqBiftgKl3Z&sPP*={^pl<%q%=K!BJMNu0Jk zTDfc06Vw35_m`Lhe->@C)Ry(GcL{rohRxF;=V_>juK7huWmnA-b*7)oXcVj(3G&A#$`4s?)GY$iTcWLGnY)HZkwG{x>yp0Jz%Am zsgrm88<@B&%Pe;=|4k!m>gl0as%}@`{Z}yP*=0H-B^*OORs>JgN_#ZjHaU`NxX|=^ zJj$3`irXb=U#H-ew;H>qLw{px8|gzzG|k}NyiU;$4WA0Ol=?iQ2(f?g1d7kOqia?5 z^-Jg?Djn9~P*dC{-b9wX5G@rLQN0FWWBqeIcTWTw5EQ&g2j@Mqf5lUAGJaqwNK4iC zr(ha-Q)Y{LfUr%YZ!!jad%sim{aK1X?SML;)_1?=oqA%Bv-G#C6s`VIr_r&^8cT-z zJ!yQj30Vy7pQQ&|pS#Xr4JN}+I(2s*(I4K=x==r&?TsW=f?hHVu5wj??uo zR>Vr;VEgQi3(bro_r2{{s@)^Mlw_2Rqc7_$>eMsUCJT9C6!V;!?veFt>5FcJX+#Df zQ=7$H#&qbM`k8?np0;TR{xU4|uXc*}7Xk08bpJA&>a+9olCXYYlll7JwsL814=jY( zFDrQcqvh&@`MlQSI_#!A7PTxMPQMtPeZ!(s-X?;5F*@r|WHD~HYQT_}oI|J|`^xPo z@(euwB*O^Vy^!{+uJJZ2=(^cX{}q%cKc2!y)QU8)vXa3`KpTN z&l@|da{seGU|1@3BORl!d#R{lkpZc3>v!C@!H-NQx1Ai9zqJ%J|LS<3fjXL!9UY$w zANR^Y^(KC3%WrV^t1Mo2)!^l-Ddx`2ulYZSopcGW)>vE`De)ikI@-%$4?UJVXtGyA zI(LeqR=B5omodSAzBlsAj4dP{Vy%joULZ5xv8gN@-dO2K>(~s{9o7>9EvtlQg~feX zV9?I3^Gbp2kpYPl%DjL^-kb|$BJ)@nX(OC@R_Rd<$qR}x@8#@g3*2dJiXrvM*Qb7S zFmgmfdR0>mKG9X0qvf|zCXMmQ6Z*LWmb{M7hvxE72@f?vvqE*L)yk1<>u$DHuZZk9IyYz&R89xG3N5QKpM{M_eLl1)U{q8j=QRf3x+nt( M$1O}KMjna(06EAhX#fBK delta 3428 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�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 DgzKMq diff --git a/test/fixtures/app/doc/screenshots/linux/cuprite/index.png b/test/fixtures/app/doc/screenshots/linux/cuprite/index.png index 6a97dd88a7f3a91d158031eadd9f348103a6dffe..95de9dd97fdb96c254cb0a6e7c73769c0cd2d661 100644 GIT binary patch literal 27135 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 literal 27983 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 From a5adf47fedc78743b78ce721c960195ebbcb4fd7 Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Tue, 24 Dec 2024 14:43:45 +0100 Subject: [PATCH 262/312] Adjust chrome test browser height --- test/support/setup_capybara_drivers.rb | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/test/support/setup_capybara_drivers.rb b/test/support/setup_capybara_drivers.rb index 12e909c8..0e2a1788 100644 --- a/test/support/setup_capybara_drivers.rb +++ b/test/support/setup_capybara_drivers.rb @@ -2,7 +2,12 @@ ENV["CAPYBARA_DRIVER"] ||= "cuprite" -SCREEN_SIZE = [800, 600] +SCREEN_SIZE = + if ENV["CAPYBARA_DRIVER"] == 'selenium_chrome_headless' + [800, 687] # Add extra space for address field etc. + else + [800, 600] + end BROWSERS = {cuprite: "chrome", selenium_headless: "firefox", selenium_chrome_headless: "chrome"} CHROME_ARGS = { From 80ba12d13a2e2b1f0f2a13abdd797afd84891ef6 Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Mon, 30 Dec 2024 16:34:45 +0100 Subject: [PATCH 263/312] Cleanup stack traces --- lib/capybara/screenshot/diff/test_methods.rb | 7 ++++--- lib/capybara_screenshot_diff/minitest.rb | 10 +++++++--- test/capybara/screenshot/diff/test_methods_test.rb | 8 +++----- test/support/setup_capybara_drivers.rb | 7 +------ 4 files changed, 15 insertions(+), 17 deletions(-) diff --git a/lib/capybara/screenshot/diff/test_methods.rb b/lib/capybara/screenshot/diff/test_methods.rb index d1a7a849..06357b2b 100644 --- a/lib/capybara/screenshot/diff/test_methods.rb +++ b/lib/capybara/screenshot/diff/test_methods.rb @@ -123,9 +123,10 @@ def screenshot(name, skip_stack_frames: 0, **options) screenshot_full_name = build_full_name(name) job = build_screenshot_matches_job(screenshot_full_name, options) + caller = caller(skip_stack_frames + 1).reject { |l| l =~ /gems\/(activesupport|minitest|railties)/ } unless job if Screenshot::Diff.fail_if_new - _raise_error(<<-ERROR.strip_heredoc, caller(2)) + _raise_error(<<-ERROR.strip_heredoc, caller) No existing screenshot found for #{screenshot_full_name}! To stop seeing this error disable by `Capybara::Screenshot::Diff.fail_if_new=false` ERROR @@ -134,7 +135,7 @@ def screenshot(name, skip_stack_frames: 0, **options) return false end - job.prepend(caller(skip_stack_frames)) + job.prepend(caller) if Screenshot::Diff.delayed schedule_match_job(job) @@ -163,7 +164,7 @@ def assert_image_not_changed(caller, name, comparison) return unless result - "Screenshot does not match for '#{name}' #{comparison.error_message}\n#{caller.join(", ")}" + "Screenshot does not match for '#{name}' #{comparison.error_message}\n#{caller.join("\n")}" end private diff --git a/lib/capybara_screenshot_diff/minitest.rb b/lib/capybara_screenshot_diff/minitest.rb index c3e2b9ab..86d2ea2f 100644 --- a/lib/capybara_screenshot_diff/minitest.rb +++ b/lib/capybara_screenshot_diff/minitest.rb @@ -19,8 +19,8 @@ module Minitest module Assertions include ::CapybaraScreenshotDiff::DSL - def screenshot(*, **) - super + def screenshot(*, skip_stack_frames: 0, **) + super(*, skip_stack_frames: skip_stack_frames + 1, **) rescue CapybaraScreenshotDiff::ExpectationNotMet => e raise ::Minitest::Assertion, e.message end @@ -37,7 +37,11 @@ def self.included(klass) klass.teardown do errors = verify_screenshots!(@test_screenshots) - failures << ::Minitest::Assertion.new(errors.join("\n\n")) if errors && !errors.empty? + if errors.present? + assertion = ::Minitest::Assertion.new(errors.join("\n\n")) + assertion.set_backtrace [] + failures << assertion + end end end end diff --git a/test/capybara/screenshot/diff/test_methods_test.rb b/test/capybara/screenshot/diff/test_methods_test.rb index ffbee4e3..010399b3 100644 --- a/test/capybara/screenshot/diff/test_methods_test.rb +++ b/test/capybara/screenshot/diff/test_methods_test.rb @@ -57,20 +57,18 @@ def test_skip_stack_frames assert_predicate @test_screenshots, :blank? make_comparison(:a, :c, destination: "a.png") - our_screenshot("a", 1) + our_screenshot("a", 0) assert_equal 1, @test_screenshots.size - skip "FIXME: flaky test for local environment" unless ENV["CI"] - assert_match( /our_screenshot'/, @test_screenshots.dig(0, 0, 0) ) assert_equal "a", @test_screenshots[0][1] - our_screenshot("a", 2) + our_screenshot("a", 1) assert_equal 2, @test_screenshots.size assert_match( - /test_methods_test.rb:.*?test_skip_stack_frames/, + %r{/test_methods_test.rb:.*?test_skip_stack_frames}, @test_screenshots.dig(1, 0, 0) ) assert_equal "a", @test_screenshots[1][1] diff --git a/test/support/setup_capybara_drivers.rb b/test/support/setup_capybara_drivers.rb index 0e2a1788..12e909c8 100644 --- a/test/support/setup_capybara_drivers.rb +++ b/test/support/setup_capybara_drivers.rb @@ -2,12 +2,7 @@ ENV["CAPYBARA_DRIVER"] ||= "cuprite" -SCREEN_SIZE = - if ENV["CAPYBARA_DRIVER"] == 'selenium_chrome_headless' - [800, 687] # Add extra space for address field etc. - else - [800, 600] - end +SCREEN_SIZE = [800, 600] BROWSERS = {cuprite: "chrome", selenium_headless: "firefox", selenium_chrome_headless: "chrome"} CHROME_ARGS = { From 673deaf7c12009be493b1abf9c4e991de8777f1a Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Mon, 30 Dec 2024 18:38:08 +0100 Subject: [PATCH 264/312] Adjust chrome test browser height --- test/support/setup_capybara_drivers.rb | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/test/support/setup_capybara_drivers.rb b/test/support/setup_capybara_drivers.rb index 12e909c8..bc4ed7ac 100644 --- a/test/support/setup_capybara_drivers.rb +++ b/test/support/setup_capybara_drivers.rb @@ -2,7 +2,12 @@ ENV["CAPYBARA_DRIVER"] ||= "cuprite" -SCREEN_SIZE = [800, 600] +SCREEN_SIZE = + if ENV["CAPYBARA_DRIVER"] == 'selenium_chrome_headless' && Os.name == 'linux' + [800, 687] # Add extra space for address field etc. + else + [800, 600] + end BROWSERS = {cuprite: "chrome", selenium_headless: "firefox", selenium_chrome_headless: "chrome"} CHROME_ARGS = { From ed8050f36befd536fa0a47013e9777492736983c Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Mon, 30 Dec 2024 18:42:15 +0100 Subject: [PATCH 265/312] Adjust chrome test browser height --- test/support/setup_capybara_drivers.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/support/setup_capybara_drivers.rb b/test/support/setup_capybara_drivers.rb index bc4ed7ac..e871f267 100644 --- a/test/support/setup_capybara_drivers.rb +++ b/test/support/setup_capybara_drivers.rb @@ -3,7 +3,7 @@ ENV["CAPYBARA_DRIVER"] ||= "cuprite" SCREEN_SIZE = - if ENV["CAPYBARA_DRIVER"] == 'selenium_chrome_headless' && Os.name == 'linux' + if ENV["CAPYBARA_DRIVER"] == 'selenium_chrome_headless' && Capybara::Screenshot::Os.name == 'linux' [800, 687] # Add extra space for address field etc. else [800, 600] From 1e7103f6b0bf9542f3296fa19c263df4ef15acfe Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Mon, 30 Dec 2024 18:48:53 +0100 Subject: [PATCH 266/312] Adjust chrome test browser height --- test/support/setup_capybara_drivers.rb | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/test/support/setup_capybara_drivers.rb b/test/support/setup_capybara_drivers.rb index e871f267..18c80839 100644 --- a/test/support/setup_capybara_drivers.rb +++ b/test/support/setup_capybara_drivers.rb @@ -2,12 +2,7 @@ ENV["CAPYBARA_DRIVER"] ||= "cuprite" -SCREEN_SIZE = - if ENV["CAPYBARA_DRIVER"] == 'selenium_chrome_headless' && Capybara::Screenshot::Os.name == 'linux' - [800, 687] # Add extra space for address field etc. - else - [800, 600] - end +SCREEN_SIZE = [800, 600] BROWSERS = {cuprite: "chrome", selenium_headless: "firefox", selenium_chrome_headless: "chrome"} CHROME_ARGS = { @@ -91,3 +86,4 @@ Capybara.save_path = Pathname.new("tmp/capybara").expand_path Capybara.javascript_driver = ENV.fetch("CAPYBARA_DRIVER", :cuprite).to_sym +Capybara::Screenshot.window_size = SCREEN_SIZE From 20e8caf1dbb8b1b8dba9851e6fd7e8c435b9c30b Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Mon, 30 Dec 2024 18:59:01 +0100 Subject: [PATCH 267/312] Adjust chrome test browser height --- .../macos/cuprite/index-cropped.png | Bin 3330 -> 3744 bytes test/integration/browser_screenshot_test.rb | 2 +- test/support/setup_capybara_drivers.rb | 4 +++- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/test/fixtures/app/doc/screenshots/macos/cuprite/index-cropped.png b/test/fixtures/app/doc/screenshots/macos/cuprite/index-cropped.png index 21090013c0f180e79c2d925a1d32d2d9909e69e1..86445f6665c40dbc58dfa17e8e570b35de08c1cb 100644 GIT binary patch literal 3744 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 KMNUMnLSTX&c+Y$Q literal 3330 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 diff --git a/test/integration/browser_screenshot_test.rb b/test/integration/browser_screenshot_test.rb index 5db08c0d..7c497d47 100644 --- a/test/integration/browser_screenshot_test.rb +++ b/test/integration/browser_screenshot_test.rb @@ -34,7 +34,7 @@ def test_screenshot_with_changes end def test_window_size_should_resize_browser_window_in_setup - assert_equal [800, 600], window_size + assert_equal SCREEN_SIZE, window_size end def test_screenshot_with_hide_caret_enabled diff --git a/test/support/setup_capybara_drivers.rb b/test/support/setup_capybara_drivers.rb index 18c80839..aae56f90 100644 --- a/test/support/setup_capybara_drivers.rb +++ b/test/support/setup_capybara_drivers.rb @@ -3,6 +3,9 @@ ENV["CAPYBARA_DRIVER"] ||= "cuprite" SCREEN_SIZE = [800, 600] +if ENV["CAPYBARA_DRIVER"] == 'selenium_chrome_headless' && Capybara::Screenshot::Os.name == 'linux' + SCREEN_SIZE[1] += 87 # Add extra space for address field etc. +end BROWSERS = {cuprite: "chrome", selenium_headless: "firefox", selenium_chrome_headless: "chrome"} CHROME_ARGS = { @@ -86,4 +89,3 @@ Capybara.save_path = Pathname.new("tmp/capybara").expand_path Capybara.javascript_driver = ENV.fetch("CAPYBARA_DRIVER", :cuprite).to_sym -Capybara::Screenshot.window_size = SCREEN_SIZE From a8775ffcbd93c661b7c5b3d05d416d5458af08cc Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Mon, 30 Dec 2024 19:24:43 +0100 Subject: [PATCH 268/312] Add testing of Ruby 3.4 and Rails 7.2 and remove testing of Ruby 3.1 and Rails 6.2 --- .github/workflows/test.yml | 10 +++------- .standard.yml | 2 +- capybara-screenshot-diff.gemspec | 2 +- gemfiles/{rails61_gems.rb => rails72_gems.rb} | 2 +- 4 files changed, 6 insertions(+), 10 deletions(-) rename gemfiles/{rails61_gems.rb => rails72_gems.rb} (78%) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 8f1e3362..db3c6704 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -93,26 +93,22 @@ jobs: continue-on-error: ${{ matrix.experimental }} strategy: matrix: - ruby-version: [ 3.3, 3.2, 3.1, jruby ] + ruby-version: [ 3.4, 3.3, 3.2, jruby ] gemfile: - - rails61_gems.rb - rails70_gems.rb - rails71_gems.rb + - rails72_gems.rb experimental: [ false ] exclude: # We already tested last version - ruby-version: 3.3 gemfile: rails71_gems.rb experimental: false - # Tests for Rails 6.1 cannot exit properly on JRuby - - ruby-version: jruby - gemfile: rails61_gems.rb - experimental: false include: - ruby-version: 3.3 gemfile: edge_gems.rb experimental: true - - ruby-version: 3.4.0-preview1 + - ruby-version: 3.4 gemfile: edge_gems.rb experimental: true - ruby-version: jruby-head diff --git a/.standard.yml b/.standard.yml index 96e7810e..007f357a 100644 --- a/.standard.yml +++ b/.standard.yml @@ -2,7 +2,7 @@ fix: true # default: false parallel: true # default: false format: progress # default: Standard::Formatter -ruby_version: 3.0 # default: RUBY_VERSION +ruby_version: 3.2 # default: RUBY_VERSION default_ignores: false # default: true ignore: # default: [] diff --git a/capybara-screenshot-diff.gemspec b/capybara-screenshot-diff.gemspec index 6c57e723..5c2f421b 100644 --- a/capybara-screenshot-diff.gemspec +++ b/capybara-screenshot-diff.gemspec @@ -23,6 +23,6 @@ Gem::Specification.new do |spec| spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) } spec.require_paths = ["lib"] - spec.add_runtime_dependency "actionpack", ">= 6.1", "< 9" + spec.add_runtime_dependency "actionpack", ">= 7.0", "< 9" spec.add_runtime_dependency "capybara", ">= 2", "< 4" end diff --git a/gemfiles/rails61_gems.rb b/gemfiles/rails72_gems.rb similarity index 78% rename from gemfiles/rails61_gems.rb rename to gemfiles/rails72_gems.rb index 200877de..81081eb4 100644 --- a/gemfiles/rails61_gems.rb +++ b/gemfiles/rails72_gems.rb @@ -3,5 +3,5 @@ gems = "#{File.dirname __dir__}/gems.rb" eval File.read(gems), binding, gems -gem "actionpack", "~> 6.1.0", "< 6.2" +gem "actionpack", "~> 7.2.0" gem "capybara", ">= 3.26" From f9c56ed8fa6b77dff496f3edfb317002252bc459 Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Mon, 30 Dec 2024 19:47:44 +0100 Subject: [PATCH 269/312] Silence warning for RUBY_GC_HEAP_INIT_SLOTS --- .github/workflows/test.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index db3c6704..b00e0578 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -25,7 +25,6 @@ env: MALLOC_ARENA_MAX: 2 RUBY_GC_HEAP_FREE_SLOTS: 600000 RUBY_GC_HEAP_GROWTH_FACTOR: 1.1 - RUBY_GC_HEAP_INIT_SLOTS: 600000 RUBY_YJIT_ENABLE: 1 concurrency: From 5358f204f0fcc57a88f85843b45132e51b12c33d Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Mon, 30 Dec 2024 19:58:21 +0100 Subject: [PATCH 270/312] Add testing of Ruby 3.4 and Rails 7.2 and remove testing of Ruby 3.1 and Rails 6.2 --- gemfiles/rails70_gems.rb | 1 + lib/capybara_screenshot_diff/minitest.rb | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/gemfiles/rails70_gems.rb b/gemfiles/rails70_gems.rb index 49c15322..6a248229 100644 --- a/gemfiles/rails70_gems.rb +++ b/gemfiles/rails70_gems.rb @@ -5,3 +5,4 @@ gem "actionpack", "~> 7.0", "< 7.1" gem "capybara", ">= 3.26" +gem 'mutex_m' diff --git a/lib/capybara_screenshot_diff/minitest.rb b/lib/capybara_screenshot_diff/minitest.rb index 86d2ea2f..95bf8295 100644 --- a/lib/capybara_screenshot_diff/minitest.rb +++ b/lib/capybara_screenshot_diff/minitest.rb @@ -19,8 +19,8 @@ module Minitest module Assertions include ::CapybaraScreenshotDiff::DSL - def screenshot(*, skip_stack_frames: 0, **) - super(*, skip_stack_frames: skip_stack_frames + 1, **) + def screenshot(*args, skip_stack_frames: 0, **opts) + super(*args, skip_stack_frames: skip_stack_frames + 1, **opts) rescue CapybaraScreenshotDiff::ExpectationNotMet => e raise ::Minitest::Assertion, e.message end From d241fd3fa969a35a04466d565c59f1496f9e2e7e Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Mon, 30 Dec 2024 20:01:22 +0100 Subject: [PATCH 271/312] Add testing of Ruby 3.4 and Rails 7.2 and remove testing of Ruby 3.1 and Rails 6.2 --- capybara-screenshot-diff.gemspec | 2 +- gemfiles/rails70_gems.rb | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/capybara-screenshot-diff.gemspec b/capybara-screenshot-diff.gemspec index 5c2f421b..a6f46a95 100644 --- a/capybara-screenshot-diff.gemspec +++ b/capybara-screenshot-diff.gemspec @@ -12,7 +12,7 @@ Gem::Specification.new do |spec| spec.summary = "Track your GUI changes with diff assertions" spec.description = "Save screen shots and track changes with graphical diff" spec.homepage = "https://github.com/donv/capybara-screenshot-diff" - spec.required_ruby_version = ">= 3.0.0" + spec.required_ruby_version = ">= 3.2" spec.license = "MIT" spec.metadata["allowed_push_host"] = "https://rubygems.org/" spec.files = `git ls-files -z`.split("\x0").reject do |f| diff --git a/gemfiles/rails70_gems.rb b/gemfiles/rails70_gems.rb index 6a248229..9baddabd 100644 --- a/gemfiles/rails70_gems.rb +++ b/gemfiles/rails70_gems.rb @@ -6,3 +6,4 @@ gem "actionpack", "~> 7.0", "< 7.1" gem "capybara", ">= 3.26" gem 'mutex_m' +gem 'drb' From 213da189b499cdcd226d0f68bc04d10f07dcb8bd Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Mon, 30 Dec 2024 20:03:21 +0100 Subject: [PATCH 272/312] Add testing of Ruby 3.4 and Rails 7.2 and remove testing of Ruby 3.1 and Rails 6.2 --- capybara-screenshot-diff.gemspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/capybara-screenshot-diff.gemspec b/capybara-screenshot-diff.gemspec index a6f46a95..cfe4c3c4 100644 --- a/capybara-screenshot-diff.gemspec +++ b/capybara-screenshot-diff.gemspec @@ -12,7 +12,7 @@ Gem::Specification.new do |spec| spec.summary = "Track your GUI changes with diff assertions" spec.description = "Save screen shots and track changes with graphical diff" spec.homepage = "https://github.com/donv/capybara-screenshot-diff" - spec.required_ruby_version = ">= 3.2" + spec.required_ruby_version = ">= 3.1" spec.license = "MIT" spec.metadata["allowed_push_host"] = "https://rubygems.org/" spec.files = `git ls-files -z`.split("\x0").reject do |f| From 0692a37a65d5a8d322bf53b978212e6d4c060f4b Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Mon, 30 Dec 2024 20:07:06 +0100 Subject: [PATCH 273/312] Add testing of Ruby 3.4 and Rails 7.2 and remove testing of Ruby 3.1 and Rails 6.2 --- gemfiles/rails70_gems.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/gemfiles/rails70_gems.rb b/gemfiles/rails70_gems.rb index 9baddabd..25f20115 100644 --- a/gemfiles/rails70_gems.rb +++ b/gemfiles/rails70_gems.rb @@ -7,3 +7,4 @@ gem "capybara", ">= 3.26" gem 'mutex_m' gem 'drb' +gem 'bigdecimal' From ab8a4b6791ae101d99eaddc75d67f3296a789d28 Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Mon, 30 Dec 2024 20:30:45 +0100 Subject: [PATCH 274/312] Add testing of Ruby 3.4 and Rails 7.2 and remove testing of Ruby 3.1 and Rails 6.2 --- .github/workflows/test.yml | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index b00e0578..fc7d2efc 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -15,7 +15,7 @@ on: workflow_dispatch: env: - BUNDLE_GEMFILE: gemfiles/rails71_gems.rb + BUNDLE_GEMFILE: gemfiles/rails72_gems.rb DEBIAN_FRONTEND: noninteractive FERRUM_PROCESS_TIMEOUT: 40 JAVA_OPTS: -Xmn2g -Xms6g -Xmx6g -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=512m -Xss1m @@ -42,7 +42,7 @@ jobs: - uses: ./.github/actions/setup-ruby-and-dependencies with: - ruby-version: 3.3 + ruby-version: 3.4 - run: bin/rake test @@ -57,7 +57,7 @@ jobs: - uses: ./.github/actions/setup-ruby-and-dependencies with: - ruby-version: 3.3 + ruby-version: 3.4 cache-apt-packages: true - run: bin/rake test @@ -100,18 +100,15 @@ jobs: experimental: [ false ] exclude: # We already tested last version - - ruby-version: 3.3 - gemfile: rails71_gems.rb + - ruby-version: 3.4 + gemfile: rails72_gems.rb experimental: false include: - - ruby-version: 3.3 - gemfile: edge_gems.rb - experimental: true - ruby-version: 3.4 gemfile: edge_gems.rb experimental: true - ruby-version: jruby-head - gemfile: rails71_gems.rb + gemfile: rails72_gems.rb experimental: true env: @@ -156,7 +153,7 @@ jobs: - uses: ./.github/actions/setup-ruby-and-dependencies with: - ruby-version: 3.3 + ruby-version: 3.4 cache-apt-packages: ${{ matrix.screenshot-driver == 'vips' }} - name: Cache Selenium From 9936a0a0fd37a0e4268cfd5db8b62f67c2bfaf8e Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Mon, 30 Dec 2024 20:46:04 +0100 Subject: [PATCH 275/312] More patient JRuby test + shorten test job name to see parameters in the overview. --- .github/workflows/test.yml | 4 ++-- test/integration/record_screenshot_test.rb | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index fc7d2efc..b000457d 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -80,7 +80,7 @@ jobs: path: coverage matrix: - name: Test Integration Rails & Ruby + name: Test Rails & Ruby # Test on master, when a review is requested or manually invoked. if: > github.ref == 'refs/heads/master' || @@ -131,7 +131,7 @@ jobs: command: bin/rake test matrix-screenshot-driver: - name: Test Integration Capybara & Image Drivers + name: Test Capybara & Image Drivers if: > github.ref == 'refs/heads/master' || github.event.inputs || diff --git a/test/integration/record_screenshot_test.rb b/test/integration/record_screenshot_test.rb index 90a533ed..92c7db39 100644 --- a/test/integration/record_screenshot_test.rb +++ b/test/integration/record_screenshot_test.rb @@ -26,6 +26,6 @@ def test_record_index_as_webp def test_record_index_with_stability visit "/" - screenshot "index", stability_time_limit: 0.1, wait: 1 + screenshot "index", stability_time_limit: 0.1, wait: RUBY_ENGINE == 'jruby' ? 10 : 1 end end From b0f7141dd8416f22c2a71cf0fd0220ac06728191 Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Mon, 30 Dec 2024 20:55:54 +0100 Subject: [PATCH 276/312] Silence CI warnings for missing assertions. --- lib/capybara_screenshot_diff/minitest.rb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/capybara_screenshot_diff/minitest.rb b/lib/capybara_screenshot_diff/minitest.rb index 95bf8295..34e8b6cb 100644 --- a/lib/capybara_screenshot_diff/minitest.rb +++ b/lib/capybara_screenshot_diff/minitest.rb @@ -20,9 +20,9 @@ module Assertions include ::CapybaraScreenshotDiff::DSL def screenshot(*args, skip_stack_frames: 0, **opts) - super(*args, skip_stack_frames: skip_stack_frames + 1, **opts) - rescue CapybaraScreenshotDiff::ExpectationNotMet => e - raise ::Minitest::Assertion, e.message + assert_nothing_raised do + super(*args, skip_stack_frames: skip_stack_frames + 1, **opts) + end end alias_method :assert_matches_screenshot, :screenshot From 245da7eb5f8023840eab6ce7d5739d792b7a2bed Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Mon, 30 Dec 2024 21:24:11 +0100 Subject: [PATCH 277/312] Silence CI warnings for missing assertions. Include `mutex_m` for test with RubyMine. --- gems.rb | 12 +++++++----- test/capybara/screenshot/diff/image_compare_test.rb | 2 +- test/capybara/screenshot/diff/screenshoter_test.rb | 6 +++--- .../screenshot/diff/stable_screenshoter_test.rb | 2 +- test/capybara/screenshot/diff/test_methods_test.rb | 4 ++-- test/capybara/screenshot/diff_test.rb | 1 + 6 files changed, 15 insertions(+), 12 deletions(-) diff --git a/gems.rb b/gems.rb index e8d1ee5e..63fee9fa 100644 --- a/gems.rb +++ b/gems.rb @@ -12,11 +12,13 @@ gem "oily_png", platform: :ruby, git: "https://github.com/wvanbergen/oily_png", ref: "44042006e79efd42ce4b52c1d78a4c70f0b4b1b2" gem "ruby-vips", require: false -# Test -gem "minitest", require: false -gem "minitest-stub-const", require: false -gem "simplecov", require: false -gem "rspec", require: false +group :test do + gem 'mutex_m' # Needed for RubyMine + gem "minitest", require: false + gem "minitest-stub-const", require: false + gem "simplecov", require: false + gem "rspec", require: false +end # Capybara Server gem "puma", require: false diff --git a/test/capybara/screenshot/diff/image_compare_test.rb b/test/capybara/screenshot/diff/image_compare_test.rb index eac0d597..88df28fa 100644 --- a/test/capybara/screenshot/diff/image_compare_test.rb +++ b/test/capybara/screenshot/diff/image_compare_test.rb @@ -60,7 +60,7 @@ class ImageCompareTest < ActionDispatch::IntegrationTest end test "could pass use tolerance for chunky_png driver" do - ImageCompare.new("images/b.png", "images/b.base.png", driver: :chunky_png, tolerance: 0.02) + assert ImageCompare.new("images/b.png", "images/b.base.png", driver: :chunky_png, tolerance: 0.02) end test "it can be instantiated with dimensions" do diff --git a/test/capybara/screenshot/diff/screenshoter_test.rb b/test/capybara/screenshot/diff/screenshoter_test.rb index 1d354390..ad534ac3 100644 --- a/test/capybara/screenshot/diff/screenshoter_test.rb +++ b/test/capybara/screenshot/diff/screenshoter_test.rb @@ -21,7 +21,7 @@ class ScreenshoterTest < ActionDispatch::IntegrationTest end end - mock.verify + assert mock.verify end test "#take_screenshot with custom screenshot options" do @@ -39,13 +39,13 @@ class ScreenshoterTest < ActionDispatch::IntegrationTest end end - mock.verify + assert mock.verify end test "#prepare_page_for_screenshot without wait does not raise any error" do screenshoter = Screenshoter.new({wait: nil}, ::Minitest::Mock.new) - screenshoter.prepare_page_for_screenshot(timeout: nil) # does not raise an error + assert_nil screenshoter.prepare_page_for_screenshot(timeout: nil) # does not raise an error end end end diff --git a/test/capybara/screenshot/diff/stable_screenshoter_test.rb b/test/capybara/screenshot/diff/stable_screenshoter_test.rb index d651e54a..9473e1e7 100644 --- a/test/capybara/screenshot/diff/stable_screenshoter_test.rb +++ b/test/capybara/screenshot/diff/stable_screenshoter_test.rb @@ -31,7 +31,7 @@ class StableScreenshoterTest < ActionDispatch::IntegrationTest take_stable_screenshot_with(snap) end - mock.verify + assert mock.verify end test "#take_stable_screenshot without wait raises any error" do diff --git a/test/capybara/screenshot/diff/test_methods_test.rb b/test/capybara/screenshot/diff/test_methods_test.rb index 010399b3..47865fdc 100644 --- a/test/capybara/screenshot/diff/test_methods_test.rb +++ b/test/capybara/screenshot/diff/test_methods_test.rb @@ -49,7 +49,7 @@ def test_assert_image_not_changed_with_shift_distance_limit def test_screenshot_support_drivers_options skip "vips is disabled" unless defined?(Capybara::Screenshot::Diff::Drivers::VipsDriverTest) - screenshot("a", driver: :vips) + assert_not screenshot("a", driver: :vips) end def test_skip_stack_frames @@ -76,7 +76,7 @@ def test_skip_stack_frames end def test_skip_area_and_stability_time_limit - screenshot(:a, skip_area: [0, 0, 1, 1], stability_time_limit: 0.01) + assert_not screenshot(:a, skip_area: [0, 0, 1, 1], stability_time_limit: 0.01) end def test_creates_new_screenshot diff --git a/test/capybara/screenshot/diff_test.rb b/test/capybara/screenshot/diff_test.rb index cd6edd0a..5093c350 100644 --- a/test/capybara/screenshot/diff_test.rb +++ b/test/capybara/screenshot/diff_test.rb @@ -150,6 +150,7 @@ def _test_sample_screenshot_error @test_screenshots = [] @test_screenshots << [["my_test.rb:42"], "sample_screenshot", mock] mock.expect(:clear_screenshots, @test_screenshots) + assert true end end From 5b78e544e1453941d8a52a28d3e07e972082e76e Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Mon, 30 Dec 2024 21:41:57 +0100 Subject: [PATCH 278/312] Silence CI warnings for missing assertions. --- test/integration/browser_screenshot_test.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/integration/browser_screenshot_test.rb b/test/integration/browser_screenshot_test.rb index 7c497d47..5862747a 100644 --- a/test/integration/browser_screenshot_test.rb +++ b/test/integration/browser_screenshot_test.rb @@ -178,7 +178,7 @@ def test_screenshot_selected_element visit "/index-with-anim.html" - assert_raises RuntimeError, "Could not get stable screenshot within 1s:" do + assert_raises Minitest::UnexpectedError, "Could not get stable screenshot within 0.5s:" do # We need to run several times, # because quick_equal could produce incorrect result, # because of the same size screenshots From 863b57358db90f5b7cd44df243f4073d941cbad3 Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Mon, 30 Dec 2024 22:01:13 +0100 Subject: [PATCH 279/312] Upload screenshots with diff on test failure. --- .github/workflows/test.yml | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index b000457d..51735879 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -46,8 +46,8 @@ jobs: - run: bin/rake test - test: - name: Functional Testing + functional-test: + name: Functional Test runs-on: ubuntu-latest timeout-minutes: 5 @@ -80,13 +80,13 @@ jobs: path: coverage matrix: - name: Test Rails & Ruby + name: Test Ruby & Rails # Test on master, when a review is requested or manually invoked. if: > github.ref == 'refs/heads/master' || github.event_name == 'workflow_dispatch' || github.event.pull_request.requested_reviewers.length > 0 - needs: [ test ] + needs: [ functional-test ] runs-on: ubuntu-latest timeout-minutes: ${{ contains(matrix.ruby-version, 'jruby') && 12 || 8 }} continue-on-error: ${{ matrix.experimental }} @@ -137,12 +137,12 @@ jobs: github.event.inputs || github.event_name == 'workflow_dispatch' || github.event.pull_request.requested_reviewers.length > 0 - needs: [ 'test' ] + needs: [ 'functional-test' ] strategy: matrix: - screenshot-driver: [ vips, chunky_png ] capybara-driver: [ selenium_headless, selenium_chrome_headless, cuprite ] + screenshot-driver: [ vips, chunky_png ] runs-on: ubuntu-latest @@ -164,9 +164,10 @@ jobs: - run: bin/rake test:integration env: - SCREENSHOT_DRIVER: ${{ matrix.screenshot-driver }} CAPYBARA_DRIVER: ${{ matrix.capybara-driver }} + SCREENSHOT_DRIVER: ${{ matrix.screenshot-driver }} - uses: ./.github/actions/upload-screenshots + if: failure() with: - name: screenshots-${{ matrix.screenshot-driver }}-${{ matrix.capybara-driver }} + name: screenshots-${{ matrix.capybara-driver }}-${{ matrix.screenshot-driver }} From d0f8e76d5d8829232e0478499cfbea4a4e7eca9a Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Mon, 30 Dec 2024 22:14:40 +0100 Subject: [PATCH 280/312] Update screenshots for Linux + selenium_chrome_headless --- .github/workflows/test.yml | 1 - .../index-cropped.png | Bin 3430 -> 2888 bytes .../selenium_chrome_headless/index-vips.webp | Bin 25670 -> 19585 bytes .../linux/selenium_chrome_headless/index.png | Bin 27983 -> 19585 bytes 4 files changed, 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 51735879..88c3af51 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -66,7 +66,6 @@ jobs: DISABLE_SKIP_TESTS: 1 SCREENSHOT_DRIVER: vips - - uses: ./.github/actions/upload-screenshots if: failure() with: diff --git a/test/fixtures/app/doc/screenshots/linux/selenium_chrome_headless/index-cropped.png b/test/fixtures/app/doc/screenshots/linux/selenium_chrome_headless/index-cropped.png index 880faafced253ce335970b6fa10c83831add5644..8d138843e5d416d95c652e1db28c62c7554762c9 100644 GIT binary patch literal 2888 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 Ov@o?f`PkUw>VE+R78_Im delta 3428 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 literal 25670 zcmY&<1yqym|Mvg|Q5Y&pNQs~zAR#pxMd=VxkOoJ0#~7gq2vU;LNQ#tnm&EAN4WmbQ z=X?3+@0|a84jvJA#;*JR#;0!oSBg@^*Y912Kp@02(l1^^Ab9s75Zrgy@WD@Foj%%t zzX)xl)$JjW8@K=b!RedyID{VYbFt3e<19;O5oO zG{OzPb2h!WYKzC$YexpxS1O}rA7-WHw7=0wORY{gjCa0tQ8IESrD8x?mGNIsRC?jZ z{=_h2=gdA4F@-%AXrb`F`TQFFr<>1_bmfRQs}2!@%R5<^ZeJPMax25UXr%ezBAGe4(%8yez6>y}>^H#G|Iql-6m)Fyoy z3-{AjtXtMT>m_wQ-jIw|Wx}6+@$iPYtGsf|*1EaCS;tvsod-GE9eW!#4TJWpgvX26 zLl%gSIyiLG``5qEePb>RN$N1#itx+7<5NH_MZ)na@v+_F0J&?2MAE$CIj5SHsBBGv zS1?}fQJJrkTbv3L)OLI4_Sd0rP04dt;6$>nCb|9&fx$dA7hXD^5OF@zX;=0Sn{%fD z_qUG6#oXox>&*UMpovtcC*lVY8LdXoe|Ph=Q@zT4mR+MTefml0p_5=XQ4tYo!t~>i zF{AKvdz@x}ma^=ZI~8ofb9#Z_Vd@ljIdc#AINQ|nEc^R?+dnBW@XSxJnRkgo<|s)L z#2r~@<(w}>B6q4FHa0)jV!p!!f_Ly!hgV_Hf?)r-E9hN|-f7ph$4a|HQmDuC!ygdv_K>D~VCM6(OvK={fp^2H>|Rtx%l79xr7b@9#laIx!ZKJq7>Wu%v}xHXGl zkIrXTNp!`7pmkktVGd<(dvp0})HL^Xjk_euRq(vDt!}UCjyzsc+t`}iXNOFtNe!sT z2R6Sb(9bozLA3DPHl=+=VmHTn;9J}im00L276VI$`$_2D^?m&}Y~`?J%&nt#GkWpfu2b@fS;XSzQ&O$yr=j=bsS)=bM&Jd?l~KP8xMxJ}|!+sxbxhEsGH3m{x@ zymm1)*GI6*?RaoWpLaR%t-G~j`|EfAo{uhKa~Z0>3i+Hh7&pKlM}e0+L?(miPhiAH z;lLqyEnM++Hj%1s<75!U5SXHL*tZj-8^eyAEeuKMLRIZ~d)+g5fXe1`CSOzDm)%`< zZofVR)3k82w>vW5y+fi@os_SuZlHVBtyAW4Fttl8w$?4`OLTtUDzObU0l`*vF~pV{ znGXBqNk&sf=$wJWJWqAD93+-JSRz&H@cwAchfL&L>^r=199>h-pXkQF5c5Fn%$ua3 zf0>Irz0K&kmD(4V#4mHq57tv1JMRbBQ2Q|!Tvd-}B*O1Cx9k1espV?x8eZViQgmSZ z7*y!rhZoona)XJ7N_vDgdr!-Jed99m6?~KUJ0*w1$2%wM3vvDiY|OtTh!yiKE6#@ zG95{?K)kenBO*iX$5611xnpCu&k{u-{np()a|{W}*3$OrO3lBS&TPB%^Orfe&FzVC7BN$Zv>6!R+apLnXDq77v8rpr)P_ zO(6>pIB)iP-jW`=-Fi}rmqH5no1XL954sm58P_HGMYT#gb+oh@0?k|1?;GBLLH)U4 z^+9pwS1ukvB6l1E2t-@ER^6lc2^>yB(e?f{>WHu3$(!GlJ@A+=z|3dsUJf%`gMk7u zi!!`t^exS$Bu$#zu<7S{r80bjY`}6)5MIl!>%Z)Bxg4#7_$5- zOW(mYl`y9(voQK#co?ies@RKBMq0;-d*g8kqYSu_@3Iq9_?aQ0``QQOc#B^|>ugRu z=Z(oO?uLlH2DMm5la#C>^gLfzFBIy5vi+S<6_?tL3f&RL#h@IuwNNs;;gduAC*d>^ z{L^2e$JqE!ToCboEwp;U5?Uimg%eBtD`tG94<30h_d-0tyST0sm2?@MXq9$S5F1peWYr&fJ!5GZ{<0m;B?v z%xv*mg)K>s6W2gt%U!PTiGn|pvumZQa%}6K8`K9y7RARQBTg|p%2rQm;%=y2-V%gf z6Y57!Thd|0JT4kRZ?6R5Bq)-j?bide@LDJwsJ;DdwWH-*uxnI`y=K<^%X=mzWy=RA z6!0JX;)Lau_CSTJmQWa@V&`88P-RN5-fA@`~ z++olM*5XJLf&C8Gbg2mDUh!y>!F~Pd--^4A>A#7{ow~B7P%;N|$&;WSXLy@vClhuh zx1Y*x;d{h$b4#_E3{+TP!T5IvYSJsB)5&w+RwflLR?PFUA5Jv};%>Y#m--QrPwJGR zu05<(bqp~dRQW_BBOEz;Voa8Kia`0k3wj?}w zh;s$Uc&QKk3oi{SmBIM$iu$ZJRs!K_;iMqq7p9~}bvrUI-~{^iilCeAwYAWVwrgK= zV8K!nGc6{k$e9Yf$T8zP!gNgCtn)nNa7Ba#^g8EVJEhf5u1%yA5MaM$e53O96BaQiM&XjFLD-5W+uvDpU*5&QG9K z*)PH5t7A}Z&5m08q-5Gz`%rD;;9DSGMt~*a9QPD^M~d7%YB*zLd2i_eKQ;J93;wOj zV7d2w>|b}bv^GmBt^VGliSXJ?hIfgpc1JzJ35p^6WI)2ZY=NK7Pvj7z=%~~PPcX*7JSAMK3 zWnOh_wRQIK5Wm?T0GTynQT742FS zR&n7E+bbtVcQ>?>vHgXFI#$EDO$uK^m?wo71f8bnN{al{ALR2(Qe(DBY!MLPjIXHE|u$B=bOK z>F?b+qp8Z9+3!nfIJ{eHEphHZ-M_xCTe>ksuQ;nr)*9N7H$jsT=9VZ_=^9d8x@s?_ zeY;9_xB==^x7^SlVH_a5KY_0#%-y`R;;W#DxpvJtqgODw z>#lC|t5wl*7M9}-+QF+gnc7T7XxF&d!pXD+1EetIe?R}bDzf`66rctoj59275r{LE zfLS%_)I$3QUIono;YRPTn9jTpVH{1O^Cf*`8r?(z$3E|ixk=!+Z$_NH);^gYS7urw zks@us-oi3?ax3EAtH-(odNmrE2nM{7ajViuD|xG*iwFQa0nXX8N5B_odlWmz zNFQK9|1|an&giFyf4K=}TZH)gX|2-q=^Z8%PI-+ogAC7CuJXKaCmHJ7Ofr7mG;V9M zkEw?#b8~2{`f(-WinWGm(XSIx^YgGEBdTx;jrGt2)fg$v5h4+J;?uiYAZ8vSIT&|C z*xiF9I&aFr$=csNQlxXEpxOI19;os9yup1DKaC&Cc@l=dvBur<+s$&8zdb$%6PxGa zpp`CexpjyU;@7%gJoPU?{m6R~#2r<)TgY3-hu6F>j6}&aQdmkg?N0RC{_BG#R)ENe zu>2aD<3uT+Ro$ovsyv2wEq*1>2{NPTo$ixfAxdfOb~$n)jd(r9Oh2g?!a__ZM0G{j zWs#8yszxZ(FMMwKa)0Adf?{<2;pp-n4B_$t$=-n|X?Z8wVWhG>XkA0&C8t*VrGb-Q z(+H3&aEOR|p~TOxtzkGPEF#}RvvWV|MA$4?g&fv8a?qWQX+wrI@TOdKzoI9hqhfW@ zk%KH6OeP|FH+e@LEIx2e*ezsiepqEC3RHzknZ8S%%h-MTZ=HPAz7g7UzMG{7nD_Dztn_{jvcqgam{) z7dM9es;-1`j(v9A>+y(E<6m-c)2goiG_?I=l{2biR7`sGgX01*vqG-TLf>3{-Lr~h z(l{HP)^Z-9Sk`D-?1aIG*&`Zg^@5V?Muo2a+=ggC_;^mv+y0sYZPs3+>pLl>X(y z$dS&Q!}c*096eUnnfA2odFK7S?ie_z6DhiOE?w8y#vACJiu|+N9jxZd_)i*F#u9p0 zf2<{ZFC8t+_Tpb_VMW`wF()BKQTGD?!cEP6D+tv)fooNar`D!sS-rG4gc~uP^}<(R z(=k}jE11L9L{D_=oyLKB4tlvSrf}X;e+2sXm~El&PP4yl?a93Tw+1;O5Bpy>Jwn>vvR`D61@{+m!B>sPhuNl6S2W<#Wqcf8-$Ds8?G45tpFRo0TKWYUodpnQjZGF3R7KeMa&cA)zELg1w>(g#pp8(-!CN)89*pD*b#db);R z3y{I#Ql-~~0-j&63qpGYlSgCcn_1;}?pZoehg1^jS+9_;L8|5iUGn_qyk7Hd<@cJX zj9b{w+IX`%BdWJA>cmleb#qy{AvX_5e|x-F+ivlt6B1}6m7^ErqmFU&{k5A~T)Jk_ zvC}S?V1;&ax%~|wx#{0*>C0X=OnOR>zt@fyH}1)VbtjFass_)6mbaNmL}4o&+|Gwr zD*y2rC4evm>`#7Zn+kcvd7pOg4h%_^*N$P6gn1feM8n8#8Mhj(wQDXA!`#<8mSBLY z{0`FGl~-ird~0FvVC!RJ91Awckg8!s{`MeKQYqzq|AYe0>f#kX#oL;nC?xnuLt%vM z?1`(>( zE@%7Aih^R_{5x}V@OT0D2nK>gd_Ayqe2xk6dp+{Bs(A0ot0nq1I6bG9x@8&^XB6DZ zqVo^Fm=5C_xH@{%xvdgU?X_TLypw8z6p11Ulk&C37qtpx^L3}2W|(>er)jLunU%yY zRSpiVl4e+ytnBw*eU)7nOkchm%puyAJD#68r3F?#jzuy(J`h&~Wj_S-qVuI(ABD%9jiZ9^@LDp)L%)wop@C}g2wYN3z{$bBmz^!RL^!$V>bY~bmCk^4OvnB!(BT7pz3DGBYU5%uh znI+mY4gEEcNK+k%H-VCvJkk9(r>-N(A+BW_$@ z5Cj16c?+B+ALg+$hn#C8v0pt{Ro*aul_ z%-dS{SU<6D4}ps@{y9=Qd2bC;xg#9blnf7=8!6jf$nQVAYhA7+c>nKxte(ib+G@Z_ zoTJ?8vgh#I4(?_5o&2Fi@m;jor4Aq?9cAb(%}v-#H$A+oV%xcxMJ(-;-f_g|nsh4U zddy*H*C(y=(M%vR=HKb>56@p>UV^p2x=oy(KPEx%_Hj!1F>>vl;DNP&fL5?wZ@F$8 z7FY^@C=xw|!=S0RwUGtn?-dNYvjkX&cIt**_DxItzt0<-3)ezgu5ss|`Jh9(yw8B^FKe%&1 zoQ%>&dzr~szIQ#K?9M9I&}_1O{-@%x_xc)#Ci>Ze)+<}!wvS@U=^B{mGugi zQc^FEX`=1>_w0-#dU0&>jyyI7NbL16H;_*2B*!D%N#8|GY|NJ@g`H=(Ks#GJn#WGP zNqIV>60=2k%C#H$|iC^%`P?c;y?L2GCwW2 zFGbex(QlsVTMzqK<*_{uYslq<5uPeF6 z!<<5^_8$oeX#=4x>r_IR?&o z#o?1D3VM9*XL@SzlzZOZQjsp{{6b6S?|C7%qX)rotmtjHUn>{> zLIrbrs}Z*WHzhLt8nU@|^l79B_x!H9AdM!H0=_nlxE;=DG(c>t?dNlTw>|x_BHigz zrTo0235u=BAolEB9DaTRq;YOXzB?i)pGT~I#>ZGnJCuLwl3e&g+COKrZ>6Pr`9ci4 zG~-j;IQu=~fue<^e?wYa#aXY}6d)HCH~Yq}13HZOzjM>C$C3IKbsgSY!0Qmo@A ztYzek)&Oif13UOk8Z08~qkl)(1(U@9a9*2#qY|fXMJsaQ0l1A$(8dCLibSk_;AGlD zWvPn*!bA)*nETn9-Os`g=h9%&*i~tHGM-iVx6a!PTC>fo|4~dQ^F;P{@STxX*=qwgpM@ttriM=@6VvVymzr#)TayoKQ6;Ln&i+1I!|*v z>f*h);Y8+}S57xn5oarlE4C1$j4wyBy<^t_!vuogGgmxWl|K{>u*a3ItAMD@IpyJc z?+lvE4Q@TED|Gg4_W1-LYV)?x9j2cE>qFO)n&qmfot&ETTK0uWFlyDiC=wt$WrkY! zteBNHdL_jo0tGzD5=?fif}1;WXgkL@UT|Tz7pz6QHTEME#5qn3+)t0%sd~nK+AOco z05*1v3})~M55h4&>fbUi2g{r(>bb}E6St#5IzdIQ zOc;!GYxAO`A7J*}VmAm_EIw3n=4+1?3UqRTQfz;G!Uqto#iO*68giQPvmkH`@b71L z3OIG?Nk^=%LsN0~NTo=2mLvpn(bG$>h#bGKJ4a^Xx>~HML2DZ-BIQx z3_aSPG&Ajf`7z((f~xe?$#P@;S!C-AhcGAvkJMIZESa3r<6u5SC70&=Fo%unGIi#l z)KO4b()`*8K^Cw&mQSuIr?p}20f;x-Cj;9SW_sZFnijv0{TkSX15`K8I%hd*@T2Ab z6Qe)74d-#+&#V!frc%N$E@g?QFn=X*)KN@8?C>5|#o01`a3Pn6DfGDt)v79Zp2l1I zn)=m*L$SwmxZOaD<&vsNDw#WFeD6g^!ybznf)I29E*U`8erS4+>-Sc{{UgN52PlA>o} zP57km@2|-hAx}MMJ+?|JZ2mRk7XUiXs$Jk;m_UQ^xmhikkB-x`^W&yt6C3%V>EY5%HGL z@&Q>U9t)}H{-Os!eM3=;V|^_4kx%t>SNG%o`i5~qWccITlvWe>@)l`40>iJM9D&_6 z)L?Gg^^eOM11<|GZtO3g{a+TK^f^*j*}B_q^?(-GWI&NSx_~ac4hI6;I?H5J;K!@l z!+9g;2fNX2Mz}}}QveTB$hsj=H;|Y=?%YVsqd3B){S(tt-zUuAji}3ZA2iFjF^CB- z@=S>HR&S$?KJwr-bz7XZkh2#K-5YskcNZ9x!J9|%GdvyVcQv-j=B8jGG-F*l=eU!3 zsOAp2rsYT3`dfMti%6Hm^-@NE5xev`*kq-lH>qu3u)Kw?W)ZK9ZS~1Lt*8I?oi@-C zeURR&<2}oJKP*c>Kd`(J%-CRi0xtRsjkyf|*+z9D5iONf*qy_`aI~?yl3x*>;9UPI zIRxx=Al3FyjnM~_0=c4@J=aOPrXtj;_M>r~TL6%ezDxCH&&_enCUN*woh8<_V(grfmvwr^kD!Md0q>)OqjUBw*!(Zm2Ea5g7? zklWxDZnbz1pXB2+^RD}Suw^%czB+r(rI1Rl;V9J+F(#USnFSzF)9+=XH@^>-(u4x5 zJ8$wGJy#oR<;_O=wP>pWg-Wtv_tCE`Nfo0{o7=W~1*fKxffW6F!a`u3(GzR7s?U%)W7cstPQtte&&&h@1c9qRFH7lqmfw$ z4@u6o9yprC#HyWt{KvdG#!Da-n%1|E0)TB$fQ+&;4QTVX#nsj4ln*3#+3J)bBk3$~ zMuS8HFj98bxN^QDMdhYXC#HUkiZ{UYEE)8Qvfg2S)Hv+PKCUx#u%L zLmGV4Be0_-HL~9$P*Wn@d=G1oG&BST&KHyd7(>02H)q%XbG?~Z)D_VSuM*Esh);Jq zl}2Yye!ufRZhr~3h?8KA@^8d@i!z2_xWit1$k!ngnsLTMMjSlB;Pp-1^Jgzodp)|? zJ}g zOZS7}Zf@ue=(A9K0*>xu!AaUdp*XK~lTca0bTfB{c-8A8UDgr6yr+tO#uK3hp>GePFAMdLDL6epCcpDe!c7RI_N2^MORP-<3 zdKrF2R9>;Xcnolw%CArdD(bbavjy{x2xE(PdY}x!B+AKAm9i&OPK(LcD%K7}dV?#! z)-5(CeM~Ys(g*l$^RgFdBsCU#*JSd<5&~FY(h-Rr=Q1mb8|F^uw2WtFLTipbBqHDkka|JKo1-qp_yv`>Bx$3dt? ziZPF3L)4DX>#|Zv8|~orB^n`#eASy@(RK@qsS}pvom_o=ae%C}u|_JR_cj|Imx!&W)dr=qZ% zt1iVx!+Mec&hP4%Aq{cG)*Y$`uG&)DAYW1ol~UN&W+uD-ooyElBPEcwE20EsM(UU! z%JFPq>!)Ykg|4}M*fRRKLk&3lAJJTN`!`lV-y^oqK|Ebp5#*c32svA(1!+IzZ}ng1 zVI~*@_Lf|RZ4?d6S>=UDekteLmkrh1YlHNHa$0|?+ON`EuOE8{x* zQr?I2H+uG84k<;tXw<~^pc4m5)4HQuw~IX&j{Uq7Y_v|iNO96n`BF` z#)(sSDVntKft%@_&S>)F)FZ{)0G=9JS9tH>v*jxUB^tXLdh2+44RO_6+$V*~|wd;U@qd4zs8~x93NY}n`6J-l? zwfOo+8l7H7?`V2D`kR-~@@KPqv~cR~fq|3$F(tHse*vf@dIX)iE(LrmPMuv*kE1hS zzc$%{F)%7GZTho*U(@F<{n5|=js!mNTEsH!A zzYlmtmOKF>JaE3M9DQD6f$1pVIdgAZA4PW8l>QcF&>ZZFY4GPc7-P##CPFCZ=e-}( z6pIL=kgvxaLZTTF{Ic={;{t$ZGAi0=5fET6w?+P!pZYl&-h;C1d@FmWC2@h21DU83 z0i@-ON4I5tyqaT(n&bTxiH6PHWqrPtiES|gvtXfwJ9Teo-NuhO;9GXY<3L_!8V@n0 zCw{`h`yL>krlli@0v6)>78%8EK=Ce2(T0Y~%mu{pII1b&x8tb7&5cZs50pqC8q|}z$ui<{mFdZkw3#aZE=5cQl@oz|)&Q@~y zzC$sZ>Y(I8tc_LhzZ!9VmVD{E$r^#3(HmYH8~(XQ^x0UtaV&h3?qX)-XS-fEJO8f`THad=u*;Do-O8diH2v{<9UnSB5v-*|Vx_a&`YY5}IEQJL>NQ(jV4svp-&$j0c z=|3c5gH^GQmMgV}9sN^2OQTG=Zl?+lLnFs~NeW}?$sU{jJT|$SFVlyT-j$&q=LO*V z5RvxGKsPQh${ky)e~cpJG13)xDSDuppgkL16E06u=l6cj%nRw7He%;4KG zR}>nA<@#*2XL;ZfsC$7lWQW4TPLHU`(Yrdf_-5rL?Yn)+^^6S)-Xwl)*aPg^#FzXv zo8w=n`dFcfUV9=5LT(mmZn3rGvzcaB2w-PI2^-lq{(lku(JA~8ml4|IuV1?qB1j|X zWa0>Su()>00SN_nruQX=!vhy*cp*3=zv)RcDkzr&KW9n@KB29g6kVm_Me2e*mPFnr9yn@DFC|*W5Z19G+Nz4Bj&_X? z%!Zfym-W9vQg|dtwH^PcSq3P|_a~P7K;VsM47?AB#Mu7!C8`Bxk0iafnl+>F=|{9r z_Kk_Gh4pxRr^H4z+B|HEqXkxemZzDz?`~zU$pQS`50~Zo%6zagM==Vw@^9qikL_Pmbu|j8 zKg{BnD=s~>8#(3W3#fbPE~V1x_F@uO$d<}Wb?nx0JyvJF#`?q_2+gT;NsL=0L9ZLE zC$v&AA&|H`R(+18YWexE;*m52*lcPYmnbFe6I^3d_iG>?O`Xwq>y}IAPNitE%<2&| zix`H;67LFz%^dt}y7_XOnc@}7R?vHPw(@{E@-++1b0ukcT*4m?Um`Pw$9ZLh9@YPF zp(LZR8hfeSPR4MUBq}+53e*h{2VHYOtYxpcTIR+6;~PJKj1=>@%gF@GnukF!5F92b z`SszIo^p}@CTosQAu}_hmtPQh!@meeBYjbddz;IDJygY--ntlt#f| zeCx=Yw@wMs9@q!NR-M0`Hlks#5rHKuJdloTDhsR9cO$y=0X((&pZi8{K;|A%%!TUR z2(NQXYbT@YHYu@=&s(C&n{d=7*BuoOnJHjJIc{r_=nCYsJ?~2*Xf?nsjPU~e^TQ^$ z&JvjQ9UxY?w4eFvCvj(W`~Ojhq<%S2hjugrVGh(rO+`INtszNna0Yoz1kY6e!H9~g z0FcJgKhA>2cfQ!#EKotj&wd~QS;$swk?B{x5b5+rN=BLI`C>rmTvU952Cz_rV4|E? zDR-*y_+Gt)G1B9RK#BCqb(F2N{70-S*mN=VQpaY+S?!M6M0|R`#D1yYZ~O=^k71>B z;?rVEP%A(+`4-VQ$*FneuSvN@bb4&KvL9lc1NkTTeK*~fV1HcLAyuDsPE=Qn1Y!5=M)Lz9I{~gwqI@D^jLn1 zQD5Hz5gmXg23B$%e7%)9leswPSVCM^Vm8MHtIWjHco$yZ!l(r<*e}7Rr)zi5$i+Oq z#ej5yVH_-P6#)I1db%zvSg^!x)C&z#)V9eq@|_7|%XEd+*zqrKY=uP>h}+D+0Q^#s zR@30JwgyP_5j$)42DrE3%v~UACz0;(M}IZ7eyCMGVO*nO?CO{>-Wc@HW4$)*2K%@_ z8~N~WI01s3_rLryIOLV>j8A>-ponI8>7{#$hp$zi1d|95opP<@vq{7EEd?tTiS&){ zVK9=9qhYpE+Qh%IX7hkVLJ2pq^f_3pCE`@HwTqXfj37@L@B)ncpeykgs^CG_kZP-Z zR_mhCm)2gd1Ok5tVZo1A166UEWIi_9+@I{W1v;SNCXq3kIvEJHV?S@cO6`5lVOwgZ*k zb~Lx&XAIua?oS@#DD5xpUk9@)dnRtdo7j<~Z>i z+rT&@E9M0*9SS^)neUF`fL8RkaSJHlk26({|FLsmf61!rwkQ%WnDH1*ol-h#z?PJb zFt#s_8g_#1$)U3P9sp+2yC(IN`oW==TXDNRA@U_3>FZX0kR!gsw1xt#P{93x_Ylsw zelXy?z*5>b3LL`GAOLn8xC(x>Cx+ZCf91zNggp&t+#t{lM zs0JT_MV5!4CaL2upF%)zW+BEM{MuBDuS%k2O>V&B1wuLy7jQ|Qsyz<+NF4e4sCFIs z;%jMKL7+?$3DHQ`J6Ni4DC1l|9lr>f}Wv*pI+A4(-B!@%;%@7`-t4o7xX*5R)(5 zB{X%Se6h8v*6Z)?V|~$!OJHYhWW9{fq2(cDE%@fj^l^gN```4Ek( zAH>E!^G*Z|(!Kb`)6bxIJ8t|dMT&HY-Lo-G`f$?zr4h0_?NrItI6lbmsga~ttw}FX zIDq$n+Zn4tA2<44LrlKJ=*!&&Vu}ti&UUVUk0`yH@)OY>SdFs3KJwyK;;cvi$&|*QJ21pL)1YB zqI?^YYikYwqk|MtcYNYZ>xaxXBZ)u!zpmPjziYy#{N1|UhD#jg=11K-zzga%UdJtr^g&!dieYU+-?S-DNEiK@Q(}ibGR36e~GwGN5952!5=N*nhcM_xqSey zhDmjojHkS>1epLJvR=**glv}>AArsFBO-4%4<);Ye>Ir;=(=v@?q-(Xt@MvH8YHJ& z=^tg)PVWtA+=||C=hjze1-#a-lQ7z(aGjxZh;{)5} z`tc({Xt~Y49|$wPvSzF1Q&adSqYdO;l^%)7sEK@)n=m_FJqdLLPLbFlDP1O@W~2Vb zM{`VOARz*-x@tvW_EY1X!vfm3>LGkbb>mfs_l2@?HxKLFm(%PS2pPllK7JxBt4|i6 zpU%GjnS=BCOUOgz(1JVqckWR5HV9m0xfS4lMc>BeXK37eLaDFM9K;usUGQlt{K@ZM z!Daj)F1VQJAegYXQG=#SC=TbBety4W9IG<;cJkB}u~`x>J9x3EzN#)a#MZ65`INaX z#{G>TnNnxiLRE&lp7EpFg_$#hVox2C1UC)*08`kzV!UBhQ5{xN4f)WKS{4+FBh8E(CJct*X!v zdpQf9sWeT?GRN}yqA!4e)v$pq>j$u$cu*CwdblU+RdsJyAc!l=O8Zb1_zYY zY6sa0?UQns+;v)&oFOFYaftm`YEdHt9i;2?l@c6EE(>Krq1c!*2W?5BpT;uAN{j64 zn)Qi{A~m_fgS`p*HSnjkI%qkO8{uQ0b1d@|G?iG_E!$cfN^+LW3?@EhhB30LttTak zoy8Hmc`}xmJsJEk_=d&3|7UEjQEZp0S&1ymsEwmRW9|JxvxnCAc%RBeZARP@a$uwk z*A*F+RU2;4S-uw~iH9MnsJg!+TDs$ArsI70oH4Bbh*-w4yuvHj%@Ay4t zFz9VvcUZUN&#rDZEzDQO(eI@azJtCCqsFGmB5{h^9dDU^GgjF@sEzLVkejo2+DH@e6=__MJyl%@GMH{=L zkJic#gO_#qdC=&%gsG`onCsS8RR7Ytf@LH7%IZ+QQue4UtGiIau=zflZUKwf@p7vB zvoOZvx~cj)b_nFCA3O`Dj_D8Au;#7lGD0Bk$viYQFIlLlxUo||eZE6t?8&UevC>VF z`0i^anPaB$WIfwYwr(ZWa~{jc(&~X-yD|Jcxv(6a;m%a^+HYk+=kLb|92S}6E(K%? z-&(n^TmSg@#IFKv0VjegJ7Nkq+Nuv(-nrZ~r}Bvw^JCOdLU(%NiLLnBw!E{ZEfaPQ2nZ`S*058r(cUpF}l=X5Ii2U^V;L-v$(M0u9Gc_ zG0TnpfESjSICVDb59hWUxs1Ezy-LZO_9S8dt*LePqpVDw+_b9R&Ylm0#lzV$v44)e z8hU%k-4RUHvzOIlRNkrW2BI7R=UMf z@)jq4$1^`3{Fuk4H5k4j$qITnVfEhfhG|AsX5<0lAsF|86mL3uK9sO+SfthD#sy-wLcZ1DJtXb5Hf}#dTenY7Uz5%ABA#!6net)WisWCC-A2lh-!);lT9j7A@unrn1Y_gzv8~`V zNcuE3#0dKgy%4H@$to05$vpOL>VH{)hjoeWZ^+oFLwU6)mp62hjyc%mH8n-%FxB=t zNK@sNeMD?-?Xn8^jF$Um_{Amrb*Ng+ouR(*DtflQ_LXkl^HrT#stoIgqrX(=owp0P z%woZyit7S5JPOQ$-pa@CAdp{KPw-n?rcFTon`dWgtdDnEcg8uji@I&ZBXYS@C2K>w z^Jw}DT;59tA?eqJgu_4wQ(5JXC*1NTF!&ver;@LFVqGw9Qrb7URQ3Fq-b*D=(_Kfm zESI&0F{$(}A@*4u2;>|y>K*5z?HBb5%r@g&;PQnRL47}WC1ky)ns3zFV_4VK7u->XZJ zf3`V5CM`iRksFQ@{U$`xVMH|5Y`UH%GAo0!k|eptP093>BE^a3if5}6J72K7Z%|`I zH1Fh6D{ReFG5Ed-tFg;gJofeF4WQ=};Rlq7x|b*MM7q3>jBCz=wN6_P`zQN5+xI(m zW;;lqVvouDhK9mROB0GPQ&mRmV;Yh~bg^%%EM!(Q)Unk6OI!cDl&Do?7`x}Q_=d(($$e-l6O%LJDe0!oy7&KoaAdt zMbX`2FuzS#r`n3ypYl_V(t^YLM(ugnd8$hfhcN=D#gT%dFvg%M98)@O2ImVS*Lz*6 zsyUVx<>snjHVqdIcds9h+6x&iO&cD2CRS#8M(%ktev;WWG zpIL+Eqi!LSg{$Q>eI`V$pJ|NJb##;NX1Ap2XeMEVd10x}2>UUDT9M2RTb(F2x}=Sv z9$}$6>z@PhSY3HLamkQ-G5*%-Q4CDfv5!y1Lg_?Ho_16riVPH#q8ttk20{^wVq#Au z{Mb73D>)QVKNAPCBdLX)5FYyjX>3}1t8ZSn{nD3sx~L$uknZ!P$ZlbU=U&bEmv*X} z8uzcSz}|52>POA9jExv~FLx-QL_X*+msJ^(H&A z_^p{K?nClgKvJimpz_><(kiJS_jfVAjxQeQq8i5ch#ywIza0@^@v7P z4iih))Qa8^e3TA=uaZa+vw3A@e}B=VI_*MXOUrN%XJq3*&ZWl@zj~1oP;WGxD7gi1 zc%CjIH)}mRdm1v0+Y=8n;e(w3t9PkqS!wKocTyx*xT?JBvReb-$yj47`+8N4 z)kF0fghFNIkWt@Mm9e;{2nUB&yb)NqQ$`54IIwA@b2SudbmXjy_)9c2@rwt!5d*Dj z1*dtGd=8cuh)qWsmYDO2v`#mD{Xh5IMotRLSTYRrhZjrH8nSvV~Kq8dX)40 zXKxvEjdf<@o3H^hcjZFc^Z(c0nTIuXXMH?Kt?jrl9Y-k&L~DexDhMbT14)-xX{wm9 zDpA?2Y$BV6C13(^M5Pr44ay=*+B%5Jk}9&vrXovN5(NPvKoCL#CTs~3$U5ieJAceP zGk?DSyw4+l!1G*gZtne^bH3ltIZ1AoVK6W9JNhcV0$x8(DEWR32J;t*t>ag<>Mm}8 zz(v*ON>ab1IujXl^6Xei=DkB-X1XwQC#)#B{e~T3 z{T2Q3nh7#nDIk%im{LM{>pCevCo6)Fw>JKGSu>w7Rn7Z+t~ZdA9XHoYX0r?`mH;+p zCnqOwB}(&&@9xR#4Ej3N{2*g0XQ@ra&~kS8W)}y~4|9S;+eyBa!Eo0kygTmIp=CX9Mg%^p$8wK3j z$A%-WuC6vUvmH2IhMg~M=x<8`riY#iodMB~Yht}TqOg%KzCKz>^Jj}wIa;x7O|yTx zR~nqIbd|BV>x!9!)zsOZDmHE^rinm&s@b>B5lBmokQoCqnmwreWk(5Hzur|*10h!l8Ndu z^N2P(SQt$?tJSG?<|=a{*r)Zzrh^YpG+gf4o*dM9$A4zHVc}Ii@#gn=>_ARjnc;Pu zY9L)zEp@@qJYT6Srq^sXah`rM6$h_P^+@0n{2(^jCd?sY{8Y8l5wEYu>bGrhO>Rpt zA>JwV$bMhiT$% zSE&PMq0Oqv=j?c%Ilcc(rTT3_M3V(wTv)YahtZF7&S1Rex!Dt7+}@#UAG&VR)TO9b`Bgmt<-i-*s`gd?4DR@#@;1 zy4Tu)sd)P8t;cRa0JkKeV%>~r z<9X?Gw%@RdW?l>q=63EUZ0+%3#aZpkxOR}@vO~&Y#W$v44YzWo#@P9hX=Qc#;IPWkG-rsr86jHkc=gRW;}y-2)!y&2XGWUBY30SD zK%M#>d5iNB%(;o6EK(@t*7i-X9t^iSB`kEn^PfI@pG&UTxb0vaDiO<2wqkvKqKN9t3G=$f4>`*O1(qjN?n+YtE2AK(!D7B`A@X2qs1KBUc>w&D2`O&1#v~RG-{f zKirU{RDt}AzkS;R(Pc@VEw$|zyH}AF;#7*{enIi~Y|q%yo0&U;-J=JhdbC4JNX_&* z&49dG$$wuWlaK%QID&KW`be<}8)U4SRIkpy0#9)R5&C!|Xqw1GC`EhIJzNgdaY%vJ`fjudf zITx3j1`Iro!s})`9e#Xv;R>WeqDAzP06}gJZhUO)ySyKG?|OVVn-1RbQw`7si%mVR zWrf$`o3Jb{zC7`#by&lEQ^{1VCO|zqj-r$qn42jpuCnoMN^alLjo(=k(B87t zw))!7E3M}!H}Cgo%8;i5bN*G|_X>BNzd&uQg>q}E@)PWa*8AzGVVlNipwS6rC_s)^&l zAs_GrzKvIS*VcclfI^((Fx2Du*5p&A$H3Uwn#rp0k_Uq^BUkatHiwdtWP%l$s2it9 z$MZRS(8;oQ6Oci|<4J^H4Mfp=qmzAT-y;!&`ReWg{JU2NBNj%}r9WHejE103 zrasw#D|zk({tcH`1vzGAX(t<_a9yXOQaMh=@jm5=y~Yhs>lWNimGvh zBlm@*V}iD?S!i}8viI6l;(XK{=^ZDx+e6%NJlORi1QDss%infaj^D}Z=<2%ZUQp`B zje-*0NPhhIF-;g+K6>|da-Tf=-oboHfsgJKNXt#!LW6DmbuiDomnTC;2p?fEWetv$ zr@KaP9HhOymmfAaZ$aF=r_XMqncaq14wjO#!blrxURIKn|Y&ywV|7 zA=Y!@+(zew;S_c@OTQ2+C5S2;de-7;em0NCep_Z{@0ZmCAz+cq-a1xubn-wYh_nO@ z$E{{iwVCQ2>yP~LTN9Vasuj~$BLSKG#Ld?c3!nntmua78cnx9bHt669I|l}IiJyM~ zYjYGXxDphC)@T+u+vLgy;=wlmwmYdz_@wM`>EqCn78IaD&q{l;f=7v0Ts7}-O!*Xp z(f5ZOK6k~^WtUU`>2L4s&$(4zJ-QVr0)Fd6);vI2j({m~Fxz?hxOe=*sCGi657kdj z>21gzFJE3qXzS(W1*qMcjgO$c+->R)Jd#PEhw<^!?Coo=zLLFLX1;SgZ(E6o2Sx0%9^GkRy#(84c3DjtraH`Qd(A>(!o(EbbENCh5wYDW)|7G39i< zi8VQyq@Q1gB|3`?dewV$Q_Hx5XBU^I;=tzH|F*<312~2N#6(4&slRsstDjCR5yfl# z0kc{K@pC1S(a`}0ok}n}-l_4?KnC%{swUD5YObLLQ5#e4i)FO4K5+%Ju*T~Nf;uHH;|PGOXd3Q^*sf1n9^g>v?Z7!TfY0^=9wle2k8%T zB4h>Cp#QDECR*MC4Z@9AotmB>Ns&HZN!iD~vewCFrPaRX8r5JHLLd{8_B4N&tWYl{ zjQx^8dv(Bd^g)wlE5gwfrg(#{i8%KlW%NxVmJh+`HoR`WzQN(-i(gQD;o*@eZE>+s z8_KcUDPf9!57}=?HZ8DwZoLV~88V=~AXoE_%W`qGh&p6Ap+rDY2}Ri%;^;)62RBCc z`ltKrwF_pBA+LiiolvlZ_ct9O`)p@wgd%=N-d-h=o^+r1Sp5vvVCOU#K|j<&9C2jGJ|Qav0a}Msp6rRSNq>lW>9Hb1 zg26%HoQmrOW+~TOgr7!C>l3u_43PQ0l+PiN1Vl~99k;AB+|klghY?^EdX(EFe7w9* z+~4D11@aV8ei&}fIgm3q2LrnOgozt~id&LaZ|##iR{LoBdhAa;|H;i#7!xd{-U>T( z?~o&*%+AKqlCeY9!=)(Hrm-BRg4YX%3fziP5Bcx|JJf03E>hn>G!Z`c`ogCxQU8bI zfkvj{C_py>(ooNS9RxExIs{rkaz~vdj_eJ*>nc|R2oO5cPjv|D_&YUc#g2IG zJe3(Pj6fXk8rgJQ94y4GFInw~1>Bg=tSOaG% z@DQoHt4A!Rnn~Jv(rnZ24*KEI&~SzaYJO0S=~6_*oO8o3?Z4*n|WHln{w)29gL6*|d+q-ZnWfh1~M(E-HW#chd(k)0l zd+VIYA5aOrH(8B8Fdl-@?_EbijF)6ot7@j&L0z)YMlx-xMkN8FZv}O~h6+7a!LwE-V72R7)3&xEiF#C8 zI;s&F;!$pUMfYwDX9$Ig5v*ZnYr3rf5WTin69YD(#@79l)QPh0BB40@y%O}Fadj^| za(%orKd|fm;Y`QSV>VUthwq!jiZde$KE2ifiEf&$PcCvswBRUL#Xy9@`*!cCnRV~W zt(*&BnBNrMfY;G3f3^+?+HMi}$6o>p=8P)AK+9D-hbVk7HT{ckAsbUm8Zc;c+>7(n zA<@T}C&7V#0Q~;z6=aA1_V}zter*|cFu~x?cR>L5q@2mhj#rQ4Rs9i$7xmz``oz%M zMKoDaIrN^Pb2~soooGxTLC*CF`^B3*ccHw~l!5&ORRKb}q~~);Woo5lC9W1&KNayDiJf7Ut7E z-i%NbF!R$-jL`66_A>Q2+*T1;s2n1O$~6M{^F>qd*OuWh&x%b;NnUvq;LW4w{Dtx$E;szy4lYWQ_yVsVC+J# zAU^Hugpc7yzTynuWFDM<2`>T*^8zv(4(Xf9X}V&Ty8hcsVxU?%Nj2L^p}lf&<%kaEzxP9}tDN7>WW^luDtFk1=tgZ>+4O?MC6 zMieMfwAu<*Qk-8J=J(px+<>MM^%vh4xwl?kwYdW%dST$I?7RD2Z>>n-%);{Wa)b2h zf$KQbECZT4u5ATQ*VuN&^%N#9-IGSHoz1fa(Dj43k=ba>070bGcng4q zXq|3Oc?AWVi`;{=yk*e5>}5wrMUBE3t@VJbMQJY{895auB!$OHza%S?e6(M5-f`P| z`{nCKI*?~bQfTh^sFqFnVvw={`3xEX)oDj<9iTF@&or8m)!oOawx0Wq-^f%fC zS^-uD9r^U0ZU4Q~-tZNSeonln@c+=0|7goU?EJ4oiVv&tVKx5g+#f3CUpeH%YW&}= zMq;UB1ALRfEA$-!9|Y%v;Cv9A|I+yUe-s>vVaZ2%io~YN=enRV!;p9H|DWP-j-USr DgzKMq diff --git a/test/fixtures/app/doc/screenshots/linux/selenium_chrome_headless/index.png b/test/fixtures/app/doc/screenshots/linux/selenium_chrome_headless/index.png index 6a97dd88a7f3a91d158031eadd9f348103a6dffe..9e83f1c9797ade6ad809ebc7dd050e77e751a2e6 100644 GIT binary patch literal 19585 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 literal 27983 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 From 3b5691f58962d06634ce83711c5289236cd39849 Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Mon, 30 Dec 2024 22:51:39 +0100 Subject: [PATCH 281/312] Use separate screenshot for index without image --- test/integration/browser_screenshot_test.rb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/test/integration/browser_screenshot_test.rb b/test/integration/browser_screenshot_test.rb index 5862747a..9ece8a72 100644 --- a/test/integration/browser_screenshot_test.rb +++ b/test/integration/browser_screenshot_test.rb @@ -99,7 +99,7 @@ def test_screenshot_selected_element test "compare crops only when other part is not working" do visit "/index-without-img.html" - assert_matches_screenshot("index-cropped", crop: "form", color_distance_limit: 40) + assert_matches_screenshot("index-without-img-cropped", crop: "form", color_distance_limit: 40) assert_no_screenshot_errors end @@ -107,7 +107,7 @@ def test_screenshot_selected_element test "crop accepts css selector" do visit "/index-without-img.html" - assert_matches_screenshot("index-cropped", crop: "form") + assert_matches_screenshot("index-without-img-cropped", crop: "form") assert_no_screenshot_errors end @@ -152,7 +152,7 @@ def test_screenshot_selected_element fill_in "First Field:", with: "Test Input With Hide Caret" - assert_matches_screenshot("index-cropped", skip_area: "input", crop: "form") + assert_matches_screenshot("index-without-img-cropped", skip_area: "input", crop: "form") assert_no_screenshot_errors end From 67843cb22193ae87cd1b72d34cd4e60eb43930ab Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Mon, 30 Dec 2024 22:52:10 +0100 Subject: [PATCH 282/312] Use separate screenshot for index without image --- .../macos/cuprite/index-without-img-cropped.png | Bin 0 -> 3744 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 test/fixtures/app/doc/screenshots/macos/cuprite/index-without-img-cropped.png diff --git a/test/fixtures/app/doc/screenshots/macos/cuprite/index-without-img-cropped.png b/test/fixtures/app/doc/screenshots/macos/cuprite/index-without-img-cropped.png new file mode 100644 index 0000000000000000000000000000000000000000..86445f6665c40dbc58dfa17e8e570b35de08c1cb GIT binary patch literal 3744 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 KMNUMnLSTX&c+Y$Q literal 0 HcmV?d00001 From dfc89304bdae6efc84906d81dfd804b013bd2451 Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Mon, 30 Dec 2024 23:16:34 +0100 Subject: [PATCH 283/312] Use separate screenshot for index without image --- .github/workflows/test.yml | 4 ++-- .../index-cropped.png | Bin 2888 -> 2885 bytes 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 88c3af51..5130b4e6 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -125,8 +125,8 @@ jobs: - name: Run tests (with 2 retries) uses: nick-fields/retry@v3 with: - timeout_minutes: ${{ contains(matrix.ruby-version, 'jruby') && 5 || 3 }} - max_attempts: 2 + timeout_minutes: ${{ contains(matrix.ruby-version, 'jruby') && 3 || 3 }} + max_attempts: 3 command: bin/rake test matrix-screenshot-driver: diff --git a/test/fixtures/app/doc/screenshots/linux/selenium_chrome_headless/index-cropped.png b/test/fixtures/app/doc/screenshots/linux/selenium_chrome_headless/index-cropped.png index 8d138843e5d416d95c652e1db28c62c7554762c9..826d2605a2726139b0fd28b2058bd3c6cddced1b 100644 GIT binary patch delta 1738 zcmV;*1~vJ}7R45j`2jbv`kMoP`Sa%wH*VY(%?MAkgVZ!lIP5HaPtcO{hVVM-IJ5IJ6-Q*H!unatD_@|=S*38c?8xk!ZSDujC3IxB>E zftO>DL+X=|E{(W5?vRGsB@z&Vn&-eGftY)}7Kkk|B^K(96z1oD>!hifK*+_K@1of1 zq^)6Om;|CT7j+)|;L;7vaTe*d4D%qb2}Ezu;08z%2{$N)%)%owVMC--hF@1IGlD!N z5KCN+AUefX7K;&tuIbxQJB~S+kL3k{9Fa?x+?vL`F6gy1d9XUo)~3G?3TXGp%!YF@ znLeHnh&73=>&54P--tosVN1;Q}@7#0Y_tY8E(zTn1xjoW3@@UA8dvjPi*VOIE7 z0y)+F9>McXv_F;hfL#{Cx2?-UKL4^$%wMG!NOwe;Do7b1Pzr(c;fny-7u>|TUF{kTxPM`Lv566ptZ~4<=VboJ&G=Cdtb7vmqV!ghG-) z$oDz*Ik(s<=bZC#u1uBe&)@xwi}hYf>l2LtjyLAm_c6*jP56yK-s@Ax0{KClXR%s+ zXAK2^9IId2?ucX>QT7QuYrahVfK(faUZ+k5>Ak7**Wjot+?w;mMLFrdnC7sgeGtfe zcaoD%s~uBx>3nyQG{JMS2vR9X7xbCT&grn`Q}f}W-^AhUuwM_-ZwjQV5Rq|u(e%v1Z2j}00_oq|6h|fV zX}t6ATnOZjK5>x#bJ%Djt+J3}3NcK7)9NSb0iwLVc#zf|w}|CfLRlaP(2n-Yl8*CFgIXqsp zVVD(e2xO1M-C(o1(yRcxyYj(5AH9;-TU)oqFfXzq5DQ`XwbvuDK$y?wX@N9b1=mk7 zuIcOQ7@n)J(<>9Z1GbT*_by!BM1<|Qno(!`*$UYFvqP${d99bo?}r?d28FcY z4NK^J)>FCsd0M0xWmtme@Jq97;v=;4Rhmf{J4xSwi}YHCd63rxqBm%810;!r8x%uk;SrgzA<`+suPc=qL7ozb zB`!x0onkAC#Rx*z^lhje#~jSZ@`6B)$fZkeO=Dgc^jexcSe<5T)87XLw0mS`!?~DD zA5RFxn#9)i;`48R#2|X#;BmX5_D~>>iYwa>G0gou{v2duBdR(wNI|2LpsR&i~(dY8qAT`bwpVhP{OioH9FHM&@SfOMI&%P1BFoO zI)Ogjt%ombbWM)_yfBbv0pnQqyxGMNjs-V}5CuM5^7So8AgO1@NQRv%0inM;iV(_o z{QU<@S`R+}HN_fIs=j=6kYFm!enlYf^l6{^aJ=|`M!9R|J7Hpw6S*I*rLzcKh%iA> z9dS8!=n`tqw2a-X%GK3m^-+51yA3a?r*rlxB2xkMU~)CYxg=C)lB{e$8`5D%zAETVpgx?6{y*_m;kRQZ(7OT~F z)=)NW_scqee>NYEhGLq12Hm{vwvD;oS{I=c|^tH=*MIcZ0iTSqNcn(5t0=XHM*Z)t~X|tAfeP!+E3nYA5AnPTq zdx6|89(qk65B7=qwwPJ0G~Qup-zNWCWc{-O<0^UAcL^~r*61=V7+tKn`(?KJdEdo< zGJmNea``ULe|DO8&NUayQg8nadKNC$Gks#dE&VjFP$=fN*pBY1!Wr_+F_d&BKV7HI zPKD5iAeDl2L7&O&oDOR~H6I@OO&rb+`}H9Gra-z15gDf!P0uXM);}LAkp8_*aa1y& z#ykJcg+T7;69?%(hmAJUDhny55W_Tot$vaoAj<2D2Wj1Li&%~&lm&t?or3sNjf?_( z*Ky!_K7>?A&U3l_G_RaZ^N#7_r#eI6ZeWWTTT+)U^_&jnrsG{dlh*EYgy%BP6elR3 zTpSOI`nR;dXG&Th`ufnQGeyC?4ae2}r{7;3(2Yw?C?4~u-$mX3;P?8(0{J Date: Mon, 30 Dec 2024 23:24:04 +0100 Subject: [PATCH 284/312] Use separate screenshot for index without image --- .../selenium_chrome_headless/index-vips.webp | Bin 19585 -> 19586 bytes .../index-without-img-cropped.png | Bin 0 -> 3322 bytes .../linux/selenium_chrome_headless/index.png | Bin 19585 -> 27135 bytes 3 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 test/fixtures/app/doc/screenshots/linux/selenium_chrome_headless/index-without-img-cropped.png diff --git a/test/fixtures/app/doc/screenshots/linux/selenium_chrome_headless/index-vips.webp b/test/fixtures/app/doc/screenshots/linux/selenium_chrome_headless/index-vips.webp index 9e83f1c9797ade6ad809ebc7dd050e77e751a2e6..47752ff31c0612d88324e6a81f38f61da18205ce 100644 GIT binary patch literal 19586 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�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 diff --git a/test/fixtures/app/doc/screenshots/linux/selenium_chrome_headless/index-without-img-cropped.png b/test/fixtures/app/doc/screenshots/linux/selenium_chrome_headless/index-without-img-cropped.png new file mode 100644 index 0000000000000000000000000000000000000000..9c46ede0687ad17ce28208bc2932f7dc438151aa GIT binary patch literal 3322 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 Eg6wSv=l}o! literal 0 HcmV?d00001 diff --git a/test/fixtures/app/doc/screenshots/linux/selenium_chrome_headless/index.png b/test/fixtures/app/doc/screenshots/linux/selenium_chrome_headless/index.png index 9e83f1c9797ade6ad809ebc7dd050e77e751a2e6..95de9dd97fdb96c254cb0a6e7c73769c0cd2d661 100644 GIT binary patch literal 27135 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 literal 19585 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 From 77d02aff10503dfecf994bc6ee53714cc0f131f2 Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Mon, 30 Dec 2024 23:54:11 +0100 Subject: [PATCH 285/312] Disable animations for test --- .../index-cropped.png | Bin 2885 -> 3329 bytes .../selenium_chrome_headless/index-vips.webp | Bin 19586 -> 19585 bytes .../linux/selenium_chrome_headless/index.png | Bin 27135 -> 27134 bytes test/support/setup_capybara_drivers.rb | 1 + 4 files changed, 1 insertion(+) diff --git a/test/fixtures/app/doc/screenshots/linux/selenium_chrome_headless/index-cropped.png b/test/fixtures/app/doc/screenshots/linux/selenium_chrome_headless/index-cropped.png index 826d2605a2726139b0fd28b2058bd3c6cddced1b..9d2386e6a7e4ec53faf143d1b9f92ac003e065c8 100644 GIT binary patch delta 3326 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 IM6N<$f;B4{6951J literal 2885 zcmYLL3p~@^8=u)UD>mkuWRY@fZIk3u=90DuA@}<=uiSE1^iGIGqr{L)sfgB4R3r^q zOp0RV9*vDr=2EWj^!ES1=ks}f-|zE1&w0-8_xqf4o|9%}aY6*T6AAzTLmM{%|)wSNRhInkf5?9o(l!8yub{CQv_RIsT!5be zQ1VB|pwR*)|7P6W1OR{~|7P6!6v02-g3q^FMm69J007k{m>Al|6moArs;|^VyqPB9 z_ll=oyJljln1vr4v&1Q8<>cV^*34C^sb}TjC&Kp&Kz-|H5@zDxZRCwOIo1y)XBX+g z$iifX(2kZtAKqiVX0$t5L5+mq1POg}q~7JM>}eNw)EIL(Rx>`rmFLAX3pqf-RLk(W z(VybhqNgA+nU|>_uSAw3V3~{`s&yZ2>Eht-FU{xID`3{m%e!I-L85`35K1NW=n(Io zd`IYUWWKlPYoMpy)CrO?^pdxd3)9*@CADK?F-%S|)ojqWp#R9Ha?zm<0WB|oLG8~6 z->Jhzf$SxnnvPD%mOs%lXr z;w;s8=d+28z087T=T=&ZvZif=L`U?6@sMS@@%aqfR4W4H49Tp|>s1Ew9G3>R^1RC7 zKtj!sf(t{*X|kYsvZ1!5t2<}z%!HI$*(Vj6I*^^oY!d*FssZo9@YpYn+~h;6H23Z$d7BEIFf1#J_!tyb1Cy=qu}^(yeieGvlZMzgQutttcKrmzi?E1d(y9SMN;_MGokCC@%$!A=Gb$n z-b-w?o`)PEZjScplnFDlQa18U@gq_YqBiftgKl3Z&sPP*={^pl<%q%=K!BJMNu0Jk zTDfc06Vw35_m`Lhe->@C)Ry(GcL{rohRxF;=V_>juK7huWmnA-b*7)oXcVj(3G&A#$`4s?)GY$iTcWLGnY)HZkwG{x>yp0Jz%Am zsgrm88<@B&%Pe;=|4k!m>gl0as%}@`{Z}yP*=0H-B^*OORs>JgN_#ZjHaU`NxX|=^ zJj$3`irXb=U#H-ew;H>qLw{px8|gzzG|k}NyiU;$4WA0Ol=?iQ2(f?g1d7kOqia?5 z^-Jg?Djn9~P*dC{-b9wX5G@rLQN0FWWBqeIcTWTw5EQ&g2j@Mqf5lUAGJaqwNK4iC zr(ha-Q)Y{LfUr%YZ!!jad%sim{aK1X?SML;)_1?=oqA%Bv-G#C6s`VIr_r&^8cT-z zJ!yQj30Vy7pQQ&|pS#Xr4JN}+I(2s*(I4K=x==r&?TsW=f?hHVu5wj??uo zR>Vr;VEgQi3(bro_r2{{s@)^Mlw_2Rqc7_$>eMsUCJT9C6!V;!?veFt>5FcJX+#Df zQ=7$H#&qbM`k8?np0;TR{xU4|uXc*}7Xk08bpJA&>a+9olCXYYlll7JwsL814=jY( zFDrQcqvh&@`MlQSI_#!A7PTxMPQMtPeZ!(s-X?;5F*@r|WHD~HYQT_}oI|J|`^xPo z@(euwB*O^Vy^!{+uJJZ2=(^cX{}q%cKc2!y)QU8)vXa3`KpTN z&l@|da{seGU|1@3BORl!d#R{lkpZc3>v!C@!H-NQx1Ai9zqJ%J|LS<3fjXL!9UY$w zANR^Y^(KC3%WrV^t1Mo2)!^l-Ddx`2ulYZSopcGW)>vE`De)ikI@-%$4?UJVXtGyA zI(LeqR=B5omodSAzBlsAj4dP{Vy%joULZ5xv8gN@-dO2K>(~s{9o7>9EvtlQg~feX zV9?I3^Gbp2kpYPl%DjL^-kb|$BJ)@nX(OC@R_Rd<$qR}x@8#@g3*2dJiXrvM*Qb7S zFmgmfdR0>mKG9X0qvf|zCXMmQ6Z*LWmb{M7hvxE72@f?vvqE*L)yk1<>u$DHuZZk9IyYz&R89xG3N5QKpM{M_eLl1)U{q8j=QRf3x+nt( M$1O}KMjna(06EAhX#fBK diff --git a/test/fixtures/app/doc/screenshots/linux/selenium_chrome_headless/index-vips.webp b/test/fixtures/app/doc/screenshots/linux/selenium_chrome_headless/index-vips.webp index 47752ff31c0612d88324e6a81f38f61da18205ce..9e83f1c9797ade6ad809ebc7dd050e77e751a2e6 100644 GIT binary patch literal 19585 zcmeIac{p2Z8$KFi8`bi$?G`Oj!EUs>XweoibP!6lB<7-}RUyV2VxBtewn(U%Xtyyj zRW(7)wM%G8i%_kFHywEvdj6Z-jS4IIn`w0vMcK{>^oKe$ISL4I~bIb>P1L)Pi=hfBJ_+I_ETC30J zUZ}uS3?p7}(8K{XCmGz~nt z7jf;&%=2Hb9D0}1^g#HxXQJZo?!@rxMKsYG^_P1dSVKGNJ5(2@1$1lEH%6!HXt(b~ zuh18Edg^+C!Ck6bJ{kcGx@GPO2pI1}#c1H<$Uz7QWT4Ft%=DLp|HtVZSp!PsRusB< zS(ay^v)RETMa;|Z=3#ivJKC7w1=hRfwah5Jz1_U1E#3qDohp4#{f0I7;-oz84<2)G zX<D3Cpn%Sq+e?7)&~uADzR7(TAQbCeUOzit_}rRa=V*#2U}2#frl#ITCu zxZHizlDf_A>d0F^#?mWr3{Mn_tvzyU!w*_w-uv$!*^v_G{h<$c z;wo>nyDogMT3Tu!jPl&ct=o9d3%4-pSnX*3O4$Cc?cN*^QYOCqJ-}I}t%J$pJyMT; z@!I{Md|lEG5Ikd_>-eBC3USLw4T<9#I1B3L5|15qTs}`;ctU!t*a+uZX7;%ha?vu7 z>VED4%^*_OCq(~_0^i9yW6ryC36$;n1rPnLjlp(M^2FhKpA)Jlv1b&Z#<51RhV!Qe zyLZ{65_gw%2jv8);+F`=j1c@rFi2f<_@EDOPn)@Rb|-jZIv^K`jGU?&WYVKnD=53p zQ9Ro}Ob!y&mcyc!C#xiqTT-?wMNAXz4q`n-FD-1gERchBS3a&+%*emsWB(zxTfGEd zmgNIQpF1i7(M*NW6a7qkjotf_HQvw+bOe^nBD!47lSp6i(a8aph6p-DL1}t2AdnNa z$=dm(?zlr`g@uK&r$_tbw)<0D51I%;t=>c~Ys*U)yD0sFd}A`Hn3~#lc6Vko!x!h0 z;#oY4KXsGl6^UsmZXnR0;p}<|1Bq+?-SJ7sc}r1i^Xe}O7|CkML_5ud)5bj(sfDCV zuA4HEHYh_0BTGK)YF&QSaqv1)HeK7pPtD9;BBaX!!+WU>ZnRg9ZQ8b}}rc{TEoj?o^{c|0r4L^rUsGs&TzyO%nzGFstbbR{8-IK)TZ))03CCq0i>+ z(q8HCLHiQ@3wU?bU%EZBgr~b!iC9YE&<8C*CRFNbvHcRP6{_G;7AYE|kY`ToICg2O zdmJoXE%!40h5$k+smde#;2~6%$xRa_#l{mvN+}i%&!&EQFMJX9(FgQ4$80Tq>TGCBD4bu%xGO9Y{OTVY#vf5?T`Q-kY~e zEl{cBe>{4H=S}PPB`t4m9;#Nej9b>Fc}l-2mPx*uOth?Xs>n6K&0dQ|@Ed;s!bx}+ zd)5%5@G7g@>QUz|lCCJQi?k&zC`u*Sm#YraracQQRs#zD#9v#n5A<9ny0?RtFYEJO zFD(e-kS@!O+@96&7ZI?wIj4GNZXW(F z{appoz*CI6wAZ`~mb)l%Nn^2RB95ep#r$gEBqQ+G-)|eqg5I%+HBTh%+Gy!60%pr5 zNIdl~k54L|+DHj2+ryC@k!yd38cO&}Xh>*Tu2Dx7HKkPbAemdKH(x?h6vq{(2S~Pb zAC1Qes?w~_$^=>7DTV1v zHCQSDWT6L0hNP&!hp^&A5d@}P`^aBUVuFN{WL~;M2$LSw+U*_5+M)l<=CqP zn>EFle3G0;q=gs|2rn7u3bgK&N!8xpP6&4$@Y2tFoVJMX>hO?%DklyCZE689M|L;f zWAPXV*j#RV?98JQJpu{eKosv`N)zd++0^y*sbi`zu)@k0_209%|1SHg z_qssqaM`4fq(Sd7r)&}B&Tb#AEOpwUoBfuY_wB(F0pGci@<>IWl|e5PsYwG~}umx8x=4;!vdE4#6IHLYq3 z0Cf>W+HQBSQcFLwa_9E-#VNmG7r$B-X|*5bOpJcf>>-Ch%S-H!?@`*gIfy8pEcHs_ zSUalFX=lJgAAvegussM#66Is(%J1y<5p8BtOYV6F=)zg*4Qah6Hs&&Xj%Rov=@YkD z&W$Glc$3FEimC)cUlwdADnP@Y7clTM*5Kn8C9W;o6I5OmSSAB&Wvp3e(`>R=f&TO@ z8b0j6iP5N7))bSY3j{D;?!C6lI|KsxP7Q;S4RB~XO^xl_OHS$uHINAUwb(}KDVvOhEQi7%nG&g>KkU zNte_R7Poo>Opx5stk_h;sL-?M%OB7NG?#|Z3la#8!>We)>q64nN;wu*UD0|1t0HpJ zwH8y^l0_ukUJ`?@E3g~xzMtG+(QI|A3JJJnDphZCXI9L_76BrjvIj$?v^3~2deTnr z{ngcYHn!;gz3G+n1ovk)=I5?oEt*$l-Ii4wa8d?4(tVx7UYSjOS`qM+GRr$;!(A*fZQCAf2?F~6gIW0`B#Xu63A=?o+dx>EYK%39%fPL7je zJ8bE8-@}MRTk_1^QCcH_OzyuU`GC-o_>}~%FLIt-5PZ>)hfAit7{4ng+U}yUAlZ4b znnWGEQEXn=snbX71rbCLJ+zhxN3bVc3T6z?cDWhz;D=PEjVb!QHR-6PrmAs~U12YN z78qHPb7Ai-K4@Nfg0N@j2xCr>l{coo{=VR175dbAfo2sexEdPNelrRp#LmvX zCaXIjiM))OuMc%tKEcIc^;!BA(VD|HBnVkxC**T+T0-gF!$}wQ4Z$GLg#duPpz;&# z6G-dB2wUpPY#+6yIjyHVOiDxIca1=FRUUNOO#~_Q_&69O6(nJRhS{v)k&8s%1wyae4!vVIX)#PPs9lBAcc>|g=Lql0%Oc-bQXAf? z%}ZV`z zW-piPrsD7-Mjs5zZ=@RFHqZvnsrc1YsBOX9#m^1z-+UXpoqcrRZ4Lbw=Tg_nDx)j& zD#lICGG7Cr7bZtnWc_(yWv)5cgf5WWaU3i|x6&A0(e*+VDvwWhV(%&I!Rm_bQg*LT zxE4J|3Bdow;+XKYTW*7kx<$|4)V{>wU+HHM&*hhioRkPA4+zqZY+FW^PE2C4Jh8{4t8EYVSVugfA-Aq{*jBCMC>bjQXy0 z*g5NKK>x$C@QSpx?%n>?H}>r{M%MgD*h#X;w_3r4C(WVn|F$U?vHo;uI<)TSzjYZZ z7I{SD0nL^Fnw+E&`dqV2*>vN_SpF4Nono_!fjFKQk%M zK{cyN<-`}7DSUF}h$V*+XKbpQo8iJqm;A*p9{4AaI$d;Q6iX44>f0V}#!JA&0%Y|W zt~K)TZ~#EVIz$&&LgDFr*dnugZ}MUyip~LZ)f#4GeCAHJS~AE|=lS$nX9MdbJ&{B@ z4eX^k`OGs+o!`ZD9kmsp3V&KRn)YFh5GTlJYoR270m%%kgwCs55r0hw5jY2yduIsB z)f0t%8-(1mtn3zG_x#+>mK3l&En*$RiECb`EU62unR%KP=C3bOU84Nlm*R2pNwd3% zMQVRR)}_?xOiNT8mq9%nA+NvK7NrZfIA*eGJFM5JrT4jR;#!RS?$oinFu~K_$r)jv zBCMlK=gW<52^9z?*lU&+c_>A@0niYxyYbbBupV++7-x3$lWVBWaxRS)>}TO(g7|ks z!_3@fd#74;7>aq=zHf(;r!^0&=9%POIn$hd%3ONPeJn4)6FVxH6px!_hIlt!-l`4l zH{N?l`I~;IdJ*4&UhQ!uiGulwMg=yC$(p=(Ib`$~>TJtRd@bUOBx0uEBJB6C{;q zUX!I6IM{R?e40G$-J}SRa6eYU_zo!?3Sp~{=ci3}qitqxoA`F&J=`v$O~wVwcG^D* zukIA>P#SDx#jWG8{I@tTX*4C=N0U4q46LR5@9#u?ieUHD2(4isj7g9g0V2IX z!=>^t*mEHXsfV6uWhgbu40uMvJq_{z2AAORV}okh(AKh7hgA$F$&pJ#h0+_+#BbK; z7mFkt_(zEYB>1ec%y;?SkJ>fO%S+ntI^b(=VJj*F3})o|$i&09@g)pNx8c8h52})} zcgz*8N1N7?CPOWP(Rn^;o1epZ$??ezd0}NNvHb~)5*bi~SfC()a3f0M<*)Zq=YYD+ z_Jz(LVy{n*pNv~%tTkw@l^#BHPOZ`jhx}C|!(tMso`Fi^PnbM8$NR(eo=+R>1`+`Z z0?LN`EfasICViIOxZ>*xpWS8JJ6hy=HK#ao$>*IreD}vOgapY_sMDuRPyg4Ai$o7M zus(Mb>FiJA60-QM`5u%pJ{R9f=&O6o3;MU1Bpr0SN#Kh})U|*RC(%}g02dTN@LwZ= zux8>WQc40l#{mX6cqchVpk4vY$;Dbi#Z*_KbIN=yC)L1t3EYj2d8#CMRUHdSx(B_V1HG(`#hQd=DZTi?zQXiwCiTQmVu)#A@9I{ z^!}mYhauAO?l+xEbx>0IMaoK7pvRzB+o~7t2%yDq8$yzi~N?lE}W7NEyi(hT$$Xj>QVkDr{Ltd?%EkvC~_&zU{X zOFRyin~^6jbWZoS;YXjFiCs_OD(Y_#)Z_bqDf>8M!!;{SI>La&j~6jCj|**D|GxRn3)UM@oDFJv z_+Ax@Ig$~e`VMN_-(O^}q`Khl0+6r6Y)MzI9v# zXv^x54%uC^Vk6?a>V(FJi`vbnnh*bzyorX`*vtF|Ya#vK6Q~(m(G%4(2-byM%FEV} ziWD49JjLZ!gaT@u${p%oAYw}pZ%oKgpngdZo$8Q#5zcDh))(ncu8FA5+%kECpdy5z zdJwPzYvqrH6G;q&x`I+E7L|`3xgP0Wkw?0gCR~v_APFN77P$Bpyx#SF?OFpqwGf}w zq1~k0l*YnEr)~e20Y1GEUD9EHn3PquqRV$uU_<1ft9*xUI1)s>7rc@w_}u=Pw$=OP z$k@O74uyrDp65#@B%XgXy&@G&vVjhMn(kf9Rg_Bj5ek2tWC4diPWUlKNRaG%Nf^U- z#3!96sk~z|F2dOCQL8_sRb?(8?2O2r?}h75t;uhW>w71`Hwx_zN;^fd4mo=)a9``o zILm9R4DT>DWkGeOTNx7>min6U*%heFxUyOGHQmp1~X7%vzy!G#l*{701WhCSz zgwbT;kEaBYwtXgKdxu&S3FasJqcoFjE{8tCq0tr~yWs}41v-n^(7z{3W>}+K(fMtH zf7ml>v~)k~v7Ic}N^ZWS(WgBZ@Uto=R8s2uW&1M=I_rTAi<9bZ4W3&EINOA+@URuh z=DyJ__MI@dg9=zZ1?cO74+wbPwbj)}1u?*E?bm?B!$Ri_Xs*Hw(qG(hdGKeVt9|Zx zP%zaYQ zpOoY$hCk|FYC9>zH793TmwS=FU2(p?ql_rnTB3@>2S#}x)x#T>s#tRJRzg^}NN6b(bQCW2XZttzK8a!Q_8=U#v{Dwwn!Nj6f#-`8G zv9{L5y49O*e=vv8Hq|HEkJ|Lv|Ij1ur8rjdTgKkZ8VqQ@cs9nB5(QNG8_Ol2WVCUS z8GY~M+K9&`+Pl(ym!xmDV|Jn%w45lmGkOdzVMda7D~ooM8SovIT#y$?BDcVtO zm9iOYawv);X{l4H@`_zA87pyf*&e0_mLc01XMO4`RtFRnpi;Pqc5TzOz)|%I-s4Z% zlqT`|)*Bag%ll5*W+tcRljOm$837X-0;b~1qb}awrw{=G2;oWT{=s*p=W~i@m!>Sr z61F|vXbG$KfJH$<0QK1(m=7#OpSz{=TEz<)Otfh6NM+6kD+_)Q$U{BMs@#uJN}s z^Y)Cw`nDsBBWPP|OCg`w!5y>475Hf6V5wrIQv3@PZhU)x>W2zVB&jK++6qZc5`2Nw-@j4X`ReHsRE5N^ge;#Q>3k6+af|Ma z1D%cRlA=w)Wc#ifnQt9Lr#3%c`%^$QJB@yi#K>eQ>d9KrRH4`?PUhLfaYcHfU{cid z*E!B%{Y47~ld!jAyHrB7=I;Eh9G`;45!C>bcb`rJWZm>?)_X}Uf443aOx}j~wf;u> zc=s=5@hMr4Q(?v=U`+yv=VOacCWDgcL^O8zbZ&NZ3QbuT>g5K~&-B?#pRt?~k`6;m zg*`4vS4<)+j0da~hV{7-NajM(f=R0(>`UPDc5rQ}7wBUasdtB6d=EmTPA+F6F9F`i zyV9r)Js#(nLHpFocq8)Ka-I6SaJOHb+C3asa);f!SI#DE{9D8o)ak^WRCQGHE%>U- zS3o*Jd{)2@jOiX$5=OeHo0^g(j523o37$o!fV4`p);HEHOsX%Vl^z41Sj!N%8tei! z10{#wqw=KPp_$*OG#k;5-RPzmmotUgMav&irOS0@xuypD#@o^^`hvxRv7F=;2~+>b zELuQge72d`cFPV`ufMkmYqs`pp$j-Zd=n~>uD|M{qY@g@T5cITT^E8H7a>uKTeSgP zWB2;!?vIE_H3?Jn^s=Kq?VOORz=ITi)mm1Ofl0k_1QI}E1_B>F-5CV ziC@sZglo(3ct(d}t77*AkJJoj1Njr zh<`5lM@=*DP<5kjyHr`zL&hq>Mg8~6Y*^>c?rE|^eO|L`B(y;nzF@&^3D+z~Ixp8- z77_{nRV?E6s&4IsT)I(d3hI1VcK((7CF`__Za4%>5Kn%StmJD&M?A>D{C0u)iIH~SHbI@+?52u>J%)1A1BEC)=t?%=|f>;t_vYa)v545yO*nrR(2@JP|_{9 z!YKv7%lw%MW^NKq0S4>hCRL^q$t`z1*y#ir64I+wiY};8G*rm5h^D&e_Wg;z+-g^N zci>g7c(S5YT(|}5l7v?8CIR3SNWky@7?Sx+GxJHJ-`Pa5Zke`~ zNI=*<0hZNlgc-vW$ax())2RveMZtd9k*ZJ)F;z`W>H067J|v~5>B#x)uw^^s@Me8oB-^1fwbU2(_BGZeroIT(vW#mjM)Bi-A6c8bIFw`WQVYm;M^C3;3Xh1wl|iTxmhj6{nS{ z?0QQuG4&n#rv8mqMoz9XfQLAhDV+=zNP%fpEz9@=!s&VjLaalP{G2PUs{#0g^5lkj ztCh*H03Wah_KcyjF^7jA!+SV^kz{$3Jsnhj_`G)1zayjXN@jdgmc6F6_SC11 zDMqH&I=dmWaa{?EZt}QOdfil%G#NZ_g!69_!zgDM1||x|0@ivjz9~rrG6N>w zUyV;es`b7j%-Cj9Qq__Txij9=@^EI$*|@z=_#@;ijd)?(pS#mDHEv z>zUj=+3Lw)_k@|GZULZ_hMh>tsR&v#F0OxV1I(gvqFH6=esrjr-pgNKD@hRZjBC}c zycg^_St0n&o~%mq{P_D%8_c@3EBaF03{pcw4*vZA-oAbGgC!fEg~hd)dx+*5eCP$&rW5Z zP>zRsL0t-H`9-#8v@(DYJQJVN0B3#-A3zWmKDjoXLuKpIg8P-@$i%y`mcZ{sh%cPY zBzoBXH{E{)%LA3-hbu)+yY!?=N@p>_189Z-jqJ^5IwNC;bjaYMXMH# zUDb`3bN%<9N?lpD)l;KOrYw|oOL(69cs%ed*ytZ)0k95RA0~=coLjVbg~;dD@;YdZ z?xH|Cgi-fv#>arV$WU*T=`A(Isokp2biZ1LltVv539oP+ty{YAEw>Jjk`?a60yTfB z*S#$()F}f#g@NAp7Twuhs^6i}$b-bfn3V`DVY`Ho zG`kIu%>d5>o5z2uJ!{eIl2f<9lA4E0*ZE8qL)zvYI>eJ_Y{By2-)1Cl{i`3YYF14nLQED+9wj=KW-&e6+R(lhlL~wVMIrRZv4BM< zU~;uU>!jI1lM5yY6ERbmI*QY&XZ?m6%nl2Xr!U|Kmvwb0(~b7Kuu7CcXWf5;?l;>{ zUH50L_^-lbiSd9j{+~ve{6z^<09+KHhDv&niPTm zjDgI^qQ4|e6EmQv3-01$uoZaN<)YsTC6dQ(N<9|+E@|rzbz|q)o2w35yyAXsZr1u; zAjcqi1F%(`Nax8g>$P;KEi^jkMq}vKA)s?flYL?(!l?aTbkxIN4SJs>EApL6eG#91 zT*|;Q(}Y?wwX(I4OzUs|1A9j5KmW)UKxG72b$TRTy1u~D$HQPr0|}A0I-wtow~UrE zK*=q*Q9N3XHl~MqB)aG+o)?`=W2?s$1|coJbh>^puE?D=C7t2+*e`3pR_gn!olbnb zsHPPiwVLfJ1my$Ts4RC8R-rPz0WW05o1!S^eTtm#1+<=jqat3&pPbrkDMW#LS}CCc-&RV6cy;1gg8@Hwtdgrc2?s#U|=syjUvi-;tXid{wdSz3CwOJ0BAYL!h*C@ zPB|oN^Oc{=D1=+R+Hatf#EsfJ2dQjd%=+`Cc(NQ&%5M+RA}JB`0eP}{?l5Z-gqTr~ zbu%?iFgZRk{smHRIfJGY&Ze%MC#(Dg4Jr5<;kN)7ZSgO|eafGrA|T{*p`m8IV#%kh z!3tn`dNcus$m#=#<@F6~$x!|)97D_PQ0O;6%UEV9^mP!jH?sRHzH>(bKWT<6dFiLy zxE<~GCU>OSvn97RNO($9?^GP`I58S}Om}6*ojK3i{VQZ&rX*A(rbgpw#TvNQh$0Q8 z=ze6W8POD#A7o>p7*>%go{|sPzb;BI*wtXzMQy7OuwnM-ufYf)pDRJFsw~%z1z(He z9ktL_F%x2UHm}n<TCkV!#ZUsgWPZj#6$$wN2tM!t4*gZmC? zEF9>3S=O-LbhJsMA}zIOP4God$|-l^edN7~I=?9VP?!DCIq3EaUCPqr($4uhm8S)N zFUN4b=c`j|n+7JLE(5JL6@GwyJXSL4B`+^LO#Ic&B^LnR$f7$+NWl2rI@dmNuKJWE z_{7XOqA#S#T}iFK_dU=7&||&{G#1POvU&^NDVgWB;FEYqxpGnls~@9GPjd7WHN5Jtggab!dm&XVrRir+3(&l&dgY#PZfltE59x4swLF;NT5Q1LCH{-LwfQfKbLE^=H+k@VXYM6MKh+ zJeA5CfL<=5f4?ih5tGAhVvT#ug_IlRXNF1^@p6f$3mvT9XavH>PtvnRAYg0m36Gl= z1}2Lor)-IYf@i=+xTvk5)T}T2>r}HL&`jkP)wjJj<7I(Yh-On?RtUcAm`eRK2dMD& zt7AYzXblE5=`n89`Z-_PSW}QFkakM171k);fxL#?IXV6sb`%9RQ6nmkk4hFjLUo~1U#G{|%SZ5(JB3);00#zMGo_^u)#ao?KMwo!WE zr;is*EGtPR+FpG7DRi{d6fg3#c>&-UriSJ!rixo$i+gKT#wYs-mJx`92!W79hLYZE zg|LTEGw1{81>oNdC<6JaWHPwa8JgGaNqkuF0qVA4D9(-gi2T4IO>ql!|jyoSv+)Q4E6_Ng4dwW_*T|y|G+ZEC{$s zwH@3~i#@7x(ofw1(>wCRwNQNtaZ5fxBVVM35wE!ECj#jIB)n*S8u93)@uPI47C>Ju zfeUDeqC5BOt$QpGCYvP*B9e~FBd$s94YwLTP;2e}eqIe|04D%G0RkVk>1q?DKI za!CHnlZ|VbQFq8t~RA!pCI>2CO2gS>z>PgOkV$72G;AIA)of)M{M2uDN!+= zstK%{1p=L0sKod`NFnSh;U($*Y4wF-%Ugy@#wZnuyYMwtUXUp4xl{_!dL#s3t1gf+ z#Z7>;gCI<2)g>|9-pKR>ID=1;FJn=vXiZXliTjiku#57_7b+u@&b1rvcOEawa#(+}EML_6Fb z@fw_WWdEtc@txBV#9bKmk=$oOPU=TXqlX!oIh!=*K!odBN?Uo*n(z9~Cc~Qf4eoVR zW?P?{E6e#l&>6hhl0a$nFD#!QZdhoDqiBjjRJ1pkQ&Zmcej6v9e*^NIflpKgsMlMb z(&kY47v?kUH`xQMQ%wzKAdecx_&DduR!@Kc74!49CQ(fwjbQ(|Q09m&=6b0PXKHhU zOwqIRzTVdu^f00ZQ&HLT;p0d)Cd!jhlTZ|BVOr<>h5HBiSsXB~Vf~K5um=^-w9%K5`64Y<<&L12eUb19e+R= z*BR-siKwru)@q;(HZ{^G{^ny7_Aj7tPw-Qh_6p9FFHrjI?gk%WJoF%UYkZF2W3%62 z&YUGDcs?IICj=OUP9|cv`7Vw!;m!R1&LEGD%OJ#4TRWd@odcY9j_FA;JHEQAK1%at zP+e7HZw0%aLSYPqc)jZs|1(Jb7lZc5q*O|T>r$i;uwg@#^d5pP)IPOL9oH!t-5k1^U_dXNZD!`AJA8+N30}Gp@V`ne5zv)q{&(6Q@xXMo* z(FtaF+`lNz|8cfAT!emE7`LtWKxCkc9<$ z{Hr--g@5B7`j&Fa&yv?h7Ty&tObSp>8=S708SM^|QN0067-q#s7T;z$dS9Q@Dc*jX z!wz=%IR)x~hjp4*uQMOt)IXp_VfKu!g%vq{(W)CTP`pA2!O_x1;s-Udl(SNkpSWs>jWIo=ueUcV+!0FK9Da~ z>^}zHlw7(hrz`cq@$0gjtr44<8)s+Q*G(Omb=;#7vO7x3KoC2Q0*g~f2@F|=jr6Ks z294AIIa?}W;O)%xDxCvjbw^P}o5Ezw-mi~Ti5f-^R@`{fY{Nt+cG815A$zSl2Qcp& zhSn=M@46E_9OOsy=Heoy*sldf&Wd`#iGCD#<`!SWtjdOr1(} z&an3r9a#Xl%F8D+yldt|ZyiY&$*6S%o^OqQ`U zT5!gEol(BDT7UVbt>-7%!TYcO?jcjE-VGORcW~U+$0<$k`jx|K?nklY_`7=Faaa}8 z*V}@Ja~cP|YvN}79b}u%{VG5$Z(O734&^>cNg3}?puBBjdf)!h{2yK1&%2AU1T;kV z(&u&3D&=w`e$3yge@}tuG>;BYk{EWL)J}2J9(a&{Ej?{;>W+&jB*m^Jqj5+peULHl zVR->7_WP;Cdj9bHePRRnIkT#C=$P3xoaQ_CqeP5oLGXU-Sr94D8ju05LjFbReL zi@HHt2XOhed~8>v!Z>>qz{#$cM3Zc@$F7*dGl%)y%23eg(-zFu+^y9+OnWC?-ZiF^ zDCCnYhml+D$!es0O`A$hs0KpuoM2I5D)(h2w@PEDF=Apk4|I0_sf^kNo3qi!#rW<7 z=5v0SF=yLbZBvgqd4;7+Y7I4F?f-M};_z`*h?tZ?n(~IV!MX~@Bh=Sf$ZfM{ZIXh$ zO*>F|8rZO7%T9$L|KauGQp^N{v&3y()QvbXQRn%oZEhvrZ{t3bxexBl%kLfln=h^B z!{^S^!)488V$`mOQKP{c;hgd~O2pdOs!zx!v2clZzL77YH_ z51GL?3!@vlPPV zXsDf zsd;f7Z)WkfPVvTO3&_7mZ)EtkkE&-|ltq250BG@2z-u|24v>QbXH4tgzGEmm=y1lq z*N!-B*A4{@S~J?o*pk|Sa?I&UN^X@gyOv{-&Sdl?R0jYfD?L#2M5Tr?y5*n!!=~nA zCr)gDxxD3+Eu}dBE^bELphAwKGtpVYBzLD$&g(s>>DUO^vvgq9VM94jGGl=d-!!i| z8o3ZLSQ`)#a8R_3rBWScmPB1{Cv$%(-xi=^Hy)k@(01{C;5h2de38Z*O%GM@Nsqq? zKXOo4yyxGM3q5qQ3j<3z_r-yyMUQL_rVTJh^-he`Fqb$fTx<#@Dr~%bqEXAvUiQQF zy$m57Ik)CbX}F;_pRC=nQ3k z(j(eKHykGn z`P>4hCo48zf&4rF`N2cwvE=%Q#*sXE?*$7+ubU6Wru{-Hx|{=lAVu^Ou{I~Z=k>0f zvVGoHow&i+5-M^@s62ifqq>pHd-G}W_s}oDlofXS@O;z)Sih7#soRg6+}dv%4JqA0 zZ){IqsG|p|sABB%f253`^Sq9^x8m|T*;m8o1KfK%WxR35slHAvR$rRcKwnq>gz;yn zEsZI!rXPl=7;|RTHl6E3DefJd2HrDa+z{*2^*M~YpY)qP7S+*IuX|zwYMZw^HdJaV$RmC#s|pY=ubSM(xec?%tdX8bW@c0ez=<4! z-Fb(-e_$wU^hwIwtZn&7UTb-f|Auuve5c0F`F-!e<864Y`gZH|ND2UgEpznC>%dO_ zNjm&cM#Tx5e#rDI^K@r;eFx+wL35 z4_et8Vx{Ef2f6Pg?`qkNKBzyy#JFCy))p1kX2ozd)fg`H0InuN&UgCd?7 z>;&U9a=30lD=m%rkXM`g89qFap2l!n82GWkylh~XMcHMpg?nr!W>;@8I6-Q+y*=B4 z+wX$v$Tg#BD)lSA{u(*&zgiCjGs~avYR4Xs_<8s7FoVafyxxe8WqN*f(ukgy&ENn~ zv4uJ?;b`}A1(nOcUEKcGId1LXl>H<|J=*L(pX>U4rlXT*eX+@S$?e;Ao~{+g1gN1* z9eDi!2Y@~Ab%z`Jhamg7XvwUle97_m@26M~9IZG6u+V+(SjrIa_Y96W2-|oZ|NE^e zf8Y-sIPCvjfRu?jOt7j|kupX@I*|-OrXa4$8V`D_i#ZTH+xGgZbBSWgIu;&1qud^Cdmbp_+;36$z{m{QpT zuBf{qRUGp)rrXAp$5l4lH=rz97YVY<8g}3t%6nHh(;6X#8`l|3XHEs`$v3?HXN#or zQ~j8E6_fpf?-qX;7 zsP^q*S)GgInj?&LdR$-g_?>;qp1#pFFW`T#?zY|~Y2lp|%6mVI)7r7)3pF!c1)Rf* zd(1(=-kTLaGN6KaU&l=JK0zrh{e%fzd3C}$RAk^GMP$G&!Vxt$jCz9>8Q20y@})+d zkl%iCqlk_9cqctbB|bq6yNm7K1K3H(;eB@Bc%KJQ{)We3$Rh5)%%&+!;NXtX{}E`T zfM%-k#s9+b4Y~cLdbDq;wWt~bWDxZJKfr#8_TFa#uVnWtk?+_3clv*G^1lu7zi9X$ s6#Ne!|Cby7ml*%Y3jY5_iMTwz7RYnUp##(<5b!d&dgDrkkxT6V1(PEQUjP6A literal 19586 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�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 SH1HRYb7wA`E-||t`~LuwA|#vu delta 15974 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 g38&8bK9dx#U$$*V!Z diff --git a/test/support/setup_capybara_drivers.rb b/test/support/setup_capybara_drivers.rb index aae56f90..7e3328d7 100644 --- a/test/support/setup_capybara_drivers.rb +++ b/test/support/setup_capybara_drivers.rb @@ -89,3 +89,4 @@ Capybara.save_path = Pathname.new("tmp/capybara").expand_path Capybara.javascript_driver = ENV.fetch("CAPYBARA_DRIVER", :cuprite).to_sym +Capybara.disable_animation = true From 303d4e820b9031d1eafce58494cb213d394420e6 Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Tue, 31 Dec 2024 00:01:43 +0100 Subject: [PATCH 286/312] Disable animations for test --- .../selenium_chrome_headless/index-vips.webp | Bin 19585 -> 19586 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/test/fixtures/app/doc/screenshots/linux/selenium_chrome_headless/index-vips.webp b/test/fixtures/app/doc/screenshots/linux/selenium_chrome_headless/index-vips.webp index 9e83f1c9797ade6ad809ebc7dd050e77e751a2e6..47752ff31c0612d88324e6a81f38f61da18205ce 100644 GIT binary patch literal 19586 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�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 From 4718e9311bb26e6a9c095f5363205886f676c42e Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Tue, 31 Dec 2024 00:09:32 +0100 Subject: [PATCH 287/312] Use separate directories for recorded screenshots. --- .../record_screenshot/record_index/00_index.png | Bin 0 -> 28282 bytes .../record_index_as_webp/00_index-vips.webp | Bin 0 -> 20247 bytes .../record_index_cropped/00_index-cropped.png | Bin 0 -> 3744 bytes .../record_index_with_stability/00_index.png | Bin 0 -> 28282 bytes 4 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 test/fixtures/app/doc/screenshots/macos/cuprite/record_screenshot/record_index/00_index.png create mode 100644 test/fixtures/app/doc/screenshots/macos/cuprite/record_screenshot/record_index_as_webp/00_index-vips.webp create mode 100644 test/fixtures/app/doc/screenshots/macos/cuprite/record_screenshot/record_index_cropped/00_index-cropped.png create mode 100644 test/fixtures/app/doc/screenshots/macos/cuprite/record_screenshot/record_index_with_stability/00_index.png diff --git a/test/fixtures/app/doc/screenshots/macos/cuprite/record_screenshot/record_index/00_index.png b/test/fixtures/app/doc/screenshots/macos/cuprite/record_screenshot/record_index/00_index.png new file mode 100644 index 0000000000000000000000000000000000000000..7d2b9eda3a88392c10805ec6a23e6780ec18ca0b GIT binary patch literal 28282 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 literal 0 HcmV?d00001 diff --git a/test/fixtures/app/doc/screenshots/macos/cuprite/record_screenshot/record_index_as_webp/00_index-vips.webp b/test/fixtures/app/doc/screenshots/macos/cuprite/record_screenshot/record_index_as_webp/00_index-vips.webp new file mode 100644 index 0000000000000000000000000000000000000000..d5da2f3f8c5e72ac58387eb768a41863a56965fe GIT binary patch literal 20247 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 KMNUMnLSTX&c+Y$Q literal 0 HcmV?d00001 diff --git a/test/fixtures/app/doc/screenshots/macos/cuprite/record_screenshot/record_index_with_stability/00_index.png b/test/fixtures/app/doc/screenshots/macos/cuprite/record_screenshot/record_index_with_stability/00_index.png new file mode 100644 index 0000000000000000000000000000000000000000..7d2b9eda3a88392c10805ec6a23e6780ec18ca0b GIT binary patch literal 28282 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 literal 0 HcmV?d00001 From 5db21913f14bf317e67be598e8611d747cd70fa5 Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Tue, 31 Dec 2024 00:09:45 +0100 Subject: [PATCH 288/312] Use separate directories for recorded screenshots. --- test/integration/record_screenshot_test.rb | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/test/integration/record_screenshot_test.rb b/test/integration/record_screenshot_test.rb index 92c7db39..296bc04a 100644 --- a/test/integration/record_screenshot_test.rb +++ b/test/integration/record_screenshot_test.rb @@ -3,6 +3,11 @@ require "system_test_case" class RecordScreenshotTest < SystemTestCase + setup do + screenshot_section class_name.underscore.sub(/(_feature|_system)?_test$/, '') unless @screenshot_section + screenshot_group name[5..] unless @screenshot_group + end + def test_record_index visit "/" From 776ad39c098be96beb3c8fef97dce8ebdc8ab4d4 Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Tue, 31 Dec 2024 00:23:27 +0100 Subject: [PATCH 289/312] Upload new screenshots on test success also. --- .github/workflows/test.yml | 4 ++-- test/integration/test_methods_system_test.rb | 7 +++---- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 5130b4e6..b18eb268 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -130,7 +130,7 @@ jobs: command: bin/rake test matrix-screenshot-driver: - name: Test Capybara & Image Drivers + name: Test Drivers if: > github.ref == 'refs/heads/master' || github.event.inputs || @@ -167,6 +167,6 @@ jobs: SCREENSHOT_DRIVER: ${{ matrix.screenshot-driver }} - uses: ./.github/actions/upload-screenshots - if: failure() + if: always() with: name: screenshots-${{ matrix.capybara-driver }}-${{ matrix.screenshot-driver }} diff --git a/test/integration/test_methods_system_test.rb b/test/integration/test_methods_system_test.rb index f10c1585..5aef8602 100644 --- a/test/integration/test_methods_system_test.rb +++ b/test/integration/test_methods_system_test.rb @@ -1,15 +1,14 @@ # frozen_string_literal: true -require "system_test_case" - # NOTE: For this test we need only chrome browser, # because we can spot problem by counting running chrome driver processes -require "action_pack/version" unless ENV["CAPYBARA_DRIVER"].include?("selenium_chrome") - warn "Regression only for `driven_by :selenium_chrome` construction." return end +warn "Regression test for `driven_by :selenium_chrome` construction." +require "system_test_case" +require "action_pack/version" require "objspace" module Capybara From a3e7358f500832df045cd1d3156320df187e5cb2 Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Tue, 31 Dec 2024 00:34:52 +0100 Subject: [PATCH 290/312] Upload new screenshots on test success also. --- .../linux/cuprite/index-without-img-cropped.png | Bin 0 -> 3322 bytes .../record_screenshot/record_index/00_index.png | Bin 0 -> 27135 bytes .../record_index_as_webp/00_index-vips.webp | Bin 0 -> 19586 bytes .../record_index_cropped/00_index-cropped.png | Bin 0 -> 3322 bytes .../record_index_with_stability/00_index.png | Bin 0 -> 27135 bytes .../record_screenshot/record_index/00_index.png | Bin 0 -> 27135 bytes .../record_index_as_webp/00_index-vips.webp | Bin 0 -> 19586 bytes .../record_index_cropped/00_index-cropped.png | Bin 0 -> 3322 bytes .../record_index_with_stability/00_index.png | Bin 0 -> 27135 bytes .../index-without-img-cropped.png | Bin 0 -> 4676 bytes .../record_screenshot/record_index/00_index.png | Bin 0 -> 27376 bytes .../record_index_as_webp/00_index-vips.webp | Bin 0 -> 20184 bytes .../record_index_cropped/00_index-cropped.png | Bin 0 -> 4676 bytes .../record_index_with_stability/00_index.png | Bin 0 -> 27376 bytes 14 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 test/fixtures/app/doc/screenshots/linux/cuprite/index-without-img-cropped.png create mode 100644 test/fixtures/app/doc/screenshots/linux/cuprite/record_screenshot/record_index/00_index.png create mode 100644 test/fixtures/app/doc/screenshots/linux/cuprite/record_screenshot/record_index_as_webp/00_index-vips.webp create mode 100644 test/fixtures/app/doc/screenshots/linux/cuprite/record_screenshot/record_index_cropped/00_index-cropped.png create mode 100644 test/fixtures/app/doc/screenshots/linux/cuprite/record_screenshot/record_index_with_stability/00_index.png create mode 100644 test/fixtures/app/doc/screenshots/linux/selenium_chrome_headless/record_screenshot/record_index/00_index.png create mode 100644 test/fixtures/app/doc/screenshots/linux/selenium_chrome_headless/record_screenshot/record_index_as_webp/00_index-vips.webp create mode 100644 test/fixtures/app/doc/screenshots/linux/selenium_chrome_headless/record_screenshot/record_index_cropped/00_index-cropped.png create mode 100644 test/fixtures/app/doc/screenshots/linux/selenium_chrome_headless/record_screenshot/record_index_with_stability/00_index.png create mode 100644 test/fixtures/app/doc/screenshots/linux/selenium_headless/index-without-img-cropped.png create mode 100644 test/fixtures/app/doc/screenshots/linux/selenium_headless/record_screenshot/record_index/00_index.png create mode 100644 test/fixtures/app/doc/screenshots/linux/selenium_headless/record_screenshot/record_index_as_webp/00_index-vips.webp create mode 100644 test/fixtures/app/doc/screenshots/linux/selenium_headless/record_screenshot/record_index_cropped/00_index-cropped.png create mode 100644 test/fixtures/app/doc/screenshots/linux/selenium_headless/record_screenshot/record_index_with_stability/00_index.png diff --git a/test/fixtures/app/doc/screenshots/linux/cuprite/index-without-img-cropped.png b/test/fixtures/app/doc/screenshots/linux/cuprite/index-without-img-cropped.png new file mode 100644 index 0000000000000000000000000000000000000000..9c46ede0687ad17ce28208bc2932f7dc438151aa GIT binary patch literal 3322 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 Eg6wSv=l}o! literal 0 HcmV?d00001 diff --git a/test/fixtures/app/doc/screenshots/linux/cuprite/record_screenshot/record_index/00_index.png b/test/fixtures/app/doc/screenshots/linux/cuprite/record_screenshot/record_index/00_index.png new file mode 100644 index 0000000000000000000000000000000000000000..95de9dd97fdb96c254cb0a6e7c73769c0cd2d661 GIT binary patch literal 27135 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 literal 0 HcmV?d00001 diff --git a/test/fixtures/app/doc/screenshots/linux/cuprite/record_screenshot/record_index_as_webp/00_index-vips.webp b/test/fixtures/app/doc/screenshots/linux/cuprite/record_screenshot/record_index_as_webp/00_index-vips.webp new file mode 100644 index 0000000000000000000000000000000000000000..47752ff31c0612d88324e6a81f38f61da18205ce GIT binary patch literal 19586 zcmeIaXIN8N_dXnoXb^-4WJZb<38Fy-ks<=2s1OjOB~(Qb6bVg1fzU<785KxCRBCjn z2_+~bh;$gG2t)}1O{hZv0YeKR1W0%fGxNLt<$XWDpB}C&t6S|*E;;} zc-dM~TtOTJ0!iAyFF1ohBB~&eu=_qSU?e9Z=??G)z619N2Z8p>?!JUTIeCYG!P=Yd zHn(hSprC!gA7UUGArX)eaJ2hU5Zd$iyDM<4`0uedaD43FbA*9oS>gY6e!yeVzt6t~ zjPL%yf!FSJ{^uRI70h0cC@`XK8sYhZ~E3oKeBrpTeJf(lA25 zddh=-)ustyN7i`6uoLxp1~ESm|4ZydqW$j>KbIthcSU+Wp11d>=~yZG-RO4C9K@AC z27I4fI&l0@_7%u&h`Db6MH6%BD3JQyz56hkn{micx4t_sMosCao+#Yj4M!T16UU*+ zh~%k^vkStDfjQp`o7Ub0=9@SyB?L_Pht=*veE5$!FcKmv4a`^Ze;YP3Obpst+Zl|X zHWc6@Hqv*HTO($hW{kE3UMPJ`&=QcaaAqfZW6KOU>1+IkZ^BS~)E1>**^K>tr;a~0 z&QqZah&u@#?AUeQuPsJO_1;z3;joaZyHkDxt^~G_YJX@yZuFlR4SmG zg;KUTM3VmwKbO_vwzD-E6Mn7JP*BYu-x*H$A{b8K;V03HTzV*<(!mMKk3E%MKRa78 z8^7GyJO*1HzNS#celW)=$n)l|^l8^c?o6nVmtyAG9oX5z*_OdEZo3V=9dEhSfFK@qT(7Ac~?>W&J(cgG<4fs%Zg=0RqY#Eh&bjH9&^adtIc zjBR8%+~prXA1cu9ASDQ%E(Lo%UOFV)d5ymj9mCc%pfeH#_8r*a9qK|l8Ml!dNxru6 zurnnF4zl^u&8xrcT@KRatq|*0(gii^V=BDN^>2ErCcLH5LrLaI7Z)`x)U7Q$%{Jzv z&aS7cC@P1>^6OH@vtx)`6fWeRUHrBpt3EwGeBHP-UCvTDZt>Fjji{}y79CNH+L~R5 z^`d&quON{7S;It#j-O+JtyR)_u~o3VnENmnOj70+cb}T=zx9amNr_KNRcM&kLy+4DiT7>-=+99ldx4qAyDF@ z{d+Juwppl79gVrdngAR5Z~m|IA4HYFrr(xWBY(inyN&RwMJNm=gS}e+Vcl#yR4^@l zDxSI2)MUCEz7&uiH{Y$6TqK-v+}(_qn=au}Eh7&7RG}Fna4*X4EWEm#;&(pJvFHix(Cx&d^xlK{58dP>qU(OH`N~haxP@Ji>ndjM|VqdD2bZxVsDO(xIs0*N9rkgnc*(> z-S@-!+ly;Sz-*UKM+?$Z<}W3sg8*pbo-<4=ipES}Eh3?+Ux@Ad}1qGT?o4Tkv$aa2sxWZuW62Hl{mH z!+r31wTJ$#h(RusG&>{rD%QY4!#e3giPv<4OoVfAx354jL2L>>>-?YY!D@s(^fzWB z;+hOhrg~su<VoTvGT|T$QHdEjde}Y^kj72>id~ zgE9iFjRtnAm27n{9>;xtdu0z^9Il_NnF#Uo+jOan%DSE*t%EQtd7y@~r*ul6o9UYb z%hxDBf7ve#-;@3(AXecQ!i~(=8Mao@#=xGYcQfMGM_C;Svz_!axOj5YN@l21nsvfT z-}yt`P!I578m2(pR^Vk~NEAR4frV6W(N|-xpr>LiU;NKXLV_T%MQ=X1;t0?V*-IAc zJCuYHmFbn0UvK#oiA|#mhIOwy=tJH>T#Cb*t{6X1rKO5uMbnbgMIT9Qvb~ecEzR|F zOT{y{@C0kIO?)+C+#0G(@^q`hQHE`=&dtIvs;AD7=7%<1D1d7`ju)Ko7zeB3TbVKJ z{5jsCO+?A;QPA``eSSsBHKZJ5$Fv~Nux*wLZ1a9#`Q(4j!sXs5d^z*Q0TZ=jEx5Ol zuqA5}2D#@qk>9x&X}wB6k=Upw`rGu)m_YD|D0Y6htRS_~Z3~O2?lRSop7sQ*IP@)P za^3lA$ojJRi<~3~6XFL6Dw@YOS)-t?(dN1wtvAOkj#{@{_g5m{62|@ZDN@I?TCtd{ z9WhSb|5_v_T-u{x?0Ki>O{mC@L~|$GB9ibQu+sPEM1qL?t6{c8zyEA}@cR&!WJX(D ziJQi;!FM0P3UV;$J|?>Iau#K_S;l0wsouN)QWqR!vjZ==MDy7@$_nw(-E-#P4l%x5U91T-Vua1H3n>a7^X_082)0XeSsz9YynYI zr==&SS;IEA{Bzfk7yV4Gy)*1|bh6o({W#6%`^c~Usf%C@Qo!|-3Avz*Ps?AdGL}y5%mI{Ni2UfEi zU(UJX9U&)*HnDg_fF8wH*b1tc9g)={Yd5xaDO4URP85yrZs&7GSq~yP3Bbka$jY=Vi_I{XXytO} zJ44r2zj{c)+xu772%LT2g*zk6Q+`x`gLyrGz z+)@P;ZVBImF}c-)Y_}%J)R*R6`h&k71KCX~U7pRom> z*mf&~fLr*k!MN#$K#@=M&yWY@3X6eK&sSoNym#4X^C-`y8fH)q^V@WSN`OV=e{);< zRDEITX-&zRXO1DYS{LMSUtMI~qh@oM0u_^UUX5?J;spCGn;|@427z#g*YJJak+Y}O zRILk!PwQ1s43#VJ9$=O47n>rSflpef^HsoVat5fE98Wo|1kF|nm%fxH*e%7wrM)axck+^VIdVvIlWh`O8?sMP-+-hg`qs6u3Q5AJ1N{X_UWS`3lKDMrr|^0;*o` z{Rl(f4{;$ngS*-Msm>JcD$lOTb^{*OeV;JwOQvpCw84CiOcIhh9cdo(F?hT?Y3{}t zr3v8g`+p@Q4$j1b_tTQEQi-dP!d7Dr@NWNMR4UQXb6D;sC@6Zr^vFkhJE;J z`KFUgCaQB)G+E-u<0i`zT;&)xX8Pm%$Fs_%q=Y>nD!blcEF$$wkPRqo8gaEMggdC!_O<_PB?Z_jC>#hA=Oo zxCq&NEVKmNJPDrWX;JRFK>&O_5HGg28I1OhJ4H(@Q0FUWryv_%YbG-b_5exM`{75z zaIrbO9|Vq|T!=og>Is#UZyio~Aitq0&1}jULg4z$n+*@s9kxdC^;KOEm zwYJY6>l1JgKrc0o%;b_|$(;A9{iT5JrfKDHW<1+?HG9N= zPpZ$kp*3%(R0@MWxcH(&qCA5pL z`HE?%0YOT^mBS&o5f0sVDC}xvR!%Zbb2ck`t&CZ4%YI#3GCfh@T26 zhyP9;4^Z=UTUB0g_}`k!Z%F3;dU@|Q_$aS=8fCX=`aqpp6_yZSMRB6OU9I;VGUU2Y zJ5ciD;vQf}{BMKM>m4$UDuVg%Pp*-m?kBbL7N!ANBk@tV2%I2_SMvK(&?)-N~#nMZuR2`80un$XmKO16+3SOJxU65fbRwN( z245^Lxz;BTY)YHVcbPJkK%ncBBcP17C}C??Y>)3cwJYr}BN;t_t;(rAi^9R=IAvZbAv)#Z4B2*Od3uR#n-Exs|7>V>4JL5NGrt3wH zbXSgw9!4#lmrug%$S$s@bPrbgoq~jd8f8zY1D2F#qOrP&>c*fuTub zI-qh;zwFPL)tA)5+2AgmY{@-tFF)ZwfeQ~rkBO!yW9AuAA z+lgB1_a#Vxh4Gd}Zt9c85pD?~-uKJ!j-*K+SSBcA0{hyj{6?`t#ui~ZSr#Uf2h~G< zgtQ#zo@=0ZJi570p8e(dmhD*u*V&xV9Cx{#5#Rp305v;>5bACznB?}cZDAMmcT6cFSpeY z^}B<6z}LCI@G-RS#R9)8sIdJ?Ao=0uiRVnd=z|gKcE?9gJiE2B(nQlnd|8URKQ(mu zP2kI zesLA>;e>^k2_E{j} ztQI#vPrC(^41CqE&kqIc?ZlO1iHM7;4_76Agfr2?HYeS3p%;bWNOKt-=RIA%NpQk3 z04%!nDjEwOL<@h`!B7wcgdVV;ZiNPlz5cS|Ve#$e?RHhTL}!<}TgF)J%?n|d^>L-` zPLoq^J5R42PRqZxIj5E!`y(_VYM(0Lp)t|@-Q!>lbT5BK;NoO+U%f@U<&2s?S$z1! zwuu?8AZz%Yt(!2MaQ+{#FDg+hw!~CBU0N6-xYKs9)fh*|2An^pKt1bWPCQa_oEPg& z+2RF>v1p&MI@q?@s?2Jvw2Pwr%sHeHUQ#F!ia6PjOMz5C&Q8a>ytM&+7d*lRZMBfc zVeE38yf9o4zm}OU)uc+2_h}{)^pXF;=MS*+JK|NT6HcE&v)rNQM78apo$ns|2w(R6 zlMJBf2(dx%0r_v5m?BHeoeYZz`=_>`GC-SpmFVAWi~C27;f;Y7K_Fl}J>4|l*+s4amae@;*F(9&N;fJ9|{5kP*6 zD6whM2N&dN6w2B1LXw5$1+iI@Ekaq=Qn!qP)p1T`8W9zG&MXs4R?lgRYy)f9P%6bg z!j3y%kRK}HuH~bV?6(YL*>T0uSXf%!&US9f^2!treYY%rdnQycBW zN*BLq06XqszlJQv%T>!%ubNoL2XgX8c3x4Yn`LWvLnEN{iA#eeWoQ$`3Zmo>la8Vs`Q^9 z3fjqdc`Nk?RrUFtyZ+%5!?J*iKH>cO)}44$~;-;gmp zlW0_Dc`50leJ}y}4iJXd<-ZJ@!yXhH==5UmV25=#hSO%s`OtBnyB z38;Y5^@>lNW~sQF?p9}KXAGz7c2k8}F^s}<&9e{?BHfy0;GLB={pECS+FEK&z$N)- zv**BI@M-Wbv|pX&((-Wj{DPdvPegMOmw;53)^$DpM_U)SFSjMI$HkjiouQm1`ZW0& z!hAp^LweN|w=p(ZmU>Xu`CX2ie$H?cGje7VkMawcpa+<~`D>0>07x6(YnV-DtC}6Y zg3B9GvFy(sfjmj@?RxEhS%t+t;R~iiC`a0}{8_NH{ChX^Lz`!3CJTk(fBTsGpmSsP zKo(aPQs7Oe`l6*UYxjzdo8X85Tpy|ThP_N#Qo`T%8)mD;#;&fY1^Mme2IajfSrbh+ zIT~B!Wco&9xZg=llUrch>-ZH=pht$kpJGuv8wDa}+nubhv(0+@)u_YcyK;X_{EzgM z;m3X8x@LoIpj`4d=>a*pl%f*SOj6cl z@|ZrOcS+G7F!gE)tVF9V+)0B2B`YiM|^X}UAOFGvq#zYCMgsw~j*frm#WVVz56rXm* z1Kn@L2}~0B_a;lY(xbqz;rdrBW^p$0YJ7ZmkkmSG%98p zqvKd^f75ymaY&iho0}qj-hgvSx-6@lfNoS6&`L(Q#0Yn-&OAaB1(&Cb*T>6fWP*Z= z;^Cw4!GUIg?JTNsGYHm?{)nxDU5iOanAupmRt{zjqtN4Th*OWWrPQXbW}4j|=MK&? za&a5^>qDC9bakq9#;~lVj4kvTlO1ru;Tl}w+iqb1VA8?IUI|4jpNXOXoOFB5$?r7| z_EZ!jinR+R{a9HvjbMYe+hJHpxz*vNSBHqoYw8RN{wufIl z?-Ua&5%XK)S+9@K;jT~utrm5&eER67=U;{vM`-ERC6m5W{A)_>or)@3tjW_zjP;DQ zFdXLM@=oT8jCq*kKQ`rDZif^>LnS?opf1FL-h6dx{s8l;;?^`@T=nzkbyo+te(~_9 zgwLJQ2TE|4q%OXApI;fF&+v&w>sL;XWzL&*bD*jk`-;(~++4QI*;`wWV_8Ak>Ef#R z2)`Z#OWS!ozl3eq5Z!s^nn`(lg&AzW>Tcaca#FpmXwxD^9A4sMPl>tFoCK&oyEM96 z^&B+=>Nt363am8u7M>Zod4iy@D%E@r7PweNuu4mQN&lfuERA-`RdPLq$9v+Hif~7$ z*{iYW@b;V#WVss+rbeoX7Pf6RRy!u7K`a)|eC-r-zo_0MPNBnFg$igb*1xlnvQpRx z)3NQ}Q+*Orf7WBYpCVw+ayFpuRx>r#H?N~jQJQPXsp8Vv%1FLE?`N1}*L4^br;ACr z^-Y7X=zoblL&x76WG83OD|T}sKP7TyE)#QS!TMn50BOoWyyq!H3*T?>JIaSvn>@k{ zmx}+uCa$cPwtN{|YaS06Kl1^m6e_>7=*aKVm%+?O-)EANF>l0m`LNxsv@}(f@6ts0 zdAj8EyKvy+)&R9p2CIONf{&o>9BuCZQF2}55Ksz8#Liove3{#tacfmk z?rR6RzwkVPYW+(k+CiMT^Ch0E$d(Q*FnXlr^bMc}@igZYGFNN{PWeP-i`$HiN6kDv zzX2zyw@r%Oq_#8H$)#py2on?m32SKtPev*GL3;r$b{Fp@7G3agm&kUjG`o7+ z>8W|M=;80WjoC?Acbuu!&eL$Dx^?BLEURV21sU^q=a47UbBn`e@2q}Lew>^tG11BH z+tIxWZBjii)g4R0tc5Y(8bD%0n(u|?^tzDnAfO_ooPI^~!O_pNB}q<_Q+Q_yMTyHI z@JGMJ9?eQaz;s#j<8hP(V^Pc-UhJkfRGl{>?FrM}uic?n#k;&%GsAnC5(7l0U-~6g z0~Rm8?hT~LWQweuq=a-~8iOWX=zT~`VgX3-_rZ?+alJ2zC8dOBZPpSgbak01Zj z3vf2KU%$zU^{Sv6tBL_(Y~k&;&6>3IH(z6w&1LikbPDiD@F9E>b4f3K_#i=$9YMO@_qX@o9*g z5Ep{;SNLymiWSEPAP`BGlKoV8fsXT56eOw$Z9>bWYnUbsi(jEdc~h&yntU#n^Qxvu z{_x5oeZ5zdQdf<{q7MKeQC(T*CiswFc2+0RUiRmV$(~4=zVD)u-GVEQ2;{OOd()F& zcFyvTtGptXWX)fScO&T0*#An}x<6DDJ~|xj05ochU8k)`bcydxqp_bN89;6i*76WG zM5ZREd{0TL=@ZDvIOmt;ce)&ho8tkNdzGf*oH~ccFyXJe@5`cezfckr++7W|F2~&_ zJG<`50~Cw<<)WC*8Cq)cQ@ajAkCj5txY0OV$2hxm6Z^$U>-sdw<4$&yTdvd$ulg^f z!dElBz;l$)OU0!M)3O;dmj7xh_K$6mN7__{)XT4%u6zzXYzbc%?mqPceNqV0bQmno zixs{gHkJJgQc=7gDpw=MO2#PR4>4m11K4WpC+;q%5C^ouGn6y5<7(=Yh3jK*KpCi5 zF}WuZb2s+((4hjZEDTUlzm?4)jhw-FzR8#oF=$Y?>GS7>1GG%EJ3hdRR0@xGvHxhh z+_i)UqWNynEYih_UlcYkaV=Ie1w=mH#^3!Bjk`6*=nJ~`TIDxx*0dvZQ30c#Z=h{H zPT=fd9rw?3GvQzrd>*6~(p6+(I_@QxA%4EzyZuup8~F};&%{Vd(V_QROc0C%wSZV? zsNLA7Kvl&~tfcYu%5!dTx*F%Pl;Mz>8g{c@UaopVsZUe0F|{Sk4D8H{Gg|dJ(|3X^ z@h{n!AbO{YCM7?th|LOc$Hz9Z{Krj`F`}4x5gTcnMEG^Qy>Pjaaryb13a-L{M9Kop zE+Y|3u=pFif}8c{r~G z7M-4RB4<7z>)iJPtckx~6ktkys~fE419`YwGum&~_^nm@pz=2BG;q<)92#&RX!yC78pqh|oM~n{g z9);`J-Yi__l%+}qK5R1~-i!>Kt`e>FBxz9sKc4zKXq8{TX`bJ952(2*XNg<4TPb{@ z?qEBWmiWbW5-x91neC$K^dg;v+3n=tMIV>WTD&Q-E`DR|19@=4>vO%hC5y_DnjZ1o4s>^D8jscLXY)Sz=Sx}b1!R%?dXKV2%wCfuhSFSf1dZD-*LD8{&wj~l@yuL>76EZ{)n zR$@#(!2VzLW83bF3BU&f^iO9`tU?xQvx{HZE~HAB_ad97P$jD}KxB zIdA{A=Q<4cS=`-7<}9JD!2n_>-P7ckRcV(%fL<&y)wocEZhY~@egZySxM?we`t$NF z-l(T17ms#9@5$e-o09bIG;34BRcLIdT{{j7VS#YF==I)F3Z9lDlcnQCtwyO}MAHp_ zHr?N+mYtThj7`jdVd;lWy5z0Ur=7}4?*k5B|7{mpXdOIKxXC^;idtD^sLMs^Y-Safoy4jHH#8*b2 zq}2GvjFr=ftDbwF=K-?tE+(MPw|Tl6xZq@tIe&+10EO|?A4pyo)-eO`4n!g7oKQEK zRDZoH6ZS+DQ*i?6QYCX4C>~yHR^Lj6Bq9>KBTL#$)yl>$fx6H%QE!(9XOHe$LNbOf z3%Rt|d~>^j)#tF?FKw=zy%gk~D|PgJ5k1q^*1q2MHGujtwm{W!W-E-@97f?pj+L7_ zI_vMUic?DFi}HRBdnds{@)$Qzw{JA;ol>Zvs$|W?;Ui?Xh$zt;o{EqMdR4M8qK^qW ze&)E=40Sd2*+G9gtZIqmwQx z%fiA~2sfZ#CvqsG1$;95s6oYLeMzbFA{*8%MhJ5mbKN~!v~<1VQZ>`gYN5$3fQjGQ zL>l~RClVv<1axBXw2&Ba8D5&wdB+@qU?hQ4GANdcCbm0rp6oK%U+KT;$UQ;)N-#1` zmw)C@a8d^7tRwt3e8>95>?p4o7os9CHXBmj8q7S8gwP(M{;E=bn$w^41*?kH$!wt- zW@M3dKWZr|&TNaOuf1Z@!G@$Ic#=cEgL%*WGx>q_Ek%}a{XaDC`CY@TB>-Jtcn`E0 zuJUG->^qqg1huA;8^|R98{2J=wy5mCrtv76o)lnRfU;Sn{f8JG-Mhoa38D2n~*O+9t- zb4)rU8B)ZI3A|V_FM`kiO7+c%$Jo8K-Dk5=CbovK7|1I)?(XrSF6WD^DoQGYKCIq$ zbhsb8b08bGKGHZ|6mgNloe3w|5%a$Qy@|UD6yzc6r{Jo{q6GPj4sp&#etQ9;+d@DLPaH>H*Jvw1yVz_!uRmX8ShAM!?v!em@z3$Y+n1vj$T<@A*elY7i__}7C67V7(#v!y747>(W{BCw*n%+c>r znMBpDuwnXe2`H~?lzC$iDl$h0qzlBYSbH;CWKB?WBhy*sFVa148LB~WpY;iIjf7+P zXeK8QNAWx7RuV!RXqvOIk&W8ampPX*->C;df^2l6V(~YyKt8PA%)hPynl zS+b5cfW{U*R=+eibg;rM-}XJ6Qvy&-WV|)dBjhM!f)aNnXyX6yn|JNEhj%YgQXcU_ zF$8Oc@8fID3FjCtehTJcet`Jjn>IVYWZpw*|^;^!D&Jc_#yZ)_$zo+S2=D(OKYD+eq0=pS$QyvGnX~*&^gq>Z8GA3aF zB`qw#akA`0E+6=p{p@JAlw6zM`Ho{95)3#7!#RZp$L&DfSPk?U4Jfrx=GZ_TP{=gT zXmz4i4MY_bDtry}L~>G#GBOs5=uQn){yDC~)^R|4C(F`11~4nXc?49&Lp<`wo@_&m z+f>xadN2E_x$p3e-L{U>1PHEMkFY&M5Iwo1nbC@sBk9U%Sx0zKVvxt3h5qFj&d1B< zE(Bb_NshI^*5H107lIU6C;&upYADjw^GiSxW*p^4T|6-xihp16>2+RS30&CNqP z8%T)`bvxPr0L#_beyNax#Qcun6t-J?JAmY)?f!0lGd*?CJmv65GhM|z|5oqMgRVc| z8h;Sfcnt=JDri-!k@nP{gOy4hKphT)b;Q1QHqISJgB9=<5)Ek%BKGaJuv~LzMfC$N zRj_sc^V+tA!`TtYOJc*TZD5(2>nkLl^M@L9Y!4iU3xqr~IYUe_F%7jM+QO@_>{UiN z)>Q5dAka+~zF6;z;Q_?~;2DLHsqLFlvvTPYf1de9F*oy3Z&Cs81LO;LNEEXPapau} zP?~Q)4|CZHFS5iIwqJrO0u1ChKC#Fj0(3B))SA^Sg2WD5Jp!NNExxh#9XsajRE@Sj1KRzE%<90M%C+Po?U}=r z-V&c+lQV&q4&l*2$rF?jFaI~$SNzYd)&l%x`RdXhtd5ghy2+3#?BS-#3?Bi7mNCob zFIe`L#!rtQu((-&BLnXS+?foJt1E+#1XwzNy4hFGaGi1`TszQZ9iPYG?3;2PWzqK+wcBuh2b72Qi%C`n`gR~2eI^!Y)0V^7wb+V$ z5Z_&|g^}Gp&t=E+y&dAKr%3Y<7U^pi zjT|@b&R@ITaMd)&)U2L7Y7m)5fAmQp6*g;S+H@lGL7*=ToK|8j!-86Y>j*W_7&r_Z>O#Lb!u9HOF-b8?7{u z4<$8Ci5p4nQ!UkGZT8<%bTDgaiX&YeRUW5`gmI%vgDX<$V|_~qJU~;u`_J#iFdjFs zme>DUG9ESnx&-omrk5myk{(WZv6!FY8Tn$EO#WPA{8m}t>c;@%F|(i=;hsKn-P?hq zFDnyAMgkj#Uk>zi$19%Pi^+Uw;Bi=6_|LBqUS5n4>q!6cgiw$Xuw6rp`7o8waW2&< zpm)$jpeEb#;R2|>4jfkt3)oxts|xx$NM5D3IK4KvL6JJV&Zw)4zG9L%LQRHwhI);w zCFUtTWAxl6=J&}ognv7#wGjNmXK}x3sdaG7{o-J6uV#Qa?b=xM5Am*UK|fCpvn32S z&K65d{*C0spqmC6hPcU~yTrRvN6GBN!dqo&8vxY@s;)V1hP=Z@z+0p ziW6cka>%5=n=u=6K8RryW88kt6)hMGYET4v>JN{gwhFTh=v$WqH@#try~2N@a(|8o z`M>?EcA$%I|09ylsicv0>81>8rd|sJy1N8VfQNbfY(|@WG}p4oZ|kWMT;li{4m3nX zrFOKB6LItYNY&->ote6-x>1`=?W4imiH)D^?-h4U3M5SBy>h9YO;a_g`$G@g(dqM^ zj8{RVhg)YpjViM4G|O(z-!5nUJX|});Ev7$PD{~kbQ_}k&AvX|*Rr<$HH4v5NurTB z20f8Wc1sDHm4>>KK~p_?cY^Bpf$YSv+4rpA;NC@FJ^oKx-&|xB`Rn@Rm$TZt#(<-I zgaUp9B7%efj`M#!tOUS6Ot6w}tdzC|1kO`SBcL0v_ejl*i-B6F!K%xcZ3fVHXCfr3 zoROdi0=?8sY(2jkDgv5V6_t*H3xYwQD`V$HF}cB!eA|YwX`#-ZTMhACHI|jpijV*FIflxR0ZT zmze2ZEIO@wZHYrJ@Qo#1HO@|0?)S;92qEzSzYPo@u%dD`V>($goR8yEqf-(78yOD` zyhnp#9vcUT>jq4HwNeZ|T${@l?==--u0V&n4nHnN!O`_7Ya+t*T6TPA-}e|+gmGR4Idv}bQy8e8WQHoAYC@ki z$}jlveaI??HS|%S*e3GN?3Ybdsckzwah>zDsgIqD%A|6|LNZAorD)t4{8b_BoTSFn z^nB&uI$A3F&>`Wjs9$t$g_0|2spQBP2h$idQmO&-iCW?_x}f_n&pIhh>YeZ}VVg%1 z|F�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 Eg6wSv=l}o! literal 0 HcmV?d00001 diff --git a/test/fixtures/app/doc/screenshots/linux/cuprite/record_screenshot/record_index_with_stability/00_index.png b/test/fixtures/app/doc/screenshots/linux/cuprite/record_screenshot/record_index_with_stability/00_index.png new file mode 100644 index 0000000000000000000000000000000000000000..95de9dd97fdb96c254cb0a6e7c73769c0cd2d661 GIT binary patch literal 27135 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 literal 0 HcmV?d00001 diff --git a/test/fixtures/app/doc/screenshots/linux/selenium_chrome_headless/record_screenshot/record_index/00_index.png b/test/fixtures/app/doc/screenshots/linux/selenium_chrome_headless/record_screenshot/record_index/00_index.png new file mode 100644 index 0000000000000000000000000000000000000000..95de9dd97fdb96c254cb0a6e7c73769c0cd2d661 GIT binary patch literal 27135 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 literal 0 HcmV?d00001 diff --git a/test/fixtures/app/doc/screenshots/linux/selenium_chrome_headless/record_screenshot/record_index_as_webp/00_index-vips.webp b/test/fixtures/app/doc/screenshots/linux/selenium_chrome_headless/record_screenshot/record_index_as_webp/00_index-vips.webp new file mode 100644 index 0000000000000000000000000000000000000000..47752ff31c0612d88324e6a81f38f61da18205ce GIT binary patch literal 19586 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�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 Eg6wSv=l}o! literal 0 HcmV?d00001 diff --git a/test/fixtures/app/doc/screenshots/linux/selenium_chrome_headless/record_screenshot/record_index_with_stability/00_index.png b/test/fixtures/app/doc/screenshots/linux/selenium_chrome_headless/record_screenshot/record_index_with_stability/00_index.png new file mode 100644 index 0000000000000000000000000000000000000000..95de9dd97fdb96c254cb0a6e7c73769c0cd2d661 GIT binary patch literal 27135 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 literal 0 HcmV?d00001 diff --git a/test/fixtures/app/doc/screenshots/linux/selenium_headless/index-without-img-cropped.png b/test/fixtures/app/doc/screenshots/linux/selenium_headless/index-without-img-cropped.png new file mode 100644 index 0000000000000000000000000000000000000000..9ff279ec0e41761d6728f585c5f3a97347245ccb GIT binary patch literal 4676 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 literal 0 HcmV?d00001 diff --git a/test/fixtures/app/doc/screenshots/linux/selenium_headless/record_screenshot/record_index/00_index.png b/test/fixtures/app/doc/screenshots/linux/selenium_headless/record_screenshot/record_index/00_index.png new file mode 100644 index 0000000000000000000000000000000000000000..0b28ff6052bb32ccc7cb3a16861d570437fae194 GIT binary patch literal 27376 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 QPgXdqZMNTKn^VL71hqvH#{d8T literal 0 HcmV?d00001 diff --git a/test/fixtures/app/doc/screenshots/linux/selenium_headless/record_screenshot/record_index_as_webp/00_index-vips.webp b/test/fixtures/app/doc/screenshots/linux/selenium_headless/record_screenshot/record_index_as_webp/00_index-vips.webp new file mode 100644 index 0000000000000000000000000000000000000000..2a969aaca94d68201dad69f7e4acacba6d85ee1e GIT binary patch literal 20184 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 VtNZ8J{{zB}rwIn=)?PRtwHlF`-yf-p7w$qU^ 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 literal 0 HcmV?d00001 diff --git a/test/fixtures/app/doc/screenshots/linux/selenium_headless/record_screenshot/record_index_with_stability/00_index.png b/test/fixtures/app/doc/screenshots/linux/selenium_headless/record_screenshot/record_index_with_stability/00_index.png new file mode 100644 index 0000000000000000000000000000000000000000..0b28ff6052bb32ccc7cb3a16861d570437fae194 GIT binary patch literal 27376 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 QPgXdqZMNTKn^VL71hqvH#{d8T literal 0 HcmV?d00001 From 95798e92a2aa9399778f7a308724c7c9558d1655 Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Tue, 31 Dec 2024 08:46:37 +0100 Subject: [PATCH 291/312] Bump version to 1.10.0 for release. --- CONTRIBUTING.md | 9 +++++++-- README.md | 7 +------ lib/capybara/screenshot/diff/version.rb | 2 +- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index ad1b2f34..ef747ae0 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -19,6 +19,11 @@ and make sure the tests are green. ## Releasing -New versions are released to RubyGems. +To release a new version, update the version number in +[lib/capybara/screenshot/diff/version.rb](lib/capybara/screenshot/diff/version.rb), +and then run - rake release + bundle exec rake release + +which will create a git tag for the version, push git commits and tags, and +push the `.gem` file to [rubygems.org](https://rubygems.org). diff --git a/README.md b/README.md index 0ca22726..2934f059 100644 --- a/README.md +++ b/README.md @@ -659,14 +659,9 @@ You can also run `bin/console` for an interactive prompt that will allow you to To install this gem onto your local machine, run `bundle exec rake install`. -To release a new version, update the version number in `lib/capybara/screenshot/diff/version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org). - ## Contributing -Bug reports and pull requests are welcome on GitHub at https://github.com/donv/capybara-screenshot-diff. -This project is intended to be a safe, welcoming space for collaboration, -and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct. - +See [CONTRIBUTING.md](CONTRIBUTING.md) ## License diff --git a/lib/capybara/screenshot/diff/version.rb b/lib/capybara/screenshot/diff/version.rb index 8543dbd4..c936ab47 100644 --- a/lib/capybara/screenshot/diff/version.rb +++ b/lib/capybara/screenshot/diff/version.rb @@ -3,7 +3,7 @@ module Capybara module Screenshot module Diff - VERSION = "1.9.2" + VERSION = '1.10.0' end end end From 6af47551b54acdef9b0eed22f14bf1c0a55a5a9d Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Tue, 31 Dec 2024 09:08:48 +0100 Subject: [PATCH 292/312] Start testing with Rails 8.0 --- .github/workflows/test.yml | 7 ++++--- gemfiles/edge_gems.rb | 2 -- gemfiles/rails70_gems.rb | 3 +-- gemfiles/rails71_gems.rb | 3 +-- gemfiles/rails72_gems.rb | 1 - gemfiles/rails80_gems.rb | 6 ++++++ gems.rb | 3 ++- 7 files changed, 14 insertions(+), 11 deletions(-) create mode 100644 gemfiles/rails80_gems.rb diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index b18eb268..1ba8e656 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -15,7 +15,7 @@ on: workflow_dispatch: env: - BUNDLE_GEMFILE: gemfiles/rails72_gems.rb + BUNDLE_GEMFILE: gemfiles/rails80_gems.rb DEBIAN_FRONTEND: noninteractive FERRUM_PROCESS_TIMEOUT: 40 JAVA_OPTS: -Xmn2g -Xms6g -Xmx6g -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=512m -Xss1m @@ -96,18 +96,19 @@ jobs: - rails70_gems.rb - rails71_gems.rb - rails72_gems.rb + - rails80_gems.rb experimental: [ false ] exclude: # We already tested last version - ruby-version: 3.4 - gemfile: rails72_gems.rb + gemfile: rails80_gems.rb experimental: false include: - ruby-version: 3.4 gemfile: edge_gems.rb experimental: true - ruby-version: jruby-head - gemfile: rails72_gems.rb + gemfile: rails80_gems.rb experimental: true env: diff --git a/gemfiles/edge_gems.rb b/gemfiles/edge_gems.rb index 55d338e2..acd22987 100644 --- a/gemfiles/edge_gems.rb +++ b/gemfiles/edge_gems.rb @@ -6,5 +6,3 @@ git "https://github.com/rails/rails.git" do gem "actionpack" end - -gem "capybara", ">= 3.26" diff --git a/gemfiles/rails70_gems.rb b/gemfiles/rails70_gems.rb index 25f20115..1e5d34d0 100644 --- a/gemfiles/rails70_gems.rb +++ b/gemfiles/rails70_gems.rb @@ -3,8 +3,7 @@ gems = "#{File.dirname __dir__}/gems.rb" eval File.read(gems), binding, gems -gem "actionpack", "~> 7.0", "< 7.1" -gem "capybara", ">= 3.26" +gem "actionpack", "~> 7.0.0" gem 'mutex_m' gem 'drb' gem 'bigdecimal' diff --git a/gemfiles/rails71_gems.rb b/gemfiles/rails71_gems.rb index 32be55d6..02634398 100644 --- a/gemfiles/rails71_gems.rb +++ b/gemfiles/rails71_gems.rb @@ -3,5 +3,4 @@ gems = "#{File.dirname __dir__}/gems.rb" eval File.read(gems), binding, gems -gem "actionpack", "~> 7.1", "< 7.2" -gem "capybara", ">= 3.26" +gem "actionpack", "~> 7.1.0" diff --git a/gemfiles/rails72_gems.rb b/gemfiles/rails72_gems.rb index 81081eb4..5099876d 100644 --- a/gemfiles/rails72_gems.rb +++ b/gemfiles/rails72_gems.rb @@ -4,4 +4,3 @@ eval File.read(gems), binding, gems gem "actionpack", "~> 7.2.0" -gem "capybara", ">= 3.26" diff --git a/gemfiles/rails80_gems.rb b/gemfiles/rails80_gems.rb new file mode 100644 index 00000000..3f86dbce --- /dev/null +++ b/gemfiles/rails80_gems.rb @@ -0,0 +1,6 @@ +# frozen_string_literal: true + +gems = "#{File.dirname __dir__}/gems.rb" +eval File.read(gems), binding, gems + +gem "actionpack", "~> 8.0.0" diff --git a/gems.rb b/gems.rb index 63fee9fa..f0718f5e 100644 --- a/gems.rb +++ b/gems.rb @@ -13,7 +13,8 @@ gem "ruby-vips", require: false group :test do - gem 'mutex_m' # Needed for RubyMine + gem "capybara", ">= 3.26" + gem 'mutex_m' # Needed for RubyMine debugging. Try removing it. gem "minitest", require: false gem "minitest-stub-const", require: false gem "simplecov", require: false From 61102b65a60a264e8447c902e276caa2dd49526c Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Tue, 31 Dec 2024 09:23:21 +0100 Subject: [PATCH 293/312] Skip testing JRuby 9.x + Rails 8 --- .github/workflows/test.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 1ba8e656..9c82daec 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -103,6 +103,10 @@ jobs: - ruby-version: 3.4 gemfile: rails80_gems.rb experimental: false + # JRuby 9.x is Ruby 3.1 compatible, and Rails 8 requires Ruby 3.2. + - ruby-version: jruby + gemfile: rails80_gems.rb + experimental: false include: - ruby-version: 3.4 gemfile: edge_gems.rb From a319a4068009c058ebca7a9d1144b88c5d9f8e5d Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Tue, 31 Dec 2024 09:29:10 +0100 Subject: [PATCH 294/312] Update CONTRIBUTING.md --- CONTRIBUTING.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index ef747ae0..1de9c11a 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,7 +1,7 @@ Contributing ============ -Bug reports and pull requests are welcome on GitHub at https://github.com/donv/capybara-screenshot-diff. +Bug reports and pull requests are welcome on GitHub at https://github.com/snap-diff/snap_diff-capybara. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct. @@ -27,3 +27,6 @@ and then run which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org). + +Then go to https://github.com/snap-diff/snap_diff-capybara/releases and create +a new release for the new tag. \ No newline at end of file From 3de98d2db8ac5ceae43184b82a6007e039c9e873 Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Tue, 31 Dec 2024 10:24:47 +0100 Subject: [PATCH 295/312] Skip internal stack frames for Minitest. Bump version to 1.10.1 for release. --- lib/capybara/screenshot/diff/version.rb | 2 +- lib/capybara_screenshot_diff/minitest.rb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/capybara/screenshot/diff/version.rb b/lib/capybara/screenshot/diff/version.rb index c936ab47..45c60711 100644 --- a/lib/capybara/screenshot/diff/version.rb +++ b/lib/capybara/screenshot/diff/version.rb @@ -3,7 +3,7 @@ module Capybara module Screenshot module Diff - VERSION = '1.10.0' + VERSION = '1.10.1' end end end diff --git a/lib/capybara_screenshot_diff/minitest.rb b/lib/capybara_screenshot_diff/minitest.rb index 34e8b6cb..ebb6bb84 100644 --- a/lib/capybara_screenshot_diff/minitest.rb +++ b/lib/capybara_screenshot_diff/minitest.rb @@ -21,7 +21,7 @@ module Assertions def screenshot(*args, skip_stack_frames: 0, **opts) assert_nothing_raised do - super(*args, skip_stack_frames: skip_stack_frames + 1, **opts) + super(*args, skip_stack_frames: skip_stack_frames + 3, **opts) end end From d42b8d57fdf687b999d3ebc55e6438dfb56c10d2 Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Tue, 31 Dec 2024 13:21:43 +0100 Subject: [PATCH 296/312] Allow comparing images when the dimensions have chaned. Bump version to 1.10.2 for release. Ran standardrb. --- gemfiles/rails70_gems.rb | 6 +++--- gems.rb | 2 +- lib/capybara/screenshot/diff/image_compare.rb | 4 ++++ lib/capybara/screenshot/diff/reporters/default.rb | 6 +++++- lib/capybara/screenshot/diff/test_methods.rb | 4 ++-- lib/capybara/screenshot/diff/version.rb | 2 +- .../screenshot/diff/drivers/chunky_png_driver_test.rb | 2 +- test/capybara/screenshot/diff/drivers/vips_driver_test.rb | 2 +- test/capybara/screenshot/diff/test_methods_test.rb | 4 ++-- test/capybara/screenshot/diff_test.rb | 1 + test/integration/record_screenshot_test.rb | 4 ++-- test/support/setup_capybara_drivers.rb | 2 +- 12 files changed, 24 insertions(+), 15 deletions(-) diff --git a/gemfiles/rails70_gems.rb b/gemfiles/rails70_gems.rb index 1e5d34d0..2edc1b74 100644 --- a/gemfiles/rails70_gems.rb +++ b/gemfiles/rails70_gems.rb @@ -4,6 +4,6 @@ eval File.read(gems), binding, gems gem "actionpack", "~> 7.0.0" -gem 'mutex_m' -gem 'drb' -gem 'bigdecimal' +gem "mutex_m" +gem "drb" +gem "bigdecimal" diff --git a/gems.rb b/gems.rb index f0718f5e..41af10fa 100644 --- a/gems.rb +++ b/gems.rb @@ -14,7 +14,7 @@ group :test do gem "capybara", ">= 3.26" - gem 'mutex_m' # Needed for RubyMine debugging. Try removing it. + gem "mutex_m" # Needed for RubyMine debugging. Try removing it. gem "minitest", require: false gem "minitest-stub-const", require: false gem "simplecov", require: false diff --git a/lib/capybara/screenshot/diff/image_compare.rb b/lib/capybara/screenshot/diff/image_compare.rb index bfcd3e3b..2ccfc461 100644 --- a/lib/capybara/screenshot/diff/image_compare.rb +++ b/lib/capybara/screenshot/diff/image_compare.rb @@ -59,6 +59,10 @@ def different? processed.difference.different? end + def dimensions_changed? + difference.failed_by&.[](:different_dimensions) + end + def reporter @reporter ||= begin current_difference = difference || build_no_difference(nil) diff --git a/lib/capybara/screenshot/diff/reporters/default.rb b/lib/capybara/screenshot/diff/reporters/default.rb index dbed7598..e1e19a5d 100644 --- a/lib/capybara/screenshot/diff/reporters/default.rb +++ b/lib/capybara/screenshot/diff/reporters/default.rb @@ -39,7 +39,7 @@ def build_error_for_different_dimensions .map { |image| driver.dimension(image).join("x") } .join(" => ") - "Screenshot dimension has been changed for #{image_path.to_path}: #{change_msg}" + "Dimensions have changed: #{change_msg}\n#{base_image_path.to_path}\n#{image_path.to_path}" end def annotate_and_save_images @@ -101,6 +101,10 @@ def new_image difference.comparison.new_image end + def base_image_path + comparison.base_image_path + end + def image_path comparison.new_image_path end diff --git a/lib/capybara/screenshot/diff/test_methods.rb b/lib/capybara/screenshot/diff/test_methods.rb index 06357b2b..ff01d9c4 100644 --- a/lib/capybara/screenshot/diff/test_methods.rb +++ b/lib/capybara/screenshot/diff/test_methods.rb @@ -158,13 +158,13 @@ def assert_image_not_changed(caller, name, comparison) # Cleanup after comparisons if !result && comparison.base_image_path.exist? FileUtils.mv(comparison.base_image_path, comparison.image_path, force: true) - else + elsif !comparison.dimensions_changed? FileUtils.rm_rf(comparison.base_image_path) end return unless result - "Screenshot does not match for '#{name}' #{comparison.error_message}\n#{caller.join("\n")}" + "Screenshot does not match for '#{name}': #{comparison.error_message}\n#{caller.join("\n")}" end private diff --git a/lib/capybara/screenshot/diff/version.rb b/lib/capybara/screenshot/diff/version.rb index 45c60711..e9f958cb 100644 --- a/lib/capybara/screenshot/diff/version.rb +++ b/lib/capybara/screenshot/diff/version.rb @@ -3,7 +3,7 @@ module Capybara module Screenshot module Diff - VERSION = '1.10.1' + VERSION = "1.10.2" end end end diff --git a/test/capybara/screenshot/diff/drivers/chunky_png_driver_test.rb b/test/capybara/screenshot/diff/drivers/chunky_png_driver_test.rb index d0cd92b0..7d114639 100644 --- a/test/capybara/screenshot/diff/drivers/chunky_png_driver_test.rb +++ b/test/capybara/screenshot/diff/drivers/chunky_png_driver_test.rb @@ -132,7 +132,7 @@ class ChunkyPNGDriverTest < ActionDispatch::IntegrationTest test "size a vs a_cropped" do comp = make_comparison(:a, :a_cropped) assert comp.different? - assert_includes comp.error_message, "Screenshot dimension has been changed for " + assert_includes comp.error_message, "Dimensions have changed: " assert_includes comp.error_message, "80x60" end diff --git a/test/capybara/screenshot/diff/drivers/vips_driver_test.rb b/test/capybara/screenshot/diff/drivers/vips_driver_test.rb index 59eb1a55..ea9636fa 100644 --- a/test/capybara/screenshot/diff/drivers/vips_driver_test.rb +++ b/test/capybara/screenshot/diff/drivers/vips_driver_test.rb @@ -118,7 +118,7 @@ class VipsDriverTest < ActionDispatch::IntegrationTest test "size a vs a_cropped" do comp = make_comparison(:a, :a_cropped) assert comp.different? - assert_includes comp.error_message, "Screenshot dimension has been changed for " + assert_includes comp.error_message, "Dimensions have changed: " assert_includes comp.error_message, "80x60" end diff --git a/test/capybara/screenshot/diff/test_methods_test.rb b/test/capybara/screenshot/diff/test_methods_test.rb index 47865fdc..8bf4939c 100644 --- a/test/capybara/screenshot/diff/test_methods_test.rb +++ b/test/capybara/screenshot/diff/test_methods_test.rb @@ -23,7 +23,7 @@ def test_assert_image_not_changed message = assert_image_not_changed(["my_test.rb:42"], "name", make_comparison(:a, :c)) value = (RUBY_VERSION >= "2.4") ? 187.4 : 188 assert_equal <<-MSG.strip_heredoc.chomp, message - Screenshot does not match for 'name' ({"area_size":629,"region":[11,3,48,20],"max_color_distance":#{value}}) + Screenshot does not match for 'name': ({"area_size":629,"region":[11,3,48,20],"max_color_distance":#{value}}) #{Rails.root}/doc/screenshots/screenshot.png #{Rails.root}/doc/screenshots/screenshot.base.diff.png #{Rails.root}/doc/screenshots/screenshot.diff.png @@ -39,7 +39,7 @@ def test_assert_image_not_changed_with_shift_distance_limit ) value = (RUBY_VERSION >= "2.4") ? 5.0 : 5 assert_equal <<-MSG.strip_heredoc.chomp, message - Screenshot does not match for 'name' ({"area_size":629,"region":[11,3,48,20],"max_color_distance":#{value},"max_shift_distance":15}) + Screenshot does not match for 'name': ({"area_size":629,"region":[11,3,48,20],"max_color_distance":#{value},"max_shift_distance":15}) #{Rails.root}/doc/screenshots/screenshot.png #{Rails.root}/doc/screenshots/screenshot.base.diff.png #{Rails.root}/doc/screenshots/screenshot.diff.png diff --git a/test/capybara/screenshot/diff_test.rb b/test/capybara/screenshot/diff_test.rb index 5093c350..d2eb484d 100644 --- a/test/capybara/screenshot/diff_test.rb +++ b/test/capybara/screenshot/diff_test.rb @@ -144,6 +144,7 @@ class SampleMiniTestCase < ActionDispatch::IntegrationTest def _test_sample_screenshot_error mock = ::Minitest::Mock.new mock.expect(:different?, true) + mock.expect(:dimensions_changed?, false) mock.expect(:base_image_path, Pathname.new("screenshot.base.png")) mock.expect(:error_message, "expected error message") diff --git a/test/integration/record_screenshot_test.rb b/test/integration/record_screenshot_test.rb index 296bc04a..651d1b5e 100644 --- a/test/integration/record_screenshot_test.rb +++ b/test/integration/record_screenshot_test.rb @@ -4,7 +4,7 @@ class RecordScreenshotTest < SystemTestCase setup do - screenshot_section class_name.underscore.sub(/(_feature|_system)?_test$/, '') unless @screenshot_section + screenshot_section class_name.underscore.sub(/(_feature|_system)?_test$/, "") unless @screenshot_section screenshot_group name[5..] unless @screenshot_group end @@ -31,6 +31,6 @@ def test_record_index_as_webp def test_record_index_with_stability visit "/" - screenshot "index", stability_time_limit: 0.1, wait: RUBY_ENGINE == 'jruby' ? 10 : 1 + screenshot "index", stability_time_limit: 0.1, wait: (RUBY_ENGINE == "jruby") ? 10 : 1 end end diff --git a/test/support/setup_capybara_drivers.rb b/test/support/setup_capybara_drivers.rb index 7e3328d7..c26c502d 100644 --- a/test/support/setup_capybara_drivers.rb +++ b/test/support/setup_capybara_drivers.rb @@ -3,7 +3,7 @@ ENV["CAPYBARA_DRIVER"] ||= "cuprite" SCREEN_SIZE = [800, 600] -if ENV["CAPYBARA_DRIVER"] == 'selenium_chrome_headless' && Capybara::Screenshot::Os.name == 'linux' +if ENV["CAPYBARA_DRIVER"] == "selenium_chrome_headless" && Capybara::Screenshot::Os.name == "linux" SCREEN_SIZE[1] += 87 # Add extra space for address field etc. end BROWSERS = {cuprite: "chrome", selenium_headless: "firefox", selenium_chrome_headless: "chrome"} From 9668b10673a44585439043bf5b3be338e7439aad Mon Sep 17 00:00:00 2001 From: Larry Reid Date: Thu, 8 May 2025 09:15:35 -0700 Subject: [PATCH 297/312] Avoid deprecation warning with Minitest (#140) * Avoid deprecation warning with Minitest * CodeRabbit suggested change --- README.md | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 2934f059..48170181 100644 --- a/README.md +++ b/README.md @@ -26,6 +26,13 @@ gem 'capybara-screenshot-diff' gem 'oily_png', platform: :ruby ``` +Minitest users will want to do the following to avoid a deprecation warning: + +```ruby +gem 'capybara-screenshot-diff', require: false +gem 'oily_png', platform: :ruby +``` + And then execute: $ bundle @@ -64,7 +71,7 @@ class ApplicationSystemTestCase < ActionDispatch::SystemTestCase include CapybaraScreenshotDiff::DSL # Make `assert_*` methods behave like Minitest assertions include CapybaraScreenshotDiff::Minitest::Assertions - + def test_my_feature visit '/' assert_matches_screenshot 'index' @@ -83,7 +90,7 @@ It adds `match_screenshot` matcher to RSpec. ```ruby -require 'capybara_screenshot_diff/rspec' +require 'capybara_screenshot_diff/rspec' describe 'Permissions admin', type: :feature do it 'works with permissions' do @@ -95,7 +102,7 @@ end describe 'Permissions admin', type: :non_feature do include CapybaraScreenshotDiff::DSL - + it 'works with permissions' do visit('/') expect(page).to match_screenshot('home_page') @@ -573,8 +580,8 @@ If need to setup explicitly Vips driver, there are several ways to do this: * Globally: `Capybara::Screenshot::Diff.driver = :vips` * Per screenshot option: `screenshot 'index', driver: :vips` -With enabled VIPS there are new alternatives to process differences, which easier to find and support. -For example, `shift_distance_limit` is very heavy operation. Instead better to use `median_filter_window_size`. +With enabled VIPS there are new alternatives to process differences, which are easier to find and support. +For example, `shift_distance_limit` is a very heavy operation. Instead, use `median_filter_window_size`. #### Tolerance level (vips only) From 10711545691cd6218d66e4a6515c158c5021c5f5 Mon Sep 17 00:00:00 2001 From: Paul Keen <125715+pftg@users.noreply.github.com> Date: Thu, 8 May 2025 18:18:59 +0200 Subject: [PATCH 298/312] refact: support per each test framework their assertions mechanisms (#139) * removed dependency on the global variable to schedule assertions --- .../screenshot/diff/browser_helpers.rb | 6 + lib/capybara/screenshot/diff/region.rb | 2 +- .../screenshot/diff/stable_screenshoter.rb | 2 +- lib/capybara/screenshot/diff/test_methods.rb | 79 ++++------- lib/capybara/screenshot/diff/vcs.rb | 2 +- lib/capybara_screenshot_diff.rb | 8 +- lib/capybara_screenshot_diff/cucumber.rb | 4 +- lib/capybara_screenshot_diff/dsl.rb | 7 + lib/capybara_screenshot_diff/minitest.rb | 38 +++--- lib/capybara_screenshot_diff/rspec.rb | 24 ++-- .../screenshot_assertion.rb | 127 ++++++++++++++++++ .../diff/stable_screenshoter_test.rb | 2 +- .../screenshot/diff/test_methods_test.rb | 35 +++-- test/capybara/screenshot/diff/vcs_test.rb | 1 + test/capybara/screenshot/diff_test.rb | 25 ++-- test/capybara/screenshot/screenshot_test.rb | 2 +- .../macos/cuprite/cropped_screenshot.png | Bin 2684 -> 2656 bytes .../index-blur_active_element-disabled.png | Bin 21550 -> 21573 bytes .../index-blur_active_element-enabled.png | Bin 21343 -> 21348 bytes .../cuprite/index-hide_caret-disabled.png | Bin 21550 -> 21573 bytes .../cuprite/index-hide_caret-enabled.png | Bin 21343 -> 21348 bytes .../cuprite/index-without-img-cropped.png | Bin 3744 -> 3332 bytes .../doc/screenshots/macos/cuprite/index.png | Bin 28282 -> 20247 bytes .../index_with_skip_area_as_array_of_css.png | Bin 20554 -> 20577 bytes ...x_with_skip_area_as_array_of_css_and_p.png | Bin 20554 -> 20577 bytes .../record_index/00_index.png | Bin 28282 -> 20247 bytes .../record_index_cropped/00_index-cropped.png | Bin 3744 -> 3332 bytes .../record_index_with_stability/00_index.png | Bin 28282 -> 20247 bytes test/fixtures/files/rspec_spec.rb | 3 +- test/integration/browser_screenshot_test.rb | 28 ++-- test/support/non_minitest_assertions.rb | 13 +- test/support/stub_test_methods.rb | 3 +- test/system_test_case.rb | 15 +-- 33 files changed, 284 insertions(+), 142 deletions(-) create mode 100644 lib/capybara_screenshot_diff/screenshot_assertion.rb diff --git a/lib/capybara/screenshot/diff/browser_helpers.rb b/lib/capybara/screenshot/diff/browser_helpers.rb index ceb6d87d..245a992e 100644 --- a/lib/capybara/screenshot/diff/browser_helpers.rb +++ b/lib/capybara/screenshot/diff/browser_helpers.rb @@ -5,6 +5,12 @@ module Capybara module Screenshot module BrowserHelpers + def self.resize_window_if_needed + if ::Capybara::Screenshot.respond_to?(:window_size) && ::Capybara::Screenshot.window_size + resize_to(::Capybara::Screenshot.window_size) + end + end + def self.resize_to(window_size) if session.driver.respond_to?(:resize) session.driver.resize(*window_size) diff --git a/lib/capybara/screenshot/diff/region.rb b/lib/capybara/screenshot/diff/region.rb index 3ba772f2..6c0f70b4 100644 --- a/lib/capybara/screenshot/diff/region.rb +++ b/lib/capybara/screenshot/diff/region.rb @@ -74,7 +74,7 @@ def find_relative_intersect(region) end def cover?(x, y) - left <= x && x <= right && top <= y && y <= bottom + x.between?(left, right) && y.between?(top, bottom) end def empty? diff --git a/lib/capybara/screenshot/diff/stable_screenshoter.rb b/lib/capybara/screenshot/diff/stable_screenshoter.rb index 331a7137..79419358 100644 --- a/lib/capybara/screenshot/diff/stable_screenshoter.rb +++ b/lib/capybara/screenshot/diff/stable_screenshoter.rb @@ -100,7 +100,7 @@ def annotate_attempts_and_fail!(snapshot) attempts_reporter = CapybaraScreenshotDiff::AttemptsReporter.new(snapshot, @comparison_options, {wait: wait, stability_time_limit: stability_time_limit}) # TODO: Move fail to the queue after tests passed - fail(attempts_reporter.generate) + raise CapybaraScreenshotDiff::UnstableImage, attempts_reporter.generate end end end diff --git a/lib/capybara/screenshot/diff/test_methods.rb b/lib/capybara/screenshot/diff/test_methods.rb index ff01d9c4..c384a112 100644 --- a/lib/capybara/screenshot/diff/test_methods.rb +++ b/lib/capybara/screenshot/diff/test_methods.rb @@ -35,26 +35,6 @@ def initialize(*) @screenshot_group = nil @screenshot_section = nil @test_screenshot_errors = nil - @test_screenshots = [] - end - - # Verifies that all scheduled screenshots do not show any unintended differences. - # - # @param screenshots [Array(Array(Array(String), String, ImageCompare))] The list of match screenshots jobs. Defaults to all screenshots taken during the test. - # @return [Array, nil] Returns an array of error messages if there are screenshot differences, otherwise nil. - # @note This method is typically called at the end of a test to assert all screenshots are as expected. - def verify_screenshots!(screenshots = @test_screenshots) - return unless ::Capybara::Screenshot.active? && ::Capybara::Screenshot::Diff.fail_on_difference - - test_screenshot_errors = screenshots.map do |caller, name, compare| - assert_image_not_changed(caller, name, compare) - end - - test_screenshot_errors.compact! - - test_screenshot_errors.presence - ensure - screenshots.clear end # Builds the full name for a screenshot, incorporating counters and group names for uniqueness. @@ -83,8 +63,9 @@ def screenshot_section(name) def screenshot_group(name) @screenshot_group = name.to_s - @screenshot_counter = @screenshot_group.present? ? 0 : nil - return unless Screenshot.active? && name.present? + @screenshot_counter = (@screenshot_group.nil? || @screenshot_group.empty?) ? nil : 0 + name_present = !(name.nil? || name.empty?) + return unless Screenshot.active? && name_present FileUtils.rm_rf screenshot_dir end @@ -97,14 +78,14 @@ def screenshot_group(name) # @param job [Array(Array(String), String, ImageCompare)] The job to be scheduled, consisting of the caller context, screenshot name, and comparison object. # @return [Boolean] Always returns true, indicating the job was successfully scheduled. def schedule_match_job(job) - (@test_screenshots ||= []) << job + CapybaraScreenshotDiff.add_assertion(job) true end def group_parts parts = [] - parts << @screenshot_section if @screenshot_section.present? - parts << @screenshot_group if @screenshot_group.present? + parts << @screenshot_section unless @screenshot_section.nil? || @screenshot_section.empty? + parts << @screenshot_group unless @screenshot_group.nil? || @screenshot_group.empty? parts end @@ -120,13 +101,18 @@ def group_parts def screenshot(name, skip_stack_frames: 0, **options) return false unless Screenshot.active? + # setup screenshot_full_name = build_full_name(name) - job = build_screenshot_matches_job(screenshot_full_name, options) - caller = caller(skip_stack_frames + 1).reject { |l| l =~ /gems\/(activesupport|minitest|railties)/ } - unless job + # exercise + match_changes_job = build_screenshot_matches_job(screenshot_full_name, options) + + # verify + backtrace = caller(skip_stack_frames + 1).reject { |l| l =~ /gems\/(activesupport|minitest|railties)/ } + + unless match_changes_job if Screenshot::Diff.fail_if_new - _raise_error(<<-ERROR.strip_heredoc, caller) + _raise_error(<<-ERROR.strip_heredoc, backtrace) No existing screenshot found for #{screenshot_full_name}! To stop seeing this error disable by `Capybara::Screenshot::Diff.fail_if_new=false` ERROR @@ -135,39 +121,26 @@ def screenshot(name, skip_stack_frames: 0, **options) return false end - job.prepend(caller) + match_changes_job.prepend(backtrace) if Screenshot::Diff.delayed - schedule_match_job(job) + schedule_match_job(match_changes_job) else - error_msg = assert_image_not_changed(*job) - _raise_error(error_msg, caller(2)) if error_msg + invoke_match_job(match_changes_job) end end - # Asserts that an image has not changed compared to its baseline. - # - # @param caller [Array(String)] The caller context, used for error reporting. - # @param name [String] The name of the screenshot being verified. - # @param comparison [Object] The comparison object containing the result and details of the comparison. - # @return [String, nil] Returns an error message if the screenshot differs from the baseline, otherwise nil. - # @note This method is used internally to verify individual screenshots. - def assert_image_not_changed(caller, name, comparison) - result = comparison.different? - - # Cleanup after comparisons - if !result && comparison.base_image_path.exist? - FileUtils.mv(comparison.base_image_path, comparison.image_path, force: true) - elsif !comparison.dimensions_changed? - FileUtils.rm_rf(comparison.base_image_path) - end + private - return unless result + def invoke_match_job(job) + error_msg = CapybaraScreenshotDiff::ScreenshotAssertion.from(job).validate - "Screenshot does not match for '#{name}': #{comparison.error_message}\n#{caller.join("\n")}" - end + if error_msg + _raise_error(error_msg, job[0]) + end - private + true + end def _raise_error(error_msg, backtrace) raise CapybaraScreenshotDiff::ExpectationNotMet.new(error_msg).tap { _1.set_backtrace(backtrace) } diff --git a/lib/capybara/screenshot/diff/vcs.rb b/lib/capybara/screenshot/diff/vcs.rb index 532f0890..29ebe05a 100644 --- a/lib/capybara/screenshot/diff/vcs.rb +++ b/lib/capybara/screenshot/diff/vcs.rb @@ -53,7 +53,7 @@ def self.restore_svn_revision(screenshot_path, checkout_path) end svn_info = `svn info #{screenshot_path} #{SILENCE_ERRORS}` - if svn_info.present? + unless svn_info.empty? wc_root = svn_info.slice(/(?<=Working Copy Root Path: ).*$/) checksum = svn_info.slice(/(?<=Checksum: ).*$/) diff --git a/lib/capybara_screenshot_diff.rb b/lib/capybara_screenshot_diff.rb index ff84eb4f..d90f51dc 100644 --- a/lib/capybara_screenshot_diff.rb +++ b/lib/capybara_screenshot_diff.rb @@ -10,7 +10,11 @@ require "capybara/screenshot/diff/reporters/default" module CapybaraScreenshotDiff - class ExpectationNotMet < StandardError; end + class CapybaraScreenshotDiffError < StandardError; end + + class ExpectationNotMet < CapybaraScreenshotDiffError; end + + class UnstableImage < CapybaraScreenshotDiffError; end end module Capybara @@ -49,7 +53,7 @@ def screenshot_area_abs end end - # Module to track screen shot changes + # Module to track screenshot changes module Diff mattr_accessor(:delayed) { true } mattr_accessor :area_size_limit diff --git a/lib/capybara_screenshot_diff/cucumber.rb b/lib/capybara_screenshot_diff/cucumber.rb index 375b0f49..7a99b7c3 100644 --- a/lib/capybara_screenshot_diff/cucumber.rb +++ b/lib/capybara_screenshot_diff/cucumber.rb @@ -6,7 +6,5 @@ Before do Capybara::Screenshot::Diff.delayed = false - if Capybara::Screenshot.active? && Capybara::Screenshot.window_size - Capybara::Screenshot::BrowserHelpers.resize_to(Capybara::Screenshot.window_size) - end + Capybara::Screenshot::BrowserHelpers.resize_window_if_needed end diff --git a/lib/capybara_screenshot_diff/dsl.rb b/lib/capybara_screenshot_diff/dsl.rb index 188463d2..a8c7fb48 100644 --- a/lib/capybara_screenshot_diff/dsl.rb +++ b/lib/capybara_screenshot_diff/dsl.rb @@ -2,10 +2,17 @@ require "capybara_screenshot_diff" require "capybara/screenshot/diff/test_methods" +require_relative "screenshot_assertion" module CapybaraScreenshotDiff module DSL include Capybara::DSL include Capybara::Screenshot::Diff::TestMethods + + alias_method :_screenshot, :screenshot + def screenshot(name, **args) + assertion = CapybaraScreenshotDiff::ScreenshotAssertion.new(name, **args) { _screenshot(name, **args) } + CapybaraScreenshotDiff.add_assertion(assertion) + end end end diff --git a/lib/capybara_screenshot_diff/minitest.rb b/lib/capybara_screenshot_diff/minitest.rb index ebb6bb84..88e748b8 100644 --- a/lib/capybara_screenshot_diff/minitest.rb +++ b/lib/capybara_screenshot_diff/minitest.rb @@ -20,29 +20,29 @@ module Assertions include ::CapybaraScreenshotDiff::DSL def screenshot(*args, skip_stack_frames: 0, **opts) - assert_nothing_raised do - super(*args, skip_stack_frames: skip_stack_frames + 3, **opts) - end + self.assertions += 1 + + super(*args, skip_stack_frames: skip_stack_frames + 3, **opts) + rescue ::CapybaraScreenshotDiff::ExpectationNotMet => e + raise ::Minitest::Assertion, e.message end alias_method :assert_matches_screenshot, :screenshot - def self.included(klass) - klass.setup do - if ::Capybara::Screenshot.window_size - ::Capybara::Screenshot::BrowserHelpers.resize_to(::Capybara::Screenshot.window_size) - end - end - - klass.teardown do - errors = verify_screenshots!(@test_screenshots) - - if errors.present? - assertion = ::Minitest::Assertion.new(errors.join("\n\n")) - assertion.set_backtrace [] - failures << assertion - end - end + def setup + super + ::Capybara::Screenshot::BrowserHelpers.resize_window_if_needed + end + + def before_teardown + super + CapybaraScreenshotDiff.verify + rescue CapybaraScreenshotDiff::ExpectationNotMet => e + assertion = ::Minitest::Assertion.new(e) + assertion.set_backtrace [] + failures << assertion + ensure + CapybaraScreenshotDiff.reset end end end diff --git a/lib/capybara_screenshot_diff/rspec.rb b/lib/capybara_screenshot_diff/rspec.rb index 5af66674..b3f086bc 100644 --- a/lib/capybara_screenshot_diff/rspec.rb +++ b/lib/capybara_screenshot_diff/rspec.rb @@ -13,20 +13,24 @@ end RSpec.configure do |config| - config.include ::CapybaraScreenshotDiff::DSL, type: :feature - config.include ::CapybaraScreenshotDiff::DSL, type: :system + config.include CapybaraScreenshotDiff::DSL, type: :feature + config.include CapybaraScreenshotDiff::DSL, type: :system - config.after do - if self.class.include?(::CapybaraScreenshotDiff::DSL) && ::Capybara::Screenshot.active? - errors = verify_screenshots!(@test_screenshots) - # TODO: Use rspec/mock approach to postpone verification - raise ::CapybaraScreenshotDiff::ExpectationNotMet, errors.join("\n") if errors && !errors.empty? + config.before do + if self.class.include?(CapybaraScreenshotDiff::DSL) + Capybara::Screenshot::BrowserHelpers.resize_window_if_needed end end - config.before do - if self.class.include?(::CapybaraScreenshotDiff::DSL) && ::Capybara::Screenshot.window_size - ::Capybara::Screenshot::BrowserHelpers.resize_to(::Capybara::Screenshot.window_size) + config.after do + if self.class.include?(CapybaraScreenshotDiff::DSL) + begin + CapybaraScreenshotDiff.verify + rescue CapybaraScreenshotDiff::ExpectationNotMet => e + raise RSpec::Expectations::ExpectationNotMetError, e.message + ensure + CapybaraScreenshotDiff.reset + end end end end diff --git a/lib/capybara_screenshot_diff/screenshot_assertion.rb b/lib/capybara_screenshot_diff/screenshot_assertion.rb new file mode 100644 index 00000000..41fe6864 --- /dev/null +++ b/lib/capybara_screenshot_diff/screenshot_assertion.rb @@ -0,0 +1,127 @@ +# frozen_string_literal: true + +require "fileutils" + +module CapybaraScreenshotDiff + class ScreenshotAssertion + attr_reader :name, :args + attr_accessor :compare, :caller + + def initialize(name, **args, &block) + @name = name + @args = args + + yield(self) if block_given? + end + + def self.from(screenshot_job) + return screenshot_job if screenshot_job.is_a?(ScreenshotAssertion) + + caller, name, compare = screenshot_job + ScreenshotAssertion.new(name).tap do |it| + it.caller = caller + it.compare = compare + end + end + + def validate + return unless compare + + self.class.assert_image_not_changed(caller, name, compare) + end + + # Verifies that all scheduled screenshots do not show any unintended differences. + # + # @param screenshots [Array(Array(Array(String), String, ImageCompare))] The list of match screenshots jobs. Defaults to all screenshots taken during the test. + # @return [Array, nil] Returns an array of error messages if there are screenshot differences, otherwise nil. + # @note This method is typically called at the end of a test to assert all screenshots are as expected. + def self.verify_screenshots!(screenshots) + return unless ::Capybara::Screenshot.active? && ::Capybara::Screenshot::Diff.fail_on_difference + + test_screenshot_errors = screenshots.map do |assertion| + assertion.validate + end + + test_screenshot_errors.compact! + + test_screenshot_errors.empty? ? nil : test_screenshot_errors + ensure + screenshots&.clear + end + + # Asserts that an image has not changed compared to its baseline. + # + # @param backtrace [Array(String)] The caller context, used for error reporting. + # @param name [String] The name of the screenshot being verified. + # @param comparison [Object] The comparison object containing the result and details of the comparison. + # @return [String, nil] Returns an error message if the screenshot differs from the baseline, otherwise nil. + # @note This method is used internally to verify individual screenshots. + def self.assert_image_not_changed(backtrace, name, comparison) + result = comparison.different? + + # Cleanup after comparisons + if !result && comparison.base_image_path.exist? + FileUtils.mv(comparison.base_image_path, comparison.image_path, force: true) + elsif !comparison.dimensions_changed? + FileUtils.rm_rf(comparison.base_image_path) + end + + return unless result + + "Screenshot does not match for '#{name}': #{comparison.error_message}\n#{backtrace.join("\n")}" + end + end + + class AssertionRegistry + attr_reader :assertions + + def initialize + @assertions = [] + end + + def add_assertion(assertion) + assertion = ScreenshotAssertion.from(assertion) + return unless assertion.compare + + @assertions.push(assertion) + + assertion + end + + def assertions_present? + !@assertions.empty? + end + + def verify(screenshots = CapybaraScreenshotDiff.assertions) + result = ScreenshotAssertion.verify_screenshots!(screenshots) + + raise CapybaraScreenshotDiff::ExpectationNotMet, result.join("\n\n") if result + end + + def failed_assertions + assertions.select { |screenshot_assert| screenshot_assert.compare&.different? } + end + + def reset + @assertions.clear + end + end +end + +module CapybaraScreenshotDiff + class << self + require "forwardable" + extend Forwardable + + def registry + Thread.current[:capybara_screenshot_diff_registry] ||= AssertionRegistry.new + end + + def_delegator :registry, :add_assertion + def_delegator :registry, :assertions + def_delegator :registry, :assertions_present? + def_delegator :registry, :failed_assertions + def_delegator :registry, :reset + def_delegator :registry, :verify + end +end diff --git a/test/capybara/screenshot/diff/stable_screenshoter_test.rb b/test/capybara/screenshot/diff/stable_screenshoter_test.rb index 9473e1e7..0cbc6399 100644 --- a/test/capybara/screenshot/diff/stable_screenshoter_test.rb +++ b/test/capybara/screenshot/diff/stable_screenshoter_test.rb @@ -90,7 +90,7 @@ class StableScreenshoterTest < ActionDispatch::IntegrationTest mock.reporter.expect(:annotated_base_image_path, base_path.to_s) end - assert_raises RuntimeError, "Could not get stable screenshot within 1s" do + assert_raises CapybaraScreenshotDiff::UnstableImage, "Could not get stable screenshot within 1s" do ImageCompare.stub :new, mock do # Wait time is less then stability time, which will generate problem StableScreenshoter diff --git a/test/capybara/screenshot/diff/test_methods_test.rb b/test/capybara/screenshot/diff/test_methods_test.rb index 8bf4939c..b8a2d474 100644 --- a/test/capybara/screenshot/diff/test_methods_test.rb +++ b/test/capybara/screenshot/diff/test_methods_test.rb @@ -1,6 +1,7 @@ # frozen_string_literal: true require "test_helper" +require "capybara_screenshot_diff/screenshot_assertion" module Capybara module Screenshot @@ -52,26 +53,36 @@ def test_screenshot_support_drivers_options assert_not screenshot("a", driver: :vips) end + def assert_no_screenshot_jobs_scheduled + assert_not_predicate CapybaraScreenshotDiff.registry, :assertions_present? + end + def test_skip_stack_frames Vcs.stub(:checkout_vcs, true) do - assert_predicate @test_screenshots, :blank? + assert_no_screenshot_jobs_scheduled make_comparison(:a, :c, destination: "a.png") our_screenshot("a", 0) - assert_equal 1, @test_screenshots.size - assert_match( - /our_screenshot'/, - @test_screenshots.dig(0, 0, 0) - ) - assert_equal "a", @test_screenshots[0][1] + assert_equal 1, CapybaraScreenshotDiff.assertions.size + assert_match(/our_screenshot'/, CapybaraScreenshotDiff.assertions[0].caller.first) + assert_equal "a", CapybaraScreenshotDiff.assertions[0].name our_screenshot("a", 1) - assert_equal 2, @test_screenshots.size + assert_equal 2, CapybaraScreenshotDiff.assertions.size assert_match( %r{/test_methods_test.rb:.*?test_skip_stack_frames}, - @test_screenshots.dig(1, 0, 0) + CapybaraScreenshotDiff.assertions[1].caller.first ) - assert_equal "a", @test_screenshots[1][1] + assert_equal "a", CapybaraScreenshotDiff.assertions[1].name + end + end + + def test_inline_screenshot_assertion_validation + Vcs.stub(:checkout_vcs, true) do + Capybara::Screenshot::Diff.stub(:delayed, false) do + make_comparison(:a, :b, destination: "a.png") + screenshot("a") + end end end @@ -103,6 +114,10 @@ def test_cleanup_base_image_for_changes def our_screenshot(name, skip_stack_frames) screenshot(name, skip_stack_frames: skip_stack_frames) end + + def assert_image_not_changed(*) + CapybaraScreenshotDiff::ScreenshotAssertion.assert_image_not_changed(*) + end end end end diff --git a/test/capybara/screenshot/diff/vcs_test.rb b/test/capybara/screenshot/diff/vcs_test.rb index 0752b419..7e888280 100644 --- a/test/capybara/screenshot/diff/vcs_test.rb +++ b/test/capybara/screenshot/diff/vcs_test.rb @@ -21,6 +21,7 @@ class VcsTest < ActionDispatch::IntegrationTest test "checkout of original screenshot" do screenshot_path = Screenshot.root / "../test/images/a.png" + base_screenshot_path = Pathname.new(@base_screenshot.path) assert Vcs.restore_git_revision(screenshot_path, base_screenshot_path, root: Screenshot.root) diff --git a/test/capybara/screenshot/diff_test.rb b/test/capybara/screenshot/diff_test.rb index d2eb484d..a9d0fc6e 100644 --- a/test/capybara/screenshot/diff_test.rb +++ b/test/capybara/screenshot/diff_test.rb @@ -28,6 +28,7 @@ class DiffTest < ActionDispatch::IntegrationTest teardown do CapybaraScreenshotDiff::SnapManager.cleanup! + CapybaraScreenshotDiff.reset Capybara::Screenshot.add_driver_path = @orig_add_driver_path Capybara::Screenshot.add_os_path = @orig_add_os_path @@ -87,6 +88,7 @@ def test_screenshot_with_alternate_save_path def test_screenshot_with_stability_time_limit Capybara::Screenshot.stability_time_limit = 0.001 + screenshot "a" ensure Capybara::Screenshot.stability_time_limit = nil @@ -109,11 +111,8 @@ def test_screenshot_with_stability_time_limit test "detect available diff drivers on the loading" do # NOTE for tests we are loading both drivers, so we expect that all of them are available - expected_drivers = if defined?(Vips) - %i[vips chunky_png] - else - %i[chunky_png] - end + expected_drivers = defined?(Vips) ? %i[vips chunky_png] : %i[chunky_png] + assert_equal expected_drivers, Capybara::Screenshot::Diff::AVAILABLE_DRIVERS end @@ -132,8 +131,8 @@ def test_screenshot_with_stability_time_limit expected_message = "Screenshot does not match for 'sample_screenshot' expected error message for non minitest" - assert_raises(::StandardError, expected_message) { test_case.teardown } - assert_empty(test_case.instance_variable_get(:@test_screenshots)) + assert_raises(CapybaraScreenshotDiff::ExpectationNotMet, expected_message) { test_case.teardown } + assert_empty(CapybaraScreenshotDiff.assertions) end class SampleMiniTestCase < ActionDispatch::IntegrationTest @@ -148,9 +147,9 @@ def _test_sample_screenshot_error mock.expect(:base_image_path, Pathname.new("screenshot.base.png")) mock.expect(:error_message, "expected error message") - @test_screenshots = [] - @test_screenshots << [["my_test.rb:42"], "sample_screenshot", mock] - mock.expect(:clear_screenshots, @test_screenshots) + assertion = CapybaraScreenshotDiff::ScreenshotAssertion.from([["my_test.rb:42"], "sample_screenshot", mock]) + schedule_match_job(assertion) + assert true end end @@ -166,7 +165,9 @@ def self.teardown(&block) def teardown instance_eval(&@@teardown_callback) if @@teardown_callback + ensure @@teardown_callback = nil + CapybaraScreenshotDiff.reset end include Capybara::Screenshot::Diff @@ -175,10 +176,12 @@ def teardown def _test_sample_screenshot_error comparison = ::Minitest::Mock.new comparison.expect(:different?, true) + comparison.expect(:dimensions_changed?, false) comparison.expect(:base_image_path, Pathname.new("screenshot.base.png")) comparison.expect(:error_message, "expected error message for non minitest") - @test_screenshots << [["my_test.rb:42"], "sample_screenshot", comparison] + assertion = CapybaraScreenshotDiff::ScreenshotAssertion.from([["my_test.rb:42"], "sample_screenshot", comparison]) + schedule_match_job(assertion) end end diff --git a/test/capybara/screenshot/screenshot_test.rb b/test/capybara/screenshot/screenshot_test.rb index 4fb273db..b2fa1716 100644 --- a/test/capybara/screenshot/screenshot_test.rb +++ b/test/capybara/screenshot/screenshot_test.rb @@ -18,7 +18,7 @@ def test_root_is_a_pathname def test_root_could_be_assigned_relative_path @orig_root = Capybara::Screenshot.root - Capybara::Screenshot.root = "." + Capybara::Screenshot.root = "./tmp" assert_kind_of Pathname, Capybara::Screenshot.root assert Capybara::Screenshot.root.absolute? ensure diff --git a/test/fixtures/app/doc/screenshots/macos/cuprite/cropped_screenshot.png b/test/fixtures/app/doc/screenshots/macos/cuprite/cropped_screenshot.png index 8adc8f06d045243659d1727f3f3b7c619813d172..fc2318c46ab168aae62f1b43d4f4eebc345ffd69 100644 GIT binary patch delta 2339 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 diff --git a/test/fixtures/app/doc/screenshots/macos/cuprite/index-blur_active_element-disabled.png b/test/fixtures/app/doc/screenshots/macos/cuprite/index-blur_active_element-disabled.png index 954fbce76f8f0df2757d63bb06728048fe635221..61f65962e5a28135f08e7cfd16b9d62560ce5440 100644 GIT binary patch literal 21573 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 diff --git a/test/fixtures/app/doc/screenshots/macos/cuprite/index-blur_active_element-enabled.png b/test/fixtures/app/doc/screenshots/macos/cuprite/index-blur_active_element-enabled.png index cfe714954b2def50f9ba335e0894197dadc723d0..bac7c5d58c4317f6fdd12868edf99c9bf3896d0d 100644 GIT binary patch delta 18167 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 delta 18136 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%0AWyZnyakge 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�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 BtAhXl diff --git a/test/fixtures/app/doc/screenshots/macos/cuprite/index-hide_caret-disabled.png b/test/fixtures/app/doc/screenshots/macos/cuprite/index-hide_caret-disabled.png index 954fbce76f8f0df2757d63bb06728048fe635221..61f65962e5a28135f08e7cfd16b9d62560ce5440 100644 GIT binary patch literal 21573 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 diff --git a/test/fixtures/app/doc/screenshots/macos/cuprite/index-hide_caret-enabled.png b/test/fixtures/app/doc/screenshots/macos/cuprite/index-hide_caret-enabled.png index cfe714954b2def50f9ba335e0894197dadc723d0..bac7c5d58c4317f6fdd12868edf99c9bf3896d0d 100644 GIT binary patch delta 18167 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 delta 18136 zcmZ5{c{tSV7x!3eMD>u$PDW}ZB3pJX#+G7c6ta|(u@z+!VC@BW-1IbV@nOm z&QrFSvNTyDk1fR58S8uN`MuZmUhjWhnrr6%p8K5hSiA0f@#ezakTv7f872~bK1KT1uN4E_g3LBn`Gb8?GkV4O%D@7!czD4>y2a_u8r&EK57HL&Fw z6Xd+y+R+odHA2=Ah9E9gs%N=taU@;8ikntH8SJFzGy940z$WMeKIDh1i-ynUK%sQW zsvKLmcat^w;L1{2S%iPV38k%w1o!>;d=-kPdZlXVGeRC%yyypj+!%-y>CNw9u8rvkU~rP{Z% zK!FEgs!U;p&Oy!s1fBI(X8jFlgXvyh{o&5{n}_9(4R9at=NCN|U>uZ9}!XofoysP;*d` zO&r(-gMD^Xk3y(>Tp(MXi#{zl2bX~6w<1e__~~dKWI-@v@o4FMjS~gY!>BF=PU}lU zKJHRk3R`TysJy7)bQ$z;@MoZ_&iZ1G%U51h+}%Bqml=RB1|eT?F2xc=k7Rt4s& zs2TF9GjwbGdcJ5vP2yyskY(J(otL|#+f+)c+(JgMV|xlC>#Lct;_>sY-rz}gZa)bc zMx&u=LGO-Qgg>P!U3a703ljV{W%YS)sx0P}B99WqLO=l%6Z;&0oWlr&maL3%gZ~z8 z-rjKUepM)?eaa_vmjW%yL+IN8`9q#ft>qCY*DbNx9I3Lk+QsPgtuu|bY0IFSQ%!uC zlUh@$bNK$m86w9LW^u4dPs}KwV#?K}qYgz^g)63{VmcZFhUaO;XiU!i!ju6Fh7e0Y zn`mFUeVb9?(c`fB6b6gB3{q*;VM}<0F+nulEXh~9I#M)J;803_qWz0f)>@+vxht9~ zF3*QWn@qEbW1`Lh{ru6f_xS%tn`#>_U9S&&SRJCVF|jeWadwwrnGMVWmTPIvYrXgi zvGBC+i*M zC<7TT1hkQ;kxTgxrTo=|pNdg12v*|^&WPS4YM}A!ya3{!NBM05g!`e5{azo=cLY<7 zt~cBBnoN%|!<+{Z=47iVizBGqM&jes(dVenN;|WV#3({l{K6x|UgxmIP}N(*jsaKT z`?ZvO(9a}f77auFKECHoTt1vTj3PANVc;F=&eK)PT8G%s`p6XOEW#eDx6`7@C$O?t z6K04}B$s%bhK<8;g|dw&Q(KiAOBXS}dSs!8FxbqFYZrO4BtJ0*@#VL-PH!$6$4v7R zto56Tn-9k?BpkI2b&VTGqA(_O1p^+0f?@{+_mRP$7#oG%cmWp<^$#<0{B=<0p|Z!* zunXApyeNVAZzqk!_S2!Oi7yi@&xPsR`C7y`wG1q$x+g0JOO>3$_YR)rKo|A3S7xl7 z4mKe#!)3Y%WFgDVW7ww*W4JsGKiueVv$H#-Z-q=yih}(Y$Jl4F@h8#j346@-?{|WA*NJY--of^WOFV?pV>3eW)TpJjcf=Vkmlj{B z%)YdtfGNwJIJ+2)7)E#?e6l8pmF74kHq1n0QRUSU)5GR<=0;A8tC(twT~eCWD)$r> zR3O2{OE7Sbvi-vHa49{}Gt?ZNkrHeQ)Ldg6!)g5#GmTah)h#~iirJx|UbrTa9&Z$G zqwhZ@l298#bx=CeS^NPmDQ<+^IUJdPp0qsnLDXQbQqR>WnLw0J+$36$(=qwD#DCBx z#dX-ab5tka+v^nO(aX#Qe=0uPE@62rJis?48e6MeZ9I?yvvX%4jm0bM6nG#Q?1t(= z6OaeJxA)S7P`;nog8yprO$o_@`!X?T>A2zl)OcX&-yn~a9xP8vs3E24Vx>gNVUm2p zxINPrrAl#X89e*~u@{X|?07wwf>xxD8;mu3iptu3Y@}oL+RYR8Cb$vTFdL|!xpec? zfsU92MV{;>VVccBZ-IiZP^6-(oK|mq&MPH+*4&A4zOQ_|Fc{+!=yQhpbA?;XJ&i#_ z&jdPlT?~&x@3m+|Eh@gc);+0~?$hodPHg>TwKRHDoD@sA{p)7S=(Ha0j_nbe4WBo+ zm!EL*0h<~P-@)90y8og=XG5yn7}2sy{Xj&bBw1ocq9=>nF;gEPa&PSO3T2Ab1)7%| zcbY$=?}jBd`a*%4DIL9mp8kQmKyo|UZluU@5#K` z(de#+#K$H`Ik+5LX3~F_G>CC>RZoc|W#&t2Xnbh#8u(z*G*!){r{L@$TXbhqNcuanFPb6!iN{N*K` z0TRsKzH;t;($7}kUbow$VT^Wr20oj&J+ecW&}oDKC75?swLT4Ir+`o~QBr@0$zG~( zZ{K4l{>&zax3M?{Hb-Z>>ZXK|T>f?}(Qf!OBvbDV9sN<_+7L2SW1UHtjbGiI5C;uz zrE%(xE=}kbInpE!57Y zcM!u-MkQupoVw75&30>dEpEu&fpGT>3&TXC$W{V}SUJ22M=!$V$3-kYW<{UoJuUG3 z*ksyc^Dsl?Ee|0quesLCu}EGk?5AeV=du8DdTG*6-xf}sj=YZuX9#Djl`$54_yWcj zwM(Ar#sjO7ev%qZGKIp_aHs2VCM>rKC`?xrr6HnXnzLaG^6?cc|x$yAAU|487qbkpJ zJ+wBqyszLc&o?{q`+Y+6}}m?j)t3@7Q&%Od|NYuUpO*81_>#C8A4?FDVzz|kKPEN6)qUxg zdnd2G`#QJ~H{rWja2papl)|sV?P$NVgf!p|n$=y%OW@|%(L7l}qJ>BkS$3p6(+pc@ zhTIS5?TwRq=l%B&M{KF&H>ZxJ&lmaD()9-wF;DuaufJluQ@PFpad^)<*20Y_=2h%s zX6L3XT#oj17%y&yQzKYcS}GxykGzU;HYI=#nA_~0T7ZcS)5Iok2Xc2qp ziYFgx5fBJW{#;k;q-UKaujqCvT@)t>@$|+8pDCO$x3Qtiw21B1cAOtJq7bRGeB%!eh=!iPcX$(!$#gRt^KcZ6QukN+a_7+OuTG)IITBo=W zBoXKV*ngVuFc$D0_w$bBJGG8NWuF|mNcNRVRc_pRNd=kXuj1C~>_C@i^5OMA*|+r2 zFKL!?@zH+{1@fDIPKGIonJOa|5!SkLi1#4Xj5IdV1L5p3(Rs(%!YJ|R1@VIc2pIai z1)y%uUFLSRIdv9(fmL|V{18&$Xe1-*bDymMLOfnb2CfJ{1nJ=f@*M{mseO#XY{@T^ zr6ZAxWoW*zxP@>JN$gZKd2fREeiInXt>CNxLAc$%2}Q^y|GjW&xC||+5mhL{r#WLQ z-{`HCPwP*+hxe7f)R8@xQi0{kk?ieln;1gYj}BqpiJsFCKw_Q?DRQmb(r|#uWdBQ? zAH7Yzoc%9Eq|V0@7NUm@;fI*N{d`Zo82B#vyFp4}R1$Zse*IIJt&8oVQmrB>4ji(8 zImM?Tb`BRN`Cql$=|?N8XT2tvMhGrQG_nOFnC`B1XQpb2Fv6JV`8h6n?_59q5h8ZD zlIxRJtVQl2{UqL4Y^pjm)NIzP=`nhHsseJsJnng?K9J0@S;=j-T(uN65!DU=5F1HA zn>rqpaIg~92*|SRpoTvScMR|?`y^e~zaCei%)V@zY15Ee_D$$)8D%o>7AUT5-tSS9 z0RU7-DJ1Lfa={si-wxj!V;nP(_v8z^qNe54n(P*=t+7`)|Gi( zA58Y)K~L^`jYL_Jb4PAdbLCkRQ~4ICmIAfbUwXJx*nWqW)zL6q*d^5=Cj}KAq&U%0AWyZnyakge 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�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 BtAhXl diff --git a/test/fixtures/app/doc/screenshots/macos/cuprite/index-without-img-cropped.png b/test/fixtures/app/doc/screenshots/macos/cuprite/index-without-img-cropped.png index 86445f6665c40dbc58dfa17e8e570b35de08c1cb..ada74ae997238cebd26f2c5a5582e3cfca38a61e 100644 GIT binary patch literal 3332 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 KMNUMnLSTX&c+Y$Q diff --git a/test/fixtures/app/doc/screenshots/macos/cuprite/index.png b/test/fixtures/app/doc/screenshots/macos/cuprite/index.png index 7d2b9eda3a88392c10805ec6a23e6780ec18ca0b..d5da2f3f8c5e72ac58387eb768a41863a56965fe 100644 GIT binary patch literal 20247 zcmeIacT`hr_ca=-Cn)L(q5{%P5D6lR(g{t3fE0ymcXsw(YpyxxTF?ITy0IQF zk01{O0^!w1>zG0y9AXd%yX9}(U{9)l^j+`*y^FT;g+LDS?fO1S} zBO$+me{e%!Y#b0au(kgy$j0^S)f{XK{kv@ow$J|i9(J(J$Nqo4-!+c&*ZZBp{{0^` z_}xFwe_p|<;0{1I!JZ3p7ca2k|Jh~(M}WNicmKr;7ua6@bHu$paQ-jjjw;&KPh`x>%CNO<&c)RO1Hb^#jmn|Y^y;a=y`VH$YL{;sEOe=*rg_nyT+rDJr8pN3-tuj)l%ag=b5V2jxCGAPep$QsHuz$ZE=SnFH~Xo( z|Bc`Mt_k*daUKOfJtbT9o*sQxsCOf6U;P3`n1nI@5L>01 zJC((6;554`reYlbwvEbc_WHjJo4O_OhHt#YYWcLqN;T-D_gYNUW zUFHy@MHBT(Ec5n-%r8DeQi-qOnJyPH!IxE@EUDbnt6rz4*N@*FZMGX=Z;l9>T!}qV z5YbxFL|3a94%*w>ZCoDXb*b^#81$a)o)>3BXi3s(e#^F8xW3&fY*SIhvPPWn-o|%_ zyc?R9ReQH(enVI?!eN(v5cku=KNQU=-D@(QTPmY=xJJ0l*UoFyCw*BO&|s~X{1|or z7%};?RJ&zap6)T`7>BCsWk(-GWi8^jTj&QNkk8--BQ7{yCmHBQU*TSc3Pfy0u&hId zLN1@AK{WWIPZi2tBu6vQJ>rwjUr14*+ao_$VjglniisMW9}ZAjud(2b@EN#v6Vh5b zTq^6qkFR-tlmOQfZxCZXoB0v$;|;wSL~^f$$ngkQKh;LFYa_*~>UVmdpMUGT(b!ky zJvpgD&Of!1V{tfcZ~RkS{l<`Jg@K_q`XRp9E>xcygIHwjQlklur?eH`yjL1+ z-9+D>kf!gLhZriMOIj<;)>@9`V-MK&&r2;#rpF}in6slB(M2hX`0+=yy1yRcG1f3$ zIeBU>exikGcAHEwK4_O!Po;=K#mSN9?8;wZZRO^q_jDnU_vt|#Xjc8Mz@kMD{J~D` zO}oE8IwW$`_XM9Gcp0(!A}XL!H(Hl8xxyKxRt#T|c*}SP<%DuTVdUsppU#7EbM)<+ zsZ}a7bgf6`B;z6*g6$>pBJ@H}9O28Q!&fZcEaF32XLxj!D}zmZ;&*Htb#uccHk=+? zB&ZeB+rx5931Wop&jHKB7&D*YTN)7o!CK(EZUjz@oT!+-7M%zI7c?zZF)}+CH;UH^ zK#D;TAtvB2-&7^K%P+O=(wdYR2?kkK%j}uqkyKu`WjEB;(!QF2IR(2cH-Xd=!~V$` zvl^DIhlm>e?j2Ual`wQ|Ub^A0+?aUk#qq3g$%VocjJ=Onv_S&rpN5rf-V(Ff1BB+9 z@OC}hp#+SMocuX#63^*PTZ$}H6lyuO_U(43H{mFu*a#Ny*bnfBym>Lh}IdO)nZTQ`|{_6xO17+D}5B_YVSkF-sgn+|OnN)noM(b;9 zQp2CJU+FNS=^YeK`mq@E^xl!SkFF5%=-1SbdJeCU3Q#23DZ3Khlf3$(X2YiVoHwKp>8NUFvVh82P z!)*jYD8Vn{W2bM1Q7DJ1KXb}d#I`k`InHQ| zB1{LS1XG6{llw_?fwDu{dOS!-!}&alh``UhM$<4+a$vWcO;vbDG4Wj|4gXkIu-(0< z&?eEkhrMNH*V!{9147_23|FjAAtm&Q!7h$+3$ylDuolb*CI?e6U27SE%kxX4#8S41*Pn?c z!N=hALTo98p8YWXE1mcrk0VAr2$qQixsdyVR}3no4AXJWQ=BL@PicFv@nFG5^1(a? z4pSdRFGdC`5Pms(3rU5YX=qC9KIz> zzt)1r>F=R)@Apv5EA;1naMw3uU zm4ULVnUC@FP>Bjxdzpwd2;t-60OrEj%XJ9(Xp(PNJ)U)?tiYQhM2^m0QX7M7!KH0_ zie`cg(XGmxw$TPg9G|=;e=;tbmBC_sBA_=tdy4h#uFX6Y5GKzv{2HweLm>7YJ7y(k z%(C6KZg6kOfAj7tIg@tKTvQjyP7XzcBJR(YZ1=@JFWlX_zlBYBOUJFwZu};;-bw_R#Ae3NAK8UA`S~U|*{T#&peRA_D4o|8n za=YfPDLQOD7u9LLnaY_s9hIVxQ!LD^0;J1#Kgc=B{)nR(E(FKos^%=J-yObZ5@A%| z_P%;c1EwuEM=@`16AODIg-XOqy;y&KN^PD^|659iEm4fXG>vN6CPz9MVA#>YS4=OG zM{)13vq^l~%KeVFP2@S15>0%6gZF0;={P&mHbi2I4{;Gs(V3T`7w_T#E5N1xMTD3- zz|9IxSuHb{v+^Vnv`g~Rs+oC9YGyTVsa8liKfBGjfymNzIsH*e?Dhc1?Y>r@nth~H z>j%MfSinM5j&+tlHYV!O-_(FCnXlDeL(goltvCysbB~g}oZhQ@nb*7ByqJ$8(D)Q6 z-tY%|=C_rdhHxZJ{80kE!%51IzqXq!&al=%0zoqwDlywWH|a8sZPaVLR%BKyGM>@f%)1Wd zgIe&b-Nd@&F689?(UbdRQ;iA8`e&=_T-gfDYnJ(EW>dq7ebAGeYT^=;ukT)ja?89h z+|pUjxQAu5O}!>x4sub!3cfdEYh_-#>n-hIl&d|_QU&Gae{{3BCEL`rtHQK4pKPTp z*N!A6U^HOraxAdHBc@!bAXp#~;9i`#6CSNM^#U8I7=iY z7F+#NGKN9o0to%BJDMHMJwWeX&sj8&*!Sd*>u<`pvfD}qo%jo5@P<(a{5g&2x}=%hRJ@c0Igs%#D8tp99GE?&CXT2T zQKvN`FN+msuf51eDFNbU+o)fc$)nv-_!zB??r0Afd{)@nUBsDq znQFr1Pr)1?Ac<%7RjdSKrQEt2cWlEI$Fh*pQ_=vZzqQ~gdRtniT&@mIrZW01EqJ6+ z+PwUfYisRnE&yz8q;bFWcQ0p-jLQv)d$;#-Uf?kz5w3Q zOW%r1@LIu?BNfXSZC&JV&;u1JSavOSDq9#X$rlW712jbhr}hK=C7(p_rzMqOiK#J}#H2REV2qE+ z_?hkaxr=5^6gJU+PeikB>ui~OporPk7dCAQYzU6En&-$XBPKZ@kpV;`y-)SWc9G;> znpD8IU0;(8liKvwdo1gmn-(9VWIehv4)fKJM-?P572=2x;$w6ndvEe6YV`5cW4j8ZrHpL)%mnZze$fpK z)Kt0UB`OhmGRW{Za{G>335n)Rg;!MSCB!_N&S`N>a8sgHWT4yoB8~uuxHCb?0OVQ@{8^^ ztF?ff=%kWoQcghyEG-{dd6wJG7Uj6wbPI~1x}VuVnsARpPgz|>Cia`aRUc2HzqCZ6 zurY_$-A76A2it1Sk(o?iTW&^*9I+vsdp)J&8Cw|l0#vvn#9Ma}>IBQfY~2FZWkN6t1qoeh}**qq? zq35Z|e8wB-yOb{&{-hnFs=lSL1nF}!PKMfM^U`Dag&p$!mrIeCtC~aiW4rt%51M-( zDo8%`OC@UTZVTtKA!_-R<-Qre&yVNf)0NB5v{^!82?H?~CO@y6zOI$m<=DzNBeYo& z#hNL8QG_HO#WjR+uX|4SzH@K>v{n~hbHkxXenczml)-XPwB|hAAz%AyA%kcD=<9sx zI&orkU>Mi;{ zK4m_hJ3sIo9+i_k*zV0(3C)|UzPJ^RRfip2ezADt)3S2~b+rhgG|_Uo>{LbeU3T-` zkNw=MJ4Ty>%T}J6mb^cpIu(<8^U7@b!6wVqJ>8^w;3^RzSRzS%$_aWMYEf}(;eOtFtMi}KGuzJ*&lsTQu~_?=xS3}k&&?q70DI=K)>=e&xL}Y5 z5Nc1}ByF67eA-f9f~YFt=S_)>cCG`Yz^G<2n8x;CUjlW?7gMDKnaSaI~vOiI;F zUQD7Jtw}J`>0~K;{>Ym>&T_m|qe(&5An*(K{T9k;oK_I`s`9d0RCY4eh{59yO1;^`LesaaLJhA z8+LlrSUxka@y6JA(;h8uaOs5PsUGc?0jB5|kPo_ZB+>%IPg`Hax4vo*gE1X$p+B#` zB<@nf)2FmEi%KC8nPmnR>}blBe<951ioruMhb+J$fa=_XJBYt}>90W(L+K$8$g?Pd zb-v*vv`J;f2kX-l=oc;a>V5j((2vORhkP?A>D{rB^8A$K;dW)HG}O3?j`4tLj%-v$ zD5P)T`Qna*Zg9v%GS-%vvqQmJZkIrT#JW>Xo2uqaDh`H=WsTnW1eshYl(LiAsaaC( zI*NG(e75}pNOm<7xGt&WWS^-?;L&Q-=kAx6L9)GEUvF__*X5lyBeqny31YEwrpm36 zbqXu)+rdxkGTFlGk|2QD1_2=#63o2^MfPYA40PsSCG&RF=DfpCSyYQux~*C-2=9)G z?mBGz)YDKo6|%h5%R#VBE_h5_U~I|zovTj?DTF)=Y4tY$d1pKHscj$kqw?mFB(c8^ z0OCaQ049Z2AooPYJ2UJ>H#bvlooFp>9q!2r1B?itHXsoA3#RdmOL^FIf9WQRhbx-{%8Vz4x5p1jw@j0k!fm3E5DFB<|dc+xfsAEN~ z{To!coOLwB$UM#f*CM8-*LXD}4Pew7RJbRb6cw&6%Dnfq>1y3`-%F9j>VzHRwCT&6 z@u#37Q=(*gYtYmfdf{qrTuy6ff3;nYHrl8mH6xtpE0=SQpEP8~ZdTMKB8g4D=~F34 z8~hlTgp(hscN%~Dd)ToUIbmwPz6cfN*L3S2PEWGGac#-j zz(U;w_btrXB(Wc*+1Z89T}-zFFn!ghHvM_*!YT3{r@ocr>Lca82Zj0@P(qTqQm6)a zB2?5BV{)gp!WYxhTAK&!LJDRbC2Xh8cd7?}-Yy=Q%#59IuTwrOp2f774VYS_^x1Te zc&G7+1m4~j`j>TaK1x-=Zig^R1zX&c-eZ1WR@3uDzi_o8J9Uo;R3z%w0oP;(q1OG_ zbi9414rK$Cj>;*l@#|6U(p?(TnXbiYtQH3cj+X|DTU$gXe=_c3%{{Tg+ zeSP#5_A3dTQJ6z=kBW`9W^-J=bl%cJvo4_YFRk*TMj#cSXfrCmuq*savh@rGo*ClXRwh5;BuKqTmv%bb3LXmCqebUW5WL*7KSBL^2Eo)9bTHJwI%!{ zUpTk@e#QEsc-of4Z{2O!9yMFuDSmAV8O7%0ztR|LUThXbW+}Q=6jDBR>&8K06|cQL z17C!+)PmCb>g;6CW(5w;exrwK~i%u;IL&i0#{D z>87$9zqM{d#i0`Xx<288U%O5axc&cS6bi>aLr{qVH7=T&TH#w~<-V9?UIi5covYYm zJlSJUS}^ww#-4|rMrMCDUPv7_bE={AZhUhGc1xX|S@Cj4sxEfyEb}=qpMi$7D$7eqH%PD{ z`hdmrOLGy)Zek`m;?jDzr?IJ3zE1DVQfu5D>qBk9CFviThLUqv2R6Ld?~K{sw+%j9 z_V-+11$F80csbRzeVv5a(=W1MlhQidK2t>xm5p+&iD)5q)v6&Qvj^}}W)<~lmVau; zrMc-GYDcEI2B~sIDYEANTA%d>`T{u|XU^7ox!^0)Kc(O$xMBNp*y(77t3Ll(x93Zo z39FXbt*T+ivAoKx$2NKG!`Pk{{GzE4Yl4N5bxUgEfy-m1i4RuIoK(z6G%sVzu0ppp z%7A3HzqyHKtG6Vl#7jmk#vXRrtvKQG^E{KRxwVTbpaa$YF*b-Kh7Upe!Oe=m8C5lj z&Ifkf=P}Q9n#iBli#FKO?7T#1)1MI)U>*O5I}-qFSd*Va@=lV2YwTIq26hGeec`po z$)VXu0)!A1p{=Q{wHDlM{1Ym~FD8egY+dr1_qYy&PutVnQ(K zf>{`RGb1MBjnvrBcR{4an`;ts!^ z$nGf7?oRVMU{4g$DqVI{o8kn}x9X&bWzqNX^j!V{1jlB~V?%d?t{{rY)HeF4eh+Z4 z8-O8@2wDTi-Ny>UTc0 zn-ty6-rKBJxA}(<95~G-`BSFAlTBFlm{lj^7%R^URO%llVpL&jyOk4mC*Opu?VYr( z*|xC$kd=FLVyEBew}1@J6dusJ{YRTI$(U@issmgv_g2pGy$y}J(07NtbL}P4yDt}D zludhDZcwk~{I152=fo8lV?T{MPYrRVr>8CAO7LtuMM>>@ayH0XvBEf~G8c5P^0K86 ztSIH&aN3y_j3*L;2+VGV_vycEU9KYAW10df$2=c2+yIs_-q&;rJpu13+GSdVm2%;F zL)Ev=5%KAL+Mi~c$8wCuQ)e0KUL^Xr`G3Je-#38$s`*=kQFK-iI~uEM%CFCbU_*Rb zK7+yd1|lWpc`2!ND{6g)L|~y#nrrCE=TzGCN@AbJBm^5iBD>#?v;!K$+F=H_U>I<* zcna$&Pi^Inu6X8^+U8#T$UfbxRL+D`{OY!Hn_hL#NANo~g|JKgeelU5bq!Z{LN%Of&K`n$4upn&ev4 zvUQKBY5Wuja`ekqKR!3PFSN*d8EP7TUT=a$8zmC>DurG|NLkmfQ*^b&_M@+CemWxr zb(UNK&ZG)phc$|a&yUmGRvOg2rEPP551V^Cr50h0MD?7_#63F-`jq=H*L^=9BLO=E zyHLi{dtS1(YL znQCW3!F_AKb%}PVM@k$%mbE?tkR4NCBl#+8?n9~n&`A;vh{GxLxBMxrvMH3zQnOVc zdvwdymVcUgGu?_P=zd)|V1|e=Gx}h#*g`i0Rs7d=YtumdcVAFro+_R!n7Hq2+o*?>gkFHkxn8F&m_N*Jyk7LY zq|~R(!2DqXF{z~V6Qefcj9D>g5@KMdZ+SHOdSxuZ)F+4PDw43{SE2N?I7Cr@wG_=3d*oXzQZ z>){{J-^iw)=b88m1SafEXH#i`|3y)*M8gjTG(DN(>OrT?ks<47!;x#a)*IUqh(M=Q z3wG?B9w8#n?HP^rL;hcDrJW9C12#CP6`QotPja-!cE{X6!p|v=)*GMJaxD;HaB_^( zG$#5g^0ZYCvWqD9wphvxdPrb3FBpfz(_4`@$+3((4Y!9Yx_V0F3aNq}d10bi3zhL~ zOrhdCSgMr-ru!LXU~+sSNg{CNg)dCq%?(TSGE81*uejvtF_E28yDri1S?21Hduzg$ z@~SR3ablrBc!2F6t8T#X!h`8kP|hhX{Tz50AhMl&rtLqWl4SdAS5#N2oTsz{;=%Hi z*W`iEo}^jciO0Hjy zxOy>lshV=E%DB-``>OSv8?&mX$aL+6al2rx$iki7b_K3;UG+XDRmPsNmVi0*aG0Sk zZnh7cD^)Q2e1l04L;R=xEnqm=GOEI{$NBhjY9&i!ghe^7GJO$?+n@6|t`5@%WycL& zjMQq>nR6!bmzoCUOPLFNo~$W|B*LSz1Z&){G;+Qgx@O+rwwgyVbs8|!)=6!4hYoWl zVALt1*&^kKyp!pLIer0Ymx&f%^g%f{y~Z)g1n&F|lxPq01{;E2C_L)B-={p@%|Xb@ z)sZj+Y+~R5qQSA+(e9fzI@eJm6!9|KB->xlgbU#yPQ7#cJ?Z^dq!<{7S^tXO$Pa%U z^Th2B8h(*5lEfoiWiDUY7aP|zN@}~pjy77N@N)58?mR$vjP}$4fpwRFBZxf1{6QH2 zqXYJMddtEObqXE6FcIYML363t!j4cQ2@CsUJwQTMyt0>(P9vK@kC8pHVPJ|wca;*# zK%WH=4MK;w8p#N$sIo6gQhy8x&pE7F5zKfwsPSqzd^;WyiHU6W&TT-6=c`|Xv@j{q znq2>!GJ-1>6n05;^3ZU29~i}&U7k3unQY{*P~3ii@0RJDzC=#$Es5(0k8YGi3`21x zMA^r#YBD&3=62*6#%Mpj4;~gvJ5;9kU@<20P>VDOXq2c`f?_dM3Pm%!sBek>aGGP~ z791OEcmwqM8eSm}34D<(VW3-D0^H;aZ)rsRFfk6%x8_!gLS#;i_|#%t-LM7Ivic=x zNQ!ao0Lxt_CR=d1vsGQ(Q(#m>-~ev*6$7nlAORmcqsN8AIK$*9n>D*OKE|HuFPNsk z@6Yc2YE@FgySuZtA~r7_%^b#EU_-nTtIm=P&6WkMRSbG)N|^iu7@cO=7Dzq!67;OH zWFqujMOJXMu?U~K&m6|W)U(yQmrxItNjcMNo+tP)t``!%C|}49NV$|HIXqhm#XF@u zz#S9v^!X2fW*+BXaIbUzh0!cqwxEddBbJ4fZ(bKIj6P6Ux~9stw>B+V^CK*j44ceGM6dfd^~rt#j$` z=^@2ZQi(KQFVOwR5$$jAPRa9AL32O>W=t_P{dA0GjHTuV{Q^#Q^ww#&ml@4qB1Zsc z;TULi!{9glBk1Hw)LOS$Tw?fY)?85TA2~dP$NCf~Rv9g({}bJU?g7{;I|kPy<&jb1 zXByz~^W`Clh!{jRBf$M?!88Xs<7<~AAslB|3XZms&%KJ#>P#m|Sz5iTO#Q+q=5~ZI z&`MaZN?1Nj8ycKFJO$mapGb3xh^Nacsw30O_ytc(+g@NGf z5rbKNfg_NuQ{G^&EuXo}sDq_bfOyIr{yO+0W{N9i^?{Rt`G|EXJ;$@6;Buj)Jwr9c zC)rIGtI+$Jb@ijP`)wL-_EK3_-SgKAd95fd1po7%q~W1v>3cT);}O6Q-pIJ<4bdOX zpYR9};eBf+)AC-04e@|w*kq6o?#`;q>v4{8DO0F0unM~Zb6q4Zba%e1DDbLFTf`qV z?bBa_N5N|m-l|J;GM^c>x8RwQU$VFG?iEKb^IWdj(;f5-JEjQ}={!Pc)1e%zxag2; zBXK$VG~wtCs=b5`LJe{EvvFw~lR8kkg1FC6A;0WCJX2+?IvKfCZ_#MDW$ zp@oP-5Hr&=7bI$&26~_PZ@UeeFgB&@)NG8T`;2k=S0(gzGyYS^2bv!&c)!`p(|9nu zqp>Z|C2cef1{qW^6d05Tj5daMJ0ed9k&r;%^7I;5ZmM-rO(*i3L374n*%}OGc_A-M zvCuT#hl#6qour0SqlsiQ=n3)&2BKfmM#ponaX#Zr1be6TDQ8pO5f{#6gORM*hntEZ z)8c1ocK7B3P4G7$t#~OL=vh@G@65itU&f8Vocnc8VoB89!ls%>j{pyTdZN!I}h2R zgnBO9Z3kiaf*L<`BpDcsbn%(8ITg7$I)Z74w{6Vj8l&og1%fMAcCM`i7?P7f=%F&# ziBH*$e+@%{oY*r72lG68XE8QL?=@ zZ{8IctN>F-MlyC*6B+4-S#9)N#FzanFfmy6mwE0V6D{XwHVcqfkzx=?2^q9p*aE*1|(3g#6#{Q3=ww_O5pDcFuCwDe2b0p6s}BxqF()R3o6Kra+1YU!T}C#L&XZ4b&h~h0FOVk*s|x&?rtrOs&TB}%zdM+ zhx{GO+d4B~Ut(U}Hj|o5l)9-rU|N%f!(Ye0G*wOOW5O<*TDevyB(fVd8gv+mk>h_K zd`7)e*A;xjbgtz!^`_k07V`tS}b&CzqMR?## z7wfKLVvv!aV-s%VjGUrkg-5UTkq8>o{qE zo_kDOy4kjGwl+Si@fuPHs9q`Hkh>tdO5|ju=_Y7^@}RkTYk9Cx&$08YtwXkF@>?%8 z7V;H5>NK0!D{-n#4lS!ur{hxq-z^`F&G5OE8${eRmp;*{2v$~VBaITDdJ;56S-M>C zyg*R#Ri1Kf@`MpYzy8pEoNEdF?);uaHWnz!Yr|i-!JnwsE2jQnOYO%B28qmPoIVdN)OWH$+fdZh<#d^x3NJOk337{IVG^?ALd< zUA}K;z_*TByTF^MzV*}WUI+xTSfJ<)38HV0D5^~=(*)l1JEu8p&sB=95Bbvk3oJ|j zs(s$9v@!Z%FzBH0j_k)1^&1}?;)MP0)IX=^hgeqmOstNG1dc|HIf`yuhV07jEz8!g z2k&iW?kVrA+3oqM2GGNp!{3$ZtoeYv2**Z#@QG>G*SQ$N3xRq-{cDKVCS#2`;1-y`u~_RgbI{Ne(yFvj*#Bl5|~J>Gg~_k>GsZ$&l_r25xJ9dxhtT^`AKo)GX`{b=;TA6`zY z;gmDhmxMHZjzGoNgycWCkAI9$tpS>;W*L-Bd8>T_5(&4NEyuUdwNt zYAf$vCuLbaiGj3w=TPuJHv6-Xg5_-4sY5OnU%)6+|NaF2xnb|2n7U2n`ty-GNM7L4 z_+ApGAQ3?zqU%Gb%*C11FNzwHAU^PuP_azbtV`Sh(a^ga6S5J?p^FbhJtkfHhy39yfV)j$50VLBIyEFN`^3bb zlB5@;q&nQq`2dB;Y&pV0ZesR+#xHi?ybjU#4dnjbf5OonrsT~0oWJ|DSu`Rv*qHLW z{043Q`=;6}@v><1)J{;%#2tM3j~+&?ekmMj+MLX!ceLK8Y%IoU4B6(LV3d72?~XbP z74|c+nn1??z}s~5y^!;qc{fw!E+pjq*s3lw{^&}^Y7s-#^$zgVj(YW(eE8Sm~3 zm9uJ8%$!`>nkn|~DnG0`TQUX2lYXLJur3la(GqqQ3<%IIRg3ae2z^%CN>PlY%pIrg z+2v2Nc0=`Y5XhHv`RvP>*5yip9eU7YhV_urqKn3Me^*%>Cbh%6Zu1A1ohtLW>mO4l zt>XoT;vfiX-LSp6WVuaO@@ZnC%NOJ;O;RPAof49*zF zwatKP;kq%xtW%sVX*xXTC%mcVRkQSQeG8ydO1M9O#>zH>TJ_a0R}_^Mi7&QhUp_c2 zNDBP^=lUi{yO#clJyzZ%YQJopuU+kw*zs*R1(vMYFD0MS+=qa%NAQGi3?+~axswI9 zwZWEkp__NtdMqkeXlg5;*ZZRmh$w*y^T%6&_0~j2epZ58W}boRtJA16y>#oz*-I;q!GH-`7?66IBA{1}X~6?tyYvVSjIDskxG#!YigH62vH(do%b(^O=FZ z?c`AA-p-`Sl*Sp_c`!Bb{=1BFB;uHpm`2EFg|NMiW(}_gJ3PlG)(5>s=WA9v#sK~b zoPYQ8udzb!Fn86-u{cpu?Bkf^7Udw;CM_a7iCzbQDR=TmkTSSTu|#Q$HEHBdieI7HLi7K zH6D|{(P|Rj*L(*YEB6+m6`1@#sI(Ts28j zU7$m(;rmA)={m02p|Q8)Kawi%J}|lm;=_w>B!9ZALXJz?Cj+$VmwEV8y!Zjklw+TA zl0b3GL(yy4<+cOVKp~pjHT^Rx2d257$E|EmtgW@C+s|#*v*BUm zOD!Vei5j~bt1LCzV@wZ@R8sm3LO8Q3y1N)x*hc8f%M1@z^}pMBAILx& zsVo9b3i}mp);^H_0sLJna%d2oGoOFeEd3 z)2ts~If8mUJkwhk*<(EbBTuD^-u|Ig{~Yxb_NkS}KfG)oo}TOu1H1et z#OfystZgX&5Y66#*AwaI?ibK;Q85o%Y&eid+hfu9!uCt~;Qg%IpOSe`*xdiRS{^cA z<)XB+*c7K&J7wgV+Ev;tq6#Ql{hiEV0P=IJ9;!vMi&(Q^ImW#V?V(6Uu;#y7rlz++NYx zTNwlBb0^bND)MuHiJoZK{cY8KV0*Z;!U1`|5D(V*T+VcPpC09(&}FRZnY8<8d!fEQ zj0C*+QvbODe_O%cOPaLREWl8!GeSm!CM#%l%f#Z>lqbsam2)1())bZCB604ScN?K|euCrDXFZL$a9If|ZW|zmMxs9e;yM^?eR?c+z8Hut0QJ>ZM=F?gI}@^%edHGy zrAL<^SzKWPj2Q&RMidhJ0xTfmd}I>(ov(?UM*{0)XT7^o2*dsCl3C4mGmEfOzjpoc z{uwQ})^P^_UnlJK&oE8cAqsLSAc7e%SL-*^Tfr78SnZOC(b-*=-Sc_(uKNd!-6w-b z?%vXe6P3)7yb?-R?Anz7`3vY zV+ZHfKoZUL6?;#1DAdptznOS{OlEH>=!f_KMO8UjHD6#jY;bo#E%MyNuVnpWzp3lb z-CZ6M?v(hn=6Qqvt&q8jE=`}^&B-HnTb<7bDCST^za2dD_D$1=2^ix}CcdX=IUISm z!pW0+-AbNNj6FCb&)x0ggPkw!6JRx2<2vSn!Al0i$`re49ecR`Q*)43e?>CgV+I8_+cB zbPWx#z|(erQHRFq2a^S}&)jt8b~4Va_5=6+aL-H93Qc)3eaZ!j=usprUZ`%R2h?v5 zAHM}VXPSXl(x+byoplsVvt8-R++97sZL%DmkyJuhm{hNPt^Y@(UYN!!F{-`i`JNX; zjve}!!crIbPWudRWq`&}Vod%}fQ_tls0@QtHhXv8(LWUouBZu}%ZH-E1n^-Rre9mi zs;!rQW+lG)xFR#>jh`|k|K{PkmWR|}BO_a;5 z{SCz7LiN?+XfPpBg87B$@%u#o{&~d!Gw=|ErTymul!HZ?J(;HtH|GM%`vhp@i(jH; zR_NS-PC&&Lo815Mv?5t9xhx%@Z_JVK} z4j8%!bhbv|#~4I-)~2=o31)c(MX%5u<9 z;CTGp8ptO(*6d=_5pNVBrm0AR~u(6iDr>MW5^(^0jrnKL^h3`sWsVJZ4&TQtMhUwCfq0>M1Q zy~%&JZLX58J_L$RlT781+^zdxuQplJw|f0MnvQ6w@$y4u@V?7iD}ZC3sSj)5I$=m_ zU-1E#iC5a92z1Rj(DQKS-OY*TmE-BY9j^4@5{D+!yq|iHWM`zgUA46XXyB_@V+Bc>JE%PI%;wMwYQ4Wq$YzU*D`zDArQKEPs9sNgs zpu{$ZLuGlVf;5UF*2^(>aCd_DR6mXE%*xHPS6`*-L;YaX$bk61PYN_1@ykiFT}8W3jJFISiK0-^J* zh^-#_OL&0fBk@=*AwxnL_sGsv2`DlVwf?P!9>l=wkzU*Vc8>UqK!Qc9%b0JW?~bpo z8?u178%>!7>e?x_*Lq|*+4Yj@|F-+RciJBCRgRlLq9m4o<$t@7=4lR@xTex6Kykjy zoCQ}5qQ<}PVg7HA?AY%H{=YoQn6+6w1ZL#ed%LtQi;A z7AY<+9xL8$;FUz5P!BFHw=?I@p0V)bo*HBq2P180{v2*}c0h8j;9;k(+y^>`&N`^v zNX+>9Vpyp}_PB_3C-x#Y<Uf4ECF_g$_Y>FlI!(1NvY9d{3EW<&lL62XH3ii5vJHxttU>ZZrZtPaiel#P=L$E%y+vqSt~^Bc6=y)vhH2 z_iPsF@h9w-*EZg-4F<}K5KawIgE<>zCACXm=N7-+ORFAOG9U*xdXCki*L%sYiR&pf z0}Pv)l`o@gazNkwp!WRBqJ`D%!9PZu?`W^%MrT;)Y0qvHr$I#j*CN(QKRCFhY3Gix zXb~;+@Q+=QvnB={n&e8&?rqSm-d%jsuI7$4?Vg`wYSiOu2+Gv=kc94v@Ako`c$x?{ z_voHO$~BH#F~M`WjB7IwfzfeHSQ~6+G`I?pU6HEx){LuimdXq z(1mJBY~-g~Nc8bZ6C}^j0^8QUjt0)$`#6u%UUJ0JJ$t-1Ce<-$?DpR>V>=H?NN3Ch zhm&wH>?}~WEyZF`5}fcOstb8E4Nd2843E)(#hF}Z6T>^i?qh}}jOJ9<&~7<2z0BC! z7`?FTgm2Byh26TiP?fEd)NAPZeW8F%Lj9XB29#Lg+BGuCYdGEc9J_$tA($JO%&NS1 z5j9j97S#_g6w(*%2bP`uXC;F+cn<Uz5ucNUkzF-1s1 z!&#E$=q>r3)ozcX#vUx7w`F#p(CNC(&aH0HXI_MA@y|I=cvIr~C(CiKgw7(`-rpI( z$xfH8vxrH2o$dGr(k{*i3U<|O-yR(SV->oz;9Ua~TK1whP#)kgl(&`bgfV>Z9Tv=a zxmz6(hrzciMm(AZ9B@r*AJL~!-6nZ(*xRcncVrD!=BnRAPw}tND_GjAuTEjIpBm~l z;u2e=I(>laP)SI>WZ!yQcz`N3OR$rr)r#SO0c@}zVrTO%J=18;e z+85u*(O1;+M&5%qhrvfYnuR>`Idc{Wghaz7Pe2NF4KLJ|MgxX(ztCCdyUzC}F0)>l zAeD^DwxHOEE4Rk&HXIkR!7J{|rexohiE0IMA5BZp_P~!zt6hk$^*g zn|>J>$u%ES>oemAt`3hmv9xb33X|i?r!(y+pqFRUOdujsM z@2u@_os=<5o+EIA)?9+?vDxjWBqD7Rk6Gxm(W6^xJ{xJs)@Hx+!%R2@rxUgIMB zs^xlzBJ45llaLk;abHuyVNz(nbuFruelCqw8ExJqbJt>JoO94i#?nhibQO?+H!VHKgPy z8^K&rQwla|UR5&>yuYBD0B&#%$=;sN1TX3=E?i>~-FEu*u*0?oL&Ch)*0m#W zzb-dYpHEn1=tZW1Xs0T{nIet}_XM~npjX45kD%!d7OfF{!$MmC(7`FGL^|L9;43k$Smi9tbvvhu zt8?@YQSH;NwPnCzLa7wX^KP=FN5lQKm$K*)K=9781@QdJpwqJXgA73v1zEusoPJ|w z{~PDCOd~`b9PVoFm;1B>cx#<#V8$zJwGd#b4HdtnBmY=srCLMg1mu-JIhyD4gEu~o z3h;%<&r3Z!^^OHutn{XBf5&%gEJQrn$@UjpF#MjtW2lFrkFy9HkVjz62yf8ylC~Dz z2Bgb87E;2Yg*1&h9miPioodGp*hssy^z}mGboF3yA_!-E_PVfO3ctWTyQ>`-CFn;lEr70}y2`wxtR3AxnZUTI57!}c-2v?-Z>&7}~V)|Dv zy?0Pu3A-~c*B0?l$!;QE_C8E)+{{9aNB562zg6r9buYMYw&f%=M$yN~ZRp{QFM1oD z+BAEWo%k;X!&o}$yl?Qtd^Is?p>-G;7ITl1YvYJw7?~2NgwU2GcB_$oV=7Lw1!~9* z0veaBl**ZEk9GvA$0Hvu6c&b)*M-aClqen}ShO7b>QzWW zsQ&O9*0j4VKYrK-^5)9KYvc-!$Bb7bHeL6#+%@3!|C8dms~u*%6HpUC>l2Xe6C1)~ z^uXRy1;^FGBZ;@QDFJxp@NQOnvoG>fJejbBh;u;Lo7Ar%{va@DQN3pYt19xhx( zkZ25%s{GJ^97b3_KS3O}YW4c#{yIId;U{6d^zXuk^bob}nf7LoXij#pK&|us56K(g zuGu4*bSv*p$HQ4^u@(E3Jyf>h>lBZsvnuO4V~bW(rt#@t(Sdg9d9BBBOBU-1OzqXTUQJgXI1g<( z9HIO4kJRBglfoIZ?UI&%v~YzfMvp{RBs|Enw*ny6W1~(`a<5mVmnjAM>n z62uZIDdZ%-AwdF<$pzSJ|7&4sJU!yh-R{oi04xgKT(#YZJ1hM#m@zkh%a{ZnFt;~v zFkBL_m)Y61+x^E%m6D~zqSmoUm8o2NEAKkITbDgGDW4N=Dv?{PrDsGHJ~>wP9I=7@ z^3J6g6Z{}k&}`teFpqV>>G=1A^+vs7sN~=|)X@2Ay8apL3b@H4C&z5MX+TkcT}a;Z zrK_w~)npz&vqY8_LOGAo6En-t}rvW|v@_vzWXt!po=AQqQnBG0=N+CkL0!XO< zyPT>vzY7w~23^>*P#t?LW~J(bTN-d_-|)?zE0QtqeJKz7irlG}<_nxVykO4}Yp!Zr z3|#l36Jt8O9%P+#32ZZv%~uh}&zj!KT5lCpVn9IJ5N_jLiYM85)85M~ z%Cvy{ErDv{Q$}{g3+potKy0!icQvj}PN!6;94et4v`|UyEAs!X7xIwWG0WP{9 z?oAh(l7zlspG)n$wNBAFY-eq+%mCJ+Q-J}plK#|+zs$MK0NF(EtON@>sduu$kaQYN zElBAfFIz-SvxtZSoD@@FHY`e)!~u$Yysr1xr2qV1WX!^Sx&}Q^U7$DQWuMUl3Bm30 zUYo2VGj2D@TvNG^69}S~x(%qDb>0^K{sdP`p*h!Uy^1l-mx#qc>D%(jCB|%gYq*_i zBo4I{V4>qfz=v4OC1hX~%mnYeMz+(fZZ|mvhehgI)Vl9?C-qGB%ZIe=7{8?J{=>hq z5Gw7^2YHFP!lj|!QFY)yy>4`!A|yKWEZBp5NLKC;f2M`+G}(?GQYZxDKbE88SlHy6+eOr1g6eN%N&%K2`okdN1Nr9Hxxgfsml>6m?MVmfP2A(sj=_`K`J7 z{}Xz|HdJF0bpNFvsS?Www({Ms^Mq9sT5Wc;DI~+gL?O@9Olq9im%*r@8!(Nadx5EP9c3At(T0x2^cAI1Fj~j%x7Z_5+67LflkI9bne01}_DEt6zXQESG$$EF znO}FTzPr;GS8P|BRdFZ`6K=csjSYfaOz4MU=ZhrU?@qk{spsZGoGEu7dG8b=?k@%ys}q<*qj&iv0Bvhg&&AD-w0V=M5e4Vx*SXBD z%PI&71-La?a9{V~B3G} z42kZC?*xfSAj7w@!KdCqPC{?sce&_aXsB%aeH?Cf+E@GejLeW3EJGj=c!XdVkJ!?x z+fZchS$5STJzDK1t_>~04tJttfSnAYGTC(xk?$ZR+TU?bi(zE$y^Qy57GlN=-&cCSv0k_78lna#uI#t4l0UOBuv+DCR|c4FJ3n7~Tlgd$wHGnXQCg#zkqS&eW1?uL#j?z`u0DCEmQ&A!b)jJW zS~8z?ax$w=&oHlcGo(zl2qUa3W0wDJ-avdC#%c(A`I$dRzux{H)!mNQZQ04~rEW3& z#$i(Z6b6&wkd)!HEh|(XmWc5c_zDkEd4>1E6$&{c+Q$6E1*G^Tjy+cK%@*t`YO%i& zcIXf3L;0f0{fR2aAhPHDh+D0Sa8{4kKFdiJd*U##jt|yLq|f%u5n}AZvW(I7SV1M4 zYgZn%HlWKbbfrB0Q$fG!axPu*XaMV4Y=)ExEVDv1EWY{)H4xlep_UAj(=3}wAsy)c zFiafUfD(3GgEl8s`X&d$;&v+)?6@R>9Co^vGMSikqz!tB)VuUY z?%bwT!wtQT&a6ISSa0eS{kx=ESDf;SZR&DwnB-I|nB~+6pkqT)@h?k^8wu8q@(NR} z*)rF=G6<`R5!Zk#GKMW*3{u#LrP2<;9GpNP@>9TiFH-tu_{$piTuYMazQl|hwx97v z1`n_f`A^Mx?@X}vCR^7Qnt8yRT1=F~{eazlC-`@qn$GcM@$~UaPFk(zk4*Y@yA1^V zQKoAcsR)#Gqdty?CTeWvo)ROGQCCI(eTh68G^?g)6{ytIyDh4+1; zWci%IvK_l#Xzz0?Rm&qvfsI*Rrx_&sBvjN@d4^atfEFOarG)lECBZ6ASE_2YkyS5M ziOkQozZI4PKe+xWuED52i`wNrNkm_0#Ni&bI2*dQIJk}X@E##DTzrk48NPqq=N(>i zy;yo=kH36~1>}xaQ&pmc#1fDG1|6&~4d5M+>5;5}ZLd=ux1-#7R&60!_7@#$NOF(5 ziU^4c4J1(hDJ)o0e0U)?8h5}|S+~h;+48~9$}{P+9oH~N+SBI6e68GAxqISH*?F#d zMm%Gbe4C4}4c>Y5*jd=gRenGhdaT-=sPQPD3n+Ka6YVUbSh}ih&!Ur(w{)^JTByM~ z)3Dz(Es#kfegY8sE2JXGiJ_7wP__oO*E?VZP#CbE{zzB_s^IliZLqh)sP z=f>pc3(fM^0)}~|X`Iz+10W~eRLm=BNZ2S~#_tp-+!7cZXDy!M(}29tH5ksp+o@{e z$(2S(?kxX9f27u!LKb{$*mJ~a@qy0RLg-Q82$U}@RQFuUB4XkMAOLbrp0g6G-3(@p z`ygT(@`UG{eP&w_TlTKd4d^!S@d0vvvd}ds9ORe;cD^_C7~qB&f}ey$vo|7wi#0j2 zQFi-TKS|HII@#vvQ8@=WL#8HFq*M*B3Vt33*Ra6;w5|iM0spNDF#+#9uh| z_BbMa>FK{m1faeTs?g#mfr!fQCZw8`zW`q7QSYV6tSGK`d|bc|sL*L)h1)qbxU=lU z#@y8^BmLMI!~!I$;X^rr{cyP9+5O?MxA)%Dpuk7;KzVPpXq0pj ztB~|1{@hP|zrT2G$$evKz9i?gYsL5z;V2EM)>{)eE7z|aJ~c0nKB-@^8%;7xIvwTX zOX^|klD*?Gd5r!7D*X?hY3!FW@9&*+ zqXCvuIKdWs6W|~{y~m!=Xrqw(m&ws8u&q8(T@awCccK1CnN>1BU( zX|Ge}L-jyx(V>L!fFq5z;O60WQ=Npyyw!p>Kep^4FlF|JMe{V~dz7Hm4tyi#&rBK= z=2@F9=i*Eq(Jl44)i%Vi5RHXAvZK`=6EHDjh+?*uh|9kT{p|k_? zc;(w)iAzxTb&(K#G2)U-@nYiapxHSrF*Rzoi1-CmT~C$!j(j+hEvy+J7o=iZ9rCs2 z>g}e9Ui^p1r=R2=-M5f(j&$XQ>&$4Rb!#*=6xV~>c= z#YS}JlqNP*J}Q3`{er* zAtkj9dJ>D(xbtev0eq^E8}xV>ICt^N^doh6fcgbt;PQoOjJGc=dS<;t5FdUWrjit(3K-cyb_HN$|bx%W-Wi}c-riZ`IGU+oDv0ChtUixkko6UBBvf7vjKzfC zZZ$GsCvoGVzZUI%1P+++1u9**Q^n*j`WYkOJdggb0bjLt!03FnBWEHvq(#AutAYvc zhzg#|43-7|Q%B;!YOgEMRD||Jw=kW}2X|LP8$U-8*K-x_o7aZw#J=RwBST)m#iw1u zqZ{;6I6Q_D8@h&*!X{&ExIE zM@w|)WauRZpX5Q_snGf%pmb^MQKZ!U+5rS`(EAqRHl|^gYhQtd=Z&3n@@b=Hb35?EV;2`h>ifZ(9}=%nvf1CW9sWwth$B2(6GRN zIm46{ZR?uU*qNWM6mb<8butF!SJaRK9#n!~=$bSZt>!~7QlfM}&63p$6*4iU4sT1h;HhJa!;O8?H9oL@0C4qC`Xlsp+J1i8p3#2i^;Gk9?c(T+p zo1040#5A7CXbWmgqc;gdp@M)}KayS0sc0vB8}Vt$?o?QcmP>7QL8oc7bEuzQ*4U^g zpXi8wXwTMg9;5hgt|>SWdtzodouf-R)gCMFCD*V;$$n+RCjjk!1MWLB1QxScw<$Mt zs-O9XBu2@^1Z8B}U%G@K&^xN4LJhriHg_b{kPL~%?SX`e?8F5LDd5m8&7*s*5?h9p z2%dnIjF3fMuAUt%^Ll$>9wz&i@l*NelG;$i#&=LLhuj{wa>}rVgmOsBb<=XEatrAk zRGEq+IPxN*f^!B7@eKx)s0Px;{V$Ryj;_rH+s^p0;v-k~1BSO_v94p6cnxwZZl_I? z|46G8HXL?|E_b&?n-eUCVoQAX)Z-ru=~N;p zRhn+`Z705$xOu5U#lk|vl_(kRDGx4S^<;^rm*0d5w zI?zxR8?7>^zBCpbnPxGdQp#sbjAJoyNq*vLTJU(30oMf73WdCtHLIlCJkuNCCMn@Q zJ##5FcwIeii}P>eS3yv~Rp}$@Y&HVomsCKt&Dj8W0hfYA&p^y_WiF~HR(<&_z75ck zQLxB%N(0VUsu@h4+=+jB-ag0PBJ43-1W<%ZFe|pBV@tv+_E5mrpQrpHnsLZAkvs_cy@rXHwUbrSG`>F&LLmsdjelu(zmLc*O z@d;B)!)gD)vvD_t6hOyA^>@=Shqe_En6k;ZkP?+FoJogZKF_%a88{u}Yv*2zjGIFh zRqL!uX)EtuKIzsycbovq%ebYEciPD=Wl{d5g$DgI>0Bm+o}o-M;jaQY#l^=XO77$`WE%_8a_zTM+CttOOztIc2I4}x88 zMsc$>sJ{{Z-2Wp!l?E%sVOqWz>fvxsLI)CyO}AHPX8@3}J`MK+{`OhvN`%LhpL4jQ zsGjKjAy$yz4}a;~GXz0}aO>$%L$><_QE{gWvM&L|RVhFXOva}%ZGIEwSpV2)4aqDn zv%-DxJ#URVQCdD!-@HM87BjSYr#ycjIQgp0Gcu&ahnfM28nlnHzYniBM_XA^3P+wY z!Y_cVU9i(5|46!;IKFw#M>5(LlsX>`9rnOG3yF$iEJ`yo%z$G!`9T2v+2`Di}$ zTx|5rP1{9mdxzKLVxO%?AKPsxsE{#0O?X`6LL3<{114VY8Ra`4CisWG0!lT&lOq^m zg-U3*P1>x@!AJMyqh~^g93jzTK0-p)wK#o=`S5eCV$g0=hIf4y{zj>VVs6Tn37Na# zte@6k07Rz_I1{l86zH|;OL5uAw-m#8)6(ZX1u z#me&EM3XvqjH)>HSmh%A!lX}e16%|W{hpwtaO5!~wDHX0n~ZG_0cCngnJp{^eiR(| zUEI^<;%jMmd!KVK*hp?L>E>aWp{S=#s>m$dylFHz9<_k(KIk+RdbZx-qCT}cRWD!E z4WM8bNhr;N*HuG~t^=Lu#6qnBw`C;BJQ@_=7Oslj?soq};GbDQ}UV(ugpau-b%P7vJnUM zBpRd?-Zxkndr;ESym%6s)jVan=UFjSLNtAsm7B#)uaL-#|Xj}U#2OCaqJ;#W=u4l-u{w?uVTMaDJgU3idQA!Rd% z^OsZ(Q8{|kSYJNbqTZ=9ps`5wJ+Lp&+%_S1#P<6>FIAlN6pvvFyShRsSP{45?Z7M^ z&KLHwuY<7b`;2*JX| z!0s%d;D)&eooTD~qNdJ*@+RF>XR>^3lIMK9(9-|jq*8<(<#oZ!j@jIBYuL%ekfF7x z)T_qT3m+7PZw_S@ephri>;1X-Uj8CTrKGxs2?sj7_EaX3P1Bu110+@(j3w4|FL)gn z9a6y`JY7Zz)#0{psqJn3IPN|CrqHy`DU~FCgTlVTFZ)Pb;3#UyN8+j;&Y3{#&v*Vh z*`J^$lAm%UQTP?E+hRiYxOaX;guR4G;JM$X?jSH3`wWBjAMVV+V3h^BohJQMJkiE8 zYE(d&dS_=ny@CuqV3S##vn>duYJj)s#Q#&}~?{u|Mp2I1;8H8sI%cpayD;B4?Cr)kLbZ z$@oX#P->cZL2&N>SmiEW0A+7~ZTDoN^SKPH{U!d4L}Zk6ipEwKTL_-ZVmY_7y|CcO z2Ud;o#xVRGTed|AUg>TC-XM~Qqbo+(fkqG$vwe4Xtr}~gT452OaOAS>Me3;~Ek^n6 zq|;=^YSpd%7tR>|F%AQlQo#R0$|QmVd3q!fIibGNp{=4z3Mznl{&1-AdK9H=SdXn! zI+{g>pRv!pUaVI3V-X8}pcSRVy}BTTV)i{3YsW^}j$);{itfk04cA^o4XBD#33mLP z8}n4D!q;`Q<8c!F6^Ue<@Umt`+l9%KYq*iuXL7id^b7$ECVMGh@LregF!t8A7)+5# zmljy4|0K;`RHcZsup?s%`Tmm8p`;zcs2O}&>)c6gsyY<_i*C?GcHkOqzvnhm zDQ_yH^kW|)X5X5ZC&ct7H4SZD8cS_y@2Cl|5tKay%98`(+JOJ&_}v!JO{AK(JH7LV zz3@NSpldjs72PTR3a%(Y+6hy(>e3&^jwCQoujcm*7F9FGD1_C!+g@Ql|1Sa=!XEe4 z6ZD4Kb3lhvU+!OKO-=_^^Mh0taMwFc@^uZF=MuMc`h-1B9k|StflAq2aTch6CoiCe zGf!4h!T9V6!}Q+`4U~35Be|T28at|>P5JpM`M8zCt!$Z__dgHrVJu~i3izUi6T~_d z@_Cx7R<74)J711{rSTJ|16C!H1#ez!zsp29Vr->`v6>S05_jZ(!qJPX!t!Wf&kp&m zLOXABO;l(|+F;6bl#XVzDxaP|llk0tQ2B#C0EzfJ43+?^qV0@ z_*Ll@M(56Cw70KC$&uN7@wVmP*hMt?O?Rg$3{;)AS7TO^9ZVgo$$S!!Ck+=FNot+3 z??r!jZ!|CA;E ze5NGdc(n;`)v{v(5-C!*x*qnt;dB10mS!PxVfU)5UETjwa?nY|Jb;ty>X@krULojd z9S!f1CRCd8-Vrd2r=jTPX_cDOcP@(&h}wogH2etvg~Zs0Jm)j8(coNy)_p9fWTEo> zbXY>D!Jffg)W9r3a3ndnL{Wr^CT>?^L=K6^C~quIk}e7GNry$v@SAbvK|6mggkSfb z7}D5L&1Gr=Kik3%5W3s%dqIF-(q%qKuX@a;!=-F-6?N&h`{_S;oQ+&r+tTHsjaIhA z%#1temJ_&)V^Yl^S#=&!q_t(wjy>}Go7XoQYx`;umfRqK-%4*o=~Y0bKpzCio}ED? z_2@Xev;?Hzc|D8;+o>1bCvt^!ME^S3c!_k97J5HF>;+t!|09T+Gm$m;M+=oEW{{r? zU{gL8B6Og?MotcwOXz*EO)_!p~7qV9f{ z4>B~w!a(;nW8nR)Der4`-m2+$C%Mn^S{!@qU!9KA*w5pTM4aTb%cFFg^t^YSiZF4g zR9FP)HF%wCr09OJw-68d^IqtFsDfHbXU>{@SJ(W2n|3Tc_z+|Y2DtS5vQ*o$w4ye- zXLHNQ@WiXCqHr9FJX9O!6p~? zvcuP*;>}aja_52zXFxyRXbyGACoDeP6~&6Gy7}$$&rLnzn`t%qUB!S~FkoTr`9G-! zis(5g0&{(SPJZ3{9Xozq0}O=Asw+f6)AR&nDO?8JA#@834q9TqbW}nx{(ANPhx2RP z{Qv;7qFI&}`?4SISKlMntuYGF4XIcpZ-JL0i6^~ zPyoaXuQ#JX=MsyF83y)OI$L<1f^G>5<_Efv(3i=rJ6?1Dyx#U{(iaw` z7U@A@OnTR6OIsIjIt;y)8{^>8Czy+zs+Tr(vOoW*`4e{Yv{^joR;{!?0KuKKSRZ$` z1azQMCv0ApNt^OV!A(@$K@~Vt}qSRKk_I_M-dFKA_g$ zG8DArHRb*=ogIH_?OQ&{NAm2Pk()#z4f8rPdH$?ihOwa<$+=I)16j>}jR^-k3UhF~ z!a|OOl(i7EgheY24C*t}O+COC|WK)VI_rEvk{1(Gw z0>k)!{-!mF;?9x=_|p=RMTvTOh^4Ur(39+05f)i<%&+D1Qs9}J3}+D8;y{EoDMIe( zPukvDefIVu7&1JdIdHLsdrn*Fmod3#FE}GLi>Q_|qg4s8t1eFOlmHIgR?Q-d9-w&S z`Iq8{$oAIY%vB`*#~|pZI(H`fi$P2a%?I)ver%**gowWjv$ihNFCspm1CIOBh))%hLj+a9Z zghk;*imeq1`oLp&w2+c@tv8=hsWvS}=qX~Up?T*qrmd86@)SS0KS|iE+$k4OQ#~GH z!LQ+uT+ihJr)o#i@&C_kFZ9W;2@f}qT6_qXr`P%ZUBA!#q2KOu|7?`x%+9y@)-ap4 zxqpV$EPs@jb4N3i;)B;n!J2PwYb_N;op2BMn&ftW(6?$tqB*{1AzRFb6#x6Nk|aSHRuKQi>X0_SIqcvKhFT>%csU~2inCt3!EzW39Ac*S z5NGT-qjqvkwY>$u?F!X7h1I_Q_R_XS%#)j>-r7YYacy6L&f2#~ug&xo37&LJF8s z(~yb`uFj=+8=pQW=7{9Ra?w;9;`is5_PEIXb1o`)ZTzvFHwEbFw@KM3tDbi4S)H0q zy2AgO%p`)J?ZO=O<1`4@6efGMX*3^{TxoJap_g05hGxU>?W|pEt_@lq$#z(ttmRBP z2uMVz6}q)M*k4_bnZD+jF*pbtcvmx6fF`Q{PUt%`y1Dm?R zabLcr20Dra!@_hMl+#vP6z|f#34w#0C8Ql{kynj>(0LH!tyLhVgG;us*I<3~BFzDV zcgFiRT^&WA`D|xH=dKQMmdeOBen z*N?JRKm+%=*uii0Yns;5pbsRvmQAd^Dp&FIWl@@l&d~BFHH?m#)oN1hN>X-+*Zk+B z4CDpyuAv5DudZZhj6^Db;()&;2hBIdzv~VU1eR$ha--y{`gep(8susc7Q!lEKJIg`lQOilF)M?v|)t;zz z&{+>Ior?yeiWx^`S5w8B^Kw!VH3Z$SBOY9N^v)t1^vdW6k;A-NyLfe^_;T>-S9V(K z`z7t!&|hi$z+vy^P0fl&H|iBSySD9l&7HL(4u}hAYb|8#nzk#&eQ6r5fO&HWr)o!L z-z$e)^99udyf+O2Doj&2oPG>#mwa*NJ@t^5^D_~IbX8gi=vs@2`t0(nP;7Neth={8 zI`IzAa*+51t~-O^ysQ!Kp(5^VX&A6EZlE17Gb5JjSYGbNr4h8#D}~4KOfJgubwvhg zm}@@Y@w7{Ru=>qbuKCyGps{eDVXxocIds!`dqKW>K@36baUHSZX_8#4mpq=v{zi)< z1g}pvyRUt6k3{+OecK-vCMFiD8iBM?3lZ1CfXhiH`Wkwf)~r$pGlcG{X#WZ-coBM@ z)UNq*MNsF>BgbDKq!zXLIY%OTG#EAe)E1nYfXSA?+bt_1b}L_yOKN$dil;UPZK@Xe z_)k~H8z4V9Cs;}kS4N2l?q9CkZp*^2vyj*Bee88?%nQ&2kzqe0iEo~ctPQxfd5|h9 z4}VRyqsqY7)V;~7@%_+zT-otKkl6-#M-K89xh4`jPhN6j{Vt}x*~B5JB1^f2SI^6Y{DNS?wGeIG}cXa*O10U1{RDSq&3s z{q`%Rynrp!bbkl6hOzS29W}Y{fKNR{IFh_t_0-TyGtp2>4@mR9cDj=7Ut2^*aK_>n zYA)~!8>X&LIYu#TnTb8u%KRBSetGBAw{7;?ic=#A$O$bmZ;tl-i>N6(C~NkUy?H&58HFtSzLYh0a_WHF_n#d&kQ5a&!Oeo{wKR z^{ZhH;^XC&qVfbEiZJ|-i1)qwz$Q+bMg?@;u>USzzNF#dvZBph`)^^T@XhAf@2d|Xcn~_uh ze#IgmuT&4?hdGY{lvm2&uPYD!dBrS0kD5kE(6o!))fwMf_6b%s14Zzixc!j2GwP_; z+>>U|`on4UkiiUF!lgpK8Eq7z_x`JBdOU-E`^jZiSKjLCR{V{b%DT3HrO5!@IN$o0 z&J4J4^1A|i8{JGbPf_28aJ`$Zt+l)SuV)ue+e|T<7OO(7_XkaTV`UUX;BOq39S9Zi zo2lPC>@g4GpNIdzz|ecJ^rZFL5$InWwb^}hH4N?92fL<%Sw&H(yA#DL>QyuBAy!Q` zW0!V;d`Qr8qogfZ+k9;%)dk!~R39WA0Pk7o#N=Q9MC8&|w-;RVkB(~ETbv(S?JmPu ziV6UfpDBzW+C0X$%0XiyE9Mhh%VmPS-#wT;Kw@v#{Lam$YLB1UB?`n<%xp%b%iF7m zZ=-!VD>Qk#bvhCZmMw4<}%=%EcqA>43xO4QY=ma5Lt<^kM$B)V=REA6vOi z-N7G>`JlI>SI7a~h54QLKvli(i4kIP8^UFUUAw^^g%SKd`q_PSC1yTTH>!s6s%0GiE zb?Hbk_dj&(y2cEbr-PTy8yD~#lc0P+$Fnhm=4RWaccYK?81G9<^ZW7S!kIVTiE2uC zQ3e=lq*dV9>P#z0)HqAk+TuC_WIq4Sm{b+G#9PfRO^#a3*F{lqsiSE@^QCdZRo@|O z_F`z=C77U&8!ln-->}epLRhDu{KwOdIc@e-v4PC;GD%zONHFrb)3~KxVSvz0DD09} z8h6&PPY>(npyFCN7+=Zv2mh)3 zcQ1V}KPDw?7c{qtrK@6bV}MEv&Uj;!ZYq+&^A;?A5S?q@ZTJ(22PnzWw!P}9T%Cs& zz?2-seld&oA5%`#;DkqPX-a0Aj%Mwcut_Z&VT1Lkvb4608mJ8JqT0bXHoN~7=SjOa zchPZUHEztkYXxksnTP-(3v1S{joDrCG)24UIl4L+8u|ccIur(xBK6s_sV21w8ZtaKKH~F7U&+~P@Zv($OK`dlW z@t@89uD_LY1w<`zvSP5edWbkv-|~>h9}lz~$1lbIb#*0eV`csGRMN_`l?ptay86db(_z9r%Ujf>xJxxUP_`FZ?3C;PbbD zO0Cb@AV`fILLC1E8gFe!Ss4ucPk)t3<7V%YL7}Ew{tR+p%ZNB+P?`FR+ zc{<;2onj~9YsV;r?KCxb0fA4@Ruq$LsdbJvNA} z^BA19_=u(UVx2#^*s=S?`ahOx5ug_7n{B}t1BtJtKI8oVX{;VxE!yNGe|JJVjwToW zjTSk6BVyEYO|Y374BjBGXG-5Vjh>;Q-5z1Z5UC_>&fGzTYnz>e^=PvlXMX-Yh^y9V z63t2B$Uze>jcx}-oKL>qZb7_;! z^!Hq(AQ{1|Czpe6__sgYU$Qnu=1g@eqoh`9H~UBSzZB*8)gdJ*p+$@%p#*N<&} zpF(1gEvYtm!rdQa^)=e!$8teFsXW5gHMAf3=0%p6RJE@b2+&JP1-YZZSK;dMb0b9I z+U1WIfQT^{6*a7Z1Z!Y$#s?eP;j`JSF4694PMp7Njk6Zwx@{#RRl)#i=>5CY56c(^ zNJGPfZOb)BM9BN--kCKP<_AO*upejh+(@z84fc8jHl79Ai&zi+0d>1Aeo> z`fr1k_lLm6KNKDM5h8p|0hA`^CD*=hkMij7^={|;tCkg5s}?r~Di)g-;!pzuZT2mP zQd>7y7R)Yl7_4E}ZP#jd`!u2!%v2-2mj{D`#D*VH7GF5C=L78!a}%r`1{;y-IH=cg z@Y@yUh+uQ`cSp2aU7$=cDnnuJqdfZFqg32UCd<18lD)r&Uy2lP(Mzkf_sPaDzSsM> zPH}tmgsDO<)b!{Y7!w=nS~b-588uzqJ;Yt|z*){>m{AO-t{Cc3R(37 zHd1W2v1lhLshUssPja9)kvr>8mrd9PQ=$ zT^RD;z1!+@Nc1NAa2Wi%8zRbuv@}o51pAGD+$pTA(?Sr~6_E&@cv)SS7?}jgM+Ln! zl^~{rp(PZQ>bd{Is&7vrpzY$)5%=D&!=$PEWTOxA>z(q?jaP?v&|7ITXEj$lqV`i& zGlH}#BN>}*?&zJ%f&I%fyExx>jUgR|3?w+(t5|K(v_UJbisc{ANJ|k%t0ZAMiSnHs z@bi{-U1$C9;96;q&{6@NR}qr@gK+gr&-_J(Ml{|uvKJHo!BL%%y0=$0za8KxQGh)h zh`t{csf8~d9NDbdes)q7Kb{_o(_V?uzEX(;9%QjyO5F6aZ;$7Cc2-4gCfx`VF2j6T z>ODo|q2wp1P{FRXt#?E0ekopKJf9=@b@v{SNK@$}r2%i?M} zYhXE6S{l~=h4JqXfQ8}?8a$p*a1v0xF|SYCtwxNE2!*;hR=gTQEx*$#tN6evlvyXE^kn7Wl2D z`6jx#&+Fr3w-&~0BmtGmshP#opqL~7oc-V$b^S!*Wz*OnvybK~qHvPHg~Spxib`H| z8?Uf80l(qno*v0ZZ(!&ZnNPep1^b>@E2$<0Da0Ce?gn)!i??Pai>Gyu|_pt?4!UP3b~*=t%@*y<`==o~eZ(1DciW09h`F6dUcBN7!` zv6m&NxK zHO0doB069#aYlvNO3W`0L%JPtKc-14(k9IZwpHZFi_Zo;6t{oH4@UII(G*&O`0aei zmHsesjjYp^=JNjWt4w5>=lUYTSgNEby&dW{y=%P-aed8KBeG)!QUyb$XtSZr+@7hw z-5d<$HvZ|t$l6gmT7d3W_Vvk7Z&v`v%c9%DC{nQjMR>G%6Qy@Xmm~}oLJSU@<61nt z3g!{9(%f3t&OI>yJr@MZ6vZXDHRBYenio|zF212>|D8W+X?A8V8nTMKtX~$_L2Z&M z$4QJyMPX6tJx=_t=(}K~IDX-pE0)DHReZVC5WRX`Y4q`Q!To<33755Fyn3 z1lgasFhaF+p#P~ir734U7vc@~(Awkw2LA<2=7?_&Nc2ji{A$!t z@Aw5Wi=D9Cu0vQL1E^V*gEuSuf7e~*qNP)@LyyvV-v9Ou3;N$HelaS%Rcx81@F8G07umkoFH-N>SU+rC@Vnb z50X*(10_Fv^Pl1jFCx8F%-Ec4)<2MH7H9_gm0I@zkfsZ}4Q z*;1AE$fGU;xZkR7QZZNk9m(JWkQCXyppI9CBQlh-SFTQ6SV6u>{B4YVY^#4?vzMqH z^_%M3*A8k<7YS?;gcj(Fs#g6dV2JV@pxoqCW}-L|Ng+f1N-JoMy_pU1;DPaiK=g!x z@;KlJW%=L)z_mCr0o16804iF8X&3`5p@XXdp|>u!ATWy~N_L{HIL3IgBSRNLe}(WQVnM$9py)_@TsMvNFS{!fXqK_yHydj)>lMbMW?wi~+@ zX{0AbtZ1ra3Yj_Lu)gkhn9Nib+o9FM7CoIb*{%+E||_+Ult_c zaMFt3(Vu7$90+8oF|<6o%a0XV5Xgywb@j)Q4O)lb^;JWqmR1Y@wSl^f2~O^;WkRhX z&{|mlVsV+!LO>8&o=h{w6BhK=6&0rq@dOfe-N&3#4UI1uIA~2w)=JdS7>T%mRxh!^ e`0oc}_pQ7eKfZHHehSPJ^6~UPSbE^hjeh`k;XW$> diff --git a/test/fixtures/app/doc/screenshots/macos/cuprite/index_with_skip_area_as_array_of_css.png b/test/fixtures/app/doc/screenshots/macos/cuprite/index_with_skip_area_as_array_of_css.png index a8aa6ae82ea06e41be3958bb2987aa55fa9c9ed0..06d00ab8d36cd07e0eb35b5a9019cc02f8a0aec9 100644 GIT binary patch literal 20577 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

kd(d2u07{g)6U(Y=M&jC!e{Q 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 JH*!n(e*i>|%!&X2 diff --git a/test/fixtures/app/doc/screenshots/macos/cuprite/index_with_skip_area_as_array_of_css_and_p.png b/test/fixtures/app/doc/screenshots/macos/cuprite/index_with_skip_area_as_array_of_css_and_p.png index a8aa6ae82ea06e41be3958bb2987aa55fa9c9ed0..06d00ab8d36cd07e0eb35b5a9019cc02f8a0aec9 100644 GIT binary patch literal 20577 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

kd(d2u07{g)6U(Y=M&jC!e{Q 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 JH*!n(e*i>|%!&X2 diff --git a/test/fixtures/app/doc/screenshots/macos/cuprite/record_screenshot/record_index/00_index.png b/test/fixtures/app/doc/screenshots/macos/cuprite/record_screenshot/record_index/00_index.png index 7d2b9eda3a88392c10805ec6a23e6780ec18ca0b..d5da2f3f8c5e72ac58387eb768a41863a56965fe 100644 GIT binary patch literal 20247 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 diff --git a/test/fixtures/app/doc/screenshots/macos/cuprite/record_screenshot/record_index_cropped/00_index-cropped.png b/test/fixtures/app/doc/screenshots/macos/cuprite/record_screenshot/record_index_cropped/00_index-cropped.png index 86445f6665c40dbc58dfa17e8e570b35de08c1cb..ada74ae997238cebd26f2c5a5582e3cfca38a61e 100644 GIT binary patch literal 3332 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 KMNUMnLSTX&c+Y$Q diff --git a/test/fixtures/app/doc/screenshots/macos/cuprite/record_screenshot/record_index_with_stability/00_index.png b/test/fixtures/app/doc/screenshots/macos/cuprite/record_screenshot/record_index_with_stability/00_index.png index 7d2b9eda3a88392c10805ec6a23e6780ec18ca0b..d5da2f3f8c5e72ac58387eb768a41863a56965fe 100644 GIT binary patch literal 20247 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 diff --git a/test/fixtures/files/rspec_spec.rb b/test/fixtures/files/rspec_spec.rb index 12b1e788..8b885f44 100644 --- a/test/fixtures/files/rspec_spec.rb +++ b/test/fixtures/files/rspec_spec.rb @@ -16,7 +16,8 @@ Capybara.page.current_window.resize_to(*SCREEN_SIZE) Capybara::Screenshot.window_size = SCREEN_SIZE - Capybara::Screenshot.save_path = "test/fixtures/app/doc/screenshots" + Capybara::Screenshot.save_path = "doc/screenshots" + Capybara::Screenshot.root = Rails.root / "../test/fixtures/app" Capybara::Screenshot.add_os_path = true Capybara::Screenshot.add_driver_path = true Capybara::Screenshot::Diff.driver = ENV.fetch("SCREENSHOT_DRIVER", "chunky_png").to_sym diff --git a/test/integration/browser_screenshot_test.rb b/test/integration/browser_screenshot_test.rb index 9ece8a72..7a3ab606 100644 --- a/test/integration/browser_screenshot_test.rb +++ b/test/integration/browser_screenshot_test.rb @@ -10,12 +10,17 @@ class BrowserScreenshotTest < SystemTestCase teardown do Capybara::Screenshot.blur_active_element = nil + end - if @test_screenshots - @test_screenshots.each(&method(:rollback_comparison_runtime_files)) unless ENV["DEBUG"] + def before_teardown + if CapybaraScreenshotDiff.assertions_present? + # NOTE: We rollback new screenshots in order to remain their original state + # and only for debug mode we keep them + CapybaraScreenshotDiff.assertions.each(&method(:rollback_comparison_runtime_files)) unless ENV["DEBUG"] # NOTE: We clear tracked different errors in order to not raise error - @test_screenshots.clear + CapybaraScreenshotDiff.reset end + super end def test_screenshot_without_changes @@ -133,8 +138,11 @@ def test_screenshot_selected_element assert_matches_screenshot("index-cropped", skip_area: "#first-field", crop: "form") - assert_not_predicate @test_screenshots, :empty?, "differences have not been found when they should have been" - assert @test_screenshots.last.last.different?, "should provide comparison object in the error" + assert_not_predicate( + CapybaraScreenshotDiff.failed_assertions, + :empty?, + "differences have not been found when they should have been" + ) end test "skip_area by css selectors" do @@ -178,7 +186,7 @@ def test_screenshot_selected_element visit "/index-with-anim.html" - assert_raises Minitest::UnexpectedError, "Could not get stable screenshot within 0.5s:" do + assert_raises CapybaraScreenshotDiff::UnstableImage, "Could not get stable screenshot within 0.5s:" do # We need to run several times, # because quick_equal could produce incorrect result, # because of the same size screenshots @@ -215,14 +223,14 @@ def window_size end def assert_screenshot_error_for(screenshot_name) - run_screenshots_validation + assertions = CapybaraScreenshotDiff.failed_assertions - assert_equal 1, @test_screenshots&.length, "expecting to have just one difference" - assert_equal screenshot_name, @test_screenshots[0][1], "index screenshot should have difference for changed page" + assert_equal 1, assertions&.length, "expecting to have just one difference" + assert_equal screenshot_name, assertions[0].name, "index screenshot should have difference for changed page" end def assert_no_screenshot_errors - screenshots = run_screenshots_validation + screenshots = CapybaraScreenshotDiff.failed_assertions error_messages = screenshots.map { |screenshot_error| screenshot_error.last.error_message } diff --git a/test/support/non_minitest_assertions.rb b/test/support/non_minitest_assertions.rb index d9eb2612..209a31fa 100644 --- a/test/support/non_minitest_assertions.rb +++ b/test/support/non_minitest_assertions.rb @@ -6,19 +6,16 @@ module CapybaraScreenshotDiff module NonMinitest module Assertions def self.included(klass) - klass.include ::Capybara::Screenshot::Diff::TestMethods + klass.include Capybara::Screenshot::Diff::TestMethods klass.setup do - if ::Capybara::Screenshot.active? && ::Capybara::Screenshot.window_size - ::Capybara::Screenshot::BrowserHelpers.resize_to(::Capybara::Screenshot.window_size) - end + Capybara::Screenshot::BrowserHelpers.resize_window_if_needed end klass.teardown do - if ::Capybara::Screenshot.active? && ::Capybara::Screenshot::Diff.fail_on_difference - errors = verify_screenshots!(@test_screenshots) - raise ::StandardError.new(errors.join("\n\n")) if errors - end + CapybaraScreenshotDiff.verify + ensure + CapybaraScreenshotDiff.reset end end end diff --git a/test/support/stub_test_methods.rb b/test/support/stub_test_methods.rb index 2498e83c..98a3479b 100644 --- a/test/support/stub_test_methods.rb +++ b/test/support/stub_test_methods.rb @@ -10,13 +10,14 @@ module TestMethodsStub included do setup do - @manager = CapybaraScreenshotDiff::SnapManager.new(Rails.root / "doc/screenshots") + @manager = CapybaraScreenshotDiff::SnapManager.new(Capybara::Screenshot.root / "doc/screenshots") Diff.screenshoter = ScreenshoterStub end teardown do @manager.cleanup! Diff.screenshoter = Screenshoter + CapybaraScreenshotDiff.reset end end diff --git a/test/system_test_case.rb b/test/system_test_case.rb index 5fffa4c0..3f0fb8aa 100644 --- a/test/system_test_case.rb +++ b/test/system_test_case.rb @@ -15,9 +15,9 @@ class SystemTestCase < ActiveSupport::TestCase # TODO: Reset original settings to previous values @orig_root = Capybara::Screenshot.root - Capybara::Screenshot.root = "." + Capybara::Screenshot.root = Rails.root / "../test/fixtures/app" @orig_save_path = Capybara::Screenshot.save_path - Capybara::Screenshot.save_path = "test/fixtures/app/doc/screenshots" + Capybara::Screenshot.save_path = "./doc/screenshots" Capybara::Screenshot::Diff.driver = ENV.fetch("SCREENSHOT_DRIVER", "chunky_png").to_sym @@ -57,7 +57,10 @@ class SystemTestCase < ActiveSupport::TestCase private - def rollback_comparison_runtime_files((_, _, comparison)) + def rollback_comparison_runtime_files(screenshot_assert) + comparison = screenshot_assert.is_a?(CapybaraScreenshotDiff::ScreenshotAssertion) ? screenshot_assert.compare : screenshot_assert[2] + return unless comparison + save_annotations_for_debug(comparison) screenshot_path = comparison.image_path @@ -84,10 +87,4 @@ def save_annotations_for_debug(comparison) FileUtils.mv(comparison.reporter.annotated_image_path, debug_diffs_save_path, force: true) end end - - def run_screenshots_validation - return [] unless @test_screenshots - - @test_screenshots.select { |screenshot_assert| screenshot_assert.last.different? } - end end From 69b09dbc01944f16166e1dedc484e972aaa0b78f Mon Sep 17 00:00:00 2001 From: Paul Keen <125715+pftg@users.noreply.github.com> Date: Thu, 8 May 2025 18:21:26 +0200 Subject: [PATCH 299/312] Bump v1.10.3 --- lib/capybara/screenshot/diff/version.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/capybara/screenshot/diff/version.rb b/lib/capybara/screenshot/diff/version.rb index e9f958cb..257db113 100644 --- a/lib/capybara/screenshot/diff/version.rb +++ b/lib/capybara/screenshot/diff/version.rb @@ -3,7 +3,7 @@ module Capybara module Screenshot module Diff - VERSION = "1.10.2" + VERSION = "1.10.3" end end end From 9f14cc9069ae5378d563c3d3d8c2618d563aa218 Mon Sep 17 00:00:00 2001 From: Paul Keen <125715+pftg@users.noreply.github.com> Date: Thu, 8 May 2025 21:11:38 +0200 Subject: [PATCH 300/312] fix: typo --- Dockerfile | 12 ++++++++---- .../screenshot_assertion.rb | 2 +- .../linux/cuprite/cropped_screenshot.png | Bin 2685 -> 2629 bytes .../index-blur_active_element-disabled.png | Bin 29241 -> 29057 bytes .../index-blur_active_element-enabled.png | Bin 29014 -> 28874 bytes .../cuprite/index-hide_caret-disabled.png | Bin 29241 -> 29057 bytes .../cuprite/index-hide_caret-enabled.png | Bin 29014 -> 28874 bytes .../cuprite/index-without-img-cropped.png | Bin 3322 -> 3362 bytes .../doc/screenshots/linux/cuprite/index.png | Bin 27135 -> 27808 bytes .../index_with_skip_area_as_array_of_css.png | Bin 28516 -> 28474 bytes ...x_with_skip_area_as_array_of_css_and_p.png | Bin 28516 -> 28474 bytes .../record_index/00_index.png | Bin 27135 -> 27808 bytes .../record_index_as_webp/00_index-vips.webp | Bin 19586 -> 25563 bytes .../record_index_cropped/00_index-cropped.png | Bin 3322 -> 3362 bytes .../record_index_with_stability/00_index.png | Bin 27135 -> 27808 bytes 15 files changed, 9 insertions(+), 5 deletions(-) diff --git a/Dockerfile b/Dockerfile index 43293662..3c736e38 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,11 +3,11 @@ # $ docker build . -t csd # $ docker run -v $(pwd):/app -ti csd rake test -FROM --platform=linux/amd64 jetthoughts/cimg-ruby:3.3-chrome +FROM --platform=linux/amd64 jetthoughts/cimg-ruby:3.4-chrome # Install dependencies and clean up in one layer to reduce image size -RUN sudo apt-get update && \ - DEBIAN_FRONTEND=noninteractive sudo apt-get install -y \ +RUN sudo apt-get update -qq && \ + DEBIAN_FRONTEND=noninteractive sudo apt-get install -qq \ automake \ build-essential \ curl \ @@ -40,8 +40,12 @@ RUN sudo apt-get update && \ sudo rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* WORKDIR /app +COPY gems.rb gemfiles capybara-screenshot-diff.gemspec /app/ +COPY lib/capybara/screenshot/diff/version.rb /app/lib/capybara/screenshot/diff/ # Set the location for Bundler to store gems -RUN sudo mkdir /bundle && sudo chmod a+w+r /bundle ENV BUNDLE_PATH=/bundle +RUN sudo mkdir /bundle && \ + sudo chmod a+w+r /bundle + diff --git a/lib/capybara_screenshot_diff/screenshot_assertion.rb b/lib/capybara_screenshot_diff/screenshot_assertion.rb index 41fe6864..6b33505b 100644 --- a/lib/capybara_screenshot_diff/screenshot_assertion.rb +++ b/lib/capybara_screenshot_diff/screenshot_assertion.rb @@ -99,7 +99,7 @@ def verify(screenshots = CapybaraScreenshotDiff.assertions) end def failed_assertions - assertions.select { |screenshot_assert| screenshot_assert.compare&.different? } + assertions.filter { |screenshot_assert| screenshot_assert.compare&.different? } end def reset diff --git a/test/fixtures/app/doc/screenshots/linux/cuprite/cropped_screenshot.png b/test/fixtures/app/doc/screenshots/linux/cuprite/cropped_screenshot.png index e8644606c2e7a541424344457a913ede0ec43b98..198a7e80c9b4324f40cb56ea11d049e5cd9fd082 100644 GIT binary patch literal 2629 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 PZzag#vptJ diff --git a/test/fixtures/app/doc/screenshots/linux/cuprite/index-blur_active_element-disabled.png b/test/fixtures/app/doc/screenshots/linux/cuprite/index-blur_active_element-disabled.png index 510da9e10815fe4f753d277df6fae449c280776f..4b4dab9e29026cc559130153f3be684d287a4079 100644 GIT binary patch literal 29057 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 diff --git a/test/fixtures/app/doc/screenshots/linux/cuprite/index-blur_active_element-enabled.png b/test/fixtures/app/doc/screenshots/linux/cuprite/index-blur_active_element-enabled.png index ad9cf0db4b5ad4a86657d953e2c362e764218e0b..7109f53ced4bd2fd9804ebe92ce89db8c270ff69 100644 GIT binary patch literal 28874 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 literal 29014 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 We^wbgbOaEX;<|O)mWoY*NB#oQYm!y~ diff --git a/test/fixtures/app/doc/screenshots/linux/cuprite/index-hide_caret-disabled.png b/test/fixtures/app/doc/screenshots/linux/cuprite/index-hide_caret-disabled.png index 510da9e10815fe4f753d277df6fae449c280776f..4b4dab9e29026cc559130153f3be684d287a4079 100644 GIT binary patch literal 29057 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 diff --git a/test/fixtures/app/doc/screenshots/linux/cuprite/index-hide_caret-enabled.png b/test/fixtures/app/doc/screenshots/linux/cuprite/index-hide_caret-enabled.png index ad9cf0db4b5ad4a86657d953e2c362e764218e0b..7109f53ced4bd2fd9804ebe92ce89db8c270ff69 100644 GIT binary patch literal 28874 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 literal 29014 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 We^wbgbOaEX;<|O)mWoY*NB#oQYm!y~ diff --git a/test/fixtures/app/doc/screenshots/linux/cuprite/index-without-img-cropped.png b/test/fixtures/app/doc/screenshots/linux/cuprite/index-without-img-cropped.png index 9c46ede0687ad17ce28208bc2932f7dc438151aa..b47eff3a327870f9973e8c3f4386015c444f39d7 100644 GIT binary patch delta 3359 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 Z|2F@Wd58MO5!mJ79%~CbVm*OG{U6fD2n_%L delta 3318 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 AY5)KL diff --git a/test/fixtures/app/doc/screenshots/linux/cuprite/index.png b/test/fixtures/app/doc/screenshots/linux/cuprite/index.png index 95de9dd97fdb96c254cb0a6e7c73769c0cd2d661..14f833ece053416fd01ef617d61516c0bd6c7e15 100644 GIT binary patch literal 27808 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

jdWT3AI(FP4 zo7y1?!EbZg&V!(J^$7V11ls~3bz%6rk*Yx{!i*!^^&)zZVMoEURrr7+@s(>G|R3iy7kw_E|zN-nJ? z$|1_NXXxN&@*YPBbH;gM`GuEJZ5%zqg9Jv2tX_Hv6iY93m)0e#zrUR#aXRQYW4@+`>!x8cr^yQUw#c3_s@@lUUD`j-gky-#f2SC zvp9Y6Y2pXqe4AdeghhNl^0c7zY!Br)KZIUE%#gjAX$jl|eK$FLmrf2Th9f9T1KV_G z;rn1ID_#(0gvK@JGtB3$=JEOCU4>yD&P@U$fF(1XVGsQl!auJ^UBttt%7oK(8ybms z$P^u$m_@iNcgGSjqi8J3A&I_Xu##UKnpaa4(4gVA+poha-tQ`yAO&SwK;nIZFW5`^ z27uMScBT{Hdnev~o~I7jwgfhV{#~}U6N&g+Rds63Jkv7^n`BH-Fn~+I;*jcz=|iBi zcUX_QFV1=1za`R%1V;eo{DxN(esBO<@Y)(k(Ge1xyA4`t>w=CcVYzYP0J-kl=K-}V zS@3>?{>HDC@=}vy-(@eWmLF~>Uw=i)p~+PcQ<7d=I}wTgvU}X0cS9&;B>*f@=NMW& z>S95jZuz~wk4wb;*#3v5qJ=14E8F7jppUw5PGI%cJ@eGE&dC6`tk-QB?f|5u-r?<+JK>GgVcYkCuK_IaTSsnTo^$%; z(x@f7FFV;A!vfakzTTQmkG1mMqNd@f0JZdf@I{5n=IriNL z+vsJ*Mmh^8ybJT<9Dl?QRO|QOO-f_})*A3D^$=+H-WU14 zo4DQzHuXps54l@IyV6ryEu|UJ+A+>BW*v5=zT|vjQma*v4k%{zg8x$c_7;&jy2Q0}M93SC05emDtkgH-}+V^!{ztH!r@6}-T%Dmm$N>s8ny{f({#PC4rFAfkU50IRM zeasrKaN7F5zQwmMNpc=bzJDhDR|y+)0&J$*82P=%H`UZu%Uj~>+!70`*iN~hgUYRe z&v=Bx4y|I@J(GErTfc>+M(OY;xfwt7g^`G=*x062n*M`-Tmy%>{^BnYO{FwWe13sp57s1oPGM! z5=TF*71%U{e^>TF^Qx?6=8Zn*Qu#-&TeW=OIuQ+^MSi5GJ<+hoHBm!-gzN+>dL!H! zR{X))hh~&E@)e#Yy<#NBwVsO4BmEGrUrIzUmcQF#JGzq+jtHK(K`E1C>NWrtnMOcG z@tz)_EVI0K9B1oTjInPo&Mton=obWU)6UZJmYqiSM;;Z7J3s;|qiH?Y zXT|(PkO}XRU^EXh~Z#EsA}J(gO-P%IJfwBW9XHcHGpD( zy?2KHxc7L*K%jH=;N~<*o=1=tE~0!NXA~TyxS;tkDINzF)y`+Mb~{4@Vm%%)M%^>K ztNk`7Ayp;#fj$@8~zOw5SD`m0`XZlE~sb zg`K(h6_H^1Stc}wetIJzw=8fsl#!cY&}$nGX0^v211 zxB`2Vu7rkREFFfd;ZMD6KkLxx{)pBgQLz4W;z1VCIgp&EboD~7k~K9S9LY!Iad?T+FdO18#R#$x;ym6sKB4r z?=xvNnR4kJV0BUATD$hst)gEK8wDGEYW;mm%gu!6ZC-GWQ?svtRig^dCO}Fs-6BvO z=uK+b9{Qef752;60Z3IFeq+1h7_&9rwW);T)%soNSlG`A=H%$|gzlkKf_w70g_P(B zS(~;iSntn%rSrw}D>_Ki#Jru&mQpk98i_M41%3y=0m_&SSTc_^*lYLII^yA7d5!li z=_I(KEd{gTBBgBDGqYgRmy1hJb26kqhpWTV60GSpN?i)_lLvnAaw^jd(<>{{a-NuR zz+SOwQF3iTLgY+0^eYLrBpl6)jYxkgl)Vg>8?D8IH%RgVxQcXg=5K(eR+1j9l<5P@ zZ9N(Pv_e0@x>F^Z72%2R$e~@KFbq-(5#Ptnt)FDy|7TF)1c zII%ILwoPTC4%xmj?zIi<04G?*|9H?^4M=D`)p9u~_!SV^=VwzHn8)DNOSpK%Q@doDoU-v~W=r(%cB0Sw|nXW3GQbw?} zofgC!VF#-RW>fGh;AophMp#nf(-j9;LC05UbW2d9vzK^8hj1}j5GQ+L8~=}!Q%8E_ zD#0%1!~UO=8t|@At%G55Ws+cfMsnRNm?-dfKJE`;M8FmNc1BCT_h=pir)`XeT*=aV z5^qZig*8lY24kZY@0t$U8nSxsSG`YP8o5`o!||9_L6v0TSsR*;#VaZKYKPV7V{Mq! zvDxs5tE}hOxuh{=XrbR%jWI{q58o^*rx|ifxVu5BxGk&ee$N!CW=lb4fK0NZ2lI1( z9H+tJROftAxGXHK{GdL;6YS_UUUN_$MHfJNW-Y9OYnmxL^h^&xI1QCjjqvv3Qm|y< z?ggdnrLaFnji0QO=;{%I^r&F4zEKybxZJM^r{o?;PRjI?boEY` zoV9lP%`!0`ij6NUOY24tf#W6${;I3&yPc1q+G(5%w0;q>CyDe!M_+me|Cfb8Z^-)` zOm#_|tOfB7D7$%6Zy;#GRXLRV-5wVd@fU{|0m`6KvQhUtXsV`-Eo$x#WdS>PqHc=v zqyDuY5gP-F#kiyrtHisK<1#O$Vc_VAIkX`9R#*h5)oRuPWMx@JcjF#JQ%lq>9uY3H zXay9;^+aH_E2_vM?P-qZsy_p8CD!y_22Zb5rDuD!$*6DNiMP_thUsZY1T2l<3lN-y5#hQCr-G|G%me7+6skeiWk3zC3RYrWZU;W* z?)pDdX<*_Yr2$Q%wydR6ByYsGvBc8EwM0`>R>@u5{W&Uj{IOleyS3WwS?6C&KdeJK zRu@1qo7k0YPg^i71ta*kiH}7gqt>oNf%gYAM06LRaJ(C+8H)HoV0u*pi%cG@U}ZS0 ze027lrPMC4K#v^5n!Ag^+$gz__^|(J(wjy3XK;Bxa}3mPa|PdLQ1eOB**{*`EJ+1n zsSJgR|LlAbq^JHKQCg-ddV#ubh)|RMT{+ElRP#2tS8v!& zps>E0A7I|7ld0*%y=g9fnHF{-oH9{rmVgVT8 zl|;J4&@Kr=!FLLqcIXm!!;<-o-f{_=)Ul0uadvMRZg>{w<1rln zGFd7@RQN^M`f6;5yM(T|`YGaOnW`*eZ(O6el_6VN{tY0dxua^q&n6vtf)kNnPF_jP^hswMGgkPG&U+ZSUcTbs3Tn|mtigVry&L}!C>(Y99%Lu{MiWH_p;++)I zc&}`U#Yq}tw0kP+yAW``b9;{jXUv!>Lg$cw>nn_wRumGnt^h~jM_?%y)^fij*zmq# znriGHVbxADYTGIL-xr~AjNj}8%<8YK6A7zZ3))wrKVEM3s?LiKhZeNpKy;DwgJNcn zP6j{sZH%*@o__6iNC}N`iO<(pPQ24<70VlLwNk${S2SZ4kFWmTE~fw2sk7Fs>Qs5W zfDY0r#)_wSxUMCE`8VJ#9b*d}rca3EF~|ixB5* ztgBg7b+Z6|_R;cuxZpAM`PThWa+lp*KmK==vEaZd{TCsNV{w$0h+AvK&0q@(9Gf{M z-AYQ3{T2kN@otwL@3EhW3ADksA8$&lW69X0(^L5Sj$orLi_jO5`L3_G44lPC>(8r_ zYUCmlQ|kDYThD03Iae!wxOh9&$sivbvd!%n)(4VWfgmsV9@sBPGcJW8=bc#-PHXVd zVc30I*)Mz@W5peNGx@1QL@ciQ{OPOPG#B)b3zFHfOmy04?0Yq*iuz^e2UO{uu>02m zQi6qg!3-_3d{56TaW}TMStmsESo!U~DO)n}wN4I=WmQ;E16LK+z-@xe+@I@!<;b!6 zhYJ}AeZ3__WdLm?N;uU5E;5P&w*tTh8ENJW@Q@I~9kzJw#S*ry-AM$DiI}Q1;mUr> z&DoqiS={fvyhvJJu!j;J!Cd37Bnn`v6r*5K?-wclks1&7^{>+wk=woWiPb8J@gVx* zcjzD$@Zj{rE)Ulx2J;W(}sEEiLM#VR-@I?nlVz>Krg%X-;`M)^x@Uh$>3 zLHY(xL~u^S$|DHm?J7AVK6ciMf1X}E!!F*e-$zVyc!eMDmaE=YH%xvzoNW+sf%V+t zY`VN$T6V1e7d4*s#x!uDug(5Ib$-84w>)RST5rB&=A?QaY&>{Eo0)iLq1&NC(_eNs z*n|2t;iZ%;Sk<+=9qx&UCZDyE1MQINjrUvf3##|S@{qeHeyO7jFhJCD*2e~Vz6!J{ zoEh|(b@+^b^I2Y(UplTMKa7U`Tt>PmXF1fihhy=|Wv_pbiZ$=sU45xwt5p-0)^tVY zo>)WUpZ9vM1;=CI2$@0YJu>f2);6P)bpu_;K| z;Ie^f!A5oNEK?%UllgObNMBVc&c`|c3ywv=ty>CfNH>xaKWZesH9R+B(-6pa&c~x1 zAewq%)ujHYq$3V-$VgdFqny^aFFI+(w`Eb2paF#ZLrRbRuvFWs@xpgK^%=&wHTp8M ziyfg(&)lDwYQOP-1W=N`!qO;2)2<4`z7lA3kSSaZ|FN5`_|mW#eS|RuAT8~gEQf5( zm!6yvYSyi@0wwT~y#Z*+w>`57R^|mDO{RI*cBbGLyKxxp$S_aX&#hK{Ne*R-u6X1r zIcxYXER`kyFfg`szm{zHT;ijhE^QQ)<+1mfIn~wL1=qkt3<-3DlqlW!MBsxef$4e( zDbtAhSud6mmchd^ zxO;>xYU?c=ycr))KNNEP0aM6|6@!yHSzml`L~ldCrMr3`ADuGgJ>K$>rV=p{w(|Z8 z8f~Q-^@%ey&~!7TvV~t#l!KwWGid18@l9$O@65#O%-?DoKZmue-@RJPsO+8GE?(T; z8I2j8^)?i;V?~`sb}=8n6I4yHL<_8@7D&%F)76&kaD?D{=DB|_zhb*Fy%0i_bl&>n zDe3Yten-C`@Lt`S5l9n+o|BYUtAwCm#HSi$LjIW(fhr>oa*e9 z5U8MXc#TuG;PTw9QN}Di@M%;*Vc5T%(|!!@$2e1t9Qn!_RmbT$S9HZ>_5vNRCY+vU ztoPapdsk+E-)20w&lM#S#EMz;jWwFbR=LGQK-N}iW~Raiu}g;usn|I`cElKmVAw(9 zY(xN?0p2O>VFN?BKxc^N8Sip^B4n&*z2FEm?z!?eA^7Njxng{u)JOs3S@cfKgBBhL zagz~dxOG}=jJKXB@o>yV-Y|O>D}!iI$d5Q-D38h!uTR-osf735^Z-)+=^s}$EZl!k$ zM>=hD*FWvA-H!3u)V^?fn#%Q{hT}nxJ#c%76Xx<5%B))>&@G3ik{qfy}J4)Ct^!lYRo5%P)I;Wd!!WNWb4s?abS~1 z1q1r2zJqlRvg;zAQ8O;+I=MaDd*#`qjs|c-;Kr!mix5au+tD1I(Mf~a$Muf=T$7ty z(mG>BY`WRne(@z;*et)G(dwUw9&eV40XDV66g(>^h;^1~vdTd8p}G@9#9FT#D? zkNapD9q#AaGIJMP*9pZDzWQJ!|B=OlYN;#uMGbVR9u!6 zpZw?azEl{9T!*px?XaXRri<}DHy;m&7`PpqK0h7NIH6J$%O#8Y zIA-E0@d#GR$@QhuqYuIJG?s9T)sZXycv$ptJ&SHq7b-55d-Ym|= zn|%8hRyBz>)-2jfi8q^Ty?v`EHBLPI0;jB?H9h?eqE~rwcy*uTr7^8 z^1t(e7z;*!;|xHqk4l+_%ma|)sI;4*x4?7D^sN59c-L-87@mXFtuMbR!lxJo@jf~0ymhm~dd|?b zik|2S+f&!uInN$Zt{RC}CyI`Co(Qd2ld8*U%*Efg=e{#$ zH8P*)3g_0>79c&>J!6($(XZ1~46|dF|Da#ElCAHB<@T|8>)Ydnayw8fuJ2g?5+rb@4L2`t+vqVIV)AiZ_94;UVH8O?%hUeO(7Qlu*2Qp_dIIS6LxJEc5(8ynD~q4 z!0Z8c-DHryB z29uI^6QWg+WYtnQW0?wKsdhx&8&6;tBPjdzA#~K6p!tZH$;Zu2a4CcU`8oP8+KyL= z7j8oco=FzKt)U+`sjW8Od=SgAiq*r4d9mVN+0vaqfW%R;#@>lCUHZxHYAlu2C>F99 zA_2J1Tuw?vqn~kH%#2g+kf^l8hqgQP?K*D(a^vKKNyg$G!>i(cX$eCB4D*s7n(Y3H zn+!tMA+QE`F&~UJ#mT<~of>|W@nTWag$D^0nA zk*V`no?LI+ICqcxFFyQ2pCM6>!scza;~+N>vh#m=m2O$h9p9pwR$m=HUzCgE_hM52 z#LJ)d=N$9GFbkj0=igN|qO4Stvwdp!;aSzHc$&x=Ro@%pR1Lm&*p$QXEqW&yQbB1q z%spdnP_3T!&h;i91&tY*P`x74e(-bbiYp58-sd>=FG=5j5QOndHo5f+Y&lm?9TWEB z&L>;eVYgIm^Z9M)^|q3D@d59p`%Ht{x{gNQ^=W)+&e+_6;&- z4*I2Lr<_=BkJ1rvyi!P_7UiU+5I#EjDy85yT$p`4fc_t(jUU(v ze(AusCRDHLILNaZI+^{yh-k*a*L{>xE6=Go%kj9aQiv@{Jt==Bj~w{x0i*Zz7+)Bu zS!V;#e|^MgL)Gf&bv@HrM2`=NCHt4edpN)R4Nblq7`c0J-+c04M>f9Cpc)LrAQLv< z_HQsj`9kB#BuJ0#j?RtT&bzgZPqYUKCijVU-KSrexx(kM2H_`P&PK;nr!x5|Eq@0v z_>@g9o53rr|8BPaJBKA2rDiovMK@ik2gB41OE<*QIfubFYM*TA8f+QIPjF0|y1uOZ z4Z_ts>T?(vT32Qk=Ks~nqi2NGWbAxnu9~o0E&IF)w|5@9z*no2EK-1*G6{R`xhIHSJBHGO1Hb8Y~ z8{(1I&G(#_`%SO&Xoh@uNS%YK+TXMQzAz{czAAG=FwDU5*K);c^J?6W-{r2pZ+2U#iK?K*6tOYriUg4=P4e zJuELGmdB~MYjPFyQbSb-a8OL8uD_u^Q56i*&Zpuy_$e*BySs0+b6&eP-4LyIism{A zcg@y6&;yFH4eTBSswHNr9*%zhhJarC4gFXZ#KsOfG1DmgwN{Z02rwR#oq}8*m@ahT zLIjnW;g|Bb$W{N6TMtW%h@o+^8Ee^eu)^WlmWdTp zXC>1pDNI`II<07Ubm1obiYfbXrF7@NEAFBWzW@J8pB&Y}kzp*#uvcz@@}Eu?&5+N7 ziS(!@9)s;Uv)^{($xcvt1F^yZdRa&~X&(LuWg(o*+^8FBsp1Xb!hDeSIVQ#~|FPfB zjD6JXx$r%xp01T~70T$58){uBWQc_vrd=$CU(Vu}mk7E3NVmSnDFG)|iX@gBr%cdD zR5EQtvIc=3LC~KPbc3eW4%kJ#cABivZ=xE<&Ark2(V>F)jvi}7&VKyId9G~^_&E3=c_QbRbH7j0XD$5qBpT?huK$R!LTyCSt%R=iuj}AH8b%Q0R^c-;nfdNLU62lXaVfw zU6q@I>+jEbFaL5_AZ(IM8-36P3izTie@F@cdS~=lXagEJVpN_|OdwDE;2t{YB`9j52krc$vjIZ$YsT1%M^4&9+hC)|u(Ba+H9&4L1Z!qp57V6z}q z@}|fPH^{E}g-+ShQMt5P)q(I$?O0YcBPxGAoN6cfO-Bb znqq~pEi&4uJbl(*`8>fAePf1evBMlPShzOzf8>~6b-3w7sIO!!kW7;U&wwwbyZ1$& zn7z=MNexD6nl{Q2?D2iB zEkk8f`hP!XbLOA$C0a_&J^X7lxY2$B@H<72E}KZFXRzK!>Ne~LlS!S_$D;L4ag1nn z!*k#?Z!x{br-@h9I{VT#Dz{_@7v8{Lf9Ki!1=H} zHnNG|y8%|r4m6Ivo=w!gk`p!Ac!cui(->H9=P106m|B@N9RsVh&PQ{>LoT!~y=UMg zTTE??{Ul8%r2Z!qSvl*VS zAphup>NrplfJj)KKYjS`Ck8plFcoA`_KTqdUmP3IK*V`&zhC=>H3N#^&1qS*KJPE; zf)}bAQ8D_{NLw>CK1i(mB1as(EdTd;npOYoVFjjE8l`T^xNg* z@ya`Pph6&R!+#-KyfVncA)9GdoBt^X{`y3@52%|q%7sBEP;>m+uJHH0`Rqf)#q9dY zP--pC2>%L5BLyD1h3qKBV=TK}%iT{YZl*jUt* z?S{7gf9;%WOj~6b$4_ZV3&h!&5axt&m_!63jbXD4xpYKQ76f7(f;b9@0~TZhxlAZ6 zr(V_ogMpWIang>=(F~X+Gs?tnZFCzt0}K!tkd4klp<|OlOAC~?J_lNgemC*M`}KS{ zeb426{{P?qc}`~s;2mz%{#nnGHop4TRsHnmDboJP`A$8lEUMWW#v=vX5Y-1l2Nrj} zt;zGiMPz}Lg4dV#1${9hO`-Uet?)bK*97^xOfcXNx{HFN^DZ zuFb_8roiiSbt)EEkky5s6Dc!fHf0<B37uZ1OafuIRa{VoL z*YA0;l*N%NnvdnI>IYtiDVtbrV}S3zpkq5M(}X(!*5RpLP2AYE!AWUqIC%ZZB=GvV zZQPip=E;RD^UXq@;j1631})DM)hoaFOI2@iF15T7pzjL_2Cx59H#H&PNR($-D!U54 zfCI0escXNz!ka&I45XM>sM3ZH&`jX@#?ykQoB=d^o(UyivJZ#N|KB&S1~M`kak{3L6n?rg431yAI; zjJ@`gY-Nt6o5#F*2^cZS+aTCYjInicG+!n#89xb% z%HdzW)sba=s1NnP!Rynz%~mq^jMSbA-#GW^XX`^O>yXK;#EWq5?L)pPe&W?=t(cP-m~vnfns@QG|2YQ#fo$7BfFYR z%TP_q?~ehij31FCf!B|gm(*&^5b_Occbg*$IeEeM?^JLxw%e1IGxV_UU&b9i7; zl6!aaAC*lvbNlPZ6$>Hhe!Znq!`J&6sSV&DOWVd&w&lW@g*72YUN2GLu*^W`lnN$FqtK_zE3diwsx-G92}IboW^4yRUFuQZcm1pz zg&xT9IY{ck#z9T0no^m`a}1M`heZVSne+95&KX4fNr;9}hAFmr#6DUvGzq!nwuWQ*$<-fX9a&j8A^;+qmqH{s!rpq!|DJ literal 27135 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 diff --git a/test/fixtures/app/doc/screenshots/linux/cuprite/index_with_skip_area_as_array_of_css.png b/test/fixtures/app/doc/screenshots/linux/cuprite/index_with_skip_area_as_array_of_css.png index a900f10309d075f98d571e4c4d20e2c8b99ccd71..64344e7533f8d6c27d1106f964a6206e87e8bf1d 100644 GIT binary patch literal 28474 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�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 S@3i9#K;Y@>=d#Wzp$P!bP5a0I literal 28516 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�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 S@3i9#K;Y@>=d#Wzp$P!bP5a0I literal 28516 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

jdWT3AI(FP4 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 literal 27135 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 diff --git a/test/fixtures/app/doc/screenshots/linux/cuprite/record_screenshot/record_index_as_webp/00_index-vips.webp b/test/fixtures/app/doc/screenshots/linux/cuprite/record_screenshot/record_index_as_webp/00_index-vips.webp index 47752ff31c0612d88324e6a81f38f61da18205ce..613f10d48ecfeaf607de5634defadafec9197a10 100644 GIT binary patch literal 25563 zcmY&<1yEGq`}ZOWqOhnaAtj-pAT1p#N{JvMAdN2FxxkW&fHacQUBa>wOQ*!r-JLG6 zboYDw>Tl-%&ftjaoeSrl^E}U|uHPF4X_9MquR$OX5?PrSZy^x;dl1N__g4wPC$aF) z*5EH9YZ-Mr2;};$KY#H0Cf!dVkb4l>7th`~#p5Pjto4`Gu}2$1STPn(IoXE~iymdX z&5?6J*`g~av@IM34Ce7*b$nA-cmrTCQTZ3$mvKCmK6{_>c?qb=4Mo`-Vkt4d=!2V9 zztW1<|H|9& zFUMnp%&Ek|3}0?Mccm}8@Ti6S`SvP9qXf-c&;LHY%1~pK4!Qa7 znrRt4#{Vw(a#-{2(u==WY`HOA`TF-Rb0<>QZv4B&LD1M5;ndl*&LS=b|MoVCJx#L1 zQ#656y1JH38G>nc8*RYliBIXY!(^prb8%aF;k`7O2hE_N{M2-y4(XFT;rCoQ;uw_JP5C)#si%9+0Q}WHZhjpEl-C z{O@fZjZ3&J4Az?deLxdw@W)U0BQjeIpa1IOYomUHe3o1NdgkPd$bGnQE^!etS;EZ2 zkTJvXGdsK{zelCHFSpCtgXi@EQv}s1?{Fda`MFxv@-6!NecHY#GVv`;u$y&?L*}VS z6P`M-&AoCw7mM7kgjic=<6=?-g@U&U(uP+Bp#{Ny^Ow7K%zI~?aSs)DhNLkM7luDM zK*WzGZvA{wbZ{k8&VPQzEnaL#K~9WF zt_ef41uRPE&n0W?k|s}evp0+j+ZGSK=;v`JWvL!XV2xiAOx9f{@vE$7?*_vt+l_<} zPI#U>)795Tuu5(CFe&f%d9ckpHDh~gcmA%AK4N1Ts=f;Onll(TAP`51j~pVGMf4{y z6JYRQ5d3ED_*&~oRhMych(d^^Q9_lir0?89Ihr&w%_OH@EKs&AFVnud^Yv#J z+sCBLkiUBCIw2LH5d)Ff})v||zt<4-7y1bVt0~t2&CVr(pIcvh0~Q;Or}Cgf{sgg!|QX zWZjfW9AJbwQ{f zw_sgRoZ01bMo8qggFm5oOXsRvlmMaqacFm)U$r{oTM9+fyHZB?nS$wsT-}RdRx8j@ zAf|B!{6D4*Z5ktZw+^(B5%4 zZG^x~K=c^9z_Ak|-nW@fFIZA*WT|jssei?kzl8CD*K#k!9o)rvjTqf&c&t^@K}F0s zeq>Fng{gmqRVW_1Kymv2?ff3PYh!q_VP8~T;xwxLhTzoiZeu8MwWlu2Hd)LiUQ2#) zpl3FFt_m*6jFVJD1(!RWKN1Ijrr^*@Q{~*!J=3oXiY$tcbB#Ee-d3`FTpf2^?c$~| z^r}d|>x>0GR>J+f0o3+N5MF`;MYr9WzZQNor9F+8pN)33d@~kDtFeG{`;PHAZ;@MBg)95b+5)>C~|h?N4TS)?k~l%SD_f3n`UO7Z?X zX_@_?w_vjaZ3H$2rs-53%)8>=D0}JcmwzMf+I0U71aj&!?lpQ|&?#S%W}HbS(N;F> zGP0lAb}=R5xtWF9Y$hfwuwXpJo`&qQ_)PNr_m#=l=PPC??57irfw=4M%%rm;P-O5- zb?srT$|H!`pz;@55m9&RnrFG%nf=R3xdMLkjlZqay<0ZRHP$Q?l3J2QeRZbc)=`#w z?{y~c#R)YvMC#7OHC@CYvPYNllhF*aTH93b<6EuM;}=`4F4)be@se`{D8R*f>`C~r z5XW-P@e*%Xz!O?b8k5oA5%pDV3=QFK=AtAP5T&BQbUCmt;syHjigh>HX=`;i*x&r8&G1y1~*=6)hIFe3yZo;{minDa!u^Twc@7SAOqC+#rf9yHhKbf zw7LtY-e&JM%*S9#!6f+c@if@RZ#JOkeaWW8 zn)QRt1IgRe8k65uhvDq0Bi8G0J{<>LgO$_NY$%PJ-+URXQEk$2b>68MF{1a?;q$6+ zS$=@R1;=poqrceWYxMZpRaN147J>D4v_2>BHEZWUY&mmtlcTFk$2DKU5<7fSo^;__HobzN>FHxnS# zs_2(w@zK#Qv*N(uz9^b>)ZABF-~S$npXqObIJo@tPM0f$_U5=DclBNc;||JyVZZwLVe^(a0{Z zj109avJa=5WSw1@Vy`_RL(Tt1Ol^x}H~q;}3ZH#_i~pOA!o;FF9Et3q<9>AuoT44` z!b)y}VLPS7=&t$}a`wNFP{(rkQse7@5Y|c2MPc|9LmbHnRD`*CWa9(w+LWNwsvrq# zaS=lzcJ9P@i<{Ems z>N)2WNsriJs5yHc^ep|MLU4HJyCX;4YPlk6<(4x2$o32oG4d?l;)+p40A~osc;S{E?Kpc z*1lCKH(U>e*DlxhM;Q5w?oALVit;vXulT%Hn7(?|F|$`V8Lh$)N3^`Rc6Yi?4b1Ak z^{=zvnl4$5M6=*nz*I?8ADz`ehA0rL8(idj@!|#aOh7UqT>G zANkLz(WDjHF?tp>`G*^RylgW2F@$+EiQb3ofk|{DB@Fw#FXjfJ@17}12Ci)~Bd*j0 zEtx7~x7Pe<@c3rL-8T<)3H7QqvJj5puHx;WuI64u7L|Ln*H5uHO_Qpz>TB5xbLn)r z1R9C1$F&!DJi3>wk=@6GnjdZli2PDED%mf%$&n_W(EZ`@`1;c!`+TP(7^U9>JZ zxra2vRLDG9%l=DJam8B0blqHY0(}##e*JJPA)dC5#5UIhq z>!NP%q|y0P`fw{hw@9&$^@1j^xA@?U*X0lHiTP?|E9FZX{K6V_$!|5iviRlxIhe!@ ziPx=oe$%C0f{38T?VQK20F#~nIEXi@cBk-3EkAzKo~SEEwt><@x^ZWs*XCaxG_nCi zMvN8E&>SaD{i^ChO<3tZykq_|d0vkdYjcLfnnpIkZG5$NXk;_ZgYTZ2~Bw4SfjY69xH z1T+l+xdMxbxEo6H{3>pmYr;HI1)7WesuN+oXc=-)dVkp_9|CY`>2G>=qHCo64uv9>&3qLy4q*u z$z*ZXIxS^k5A*Bd{^8?!c`E%u4RCRT?~WgD@d}Io z7QVq^xGPQ^lKSbj+kxoAr+?wGQ#n`wnA89bAGn$BJ($#??{?@ZAen0Tz-O)<88*A)vt@$E4J%^_ zy{p-{gp`ue!dy=QTr*p@T`Oynt2pMKKR~!?NEKnI-Z4z8d_1itEywbu`2oz3<+K;J zA~+L+^|(BJ(30pu0r=r!%w3Vm&yOuXQm0a0rVE}=*N$(5PLR?w`S*WuigV$KH&RLz zxI6Q|x}H`hOh*`nudUJA)67FJ_9R}PHP;=2`aNP_?7Q9MXH#>$VE4U|i(6-=V;RPd z${%NXZ4M1bAD5S5@y-yyG0|idx-#IgI8z^$BDs( zwc9eTHThi{w$!>*r)c!fknO&!ZUN#13LRNE;Om{FYrRCA_RIxS5Labe-eKl2`H#D> z{HYYi&fQ&R2mt2G%d(erxxezQ?el{L5$<>QE$_eAlDXMqmk{&lwA`S|Xn)|gf zmonAMr|=or4)?|DfE?kxZ{x{C$Qria0bqA^Ag;-#?WkvL-9N zN-X1H8?Q1hsZut>H31yop&u;e_Giy*%fIid{yG&I>!``_6m5<=;g0 z8Y_>R+ss*eu{k2Dw$5vxV)$$4bC4l7_Q`&^e^lFQ_MsOMY9)KcAk0q_y zXWqWuCY)f|4R^Zr9U!@xU+fvnp4KdSiVst2MvEJEWy89XM$%M+=R?a{jU}V7<@PRT z!z&g4_>3Yzm_l~P+1e%|?r~lxT{{Cq(q%Pc*d$TD23hei@|#92hPXD(MG`?bT>FwB zpenzDGb*2nTASoVw<(}5bJ;kBt5dr|SZ5AC|2+~Vj2>lL#)2fby92Mns+ zIwQH-Zj=`k`=D;m&%@${+#;9=6AARd(D6PZBItF`*Q$JSS6(gAw;ukSM*5~nP@G|K z%OjnC@Wo{KlD@Np7ro0W$<%K1^sHA>b&vvaBvBGdYy7uXfgDPArg4^~M|g(T>Wo!U z;zD`v zaGf`W@W^OjYpYH3w)*xFd#S3x*Ig<|R|5KqB=`ZE-4}dTBIgc}L=C9A$z zaC+=^--T2b%;;(JwvYmyuKox2&(CY>T^HM{)|b@E2G4{yZ*pjRgsO@(I?!0th++zs zu_o(!VI%V}Cpdw=t1C{W`u#ubxeB;7ox7f|NV)DTlgFe1jBUsPJ`nxv~yBDpAZxaDdjmf!E7!z9Syq%;R|MO)#{QJDwv~c5g zTL65BNkK|rGk7)CLEeLl(xS0#aey_v(P6T;#|1f+4xmGjh=csc?7@)j9;&40HJ`Q# zKzp43Z8+WKxgffdVu%!)kr8T-6cM|2L{KAvIhG1a^Q929zxRqkH$(7)8vgWqp;xF2 z)oU;k*J)T$@1;I=GW_8A)T&ukE{bqy8e4aopt@5hXY$_?JO~3_pWbcU1A}rK>ynSS zer-`00L16butz9C_w9Mt`BqZ9)%{hab)z?llAJs=@e+zQsn17Z2+Rfb%qpK(mwUd& z2c_Ds7LC_q^E_|fJ_Ds~lj{&TRI)Q$W1e6k9=!;_>VEe_)!`@9gNTZtHa+5rDzpMJ zaUOiWE~128%kua#t$V=-VPO+ejl+);IQeq+Ju6DmeZO8JWB3Alc+TAwU!ee`F-^K- z=Cx;DR-#8A5^Hx6m!^$=jFe2?#X%~zMZ+4CVL|gFrCW=r{)0PKWs1W0{_bPdME;c) zeJ+wbr52}M`(L&&PumoV`{u=Wx+N}j02yg7?cUVf5Pa#Phkr$43pxE8OZT{U9Pza} zgW7d1<{-55i&oia77!UxxBL6UQA?~#g3W?m#_;D4NxOIYxFmgbX ze9a~-umpBrHjo=Cl0e5<Kg!NBv^7ShU(4q3aOIeYaE<#c;2R*PPox|E}LE#22& z-xuFP3cI`#C{vb@=fA2xezgo;`0TccCDJnR(zW^-1c&U$zU114jEKG2sE5N%JEC)f zDT7ew6`{DViOdf=7q~pVu+C}gt=Bnqm~isS9c=Ea7{%Vz5Sxn;&dq&%iC->sqL=GF zxp6|^hUufdtQ0FLos3jnImH^9jW*B!oOtZrzJ}pAXjkR3*4KIAK#B^~T*klEOqH79 zg>~XKyH5N&DDazk>Gl%7=Gm&7kz`xGoZz~MCG)MRuXn?iyRQa`?wp2L&#p*(J4Lp-E|J zuW$(!&GMLLw_X3Ptx-fTo^}4A`}zQ>o!<0ySNIy~(Fku+ikPvr+47{Q<19BQXY&UO z*r|7^JhRF%n?xtvJCOmGYd-T`aiio}sxTpB=4LLSO=X#!TSRbxk!(A+RNqVR_;1Vn zvgo!XNq^kqu}+xJshbw6G;mUyUBdM1+4E!?*X|FDtG!grT9zIG-W}u4TPwE(qO6Ka zW`7p%3zBv`wuUX!zFUizbb zqI0|;JhXD}fryAU5Zb~n!+ug1_Q}}7?rq-LIoS_uW#8_XI2Jh_N4a|$4WZsn_kQvE zf>nhd`W2NL^RKf2>b3iz-0kEsO^jf}KD_~`|dM6A-1z&FgqC!7!}&Etqc$ zH^E{#YetJ9uRbr8YsOXArkYWnNHN}p9d%(^O;<`7ZU%8HoY`=I#75iK`|M6z#zO`A z6COoWe$fQw=422@E)q{bfY8+l*^Y8U1flpO>Sn!-q_sl@rYQ5sV7vQhxR6apkAIrc;1inBV9dy9Vem;{Wzd-yR2=H#D{QDuCA^ls*b* zFMr92msS-zozvXk97IVvXSS>b-IXR?GcuG@rqpDbh{+u01lA9nF6z`HJOJU$M{V8l|);S5G;i^tUxvt7e~6I{lk}X7DvnnyL-m z&0{i;m)uzHxGw1qg~N{E69_=H*u;}N#n3+jTTw4#U#w2;(=y(mxA=uI))5!qI=|d* z#%1P>Rs(E1E4craELcp=`@?Nfr|BFffb&}Y8Wg#7%UfI*8NoKfp$!Fgl!@36fs^Tr z6(vqW2xAGzAo8mfhp)LW-i7{eBWK0s$#^!=Upgw8bf&SBlnLMM$D>~>TRFfqv_(SC zPj@yl_|U&_Q=(`@f6Y{}j4e%NLVLQ`W-}#$*H>`9ymqiTG$)JyKQ6;NoaEF7I!{wP z=KSMRgNdwnZ{XKe5vMD^S8O1LnE{7#y<^t^!vuogGiQ7`qBu#O|L3x;PA%$<~>o;X|<{y3@MPEvO=wT zR!mD8Jd1SyPX`iQTL4fuwGuF z1#IldHJHhFf1d5-gH7q&&yhwF!ubv0bU~7;dk_w&sDHz}3=DIYsORomk6jK2>4g=z zvjhdnHaE`O`vGQ07P~;eVDYAYWrlnBxK-H;`#Gol;L#Mwuf04 zg59J2NwYI<7oSn)=hP)9aEtY|XOS&0?8BfCd@>u6v1AG=_x*(sWh8CNFsHTiGELT? z^kGnG(gJRTFb7y2%g2|M(p#~10K}W_k%MU~XtMA7mX4s0<0_bi1Ju_~JLWj638Lly z6QjSn4CnLS%c_=`p;ja)E_oDBY4%3wu)Ua&#QvjTC0FzK{`sr?=|b--P_4>>=jl&s z-qO7Po)Kzw1Dt4MNw0ZKeVK zIISAQsCaaNz^Ml2yFJ7WkXd$NC=GMe^wBuI|PC^$p{K$O*=`s4OS$=KrR34-CJIaR7GL zP`#N==RYoM1h_1uxS_vn?tfW;lIO0vN>*LAtNV1oCIgDx;W>2iZ8#9v)*ekZ27bPx zJ)A#sw!ahIYIw?9 zfAdW|eNwg6ZTOiFzp=~ww3&jVaOm#HGuu1BpbXwPjGyIeKf9x`MLs_zC`LQhsdIK| zG9S~_{;F~LLGFi5y@=ngPKj$J%zk3F8S{dZ6$V~pHhsbJ=DM0iPh@SXj_+#m{F`^$ zKuh#?^->-0S>DaIDEZ20aXpy1-sTuQ^cNcQnF4bS>cnDN%BzC64+6uxjnox=i|B>t z`&TI-V6FqHwts4jA(#xv6-^vSxJ-3xW_53*43^M_ z0;@ZJ@;w80D_g~l1_oTT<-qF-@?p2pZ;z77M|qlBw|a%Arjmga{cFNpXpPG_%s$&q zWWu?r=h&}71q^@+Xj{=s-?K3T!-^I^rg`8lI3MbL>ia%tInIE?=)3s>gg03Fez3HK zykvye1dJ;jC&8D5oLu$~CQS9r^>?pujcC*2KTn&*qZu2QK+Q3a8BuS#r{j z0>^HUXaGjaHjX;=d+Le};P~Y*KN@&_Z@A%#6wf|gimPhIe-HUG$&yGn> zwmTF@XODlq_d05O38n~KxLWBK;-h&fQ!vbaw=Lw`kTLBz^8qs+zHso`#-+1oFVcG5 zJ2~S2we?i(5IqZijfFxgfNg$1TI}`71#4pUAC+(nmpdX_3Gyz6aW^SX)6F+`J^}ij zGM$%9KWOe|23~+Zi^M13={^*mq#G28^IS6yr8Ae4e}3Bp;MuICi-&Rdd1(KLqenx+ z`KyILYkyI%Q{#t4S3H7we73cC`f+I}`%rxGb1GkE%Q1)g;+qzy)6;UEX{YUmJQYPS z=>cMU3;KD@QE|dN7iXt^qlsMQTb;4luhI#3VI50lF(UF-j(rvDBI(1NT?a%$=owYw{ve6xFT>`ot;8MfUs?s6l z{mVCBhF=z!S12nU1DvMf8`Pef2G@DIXx1KKWd2?c97E8F^72%r?Z}nVV^CVf+JUZK z;K}2!9wpCPaa!901HeyBsBuD8<0pb6BrV5n8QoW4)!A9 z3k?7Af|`bg5xM4*E6AX5{Z=3lN5hH*sUB2RnmkPv`*EjwZ1~l`aWs~HgLNt}kgsN+@k=vXY(u_O|o-5j3RrvN$2R zq55>TQan4D`WZQQpg5OLn}(maX#i*cBbtkE{lW@;aF6Y?f0`kx0P;;^L|n}?!gQZd zoBbF0(-X}8yGu^P)(ZM&Z1N(cKb4Snr9*Xg+9184l-{4F_Os;X+lOAk`1$O#j5v9+ zb$R8O!%Nkyv*lQKZ^a9hn7x&L;{0Ya-%y0pO7s!C<5qgz_D z-i==R7tFF@bQXn0cZwo!HMQCR35#Jm`E8AYjVs>ID>7Me871nOd}!d0&^wJ2orfsW z<9(DLTV5jlNbpTWWBU3H7I^Nkb!C*8szHc46@KgH$Q}4&&Z>xKw=hJB*jXVEx|qqp zG=LaMSs&it=-Gccq*R%rQDd9^4m>Dr%eHRq4)$oUyQ(EaM0+JAGj!{HJQS=X0{c^9 zl0BmeFYfhA@ubC1ye#i^Mw2I}9w^)b@YKMn+-sYF9rZdW(a71rOUJ`=h`ajy9tmW3 z(~S`0u<6$H>-2Kd)+29M7@rgLr|SvvVvHw%(p$eCcF~@Y)a=VYtuB9>d-jVJ_QEUy z8eN&@Op-wUtl6QSVbV2H@7|=-oh*hgt;X%q(dYRaY;(-@YS#b($8g=zHvFI8kfDA3 z2F6Cv+5FodX>?|}dt1}P!Osj$Cy>kG-pr-D3mQ(w=hV;wfkmK_=n;14Iu-D*z&kpl z9!6&h{@maI#=xk&jLDC>Jx!|@Ie5dCFDPLmw;ED5K2eWGmib{;#%Mu>v0B9jRh}4I zSQL3EqzrgQq8|eh9yni>4&HCEz;qPyn7upx0YiSrgyAMt(7fPfli;uOg3Qe~Scsrp zUw5--D1Re}L%tnxiil@M2*}A3jtc>v$*f?lMM#Lf*b@6+e(J|$cn`+5Lq+a(bK)Wy zr)#241dx_9AKa4j_H2qFZi@F+ARabzlk@&wDzV87%z{NUZ`$tmnzb*h|M%R8hk;L6 zY276hANz`m?zw|_nwE|*23Uw|o8*)`{>3|j3f8pLrcNM^$5}-QyA?+r)}4^qKS-P^ z4q7Ad0SFFvy7{HN>wCB=@y#_{(qTMQ-OxblN;k7ZUN6>P%q6T;!~~T1iAK6!okCku zP1ikTiT$_%<&2|S4BM9c+rrew9Ast({3PSW_YD%)Ttkn8rC5Fn(t_+rOu}Xi=kZcw z&r0KM9*z$Zvnb26Jywc8`YO;;DJ8SU=K&#rU=9p>iMY;ySV9Z!O2W3x1(GoBx<$Oz z=fP{U>o33FaPKu8J^9sdL!w8!*F`;MAAxq%XIx@K<6D0(b(o%u@&&x>g<0IYM1t#5 zCUX_sKJPKiCOVi`Ay!7p1m6s~zDm9H*0#)g03h`$<1I9A)Y=r}LfjSepr z{u}>RV`zNaX+PmoFJ0{Ds>p3Sx@y*E< zcuO*jnV9i4N;kQ5?*E%f#I3SwbGytWf-q*NlQeGK81giPr`UxRiIBpshy&y-B{3 zP?&qE@eL_cVNQ%Ltt8lZrkZgu4Ar$?M3R_irvTJ zCIV16>!Y71AFv`5y>`TsM7)n=cqMSjr?XAY5Wvnv64rCA{r)2Q!xPxSC1z-k--nu| z5Mf$jxUmDw-u&tbw|8JPIel#22GI19BPRby4NS6D3$%oYGx2U$ENGdR2oE^tPNuTo zw_=Mrx}mJWC~LbtL6pa&IDjWQwVvAq=DtF}Agh2AVhWsT3rZ4#8=u}D{b)Qw* z`D&Cl-|V`#45ln!G9H@bRdD5c;BR4?VTLqUYZ@>P7+b!7Ncc#vi4n|~a^|?(a(K@A z#9eUb(sk7S6SDu<)m$Rl4DanY`wq-k9MVre@0S5gE#=AJB`G3hp^&j)sZvHmmH}gG z)sdJ~;L01eLG4K!&gUAT;iVdyFOgaM(h(@J>X%SnJby=>(xZ9|#-iT6v^kFmXP)9Q*J) zX{k*+RZ8EJK_Dm52rE5DNg*{&7#9mIDdQfYAv<|)?(;8fHg~@gnzCVEdD(67kd|Vzd%xWBuKT5;IK&+D9ZOHmis{9jc*Lx2Sj3Qe)$mB0JBGm!As4G zS@h&{w|DOKiJZl?cmjB0gBo2vHr2r#D?i8AMALVtqStsI_CDKbxvl~QM&{`B>s#@~ zWmjG4r`1eu&V@1WAGj{wyewX`G3rnm?6q2<|Jl=TtH55IIi=S;Ylq!?cp>#)%R!Cp zT~&29^shU}5qMQxa$q}h@`T^N_NAM&a)--{$x9+O)SjwiH;?MDIt$fS$96zyPMc3+ z-XslrTW>X?l{Os$iMwst=TM@CLcNK1r6t7X(&#uvDQX{IGQxDd1>(`vDMOcTnG|v= zRqN559$}N1L5Lj5j&RuQ{*T5RFSl4J-(YNnz2@dB_E{s}KB9fDC?kJ~DBC_DGD~#) ziLA(jx@;#Za$3u=mr8BqOb1EgQZpw&-2ib=oIL`Ui*vTfkNw9tvVn{g^RN?cjAhH8 zMlcZ`Bq;j!;g_6nQ~V-ticcjsHD!=r6niJ|8`kaWgHfP(_IP8A;At&=ozbw4CjB)fbKVHBS^y+9jgHechSkVA?TIU_!uW!(~bEj|)4b>b=H= z>5SB#{^z-#KO5bHmXGfNQ+2G99rP1=*ZGUCKYI3{>Wh((wK47Kf|z?}lnGBcIsi=!tRU@uyp*_-xjE?{g*dOoY>W+7nm$c`viSDqv|8Yz-ICzU zOwGy=7k0sX3KcS^}R83^Gvzr*wIffY`J+9 zh}$f@0Q^#cPE-G)rW#1}5!*OB{Y$rCteqfgCz)aYM}IZ3y029>VN|VQNft36Iw39PbIHQ@ zEQBi*h(8$Jot~C@7%gZctxfVXXD%N|BvdeC3-A5kHN;#BHn#C{R1p-Z1D=3!?{_Bt z#1t@g4ym@t=d}Db3~1@~Od#~L7Zv_|B~bMei|pqH>wA-3Hb4h7*dR9Qrbz}u?bweS zFS+d^Z-MwANJAgFLOrF@UeB-rz5wzQpsm-HN)G}K2ejF5L#UOee-4%oaIpG}i~kTe zTU5Kkvdut+mo4qBkC}tFwfob?CO`DCajhS{E7f2fX26Xzsqef@LS!FxI(BUNUA$rN zkA>SsY>bnivYF2!wjM6NIS$=m^;2 zj~RugGk9k0a*O2j`R=PQ^4zsxyharQjFf;|a{;8_%KvfN<(|{yvtZsvt#D|EJket91 zkU-+_jf3dRC$<>dT0${v{Q#g(ON6#ohE~f2oLcT8R>JQt&m1L4e9XJBY2$r@ zIQvXOC?BG6<&(tN*C!MHgY+-H^Yt?++=?6jMwu!TV*6}NlOdd}e`$pLb{lna6`r?i z_|!!r|-zMh7XPuK2{+mQPu&hLV5ye{GemK<9*Y+50uyb*H%L!_!-e z)6QWVd2lB~^fN_jg=i2#{c`zPbi%s3s?{_eF3)#<45lVL>26^3+#FHyhiujJXf@dY4)M?V6lZl@rpXhktR&U2M*(1W4o9F8ZJwi0uB;@~7d`Efh z!Ud|Q0(KJ3U^ z3OXYK{N`wqbMj?*Nw^XRE9kPA8hG@I>WiY>)<@C6{o_WJy*+e;W>4#bCN4v&BPVj8 zC2uZ88^Zirn7%6^n~$uK`+@ed*+tii_V^%3EIN(H@un$YdX(E4NEM%=bbkyyET?vIcSz%A^tye2rv?Y1(Iv!KPr$9IqY-K6-$(QxoDCW>zq4>Uh(KsC zmTVSE@9`75g7CmV- zaD!$L0Ndr-(F0*)U2c;${>W&5w-i=?6nX8ljsFJEPT z_SD+%vg8}`l>3Zta>y@7NZow%;&%FH=+{WbaQf`d>=x2qMh(_R;on9#@ib{(UVeFv z)tJ?6^pfFyk#gB}+o)-Jmh!OA%rCafs&#lB9~`*W9>ilOOhgvicB_I34di@9-BLd8)YXB$n{`2-fwV=U)ox6@=EmJKDmNjJnNoh! zYeUMlF-hm2qzDK~+9!^*ohNfk+q*ZuN4f2vx|iH7d_DEENl0iR)T1-Y3c;nwvDU4+ zhuj&PMRg^jiH=bBB|1=19o-j!@52#$eezUA4(_~G!vkiLePX5`5ah)?F0#56rP)R{ z-A@y>`qb+ZnejW}bQ(QzN}b$Px+tUdy3_QbgeS-+%Xf{9-m4YvZE8fJEcGYyN$<<5 zidL$fpRAt@t)G1x_}5by=36B5ntm=)%AhY1 z)s}j{y>Ae`Xn6DrAL1#YLQNb>KV_?HiZ;F5X-NK9CrULpvguWn!TRT|oMF=Lmf2Ul zh}CKPd`nRgwg8vAIVA|5T90R8`t4&;R4UYw81g;+fgaOL^Ke|**~D(%)Prg_vxC!- zLbg5A`vGeAuP4&B%&7#~TPd}FHX_{qk>aBN&TV1FDba*oE+bbU*JTwPjD#on31?E4 z+V<*GKNpXv`p}ASkHtgL0yNQ z?u=*n^F>&*5?QP17E$h#S-!Xg!SWr7i*Tu;n6WYKfs^BteoJ(}f)UF;0-0#gp45pf zy(lCDFyc(7xt0S0IqWZ~hb+@m${^KW7Y(-6J!Q&a)?UjOJzt1FH9t%gItg^de)FzA zIzMaQ>G?H9yi3ygt1Wfn7`L|k!`@)MuF9Td?NwMF&TKI{m!l({mb2q0gIKvks|1T| z6w1U<>mU?Y*cmEXp3aGsQd8X@C|V6I7QG;MYy zm91879coxr|7m<+?=Z;o@sK>>Fq?TzwKDwfT3&)>%3xz?13t(Gc81duMCFB9aMm=(H0+TtntNl^2H(1)YK)st^p|~YMLf|8ab+FImIGa z@Dg(^x*kGh%-8qcg>Bq0ZB#u^8~Gr|pwgnU{{%;EhsDJe&WwKA<=5~E=vITqgd@;l z!|Pnk0cwLhw#HA|hxv9!Qfv51#3aPpW0#lB9QKJ#;N;Th}d#Zubywzt_dewc@g{EX(Yo z^fgUC^PJ#=Gf2nPy)IhRqsXq}JX3Tmd`z}7!7wdG104mgOi;hrsa>WwCMJ+d8W>FGSvtt{(%!a~ltIwk!ix)CU-K44 z?;;QGdZ16TPYu;Q5QG})C7CfF_Doj>m! zBU~Hu3wG1>(57>rOBOwB38$i@lzAkJMMz5p6^lmYD-(!m`<@)0Q1z)O!t~aV zo~!6+tQ8RiaxQPq^>oZEi`qe4uT&W|Jf!eJE=r=3rwFUi#sRySmY-Pe*o7AJAoRtU ze22DIg>rc>{_OZzjv5=-(R9b;$f-|opFuXNA(ht$2*2H+ut}f+pR?Pbbr%zDa_t zj?Fp!9jJF!hJLZ0s>hCGG=RpYYvW) zKTy>gZ*txhx;C|$ms&VtODb}W782&^UsVq!sjZ*3cj#deTyPU%rBQ}<7Vpy&BE@nEhO3K*6sF}0;m8)Nd6@PPx*Ue$Dmr@xawF?Car_!x`zQJNK~u(b;3PAeZ<1}#_%0zHN6HzjUD}m9CcI0< zU(7P!Ec$(_=9>wh53{TkR5vzvLn9tEsx_&h{_3W$<^qL@uR>zJQyqwY^Ci#wv!Q$% ztC@xl{9L$YvkXw#Q}aGXyI&Dg$74tyv!R&Ll~L}a7V6qK)ahI^D2>8Y50gJrUi7%J ze|hCD*dplY&Jz)%&RC6#(z`K6YWw=h;Hao}P8y^qQT(lHp@|EOYmL{ zGK@tUVjoH8#-0y7HF~6)Q3!XF?lb1^)9Tl#^hvjSnJ&il6D}rue^28vXz6?T5qWWm zS0E63^8t@uQuWG~3Jqjt?$i;aw!KTla3nNCy~-ZT7c1FUgoqn3J9Eb6xbZHk7%jxL z*G357L>a~0I;&td_+&DtSx9q_KR!3I|u(_xjG;U7va{bIJQj{&SQ%M~) zH8|Qf5>ZACO(9K3ex`V-v82k}BoQH=WulQerL%B8y- zV3W5fRq(Jbl1`6Ph+=B3RUhT(4`kn@0;Loq;-RFP_dZ4{O{grps@ELOnDSP(a!}4~ zsV99>{e>>l-W?vD;MlQ!hpm55r8~8$z0cTwUr60?@#EzBZ!nMsP48<*YK$SfQg=0w zv8HKZ;K9hD?c(Mf`YVRcPAf+6AP`{yPgT{b6V=xFIhcH`zHNyN_KyoNgH``#{~ju3 zCqs8U?fqvz@bPoEJLU|QS7JBE=gqPVCv6Vg)X}EEG0}kEEzRm-a_@2i*Fs;HuL!ii9$ zk0mQsVgx*tG}hp;ovPpq90gFDIm2cqC9ye!6+G#=iEC0;31aYZp){%d*2dx8`#B4< z7#98g{+*)DnENKB;TmXO!;Yxkr)j-l~h7{peMXm>ON?ieyG> zu*ePlzxJ;DtLZb{N15uhRJpy5opd+zDE_aC@tjz8v`eBZpw z=lLv8NT}qX zZ_D#AOg;X)*GdeARqDEa6LGQ0g0}c3qx{g#lQVK5e*E_16@oC$1Bv4G>1tngvSHX( zd~T)9{h$@vx7Tu%PuBQ%Uix%jZC^}7rP~i?79Kk(C2>dD@+6r)?B45B72ChQeLP*v zTf{$ew3wau~H$N$5q z<(TlK+JX2!MOSPpo$|{ba4KFZ&FkNi9)15|(1Wv4Y=bn=oG@D`md8~m4VbTJ%k2Fo z!+K^kP_UOo8$7p?e=G2tp6G3V#9$gdQmb7yt+Ds(Y+7ks>^^yaGkUN1zGyC1C}tUF z$L~tQv_%4KQGfDmSMTX+9&O}Cex#7SMf=u^cy*tJ=kArZ$!As*4O3X*ov7zCv8IJs zZF?Y}{dl!Ib>}J9{WlH?qsmLJz}ghI>O=?NVR(+GYl6X^s3m3Nl?7HQbI+LSBw10? zWW9<(kkm$W(1tG9E9a|ODXTr_o+gh5aDvr~S#Ht-zy`-;P~jAkKVUGo?h2RDrkmGM z7RGx?Y&YJBFMjC9%`0-O69&&QB@NO%FB>M-e4S&bBA;9e1ys#i8VkBd4T|AwmHn_j z=3`6gC2alRd2^@u@mI<6&9=gv)VXWax-M5smmkQ+nf!X)Xhkm8ed104!SKeSnvrZY zXz{wY*Jc$s7G4s{2=()reqxn0UNfRrvzk=;4Ax?X$HJ@d`r&MM+H9Ab%9*3>Ol*}b zg^dB&3Epdb1oP z=~m-(R&0p6A99(RWzuVh)(Hwe*}T7Ta2CD>TNC9v5wjYDDH`4KK^uMDFXS^#AK<{U04A& zYWGI`+|zyJou5UDOH0-|9F?!FPH6Vt2rIok?aKT__p_Hx;pF6G{+x4l;>!vr#$>rvT8a|ad}He_C6T+77`xwB#-D_wk~nvuHpZg6yN z%W@2c`pT|)Sucf?5=KkwEONsgi>Z&0nv5FNy}lUl%A*}QEW@y`^f02(4rSMw`-? zmnM!zr0}@BiRd6ya!WE(O1i3NY`#%HpcVxRbT7A)`5vU&GjATvi@sY2zG`s^%yW!j zX(4$gm*d0s;SfA2rOe30q$G*E3W%l4*KOdkq9b4R$Q;*+(Ab}%87L&OQu*4h*s^Ee zVn@a;XZRW(F2g$hYvV$!$(5sfQBG_7Gy_W_=$_>$+a0Pq`=kr^R4EV1FeRymuZd{> zX>I+RA1rBb_R3!}Y=YIr?~rSl>Bz;Bmqr8WYMv&t`#K3>*%^Rmm?xX!7W(PpVuq9n zDqBC@VmaHkIY$nB*M=sDeRn!&eTBQD4rO~Tyb4L4ZYHr=hE|qOY;1MI@nx8Y>YLrt z0xb#14VV6Fz-=(m0_t+8$61;M<-2}=|Dm*twnReS0mTP`#Kgp~$z3sQfXNOx`32j=^%%@U zI(264rC64}50)U-Z^YB&9e4tqsJJb%@O+#iFEDcG$%T=zF>f|1^$nhhXO&_O2O)I4 zPAvNV!!=Hcb8ivz6uO)~%03B&ee>|P`qAGiYN5uIX=bb2S_um^odvr#>&NT-%X|vi z07oKeMxN_mcIc+O+Z)$)(91ec(x`O7L&ew86z!_4^6F|F$2eE+%$$*r3rt4n4DF+} zS~IBGTqwE5AG`j2lRYPy2Bn{$JW1zxlgVV%npV_yICf;aPZm^EJ=n(Wr+LTl=6kjW z-}yYeHM@(cD#^zpEo9Hl&B-Sl)S}KpXS#4p{z;&{de}|c(!50VYo=rScyHZG@x;VL z*Sv(x395@!07(c{P-3dAchCE?bkF+}hO_EtMecP_+6qrK)BkFhQkeje|Dg8R|*4IDh`V*KtFYnLV zn0M~nIpB`i02$!r_J^*0(Fq)o>JV5iUMtT9@>P9INNw3bfl%oHa}9hw5f3`8P2!2V zZ+J`ebOu8+E85@|6T+XbjP=A7WbYaJQ8soLJV<_I-5>r|@v?dyr3INd{^FLLaHx+$4<=2g*Vm0zHSh&nw4b z3M;Dlx||a};Cx!C*Op%w2#B1eaSGiq-KzR=b9S3+A2oMZc#AxPXn3Qvk$KZz9Q0B| z$0qfuJ&ftLhD{l^sR__Ew(~D7MowjF42)7}6>s4+R){>K6}Sk?WFBCapyIGn_g`FJ zBMe^-JcqT6vy|3}_Bwzb3K;_Zz>Bf@-5awI+h_iH$Ls##q#zyuqpM(7c&$d7q&jcz z*alSLl0b#MN@q!d^PP9@oXS}L83tnr>ibVj{YY664ZLG{n7TNuS~7diB6*Y8W41HW zI)t>w&ZiAfmy0b2jM^sbhQ+F)u9Y2+V=z>fvc>(S2}2i}T9I19#7|G@d+R8w0d*<^ z`6{21y>UE;kC0seu<(n|Jo*qBUF2dFeKKP_`=qpysnrWidc#Zd(h;-~XgNsi*e7Ag zcZP9+EASj{&G83(En8`IiDQu4r;9z2$v|ryBb#(qsf%yY#ri|O#d~%kCpZaJi-@%s z)V#;th^&%2S>--k#o#%V7t`7^TO>cUoP{bo*?<2#0B5sZ)>??`hocXtAxYB8OiMB! z7|T}M=0zKblT>oenGNunbgOlKcsAZnwlvA0H?IwpgUJ`dUgl%*@Q&RB10@@rBjsL1 z-9c2At5Va5%7SpG?}nZj#wo-OV5}l=Ny=B@IlgSP6UfM-o51Vt?zpm}V{v+z{_M+j zTS(9@lTK$d@;N|g+EA-?ks?hE1Y)jJZ{f`1rAXUr!~%&s5^IX``PIhggt>_%m{Q&NGS^4 z88K`*i0+Zp=}fZxAL*+Pu&MQmE1(piGuLdFKCg@HYDYI(BoCUUi`|gGG^qLY05Ccj zQN{IKzl|OXZ!B1Q82#V19&f}7U)6*=Q(xUa3qXO<+KcgYHWpqTi`)>PcWjGbI_i1Z zD#tGbh1IsT zT{e+wk%kD2V*)3NsMs(jFrMa5{T(Og7)Lm?mq!8>H_J;8unipogZG0657=k_Ov~Bm zvdzL{>fxYf?BfkiSRgmkU}!lY%{hSzSRk?OOA}7;wuYsfRY_J>Tir^U3>-|0F4_|Q%y=snY+)1Jw=tX{2DwTe0=}P6%S)5(qO*jo%t1rd1WLf5$ zJKo>qo$vV0cVUCTRiw;eg1V-JA;tGm>wMWC$JA=T6%f>op^O0+ z66Ko(_1=463Y%Jce5-YW%!lMQhp_3NutKoa{3bfNlb|1;{dJiW5L#1($Bh;sJXW^r zwl5|hj8!$w+mLDjbs;J9FVndd11!@LBEDpW1DPp(d2wl>4+moF1ETMn41=X%XpI^H2cSO} zu^|`vxvBh9*OsFs3`jqZ{CRU?y=qPNek1>8J5Q|89oiZV7ED+x=Ao@|^ISphEb#>HW}X-Q*I zwW?k}*)UrqGuWYdPC@~A%)bcG_KH)lM08wH0K1d!26sX5ENZn$+Kx!jU8WTo7F&s; zq2|n4c-;b1J-pBtD~1p$#0uv|p3|Y|%D7wxkB&IJ|Lk+$Abv8_v2p6r_Rt5rfj$%c zh)Z);$x}@zv7r4?AreG-=TP0~RB^Pjy~|Bjj4ZRIiyZ@e=^*aNjfsGrAVh8ZLqUKs z3HU#Pr2S+4GVrW_synDpD~7~clw>t!PXRS#z5NtQL)d%#-DSeJP3BXvW|+Yn&L5cn zk1ziH{iJsgfY!u1!|2Eev%d8{$q%Atamqq3>+Lt-qQy1Bz%Teq6S3t3F+}xgdE3u8 z)gsc)%|#I(_2dPH6<%0lUj~+wM1!y%G57Wv$`a6b`ngU_a7UX4r$L{4=0)kb6+~id zXI0SdkpEUu)y~&X7MZQyv&mNfs?{mH!)t=|TaVzEX`N_KH9Fbg@TW2!rRhRay7FsjpfDDjvyIDHpi#b0}t*BWNda3WDEg>-@JR7GVi>>pl2zlM*Qz>hmBzCKyo`1AlVd&ZpoK z90P+l78-Roc+6At^p}0PSmYz?hC(T~)PyURoe=T{J>rq2v zZ)U4(<_Z`3pa;`)G#X9p%<0fntpbLJDAuvct^d;2fHDtt@fyE9p9X^C9^7#rM8Mc+ zT2gaY01%_QBWYj4_|Z!hns&A zLa-K^eWj=yg+#=Wzc`fdkqz~M_z}7@;;M#8-T5R|as2Bj=zSiM8kBC7@mDplvv^>h zfQpx{BRqgeQCW8kw+|Qp2$EIN$n*02jpF@9&J;h?WdUa54c>8h)o=XT6b+@mtB-p6 z3#d~g?w^DpJpG07DUzL4oi;F(vF-lycSO z6?%V14x3@zv=e`T%>30w3^33CO~~(G{QG{v``viI8}BOx^QZT`(fqGN1>gLL0~s-k sLjNP+y$Za?Hs)Ul+y4*oY$AT1HfQz5%mLcM7!2u4zrR-f<@ovk0zB1MCIA2c literal 19586 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�Iv8&>z4ktsnEIk>Kd^VZyH!pX2@4F>lZ0|plBt;s!J)=3C7*X~NCgKsLB zr+8iz?wT(;Jcf5rA+c!F?9kf$Y0$e5->XJFu52xm`pCM(pcBGfYk2|JJw0+AcsVM8 z)RxGQye-*@oBvE{eh(%yz}$U2sG%W~+>Abp&?wO+^H)%cOQR;`zvU?hOUhv$i>qo) z#b~MS1=iT8ktnRo@BfNoe5jgz=(hW8#~n1$8Dtc&HY_8Rk45V8>0Xb6XXhusk1y*0Pva$i zj=9Mds((kXQpN#ogj2vx1$%Q|oin>YoUKypx)6@sOui`2BOknRTYuU zsqBadn>+5F`5o#$^|hKXR9}9bcCg~>Erv0y!8q#J-{up?T}<{iRV89mrOCg5DGe)V?_3C?_vL6{sXj1>V643tHf2_-JeIhB&b!( z0su+S2i_$)^Tm;~w;MY8=NnkJ(zP37%CC-(hZNGX$oKhepYPsp(cJyQ26vE=X@GT% zSFrB)pjuAj-V35c3uz|3J0oW3FUp zs7hU-7qJZ#7Ps(57~T-4$2XN?r~bN6b#@d;aT+gQQBBON<*(R!$+K#wmKV-lq}=m)_rR zV#Rq;K8;5BCN$U|t>5WhYlxsMt~?N8=EZ!dH$(+0Qg;d>?(PLm+@AsJl#yv<#%51e z#Lb&csdbTz$rYQ1y7jv?tl$b#Um)A@?yM){%GJ<@^XXkS#;*V{7*%{49?UueL|B0ke0;yG%GRe53yN*GsBmu4wRQH%0F0fT(jhQs8 zci6Rkh&#)-uX`E46gT`nJT6e-P)P!=fAO^Gk@DQ(8JF5cDPSR~c)){N7lt0WwSCC# zXvP+Uca7gS ztqlQegBWDjaY^uM4<>c=V&41kvjJL)F*S+0rU`M;f>o0CFXoHEmMWDFi}jCVM7l;J zg2Rg|StDm-cJy2bu62yB7#)B=NQFB9A@kf_-p#0`g4#lU-jhH40)(w;{$^ zY8g2^h}5@I7Ob4tJLdHrC56JCjR~#K3*$yJJi8NN+Rd?`Zmo{i_-Mh`0iKkLkkR*X z-T^s`$1Bg#Z+Sc9?})cfB}JyHi6(=lLcpB=JijOsMh{sGv3uAW8g#_ps?;3Vc;p=-}hH0k?O*mMsX@3DgYIVN+7#^ z(#b*;jYuYK^(TD08THciw)jxbP~DE< ztNKv!p^lM%j5$btY{k|1%Blb4jiF+uNCtSP^|`e(idwB%fJJh4-R!dQ*my|p)Jm-U=+ETl?^Vhp@BIs#shNSn{_nmHxen7m-5xQh z<`uZ0SZGiXL>jFjMfiVSzWn0Fq-pcjQdV6bM=SV#Belw&`gyMV zYxRZ2EZSX0J?raFwhDc07GN4|^<0iFJm zwDXU47(+_~NVetBJlhYp%9zK}Y8_ zM!$IkDmEDI{1N)F<Hmx(g}YdRUcqs-jF5h_uxMX^ z^oNobB3C;rBUtl(o7`wG%IRi$RerBo)NHlAYaLxc8YPpA0t)B0GMlC%*qeVXtt{Sc zI1}4#p-2oNH+AHbjk0T3ZWpGK577J2du9qiVbKkTSs~=FpR5>Nr@sdbJ9smMo(#hP zRGnD$E*9^~kBEzDN?i{jQK^c-k-l-8JT-&bO#WRj`K3Cqj=9KE3!lQu5bxYaPmG7@ zGd-wWrMz0|_s5LeH;Yrbp?!j8Q^{jmnGtsy3W#b9l?Mc~Fp$S+(D34ksyHtFmRGi$ z!7oC7(fxWll@)!Zv3=>Jxp8B|em;2l-9OXg2zPbssaAxNM@MbE#!Zw6GSpugf+$id zH>3c00hm~dc-Q$on5>m1In2YmUfD`xZbI4dv$sjXz$1QbT9<&>{l3xdI1tJnc1JTB zBVwZB&&Cxrr%jHe(&iS}$#=Q87~@w$wHA!2x4$YMNvt^0-aB_<9 zQvKijb(hn8N&SDh@qdT^yC(k!uK(8{{%a8bHHiOVIsf&B|9ZoJz2U#!03oDgxnG$V;%{&lu220G4{0~Wl3X~y_r&W z*_#+;i4-wB6cVB$DepY*`{n)coS)9$`8)RWe;mhuSGq)orU)%t6Y)-=urD5PU-8$H z2TSD17R;g&a*s?z@`v2Xh;?%9$fQJT7kbs#33OVORS-<^C7vCbL`_EY%}_l)ecJxB z-?$nWxczF#;!ztsqSZv-#N^kPNRzFPABRw9<*CsaQZg>-QW_D#ON|zEp|T6jJ>wG+ zsw*p1avuHchT>8FZz|8KDJl{@T5k?rl0k|Cgdgj(kL2a$D@&ZJovi-~oOYQS$W|@A zxi)RBQmhvrA773n8(y7pY7hVJD6Qx1V3CR*U%UO7LsvMJR`lzrqGDyhyT?_RU(>^! zGU`2A-9!QD>6RNdhP`N&;;E?8-kZ)n1@e9x;*{oZN|XcQcK|*KUQ5c9DS&5VOt3;6bUt_B0X-| z-r;Cw5kD$}mq$mo{PI|M2L+NfEgmIV9kC6q`EhF9n;jJpyqDRz#e$MrwFZIHmAImv zolpr$$%o-TR;xVpgXW1}nuy7w&@{E+`1MnD9<9!Ud;<-1jD6vWbMKy9K7U)zyy6)A z;Nc>@TfcYjz8V5xG5+J#fYYZJFEu(aW&2M zJd9i1VFd5KWhV}7&pL7CeS`T?R{9}Br+XT%PIuMLy(zIseY5rH^9v0xyMpcL7VX2EQ%NcHFA*_*9*G zDG*QF`Tc9#e<=U2vYet#LP)d`7ICUZr@NoLMi!DeW;I^xdZ+a7)$c&q1_ver7^70b zxJ+8R1n)gS*OP<9=N@Q63kEUCeQ$QZe^ymj26S_}Y-z4fe5xXUZmOmQH$$Rk_zq~l zUeAYJS(dsesET|-=&S*x^?lMRbf7rV-rQlZgQN$q-p15!ox7u&0~sohCv;Vr_pQOMfizDE}tGwQ1@G}fzKcvj1GC;C*S za@ApTgnz2>s$986%|zV=Lz!j&*^c&Z0V?O+23s%XQnb5Wlmbo@O2S|f2;O=TklNI5 zLEwiGa0qz`JjlS~5M;g#B9fN~rfI!ADrF_BGXaY{LYNk6A21|>2xp*E2y4aYxD^)I zh(O?{35rOnGz@E{^ZZuW&HwjeLlxI>p;eGbG6`Y7cD|O{lMF&PNb${{@>HA~mIT>= z8k3wsdEo0}qnOmC>$afn={TiXZdW3Z8mlz*^IH6=9U<#8BRTEd_7P7=j+WHESQZ@c z6&{hvMfeD@J5#}OG&_|2xX$x=N50-A!SeQqZLOyl88@zeXnCr3u3G$z*51Y(U*BgW zm16tA`0i2ViORDly-F0>(H1}q^ajJp#Wbn(W z;7b3I68^sS$e&qizeme$mJ8BzNkRx%^Kg0V_7wWhNU3G8X~>#;3LkRiP1Q*vE}D+P zNU-{zEsGtsb%=+i23z%hm$Mfv!3`enz{54=a6 zYs)!SFaS=FgjlyR8;OXr6wJ=!9x}u8c~rxD?Chb`qX(q*h|GG%l_`VAmX>W|)Xu;H z{?A{??V4O&os{=&VfxB<+A$mn;IJ5Av(!ly-W8}t);QOlo`_YESRD>C^IQU~;J0|@ z<1kVK7UvHbBR0DSlt42)gZ!^p0U>c=yk|4T;yd(Z>U=OrI2~2+pH$Y4PP-1y-?xE|Yc`?HEl+AD6U$U~FLn^9u4;2D(~YB-EYD&Pf-qULPz|Mhxg) zoiUYHn^?OtUVZm{YsjO&-4~4U(I7)HNt@GSoD{W;^;F5p#)g6*6?olxPx(f4G}sHl zd@0r&7|s}gq`$@3uhej{9Ql37syUJuCXYBx<$DM4Rq^#3^8~W0kK*t|kb&bi1}qIg z@!~okA*kl6OuE*`i@$}s(!ANnUgiH)(`BFhX9jAu-HjLwdar;3x_HN)Tz>8Rp*7_E znfnIi7S&rHhiW*Z?6-gzx()$lIcwGF>f_dz2hx%~^4NZh)6YQ+l|;c-T;5RoGTE~& zP?5fq-&B*fDvDp%M7^fT z!bi>x?cdh}@jBArp}iefWbGb@CZLtm8oW&K^tMBt_uE*9#j4ptA&Clh&vfG6sy1Ed zU$AhIkr#djkJ+v=4cnykVW)ygD=jl;WYXxI=fF*jh=@po>kX#Eks5T|p#M$3p*fxY zmEq#pl}To4N=k~}&iP|vy&icSws^lcgC_p?8eGn4;UF4@qb(IA<*cPtBE?a z$=%3fW8K2of*TM8HCB06ffCr`(8)nQTL34MUKbp{Q_8w%rlDbL0x#y!r4I(^=raF) zXeam+KRkZ&bAlez$PYi=+;A%7K!)WzV#wygOQLtjLpp|@jm(I`MdtawMC`895!CsA zxrIOR8FH$y&0~o&xa1)}-LUPr*LxFofGfkdhsuv)LA4S=OWh3IGTeHnB~e(8l1+Y* zXR8GQkOMQ?Makw~*;rXwnK(L?E(+91Y<@%wX<|~}&B~wZ|E5U%oS3POHp3TWCvRo8 z?_-NZ;!-pGK5_}e8$#z2f{Nx>>>R*K{pd{?KkYDLaOFKQsPM$Cd5s3M0}ro#XuLYx zpwj?}BW$d!igfhxq`lswEew4_&vjM&x6>^qITOBSq-%Yz6VN=1 ziJx1aRGVe-I~}_g*aEQEUF*7}x}IK^fGB%;$K4)OzBC`{y$&Hj{I^|!Bd`xjxr5!Y z8h|FQm=OP_GloxSz+}Ftp`<)!zE1Ax+=M`>=06>;+;*`d9$ zM#aU&4M!%pi%~_!VENj5!HHYp{(c<0e9JZ+HYy@G&2FwRJk14rfa(lSeHEj~xcnmA zRZ5_L)I2#kIa{F4`S&c8+Kmr-p%V}qY9yq{DTJOF1^K04ig#E(Tg5z$+I&GX6#u@k z;7z$A6fb*na(bm%{Z1M=Z#He8eqjak=a-cu1>YILof&P3SCZ$SIMXZ`>;(|RPj8AbAgLs?K6jHEj Z|2F@Wd58MO5!mJ79%~CbVm*OG{U6fD2n_%L delta 3318 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 AY5)KL diff --git a/test/fixtures/app/doc/screenshots/linux/cuprite/record_screenshot/record_index_with_stability/00_index.png b/test/fixtures/app/doc/screenshots/linux/cuprite/record_screenshot/record_index_with_stability/00_index.png index 95de9dd97fdb96c254cb0a6e7c73769c0cd2d661..14f833ece053416fd01ef617d61516c0bd6c7e15 100644 GIT binary patch literal 27808 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

jdWT3AI(FP4 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 literal 27135 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 From 70314485f2bf8a0a14f13f10627851a1819fc397 Mon Sep 17 00:00:00 2001 From: Paul Keen <125715+pftg@users.noreply.github.com> Date: Thu, 8 May 2025 21:32:59 +0200 Subject: [PATCH 301/312] fix: screeshots --- .../linux/selenium_chrome_headless/index.png | Bin 27134 -> 27808 bytes .../record_index/00_index.png | Bin 27135 -> 27808 bytes .../record_index_as_webp/00_index-vips.webp | Bin 19586 -> 25563 bytes .../record_index_cropped/00_index-cropped.png | Bin 3322 -> 3362 bytes .../record_index_with_stability/00_index.png | Bin 27135 -> 27808 bytes test/integration/browser_screenshot_test.rb | 4 +++- 6 files changed, 3 insertions(+), 1 deletion(-) diff --git a/test/fixtures/app/doc/screenshots/linux/selenium_chrome_headless/index.png b/test/fixtures/app/doc/screenshots/linux/selenium_chrome_headless/index.png index 21c34a9a0f758fafb7014e4d7b84ad1126977f11..14f833ece053416fd01ef617d61516c0bd6c7e15 100644 GIT binary patch literal 27808 zcmZsDdpwi<|No{Y&8@?IJ4Kk>6{{3E6k$}T$niqX-MY&mRw0bdp;UJ{-S?e4kyB&X zFv=l^8SXN7C5JiXG^H@7VVkkp_PgAl`_T99_fHQl?K-^Quh;YWd_7;UYd_haw~~P? z!66Wc%o*!bju6Nu1Oy`CCM5|T$-J3x4Fb7(<;*E_=Sb+>sB{I+)r%2Ja57T4TVtdv z|Gkohl)C!Xx?gtOP~Wkz*}{2;dUJ7EUfd(My&Qs$1pPz|4qjO6`&s+S$ev|4m_)v(sY|t5+^Ts=xvSN1yyX+Oj z@~~0eEVToHii1EUz#mqTTSq>UdQ&ccaSU-}D?+sM-~WSH1issWY6|RC+Vl6v5GWL6 z3H{eOHcl2#&WwXB1Ni_|M!g)J!q1=T)rf=u`v4WOQn0)_msFIq$_a=4a}% z*rv07?wk`@us~50y^9KpoyYU|!GiU9UhZ*|k7g=5Dp7yT7ojPO!;|yghmTzioE56! zxH{~W6yEw&-TZSkQ8{zYsxc@8z1v67DCRX@F`BsOYFlLbDVTm{dn7w-?maqlK{Q@_ zz9?I;!YpOQ(8AvNF^p@6uY0WxqccQQD)tknNUg~qH@YO6@)0%niiYfH1EDl5xdYu9 zIoL;MPI>FIrZ^p<^Y7<)F9pK>uwE0!kj6F4ho@9rJBs z$oul&t=WlwJsx*rejqhhm9MsNVoS>K`pXu&x`L|dC^Miow{}dN@2YwfOM8%-ftxfu zpOKmmaU5sz=8Gnjpr78d%X7}-#ytoVEI}51YgXK~*SB!d+azEQQi}4rT_9_zXyd4{ zobb#f4P3`LO5X!Ec5HI1k`% z({LUoeto^6V+v4!??{YK7551Vx$Av?MO#GcADo~C^Le=^!piS)ywwZJ^6ZaHXAGff z^h)3~GhC3fseNDANbq+SL`P>Rb2V^QU(C&>ABdgjO|fcokw}Hc$#S}%59Sebi}!Vo z=TBONL5-QLaGCEwz5VJqqrU@4Gn*sRp=u^V%4XbEUTc z2ZkbmR01k{rK`4+)+@l)E;@L?ervUMYJjT+GkDMNlSdq@3y<{lmbN<32Krf~XGz5K z>ZLfj8^i=zi_C=Zx0LcH2M*f`Ubo-+9}@hT#VYY8o7z{&BAL~xnOB#`M-kLO%lrw| z?ZWJ+j#nq98Ko5eaj!v5e@=a;v;;-fgC*xl{9aZHz6tgd5fKr+l22FBHjRwt_c@gx z3)v=VqJV-!@ZUPcY1xEb1-xroyN0J0yN%LBs`14vc|_oIY_Io4eE2?CE+Mj-TOW9C zKHL*H3*V!1h03f2oQBW>GNTL@Favy;DCgnmo>;A# zi8Da58(1NsXP7%Sf+7$2W zD3w7{%WCe5@L=oQO|gY&y_D4*BDTqz4p}a0#>mR^8(0Rx#Iu$`#>ASizOvtOGsVm& zv4RR_)q~E=CZQI?6iquZk#;;OEWOl%=9cCS+xwu^bzTldjH!}qhN}m2tJ47MrGKaa zf%3KT?SwcEYQ|LM)wjf?-*xzLnkq`2u@Zl#GObKms-6_G6uw{4-tTep_Miq|XPJ zO%*@wwqO%{0O7HusIrydm#h!U(k^6~Kzodd2aOiCH#M&EA4O`n?D z7OXiQq1zvnq_2$achTI{^3)Hx14!12aSor3G-_*dikueA2RR?cPzMs9SXf@fzqaD3 z?Q*Jg-_+Afws0^flr46njdK#{ZfM=R$+mq(%?|Ca^N?wfXYACs2R5kne+zl?&n5IH zefumL%xo<>mp9zpWRANfAh_yx zlu&6yzwR`(+%e6PF!x}vUcgnWhp(?RSXi19xEi)hCD-ae87rqcVq92aS*vA`*?H`O z%9Pdx+cz_;{(H_^OhGlhvRd-8^R1cKV0o0~pi+A7&PMmEtpB3$rP5q5xEhcMU{|K4 z{`QxKo93f1efuCu=26gsH}sq6Bz$N6jj?*0c~9v3Z-$hg)FxN&vi%i#PY+8ZwiSoy z2}_#or8F~Sr7Qt_fP;__cxv{n(Qinkkg#YkhbOsLSEm&0aIBc-7UN`(xyO0$2v~{^ zvLAwLPUNV=awKf$Q+%DLA1e&|9F-|sbolHStXA7s?oVh9yVku%l%xQrcZu9xcN7WlXAc9Gzuh@ z2^G$Q4<{c#fP)q!et;!OSbWH1aRobnfWyle(;{`R{@NK!AWc3;!4$6KHBZ!X9Sx^U zS)64sBVg$|GNm=rMka=PNr>JhxvEJL4p@4BmF=FH~g;mVI7W&AiuP%Wvb5TK|aYEAH^c&YpE}4R$qe>kwM* z#Ru2{s+O<Z`2}?pM+cwOw68>1~Z2a9* zsF?>6+%sx55U1rY8^Ui8CX+7eQ%KEvNRtVq4}gNJhwd%5f40>XxP0R800kp;a3?4- zWDSV8DmjaK3Fq|GHKJqISroLe`3O=8fLKC~-}nxdGU$wI>m~J{l{Iba4=dCOCt~07 zW{V}B1>ggm6XPsi`BSGPEc5dgyF)z~2jY^-?0be%Ev$L+B}3gmuqCWKE*9`GUZ@gB z$JOFxhgHS-Duzh4@3$x@e{v9xP>B%kYQayn4y-)obcB`m*G2wcM!fT0(*<(|;UWtUYxG>g+8mRKpP3$075a2p7<0jK%wYPvrypwd+TyWJVxY}Xxy$OYg z=!pgp7%JS_=_wphCR2jZO*k2Uaq~m%S&vuvYE_MEdN5M6j(i@kzPTs8a^{KvISt;O zc31CZc_5mIOX8|=!)=ZquuqQ8`(*$Bfk=dZ7h~vw(h~! zha>#%yFf49PA0em!fBQ~zII>1fNjUjyQxDb(Dz-T#bx*39xHFPix0BVC)wH75J|?bPluA?6dZrSSD?{)tV$UDnSG{khq8y}3=5wT>!64yN$-+^m=Ww;r)7X(S zlo?BNJXb9-ZKpw-S3eD?-ab{_F0>MSFMTOI^LiUs@!SP9Y?T**6cKLq-X zBi$x)A7A+wB0VIcCDSBY7T~914K>k6#`>EZE9_rAMc5De`Jmqw%u zN?gGV33TnOU%tJ@ZesM3TCM0cL!EB3-8$&eYZV8u!P?vgFe7eE!lr?611Pbq8JJf5 zfFIyK_xmcP9bpACmQZ{}S6C6jGnwfs^lF}FBllvjY*WZ$ao+E?F`%Lm40H`~j|aUR zE`Mk_#0ZdXCdF|Ck_$2-nsafEAfzR4s>#WkIcT|Bvd5A8gG~qWwq6G@007M3YPQrF zks8SUqY_pvga9vCUP@8m*?Ct=$>GF&e$Vy3yRCgE%1RfncVs>yc*&uLCSP&0DjZSE z|An5OxY*6{lH-0vU=v42za&jZ!eSF&axU@V7>lJ-7~m|c^wyQBd8A5CUTGcFXtLGx zX6pTuP86kf1%t`p?=1O^C3X}B4z32fi&UH^36m0MMhC!5@nRAW{GdNd)K~LTC!L#3 zc{QoxN0!!5;f+vjjjJ6P{Kl18R~jI9X$0D|=rBFlgzUd8V?#Zx8TH?EE+OjFBv_M` z(|De4)8Wv(nNyp@l8Y11ck03wY_kI)j4Rk$hTiGG&3AAf5XFl{5M9EJ%$k5Nv|P;Sx1-~`8uCF8x719wxX zzK*%@Gk}@<1V}aJc;0Yl%-ez6Wez1;>&|Q71}UYd1O)wzeb7(px(X(h&Xc{;1wQo z$P%4(0FedC-m2XG=&%!h7&qDlhGjbv1?()zmS~UJI@WPr-hkggv;k7rSRL1^s41`h zTaH-+3CJxnL($s498al$Ym6zsim@vVBn^sBT)=?>=L?EX^%xWRCx(%%8#Re3M73bs zy81VdsX8jy{`9OJ%Wd-zM_;WYva*ZFWnNN+W0@w=*WlKNG3(Bs?K+zk|97H~@7 zf|emIHmwk)WL9X+l$PjQf*j>>9*z-&8hcnGDUg}VdfFG)1aX|6zEN{%PCH2!)t3D# zntH%if1Etz@MAut2SIIifcOU?om+gHPAp!g!X8@Kw-lEtZt6ysE4JWyR^dfW zTpVrCnK-2K;8W1^n{6hxff1f1q|PC@B}{(%zr3>f=H``e5HelL849Kg+=Sl=M{^>19 zV!>i}<^vr{2?}%;YAFM~B#XCFP(LH*4+Ov2W5y{d`F_gz{+kODEafs&B5df$IK6bz zO=5*?pwYYj$hmC@Ta^R%s%{qU=&ei&_#yH8uWnMqMlYP1FaGe3{_~>|T;L&VGEJ|v ziJmY|aOL_4vwC{tsPVD4){)=KEK92Onfv9R_K9y-Pqww`S%K^(Q{IPr>f zzx{I1*}*eB#)$N#qu5eECMAW8>kpxF|4V|7+^6Q4z7(h2Xc}|%%Gkv*VnWrn0v-)T zxz=3|s{c((NOfUTiH%>T(=B$TBBl9=k8R+0diAlEo7S?KE*=l+rN0GC;0J>N`#^kN zH+oVKausI=^6n0}bYg0g$B`M`#xgIhW7Yb}rDXv>CKe$zxRqrUjz>!DxMiI)=jcS@ z?W92K;3U70nE_B59yQtHrGj zeR!Ty5)ZTaaSjcF4TADrU5!-Swt&({SZw`8?YeW=VTqfeU*Tg zvo2TO3@Xac{!pP#=dnxt-*S)nZ`ewNliDX@jOL0`GK+qddkR~ny zAw8=B8RlRhsm5cIBiFAK%4F}h6h{J|*|-5V>QgDO|;DWlox)&^QjGuXRR_gblsA(h*-^56BgmrbOdpYcikq zVbX@?Go;O`J-CH_<=Hy0(uuP98XcLSoOjig|B-CD679uOdYWhyqkmT7j~AZ7zEOK`ZJa0e%iz z$n*d+%j{Wnwl#IvgHF=5q{XG@X1wQ4!`n}=w}whZHPbsElZ;@=LyA-;%i>I@3Yx~~ zB@&gnWSsmBusls^wR5EgVq93^>E#mEv({fxds2WkAO%;Jd2MyN;J`(>^F$k2c{nWb zzT~V-&oFU!64MoSPm+VB@&t`61OLO;vYPPkWG090F5-7M9q~soaF(A7#vScqp4J~Fs~d=R4zfI5AOsRi zV%b6zi1VJ3FGMNTY9J>5vEI1VP9tpIKKk?*u5AuzZe|6dysr8CGB7_OHz)oIVtdaN zCWrMA9|@k#Aqk@PrOAg}N!7H4j)*GP(C z>E)+@&jn{s(YltxVpKfnBzM8}<R1Z$9E+^?UZn!sIHyp(}K>%x~s7&eiAZ^pZl`o0c!=5f%Lc9o3)u+TZiP zW?KGjU#L2WRbW+W9+jRdak_K9HeT%JY)WvD^M!v0ORK>RGh`N|mCD3}fmdeFx+SJ1 zpytCofy3^!>qSMQxNT}vUdxMh{OfCFztm)9<%}EFB`_8xExf=NFrUC2;_vmg;ML8z?lbxFJ z-83B-iL2(v2N(foFFbf_OptJ*8JnT`RdTvD#NAwSMK>n3Z1MSp+f4znITAG&YI|g# z5&XC#yrEps!}^cy0&1pHsqj;B2|6;wz*Czzl5;XIq$L3frP~UpFyyiU;IO5?mRnMZ zEiA1+f)lk#Aj$DV_`J}Hk=-@~SD*}xQ-%HKoyZvNxGFJm8|*&8CA@Cj*fVC)6SlTe z6eHMek$E3L9G~95JsU&js)MU|41S7R7T}^1+H(1TZzDFu?{>;ika9!-RWM2PV$XI| zKHUb*XptBp$fb) z(so!?%A2pm-K}YfmyrwM<^|>$^MV0jztRg{wuDt*LY;-9+lzg1oa~*K;qo%8(PS;J z`R85FfbPNi(qMW$`~WPqKdef#k(CP3tE~*68VJ0ln}&)0VFT>rF;~lP0OQl!7DkU% zo@T;QbEMS{IUgRcV%6-tVYGtO2|exiorO_(Yj@0}m5xxBT12kcKm}~pge0bQM4Yb| zXBGK%;^^z5n9x>R{UXz^oER-sl_fsT!A&v$;z0zuYpj(+l%j-?dUUq@YzyGE+!Jq) z9XP?MXUL<5d_LsI^IiH1vetqDJGde2H;dD9X_fYk6aMv}i7_x=RCaTU6@o;J3h-Jk zwk^n*s(w7ltNI9qtL~Lkd*DYoQ%ik*k3j=mJzuIV+fBQO!h zx#0TF!@Pjk<|22g$?T6w9uWRjEa(lYwd6N~Xc~4&^H)3cJsIvata7q1 zg{Z0_%cU#{K>?Lqs`UdbrQ>=vV`iC5A`#_5V)u* zn*^H_)Z83)**OvvviUJZ{t(QM62{P zf{WZuxT!4*d9AmIxZ8u?R8wBuC!*=3oLiUw-hJTur+qQIaj8DJztd`S7cH>59B%MQA~ZqwV7%eoW}$)S#h|?kIZsLd*~u?P|8o^!kCgk*K3E(xStW zU9;wsaBF&n0W~Pd?5pipI%Nn8+I;`|qa_KeM=yeZj+i}YssG8WY5vpvt5H1BVNkPC zRvV6>_`vWbo>+s{_6#EMIgcxAdu4{3A?aeji(W>&QANN{)r_Gt0chcUYxQEL8wKo7 z%~+}Xm7l+gR4$`uu(*|5zlSB)49!ryYcm@CitD={l5W|>%yWWi;^h_DQo^O`sH^N52x@@qp=0Ek>+Okm?M8j@(IHj+PhVRBKTB9|5?i41 z^JY$_|I~UK`n19Ucq-I4Ax>4M_(jIC;X-Ei_daD4Rm%jL_o^fdz%9|b$MLi;F>

jdWT3AI(FP4 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 literal 27134 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

)6}?e5Zdd`k(tQpLtxOV$!&Br$=Jh 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 diff --git a/test/fixtures/app/doc/screenshots/linux/selenium_chrome_headless/record_screenshot/record_index/00_index.png b/test/fixtures/app/doc/screenshots/linux/selenium_chrome_headless/record_screenshot/record_index/00_index.png index 95de9dd97fdb96c254cb0a6e7c73769c0cd2d661..14f833ece053416fd01ef617d61516c0bd6c7e15 100644 GIT binary patch literal 27808 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

jdWT3AI(FP4 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 literal 27135 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 diff --git a/test/fixtures/app/doc/screenshots/linux/selenium_chrome_headless/record_screenshot/record_index_as_webp/00_index-vips.webp b/test/fixtures/app/doc/screenshots/linux/selenium_chrome_headless/record_screenshot/record_index_as_webp/00_index-vips.webp index 47752ff31c0612d88324e6a81f38f61da18205ce..613f10d48ecfeaf607de5634defadafec9197a10 100644 GIT binary patch literal 25563 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 literal 19586 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�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 Z|2F@Wd58MO5!mJ79%~CbVm*OG{U6fD2n_%L delta 3318 zcmVk18u}TKB!9t4L_t(|0qtEao3qFgjYA@lNF)-8L?V$$ByRZ$$jHdZNF)-O zdsSp4GBOfbd#W1Z zHB_YzS^kz@(w6Fy@-!sJ*pOknw=(!1xsF9nTB$pAEn>3mkoFh#^Uj}!ifDx(eDrxs zo)F{?j=y`e?mH+m-$~pka=8W?ROAZB?#386{qi_5e!+X$ygK?|+of;L&zq=hY>y@AG*>^1YC< zvLoRPL7Foil7KwyA4M_6kvH-|u4MwV(xvRU*3-4+k$=AefklGUyOehI4TH-*=n2AW z&$)}=A#KYOovWNu^bY474GvC=ZvPFH`3}#2{v0WT!|Z>z2RUYx9tLbW=j0j#g20FH zO|N&duYWKJEi0lz9Wo^dda=YNbLdA+d=NztQwXANnfy@*3e;l#wc z-C@UAtvtMGO z@nT4}=Cw}}@V8w$p0q;U_k?-V^1nL2jm9_W5Gn8O7p*CIrzh`b_fkV>>W_eVUFf6N2Ck&LPCe zo16CUQ5t^#Gk8%bqgeBI<~Oh1@Q`h$-hZSU-5r4qt zfUgq90p8x59+HM>bx3Ic+F5JcL5Ah3df5M%`$ z*(3-kg8cQ@UnF0_K-$2#4e;Y(!=T7V5D)~uBEZ}bf_%kA)(8R$0U?Mq1VLa00U^i= zII>9)5Q0b>5Cm2bSRe@IP}v*WAb*I%m#-1faQ6AixnI7CXYx8)`0?^<$pwBV0xJYD z5Y42U^!J|N2tnTSzI;-to+e1W56Q-?*iO3LRM2umetTd!cypqC?BlnM5Iy*MnBm(A zOIYz|hL}8<5>IAyvE9dn#^d4k+e_OCjx2C81Il&@1qemtxemGEmX56;aDPOQrlukd z5F*GShrfP8hwhr6bjPGF|0)7c69n=pIz*T~i|OkPbRRseJt}mt1lFbBWVcu7z#TG! zy`I&3*;9bovp%9OsQyV!UpL6haUQOE&63$x>Z_J{iu_S;gSdC+o8+`p=7$71K_72= zSxcScQNd}PO z*jlF3HdaLt1YM|G2%!@XO^0qWk&Dth}N2nwB}7o5l1Ik zlb^Ijkbi=}5&|m(dCUhnWiE&`Zp6*`0DTFYL>{yu_#!f*0fHzA2!9jA^ywDdgaauI zk7v=;fFLlj_PS$Ib+~e5m9}TN5rmbCtb=b&y4JL_@Ovb$T|zmyj4ihsy(hHn68TSarj5V2!oef!u)u(v$mfO82|48(VP5SVy9*%0)N z$=AttZv=s$7d{Bb4er7XT~9koVyzN7m!yx4i~x ziSRkTg{M7QXnjBwMVlq99wICvisA{rifxk3Q5L^T5SU|X6o1Qup99nB?kHAkUfGD? zm`ydiZ+oiSitye?&2w%fT?h=*0I!OC6LYno}#JW?a zBXlyB13U-Sn1NJQ{Qv}%4|0L(&o)>^XpV`AM)X?;NtU^$(}9wsNU_4YF1F9gvFMt8AH4XQ5$QMdO4{wRWQJ+3EK z0wT{j69rS-Eib+GD903;n1)Kg6J?xIjnzyrX`G3w5RZL2*J#q}xPio$FQk%bwyMFF zAb-Q~Jr|bMb`o72Z%;&1j}hcMDXp)x4-B#f^23HrCNm-(*k#g#JX0pFw|ssi0zE7vWuABezL zf~ZQsOn{kTINBLz*{p$}adX;?o&+x=NcSYy=srV`^_13{Afx>3qZ>I#kZ+c0bUyj< zlMnzw;9nr|<+Ob({kNCv9OTMWa^|CiC=;tQnI=_N$HBycCDwmbsGn~C^&W)E7=I?; z`1ofC(qFq>7^k$>CYBL?#X#>qCdgA|nifEQ{}==mK~gWI-7wHvgQu!zwK{XuMWu9x zozAk^-dsX>A5~2_=@Ki53u{rN4@trn>vPVG#y?NJaFBRo*@NLT?+i}UmaB13)>eD>KPe2?l!*D1>`KGVG6i8=Z%U z^k|Z0bNNyK9fH|)Q%x{%;b3@rSLq7hE0Yl9hqGc(d=NxFf`A~fgn$ra2^m>02mk>g zh%^I1UQn3A(fD9Ap{FmjB zYkw{RPZLDaK!0wdkeb~Pc$y$Q16a~P-++{*&qQE_ARNE}5k@9oNdx_v4MA!(kH88+ z9`ivY4fH&)vi36&_%nh?8tBhx1yYMe1pa^^kl7-Do1}qW#8x(Z0B-^-1X*|wf|$3G z2Koc;yj0;K1QrPL(6O)INzy>S9%H$}Dgr`~Rd{6MZ%04~^4nX0)PEI$_a?|{(Pg6` z@OlJYMgRZ+07*qoM6N<$f(}>_ AY5)KL diff --git a/test/fixtures/app/doc/screenshots/linux/selenium_chrome_headless/record_screenshot/record_index_with_stability/00_index.png b/test/fixtures/app/doc/screenshots/linux/selenium_chrome_headless/record_screenshot/record_index_with_stability/00_index.png index 95de9dd97fdb96c254cb0a6e7c73769c0cd2d661..14f833ece053416fd01ef617d61516c0bd6c7e15 100644 GIT binary patch literal 27808 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

jdWT3AI(FP4 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 literal 27135 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 diff --git a/test/integration/browser_screenshot_test.rb b/test/integration/browser_screenshot_test.rb index 7a3ab606..8cae16bb 100644 --- a/test/integration/browser_screenshot_test.rb +++ b/test/integration/browser_screenshot_test.rb @@ -16,7 +16,9 @@ def before_teardown if CapybaraScreenshotDiff.assertions_present? # NOTE: We rollback new screenshots in order to remain their original state # and only for debug mode we keep them - CapybaraScreenshotDiff.assertions.each(&method(:rollback_comparison_runtime_files)) unless ENV["DEBUG"] + unless ENV["DEBUG"] && !ENV["DISABLE_ROLLBACK_COMPARISON_RUNTIME_FILES"] + CapybaraScreenshotDiff.assertions.each(&method(:rollback_comparison_runtime_files)) + end # NOTE: We clear tracked different errors in order to not raise error CapybaraScreenshotDiff.reset end From 86717f0777389198d72d043660d8fac1e721b42e Mon Sep 17 00:00:00 2001 From: Paul Keen <125715+pftg@users.noreply.github.com> Date: Thu, 8 May 2025 21:34:00 +0200 Subject: [PATCH 302/312] remove warning --- Dockerfile | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 3c736e38..3192cf67 100644 --- a/Dockerfile +++ b/Dockerfile @@ -47,5 +47,7 @@ COPY lib/capybara/screenshot/diff/version.rb /app/lib/capybara/screenshot/diff/ ENV BUNDLE_PATH=/bundle RUN sudo mkdir /bundle && \ - sudo chmod a+w+r /bundle + sudo chmod a+w+r /bundle \ + sudo mkdir -p /tmp/.X11-unix && \ + sudo chmod 1777 /tmp/.X11-unix From 2bc1344e43541147b2db051c1745d17940ad6df8 Mon Sep 17 00:00:00 2001 From: Paul Keen <125715+pftg@users.noreply.github.com> Date: Thu, 8 May 2025 21:34:22 +0200 Subject: [PATCH 303/312] bump v1.10.3.1 --- lib/capybara/screenshot/diff/version.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/capybara/screenshot/diff/version.rb b/lib/capybara/screenshot/diff/version.rb index 257db113..11cd901d 100644 --- a/lib/capybara/screenshot/diff/version.rb +++ b/lib/capybara/screenshot/diff/version.rb @@ -3,7 +3,7 @@ module Capybara module Screenshot module Diff - VERSION = "1.10.3" + VERSION = "1.10.3.1" end end end From 74c832ac325f12570ed287e04dd3ba3fc77d1f26 Mon Sep 17 00:00:00 2001 From: Paul Keen <125715+pftg@users.noreply.github.com> Date: Thu, 8 May 2025 21:47:15 +0200 Subject: [PATCH 304/312] fix: tests helper when there are broken screenshots --- test/integration/browser_screenshot_test.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/integration/browser_screenshot_test.rb b/test/integration/browser_screenshot_test.rb index 8cae16bb..29b2887c 100644 --- a/test/integration/browser_screenshot_test.rb +++ b/test/integration/browser_screenshot_test.rb @@ -234,11 +234,11 @@ def assert_screenshot_error_for(screenshot_name) def assert_no_screenshot_errors screenshots = CapybaraScreenshotDiff.failed_assertions - error_messages = screenshots.map { |screenshot_error| screenshot_error.last.error_message } + error_messages = screenshots.map { |assertion| assertion.compare.error_message } assert( screenshots.empty?, - "expecting not to have any difference. But got next: #{error_messages.join("; ")}" + "expecting not to have any difference. But got next:\n#{error_messages.join(";\n")}" ) end end From baa9f0fffa94ece03f1f0921608fdcf6a7db277b Mon Sep 17 00:00:00 2001 From: Paul Keen <125715+pftg@users.noreply.github.com> Date: Sat, 24 May 2025 14:56:21 +0200 Subject: [PATCH 305/312] refact: simplify test framework integrations (#141) * feat: simplify test framework integrations * docs * cleanup tests * cleanup --- .dockerignore | 12 + .../setup-ruby-and-dependencies/action.yml | 3 + .github/workflows/test.yml | 12 +- .gitignore | 1 + .standard.yml | 2 +- Dockerfile | 30 +-- bin/dtest | 33 ++- capybara-screenshot-diff.gemspec | 3 +- gemfiles/edge_gems.rb | 1 + gemfiles/rails70_gems.rb | 1 + gemfiles/rails71_gems.rb | 3 +- gemfiles/rails80_gems.rb | 1 + .../screenshot/diff/capture_strategy.rb | 29 +++ lib/capybara/screenshot/diff/comparison.rb | 3 + .../screenshot/diff/comparison_loader.rb | 33 +++ lib/capybara/screenshot/diff/difference.rb | 39 ++- .../screenshot/diff/difference_finder.rb | 101 ++++++++ .../screenshot/diff/drivers/base_driver.rb | 4 + .../screenshot/diff/drivers/vips_driver.rb | 2 +- lib/capybara/screenshot/diff/image_compare.rb | 239 +++++++++--------- .../screenshot/diff/image_preprocessor.rb | 76 ++++++ .../screenshot/diff/reporters/default.rb | 9 +- .../screenshot/diff/screenshot_coordinator.rb | 50 ++++ .../screenshot/diff/screenshot_matcher.rb | 95 ++++--- .../screenshot/diff/screenshot_namer_dsl.rb | 35 +++ lib/capybara/screenshot/diff/screenshoter.rb | 2 +- .../diff/stable_capture_strategy.rb | 23 ++ .../screenshot/diff/stable_screenshoter.rb | 2 +- .../diff/standard_capture_strategy.rb | 24 ++ lib/capybara/screenshot/diff/test_methods.rb | 157 ------------ lib/capybara_screenshot_diff.rb | 8 +- .../backtrace_filter.rb | 20 ++ lib/capybara_screenshot_diff/dsl.rb | 87 ++++++- .../error_with_filtered_backtrace.rb | 15 ++ lib/capybara_screenshot_diff/minitest.rb | 4 +- lib/capybara_screenshot_diff/rspec.rb | 2 +- .../screenshot_assertion.rb | 21 +- .../screenshot_namer.rb | 88 +++++++ lib/capybara_screenshot_diff/snap.rb | 2 +- lib/capybara_screenshot_diff/snap_manager.rb | 12 +- .../screenshot/diff/comparison_loader_test.rb | 37 +++ .../screenshot/diff/difference_finder_test.rb | 135 ++++++++++ .../diff/drivers/chunky_png_driver_test.rb | 5 +- .../diff/drivers/vips_driver_test.rb | 2 +- .../diff/image_compare_refactor_test.rb | 46 ++++ .../screenshot/diff/image_compare_test.rb | 23 +- .../diff/image_preprocessor_test.rb | 111 ++++++++ .../screenshot/diff/screenshoter_test.rb | 4 +- .../diff/stable_screenshoter_test.rb | 6 +- test/capybara/screenshot/diff/test_doubles.rb | 155 ++++++++++++ .../screenshot/diff/test_methods_test.rb | 124 --------- test/capybara/screenshot/diff_test.rb | 49 ++-- test/capybara_screenshot_diff/dsl_test.rb | 143 +++++++++++ .../screenshot_namer_test.rb | 163 ++++++++++++ .../snap_manager_test.rb | 29 +++ .../linux/cuprite/cropped_screenshot.png | Bin 2629 -> 824 bytes .../index-blur_active_element-disabled.png | Bin 29057 -> 21802 bytes .../index-blur_active_element-enabled.png | Bin 28874 -> 21767 bytes .../linux/cuprite/index-cropped.png | Bin 2885 -> 928 bytes .../cuprite/index-hide_caret-disabled.png | Bin 29057 -> 21802 bytes .../cuprite/index-hide_caret-enabled.png | Bin 28874 -> 21767 bytes .../cuprite/index-without-img-cropped.png | Bin 3362 -> 928 bytes .../doc/screenshots/linux/cuprite/index.png | Bin 27808 -> 21552 bytes .../index_with_skip_area_as_array_of_css.png | Bin 28474 -> 21552 bytes ...x_with_skip_area_as_array_of_css_and_p.png | Bin 28474 -> 21552 bytes .../record_index/00_index.png | Bin 27808 -> 21552 bytes .../record_index_as_webp/00_index-vips.webp | Bin 25563 -> 21552 bytes .../record_index_cropped/00_index-cropped.png | Bin 3362 -> 928 bytes .../record_index_with_stability/00_index.png | Bin 27808 -> 21552 bytes .../cropped_screenshot.png | Bin 2685 -> 824 bytes .../index-blur_active_element-disabled.png | Bin 29308 -> 21984 bytes .../index-blur_active_element-enabled.png | Bin 29014 -> 21767 bytes .../index-cropped.png | Bin 3329 -> 928 bytes .../index-hide_caret-disabled.png | Bin 29241 -> 21802 bytes .../index-hide_caret-enabled.png | Bin 29014 -> 21769 bytes .../index-without-img-cropped.png | Bin 3322 -> 928 bytes .../linux/selenium_chrome_headless/index.png | Bin 27808 -> 21553 bytes .../index_with_skip_area_as_array_of_css.png | Bin 28516 -> 21552 bytes ...x_with_skip_area_as_array_of_css_and_p.png | Bin 28516 -> 21552 bytes .../record_index/00_index.png | Bin 27808 -> 21552 bytes .../record_index_as_webp/00_index-vips.webp | Bin 25563 -> 21552 bytes .../record_index_cropped/00_index-cropped.png | Bin 3362 -> 928 bytes .../record_index_with_stability/00_index.png | Bin 27808 -> 21552 bytes .../selenium_headless/cropped_screenshot.png | Bin 3051 -> 906 bytes .../index-blur_active_element-disabled.png | Bin 29003 -> 21685 bytes .../index-blur_active_element-enabled.png | Bin 28363 -> 21557 bytes .../linux/selenium_headless/index-cropped.png | Bin 4676 -> 1264 bytes .../index-hide_caret-disabled.png | Bin 28661 -> 21595 bytes .../index-hide_caret-enabled.png | Bin 28363 -> 21557 bytes .../index-without-img-cropped.png | Bin 4676 -> 1264 bytes .../linux/selenium_headless/index.png | Bin 27376 -> 21334 bytes .../index_with_skip_area_as_array_of_css.png | Bin 27643 -> 21334 bytes ...x_with_skip_area_as_array_of_css_and_p.png | Bin 27643 -> 21334 bytes .../record_index/00_index.png | Bin 27376 -> 21334 bytes .../record_index_as_webp/00_index-vips.webp | Bin 20184 -> 21334 bytes .../record_index_cropped/00_index-cropped.png | Bin 4676 -> 1264 bytes .../record_index_with_stability/00_index.png | Bin 27376 -> 21334 bytes .../macos/cuprite/cropped_screenshot.png | Bin 2656 -> 2645 bytes .../index-blur_active_element-disabled.png | Bin 21573 -> 21494 bytes .../index-blur_active_element-enabled.png | Bin 21348 -> 21282 bytes .../macos/cuprite/index-cropped.png | Bin 3744 -> 3234 bytes .../cuprite/index-hide_caret-disabled.png | Bin 21573 -> 21494 bytes .../cuprite/index-hide_caret-enabled.png | Bin 21348 -> 21282 bytes .../cuprite/index-without-img-cropped.png | Bin 3332 -> 3234 bytes .../doc/screenshots/macos/cuprite/index.png | Bin 20247 -> 20171 bytes .../index_with_skip_area_as_array_of_css.png | Bin 20577 -> 20171 bytes ...x_with_skip_area_as_array_of_css_and_p.png | Bin 20577 -> 20171 bytes .../record_index/00_index.png | Bin 20247 -> 20171 bytes .../record_index_as_webp/00_index-vips.webp | Bin 20247 -> 20171 bytes .../record_index_cropped/00_index-cropped.png | Bin 3332 -> 3234 bytes .../record_index_with_stability/00_index.png | Bin 20247 -> 20171 bytes .../cropped_screenshot.png | Bin 2684 -> 2645 bytes .../index-blur_active_element-disabled.png | Bin 21673 -> 21105 bytes .../index-blur_active_element-enabled.png | Bin 21686 -> 20775 bytes .../index-cropped.png | Bin 3330 -> 3234 bytes .../index-hide_caret-disabled.png | Bin 21550 -> 20987 bytes .../index-hide_caret-enabled.png | Bin 21343 -> 20775 bytes .../index-without-img-cropped.png | Bin 0 -> 3234 bytes .../macos/selenium_chrome_headless/index.png | Bin 28295 -> 19671 bytes .../index_with_skip_area_as_array_of_css.png | Bin 20549 -> 19669 bytes ...x_with_skip_area_as_array_of_css_and_p.png | Bin 20549 -> 19669 bytes .../record_index/00_index.png | Bin 0 -> 19671 bytes .../record_index_as_webp/00_index-vips.webp | Bin 0 -> 19671 bytes .../record_index_cropped/00_index-cropped.png | Bin 0 -> 3234 bytes .../record_index_with_stability/00_index.png | Bin 0 -> 19671 bytes .../selenium_headless/cropped_screenshot.png | Bin 2712 -> 2737 bytes .../index-blur_active_element-disabled.png | Bin 21694 -> 21298 bytes .../index-blur_active_element-enabled.png | Bin 21080 -> 21024 bytes .../macos/selenium_headless/index-cropped.png | Bin 4079 -> 4006 bytes .../index-hide_caret-disabled.png | Bin 21288 -> 21227 bytes .../index-hide_caret-enabled.png | Bin 21080 -> 21024 bytes .../index-without-img-cropped.png | Bin 0 -> 4006 bytes .../macos/selenium_headless/index.png | Bin 19905 -> 19830 bytes .../index_with_skip_area_as_array_of_css.png | Bin 20195 -> 19830 bytes ...x_with_skip_area_as_array_of_css_and_p.png | Bin 20195 -> 19830 bytes .../record_index/00_index.png | Bin 0 -> 19830 bytes .../record_index_as_webp/00_index-vips.webp | Bin 0 -> 19830 bytes .../record_index_cropped/00_index-cropped.png | Bin 0 -> 4006 bytes .../record_index_with_stability/00_index.png | Bin 0 -> 19830 bytes test/fixtures/app/index-with-anim.html | 1 + test/fixtures/app/index-without-img.html | 11 +- test/fixtures/app/index.html | 11 +- test/fixtures/files/rspec_spec.rb | 3 +- test/integration/browser_screenshot_test.rb | 70 +++-- test/integration/record_screenshot_test.rb | 12 +- test/integration/test_methods_system_test.rb | 4 +- .../capybara_screenshot_diff/dsl_stub.rb | 63 +++++ test/support/non_minitest_assertions.rb | 2 +- test/support/screenshoter_stub.rb | 1 + test/support/setup_rails_app.rb | 3 + test/support/stub_test_methods.rb | 58 +---- test/test_helper.rb | 6 +- 152 files changed, 1950 insertions(+), 611 deletions(-) create mode 100644 .dockerignore create mode 100644 lib/capybara/screenshot/diff/capture_strategy.rb create mode 100644 lib/capybara/screenshot/diff/comparison_loader.rb create mode 100644 lib/capybara/screenshot/diff/difference_finder.rb create mode 100644 lib/capybara/screenshot/diff/image_preprocessor.rb create mode 100644 lib/capybara/screenshot/diff/screenshot_coordinator.rb create mode 100644 lib/capybara/screenshot/diff/screenshot_namer_dsl.rb create mode 100644 lib/capybara/screenshot/diff/stable_capture_strategy.rb create mode 100644 lib/capybara/screenshot/diff/standard_capture_strategy.rb delete mode 100644 lib/capybara/screenshot/diff/test_methods.rb create mode 100644 lib/capybara_screenshot_diff/backtrace_filter.rb create mode 100644 lib/capybara_screenshot_diff/error_with_filtered_backtrace.rb create mode 100644 lib/capybara_screenshot_diff/screenshot_namer.rb create mode 100644 test/capybara/screenshot/diff/comparison_loader_test.rb create mode 100644 test/capybara/screenshot/diff/difference_finder_test.rb create mode 100644 test/capybara/screenshot/diff/image_compare_refactor_test.rb create mode 100644 test/capybara/screenshot/diff/image_preprocessor_test.rb create mode 100644 test/capybara/screenshot/diff/test_doubles.rb delete mode 100644 test/capybara/screenshot/diff/test_methods_test.rb create mode 100644 test/capybara_screenshot_diff/dsl_test.rb create mode 100644 test/capybara_screenshot_diff/screenshot_namer_test.rb create mode 100644 test/fixtures/app/doc/screenshots/macos/selenium_chrome_headless/index-without-img-cropped.png create mode 100644 test/fixtures/app/doc/screenshots/macos/selenium_chrome_headless/record_screenshot/record_index/00_index.png create mode 100644 test/fixtures/app/doc/screenshots/macos/selenium_chrome_headless/record_screenshot/record_index_as_webp/00_index-vips.webp create mode 100644 test/fixtures/app/doc/screenshots/macos/selenium_chrome_headless/record_screenshot/record_index_cropped/00_index-cropped.png create mode 100644 test/fixtures/app/doc/screenshots/macos/selenium_chrome_headless/record_screenshot/record_index_with_stability/00_index.png create mode 100644 test/fixtures/app/doc/screenshots/macos/selenium_headless/index-without-img-cropped.png create mode 100644 test/fixtures/app/doc/screenshots/macos/selenium_headless/record_screenshot/record_index/00_index.png create mode 100644 test/fixtures/app/doc/screenshots/macos/selenium_headless/record_screenshot/record_index_as_webp/00_index-vips.webp create mode 100644 test/fixtures/app/doc/screenshots/macos/selenium_headless/record_screenshot/record_index_cropped/00_index-cropped.png create mode 100644 test/fixtures/app/doc/screenshots/macos/selenium_headless/record_screenshot/record_index_with_stability/00_index.png create mode 100644 test/support/capybara_screenshot_diff/dsl_stub.rb diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 00000000..57985403 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,12 @@ +.github/ +.ruby-lsp/ +coverage/ +tmp/ + +# Ignore report files +*.attempt_*.png +*.diff.png +*.base.png +*.attempt_*.webp +*.diff.webp +*.base.webp diff --git a/.github/actions/setup-ruby-and-dependencies/action.yml b/.github/actions/setup-ruby-and-dependencies/action.yml index 27441777..be672e9b 100644 --- a/.github/actions/setup-ruby-and-dependencies/action.yml +++ b/.github/actions/setup-ruby-and-dependencies/action.yml @@ -35,3 +35,6 @@ runs: # fallback if cache version is outdated - run: sudo apt-get -qq install libvips shell: bash + + - run: sudo sed -i 's/true/false/g' /etc/fonts/conf.d/10-yes-antialias.conf + shell: bash diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 9c82daec..24355993 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -21,7 +21,7 @@ env: JAVA_OPTS: -Xmn2g -Xms6g -Xmx6g -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=512m -Xss1m -XX:+UseG1GC -XX:+TieredCompilation -XX:TieredStopAtLevel=1 -XX:ReservedCodeCacheSize=256m -XX:+UseCodeCacheFlushing - JRUBY_OPTS: --dev + JRUBY_OPTS: --dev -J-Djruby.thread.pool.enabled=true MALLOC_ARENA_MAX: 2 RUBY_GC_HEAP_FREE_SLOTS: 600000 RUBY_GC_HEAP_GROWTH_FACTOR: 1.1 @@ -45,6 +45,8 @@ jobs: ruby-version: 3.4 - run: bin/rake test + env: + SCREENSHOT_DRIVER: vips functional-test: name: Functional Test @@ -87,11 +89,11 @@ jobs: github.event.pull_request.requested_reviewers.length > 0 needs: [ functional-test ] runs-on: ubuntu-latest - timeout-minutes: ${{ contains(matrix.ruby-version, 'jruby') && 12 || 8 }} + timeout-minutes: ${{ contains(matrix.ruby-version, 'jruby') && 20 || 8 }} continue-on-error: ${{ matrix.experimental }} strategy: matrix: - ruby-version: [ 3.4, 3.3, 3.2, jruby ] + ruby-version: [ 3.4, 3.3, 3.2, jruby-9.4, jruby-10.0 ] gemfile: - rails70_gems.rb - rails71_gems.rb @@ -104,7 +106,7 @@ jobs: gemfile: rails80_gems.rb experimental: false # JRuby 9.x is Ruby 3.1 compatible, and Rails 8 requires Ruby 3.2. - - ruby-version: jruby + - ruby-version: jruby-9.4 gemfile: rails80_gems.rb experimental: false include: @@ -130,7 +132,7 @@ jobs: - name: Run tests (with 2 retries) uses: nick-fields/retry@v3 with: - timeout_minutes: ${{ contains(matrix.ruby-version, 'jruby') && 3 || 3 }} + timeout_minutes: ${{ contains(matrix.ruby-version, 'jruby') && 7 || 3 }} max_attempts: 3 command: bin/rake test diff --git a/.gitignore b/.gitignore index 84aee455..cb06f4ab 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,7 @@ *~ /.bundle/ /.idea +/.windsurf /.yardoc /_yardoc/ /coverage/ diff --git a/.standard.yml b/.standard.yml index 007f357a..a2dae368 100644 --- a/.standard.yml +++ b/.standard.yml @@ -2,7 +2,7 @@ fix: true # default: false parallel: true # default: false format: progress # default: Standard::Formatter -ruby_version: 3.2 # default: RUBY_VERSION +ruby_version: 3.1 # to support JRuby 9.4 default_ignores: false # default: true ignore: # default: [] diff --git a/Dockerfile b/Dockerfile index 3192cf67..afc7174d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,11 +3,15 @@ # $ docker build . -t csd # $ docker run -v $(pwd):/app -ti csd rake test -FROM --platform=linux/amd64 jetthoughts/cimg-ruby:3.4-chrome +FROM jetthoughts/cimg-ruby:3.4-chrome -# Install dependencies and clean up in one layer to reduce image size -RUN sudo apt-get update -qq && \ - DEBIAN_FRONTEND=noninteractive sudo apt-get install -qq \ +ENV DEBIAN_FRONTEND=noninteractive \ + BUNDLE_PATH=/bundle + +RUN --mount=type=cache,target=/var/cache/apt \ + sudo sed -i 's|http://security.ubuntu.com/ubuntu|http://archive.ubuntu.com/ubuntu|g' /etc/apt/sources.list && \ + sudo apt-get update -qq && \ + sudo apt-get install -qq --fix-missing \ automake \ build-essential \ curl \ @@ -34,20 +38,12 @@ RUN sudo apt-get update -qq && \ libwebp-dev \ libxml2-dev \ swig && \ - sudo apt-get autoremove -y && \ - sudo apt-get autoclean && \ - sudo apt-get clean && \ - sudo rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* + sudo apt-get autoclean -WORKDIR /app -COPY gems.rb gemfiles capybara-screenshot-diff.gemspec /app/ -COPY lib/capybara/screenshot/diff/version.rb /app/lib/capybara/screenshot/diff/ +RUN sudo sed -i 's/true/false/g' /etc/fonts/conf.d/10-antialias.conf -# Set the location for Bundler to store gems -ENV BUNDLE_PATH=/bundle -RUN sudo mkdir /bundle && \ - sudo chmod a+w+r /bundle \ - sudo mkdir -p /tmp/.X11-unix && \ - sudo chmod 1777 /tmp/.X11-unix +RUN sudo mkdir -p /bundle /tmp/.X11-unix && \ + sudo chmod 1777 /bundle /tmp/.X11-unix +WORKDIR /app diff --git a/bin/dtest b/bin/dtest index 8c219d24..1e4db122 100755 --- a/bin/dtest +++ b/bin/dtest @@ -1,14 +1,37 @@ #!/bin/bash -set -eo pipefail +set -o pipefail export DOCKER_DEFAULT_PLATFORM=linux/amd64 +# Define allowed environment variables to pass to Docker +ALLOWED_ENV_VARS=( + "CI" "DEBUG" "TEST_ENV" "RAILS_ENV" "RACK_ENV" "COVERAGE" "DISABLE_ROLLBACK_COMPARISON_RUNTIME_FILES" + "RECORD_SCREENSHOTS" "TEST" "TESTOPTS" "SCREENSHOT_DRIVER" +) + +# Build the Docker env args string +DOCKER_ENV_ARGS="" +for var in "${ALLOWED_ENV_VARS[@]}"; do + if [[ -n "${!var}" ]]; then + DOCKER_ENV_ARGS="$DOCKER_ENV_ARGS -e $var=${!var}" + fi +done + +# Build the Docker image docker build . -t csd:test -docker run -v ${PWD}:/app -v csd-bundle-cache:/bundle --rm -it csd:test bin/setup +# Run setup +(docker run $DOCKER_ENV_ARGS -v ${PWD}:/app -v csd-bundle-cache:/bundle --rm -it csd:test bin/setup) || exit 1 +# Run tests with different drivers echo "Running tests..." -docker run -e CAPYBARA_DRIVER=cuprite -v ${PWD}:/app -v csd-bundle-cache:/bundle --rm -it csd:test bin/rake test -docker run -e CAPYBARA_DRIVER=selenium_chrome_headless -v ${PWD}:/app -v csd-bundle-cache:/bundle --rm -it csd:test bin/rake test -docker run -e CAPYBARA_DRIVER=selenium_headless -v ${PWD}:/app -v csd-bundle-cache:/bundle --rm -it csd:test bin/rake test +DRIVERS=("cuprite" "selenium_chrome_headless" "selenium_headless") +for driver in "${DRIVERS[@]}"; do + echo "Running tests with $driver driver..." + docker run $DOCKER_ENV_ARGS -e CAPYBARA_DRIVER="$driver" \ + -v ${PWD}:/app -v csd-bundle-cache:/bundle --rm -it csd:test \ + bin/rake test "$@" + + CAPYBARA_DRIVER="$driver" bin/rake test "$@" +done diff --git a/capybara-screenshot-diff.gemspec b/capybara-screenshot-diff.gemspec index cfe4c3c4..663e9687 100644 --- a/capybara-screenshot-diff.gemspec +++ b/capybara-screenshot-diff.gemspec @@ -23,6 +23,7 @@ Gem::Specification.new do |spec| spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) } spec.require_paths = ["lib"] - spec.add_runtime_dependency "actionpack", ">= 7.0", "< 9" + spec.add_development_dependency "actionpack", ">= 7.0", "< 9" + spec.add_development_dependency "activesupport", ">= 7.0", "< 9" spec.add_runtime_dependency "capybara", ">= 2", "< 4" end diff --git a/gemfiles/edge_gems.rb b/gemfiles/edge_gems.rb index acd22987..c4745b3d 100644 --- a/gemfiles/edge_gems.rb +++ b/gemfiles/edge_gems.rb @@ -4,5 +4,6 @@ eval File.read(gems), binding, gems git "https://github.com/rails/rails.git" do + gem "activesupport" gem "actionpack" end diff --git a/gemfiles/rails70_gems.rb b/gemfiles/rails70_gems.rb index 2edc1b74..8358a52e 100644 --- a/gemfiles/rails70_gems.rb +++ b/gemfiles/rails70_gems.rb @@ -4,6 +4,7 @@ eval File.read(gems), binding, gems gem "actionpack", "~> 7.0.0" +gem "activesupport", "~> 7.0.0", require: %w[active_support/deprecator active_support/test_case] gem "mutex_m" gem "drb" gem "bigdecimal" diff --git a/gemfiles/rails71_gems.rb b/gemfiles/rails71_gems.rb index 02634398..db46028c 100644 --- a/gemfiles/rails71_gems.rb +++ b/gemfiles/rails71_gems.rb @@ -3,4 +3,5 @@ gems = "#{File.dirname __dir__}/gems.rb" eval File.read(gems), binding, gems -gem "actionpack", "~> 7.1.0" +gem "activesupport", "~> 7.1.0", require: %w[logger active_support/deprecator active_support] +gem "actionpack", "~> 7.1.0", require: %w[action_controller action_dispatch] diff --git a/gemfiles/rails80_gems.rb b/gemfiles/rails80_gems.rb index 3f86dbce..548e3714 100644 --- a/gemfiles/rails80_gems.rb +++ b/gemfiles/rails80_gems.rb @@ -3,4 +3,5 @@ gems = "#{File.dirname __dir__}/gems.rb" eval File.read(gems), binding, gems +gem "activesupport", "~> 8.0.0" gem "actionpack", "~> 8.0.0" diff --git a/lib/capybara/screenshot/diff/capture_strategy.rb b/lib/capybara/screenshot/diff/capture_strategy.rb new file mode 100644 index 00000000..62a4010f --- /dev/null +++ b/lib/capybara/screenshot/diff/capture_strategy.rb @@ -0,0 +1,29 @@ +# frozen_string_literal: true + +module Capybara + module Screenshot + module Diff + # Abstract base class for all screenshot‐capture strategies. + # A concrete strategy receives the raw capture/comparison option hashes, + # leaving them intact for now (we will introduce typed option objects in a + # later phase). It must implement `#take_comparison_screenshot` accepting + # a Snap. + class CaptureStrategy + def initialize(capture_options, comparison_options) + @capture_options = capture_options + @comparison_options = comparison_options + end + + # @param snapshot [CapybaraScreenshotDiff::Snap] + # @return [void] + def take_comparison_screenshot(_snapshot) + raise NotImplementedError, "subclass responsibility" + end + + private + + attr_reader :capture_options, :comparison_options + end + end + end +end diff --git a/lib/capybara/screenshot/diff/comparison.rb b/lib/capybara/screenshot/diff/comparison.rb index 9e1f8258..a60f591c 100644 --- a/lib/capybara/screenshot/diff/comparison.rb +++ b/lib/capybara/screenshot/diff/comparison.rb @@ -2,5 +2,8 @@ module Capybara::Screenshot::Diff class Comparison < Struct.new(:new_image, :base_image, :options, :driver, :new_image_path, :base_image_path) + def skip_area + options[:skip_area] + end end end diff --git a/lib/capybara/screenshot/diff/comparison_loader.rb b/lib/capybara/screenshot/diff/comparison_loader.rb new file mode 100644 index 00000000..7979c2c1 --- /dev/null +++ b/lib/capybara/screenshot/diff/comparison_loader.rb @@ -0,0 +1,33 @@ +# frozen_string_literal: true + +module Capybara + module Screenshot + module Diff + # Loads and preprocesses images for comparison + # + # This class is responsible for loading images and creating a Comparison object. + # It coordinates with the ImagePreprocessor to apply any necessary filters + # before creating the comparison. This follows the Single Responsibility Principle + # by focusing solely on loading and assembling the comparison. + class ComparisonLoader + def initialize(driver) + @driver = driver + end + + # Load images and create a comparison object + # @param [String] base_path the path to the base image + # @param [String] new_path the path to the new image + # @param [Hash] options options for the comparison + # @return [Comparison] the comparison object + def call(base_path, new_path, options = {}) + # Load the raw images + base_img, new_img = @driver.load_images(base_path, new_path) + + # Create a preliminary comparison with raw images + # This is used for enhanced preprocessing that needs context + Comparison.new(new_img, base_img, options, @driver, new_path, base_path) + end + end + end + end +end diff --git a/lib/capybara/screenshot/diff/difference.rb b/lib/capybara/screenshot/diff/difference.rb index cec6003d..6d029194 100644 --- a/lib/capybara/screenshot/diff/difference.rb +++ b/lib/capybara/screenshot/diff/difference.rb @@ -5,7 +5,31 @@ module Capybara module Screenshot module Diff - class Difference < Struct.new(:region, :meta, :comparison, :failed_by) + # Represents a difference between two images + # + # This value object encapsulates the result of an image comparison operation. + # It follows the Single Responsibility Principle by focusing solely on representing + # the difference state, including: + # - Whether images are different or equal + # - Why they differ (dimensions, pixels, etc.) + # - The specific region of difference + # - Whether differences are tolerable based on configured thresholds + # + # As part of the layered comparison architecture, this class represents the final + # output of the comparison process, containing all data needed for reporting. + # Represents a difference between two images + class Difference < Struct.new(:region, :meta, :comparison, :failed_by, :base_image_path, :image_path, keyword_init: nil) + def self.build_null(comparison, base_image_path, new_image_path, failed_by = nil) + Difference.new( + nil, + {difference_level: nil, max_color_distance: 0}, + comparison, + failed_by, + base_image_path, + new_image_path + ).freeze + end + def different? failed? || !(blank? || tolerable?) end @@ -61,6 +85,19 @@ def inspect def tolerable? !!((area_size_limit && area_size_limit >= region_area_size) || (tolerance && tolerance >= ratio)) end + + # Path accessors for backward compatibility + def new_image_path + image_path || comparison&.new_image_path + end + + def original_image_path + base_image_path || comparison&.base_image_path + end + + def diff_mask + meta[:diff_mask] + end end end end diff --git a/lib/capybara/screenshot/diff/difference_finder.rb b/lib/capybara/screenshot/diff/difference_finder.rb new file mode 100644 index 00000000..abd74070 --- /dev/null +++ b/lib/capybara/screenshot/diff/difference_finder.rb @@ -0,0 +1,101 @@ +# frozen_string_literal: true + +require "capybara/screenshot/diff/comparison" +require "capybara/screenshot/diff/difference" + +module Capybara + module Screenshot + module Diff + # Analyzes image differences with configurable tolerance levels. + # + # This class implements the core comparison logic for detecting visual differences + # between images while accounting for various tolerances and optimizations. + # + # The comparison process follows these steps: + # 1. Dimension Check (Fastest) + # - Compares image dimensions first for quick rejection + # - Different dimensions always indicate a difference + # + # 2. Pixel Equality Check (Fast) + # - Performs bitwise comparison if dimensions match + # - Returns immediately if images are exactly identical + # + # 3. Tolerant Comparison (Slower) + # - Only runs if quick checks don't determine equality + # - Respects configured tolerances for color and shift differences + # - Can ignore specific regions (skip_area) + # - Considers anti-aliasing and sub-pixel rendering differences + # + # The class is designed to be stateless and thread-safe, with all configuration + # passed in through the constructor. + class DifferenceFinder + TOLERABLE_OPTIONS = [:tolerance, :color_distance_limit, :shift_distance_limit, :area_size_limit].freeze + + attr_reader :driver, :options + + # Creates a new DifferenceFinder instance. + # + # @param driver [Drivers::Base] The image processing driver to use. + # Must implement the driver interface expected by DifferenceFinder. + # @param options [Hash] Configuration options for the comparison: + # @option options [Numeric] :tolerance (0.001) Color tolerance threshold (0.0-1.0). + # @option options [Numeric] :color_distance_limit Maximum allowed color distance. + # @option options [Numeric] :shift_distance_limit Maximum allowed shift distance. + # @option options [Numeric] :area_size_limit Maximum allowed difference area size. + # @option options [Array] :skip_area Regions to exclude from comparison. + def initialize(driver, options) + @driver = driver + @options = options + end + + # Analyzes the comparison and determines if images are different. + # + # @param comparison [Comparison] The comparison object containing images to analyze. + # @param quick_mode [Boolean] When true, performs minimal checks and returns early. + # In quick mode, returns [is_equal, difference] where: + # - is_equal is true if images are considered equal + # - difference is a Difference object or nil + # When false, returns a Difference object directly. + # @return [Array, Difference] Result format depends on quick_mode parameter. + # @raise [ArgumentError] If the comparison object is invalid. + def call(comparison, quick_mode: true) + # Process the comparison and return result + + # Handle dimension differences + unless driver.same_dimension?(comparison) + result = build_null_difference(comparison, comparison.base_image_path, comparison.new_image_path, {different_dimensions: true}) + return quick_mode ? [false, result] : result + end + + # Handle identical pixels + if driver.same_pixels?(comparison) + result = build_null_difference(comparison, comparison.base_image_path, comparison.new_image_path) + return quick_mode ? [true, result] : result + end + + # Handle early return for non-tolerable options + if quick_mode && without_tolerable_options? + return [false, nil] + end + + # Process difference region + region = driver.find_difference_region(comparison) + + # Only create a proper difference object if we've completed the comparison + quick_mode ? [!region.different?, region] : region + end + + private + + def without_tolerable_options? + (options.keys & TOLERABLE_OPTIONS).empty? + end + + # Build a no-difference result that represents identical images + def build_null_difference(comparison, base_path, new_path, failed_by = nil) + Difference.build_null(comparison, base_path, new_path, failed_by) + end + end + end + end +end diff --git a/lib/capybara/screenshot/diff/drivers/base_driver.rb b/lib/capybara/screenshot/diff/drivers/base_driver.rb index 8082966b..0ae22958 100644 --- a/lib/capybara/screenshot/diff/drivers/base_driver.rb +++ b/lib/capybara/screenshot/diff/drivers/base_driver.rb @@ -30,6 +30,10 @@ def image_area_size(image) def dimension(image) [width_for(image), height_for(image)] end + + def supports?(feature) + respond_to?(feature) + end end end end diff --git a/lib/capybara/screenshot/diff/drivers/vips_driver.rb b/lib/capybara/screenshot/diff/drivers/vips_driver.rb index b166b611..63e0777a 100644 --- a/lib/capybara/screenshot/diff/drivers/vips_driver.rb +++ b/lib/capybara/screenshot/diff/drivers/vips_driver.rb @@ -40,7 +40,7 @@ def crop(region, i) rescue Vips::Error => e warn( "[capybara-screenshot-diff] Crop has been failed for " \ - "{ region: #{region.to_top_left_corner_coordinates.inspect}, image: #{dimension(i).join("x")} }" + "{ region: #{region.to_top_left_corner_coordinates.inspect}, image: #{dimension(i).join("x")} }" ) raise e end diff --git a/lib/capybara/screenshot/diff/image_compare.rb b/lib/capybara/screenshot/diff/image_compare.rb index 2ccfc461..2ce87757 100644 --- a/lib/capybara/screenshot/diff/image_compare.rb +++ b/lib/capybara/screenshot/diff/image_compare.rb @@ -1,17 +1,42 @@ # frozen_string_literal: true +require "pathname" +require "fileutils" + require "capybara/screenshot/diff/comparison" +require "capybara/screenshot/diff/comparison_loader" +require "capybara/screenshot/diff/image_preprocessor" +require "capybara/screenshot/diff/difference_finder" +require "capybara/screenshot/diff/reporters/default" module Capybara module Screenshot module Diff LOADED_DRIVERS = {} - # Compare two image and determine if they are equal, different, or within some comparison - # range considering color values and difference area size. + # Handles comparison of two images with a focus on performance and accuracy. + # + # This class implements a multi-layered optimization strategy for image comparison: + # + # 1. Early File-based Checks (Fastest): + # - Verifies both images exist (raises ArgumentError if not) + # - Compares file sizes (different sizes → different images) + # - Performs byte-by-byte comparison for identical files (exact match) + # + # 2. Quick Comparison (Fast): + # - Compares image dimensions (different dimensions → different images) + # - Performs pixel-by-pixel comparison if dimensions match + # + # 3. Detailed Analysis (Slower): + # - Only performed if quick comparison finds differences + # - Handles anti-aliasing, color tolerance, and shift detection + # - Respects skip_area and other comparison parameters + # + # This layered approach ensures optimal performance by: + # - Using the fastest possible method for early rejection + # - Only performing expensive operations when absolutely necessary + # - Maintaining high accuracy for complex comparisons class ImageCompare - TOLERABLE_OPTIONS = [:tolerance, :color_distance_limit, :shift_distance_limit, :area_size_limit].freeze - attr_reader :driver, :driver_options attr_reader :image_path, :base_image_path attr_reader :difference, :error_message @@ -20,41 +45,53 @@ def initialize(image_path, base_image_path, options = {}) @image_path = Pathname.new(image_path) @base_image_path = Pathname.new(base_image_path) - @driver_options = options.dup + ensure_files_exist! + @driver_options = options.dup @driver = Drivers.for(@driver_options) end - # Compare the two image files and return `true` or `false` as quickly as possible. - # Return falsely if the old file does not exist or the image dimensions do not match. + # Performs a quick comparison of two image files. + # + # This method is optimized for speed and will return as soon as a difference is found. + # It's used for fast rejection before performing more expensive comparisons. + # + # @return [Boolean] + # - `true` if images are exactly identical (byte-for-byte match) + # - `false` if images are different or if a quick difference is detected + # + # @note This method will raise ArgumentError if either image file is missing. def quick_equal? - require_images_exists! - - # NOTE: This is very fuzzy logic, but so far it's helps to support current performance. - return true if new_file_size == old_file_size - - comparison = load_and_process_images + ensure_files_exist! - unless driver.same_dimension?(comparison) - self.difference = build_failed_difference(comparison, {different_dimensions: true}) - return false + # Quick file size check - if sizes are equal, perform a simple file comparison + if base_image_path.size == image_path.size + # If we have identical files (same size and content), we can return true immediately + # without more expensive comparison + return true if files_identical?(base_image_path, image_path) end - if driver.same_pixels?(comparison) - self.difference = build_no_difference(comparison) - return true - end - - # NOTE: Could not make any difference to be tolerable, so skip and return as not equal. - return false if without_tolerable_options? - - self.difference = driver.find_difference_region(comparison) + result, difference = find_difference(quick_mode: true) + self.difference = difference + result + end - !difference.different? + def ensure_files_exist! + raise ArgumentError, "There is no original (base) screenshot located at #{@base_image_path}" unless @base_image_path.exist? + raise ArgumentError, "There is no new screenshot located at #{@image_path}" unless @image_path.exist? end - # Compare the two image referenced by this object, and return `true` if they are different, - # and `false` if they are the same. + # Determines if the images are different according to the comparison rules. + # + # This method performs a full comparison if not already done, including any + # configured tolerances for color differences and shift distances. + # + # @return [Boolean] + # - `true` if the images are different beyond configured tolerances + # - `false` if the images are considered identical + # + # @see #processed + # @see DifferenceFinder def different? processed.difference.different? end @@ -64,10 +101,7 @@ def dimensions_changed? end def reporter - @reporter ||= begin - current_difference = difference || build_no_difference(nil) - Capybara::Screenshot::Diff::Reporters::Default.new(current_difference) - end + @reporter ||= build_reporter end def processed? @@ -75,122 +109,87 @@ def processed? end def processed - self.difference = find_difference unless processed? + self.difference = find_difference(quick_mode: false) unless processed? @error_message ||= reporter.generate self end private - def find_difference - require_images_exists! - - comparison = load_and_process_images - - unless driver.same_dimension?(comparison) - return build_failed_difference(comparison, {different_dimensions: true}) - end - - if driver.same_pixels?(comparison) - build_no_difference(comparison) - else - driver.find_difference_region(comparison) - end + def difference_finder + @difference_finder ||= DifferenceFinder.new(driver, driver_options) end - def require_images_exists! - raise ArgumentError, "There is no original (base) screenshot version to compare, located: #{base_image_path}" unless base_image_path.exist? - raise ArgumentError, "There is no new screenshot version to compare, located: #{image_path}" unless image_path.exist? + def comparison_loader + @comparison_loader ||= ComparisonLoader.new(driver) end - def difference=(new_difference) - @error_message = nil - @reporter = nil - @difference = new_difference + def image_preprocessor + @image_preprocessor ||= ImagePreprocessor.new(driver, driver_options) end - def image_files_exist? - @base_image_path.exist? && @image_path.exist? - end - - def without_tolerable_options? - (@driver_options.keys & TOLERABLE_OPTIONS).empty? - end - - def build_failed_difference(comparison, failed_by) - Difference.new( - nil, - {difference_level: nil, max_color_distance: 0}, - comparison, - failed_by - ) - end + def find_difference(quick_mode: false) + # Validate images exist + return build_null_difference("missing_image") unless images_exist? - def load_and_process_images - images = driver.load_images(base_image_path, image_path) - base_image, new_image = preprocess_images(images) - Comparison.new(new_image, base_image, @driver_options, driver, image_path, base_image_path) - end - - def skip_area - @driver_options[:skip_area] - end - - def median_filter_window_size - @driver_options[:median_filter_window_size] - end + # Create comparison with preprocessed images + comparison = load_comparison(base_image_path, image_path, driver_options) - def preprocess_images(images) - images.map { |image| preprocess_image(image) } + # Use difference finder to analyze the comparison + difference_finder.call(comparison, quick_mode: quick_mode) end - def preprocess_image(image) - result = image - - if skip_area - result = ignore_skipped_area(result) - end - - if median_filter_window_size - if driver.is_a?(Drivers::VipsDriver) - result = blur_image_by(image, median_filter_window_size) - else - warn( - "[capybara-screenshot-diff] Median filter has been skipped for #{image_path} " \ - "because it is not supported by #{driver.class.name}" - ) - end - end - - result + def difference=(new_difference) + @error_message = nil + @reporter = nil + @difference = new_difference end - def blur_image_by(image, size) - driver.filter_image_with_median(image, size) + def build_reporter + current_difference = difference || build_null_difference + Reporters::Default.new(current_difference) end - def ignore_skipped_area(image) - skip_area&.reduce(image) { |memo, region| driver.add_black_box(memo, region) } + # Loads and preprocesses images for detailed comparison. + # + # This method is responsible for: + # 1. Loading both images using the configured driver + # 2. Applying any necessary preprocessing (cropping, normalization) + # 3. Creating a Comparison object that holds the image data + # + # @param base_path [String,Pathname] Path to the baseline/reference image + # @param new_path [String,Pathname] Path to the new/candidate image + # @param options [Hash] Comparison options including: + # - :crop [Array] Optional crop area [x, y, width, height] + # - :skip_area [Array] Areas to exclude from comparison + # - :tolerance [Numeric] Color tolerance threshold + # @return [Comparison] Prepared comparison object ready for analysis + # @raise [ArgumentError] If image files are invalid or unreadable + def load_comparison(base_path, new_path, options) + comparison = comparison_loader.call(base_path, new_path, options) + image_preprocessor.process_comparison(comparison) end - def old_file_size - base_image_path.size + def build_null_difference(failed_by = nil, comparison = nil) + Difference.build_null(comparison || build_null_comparison, base_image_path, image_path, failed_by) end - def new_file_size - image_path.size + def build_null_comparison + Comparison.new(nil, nil, driver_options, driver, image_path, base_image_path).freeze end - def build_no_difference(comparison = nil) - Difference.new( - nil, - {difference_level: nil, max_color_distance: 0}, - comparison || build_comparison - ).freeze + # Check if both images exist + def images_exist? + base_image_path.exist? && image_path.exist? end - def build_comparison - Capybara::Screenshot::Diff::Comparison.new(nil, nil, driver_options, driver, image_path, base_image_path).freeze + # Check if files are identical by content + def files_identical?(file1, file2) + # Compare file contents + FileUtils.identical?(file1, file2) + rescue + # If there's any error reading the files, they're not identical + false end end end diff --git a/lib/capybara/screenshot/diff/image_preprocessor.rb b/lib/capybara/screenshot/diff/image_preprocessor.rb new file mode 100644 index 00000000..135a1f42 --- /dev/null +++ b/lib/capybara/screenshot/diff/image_preprocessor.rb @@ -0,0 +1,76 @@ +# frozen_string_literal: true + +module Capybara + module Screenshot + module Diff + # Handles image preprocessing operations (skip_area and median filtering) + # + # This class applies preprocessing filters to images before comparison, + # such as masking specific regions (skip_area) or applying noise reduction. + # It's designed to work with either direct image objects or with options. + class ImagePreprocessor + attr_reader :driver, :options + + def initialize(driver, options = {}) + @driver = driver + @options = options + end + + # Process a comparison object directly + # This allows reusing the comparison's existing options + # @param [Comparison] comparison the comparison object + # @return [Comparison] the comparison object + def process_comparison(comparison) + # Process both images + comparison.base_image = process_image(comparison.base_image, comparison.base_image_path) + comparison.new_image = process_image(comparison.new_image, comparison.new_image_path) + + comparison + end + + def call(images) + images.map { |image| process_image(image, nil) } + end + + private + + def process_image(image, path) + result = image + result = apply_skip_area(result) if skip_area + result = apply_median_filter(result, path) if median_filter_window_size + result + end + + def apply_skip_area(image) + skip_area.reduce(image) do |result, region| + driver.add_black_box(result, region) + end + end + + def apply_median_filter(image, path) + if driver.supports?(:filter_image_with_median) + driver.filter_image_with_median(image, median_filter_window_size) + else + warn_about_skipped_median_filter(path) + image + end + end + + def warn_about_skipped_median_filter(path) + warn( + "[capybara-screenshot-diff] Median filter has been skipped for #{path} " \ + "because it is not supported by #{driver.class}" + ) + end + + def skip_area + options[:skip_area] + end + + def median_filter_window_size + options[:median_filter_window_size] + end + end + end + end +end diff --git a/lib/capybara/screenshot/diff/reporters/default.rb b/lib/capybara/screenshot/diff/reporters/default.rb index e1e19a5d..96400cff 100644 --- a/lib/capybara/screenshot/diff/reporters/default.rb +++ b/lib/capybara/screenshot/diff/reporters/default.rb @@ -45,12 +45,12 @@ def build_error_for_different_dimensions def annotate_and_save_images save_annotation_for(new_image, annotated_image_path) save_annotation_for(base_image, annotated_base_image_path) - save_heatmap_diff if difference.meta[:diff_mask] + save_heatmap_diff if difference.diff_mask end def save_annotation_for(image, image_path) image = annotate_difference(image, difference.region) - image = annotate_skip_areas(image, difference.skip_area) if difference.skip_area + image = annotate_skip_areas(image, difference.comparison.skip_area) if difference.comparison.skip_area save(image, image_path.to_path) end @@ -80,7 +80,8 @@ def build_error_message "(#{difference.inspect})", image_path.to_path, annotated_base_image_path.to_path, - annotated_image_path.to_path + annotated_image_path.to_path, + heatmap_diff_path.to_path ].join(NEW_LINE) end @@ -88,7 +89,7 @@ def build_error_message def save_heatmap_diff merged_image = driver.merge(new_image, base_image) - highlighted_mask = driver.highlight_mask(difference.meta[:diff_mask], merged_image, color: DIFF_COLOR) + highlighted_mask = driver.highlight_mask(difference.diff_mask, merged_image, color: DIFF_COLOR) save(highlighted_mask, heatmap_diff_path.to_path) end diff --git a/lib/capybara/screenshot/diff/screenshot_coordinator.rb b/lib/capybara/screenshot/diff/screenshot_coordinator.rb new file mode 100644 index 00000000..83c4f0ab --- /dev/null +++ b/lib/capybara/screenshot/diff/screenshot_coordinator.rb @@ -0,0 +1,50 @@ +# frozen_string_literal: true + +require_relative "standard_capture_strategy" +require_relative "stable_capture_strategy" + +module Capybara + module Screenshot + module Diff + # Orchestrates the selection of a capture strategy based on capture and + # comparison options. This replaces the previous ScreenshotTaker factory. + module ScreenshotCoordinator + module_function + + # Unified public API to obtain a comparison screenshot. + # + # Usage (internal): + # ScreenshotCoordinator.capture(full_name, capture_options, comparison_options) + # + # @param snap_or_name [CapybaraScreenshotDiff::Snap, String] + # @param capture_options [Hash] + # @param comparison_options [Hash] + # @return [CapybaraScreenshotDiff::Snap] + def capture(snap_or_name, capture_options, comparison_options) + snap = ensure_snap(snap_or_name, capture_options) + strategy(capture_options, comparison_options).take_comparison_screenshot(snap) + snap + end + + # ------------------------------------------------------------------ + def strategy(capture_options, comparison_options) + strategy_klass = capture_options[:stability_time_limit] ? StableCaptureStrategy : StandardCaptureStrategy + strategy_klass.new(capture_options, comparison_options) + end + + private_class_method :strategy + + def ensure_snap(snap_or_name, capture_options) + return snap_or_name if snap_or_name.is_a?(CapybaraScreenshotDiff::Snap) + + CapybaraScreenshotDiff::SnapManager.snapshot( + snap_or_name, + capture_options[:screenshot_format] || "png" + ) + end + + private_class_method :ensure_snap + end + end + end +end diff --git a/lib/capybara/screenshot/diff/screenshot_matcher.rb b/lib/capybara/screenshot/diff/screenshot_matcher.rb index 0e92fe21..2470fd3d 100644 --- a/lib/capybara/screenshot/diff/screenshot_matcher.rb +++ b/lib/capybara/screenshot/diff/screenshot_matcher.rb @@ -6,6 +6,7 @@ require_relative "browser_helpers" require_relative "vcs" require_relative "area_calculator" +require_relative "screenshot_coordinator" module Capybara module Screenshot @@ -21,37 +22,75 @@ def initialize(screenshot_full_name, options = {}) @snapshot = CapybaraScreenshotDiff::SnapManager.snapshot(screenshot_full_name, @screenshot_format) end - def build_screenshot_matches_job - # TODO: Move this into screenshot stage, in order to re-evaluate coordinates after page updates - return if BrowserHelpers.window_size_is_wrong?(Screenshot.window_size) + def build_screenshot_assertion(skip_stack_frames: 0) + check_window_size! + prepare_screenshot_options + check_base_screenshot - # TODO: Move this into screenshot stage, in order to re-evaluate coordinates after page updates + capture_options, comparison_options = extract_capture_and_comparison_options!(driver_options) + + capture_screenshot(capture_options, comparison_options) + + # Pre-computation: No need to compare without base screenshot + # NOTE: Consider to return PreValid Assertion Value Object with hard coded valid result + return unless need_to_compare? + + create_screenshot_assertion(skip_stack_frames + 1, comparison_options) + end + + private + + def need_to_compare? + @snapshot.base_path.exist? + end + + def check_window_size! + if BrowserHelpers.window_size_is_wrong?(Screenshot.window_size) + current_size = BrowserHelpers.selenium? ? + BrowserHelpers.session.driver.browser.manage.window.size.to_s : + "unknown" + + raise CapybaraScreenshotDiff::WindowSizeMismatchError.new(<<~ERROR.chomp, caller) + Window size mismatch detected! + Expected: #{Screenshot.window_size.inspect} + Actual: #{current_size} + + Screenshots cannot be compared when window sizes don't match. + Please ensure the browser window is properly sized before taking screenshots. + ERROR + end + end + + def prepare_screenshot_options area_calculator = AreaCalculator.new(driver_options.delete(:crop), driver_options[:skip_area]) - driver_options[:crop] = area_calculator.calculate_crop - # TODO: Move this into screenshot stage, in order to re-evaluate coordinates after page updates - # Allow nil or single or multiple areas + driver_options[:crop] = area_calculator.calculate_crop driver_options[:skip_area] = area_calculator.calculate_skip_area driver_options[:driver] = Drivers.for(driver_options[:driver]) + end + def check_base_screenshot @snapshot.checkout_base_screenshot - # When fail_if_new is true no need to create screenshot if base screenshot is missing - return if Capybara::Screenshot::Diff.fail_if_new && !@snapshot.base_path.exist? - - capture_options, comparison_options = extract_capture_and_comparison_options!(driver_options) - - # Load new screenshot from Browser - take_comparison_screenshot(capture_options, comparison_options, @snapshot) - - # Pre-computation: No need to compare without base screenshot - return unless @snapshot.base_path.exist? + if Capybara::Screenshot::Diff.fail_if_new && !@snapshot.base_path.exist? + raise CapybaraScreenshotDiff::ExpectationNotMet.new(<<~ERROR.chomp, caller) + No existing screenshot found for #{@snapshot.base_path}! + To stop seeing this error disable by `Capybara::Screenshot::Diff.fail_if_new=false` + ERROR + end + end - # Add comparison job in the queue - [screenshot_full_name, ImageCompare.new(@snapshot.path, @snapshot.base_path, comparison_options)] + def capture_screenshot(capture_options, comparison_options) + Capybara::Screenshot::Diff::ScreenshotCoordinator.capture(@snapshot, capture_options, comparison_options) end - private + def create_screenshot_assertion(skip_stack_frames, comparison_options) + CapybaraScreenshotDiff::ScreenshotAssertion.from([ + caller(skip_stack_frames + 1), + screenshot_full_name, + ImageCompare.new(@snapshot.path, @snapshot.base_path, comparison_options) + ]) + end def extract_capture_and_comparison_options!(driver_options = {}) [ @@ -68,22 +107,6 @@ def extract_capture_and_comparison_options!(driver_options = {}) driver_options ] end - - # Try to get screenshot from browser. - # On `stability_time_limit` it checks that page stop updating by comparison several screenshot attempts - # On reaching `wait` limit then it has been failed. On failing we annotate screenshot attempts to help to debug - def take_comparison_screenshot(capture_options, comparison_options, snapshot = nil) - screenshoter = build_screenshoter_for(capture_options, comparison_options) - screenshoter.take_comparison_screenshot(snapshot) - end - - def build_screenshoter_for(capture_options, comparison_options = {}) - if capture_options[:stability_time_limit] - StableScreenshoter.new(capture_options, comparison_options) - else - Diff.screenshoter.new(capture_options, comparison_options[:driver]) - end - end end end end diff --git a/lib/capybara/screenshot/diff/screenshot_namer_dsl.rb b/lib/capybara/screenshot/diff/screenshot_namer_dsl.rb new file mode 100644 index 00000000..4498020b --- /dev/null +++ b/lib/capybara/screenshot/diff/screenshot_namer_dsl.rb @@ -0,0 +1,35 @@ +# frozen_string_literal: true + +require "capybara_screenshot_diff/screenshot_namer" + +module Capybara + module Screenshot + module Diff + # Provides methods for managing screenshot naming conventions + # with support for grouping and sectioning for better organization. + module ScreenshotNamerDSL + # Sets the current section name for screenshots + # @param name [String] Section name + # @return [void] + def screenshot_section(name) + screenshot_namer.section = name + end + + # Sets the current group name for screenshots + # @param name [String] Group name + # @return [void] + def screenshot_group(name) + screenshot_namer.group = name + end + + private + + # Access the current screenshot namer instance + # @return [CapybaraScreenshotDiff::ScreenshotNamer] + def screenshot_namer + CapybaraScreenshotDiff.screenshot_namer + end + end + end + end +end diff --git a/lib/capybara/screenshot/diff/screenshoter.rb b/lib/capybara/screenshot/diff/screenshoter.rb index a05e31c7..a68b2ddf 100644 --- a/lib/capybara/screenshot/diff/screenshoter.rb +++ b/lib/capybara/screenshot/diff/screenshoter.rb @@ -86,7 +86,7 @@ def wait_images_loaded(timeout:) break unless pending_image if Process.clock_gettime(Process::CLOCK_MONOTONIC) > deadline_at - raise CapybaraScreenshotDiff::ExpectationNotMet, "Images have not been loaded after #{timeout}s: #{pending_image.inspect}" + raise CapybaraScreenshotDiff::ExpectationNotMet.new("Images have not been loaded after #{timeout}s: #{pending_image.inspect}", caller) end sleep 0.025 diff --git a/lib/capybara/screenshot/diff/stable_capture_strategy.rb b/lib/capybara/screenshot/diff/stable_capture_strategy.rb new file mode 100644 index 00000000..20745e57 --- /dev/null +++ b/lib/capybara/screenshot/diff/stable_capture_strategy.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +require_relative "capture_strategy" +require_relative "stable_screenshoter" + +module Capybara + module Screenshot + module Diff + # Capture strategy that waits until the page content stabilises by taking + # several attempts and comparing them. + class StableCaptureStrategy < CaptureStrategy + def initialize(capture_options, comparison_options) + super + @screenshoter = StableScreenshoter.new(capture_options, comparison_options) + end + + def take_comparison_screenshot(snapshot) + @screenshoter.take_comparison_screenshot(snapshot) + end + end + end + end +end diff --git a/lib/capybara/screenshot/diff/stable_screenshoter.rb b/lib/capybara/screenshot/diff/stable_screenshoter.rb index 79419358..5e27e8c4 100644 --- a/lib/capybara/screenshot/diff/stable_screenshoter.rb +++ b/lib/capybara/screenshot/diff/stable_screenshoter.rb @@ -100,7 +100,7 @@ def annotate_attempts_and_fail!(snapshot) attempts_reporter = CapybaraScreenshotDiff::AttemptsReporter.new(snapshot, @comparison_options, {wait: wait, stability_time_limit: stability_time_limit}) # TODO: Move fail to the queue after tests passed - raise CapybaraScreenshotDiff::UnstableImage, attempts_reporter.generate + raise CapybaraScreenshotDiff::UnstableImage.new(attempts_reporter.generate, caller) end end end diff --git a/lib/capybara/screenshot/diff/standard_capture_strategy.rb b/lib/capybara/screenshot/diff/standard_capture_strategy.rb new file mode 100644 index 00000000..bba67c5c --- /dev/null +++ b/lib/capybara/screenshot/diff/standard_capture_strategy.rb @@ -0,0 +1,24 @@ +# frozen_string_literal: true + +require_relative "capture_strategy" +require_relative "screenshoter" + +module Capybara + module Screenshot + module Diff + # Default capture strategy – grabs a single screenshot via the generic + # `Screenshoter` and returns immediately. + class StandardCaptureStrategy < CaptureStrategy + def initialize(capture_options, comparison_options) + super + driver = comparison_options[:driver] + @screenshoter = Diff.screenshoter.new(capture_options, driver) + end + + def take_comparison_screenshot(snapshot) + @screenshoter.take_comparison_screenshot(snapshot) + end + end + end + end +end diff --git a/lib/capybara/screenshot/diff/test_methods.rb b/lib/capybara/screenshot/diff/test_methods.rb deleted file mode 100644 index c384a112..00000000 --- a/lib/capybara/screenshot/diff/test_methods.rb +++ /dev/null @@ -1,157 +0,0 @@ -# frozen_string_literal: true - -require "English" -require "capybara" -require "action_controller" -require "action_dispatch" -require "active_support/core_ext/string/strip" -require "pathname" - -require_relative "drivers" -require_relative "image_compare" -require_relative "vcs" -require_relative "browser_helpers" -require_relative "region" - -require_relative "screenshot_matcher" - -# == Capybara::Screenshot::Diff::TestMethods -# -# This module provides methods for capturing screenshots and verifying them against -# baseline images to detect visual changes. It's designed to be included in test -# classes to add visual regression testing capabilities. - -module Capybara - module Screenshot - module Diff - module TestMethods - # @!attribute [rw] test_screenshots - # @return [Array(Array(Array(String), String, ImageCompare | Minitest::Mock))] An array where each element is an array containing the caller context, - # the name of the screenshot, and the comparison object. This attribute stores information about each screenshot - # scheduled for comparison to ensure they do not show any unintended differences. - def initialize(*) - super - @screenshot_counter = nil - @screenshot_group = nil - @screenshot_section = nil - @test_screenshot_errors = nil - end - - # Builds the full name for a screenshot, incorporating counters and group names for uniqueness. - # - # @param name [String] The base name for the screenshot. - # @return [String] The full, unique name for the screenshot. - def build_full_name(name) - if @screenshot_counter - name = format("%02i_#{name}", @screenshot_counter) - @screenshot_counter += 1 - end - - File.join(*group_parts.push(name.to_s)) - end - - # Determines the directory path for saving screenshots. - # - # @return [String] The full path to the directory where screenshots are saved. - def screenshot_dir - File.join(*([Screenshot.screenshot_area] + group_parts)) - end - - def screenshot_section(name) - @screenshot_section = name.to_s - end - - def screenshot_group(name) - @screenshot_group = name.to_s - @screenshot_counter = (@screenshot_group.nil? || @screenshot_group.empty?) ? nil : 0 - name_present = !(name.nil? || name.empty?) - return unless Screenshot.active? && name_present - - FileUtils.rm_rf screenshot_dir - end - - # Schedules a screenshot comparison job for later execution. - # - # This method adds a job to the queue of screenshots to be matched. It's used when `Capybara::Screenshot::Diff.delayed` - # is set to true, allowing for batch processing of screenshot comparisons at a later point, typically at the end of a test. - # - # @param job [Array(Array(String), String, ImageCompare)] The job to be scheduled, consisting of the caller context, screenshot name, and comparison object. - # @return [Boolean] Always returns true, indicating the job was successfully scheduled. - def schedule_match_job(job) - CapybaraScreenshotDiff.add_assertion(job) - true - end - - def group_parts - parts = [] - parts << @screenshot_section unless @screenshot_section.nil? || @screenshot_section.empty? - parts << @screenshot_group unless @screenshot_group.nil? || @screenshot_group.empty? - parts - end - - # Takes a screenshot and optionally compares it against a baseline image. - # - # @param name [String] The name of the screenshot, used to generate the filename. - # @param skip_stack_frames [Integer] The number of stack frames to skip when reporting errors, for cleaner error messages. - # @param options [Hash] Additional options for taking the screenshot, such as custom dimensions or selectors. - # @return [Boolean] Returns true if the screenshot was successfully captured and matches the baseline, false otherwise. - # @raise [CapybaraScreenshotDiff::ExpectationNotMet] If the screenshot does not match the baseline image and fail_if_new is set to true. - # @example Capture a full-page screenshot named 'login_page' - # screenshot('login_page', skip_stack_frames: 1, full: true) - def screenshot(name, skip_stack_frames: 0, **options) - return false unless Screenshot.active? - - # setup - screenshot_full_name = build_full_name(name) - - # exercise - match_changes_job = build_screenshot_matches_job(screenshot_full_name, options) - - # verify - backtrace = caller(skip_stack_frames + 1).reject { |l| l =~ /gems\/(activesupport|minitest|railties)/ } - - unless match_changes_job - if Screenshot::Diff.fail_if_new - _raise_error(<<-ERROR.strip_heredoc, backtrace) - No existing screenshot found for #{screenshot_full_name}! - To stop seeing this error disable by `Capybara::Screenshot::Diff.fail_if_new=false` - ERROR - end - - return false - end - - match_changes_job.prepend(backtrace) - - if Screenshot::Diff.delayed - schedule_match_job(match_changes_job) - else - invoke_match_job(match_changes_job) - end - end - - private - - def invoke_match_job(job) - error_msg = CapybaraScreenshotDiff::ScreenshotAssertion.from(job).validate - - if error_msg - _raise_error(error_msg, job[0]) - end - - true - end - - def _raise_error(error_msg, backtrace) - raise CapybaraScreenshotDiff::ExpectationNotMet.new(error_msg).tap { _1.set_backtrace(backtrace) } - end - - def build_screenshot_matches_job(screenshot_full_name, options) - ScreenshotMatcher - .new(screenshot_full_name, options) - .build_screenshot_matches_job - end - end - end - end -end diff --git a/lib/capybara_screenshot_diff.rb b/lib/capybara_screenshot_diff.rb index d90f51dc..eb176cc8 100644 --- a/lib/capybara_screenshot_diff.rb +++ b/lib/capybara_screenshot_diff.rb @@ -5,16 +5,20 @@ require "capybara/screenshot/diff/utils" require "capybara/screenshot/diff/image_compare" require "capybara_screenshot_diff/snap_manager" -require "capybara/screenshot/diff/test_methods" +require "capybara/screenshot/diff/screenshot_namer_dsl" require "capybara/screenshot/diff/screenshoter" require "capybara/screenshot/diff/reporters/default" +require "capybara_screenshot_diff/error_with_filtered_backtrace" + module CapybaraScreenshotDiff - class CapybaraScreenshotDiffError < StandardError; end + class CapybaraScreenshotDiffError < ErrorWithFilteredBacktrace; end class ExpectationNotMet < CapybaraScreenshotDiffError; end class UnstableImage < CapybaraScreenshotDiffError; end + + class WindowSizeMismatchError < ErrorWithFilteredBacktrace; end end module Capybara diff --git a/lib/capybara_screenshot_diff/backtrace_filter.rb b/lib/capybara_screenshot_diff/backtrace_filter.rb new file mode 100644 index 00000000..fc24df97 --- /dev/null +++ b/lib/capybara_screenshot_diff/backtrace_filter.rb @@ -0,0 +1,20 @@ +# frozen_string_literal: true + +module CapybaraScreenshotDiff + class BacktraceFilter + LIB_DIRECTORY = File.expand_path(File.join(File.dirname(__FILE__), "..")) + File::SEPARATOR + + def initialize(lib_directory = LIB_DIRECTORY) + @lib_directory = lib_directory + end + + # Filters out any backtrace lines originating from the library directory or from gems such as ActiveSupport, Minitest, and Railties + # @param backtrace [Array] + # @return [Array] + def filtered(backtrace) + backtrace + .reject { |location| File.expand_path(location).start_with?(@lib_directory) } + .reject { |l| l =~ /gems\/(activesupport|minitest|railties)/ } + end + end +end diff --git a/lib/capybara_screenshot_diff/dsl.rb b/lib/capybara_screenshot_diff/dsl.rb index a8c7fb48..4fa74afa 100644 --- a/lib/capybara_screenshot_diff/dsl.rb +++ b/lib/capybara_screenshot_diff/dsl.rb @@ -1,18 +1,91 @@ # frozen_string_literal: true require "capybara_screenshot_diff" -require "capybara/screenshot/diff/test_methods" -require_relative "screenshot_assertion" +require "capybara/screenshot/diff/drivers" +require "capybara/screenshot/diff/image_compare" +require "capybara/screenshot/diff/screenshot_matcher" +require "capybara/screenshot/diff/screenshot_namer_dsl" +require "capybara_screenshot_diff/screenshot_assertion" module CapybaraScreenshotDiff + # DSL for taking screenshots and making assertions in Capybara tests. + # This module provides methods for taking screenshots, comparing them against baselines, + # and managing the comparison process with various configuration options. + # + # The DSL is designed to be included in your test context (e.g., RSpec, Minitest) + # to provide screenshot comparison capabilities. module DSL include Capybara::DSL - include Capybara::Screenshot::Diff::TestMethods + include Capybara::Screenshot::Diff::ScreenshotNamerDSL - alias_method :_screenshot, :screenshot - def screenshot(name, **args) - assertion = CapybaraScreenshotDiff::ScreenshotAssertion.new(name, **args) { _screenshot(name, **args) } - CapybaraScreenshotDiff.add_assertion(assertion) + # Takes a screenshot and optionally compares it against a baseline image. + # + # The method follows a layered optimization strategy for comparison: + # 1. First checks if screenshot functionality is active + # 2. Builds a full screenshot name using the current context + # 3. Creates a screenshot assertion object + # 4. Either validates immediately or defers validation based on options + # + # @param name [String] The base name of the screenshot, used to generate the filename. + # @param skip_stack_frames [Integer] The number of stack frames to skip when reporting errors. + # @param options [Hash] Additional options for taking the screenshot and comparison. + # @option options [Boolean] :delayed (Capybara::Screenshot::Diff.delayed) + # Whether to validate the screenshot immediately or delay validation. + # @option options [Array] :crop [x, y, width, height] Area to crop the screenshot to. + # @option options [Array>] :skip_area Array of [x, y, width, height] areas to ignore. + # @option options [Numeric] :tolerance (0.001 for :vips driver) Color tolerance for comparison. + # @option options [Numeric] :color_distance_limit Maximum allowed color distance between pixels. + # @option options [Numeric] :shift_distance_limit Maximum allowed shift distance for pixels. + # @option options [Numeric] :area_size_limit Maximum allowed difference area size in pixels. + # @option options [Symbol] :driver (:auto) The image processing driver to use (:auto, :chunky_png, :vips). + # @return [Boolean] True if the screenshot was successfully captured and processed. + # @raise [CapybaraScreenshotDiff::ExpectationNotMet] If comparison fails and immediate validation is enabled. + # @raise [CapybaraScreenshotDiff::UnstableImage] If the image comparison is unstable. + # @raise [CapybaraScreenshotDiff::WindowSizeMismatchError] If the window size doesn't match expectations. + def screenshot(name, skip_stack_frames: 0, **options) + return false unless Capybara::Screenshot.active? + + # Get the full name with section and group information + full_name = CapybaraScreenshotDiff.screenshot_namer.full_name(name) + + # Build the screenshot assertion + assertion = build_screenshot_assertion(full_name, options, skip_stack_frames: skip_stack_frames + 1) + + return false unless assertion + + # Determine if validation should be delayed or immediate + delayed = options.fetch(:delayed, Capybara::Screenshot::Diff.delayed) + + if delayed + CapybaraScreenshotDiff.add_assertion(assertion) + else + assertion.validate! + end + + true + end + + # Alias for backward compatibility with older test suites. + # @see #screenshot + alias_method :assert_matches_screenshot, :screenshot + + private + + # Builds a screenshot assertion object that can be validated immediately or later. + # + # This method constructs a screenshot assertion that encapsulates the comparison logic. + # The actual comparison is deferred until {ScreenshotAssertion#validate!} is called. + # + # @param name [String] The full name of the screenshot, including any section/group context. + # @param options [Hash] Options for screenshot taking and comparison. + # See {#screenshot} for available options. + # @param skip_stack_frames [Integer] Number of stack frames to skip for error reporting. + # @return [ScreenshotAssertion, nil] The assertion object or nil if no assertion is needed. + # @see ScreenshotAssertion + def build_screenshot_assertion(name, options, skip_stack_frames: 0) + Capybara::Screenshot::Diff::ScreenshotMatcher + .new(name, options) + .build_screenshot_assertion(skip_stack_frames: skip_stack_frames + 1) end end end diff --git a/lib/capybara_screenshot_diff/error_with_filtered_backtrace.rb b/lib/capybara_screenshot_diff/error_with_filtered_backtrace.rb new file mode 100644 index 00000000..092c8e05 --- /dev/null +++ b/lib/capybara_screenshot_diff/error_with_filtered_backtrace.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +require "capybara_screenshot_diff/backtrace_filter" + +module CapybaraScreenshotDiff + # @private + class ErrorWithFilteredBacktrace < StandardError + # @private + def initialize(message = nil, backtrace = []) + super(message) + filter = BacktraceFilter.new + set_backtrace(filter.filtered(backtrace)) + end + end +end diff --git a/lib/capybara_screenshot_diff/minitest.rb b/lib/capybara_screenshot_diff/minitest.rb index 88e748b8..fc35b5f1 100644 --- a/lib/capybara_screenshot_diff/minitest.rb +++ b/lib/capybara_screenshot_diff/minitest.rb @@ -22,7 +22,7 @@ module Assertions def screenshot(*args, skip_stack_frames: 0, **opts) self.assertions += 1 - super(*args, skip_stack_frames: skip_stack_frames + 3, **opts) + super(*args, skip_stack_frames: skip_stack_frames + 1, **opts) rescue ::CapybaraScreenshotDiff::ExpectationNotMet => e raise ::Minitest::Assertion, e.message end @@ -39,7 +39,7 @@ def before_teardown CapybaraScreenshotDiff.verify rescue CapybaraScreenshotDiff::ExpectationNotMet => e assertion = ::Minitest::Assertion.new(e) - assertion.set_backtrace [] + assertion.set_backtrace(e.backtrace) failures << assertion ensure CapybaraScreenshotDiff.reset diff --git a/lib/capybara_screenshot_diff/rspec.rb b/lib/capybara_screenshot_diff/rspec.rb index b3f086bc..65a605c7 100644 --- a/lib/capybara_screenshot_diff/rspec.rb +++ b/lib/capybara_screenshot_diff/rspec.rb @@ -27,7 +27,7 @@ begin CapybaraScreenshotDiff.verify rescue CapybaraScreenshotDiff::ExpectationNotMet => e - raise RSpec::Expectations::ExpectationNotMetError, e.message + raise RSpec::Expectations::ExpectationNotMetError.new(e.message).tap { |ex| ex.set_backtrace(e.backtrace) } ensure CapybaraScreenshotDiff.reset end diff --git a/lib/capybara_screenshot_diff/screenshot_assertion.rb b/lib/capybara_screenshot_diff/screenshot_assertion.rb index 6b33505b..ea3380cf 100644 --- a/lib/capybara_screenshot_diff/screenshot_assertion.rb +++ b/lib/capybara_screenshot_diff/screenshot_assertion.rb @@ -30,6 +30,14 @@ def validate self.class.assert_image_not_changed(caller, name, compare) end + def validate! + error_msg = validate + + if error_msg + raise CapybaraScreenshotDiff::ExpectationNotMet.new(error_msg, caller) + end + end + # Verifies that all scheduled screenshots do not show any unintended differences. # # @param screenshots [Array(Array(Array(String), String, ImageCompare))] The list of match screenshots jobs. Defaults to all screenshots taken during the test. @@ -73,10 +81,11 @@ def self.assert_image_not_changed(backtrace, name, comparison) end class AssertionRegistry - attr_reader :assertions + attr_reader :assertions, :screenshot_namer def initialize @assertions = [] + @screenshot_namer = CapybaraScreenshotDiff::ScreenshotNamer.new end def add_assertion(assertion) @@ -93,9 +102,15 @@ def assertions_present? end def verify(screenshots = CapybaraScreenshotDiff.assertions) + return unless ::Capybara::Screenshot.active? && ::Capybara::Screenshot::Diff.fail_on_difference + + failed_assertions = CapybaraScreenshotDiff.registry.failed_assertions + failed_screenshot = failed_assertions.first result = ScreenshotAssertion.verify_screenshots!(screenshots) - raise CapybaraScreenshotDiff::ExpectationNotMet, result.join("\n\n") if result + if result + raise CapybaraScreenshotDiff::ExpectationNotMet.new(result.join("\n\n"), failed_screenshot.caller) + end end def failed_assertions @@ -104,6 +119,7 @@ def failed_assertions def reset @assertions.clear + @screenshot_namer = CapybaraScreenshotDiff::ScreenshotNamer.new end end end @@ -122,6 +138,7 @@ def registry def_delegator :registry, :assertions_present? def_delegator :registry, :failed_assertions def_delegator :registry, :reset + def_delegator :registry, :screenshot_namer def_delegator :registry, :verify end end diff --git a/lib/capybara_screenshot_diff/screenshot_namer.rb b/lib/capybara_screenshot_diff/screenshot_namer.rb new file mode 100644 index 00000000..aaa70c92 --- /dev/null +++ b/lib/capybara_screenshot_diff/screenshot_namer.rb @@ -0,0 +1,88 @@ +# frozen_string_literal: true + +require "fileutils" +require "pathname" + +module CapybaraScreenshotDiff + # Handles the naming, path generation, and organization of screenshots. + # This class encapsulates logic related to screenshot sections, groups, + # and counters, providing a centralized way to determine screenshot filenames + # and directories. + class ScreenshotNamer + attr_reader :section, :group + + def initialize(screenshot_area = nil) + @section = nil + @group = nil + @counter = nil + @screenshot_area = screenshot_area + end + + def screenshot_area + @screenshot_area ||= Capybara::Screenshot.screenshot_area + end + + # Sets the current section for screenshots. + # @param name [String, nil] The name of the section. + def section=(name) + @section = name&.to_s + reset_group_counter + end + + # Sets the current group for screenshots and resets the counter. + # @param name [String, nil] The name of the group. + def group=(name) + @group = name&.to_s + reset_group_counter + end + + # Builds the full, unique name for a screenshot, including any counter. + # @param base_name [String] The base name for the screenshot. + # @return [String] The full screenshot name. + def full_name(base_name) + name = base_name.to_s + + if @counter + name = format("%02i_%s", @counter, name) + @counter += 1 + end + + File.join(*directory_parts.push(name.to_s)) + end + + # Builds the full path for a screenshot file, including section and group directories. + # @param base_name [String] The base name for the screenshot. + # @return [String] The absolute path for the screenshot file. + def full_name_with_path(base_name) + File.join(screenshot_area, full_name(base_name)) + end + + # Returns the directory parts (section and group) for constructing paths. + # @return [Array] An array of directory names. + def directory_parts + parts = [] + parts << @section unless @section.nil? || @section.empty? + parts << @group unless @group.nil? || @group.empty? + parts + end + + # Calculates the directory path for the current section and group. + # @return [String] The full path to the directory. + def current_group_directory + File.join(*([screenshot_area] + directory_parts)) + end + + # Clears the directory for the current screenshot group. + # This is typically used when starting a new group to remove old screenshots. + def clear_current_group_directory + dir_to_clear = current_group_directory + FileUtils.rm_rf(dir_to_clear) if Dir.exist?(dir_to_clear) + end + + private + + def reset_group_counter + @counter = (@group.nil? || @group.empty?) ? nil : 0 + end + end +end diff --git a/lib/capybara_screenshot_diff/snap.rb b/lib/capybara_screenshot_diff/snap.rb index cbc95696..1c3196bc 100644 --- a/lib/capybara_screenshot_diff/snap.rb +++ b/lib/capybara_screenshot_diff/snap.rb @@ -49,7 +49,7 @@ def cleanup_attempts end def find_attempts_paths - Dir[@manager.abs_path_for "**/#{full_name}.attempt_*.#{format}"] + Dir[@manager.abs_path_for("**/#{full_name}.attempt_[0-9][0-9].#{format}")] end end end diff --git a/lib/capybara_screenshot_diff/snap_manager.rb b/lib/capybara_screenshot_diff/snap_manager.rb index 0a75c98d..6e14bff1 100644 --- a/lib/capybara_screenshot_diff/snap_manager.rb +++ b/lib/capybara_screenshot_diff/snap_manager.rb @@ -11,10 +11,13 @@ class SnapManager def initialize(root) @root = Pathname.new(root) + @snapshots = Set.new end def snapshot(screenshot_full_name, screenshot_format = "png") - Snap.new(screenshot_full_name, screenshot_format, manager: self) + Snap.new(screenshot_full_name, screenshot_format, manager: self).tap do |snapshot| + @snapshots << snapshot + end end def self.snapshot(screenshot_full_name, screenshot_format = "png") @@ -42,7 +45,10 @@ def create_output_directory_for(path = nil) # TODO: rename to delete! def cleanup! - FileUtils.rm_rf root, secure: true + snapshots.each do |snapshot| + cleanup_attempts!(snapshot) + snapshot.delete! + end end def self.cleanup! @@ -61,6 +67,8 @@ def screenshots root.children.map { |f| f.basename.to_s } end + attr_reader :snapshots + def self.screenshots instance.screenshots end diff --git a/test/capybara/screenshot/diff/comparison_loader_test.rb b/test/capybara/screenshot/diff/comparison_loader_test.rb new file mode 100644 index 00000000..b6a872c1 --- /dev/null +++ b/test/capybara/screenshot/diff/comparison_loader_test.rb @@ -0,0 +1,37 @@ +# frozen_string_literal: true + +require "test_helper" +require_relative "test_doubles" + +module Capybara + module Screenshot + module Diff + class ComparisonLoaderTest < ActionDispatch::IntegrationTest + include CapybaraScreenshotDiff::DSLStub + include TestDoubles + + test "loads images and applies preprocessing" do + # Setup + base_path = Pathname.new("base/path.png") + new_path = Pathname.new("new/path.png") + options = {tolerance: 0.01} + + raw_images = [:raw_base_image, :raw_new_image] + + driver = TestDriver.new(false, raw_images) + + # Action + loader = ComparisonLoader.new(driver) + comparison = loader.call(base_path, new_path, options) + + # Verify the comparison object + assert_kind_of Comparison, comparison + assert_equal raw_images[1], comparison.new_image + assert_equal raw_images[0], comparison.base_image + assert_equal options, comparison.options + assert_equal driver, comparison.driver + end + end + end + end +end diff --git a/test/capybara/screenshot/diff/difference_finder_test.rb b/test/capybara/screenshot/diff/difference_finder_test.rb new file mode 100644 index 00000000..204c8ed5 --- /dev/null +++ b/test/capybara/screenshot/diff/difference_finder_test.rb @@ -0,0 +1,135 @@ +# frozen_string_literal: true + +require "test_helper" +require_relative "test_doubles" + +module Capybara + module Screenshot + module Diff + class DifferenceFinderTest < ActionDispatch::IntegrationTest + include CapybaraScreenshotDiff::DSLStub + include TestDoubles + + def setup + @base_path = TestPath.new(12345) + @new_path = TestPath.new(54321) # Different size + @driver = TestDriver.new(false) + + # Create a test comparison with paths directly + @comparison = TestComparison.new + @comparison.base_image_path = @base_path + @comparison.new_image_path = @new_path + end + + def create_difference_factory + lambda do |comparison, failed_by = nil| + @factory_calls ||= [] + @factory_calls << {comparison: comparison, failed_by: failed_by} + + if failed_by + :dimension_difference_result + else + :no_difference_result + end + end + end + + test "when dimensions are the same and pixels are the same then returns true in quick mode" do + # Setup + @driver.same_dimension_result = true + @driver.same_pixels_result = true + + # Action + finder = DifferenceFinder.new(@driver, {}) + result, difference = finder.call(@comparison, quick_mode: true) + + # Verify + assert result + refute_nil difference + assert_equal 1, @driver.dimension_check_calls.size + assert_equal 1, @driver.pixel_check_calls.size + end + + test "when dimensions differ then returns a difference with failed dimensions" do + # Setup + @driver.same_dimension_result = false + + # Action + finder = DifferenceFinder.new(@driver, {}) + result = finder.call(@comparison, quick_mode: false) + + # Verify + assert_instance_of Difference, result + assert result.failed? + assert_equal 1, @driver.dimension_check_calls.size + assert_equal 0, @driver.pixel_check_calls.size + end + + test "when pixels are the same then returns no difference" do + # Setup + @driver.same_dimension_result = true + @driver.same_pixels_result = true + + # Action + finder = DifferenceFinder.new(@driver, {}) + result = finder.call(@comparison, quick_mode: false) + + # Verify + assert_instance_of Difference, result + assert result.equal? + assert_equal 1, @driver.dimension_check_calls.size + assert_equal 1, @driver.pixel_check_calls.size + end + + test "when pixels differ then checks difference region" do + # Setup + @driver.same_dimension_result = true + @driver.same_pixels_result = false + test_difference = TestDifference.new(true) # It is different + @driver.difference_region_result = test_difference + + # Action + finder = DifferenceFinder.new(@driver, {}) + result = finder.call(@comparison, quick_mode: false) + + # Verify + assert_equal test_difference, result + assert_equal 1, @driver.difference_region_calls.size + end + + test "when in quick mode returns array with comparison result and difference" do + # Setup + @driver.same_dimension_result = true + @driver.same_pixels_result = false + test_difference = TestDifference.new(false) # Not different (within tolerance) + @driver.difference_region_result = test_difference + + # Action + finder = DifferenceFinder.new(@driver, {tolerance: 0.01}) + result, difference = finder.call(@comparison, quick_mode: true) + + # Verify + assert result # Not different == true equality + assert_equal test_difference, difference + end + + test "when comparison has no tolerable options in quick mode, returns early" do + # Setup + @driver.same_dimension_result = true + @driver.same_pixels_result = false + + # Action + finder = DifferenceFinder.new(@driver, {}) + result, difference = finder.call(@comparison, quick_mode: true) + + # Verify + refute result # Different == false equality + assert_nil difference # Quick mode with no tolerance returns nil difference + assert_equal 1, @driver.dimension_check_calls.size + assert_equal 1, @driver.pixel_check_calls.size + assert_equal 0, @driver.difference_region_calls.size # Should not process difference region + end + end + end + end +end diff --git a/test/capybara/screenshot/diff/drivers/chunky_png_driver_test.rb b/test/capybara/screenshot/diff/drivers/chunky_png_driver_test.rb index 7d114639..e2f65136 100644 --- a/test/capybara/screenshot/diff/drivers/chunky_png_driver_test.rb +++ b/test/capybara/screenshot/diff/drivers/chunky_png_driver_test.rb @@ -9,7 +9,7 @@ module Screenshot module Diff module Drivers class ChunkyPNGDriverTest < ActionDispatch::IntegrationTest - include TestMethodsStub + include CapybaraScreenshotDiff::DSLStub teardown do FileUtils.rm Dir["#{Rails.root}/screenshot*.png"] @@ -146,7 +146,8 @@ class ChunkyPNGDriverTest < ActionDispatch::IntegrationTest private def make_comparison(old_img, new_img, options = {}) - super(old_img, new_img, **options.merge(driver: :chunky_png)) + snap = create_snapshot_for(old_img, new_img) + ImageCompare.new(snap.path, snap.base_path, **options) end def sample_region diff --git a/test/capybara/screenshot/diff/drivers/vips_driver_test.rb b/test/capybara/screenshot/diff/drivers/vips_driver_test.rb index ea9636fa..7a23c927 100644 --- a/test/capybara/screenshot/diff/drivers/vips_driver_test.rb +++ b/test/capybara/screenshot/diff/drivers/vips_driver_test.rb @@ -14,7 +14,7 @@ module Screenshot module Diff module Drivers class VipsDriverTest < ActionDispatch::IntegrationTest - include TestMethodsStub + include CapybaraScreenshotDiff::DSLStub setup do @new_screenshot_result = Tempfile.new(%w[screenshot .png], Rails.root) diff --git a/test/capybara/screenshot/diff/image_compare_refactor_test.rb b/test/capybara/screenshot/diff/image_compare_refactor_test.rb new file mode 100644 index 00000000..8f2cc1e0 --- /dev/null +++ b/test/capybara/screenshot/diff/image_compare_refactor_test.rb @@ -0,0 +1,46 @@ +# frozen_string_literal: true + +require "test_helper" +require "minitest/stub_const" +require_relative "test_doubles" + +module Capybara + module Screenshot + module Diff + class ImageCompareRefactorTest < ActionDispatch::IntegrationTest + include CapybaraScreenshotDiff::DSLStub + include TestDoubles + + test "when comparing identical images then quick_equal? returns true and different? returns false" do + # Setup + comparison = make_comparison(:a, :a) + + # Action & Verify + assert_predicate comparison, :quick_equal? + assert_not_predicate comparison, :different? + end + + test "when comparing different images then quick_equal? returns false and different? returns true" do + # Setup + comparison = make_comparison(:a, :b) + + # Action & Verify + assert_not_predicate comparison, :quick_equal? + assert_predicate comparison, :different? + end + + test "when images have different dimensions then dimensions_changed? returns true" do + # Setup + comparison = make_comparison(:portrait, :a) + + # Action + comparison.processed + + # Verify + assert_predicate comparison, :dimensions_changed? + assert_kind_of Reporters::Default, comparison.reporter + end + end + end + end +end diff --git a/test/capybara/screenshot/diff/image_compare_test.rb b/test/capybara/screenshot/diff/image_compare_test.rb index 88df28fa..95a2b71b 100644 --- a/test/capybara/screenshot/diff/image_compare_test.rb +++ b/test/capybara/screenshot/diff/image_compare_test.rb @@ -13,21 +13,21 @@ module Capybara module Screenshot module Diff class ImageCompareTest < ActionDispatch::IntegrationTest - include TestMethodsStub + include CapybaraScreenshotDiff::DSLStub test "it can be instantiated with chunky_png driver" do - comparison = ImageCompare.new("images/b.png", "images/b.base.png") + comparison = make_comparison(:b) assert_kind_of Drivers::ChunkyPNGDriver, comparison.driver end test "it can be instantiated with explicit chunky_png adapter" do - comparison = ImageCompare.new("images/b.png", "images/b.base.png", driver: :chunky_png) + comparison = make_comparison(:b, driver: :chunky_png) assert_kind_of Drivers::ChunkyPNGDriver, comparison.driver end test "it can be instantiated with vips adapter" do skip "VIPS not present. Skipping VIPS driver tests." unless defined?(Vips) - comparison = ImageCompare.new("images/b.png", "images/b.base.png", driver: :vips) + comparison = make_comparison(:b, driver: :vips) assert_kind_of Drivers::VipsDriver, comparison.driver end @@ -60,30 +60,35 @@ class ImageCompareTest < ActionDispatch::IntegrationTest end test "could pass use tolerance for chunky_png driver" do - assert ImageCompare.new("images/b.png", "images/b.base.png", driver: :chunky_png, tolerance: 0.02) + comp = make_comparison(:a, :b, driver: :chunky_png, tolerance: 0.02) + assert comp.quick_equal? + assert_not comp.different? end test "it can be instantiated with dimensions" do - assert ImageCompare.new("images/b.png", "images/b.base.png", dimensions: [80, 80]) + comp = make_comparison(:b, dimensions: [80, 80]) + assert comp.quick_equal? + assert_not comp.different? end test "for driver: :auto returns first from available drivers" do skip "VIPS not present. Skipping VIPS driver tests." unless defined?(Vips) - comparison = ImageCompare.new("images/b.png", "images/b.base.png", driver: :auto) + comparison = make_comparison(:b, driver: :auto) assert_kind_of Drivers::VipsDriver, comparison.driver end test "for driver: :auto raise error if no drivers are available" do Capybara::Screenshot::Diff.stub_const(:AVAILABLE_DRIVERS, []) do assert_raise(RuntimeError) do - ImageCompare.new("images/b.png", "images/b.base.png", driver: :auto) + comparison = make_comparison(:b, driver: :auto) + assert comparison.quick_equal? end end end end class IntegrationRegressionTest < ActionDispatch::IntegrationTest - include TestMethodsStub + include CapybaraScreenshotDiff::DSLStub AVAILABLE_DRIVERS = [{}, {driver: :chunky_png}] diff --git a/test/capybara/screenshot/diff/image_preprocessor_test.rb b/test/capybara/screenshot/diff/image_preprocessor_test.rb new file mode 100644 index 00000000..4907c935 --- /dev/null +++ b/test/capybara/screenshot/diff/image_preprocessor_test.rb @@ -0,0 +1,111 @@ +# frozen_string_literal: true + +require "test_helper" +require_relative "test_doubles" + +module Capybara + module Screenshot + module Diff + class ImagePreprocessorTest < ActionDispatch::IntegrationTest + include CapybaraScreenshotDiff::DSLStub + include TestDoubles + + def setup + @test_images = [:base_image, :new_image] + end + + test "when no preprocessing options are provided then returns original images unchanged" do + # Setup + driver = TestDriver.new(false) + options = {} + + # Action + preprocessor = ImagePreprocessor.new(driver, options) + result = preprocessor.call(@test_images) + + # Verify + assert_equal @test_images, result + assert_empty driver.add_black_box_calls + assert_empty driver.filter_calls + end + + test "when skip_area is specified then applies black box to that region" do + # Setup + driver = TestDriver.new(false) + skip_area = [{x: 10, y: 20, width: 30, height: 40}] + options = {skip_area: skip_area} + + # Action + preprocessor = ImagePreprocessor.new(driver, options) + result = preprocessor.call(@test_images) + + # Verify + assert_equal %w[processed_base_image processed_new_image], result + + assert_equal 2, driver.add_black_box_calls.size + + first_call = driver.add_black_box_calls[0] + second_call = driver.add_black_box_calls[1] + + assert_equal skip_area.first, first_call[:region] + assert_equal skip_area.first, second_call[:region] + assert_equal :base_image, first_call[:image] + assert_equal :new_image, second_call[:image] + end + + test "when median filter is specified with VipsDriver then applies filter to images" do + skip "VIPS not present. Skipping VIPS driver tests." unless defined?(Vips) + + # Setup + driver = TestDriver.new(true) # true = is a VipsDriver + window_size = 3 + options = {median_filter_window_size: window_size} + + # Action + preprocessor = ImagePreprocessor.new(driver, options) + result = preprocessor.call(@test_images) + + # Verify + assert_equal ["filtered_base_image", "filtered_new_image"], result + + assert_equal 2, driver.filter_calls.size + + first_call = driver.filter_calls[0] + second_call = driver.filter_calls[1] + + assert_equal window_size, first_call[:size] + assert_equal window_size, second_call[:size] + assert_equal :base_image, first_call[:image] + assert_equal :new_image, second_call[:image] + end + + test "when median filter is specified with non-VipsDriver then issues warning and returns original images" do + # Setup + driver = TestDriver.new(false) # false = is not a VipsDriver + window_size = 3 + options = { + median_filter_window_size: window_size, + image_path: "some/path.png" + } + + # Set up a warning expectation + expected_warning = /Median filter has been skipped for.*because it is not supported/ + + # Action with warning capture + preprocessor = ImagePreprocessor.new(driver, options) + + warning_output = capture_io do + result = preprocessor.call(@test_images) + + # Verify images unchanged + assert_equal @test_images, result + assert_empty driver.filter_calls + end + + # Verify warning + assert_match expected_warning, warning_output.join + end + end + end + end +end diff --git a/test/capybara/screenshot/diff/screenshoter_test.rb b/test/capybara/screenshot/diff/screenshoter_test.rb index ad534ac3..0c76ae2c 100644 --- a/test/capybara/screenshot/diff/screenshoter_test.rb +++ b/test/capybara/screenshot/diff/screenshoter_test.rb @@ -6,8 +6,8 @@ module Capybara module Screenshot class ScreenshoterTest < ActionDispatch::IntegrationTest - include Diff::TestMethods - include Diff::TestMethodsStub + include CapybaraScreenshotDiff::DSL + include CapybaraScreenshotDiff::DSLStub test "#take_screenshot without wait skips image loading" do screenshoter = Screenshoter.new({wait: nil}, ::Minitest::Mock.new) diff --git a/test/capybara/screenshot/diff/stable_screenshoter_test.rb b/test/capybara/screenshot/diff/stable_screenshoter_test.rb index 0cbc6399..26f4001d 100644 --- a/test/capybara/screenshot/diff/stable_screenshoter_test.rb +++ b/test/capybara/screenshot/diff/stable_screenshoter_test.rb @@ -6,7 +6,7 @@ module Capybara module Screenshot module Diff class StableScreenshoterTest < ActionDispatch::IntegrationTest - include TestMethodsStub + include CapybaraScreenshotDiff::DSLStub setup do @manager = CapybaraScreenshotDiff::SnapManager.new(Capybara::Screenshot.root / "stable_screenshoter_test") @@ -57,7 +57,7 @@ class StableScreenshoterTest < ActionDispatch::IntegrationTest assert_not_predicate snap.path, :exist? ImageCompare.stub :new, mock do - StableScreenshoter + Capybara::Screenshot::Diff::StableScreenshoter .new({stability_time_limit: 0.5, wait: 1}, image_compare_stub.driver_options) .take_comparison_screenshot(snap) end @@ -93,7 +93,7 @@ class StableScreenshoterTest < ActionDispatch::IntegrationTest assert_raises CapybaraScreenshotDiff::UnstableImage, "Could not get stable screenshot within 1s" do ImageCompare.stub :new, mock do # Wait time is less then stability time, which will generate problem - StableScreenshoter + Capybara::Screenshot::Diff::StableScreenshoter .new({stability_time_limit: 0.5, wait: 1}, build_image_compare_stub(equal: false).driver_options) .take_comparison_screenshot(snap) end diff --git a/test/capybara/screenshot/diff/test_doubles.rb b/test/capybara/screenshot/diff/test_doubles.rb new file mode 100644 index 00000000..aa6cc1a1 --- /dev/null +++ b/test/capybara/screenshot/diff/test_doubles.rb @@ -0,0 +1,155 @@ +# frozen_string_literal: true + +module Capybara + module Screenshot + module Diff + module TestDoubles + # Test double for file paths with configurable size and existence + class TestPath + attr_reader :size_value + + # Initialize a path with a size value and existence flag + # @param size_value [Integer] The size of the file + # @param exists [Boolean] Whether the file exists, defaults to true + def initialize(size_value, exists = true) + @size_value = size_value + @exists = exists + end + + def size + @size_value + end + + def exist? + @exists + end + end + + # Test double for image drivers with configurable behavior + class TestDriver + attr_reader :add_black_box_calls, :filter_calls, :dimension_check_calls, :pixel_check_calls, :difference_region_calls, :load_images_called, :load_images_args + attr_accessor :same_dimension_result, :same_pixels_result, :difference_region_result, :images_to_return + + # Initializes a new TestDriver + # @param is_vips_driver [Boolean] whether this driver should behave like a VipsDriver + # @param images_to_return [Array] images to return from load_images method + def initialize(is_vips_driver = false, images_to_return = nil) + @is_vips_driver = is_vips_driver + @images_to_return = images_to_return || [:base_image, :new_image] + @add_black_box_calls = [] + @filter_calls = [] + @dimension_check_calls = [] + @pixel_check_calls = [] + @difference_region_calls = [] + @load_images_called = false + @load_images_args = nil + @same_dimension_result = true + @same_pixels_result = true + @difference_region_result = nil + end + + def is_a?(klass) + return @is_vips_driver if klass == Drivers::VipsDriver + super + end + + def add_black_box(image, region) + @add_black_box_calls << {image: image, region: region} + "processed_#{image}" + end + + def filter_image_with_median(image, size) + @filter_calls << {image: image, size: size} + # Return the filtered image, converting to the expected format + "filtered_#{image}" + end + + def same_dimension?(comparison) + @dimension_check_calls << comparison + @same_dimension_result + end + + def same_pixels?(comparison) + @pixel_check_calls << comparison + @same_pixels_result + end + + def find_difference_region(comparison) + @difference_region_calls << comparison + @difference_region_result + end + + def load_images(base_path, new_path) + @load_images_called = true + @load_images_args = [base_path, new_path] + @images_to_return + end + + def supports?(...) + @is_vips_driver + end + + # Return Object to avoid infinite recursion + def class + Object + end + end + + # Test double for image preprocessors + class TestPreprocessor + attr_reader :call_called, :call_args, :process_comparison_called, :process_comparison_args, :processed_images + + def initialize(processed_images) + @processed_images = processed_images + @call_called = false + @call_args = nil + @process_comparison_called = false + @process_comparison_args = nil + end + + def call(images) + @call_called = true + @call_args = images + processed_images + end + + # Process a comparison object directly + # Mirrors the implementation in ImagePreprocessor + def process_comparison(comparison) + @process_comparison_called = true + @process_comparison_args = comparison + comparison + end + end + + # Test double for difference results + class TestDifference + attr_reader :different_value + + def initialize(different_value) + @different_value = different_value + end + + def different? + @different_value + end + end + + # Simple test double for comparison objects + class TestComparison + attr_reader :new_image, :base_image, :options, :driver + attr_accessor :new_image_path, :base_image_path + + def initialize(options = {}) + @new_image = options[:new_image] + @base_image = options[:base_image] + @options = options[:options] || {} + @driver = options[:driver] + @new_image_path = options[:new_image_path] || options[:image_path] + @base_image_path = options[:base_image_path] + end + end + end + end + end +end diff --git a/test/capybara/screenshot/diff/test_methods_test.rb b/test/capybara/screenshot/diff/test_methods_test.rb deleted file mode 100644 index b8a2d474..00000000 --- a/test/capybara/screenshot/diff/test_methods_test.rb +++ /dev/null @@ -1,124 +0,0 @@ -# frozen_string_literal: true - -require "test_helper" -require "capybara_screenshot_diff/screenshot_assertion" - -module Capybara - module Screenshot - module Diff - class TestMethodsTest < ActionDispatch::IntegrationTest - include TestMethods - include TestMethodsStub - - test "raise error on missing screenshot when fail_if_new is true" do - Vcs.stub(:checkout_vcs, false) do - Capybara::Screenshot::Diff.stub(:fail_if_new, true) do - assert_raises CapybaraScreenshotDiff::ExpectationNotMet, match: /No existing screenshot found for/ do - screenshot "not_existing_screenshot-name" - end - end - end - end - - def test_assert_image_not_changed - message = assert_image_not_changed(["my_test.rb:42"], "name", make_comparison(:a, :c)) - value = (RUBY_VERSION >= "2.4") ? 187.4 : 188 - assert_equal <<-MSG.strip_heredoc.chomp, message - Screenshot does not match for 'name': ({"area_size":629,"region":[11,3,48,20],"max_color_distance":#{value}}) - #{Rails.root}/doc/screenshots/screenshot.png - #{Rails.root}/doc/screenshots/screenshot.base.diff.png - #{Rails.root}/doc/screenshots/screenshot.diff.png - my_test.rb:42 - MSG - end - - def test_assert_image_not_changed_with_shift_distance_limit - message = assert_image_not_changed( - ["my_test.rb:42"], - "name", - make_comparison(:a, :c, shift_distance_limit: 1, driver: :chunky_png) - ) - value = (RUBY_VERSION >= "2.4") ? 5.0 : 5 - assert_equal <<-MSG.strip_heredoc.chomp, message - Screenshot does not match for 'name': ({"area_size":629,"region":[11,3,48,20],"max_color_distance":#{value},"max_shift_distance":15}) - #{Rails.root}/doc/screenshots/screenshot.png - #{Rails.root}/doc/screenshots/screenshot.base.diff.png - #{Rails.root}/doc/screenshots/screenshot.diff.png - my_test.rb:42 - MSG - end - - def test_screenshot_support_drivers_options - skip "vips is disabled" unless defined?(Capybara::Screenshot::Diff::Drivers::VipsDriverTest) - assert_not screenshot("a", driver: :vips) - end - - def assert_no_screenshot_jobs_scheduled - assert_not_predicate CapybaraScreenshotDiff.registry, :assertions_present? - end - - def test_skip_stack_frames - Vcs.stub(:checkout_vcs, true) do - assert_no_screenshot_jobs_scheduled - make_comparison(:a, :c, destination: "a.png") - - our_screenshot("a", 0) - assert_equal 1, CapybaraScreenshotDiff.assertions.size - assert_match(/our_screenshot'/, CapybaraScreenshotDiff.assertions[0].caller.first) - assert_equal "a", CapybaraScreenshotDiff.assertions[0].name - - our_screenshot("a", 1) - assert_equal 2, CapybaraScreenshotDiff.assertions.size - assert_match( - %r{/test_methods_test.rb:.*?test_skip_stack_frames}, - CapybaraScreenshotDiff.assertions[1].caller.first - ) - assert_equal "a", CapybaraScreenshotDiff.assertions[1].name - end - end - - def test_inline_screenshot_assertion_validation - Vcs.stub(:checkout_vcs, true) do - Capybara::Screenshot::Diff.stub(:delayed, false) do - make_comparison(:a, :b, destination: "a.png") - screenshot("a") - end - end - end - - def test_skip_area_and_stability_time_limit - assert_not screenshot(:a, skip_area: [0, 0, 1, 1], stability_time_limit: 0.01) - end - - def test_creates_new_screenshot - screenshot(:c) - - snap = CapybaraScreenshotDiff::SnapManager.snapshot("c") - assert_predicate snap.path, :exist? - end - - def test_cleanup_base_image_for_no_change - comparison = make_comparison(:a, :a) - assert_image_not_changed(["my_test.rb:42"], "name", comparison) - assert_not comparison.base_image_path.exist? - end - - def test_cleanup_base_image_for_changes - comparison = make_comparison(:a, :b) - assert_image_not_changed(["my_test.rb:42"], "name", comparison) - assert_not comparison.base_image_path.exist? - end - - private - - def our_screenshot(name, skip_stack_frames) - screenshot(name, skip_stack_frames: skip_stack_frames) - end - - def assert_image_not_changed(*) - CapybaraScreenshotDiff::ScreenshotAssertion.assert_image_not_changed(*) - end - end - end - end -end diff --git a/test/capybara/screenshot/diff_test.rb b/test/capybara/screenshot/diff_test.rb index a9d0fc6e..0f156d13 100644 --- a/test/capybara/screenshot/diff_test.rb +++ b/test/capybara/screenshot/diff_test.rb @@ -24,10 +24,10 @@ class DiffTest < ActionDispatch::IntegrationTest include Capybara::Screenshot::Diff include CapybaraScreenshotDiff::Minitest::Assertions - include Diff::TestMethodsStub + include CapybaraScreenshotDiff::DSLStub teardown do - CapybaraScreenshotDiff::SnapManager.cleanup! + CapybaraScreenshotDiff::SnapManager.cleanup! unless persist_comparisons? CapybaraScreenshotDiff.reset Capybara::Screenshot.add_driver_path = @orig_add_driver_path @@ -41,24 +41,27 @@ def test_that_it_has_a_version_number end def test_screenshot_groups_are_replaced - assert_nil @screenshot_group + assert_nil screenshot_namer.group screenshot_group "a" - assert_equal "a", @screenshot_group + assert_equal "a", screenshot_namer.group screenshot_group "b" - assert_equal "b", @screenshot_group + assert_equal "b", screenshot_namer.group end def test_screenshot_section_is_prepended - assert_nil @screenshot_section - assert_nil @screenshot_group + assert_nil screenshot_namer.section + assert_nil screenshot_namer.group + screenshot_section "a" - assert_equal "a", @screenshot_section + assert_equal "a", screenshot_namer.section assert_match %r{doc/screenshots/(macos|linux)/rack_test/a}, screenshot_dir + screenshot_group "b" - assert_equal "b", @screenshot_group + assert_equal "b", screenshot_namer.group assert_match %r{doc/screenshots/(macos|linux)/rack_test/a/b}, screenshot_dir + screenshot_group "c" - assert_equal "c", @screenshot_group + assert_equal "c", screenshot_namer.group assert_match %r{doc/screenshots/(macos|linux)/rack_test/a/c}, screenshot_dir end @@ -78,9 +81,11 @@ def test_screenshot_section_is_prepended def test_screenshot_with_alternate_save_path default_path = Capybara::Screenshot.save_path Capybara::Screenshot.save_path = "foo/bar" + screenshot_section "a" screenshot_group "b" screenshot "a" + assert_match %r{foo/bar/(macos|linux)/rack_test/a/b}, screenshot_dir ensure Capybara::Screenshot.save_path = default_path @@ -99,7 +104,7 @@ def test_screenshot_with_stability_time_limit screenshot_group "b" assert_equal "b/00_a", build_full_name("a") screenshot_section "c" - assert_equal "c/b/01_a", build_full_name("a") + assert_equal "c/b/00_a", build_full_name("a") screenshot_group nil assert_equal "c/a", build_full_name("a") end @@ -143,12 +148,13 @@ class SampleMiniTestCase < ActionDispatch::IntegrationTest def _test_sample_screenshot_error mock = ::Minitest::Mock.new mock.expect(:different?, true) + mock.expect(:different?, true) mock.expect(:dimensions_changed?, false) mock.expect(:base_image_path, Pathname.new("screenshot.base.png")) mock.expect(:error_message, "expected error message") assertion = CapybaraScreenshotDiff::ScreenshotAssertion.from([["my_test.rb:42"], "sample_screenshot", mock]) - schedule_match_job(assertion) + CapybaraScreenshotDiff.add_assertion(assertion) assert true end @@ -175,13 +181,14 @@ def teardown def _test_sample_screenshot_error comparison = ::Minitest::Mock.new - comparison.expect(:different?, true) + comparison.expect(:different?, true) # to find backtrace + comparison.expect(:different?, true) # to find messages comparison.expect(:dimensions_changed?, false) comparison.expect(:base_image_path, Pathname.new("screenshot.base.png")) comparison.expect(:error_message, "expected error message for non minitest") assertion = CapybaraScreenshotDiff::ScreenshotAssertion.from([["my_test.rb:42"], "sample_screenshot", comparison]) - schedule_match_job(assertion) + CapybaraScreenshotDiff.add_assertion(assertion) end end @@ -191,7 +198,7 @@ class ScreenshotFormatTest < ActionDispatch::IntegrationTest end include Capybara::Screenshot::Diff - include Diff::TestMethodsStub + include CapybaraScreenshotDiff::DSLStub include CapybaraScreenshotDiff::Minitest::Assertions teardown do @@ -222,6 +229,18 @@ class ScreenshotFormatTest < ActionDispatch::IntegrationTest end end end + + def screenshot_dir + screenshot_namer.current_group_directory + end + + def screenshot_namer + CapybaraScreenshotDiff.screenshot_namer + end + + def build_full_name(name) + CapybaraScreenshotDiff.screenshot_namer.full_name(name) + end end end end diff --git a/test/capybara_screenshot_diff/dsl_test.rb b/test/capybara_screenshot_diff/dsl_test.rb new file mode 100644 index 00000000..ee843dd2 --- /dev/null +++ b/test/capybara_screenshot_diff/dsl_test.rb @@ -0,0 +1,143 @@ +# frozen_string_literal: true + +require "test_helper" +require "capybara_screenshot_diff" +require "capybara_screenshot_diff/screenshot_assertion" + +module CapybaraScreenshotDiff + class DSLTest < ActionDispatch::IntegrationTest + include CapybaraScreenshotDiff::DSL + include CapybaraScreenshotDiff::DSLStub + + test "raise error on missing screenshot when fail_if_new is true" do + Capybara::Screenshot::Diff::Vcs.stub(:checkout_vcs, false) do + Capybara::Screenshot::Diff.stub(:fail_if_new, true) do + assert_raises CapybaraScreenshotDiff::ExpectationNotMet, match: /No existing screenshot found for/ do + screenshot "not_existing_screenshot-name" + end + end + end + end + + def test_assert_image_not_changed + message = assert_image_not_changed(["my_test.rb:42"], "name", make_comparison(:a, :c, destination: "screenshot.png")) + value = (RUBY_VERSION >= "2.4") ? 187.4 : 188 + assert_equal <<~MSG.chomp, message + Screenshot does not match for 'name': ({"area_size":629,"region":[11,3,48,20],"max_color_distance":#{value}}) + #{Rails.root}/doc/screenshots/screenshot.png + #{Rails.root}/doc/screenshots/screenshot.base.diff.png + #{Rails.root}/doc/screenshots/screenshot.diff.png + #{Rails.root}/doc/screenshots/screenshot.heatmap.diff.png + my_test.rb:42 + MSG + end + + def test_assert_image_not_changed_with_shift_distance_limit + message = assert_image_not_changed( + ["my_test.rb:42"], + "name", + make_comparison(:a, :c, destination: "screenshot.png", shift_distance_limit: 1, driver: :chunky_png) + ) + value = (RUBY_VERSION >= "2.4") ? 5.0 : 5 + assert_equal <<~MSG.chomp, message + Screenshot does not match for 'name': ({"area_size":629,"region":[11,3,48,20],"max_color_distance":#{value},"max_shift_distance":15}) + #{Rails.root}/doc/screenshots/screenshot.png + #{Rails.root}/doc/screenshots/screenshot.base.diff.png + #{Rails.root}/doc/screenshots/screenshot.diff.png + #{Rails.root}/doc/screenshots/screenshot.heatmap.diff.png + my_test.rb:42 + MSG + end + + def test_screenshot_support_drivers_options + skip "vips is disabled" unless defined?(Capybara::Screenshot::Diff::Drivers::VipsDriverTest) + assert_not screenshot("a", driver: :vips) + end + + def assert_no_screenshot_jobs_scheduled + assert_not_predicate CapybaraScreenshotDiff.registry, :assertions_present? + end + + def test_skip_stack_frames_with_zero_skip + Capybara::Screenshot::Diff::Vcs.stub(:checkout_vcs, true) do + assert_no_screenshot_jobs_scheduled + + snap = create_snapshot_for(:a, :c) + + our_screenshot(snap.full_name, 0) + assert_equal 1, CapybaraScreenshotDiff.assertions.size + assert_match(/our_screenshot'/, CapybaraScreenshotDiff.assertions[0].caller.first) + assert_equal snap.full_name, CapybaraScreenshotDiff.assertions[0].name + end + end + + def test_skip_stack_frames_with_one_skip + Capybara::Screenshot::Diff::Vcs.stub(:checkout_vcs, true) do + assert_no_screenshot_jobs_scheduled + + snap = create_snapshot_for(:a, :c) + + our_screenshot(snap.full_name, 1) + assert_equal 1, CapybaraScreenshotDiff.assertions.size + assert_match( + %r{/dsl_test.rb:.*?test_skip_stack_frames_with_one_skip}, + CapybaraScreenshotDiff.assertions[0].caller.first + ) + assert_equal snap.full_name, CapybaraScreenshotDiff.assertions[0].name + end + end + + def test_inline_screenshot_assertion_validation_with_difference + Capybara::Screenshot::Diff::Vcs.stub(:checkout_vcs, true) do + Capybara::Screenshot::Diff.stub(:delayed, false) do + assert_raises(CapybaraScreenshotDiff::ExpectationNotMet) do + snap = create_snapshot_for(:c, :a) + screenshot(snap.full_name, delayed: false) + end + end + end + end + + def test_inline_screenshot_assertion_validation_without_difference + Capybara::Screenshot::Diff::Vcs.stub(:checkout_vcs, true) do + Capybara::Screenshot::Diff.stub(:delayed, false) do + snap = create_snapshot_for(:a) + assert_nothing_raised { screenshot(snap.full_name, delayed: false) } + end + end + end + + def test_skip_area_and_stability_time_limit + assert_not screenshot(:a, skip_area: [0, 0, 1, 1], stability_time_limit: 0.01) + end + + def test_creates_new_screenshot + screenshot(:c) + + snap = CapybaraScreenshotDiff::SnapManager.snapshot("c") + assert_predicate snap.path, :exist? + end + + def test_cleanup_base_image_for_no_change + comparison = make_comparison(:a, :a) + assert_image_not_changed(["my_test.rb:42"], "name", comparison) + assert_not comparison.base_image_path.exist? + end + + def test_cleanup_base_image_for_changes + comparison = make_comparison(:a, :b) + assert_image_not_changed(["my_test.rb:42"], "name", comparison) + assert_not comparison.base_image_path.exist? + end + + private + + def our_screenshot(name, skip_stack_frames) + screenshot(name, skip_stack_frames: skip_stack_frames) + end + + def assert_image_not_changed(*args) + CapybaraScreenshotDiff::ScreenshotAssertion.assert_image_not_changed(*args) + end + end +end diff --git a/test/capybara_screenshot_diff/screenshot_namer_test.rb b/test/capybara_screenshot_diff/screenshot_namer_test.rb new file mode 100644 index 00000000..6ff22e3c --- /dev/null +++ b/test/capybara_screenshot_diff/screenshot_namer_test.rb @@ -0,0 +1,163 @@ +# frozen_string_literal: true + +require "test_helper" + +module CapybaraScreenshotDiff + class ScreenshotNamerTest < ActiveSupport::TestCase + setup do + @screenshot_area_root = Dir.mktmpdir("screenshots_area") + @screenshot_namer = ScreenshotNamer.new(@screenshot_area_root) + end + + teardown do + FileUtils.remove_entry(@screenshot_area_root) if Dir.exist?(@screenshot_area_root) + end + + test "#group= adds group to screenshot directory path" do + @screenshot_namer.group = "group_name" + assert_includes @screenshot_namer.current_group_directory.to_s, "group_name" + end + + test "#group= resets counter when group changes" do + @screenshot_namer.group = "group1" + assert_equal "group1/00_image", @screenshot_namer.full_name("image") + assert_equal "group1/01_image", @screenshot_namer.full_name("image") + + @screenshot_namer.group = "group2" + assert_equal "group2/00_image", @screenshot_namer.full_name("image") + end + + test "#group= handles nil group" do + @screenshot_namer.group = nil + assert_equal "image", @screenshot_namer.full_name("image") + assert_equal [], @screenshot_namer.directory_parts + end + + test "#group= handles empty string group" do + @screenshot_namer.group = "" + assert_equal "image", @screenshot_namer.full_name("image") + assert_equal [], @screenshot_namer.directory_parts + end + + test "#section= sets section for directory path" do + @screenshot_namer.section = "section_name" + assert_includes @screenshot_namer.current_group_directory.to_s, "section_name" + end + + test "#section= handles nil section" do + @screenshot_namer.section = nil + assert_equal [], @screenshot_namer.directory_parts + end + + test "#section= handles empty string section" do + @screenshot_namer.section = "" + assert_equal [], @screenshot_namer.directory_parts + end + + test "#full_name generates basic name when no group is set" do + assert_equal "image_a", @screenshot_namer.full_name("image_a") + assert_equal "image_b", @screenshot_namer.full_name("image_b") + end + + test "#full_name generates prefixed and incremented names when group is set" do + @screenshot_namer.group = "user_flow" + assert_equal "user_flow/00_step1", @screenshot_namer.full_name("step1") + assert_equal "user_flow/01_step2", @screenshot_namer.full_name("step2") + end + + test "#full_name handles symbol base_name and group" do + @screenshot_namer.group = "symbols" + assert_equal "symbols/00_my_symbol", @screenshot_namer.full_name(:my_symbol) + @screenshot_namer.group = nil + assert_equal "plain_symbol", @screenshot_namer.full_name(:plain_symbol) + end + + test "#full_name_with_path includes screenshot_area" do + expected_path = File.join(@screenshot_area_root, "image_a") + assert_equal expected_path, @screenshot_namer.full_name_with_path("image_a") + end + + test "#full_name_with_path with nil screenshot_area" do + namer_no_area = @screenshot_namer + namer_no_area.section = "s" + namer_no_area.group = "g" + assert_includes namer_no_area.full_name_with_path("image"), File.join("s", "g", "00_image") + end + + test "#full_name_with_path includes section when set" do + @screenshot_namer.section = "checkout" + expected_path = File.join(@screenshot_area_root, "checkout", "details") + assert_equal expected_path, @screenshot_namer.full_name_with_path("details") + end + + test "#full_name_with_path includes group and counter when set" do + @screenshot_namer.group = "payment" + expected_path = File.join(@screenshot_area_root, "payment", "00_credit_card") + assert_equal expected_path, @screenshot_namer.full_name_with_path("credit_card") + expected_path_next = File.join(@screenshot_area_root, "payment", "01_confirmation") + assert_equal expected_path_next, @screenshot_namer.full_name_with_path("confirmation") + end + + test "#full_name_with_path includes section and group" do + @screenshot_namer.section = "user_profile" + @screenshot_namer.group = "avatar_upload" + expected_path = File.join(@screenshot_area_root, "user_profile", "avatar_upload", "00_new_image") + assert_equal expected_path, @screenshot_namer.full_name_with_path("new_image") + end + + test "#full_name_with_path with active group for duplicated name adds counter" do + @screenshot_namer.group = "user_flow" + assert_equal "user_flow/00_step1", @screenshot_namer.full_name("step1") + assert_equal "user_flow/01_step1", @screenshot_namer.full_name("step1") + assert_equal "user_flow/02_step1", @screenshot_namer.full_name("step1") + end + + test "#full_name_with_path without active group for duplicated name ignores" do + @screenshot_namer.group = nil + assert_equal "step1", @screenshot_namer.full_name("step1") + assert_equal "step1", @screenshot_namer.full_name("step1") + end + + test "#directory_parts is empty initially" do + assert_equal [], @screenshot_namer.directory_parts + end + + test "#directory_parts contains section when set" do + @screenshot_namer.section = "s1" + assert_equal ["s1"], @screenshot_namer.directory_parts + end + + test "#directory_parts contains group when set" do + @screenshot_namer.group = "g1" + assert_equal ["g1"], @screenshot_namer.directory_parts + end + + test "#directory_parts contains section and group when both set" do + @screenshot_namer.section = "s1" + @screenshot_namer.group = "g1" + assert_equal ["s1", "g1"], @screenshot_namer.directory_parts + end + + test "#clear_current_group_directory removes group directory" do + @screenshot_namer.group = "to_clear" + dir_path = @screenshot_namer.current_group_directory + FileUtils.mkdir_p(dir_path) + assert Dir.exist?(dir_path) + + @screenshot_namer.clear_current_group_directory + assert_not Dir.exist?(dir_path) + end + + test "#clear_current_group_directory is safe when directory doesn't exist" do + @screenshot_namer.group = "nonexistent" + assert_nothing_raised { @screenshot_namer.clear_current_group_directory } + end + + test "#current_group_directory constructs full directory path" do + @screenshot_namer.section = "section1" + @screenshot_namer.group = "group1" + expected_path = File.join(@screenshot_area_root, "section1", "group1") + assert_equal expected_path, @screenshot_namer.current_group_directory + end + end +end diff --git a/test/capybara_screenshot_diff/snap_manager_test.rb b/test/capybara_screenshot_diff/snap_manager_test.rb index c5315828..e4b163be 100644 --- a/test/capybara_screenshot_diff/snap_manager_test.rb +++ b/test/capybara_screenshot_diff/snap_manager_test.rb @@ -31,5 +31,34 @@ class SnapManagerTest < ActiveSupport::TestCase assert_not_predicate snap.path, :exist? assert_predicate snap.base_path, :exist? end + + test "#screenshots_dir returns all created snapshots" do + assert_equal [], @manager.snapshots.to_a + + snap = @manager.snapshot("test_image") + path = fixture_image_path_from("a") + + @manager.provision_snap_with(snap, path) + assert_equal [snap], @manager.snapshots.to_a + end + + test "#screenshots_dir ignores attempts" do + assert_equal [], @manager.snapshots.to_a + + snap = @manager.snapshot("test_image") + path = fixture_image_path_from("a") + + @manager.provision_snap_with(snap, path, version: :attempt) + + assert_equal [snap], @manager.snapshots.to_a + end + + test "#snapshot overrides the file extension" do + snap = @manager.snapshot("test_image") + assert_equal "test_image", snap.full_name + assert_includes snap.path.to_s, "test_image.png" + assert_includes snap.base_path.to_s, "test_image.base.png" + assert_includes snap.next_attempt_path!.to_s, "test_image.attempt_00.png" + end end end diff --git a/test/fixtures/app/doc/screenshots/linux/cuprite/cropped_screenshot.png b/test/fixtures/app/doc/screenshots/linux/cuprite/cropped_screenshot.png index 198a7e80c9b4324f40cb56ea11d049e5cd9fd082..dee2803e66305ccfb98e9150835d20121645c7e7 100644 GIT binary patch literal 824 zcmeAS@N?(olHy`uVBq!ia0vp^DIm2BR01_q{A zo-U3d6?5LszFqWMfyecs&;OhEC#)}v_i8WN!6AL((9P^+#-&QdACDcHs8c`h`Aeya z_pxVn{_RV({`BYK<4w2XXD*&v9~`CoU~l}*yYlBgpZOLq72N;#L}e{+_DP4#NguPk zbKTY*iTS_voA)?+Y!bE#`o!CQ(X*8cN|5nCea#((^v9`DBM3*y#@?#bnkd~5Y$ zoz?~uN6`~IC)|8fblvx_tkCcOmt5-=5d`6=m~Jtv=kn`SMYn>XLAjSLVKXxZ}&tt#{{r?yxZ{*`zJRa_m~un@4R`H=-t}CspZtTYfEl;c6*S z6bbZR&pP=wTYatfO-q+7beWYTadCd+gcyejbHXJ~p0b?9vQo9xZtlhFiC#bM3Z2-z zWB)YY2#v6CtHV#9iDl<27;lr;>rjo&`nl%0&GS2Ji`_5H*7MtMZkyT~dZWs7!IN8; zri*&jUb%I0>s0IQSC*T4%~76L{Z=aC+5JuC_Z188J<7{VESY&Lr(kxK&uh=_Ila*b z@BX}h%ekss!@hC%XY;p;i^Kmezwc^#X5r*ZvpcpkOqp7j_wvZ6Cxu6swTGHM-~0IA`_6!e3?9uAmm#j{gKLWre} zrSW5gV_EO?m432qudXDnz(ZjM-y*A0iK;-pwiq!UP9{ha0GdxF<_|XUw@K3j@*H*o PvjT&stDnm{r-UW|36X$* literal 2629 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 HC37JPm=s1*_w~*|;9b3pA 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 literal 29057 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 diff --git a/test/fixtures/app/doc/screenshots/linux/cuprite/index-cropped.png b/test/fixtures/app/doc/screenshots/linux/cuprite/index-cropped.png index 826d2605a2726139b0fd28b2058bd3c6cddced1b..fe9296b3fec46b8e7f4a47b56b44790330aeed86 100644 GIT binary patch delta 919 zcmX>qwt#(tczpl|8v_GFOs>@iAjMhW5n0T@z%2yAjF;}#{b68W4)Szy45^s&_U^^9 zW(A&xhc_M@Ur&Fq^5#_QYm)>-SWo|tE$!3Fb8)=rV|Yx1VN%>$ZH6yB42(RRJ5HGR zW;IGI_PMO0Ta~o+^;6yZS@jp^SN<&sZ`R1IF$vl7c_rRH zf4BYZwpp*la`*4nFJ3lr`8l_xukT%-zTogQZHI4L@-E%F5!7pTtm0=y+WvQUwiPix zi{-DoUf&SmUiZG}ZF%~6p?P1IN^KOKaO>0Gn}W%!?L5}kZh8Cg#9e3E3&$4fO-r-= zbxkUH%A*tgw^p%rcvRK@nHW{a+V^F}+fUXnO`>cfuQFubJbIDsdemI6Q8T9MoH=PrY-B(FU%Ea@_GN=x=kSJ zI_rybn{-MxGH^38NpJ`p_;7>aVV?QB33IY0RnO)y;40MAEp_$|D61qB zx$)%8#^QHpHNx$Vb#GKeTR_+V@%}7 zCt}}YnzmjmE;&=|URPYSu|Hkx=bo;uPxoGWvU5{${SqI}+}d)M&d~R}U$tf%+?6#j zm@RG~pwQ3=Ou|n**+qaDL>mF)5#;ydY#il_3fVs`VP+!&w;lI0Wqb$Hw~o0bPdMte ml|#d|6O;KgoH#zQi)?z;A#l&>!)aj7WAJqKb6Mw<&;$TGJhxi_ literal 2885 zcmYLL3p~@^8=u)UD>mkuWRY@fZIk3u=90DuA@}<=uiSE1^iGIGqr{L)sfgB4R3r^q zOp0RV9*vDr=2EWj^!ES1=ks}f-|zE1&w0-8_xqf4o|9%}aY6*T6AAzTLmM{%|)wSNRhInkf5?9o(l!8yub{CQv_RIsT!5be zQ1VB|pwR*)|7P6W1OR{~|7P6!6v02-g3q^FMm69J007k{m>Al|6moArs;|^VyqPB9 z_ll=oyJljln1vr4v&1Q8<>cV^*34C^sb}TjC&Kp&Kz-|H5@zDxZRCwOIo1y)XBX+g z$iifX(2kZtAKqiVX0$t5L5+mq1POg}q~7JM>}eNw)EIL(Rx>`rmFLAX3pqf-RLk(W z(VybhqNgA+nU|>_uSAw3V3~{`s&yZ2>Eht-FU{xID`3{m%e!I-L85`35K1NW=n(Io zd`IYUWWKlPYoMpy)CrO?^pdxd3)9*@CADK?F-%S|)ojqWp#R9Ha?zm<0WB|oLG8~6 z->Jhzf$SxnnvPD%mOs%lXr z;w;s8=d+28z087T=T=&ZvZif=L`U?6@sMS@@%aqfR4W4H49Tp|>s1Ew9G3>R^1RC7 zKtj!sf(t{*X|kYsvZ1!5t2<}z%!HI$*(Vj6I*^^oY!d*FssZo9@YpYn+~h;6H23Z$d7BEIFf1#J_!tyb1Cy=qu}^(yeieGvlZMzgQutttcKrmzi?E1d(y9SMN;_MGokCC@%$!A=Gb$n z-b-w?o`)PEZjScplnFDlQa18U@gq_YqBiftgKl3Z&sPP*={^pl<%q%=K!BJMNu0Jk zTDfc06Vw35_m`Lhe->@C)Ry(GcL{rohRxF;=V_>juK7huWmnA-b*7)oXcVj(3G&A#$`4s?)GY$iTcWLGnY)HZkwG{x>yp0Jz%Am zsgrm88<@B&%Pe;=|4k!m>gl0as%}@`{Z}yP*=0H-B^*OORs>JgN_#ZjHaU`NxX|=^ zJj$3`irXb=U#H-ew;H>qLw{px8|gzzG|k}NyiU;$4WA0Ol=?iQ2(f?g1d7kOqia?5 z^-Jg?Djn9~P*dC{-b9wX5G@rLQN0FWWBqeIcTWTw5EQ&g2j@Mqf5lUAGJaqwNK4iC zr(ha-Q)Y{LfUr%YZ!!jad%sim{aK1X?SML;)_1?=oqA%Bv-G#C6s`VIr_r&^8cT-z zJ!yQj30Vy7pQQ&|pS#Xr4JN}+I(2s*(I4K=x==r&?TsW=f?hHVu5wj??uo zR>Vr;VEgQi3(bro_r2{{s@)^Mlw_2Rqc7_$>eMsUCJT9C6!V;!?veFt>5FcJX+#Df zQ=7$H#&qbM`k8?np0;TR{xU4|uXc*}7Xk08bpJA&>a+9olCXYYlll7JwsL814=jY( zFDrQcqvh&@`MlQSI_#!A7PTxMPQMtPeZ!(s-X?;5F*@r|WHD~HYQT_}oI|J|`^xPo z@(euwB*O^Vy^!{+uJJZ2=(^cX{}q%cKc2!y)QU8)vXa3`KpTN z&l@|da{seGU|1@3BORl!d#R{lkpZc3>v!C@!H-NQx1Ai9zqJ%J|LS<3fjXL!9UY$w zANR^Y^(KC3%WrV^t1Mo2)!^l-Ddx`2ulYZSopcGW)>vE`De)ikI@-%$4?UJVXtGyA zI(LeqR=B5omodSAzBlsAj4dP{Vy%joULZ5xv8gN@-dO2K>(~s{9o7>9EvtlQg~feX zV9?I3^Gbp2kpYPl%DjL^-kb|$BJ)@nX(OC@R_Rd<$qR}x@8#@g3*2dJiXrvM*Qb7S zFmgmfdR0>mKG9X0qvf|zCXMmQ6Z*LWmb{M7hvxE72@f?vvqE*L)yk1<>u$DHuZZk9IyYz&R89xG3N5QKpM{M_eLl1)U{q8j=QRf3x+nt( M$1O}KMjna(06EAhX#fBK diff --git a/test/fixtures/app/doc/screenshots/linux/cuprite/index-hide_caret-disabled.png b/test/fixtures/app/doc/screenshots/linux/cuprite/index-hide_caret-disabled.png index 4b4dab9e29026cc559130153f3be684d287a4079..825526c38adddf80f889f094995e90116b624d1f 100644 GIT binary patch literal 21802 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 literal 29057 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 diff --git a/test/fixtures/app/doc/screenshots/linux/cuprite/index-without-img-cropped.png b/test/fixtures/app/doc/screenshots/linux/cuprite/index-without-img-cropped.png index b47eff3a327870f9973e8c3f4386015c444f39d7..fe9296b3fec46b8e7f4a47b56b44790330aeed86 100644 GIT binary patch delta 919 zcmZ1^wSawsczpl|8v_GFOs>@iAjMhW5n0T@z%2yAjF;}#{b68W4)Szy45^s&_U^^9 zW(A&xhc_M@Ur&Fq^5#_QYm)>-SWo|tE$!3Fb8)=rV|Yx1VN%>$ZH6yB42(RRJ5HGR zW;IGI_PMO0Ta~o+^;6yZS@jp^SN<&sZ`R1IF$vl7c_rRH zf4BYZwpp*la`*4nFJ3lr`8l_xukT%-zTogQZHI4L@-E%F5!7pTtm0=y+WvQUwiPix zi{-DoUf&SmUiZG}ZF%~6p?P1IN^KOKaO>0Gn}W%!?L5}kZh8Cg#9e3E3&$4fO-r-= zbxkUH%A*tgw^p%rcvRK@nHW{a+V^F}+fUXnO`>cfuQFubJbIDsdemI6Q8T9MoH=PrY-B(FU%Ea@_GN=x=kSJ zI_rybn{-MxGH^38NpJ`p_;7>aVV?QB33IY0RnO)y;40MAEp_$|D61qB zx$)%8#^QHpHNx$Vb#GKeTR_+V@%}7 zCt}}YnzmjmE;&=|URPYSu|Hkx=bo;uPxoGWvU5{${SqI}+}d)M&d~R}U$tf%+?6#j zm@RG~pwQ3=Ou|n**+qaDL>mF)5#;ydY#il_3fVs`VP+!&w;lI0Wqb$Hw~o0bPdMte ml|#d|6O;KgoH#zQi)?z;A#l&>!)aj7WAJqKb6Mw<&;$U>;I}*g literal 3362 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 e4?jDl>Y%?*Zx!h diff --git a/test/fixtures/app/doc/screenshots/linux/cuprite/index.png b/test/fixtures/app/doc/screenshots/linux/cuprite/index.png index 14f833ece053416fd01ef617d61516c0bd6c7e15..d2afd4119d1c3655f1b074b047dc23a6ece56a3e 100644 GIT binary patch literal 21552 zcmY(r2RPO5|37}DsBl!u$jW%5$c|%IipWTcY&vGPV>?C(k(H5gj4~@B*?T+o37H26 z$8qevj`_d))c3l6|LZ!X&ULQWIrr;+-p}V_9idM&lxZ$rzX*XqXjC3OcnX1#-+(~Q zyf{w*o=J9p;{<+OaC)SNfIz6O{P{!HKjC)-f!u(oJh=DFGi7^LYLC&aU**VNees~yg_{OoY;FfTvqJ?=IpX)b@0v`axn^KdP`Y> z=43{66MJOq(mPh!#-{IU0U~uJ*p<4G!Ij0T1l9k(W_|B`W}KB-le(AUaq6jQ=|RWL zg?1>HyqKo>AVl!CMb73CBF%e}NRnz}47_yzJjdHh_mS)sr~dVjKmR<>(W1ceG~j)gA)SD86fx_If|CH5l5RwyTramIw@ zB=W19G_EY4-0qfAXl3acKC1BMn%*q65Dp+`^xWcdG<80`HuNp`T}I;2kOao0;^JK! z%dimk6bm;ax`)Z|5F?HH1*4-rIuFvSQi2XI#nglUsP1~HX(g?%*h(FB9p%>hF<^X& zS71{x=zw-?iW~w$pxN&dGRYoT`HWBG`x%wqWw{;~Qg}6}h((!J=t~_IiucatsD|MeeN*JNG*q?u@1|zHM;wu?hJUrdA_JeY6)a7` zPUcDDkFZe%V%~lPex%8?SHJ0%|E*|-02V}{^`KBev3#j$Aczo8bG=6bA0#4ZV!#th zH^a@LVt0AQTQH$eP&>_w9D*_Nyo}pZxe_Q6tY6#O--Go`dt530(7C3wx;LIQue-WF zu_FkX$Ws2Ttrp(;pvWxWf{L1O-#MdmT5;>U}lUwHYTsP7&eJeX=&jc!9 z3%JYsVg0`^N<+U$+Lz-`6zdz(Cyq?MtXco;BzW=(pbiJrO1IiGHon~^M@$;3LJkM9!-`s(*%F9*@f9V>i>H)Aoi4U%a- zl7u8qg`+^)qJaewvFr}Z`wqJAJ=5Of`8ZcH-MVjtIkALr7oF2f;ijhOvvukFdr~WO zSM&qGt!3;Y_H$`-6f9kNcyLV;+r}6JYuqvPCJ!Wf|CTi1ZaYz+3^C(xN__hQ+hie- zo+(}mwneprM6SPeDwn@1vGb$jLGQHre_bD3J{reG@2oiIY^p^NO3!#KsZ(gR=}?QHKXx>)8;>QWSKdExhUyY@`WdS2T0D>{`Vl zwJr{!+^ub(!!WAC!;V`6?zd$}Z?qqjk!R4sL#FTnI}z6-lu$iN?{%slWsa7$LZAgp zX8psfFleX}hkBWNg)S11dKZ#c_KHk|n?{d@Pk*g}`a-gFhUhD65d?!3J4zgFp7c$k)xwb%1e zIo-p@9fqtpcdLK*ympNH*%=r|Bs>OIq+Alft@6m&U2OGc6t@c4$QOBO8IpXE=pCb7 z2J*T0^7T#!{R^FPPu2NqvRlyUL|F7!eCz*W3fs7re+ z4-Ct?nW#CjBqvrwbmL>9M#<1=p-|Z0&hKxsGDfBn^H#?PrC%F5W#+ zIhVUEa6S|TdS+X|5^VkvmZla8Tj=q6NgeryLC`Q$M`*+3*t{VkzBmPij61|_YB}7l zMN#RVUY3TQml;4#*|QTB{7#y|*7{f$Nm{RDbU;Xco0gGB|6Z#2ReN5Fk73!MSVyikRX>gV zaJ7Gl;YA{Ch3jAttj&!zj`$gF;8__dw&>TQa^~sVe05%#ky3*A}ysZaRC#R>J3McYE+>qGtDD5__+ z%3tCN>D+VljD`)XNf6sX?YFElvVKl=_wtN#1{SpPBt!8nb52=7?dz5LEA|@c?Vn^r zjB)NxA02jH7*E_lNwqe|n@pivPm{dAjLsK)D&5I2vhd(OIZP|U z$Pm-)y!_!iEK*r@JWo;qtMd4{t=U1|PbwIC+H=E4kZRJ&-=#7eioW z2#&T9y?4{=l_J46eju1AuwNgAo7s>gM%5a|?UD{GW0f)^h?OnQO<(cvpQ#S(fpax5 z`cfbv6V~@>Sm;T+q}`9{RO!g2DW8kO2q`z@2T~`MES7WwX9y+R-zQ-<_5+3e7nhI= zo%FVnl!jFUioC(b<`s^D=;gPXHr;jq>8|c3hLh)n*?S+KIV4_HX7K$uoHMepJ-42~g>>uZs+Y zt~W7iS~pFUZL2RYwa?rfl6jb)qQo1UE%s6V7D#Q#N1orJN=VRX-b-h20ye2$;N#=bT-KmQk- z$m1)Zini>2R*O&!Bec>IdK=s61^z-pV~620E$Z*1_$Fit((aQSD4G$d40qeen%VNj zNtn_SjE1kIm?MoibNK4_g@rxJebtDISI}DxMPfV@iY&bQbu;tR=Sp<=9PirZof$X( zHbU`9cH@+yZ07H-SPd1ds#O%B4c}=kvvRlRg0Om+bhiDyRv2E=ySzNs*)Yz zehpkeJdDyQM}NMMp0bufx4%_?lYda;;h1Ccg86+WyM-I7lYL`aOcl^bvO=t!ErZ5_p$+!Bk1p8=cnAkJ6ylvp6jX6eD{-K(^HyuqU^v0X{p? zM7*Tzeo2`@#YHcl*`?})$9DEuE~Ch$OS~P{BW%ke0rZZ)P@2~2=X!g@BIUclxte(pUtHM(Fd2~}b^%!YZIhMt{;MOZS&GU~5H@9HEefD6b566rkL;B>C zUM3$f6VOqG`h@twTl&1#a;BH=jJn#r78!RTgV$5nYE>I`lIigt>s(XmN5sfqcT^*Ce>5>gH2T_&K*Oh= z??mXwH`L#&{6vRxGH$OBmr3SNU?Yy3zny;dtt%^>f+i&%6N1goZ5}R3<`PJc} z-5%VM_oxrP2%AbG`k%$^wWs+r0DeeFx-K*E=C;F2<_yNOY?1gZqm<I4wI@*uYy) zl#ghNl~$VM^{M|m*Ens;EN`pWl@(T37CiKHM?w9#tzjRWUy=Z!|7vTfbKSu#BC$nS z#CWQE0WMHjfaOwm4qqGjyd8_C_d4!?np#N#8V*rf@{4%wP#Co&eYQ>$l-Xc4%JeR} zDD{r>nMgJxQGGvHC{_j;z~&iH(+{N@S?7lF3blyW&RZP1Ci(N+D z7ON&o91QS%5Klc4&qM${jYu7;Q}xW^42g{+B+- z?fuL**sXtr9?zFd%8LUeOm=^2%^8%MHS4FGWtMi{bb}0r|E`L%wbpPhW9_1KlVXK$34~-5aeEV<*7t?(3zIVzsOcDq>j!?{bcqr z^q)!+UzeLzBbR-%Q%rj~y;>z3nF`8x=o@dP>+wC8%EVorrW2`$&d4A@d7Xm!!kC0y zwZ1*%z?qs@d?-Rj#wwScmkGOnA}9_0CH-kMdA61RvG{d+SC*(MYE#EWx@AZ;UfQ!D z1RwBJV!g1>S{rNUJmVC|@8MmuaZ-O5Em4pEnjdv(m#)e0rS3*sFuROY2i;>1X$h7j zpWq)`nI&b*c3qpD(y0y@ch4({0Le`?31lw>IPscl-uzrQTGG6&64RSLlBpAkkFMyj zR{Th;boDtNUab1ZXEXuAltLVQF|v{ILj@l8Zv7rouBaO$rpt;qtH{UDU$$zuT<$a= z(7=3`yXIklsx(CyY^iAo2tT(&xH<SGY0An_k9rBQ&*0xTa)LLgR|T zTSi3*x@g!1LBX`8sR}5CqI|-+8-|BBG>7iTNdnBaUc7e-V^=tpntSigsxuNrD&FeR zlJ+iCPy#p5D_^+tQe{y|aN$)v9-boQ8^=YNMqvtuP7vt=MW0`RVfCHsYPxA5jqdkZ zlrP&vpe!TXZyEoCFE+zx%)Q(K*?pF1Cb!#g(}C%=5gOF-7t#w2v2%t+s)Z&~Ez`We zq^DRNkNGqePPKRU9MY%xH60M!Pd=zFNM|oxixiUY$j27uP8x!dPiFUtg93;v(yFf` z#S4g6at#Uqt_xz29vKbq=x}b^)Y~Kpl

o+h&6Frk0*l1aDw~ITd%5IdOxe=|lA# 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 Ga@pTyI9iYZ literal 27808 zcmZsDdpwi<|No{Y&8@?IJ4Kk>6{{3E6k$}T$niqX-MY&mRw0bdp;UJ{-S?e4kyB&X zFv=l^8SXN7C5JiXG^H@7VVkkp_PgAl`_T99_fHQl?K-^Quh;YWd_7;UYd_haw~~P? z!66Wc%o*!bju6Nu1Oy`CCM5|T$-J3x4Fb7(<;*E_=Sb+>sB{I+)r%2Ja57T4TVtdv z|Gkohl)C!Xx?gtOP~Wkz*}{2;dUJ7EUfd(My&Qs$1pPz|4qjO6`&s+S$ev|4m_)v(sY|t5+^Ts=xvSN1yyX+Oj z@~~0eEVToHii1EUz#mqTTSq>UdQ&ccaSU-}D?+sM-~WSH1issWY6|RC+Vl6v5GWL6 z3H{eOHcl2#&WwXB1Ni_|M!g)J!q1=T)rf=u`v4WOQn0)_msFIq$_a=4a}% z*rv07?wk`@us~50y^9KpoyYU|!GiU9UhZ*|k7g=5Dp7yT7ojPO!;|yghmTzioE56! zxH{~W6yEw&-TZSkQ8{zYsxc@8z1v67DCRX@F`BsOYFlLbDVTm{dn7w-?maqlK{Q@_ zz9?I;!YpOQ(8AvNF^p@6uY0WxqccQQD)tknNUg~qH@YO6@)0%niiYfH1EDl5xdYu9 zIoL;MPI>FIrZ^p<^Y7<)F9pK>uwE0!kj6F4ho@9rJBs z$oul&t=WlwJsx*rejqhhm9MsNVoS>K`pXu&x`L|dC^Miow{}dN@2YwfOM8%-ftxfu zpOKmmaU5sz=8Gnjpr78d%X7}-#ytoVEI}51YgXK~*SB!d+azEQQi}4rT_9_zXyd4{ zobb#f4P3`LO5X!Ec5HI1k`% z({LUoeto^6V+v4!??{YK7551Vx$Av?MO#GcADo~C^Le=^!piS)ywwZJ^6ZaHXAGff z^h)3~GhC3fseNDANbq+SL`P>Rb2V^QU(C&>ABdgjO|fcokw}Hc$#S}%59Sebi}!Vo z=TBONL5-QLaGCEwz5VJqqrU@4Gn*sRp=u^V%4XbEUTc z2ZkbmR01k{rK`4+)+@l)E;@L?ervUMYJjT+GkDMNlSdq@3y<{lmbN<32Krf~XGz5K z>ZLfj8^i=zi_C=Zx0LcH2M*f`Ubo-+9}@hT#VYY8o7z{&BAL~xnOB#`M-kLO%lrw| z?ZWJ+j#nq98Ko5eaj!v5e@=a;v;;-fgC*xl{9aZHz6tgd5fKr+l22FBHjRwt_c@gx z3)v=VqJV-!@ZUPcY1xEb1-xroyN0J0yN%LBs`14vc|_oIY_Io4eE2?CE+Mj-TOW9C zKHL*H3*V!1h03f2oQBW>GNTL@Favy;DCgnmo>;A# zi8Da58(1NsXP7%Sf+7$2W zD3w7{%WCe5@L=oQO|gY&y_D4*BDTqz4p}a0#>mR^8(0Rx#Iu$`#>ASizOvtOGsVm& zv4RR_)q~E=CZQI?6iquZk#;;OEWOl%=9cCS+xwu^bzTldjH!}qhN}m2tJ47MrGKaa zf%3KT?SwcEYQ|LM)wjf?-*xzLnkq`2u@Zl#GObKms-6_G6uw{4-tTep_Miq|XPJ zO%*@wwqO%{0O7HusIrydm#h!U(k^6~Kzodd2aOiCH#M&EA4O`n?D z7OXiQq1zvnq_2$achTI{^3)Hx14!12aSor3G-_*dikueA2RR?cPzMs9SXf@fzqaD3 z?Q*Jg-_+Afws0^flr46njdK#{ZfM=R$+mq(%?|Ca^N?wfXYACs2R5kne+zl?&n5IH zefumL%xo<>mp9zpWRANfAh_yx zlu&6yzwR`(+%e6PF!x}vUcgnWhp(?RSXi19xEi)hCD-ae87rqcVq92aS*vA`*?H`O z%9Pdx+cz_;{(H_^OhGlhvRd-8^R1cKV0o0~pi+A7&PMmEtpB3$rP5q5xEhcMU{|K4 z{`QxKo93f1efuCu=26gsH}sq6Bz$N6jj?*0c~9v3Z-$hg)FxN&vi%i#PY+8ZwiSoy z2}_#or8F~Sr7Qt_fP;__cxv{n(Qinkkg#YkhbOsLSEm&0aIBc-7UN`(xyO0$2v~{^ zvLAwLPUNV=awKf$Q+%DLA1e&|9F-|sbolHStXA7s?oVh9yVku%l%xQrcZu9xcN7WlXAc9Gzuh@ z2^G$Q4<{c#fP)q!et;!OSbWH1aRobnfWyle(;{`R{@NK!AWc3;!4$6KHBZ!X9Sx^U zS)64sBVg$|GNm=rMka=PNr>JhxvEJL4p@4BmF=FH~g;mVI7W&AiuP%Wvb5TK|aYEAH^c&YpE}4R$qe>kwM* z#Ru2{s+O<Z`2}?pM+cwOw68>1~Z2a9* zsF?>6+%sx55U1rY8^Ui8CX+7eQ%KEvNRtVq4}gNJhwd%5f40>XxP0R800kp;a3?4- zWDSV8DmjaK3Fq|GHKJqISroLe`3O=8fLKC~-}nxdGU$wI>m~J{l{Iba4=dCOCt~07 zW{V}B1>ggm6XPsi`BSGPEc5dgyF)z~2jY^-?0be%Ev$L+B}3gmuqCWKE*9`GUZ@gB z$JOFxhgHS-Duzh4@3$x@e{v9xP>B%kYQayn4y-)obcB`m*G2wcM!fT0(*<(|;UWtUYxG>g+8mRKpP3$075a2p7<0jK%wYPvrypwd+TyWJVxY}Xxy$OYg z=!pgp7%JS_=_wphCR2jZO*k2Uaq~m%S&vuvYE_MEdN5M6j(i@kzPTs8a^{KvISt;O zc31CZc_5mIOX8|=!)=ZquuqQ8`(*$Bfk=dZ7h~vw(h~! zha>#%yFf49PA0em!fBQ~zII>1fNjUjyQxDb(Dz-T#bx*39xHFPix0BVC)wH75J|?bPluA?6dZrSSD?{)tV$UDnSG{khq8y}3=5wT>!64yN$-+^m=Ww;r)7X(S zlo?BNJXb9-ZKpw-S3eD?-ab{_F0>MSFMTOI^LiUs@!SP9Y?T**6cKLq-X zBi$x)A7A+wB0VIcCDSBY7T~914K>k6#`>EZE9_rAMc5De`Jmqw%u zN?gGV33TnOU%tJ@ZesM3TCM0cL!EB3-8$&eYZV8u!P?vgFe7eE!lr?611Pbq8JJf5 zfFIyK_xmcP9bpACmQZ{}S6C6jGnwfs^lF}FBllvjY*WZ$ao+E?F`%Lm40H`~j|aUR zE`Mk_#0ZdXCdF|Ck_$2-nsafEAfzR4s>#WkIcT|Bvd5A8gG~qWwq6G@007M3YPQrF zks8SUqY_pvga9vCUP@8m*?Ct=$>GF&e$Vy3yRCgE%1RfncVs>yc*&uLCSP&0DjZSE z|An5OxY*6{lH-0vU=v42za&jZ!eSF&axU@V7>lJ-7~m|c^wyQBd8A5CUTGcFXtLGx zX6pTuP86kf1%t`p?=1O^C3X}B4z32fi&UH^36m0MMhC!5@nRAW{GdNd)K~LTC!L#3 zc{QoxN0!!5;f+vjjjJ6P{Kl18R~jI9X$0D|=rBFlgzUd8V?#Zx8TH?EE+OjFBv_M` z(|De4)8Wv(nNyp@l8Y11ck03wY_kI)j4Rk$hTiGG&3AAf5XFl{5M9EJ%$k5Nv|P;Sx1-~`8uCF8x719wxX zzK*%@Gk}@<1V}aJc;0Yl%-ez6Wez1;>&|Q71}UYd1O)wzeb7(px(X(h&Xc{;1wQo z$P%4(0FedC-m2XG=&%!h7&qDlhGjbv1?()zmS~UJI@WPr-hkggv;k7rSRL1^s41`h zTaH-+3CJxnL($s498al$Ym6zsim@vVBn^sBT)=?>=L?EX^%xWRCx(%%8#Re3M73bs zy81VdsX8jy{`9OJ%Wd-zM_;WYva*ZFWnNN+W0@w=*WlKNG3(Bs?K+zk|97H~@7 zf|emIHmwk)WL9X+l$PjQf*j>>9*z-&8hcnGDUg}VdfFG)1aX|6zEN{%PCH2!)t3D# zntH%if1Etz@MAut2SIIifcOU?om+gHPAp!g!X8@Kw-lEtZt6ysE4JWyR^dfW zTpVrCnK-2K;8W1^n{6hxff1f1q|PC@B}{(%zr3>f=H``e5HelL849Kg+=Sl=M{^>19 zV!>i}<^vr{2?}%;YAFM~B#XCFP(LH*4+Ov2W5y{d`F_gz{+kODEafs&B5df$IK6bz zO=5*?pwYYj$hmC@Ta^R%s%{qU=&ei&_#yH8uWnMqMlYP1FaGe3{_~>|T;L&VGEJ|v ziJmY|aOL_4vwC{tsPVD4){)=KEK92Onfv9R_K9y-Pqww`S%K^(Q{IPr>f zzx{I1*}*eB#)$N#qu5eECMAW8>kpxF|4V|7+^6Q4z7(h2Xc}|%%Gkv*VnWrn0v-)T zxz=3|s{c((NOfUTiH%>T(=B$TBBl9=k8R+0diAlEo7S?KE*=l+rN0GC;0J>N`#^kN zH+oVKausI=^6n0}bYg0g$B`M`#xgIhW7Yb}rDXv>CKe$zxRqrUjz>!DxMiI)=jcS@ z?W92K;3U70nE_B59yQtHrGj zeR!Ty5)ZTaaSjcF4TADrU5!-Swt&({SZw`8?YeW=VTqfeU*Tg zvo2TO3@Xac{!pP#=dnxt-*S)nZ`ewNliDX@jOL0`GK+qddkR~ny zAw8=B8RlRhsm5cIBiFAK%4F}h6h{J|*|-5V>QgDO|;DWlox)&^QjGuXRR_gblsA(h*-^56BgmrbOdpYcikq zVbX@?Go;O`J-CH_<=Hy0(uuP98XcLSoOjig|B-CD679uOdYWhyqkmT7j~AZ7zEOK`ZJa0e%iz z$n*d+%j{Wnwl#IvgHF=5q{XG@X1wQ4!`n}=w}whZHPbsElZ;@=LyA-;%i>I@3Yx~~ zB@&gnWSsmBusls^wR5EgVq93^>E#mEv({fxds2WkAO%;Jd2MyN;J`(>^F$k2c{nWb zzT~V-&oFU!64MoSPm+VB@&t`61OLO;vYPPkWG090F5-7M9q~soaF(A7#vScqp4J~Fs~d=R4zfI5AOsRi zV%b6zi1VJ3FGMNTY9J>5vEI1VP9tpIKKk?*u5AuzZe|6dysr8CGB7_OHz)oIVtdaN zCWrMA9|@k#Aqk@PrOAg}N!7H4j)*GP(C z>E)+@&jn{s(YltxVpKfnBzM8}<R1Z$9E+^?UZn!sIHyp(}K>%x~s7&eiAZ^pZl`o0c!=5f%Lc9o3)u+TZiP zW?KGjU#L2WRbW+W9+jRdak_K9HeT%JY)WvD^M!v0ORK>RGh`N|mCD3}fmdeFx+SJ1 zpytCofy3^!>qSMQxNT}vUdxMh{OfCFztm)9<%}EFB`_8xExf=NFrUC2;_vmg;ML8z?lbxFJ z-83B-iL2(v2N(foFFbf_OptJ*8JnT`RdTvD#NAwSMK>n3Z1MSp+f4znITAG&YI|g# z5&XC#yrEps!}^cy0&1pHsqj;B2|6;wz*Czzl5;XIq$L3frP~UpFyyiU;IO5?mRnMZ zEiA1+f)lk#Aj$DV_`J}Hk=-@~SD*}xQ-%HKoyZvNxGFJm8|*&8CA@Cj*fVC)6SlTe z6eHMek$E3L9G~95JsU&js)MU|41S7R7T}^1+H(1TZzDFu?{>;ika9!-RWM2PV$XI| zKHUb*XptBp$fb) z(so!?%A2pm-K}YfmyrwM<^|>$^MV0jztRg{wuDt*LY;-9+lzg1oa~*K;qo%8(PS;J z`R85FfbPNi(qMW$`~WPqKdef#k(CP3tE~*68VJ0ln}&)0VFT>rF;~lP0OQl!7DkU% zo@T;QbEMS{IUgRcV%6-tVYGtO2|exiorO_(Yj@0}m5xxBT12kcKm}~pge0bQM4Yb| zXBGK%;^^z5n9x>R{UXz^oER-sl_fsT!A&v$;z0zuYpj(+l%j-?dUUq@YzyGE+!Jq) z9XP?MXUL<5d_LsI^IiH1vetqDJGde2H;dD9X_fYk6aMv}i7_x=RCaTU6@o;J3h-Jk zwk^n*s(w7ltNI9qtL~Lkd*DYoQ%ik*k3j=mJzuIV+fBQO!h zx#0TF!@Pjk<|22g$?T6w9uWRjEa(lYwd6N~Xc~4&^H)3cJsIvata7q1 zg{Z0_%cU#{K>?Lqs`UdbrQ>=vV`iC5A`#_5V)u* zn*^H_)Z83)**OvvviUJZ{t(QM62{P zf{WZuxT!4*d9AmIxZ8u?R8wBuC!*=3oLiUw-hJTur+qQIaj8DJztd`S7cH>59B%MQA~ZqwV7%eoW}$)S#h|?kIZsLd*~u?P|8o^!kCgk*K3E(xStW zU9;wsaBF&n0W~Pd?5pipI%Nn8+I;`|qa_KeM=yeZj+i}YssG8WY5vpvt5H1BVNkPC zRvV6>_`vWbo>+s{_6#EMIgcxAdu4{3A?aeji(W>&QANN{)r_Gt0chcUYxQEL8wKo7 z%~+}Xm7l+gR4$`uu(*|5zlSB)49!ryYcm@CitD={l5W|>%yWWi;^h_DQo^O`sH^N52x@@qp=0Ek>+Okm?M8j@(IHj+PhVRBKTB9|5?i41 z^JY$_|I~UK`n19Ucq-I4Ax>4M_(jIC;X-Ei_daD4Rm%jL_o^fdz%9|b$MLi;F>

jdWT3AI(FP4 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 diff --git a/test/fixtures/app/doc/screenshots/linux/cuprite/index_with_skip_area_as_array_of_css.png b/test/fixtures/app/doc/screenshots/linux/cuprite/index_with_skip_area_as_array_of_css.png index 64344e7533f8d6c27d1106f964a6206e87e8bf1d..d2afd4119d1c3655f1b074b047dc23a6ece56a3e 100644 GIT binary patch literal 21552 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

o+h&6Frk0*l1aDw~ITd%5IdOxe=|lA# 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 Ga@pTyI9iYZ literal 28474 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�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 S@3i9#K;Y@>=d#Wzp$P!bP5a0I diff --git a/test/fixtures/app/doc/screenshots/linux/cuprite/index_with_skip_area_as_array_of_css_and_p.png b/test/fixtures/app/doc/screenshots/linux/cuprite/index_with_skip_area_as_array_of_css_and_p.png index 64344e7533f8d6c27d1106f964a6206e87e8bf1d..d2afd4119d1c3655f1b074b047dc23a6ece56a3e 100644 GIT binary patch literal 21552 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

o+h&6Frk0*l1aDw~ITd%5IdOxe=|lA# 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 Ga@pTyI9iYZ literal 28474 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�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 S@3i9#K;Y@>=d#Wzp$P!bP5a0I diff --git a/test/fixtures/app/doc/screenshots/linux/cuprite/record_screenshot/record_index/00_index.png b/test/fixtures/app/doc/screenshots/linux/cuprite/record_screenshot/record_index/00_index.png index 14f833ece053416fd01ef617d61516c0bd6c7e15..d2afd4119d1c3655f1b074b047dc23a6ece56a3e 100644 GIT binary patch literal 21552 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

o+h&6Frk0*l1aDw~ITd%5IdOxe=|lA# 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 Ga@pTyI9iYZ literal 27808 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

jdWT3AI(FP4 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 diff --git a/test/fixtures/app/doc/screenshots/linux/cuprite/record_screenshot/record_index_as_webp/00_index-vips.webp b/test/fixtures/app/doc/screenshots/linux/cuprite/record_screenshot/record_index_as_webp/00_index-vips.webp index 613f10d48ecfeaf607de5634defadafec9197a10..d2afd4119d1c3655f1b074b047dc23a6ece56a3e 100644 GIT binary patch delta 7134 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 UN_t?1j6k5zIR04v=PP&q1GqN>zyJUM diff --git a/test/fixtures/app/doc/screenshots/linux/cuprite/record_screenshot/record_index_cropped/00_index-cropped.png b/test/fixtures/app/doc/screenshots/linux/cuprite/record_screenshot/record_index_cropped/00_index-cropped.png index b47eff3a327870f9973e8c3f4386015c444f39d7..fe9296b3fec46b8e7f4a47b56b44790330aeed86 100644 GIT binary patch delta 919 zcmZ1^wSawsczpl|8v_GFOs>@iAjMhW5n0T@z%2yAjF;}#{b68W4)Szy45^s&_U^^9 zW(A&xhc_M@Ur&Fq^5#_QYm)>-SWo|tE$!3Fb8)=rV|Yx1VN%>$ZH6yB42(RRJ5HGR zW;IGI_PMO0Ta~o+^;6yZS@jp^SN<&sZ`R1IF$vl7c_rRH zf4BYZwpp*la`*4nFJ3lr`8l_xukT%-zTogQZHI4L@-E%F5!7pTtm0=y+WvQUwiPix zi{-DoUf&SmUiZG}ZF%~6p?P1IN^KOKaO>0Gn}W%!?L5}kZh8Cg#9e3E3&$4fO-r-= zbxkUH%A*tgw^p%rcvRK@nHW{a+V^F}+fUXnO`>cfuQFubJbIDsdemI6Q8T9MoH=PrY-B(FU%Ea@_GN=x=kSJ zI_rybn{-MxGH^38NpJ`p_;7>aVV?QB33IY0RnO)y;40MAEp_$|D61qB zx$)%8#^QHpHNx$Vb#GKeTR_+V@%}7 zCt}}YnzmjmE;&=|URPYSu|Hkx=bo;uPxoGWvU5{${SqI}+}d)M&d~R}U$tf%+?6#j zm@RG~pwQ3=Ou|n**+qaDL>mF)5#;ydY#il_3fVs`VP+!&w;lI0Wqb$Hw~o0bPdMte ml|#d|6O;KgoH#zQi)?z;A#l&>!)aj7WAJqKb6Mw<&;$U>;I}*g literal 3362 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 e4?jDl>Y%?*Zx!h diff --git a/test/fixtures/app/doc/screenshots/linux/cuprite/record_screenshot/record_index_with_stability/00_index.png b/test/fixtures/app/doc/screenshots/linux/cuprite/record_screenshot/record_index_with_stability/00_index.png index 14f833ece053416fd01ef617d61516c0bd6c7e15..d2afd4119d1c3655f1b074b047dc23a6ece56a3e 100644 GIT binary patch literal 21552 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

o+h&6Frk0*l1aDw~ITd%5IdOxe=|lA# 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 Ga@pTyI9iYZ literal 27808 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

jdWT3AI(FP4 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 diff --git a/test/fixtures/app/doc/screenshots/linux/selenium_chrome_headless/cropped_screenshot.png b/test/fixtures/app/doc/screenshots/linux/selenium_chrome_headless/cropped_screenshot.png index e8644606c2e7a541424344457a913ede0ec43b98..dee2803e66305ccfb98e9150835d20121645c7e7 100644 GIT binary patch literal 824 zcmeAS@N?(olHy`uVBq!ia0vp^DIm2BR01_q{A zo-U3d6?5LszFqWMfyecs&;OhEC#)}v_i8WN!6AL((9P^+#-&QdACDcHs8c`h`Aeya z_pxVn{_RV({`BYK<4w2XXD*&v9~`CoU~l}*yYlBgpZOLq72N;#L}e{+_DP4#NguPk zbKTY*iTS_voA)?+Y!bE#`o!CQ(X*8cN|5nCea#((^v9`DBM3*y#@?#bnkd~5Y$ zoz?~uN6`~IC)|8fblvx_tkCcOmt5-=5d`6=m~Jtv=kn`SMYn>XLAjSLVKXxZ}&tt#{{r?yxZ{*`zJRa_m~un@4R`H=-t}CspZtTYfEl;c6*S z6bbZR&pP=wTYatfO-q+7beWYTadCd+gcyejbHXJ~p0b?9vQo9xZtlhFiC#bM3Z2-z zWB)YY2#v6CtHV#9iDl<27;lr;>rjo&`nl%0&GS2Ji`_5H*7MtMZkyT~dZWs7!IN8; zri*&jUb%I0>s0IQSC*T4%~76L{Z=aC+5JuC_Z188J<7{VESY&Lr(kxK&uh=_Ila*b z@BX}h%ekss!@hC%XY;p;i^Kmezwc^#X5r*ZvpcpkOqp7j_wvZ6Cxu6swTGHM-~0IA`_6!e3?9uAmm#j{gKLWre} zrSW5gV_EO?m432qudXDnz(ZjM-y*A0iK;-pwiq!UP9{ha0GdxF<_|XUw@K3j@*H*o PvjT&stDnm{r-UW|36X$* literal 2685 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 PZzag#vptJ diff --git a/test/fixtures/app/doc/screenshots/linux/selenium_chrome_headless/index-blur_active_element-disabled.png b/test/fixtures/app/doc/screenshots/linux/selenium_chrome_headless/index-blur_active_element-disabled.png index a5b651a8657c32a9cfdd6aa6cf20f6ad87bbedb0..19ed37a1c8da1306e1be83f84f7a2861218125dd 100644 GIT binary patch literal 21984 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 o?ar{>A-CwYW=kZ=BlraIBtdGU>-^J4Q01;)f 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�cMZd69xlzeDwg_*mO1=*sHCjF0y==J>87K$i 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 SP9i8YBzqgDZMj=~qW%psI0wK0 diff --git a/test/fixtures/app/doc/screenshots/linux/selenium_chrome_headless/index-blur_active_element-enabled.png b/test/fixtures/app/doc/screenshots/linux/selenium_chrome_headless/index-blur_active_element-enabled.png index ad9cf0db4b5ad4a86657d953e2c362e764218e0b..a799e1fcaf559bf531f5ff1a13e49b0579635818 100644 GIT binary patch literal 21767 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 We^wbgbOaEX;<|O)mWoY*NB#oQYm!y~ diff --git a/test/fixtures/app/doc/screenshots/linux/selenium_chrome_headless/index-cropped.png b/test/fixtures/app/doc/screenshots/linux/selenium_chrome_headless/index-cropped.png index 9d2386e6a7e4ec53faf143d1b9f92ac003e065c8..fe9296b3fec46b8e7f4a47b56b44790330aeed86 100644 GIT binary patch delta 919 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 LNkvXXu0mjfBxeuT diff --git a/test/fixtures/app/doc/screenshots/linux/selenium_chrome_headless/index-hide_caret-disabled.png b/test/fixtures/app/doc/screenshots/linux/selenium_chrome_headless/index-hide_caret-disabled.png index 510da9e10815fe4f753d277df6fae449c280776f..825526c38adddf80f889f094995e90116b624d1f 100644 GIT binary patch literal 21802 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 literal 29241 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 diff --git a/test/fixtures/app/doc/screenshots/linux/selenium_chrome_headless/index-hide_caret-enabled.png b/test/fixtures/app/doc/screenshots/linux/selenium_chrome_headless/index-hide_caret-enabled.png index ad9cf0db4b5ad4a86657d953e2c362e764218e0b..7738b6913f00d44d00e7e341d332facae2e32b0d 100644 GIT binary patch literal 21769 zcmY&=2Q=0H|Nli%;i{C8i$o~0rz5wWn@!kW!z+MGOm3?_PDsN zYwtb(uRirX=l4J7cB<>`@_N6Xujliz?hSsTra*n++64#%Lan6uP!j?nyAFYnK0ike zo=J3j;|Tsb@2IHj41rKy{_}^VcN}#Dfn0|uJ-q+aBYA1u+tF-Zm$<(wPL$^2S5~@p ztLS!?=2vA`v{Omdn4z7!m^q%rv|eQ5tnhnNQz?~)*fUE)Re{@Y$b`w6=q#jo8xt8Y zKUu?@7vC{UHT=w5^%JZu9$l^->R(={j8ne(H8ZdMsZnM|b;@qC`>BVzg*z=1JI20D z>_V#g!yvvp=GhxZ&Z%A##C`D=2LFo>&au6{_yEaTe(GBX`SZ_nY)!H-O~3!1KF3z; zkO{f;?;4yU$&LRmc)M5of%M_uE7pD3&%XQnD$|GZ7cTyLiQTY~Wr~SooDpFuf$Yi# zwF~T%>%9_kjZ9qw#d0t9sf`kI0Y5SZk4<(56U6D&fp0nQ(&GmPM6t%@7w%bGgaolB zo4Xp)K1wtVGE}RZH$3X0b>Cl+kJIKNpL}?e@}8%PM#9>%jrdW=QBEC-9_vHA44;HU z`?R8yrJW%J>b(wr+{Cgq+h&-7#W6Y1EEDu|=wm!*WyaPjaB@{GYnIJ7W47=H%4Y1=dDxpYf?b3g%e zYi97ZD@100?DF@AMZ0ISl|%3gKFQLXYRXzX_fj(6J0I;^4*qI_hx==?6f91{Pv-W= z6h|WpguPG%9;ESR>vIOvPIIs+ z*8z}cZ}UOM zGZlVosf0E^EPRn~PDw?0fJkqjlH1I4_#K~gM=KHfAq=Tjc-$|SG>o`svW1Ug_|;T zSc-djkoaxlYAy^BHQLEcj+PTyil7%fKjYs%AN^_0o0cI` z0=7lDZJ$hU^He&2MRfan+r#cDvzr|soIV=GL~bu5vNu%12qmQMi>l-rO?ul`mh&U+ z(dt*Mqc|E|4IS$@4Uky^46l+@zm>4(71)IH?L2wqr)E-e_g)1Q&lsUCW>Li&y=f?e zI&n^JlakLuG83rhwkcz>b-oOQJKDH5b_dKcgtDz&EwI7SU=Vf)p@o`%Jt+`WrB@9} z2M<#yq38-1pEuobc;X^+mwuRG&OD>f#@ih?$ z#ZFB~d0}{L88bTq{+O_EOQH;XnAQD?2T%+st;WK^n)3O_=$wJ&ruJP$0 zw*zP>kXK3OqTg^97p-sPEA{T)_hboP9C_1G*c=odt+V~|{C}+yfj&&l&fM+#sF3FF z?FL7dpS|6?b51MD?aVZsE!;E;UZ_y)$DyQXOU8p1bSwR-y(cYag@3S3ZL)td`T7lhMvzLLz{oy_}HvIEVd{)2^n*U+t9GTQz!_H9a12J?Hd{8!C6ac=r0{UUAY<`lhDvcr|$ zMf&IQH03V+0q_=A<{081i z)k!JpOnx7e6XA2r0~JUeHorB_*BBCWU#^bJh{y=GnvrlaLQ}LMDppY7(KYy zgg1@MG{U`tf3!5f^!;6COa{B<-x2jrXQTuo*do9{B__oP!*siH6G%b>d!(_=&V~lq zM#R#GJb1W*+*HdD+HjDLw-GHpXnygLL9GT`h=i2)#P=MRkI2-XrM9IBAINVevf=_q zGlYqlGqdr`QGm_URof9$jc{tRr1vyf-5a#054!QD4>_(pd3_Le!L$NayQ(p2d+AZ4UX69*IlM=)*O19O z*Efq2G`l0cJ1+#mOP$$T zhIHRetyKsHUjOdQNIv>iG4zG?zUZ(@{g`dSfkm`@Mi{Z83GwqQ{{2(sL0xdJ`i5Wf z#$~{JJ`M6eX%(~mK9wR7zBuW9VbEFJ75QPmol% z*+PD)GW_w&UcL_-YX++&mG*!4Xe_!mhy8i#qSM|lsT8${?N?zgg?!3iHRu~%uM4_C z%`RF`!&$~ZDQLVU4%gRmC@q!di4DwTWaCaT~GJjjcb&Pn6z5U&0;&UB&F$cgo`T^?PGrR zop*i|patgp(ha4#zq@n9Tvaf&-J9O9d$raN1R`;&FoBGg9>M#_?wZsLcN~-SglwN*>8kMg3X@S2m$@@N%&1Sz{=?yjTyAzE? zic239m+F^a@bsQptcrVVYd6Yn7`}LstIcYNWl4}Xn$A!nL;*+t_xFEZMR&c00n|W@ zWwtG;m)FtlkZB!Q#t-Kkeud2;(H1YySWmr-;22J04W#9?j%#8tB|hj)xJVJS{fatk zseL>vsm!`WE?v=ix#f2M!KIjMPi`4gnAGUyc)3R-WjesQntm8tRN>pvFu~=4qtW3u zGjNd*FzWOUwUk;(>L~QReLdG8#PgB03L*y;KiYreaYva#gm;x*X34V``CcJlCYTER z+M*B*MeHTwIoLvM*@O})NrvCv{L4*n>(bPp4{OyY53g`xNXlz8*p);+2$mN_yD7mg zb14ONGkY&7-+~P?=I1fn_mRpc6&nn)U^P=QGc)io3#MoWz2(Rq?F0qfo>waJAfRWl zP}U|wzCVdl$_GUgS1@7b<`C=?E8V$L*zB)K25P*%pnqFBNbieAft>kIqGh+rdh=tu zpQtzC)HeAfSoM=j-W{^%$!mR1gn|n(UkdJo34g5H{BgHVl&pDM3W-r_WUy0c+8paa z{5uCtJOGhV5ykZMN2$`^X?rtKRG|hpZNGoQOK@Y@+^*A}p-OM<_SkcyjnSOoW*aw& zxJ}I}$#h1_W0r#ps&ihlPwLq2(e?^widtO#?(qB;+{@!NlCQ(7q~*CxhlSR9ze5eP z-(#KH_YDGK`WAp(fknhzi==*VZV4waW*hqqnw$U5D8`XsAF*5O%FlW@Vh9<~Bb)Fv z{(v2a4$IcX#rEIU-#GbTNEz9l z$_NIQy~9w_>GTX-e>6p-6ysR+OeQU(rbJqA_qQJ+FVOhoD*RBL=ZqH9_5TrNa0HenloEdNeQZSzlPAn~Zt9 z`^(G15;C(A7r899WT+z2U#t4;O5M8m7an_5fCYd_4bbqe&#P_DaU)i&>#suUiN+Tq zwuXrb>3#D*Vuv~}4mu|=@c*)R$Z=-jE3oP7@xhsbI#FP47c}-vY^20)RG^P8cktNE zliz7v7)j|_{IZntxpeqPuAkUa3lG-0jXMn~gSj385N<~PGYP24fvG{oXhv~SYm(z{?%2O%N@qC35{}O_Om2dX(Xg_I^u6^+ z@)knOb#FX8l!3CigIf zDR&X1;VgzGPU-cv%I}r;CAMct!J`KCdb;V*6AQR>nJE8ktYZn%NcU8E0uDrOLSPjVVm3cB<&K zaUK81UAX?7lp9@JTO1Go%;)EoNR0*Gi7fAkf(23RV0-6xo*O8hbC*&U)+!zyT}rwm zTtyT;B$7)Jutmklr1`H(J6#{!h(7@Izxr*P9l$V1p52)y#G4H%@?h$n_q1}p7eB}B z{>azgsZ+#^<%=cc#sCr~wKutn0HtQd{3&}0*2WEsEl*-F(MMvXf9&7RPaV)uTRye!UniR`C&r(2BMP{aadhs#% zpGp#2o0C~Bopq~SSZgV*N+}DO0?K#b8&`$P@qMR?_#N$^C*qF~$N)fj9Rs;T82Mc^ zzCB{YnHZaYC`5)wE0ms-40&+ECjtE>@o6}5rkUrl$Td3`SVSe2iNgZz5~K<*;ZYET z_tO+zL-$x|joKon9sPOSy{gww>h57g>+oOmBQEaH{zSdhS#Jqsl@xEIeat2y3QO<~ z{Jxn{T)Jf2vC%G(Vvlw6xEv3V+~iN*ta(32E)(@zpKFJU8@H6Ay3>X-w8Qa{&Iex%ttC-O{)gS0zXue`Ye$G_QX-8?GEsDwEL$y>+Vu(4 zaG#})IXIvyKg0AlRn&L|p4mFPAOajM6Tt)-&^C`julIAMl`>urPAL?qE?y8-yR83~ zK~9u55`LbKFLiOU97--H6Lj4!_agPgRts**KdmNAjVkth8rooV)}T-sZ9LgD#q~>K zlG)*yTV3{4YiHL!ZHh!=Y_$h?WiAjeXuSZLxP-jF9e>lCyH)2k2u@MI0ngTp_7?P+j{W zSmX;o$~%;iM307hQ5*7l1;8K zN0=0*aGq$rViGlkH}!BMH$x(qp4B}6hdmbow`M_^1W8sHPqF)so15}XTZzjJsn0z+ zk3FdCYNTDwDKVUC=u0DzrFmZ>7-c?v60>#Mma3TwaB9NWvp*6d>pVBow35F+>Trw4 z+u$UcHrn624X~@pi>-w(rn{>63NY9;wG)1GM>n~S_x$qCpU4EzAxzR$<>ic&2 zX%A{&Z;*rbh@Z8XF8)t{kKk?;==!WaqrMol z&q%jQ4CMua1OSK+T1;=F;iwHf65mGSytuQdv10ioRgPZ>mMp7|NPjStKyC{+v8j4c zQ{ksc299cnP8`WE#DhG%OBUJ?k?R^dP`Wu)Ynx&x6Gs4Gbq9M(d+;t(zgJ~gy9w1; zb%|PjDjqz)BB?=K&hdSVGd>l8aPf$1Cy{*=JA8W_pYu@;wbLM*HF!$gI}z+ou2cik zm_Ew^$MSuD2dVuRsdZakq&UlOL#5-_mLQcIQc+ExOvCU)W$OfV-|kh1a&?L8fA_I^ ztl(^`nE-X3Mytn`%TFg$Kc~<1H*JfrVr5T_02%2h!>;MC!XJ5?ke!uX&&SOYS?=_V zdcCX3VnQw_>_&FIH7Fm>0U{&%N?%_zdX9Sz-U9Eoa(i%#2D{lSAQ!|TxOG4V#{Ldg z6|vlM0TC5iYI;*CR1hke!opweK@C@CJ7v(_W^}PF_g$j*lYMy_lXBjZ=<}$+z)L!y zklev%??%}e&1REV96t&gBHnzS*3r&7mb=$BNYcc1woSlRK+ugDeJ3%wXAv^zb||7B zjqWx7Crhpd8AflUqE2!=%nI+RbLEwi|9+rqr=WFvj~jd6)4ylnE7q4#BXxS@T~V@S zk6KZ^DYKq0;r&>wTuW9(^qlVKx$=@9_peyn=i7&pUTB!~;!}Fr`>AdwD`tD@W$wn@16jQwy>$ zh2rJ8hB8#JHA%0I&uL^^?fXRa`O_nZ7h|Xc1&y%uZi<*PbQc{Br&W2zV zT9=jeNR%?d=126g&V5@>mN7jfjs<(DmESbZCOAr@+cM4mkZ{^(X)8yY`Ee=tDM4_Y zZ8>L%6Hn8HrnC~)&L0YH#=bvO`$puf4};KLr8NbIAV(o{I@kC#!HW-!WT)x5h92@e ze_Q5Tg3p{B>%lMI6^a6WPZt${jI(}xOEf8Pqw@*^);DoMfo!hPPO}j!JxF)u^=gJx zfaV2t&t$k;WYspOq@*Db+M>>werNj8tLS8UeeLSz;Z9T=??#{Of#lIB8s%>}fY!wI zy!C%e)OOnoE-JGUUEu=MYm2kO=kN|J0p2*im$a4s_SMl%)a0)Sr>Q7YXGIv%+z=}1 zSl}9p_e&zDPnAHu>*EqK6B3?rwo_wGJ3cW``n%p0k}9`*078{JZEDn3O%NiH8{;@ng~apUyom>X)g^1%(6Nfk#uuOZj4OY?fDv;|wYBE~9a(S`MzJ zdWMpbCr6vBSt2DrmnNi2y!vVfJ~Es=Xa~>ph;vOL_f4#&tVBU0s4hra%`Y!k^v8e0yc`U3u8$8;>vz2O z`dKB^1ashU+O^e_jy{0d^NYP9V6X%*J+@i8rCMl|50ql({R2^eXl*$&OKRwuM~}k5 zGQj`uUnvwYW}_XlzW~i3*`igT*_e|PF9xO){g(k6EeGE3)!LH-3*_*Ndol(1D28a3 z8mGOSQ#f|GFKuel=kyKQ_JpbQ(9LdT`F?EcLzgHhgp3v;Ir52~5w$ZDp_R}4d63`H za~_t{udo+ZmNv6AMDZ0^9rFigG&0+W&H%)}+NJ~37H+*0q{%|w%XbdU!rx4kN1fCB zHRN$B|B2D>yax+}ujkarPBN*J7nj~nX0Ul8zSmJqLGAJqUM0{nx^wcl0QV!{EYzT? z@ImI?T20vV_^e2Wi*DK0b~^EB16Y?o*i^th0K3a&7WyJqucU=#F4uQ(T3Vxm=used zH`srRCK=Rv4a>w8iXG`;;$0vZ7bA{VrqSV|%?hUHYuxD=z_ zrerq8mDP1WE$rxV3YXk&v>hAAsFgiNq?;I*IMzEfw;`3oz=U5>VN!6>HlQ`N*^GNH5|H~7I#>HO$HRXy%Q)wGa3kN%eTjy zLf@P<94r_*-r0<6vmiy{xI#p@B9_g8x`D*~ap#5-IFruLZ68>d2HxQYF9a*wywR-W z%`Pi7D>8QPZuL6W;*AJdQ@8C=3q9YDfonteovs3dGJJI}c}k??_^RGI9ex5X%{fn3qdm+z)nQxR!j`^K`)I|Rr`U>{R0Bcz)VZ!}Ato#rNG zW-TeCO13Z6)?P_Bm1Dzy9;aifB=LE^f_o`>emJBI@$BIhqKD1CvD4J6v$)+qnixO? z?l#mn@*Di3?Psr%)4aKF({;TUKJRVTTjwk=7f~rV_)&XEmW%mcW&sG)Y+E_l)zAH< z%#pzAE*O8#CfLSPd9jggDbD`4Y9-yE&+v!aX%)jl&28&F5)%`jfE4|6%vO9^z$(h+ zi;v`(XY;Rv;KpZQ08~QTiyj3XkCe-QVLz{jEDg2@yc1DM{>A#RsW9dA zmtIbtX~d^|hu?eCxI~@fH~*M7|7Z!MLf_%?UI?%a3Xvb3tV7y@5v0a11XM!lJ=Qvv z=x90%-LW9i0F0E4CBeMUNSVizhhr08hVM1NP3+iBioQO_eW`KTQodDh@!EE59&`;) z{ITzSKtmb=bYqCaB{j;QV=xoa!lE~8kj%^!X6`49;y81YgQrIq{&T&#ZtJRH2~Sdw z52z0}I@O1#4t_rO-*0~erihzFjmA%}m$qf>;ifKI?GYaate8hRb~#AMB*K?hNssS8 z%;-UN@g@Ij>*6c9MTega1u~k-iaK#$n*_^b~TS+&CnE!~Q z`vVdMi$A{C{bX8UB8!Tvylv|H#>wv9%ejFsdoqMK=_1*!2YkAOC#@bwM-@UikB!E> zXX;?m1H`5Y`g!esaSC35zsse`TDeNoXk_Z0LdrGM&bjggNfih8-qoDVe{}4e%^)d9 zupQg?zIl>TtN3I`ai_`i|EUPHxNpuC)|>Yxc1th(dHrNh!`J#eEc@%EK(_;2YA{Y) zA)=yh{?eo9Gcqb_<;5d_(^P(dx-h|(x{e4o9Wj=+&rLuXf=-l|r>)>jr;(X}HYhd> zMf!s~ztk;@SKOx=9_j`Bwt3!x zg)Z)kMlvs$`dMGELYKT>uUWj=fC0|_M>LmN|49^oflBOkxtArS2J%fK=LK3OC0Jgg z*ZNKiaAO=HTXPcT&0GHAWCgs;HCWRCp9!8um3RN{&^f_k8FAYrlLK55pfA&?~B&no65WtHk?iCCIx!iIG9jiV{Ynw;tGLp5e4PAA+!(Sb9|1#!$Dsf62gf1qt zFpVHaQr=7QH+uG84k=x+XxIv|(@6qlZrw1h+a&JyW2;-UBn=lnXGg9-Plke(#1OyB zj`LZ4>fT!jT75*FKylB<1R7+2De(r2~ zH6IF$>zYsV&!aQV>$d}trXn8D@5n_VR-l%>+pAYI7iDxuJcfV zcUxa38D_nxB0lW%OUh)&h$*X3jEV!E$)VE4=QHIiEvW=r zeq^dq43L(yIWH>*_%$a`H75tDQ4QMoC=?uy5}zA$EA%cm zGfGzdPLPz;HVVYk42&c&z(QPJqhr_%Dc*#uIWjZ7@&Iu>{%Qu(%SlX8*p%$PeyVgC z&>DdcK)$z$6_pQY_$5$9W~=9&X)45sg@!U!`Pl3U`*Z)~DCK6PB4;2=wKVqc5?_~Z zru0*y3Kj&EGl_)|wITPnh3SmADo*_lmP?k|F;87aMjnLAbA5+1gX~B`%31>d!Ccd? zg{CV)d@p3D(DujM-1L9+RiLFZ$mNXU0U>~3b}f3&3mgNngc;hMMr@r9rDosqiP1C@ zB58N-tDtPWuFAqnckaW0)czKwl<(AS(2jboN)fQ2hU@8rtO5)V-MSyzBt1j^VI2!aR;}u+$>|U?K2M{!!p6PYiL&WN>L@@Y@pAJ4;#j8kbfh&l%_8!MPv* z#=pZz37HcvSfb3|m^i#BdBvHfhWma6w1`#)6cjz<(?ky$6=vDUBhGD=clP9dH3;>~ za#0*qH&oHapUSo`5}`gRM%%}~-Lo}b)wiTTDd;V9b@QirA~=?n8EnNsS`46fkdw=} zzdmEm_Bxdqu1(~euQV8R4NiZjh_M#DoFO#`jUDZw`H@ghcgyvnPIkv1tG?Qv<(94n-bQ{3Ay@rW>qkNwr^@>Xz{jsxgW?w@%6-)+ zGmGCB{D=i%xn4)ZX%SO7%(YNvx?QP3H%=HmcGCz!{;IsBeY5vdJx7D8KTS{@afi4x z_8z_Dxc~j|1yORW$C*m*yzp&BVcDfmM^nw75WvnPQ&w^vga0D>y+hMoQV!^^;1{)X z5faQ2ZdR_QF1F_m1p`9k=vWi;R)MDXDQ5hS)WELfFvCpYbu5EL5<$x(rP$@4KAiaS zyp34YiG^~9qaB^M;b`A+830d=>ijmyZG*&tL00KTfhqK4E-Xz6Z@PD7_@&j*`CvRl z*W+R40vpNzMND~tTrxDxzwj(&=&S^6kSzo02m|BbMr-_wl$Wgf7@xM01pP(=E)_C}w{CO?$h>>vlvKtm$zpa?G zhZ53(D{s*bb)jiInQnqcm+9$0)Ofqf1L&6H)*7jQ>vwcihKOqlD{>S4$1(%wH)w<0 z%s;Ys>jGc~Xw>2|N3h{nN!SxmY?13Ehf@CB4Vl6$aA@EQiYAseA$e0%84=~LF40#r z(wjG{HR3;kKu)S9QDK^aULHr0ln5;?7aW4o9zL)Q{1-NxzF7tRyy{YQ)D<03=(cVO z)U5Laai9R_GW9LB{FYPo;d)tOKKT3Oh%AC+=qDR(b_L^n=(`-n&^s)Z<1&j(cag?m z4rao|)%fTEEuYd?Kb3f4nFu^hNX`A%UZ$^KEuZu5NO8I2@FslA%A9|w;H@gWjOlBj z|7-z1^XtsKV4lboK_%OU7qVrI#70x?`;(*TKN$=L8P8sX5|sh^FBe7r`jaLLD|J&< z3m2A_Zrl1jlZ&kQ#|6s(7X;Q}aoLjK7yZYp76{J9wi?|FjB%8UqM-syTtIOGr#G!~ z>nw}Uq!zdN>Go;;PmmNI3e#>U-)mL^it_cb`Cbrs6Bz-o10peqpMg}h!0eG{^Vf0U zkUD&W4alV&`$||&CU;A1)L|(grn}k_Ri;InVZB!?d#rX$pMUX~udhUdkvWW0y_{TJ zeh$fs)3LrZ9mTP;izHk+BU8IN>{=D>zgTJZ#xHoi&_#yhbB}G#CU3ytO!~i;gC5yF zr|oGGQos9E>~V4FuG7%rUD1%bM?MN#o!$?}NhJ|Xe%d3K_Unm8Gc^te&Om6+z^8Gn z(S&I>IE)!&;36PNSL}OTOLfrbC&@@=3SutI$m65B;Q^^7rdtz;M-xYE-Nxne`4i~| zx2H`gnx)Mnl&Lo*qNaAfHC=qP&du-ygOKo_p03>Cj@7)){6Jk%h4lOvm-n$bQlod3 zBsuH9crem2+mAfbXs2V}O_PzIJOt_nh=VSdn{SvpgYB^2q zda;TaI9zlYdGXTWc`S-}W6-|yyW2_}T+=JGWI+Vdk;`OjU;2E=m@P!47X7Ywm=c2L zWWYz7P)65zXSUO^c3YJ=Bp1vv7mT?Y(i;y;MNAd)U|iP?XpF_tybpTQC|b=(e$2WVL!bk3^X!2(#Q zM=@4@S3Q5?$Nsf?IZGsJk3yaH%moZWQRNNM6HK~<_?0)TsLlMg(hPc9n>&FZ!_xP1T_iaDh zyo#C^!s#xrfrt)36TcVoT>||z1U?D!v)+#ITu4|Q>92ZqFY_)z^Ab)cl;AuEpPa1S zJffFH#V3Gtfq4?VU=aZQgnHI4dw96qWz0i8TFkoDB=WfxN6Tb|{mA}ze`1C0M-aD} zc?kHW8jHT!X>ARV=wmjPoXtotn{s!7sGVGv%OCyK+To@_`Iu#mo~5U2%4lQQKacg? zq&NJ{_H^vczu^Q3awhonegA-8t~)vG+)fem;M^mhbX1^yuN;>&5S{YvRdQ*gx9ub< z)u>)rUc=$!Z^gk83Wn6*zfKnbiG z_A-bMf;99#66z7WUi(K_dn-+o{j4_W-TvYZDgNxSnLKk^E(2$N7}U*n3twSt9!u7M5N* zY{r|GKCOu0ELa-aV2HwT(&gYSjL}@i!#Xyeu3fB?_utIU4 z8~y_%qc6e%=LMG1wngXwi5>;8H!Ha1K5TCt$6VxOu`BVr3f-{5!AMj%{Y(J>Wlr?z+j~58(KwKcD5z@I8_J%rE zbFX$8`S3$&Qemi48V%J@*K>G=R3yiErmM**Z@bNKU5!f$@csZN1^LTcGf4(U2P7Bv zAvj}({A+xncYjGhCVvZdEidqvcx~RTF!`sdb^uj1oJ9}vNpEoj#3WwC97cQ%Jp>6P zzMv$CnM!J_m6JUbv)uRovdhbImmJKr3Rsmh(&6L5!&opMfo&YwMgH*f9jFwRF!>V} z1T{-QOLa+39B7=ZE$Z|H`vf?g^pH|GIaoN%lk*#(BpoE4o|)WFk$stWif9+U>vjBw znnEQ)@9b;Yk#~2;Li$-B#*6f^t6feS{lJi}7~yn(M4v61wr_5T?n*n;r)rV_Wc0*P z+LP9_hZqvTd%$)k>aisaf7X*#DY1Bel|aqVAuG@>`0p)B&nJRpwm#Dw6HzAkl}+&O z6H(evc)ucNuCFb=9cJ2ssoSj-EL|uXW5yji>iv52{JSQ(^chkVDGX2*^VVXSdLPVb z;Oqb_Y)3|PMSf|?1z>cLBI-^~ooaoZ(`F&}hyT}AJBf9TIhH?Pc3SaB!tEVhR>yfp zt>(FTSd`pXXHts;5!AP5?#HF9ptK!uBujZg_z_bbiE)&<c@7oEd21iZn*blDh^f zw(`so9I6tm-6>y0XqyB%4d-o6yB7>c`$1ySV>C%PLk;swtAmY3{T|vF=>MC446Tx9 zpCcVW_5ip^1!Kq?amXN6*;l70L>MeFZlF0isKagB+^$$5S< zO(MCxV_FSY=q?#ee_07K0YGFuouY_XFR|PKlkH1P!DazQd5ipPIBf5NapmUf*Pu&T zZHHx8l;*rN>8MN$NH7>;2`4{UHU<*?ra*p5~3&@m&0_k`Ne% z?s_J3Y`v=R!^{47@eID!?|oW)sv60#oC#jdL?f_(Uo0XXtNOc6z(U_T*s;I$49*R)935iwjZ?^Nm zn~+*{o*LOl?lj1Gt`m&ghc_dLKM4xLVpTC1*^{nn$Ne<3buTdoBZDr3y6CKa4edaD za-C>r?+DzvhSR}7uR}6!(5bwFD`Jbz$+b9!^6{$q`T@6sMb&nR>4u~l(2 zRc6#-BGB5OwP@X&DJ#7Hj;Zf^pq-FCMl3zUI#DD+D!@j{URc(b+jpDaxN~?D7iKW#?h9YrM%-t%GD*3x%;hi_DmRkE{eZTu#YKWkn@DQV0Z z+k;%0S0@}bcg*ibEO+ozLm<#^%w#j}r-Se3-6R>q<$-+U)PhIw8B`~`V`ZX@R^yz^ zPBhhEzTQHW2trlGcM%oK>KI`g%V-WvCB~`PTLhhI+}<;+R*Q7lsK-on^=^9?{iv)Z zVhT}SDV+2LH!aarPE#WSltGo^-sX|&T{0gsYS_gJh?vGr>jR#O+TM;2!=fGjZ76pB zGR-pVOGZ!)X7(LkK_*?bI$+-y*JR(U=c=)Qc^+s<8 z+R|=KG4-UgMpsulY7mDM&*;-3y zeKdZvCRzH_Ex{TotyfSqXn`&Sy)hA@5DF-XX zg+|+^H@LyBcdgZ;&F43`ALruRQrR-vUT##NxWH9$u~XXy&-Jm=w=EkhPWt0kCDp+ubw@$&h$Cf=> z%yar#pGvm5t3*n%b#!T$6d(eO6&R_4#M}_Z zOjLa?iN$uk)}w7Gj^&eMV9QQk9}&Mt-WZBmb(kFt#mu`%CZs5l`)i!+9U8Z-XPmNA zf;$c$!)mT7&mN?3)NDzpf_?@|ST-vdR1)e2>jjPOIM^9Ezn({WwH?xNM)cR5B<&|fR3{p_-;v#(E8CoHCORLC zIq}^o@pSy06tLeWl7|oSiawSM%mBL$R@%47fjjMS`qS_!A4fj{2iN|1&%WE3X*M|8 zSt$xFRTEiZ<14ny>UGC=eGW@Jp{+|;tv!0|N$gZ9Ff?v!Z`VWZ4J3f&NZq^7)CYlF z$@ufR02{xKJrBp7LEM0`EP7r`wJ#I5XqJtuTW92om|3_KaLsh93>`y!#_(2LbY z@KyprgGG1F(%Ll!quxy{qG4&*sYCjnEbh{6wnymnE{cM(Ku&$2*i1ta={GhO>mtE4 z726qwBUV+6JnvWwpAVaIjA`5q;(U*dc1h$+vFBR0N=`^PG0WL1RTa|3^;k=Y$v8{e z_lYihg_`}C%}QcoXB$`JIyQ3fF>Eu7_>h;z?s_EVD{~)G_kqIX=05d~)o0ARJ-gS&>(|}DcHa4 zHs~(Bn%!s3N!byU5!#Z`#*HbDE?GAbx|(Y}FzC+F*dvfZSUO}|2SFqo>2b;(LW5q>cewR~hEzM)=b!V4Bd%)ue&?VczDD7J;AoR1M z*o;qpqi1A!PZp6UJ&n40%!CAmxpa985lPL2 zsRON|O5ONXLf+`2avdNqaYT6>Ywbyy)67~H z(vo2F2YDFfwCS+y5%;_2bDUEtJYDk$1VO;nyw)J=>Psxa@8xRqo-vTml~ zRW_<*Ih5HqpE<9>qE#)JZ-YM+dr1L-#K*t7pj|iEq3*LW1xuBUQD9jzH+SW%nb4aM zKYR*yF8QR$`Oil9HlGLq zcWb5Xn^_#x9L;s^hmMM7^uWQx#{WfSikerAy*yr{avTM|oGgWqQb%s|z@&d9V^J1& zm7?Q}y>C0zx^faxNI|Hp3RmnLRAx(` zsQDN{An>{DiCh1#oojt+;)>!M5U^IEwqR8r;-f0n)>eh67>F-uZ2%o?w389A6c8aB z9wiY&APv^mQGAaziGYvJM!^^aLx_<8q9xjfSVMRu#DF-UkcXIt6cV6EZ9mw*A)j`4 z?%Z?lIluEe=j_hiBN{x!l;G_fq3MeEF#?y9Cy8p*AJ`3*%l1&)R0SOk5_kS>=L@3s z0dD*l{;g3ajnH4b`EKgv5E;ut5$$Y4kVcd4G$PfI)mOsMe*6(mE!EB<+!tEv)l&Mj zbLocH$gCsQ`oq6DLzMcF4bf|{{08NMJ+hvz!6C^pGc2xNmUvL!aoK~>tZ3F}LBX8$ zp7D3zYr@QAP5?#=DEYTue2|N2!=cEjf1zAGc$t` zgvh-*>tdw!k5vv@YpHKMc(mar)A`nTh)*BSG5$$gsVg8|= zgX8#1J?(vhd}?K~fG~-Ya*x%ox1^S5SK7Fx7LOmP(d@*Z+`f=w}icw8H;EoD5fJrJtcByaWYafyE&(x#=?elXbpYiDXItxkjb<10^ zQKy3i^vuF*tw>j9MLW5-YNz3sr|v9E0lu_a6_+w$KRO5*0>sQJ3swAGOK|L&!ehNzM#e#5Mbs=(_r<0DJwZHU~ zJxLu$r*dSybHROzwKm^trDX@j^VB@=Q^&^uAhxOCLTIq;8)Rbp@b*c7w5s%KJKJb8 z4ElfcidxuJw?$m@eG=u9y2qyEd!65ooD({UzUb%ITD5-5z{dqC(jyRg^mMN zQAT${V2wYeK5@&zOosmJ4&WK17!&UW+bmsa^IZ;7eYU=~_LQk$_|%Fm&r}f(V_~9K zz#0|7-d!pOo4Tj9Ao(L*Y5KiQi=7QPq>70pfq<0PQ{G?|aTE9Ll57CjK?1EPR7Nf> zIS)aSmP!1A4?hGn=`;fd2k5ruSUY%_6pn+obdPD#WBS1Z*jjG{>5P;R+^SF4Qq`-K zB_~e_Cs=|=n$tlx$g;1$a?b*YCM7!W6UwOf!`>|}=|c;t0)7!Jh|G&+WX|})wqt3$ z2#ngQlZ5Qjb!BdCD_m6pe#m$%H@oLp$4Z0?`eKigX3qeAg(t^#uoqEQOl`>DK9-uX zDME4Qg|eO7eIN#(DEbrJux=H)jEG5pFc{C7W?iB=^D9Mh4!LYJ0#ZQxTmBvJ4EbCL z&9}VIx(5bB>~4B=Gk*HQ^$uf=Ux%C5gIpDXAy|P!dK$SO6Jf6-oRD3h$bT`;bqff+ z9rj%&ahU{&c+N6t$zzB489j4U!U4FUAroa7O2opM zH=3~wx1F)c4kt^D!rtxR+J#>*Pt|+qB$S7ZO2XY47fLvNOIS|_PJ;;vrOHsMM=RVm zm%eE1nog9#9sRS~_gP&=tL9od%in9tZZjZD$!?wz3gh0N{ogOm`@&X6{y2K%!GC}7 z*RS?+M1{bAIch)Q6Py?8d9#PU!<-1^{Lhyf$k4z){;c^hl%vV!K`HLPM{FNU2whhB z-{rQ??rBm3IrJ&d)$o5O0uQ^+l@PtQfzPS%xcm9Bo5rHXmxVmDXT+}Tq9_jO-8 z>Urq7=*EJSyJ}u5mBy-`h7Rn7jp~<|Y^N({?)NQ@R19Ps$@25Ps<0UEdUYdY`ox}@ zz<}Kqb@3gqdi(Bl^{lU!)cR~GxR!LdUhe3hHtwDIxzH!S=G}krQ;wD0O4^S!nYgCH z&jYdY0ehcomey^~H3yqH1y{_qY9IgV^Gegr(WdzI&$Ow6;?A3wf0`7SJaKWiwDr@x zR{ZvI|1&qE^DnnNdMTZnNxYdtlYf zlNG{lKip9;Dqz-lPDy=+14^r@oB7PYCIr2(F0Xz3eCcbon?3V%*V?{Gb=VG^IT*B9 zab?(u7e}*aF2r9gQ?w!h8j~Sp^SrncQqz>$81J5?2g)uFwhW)#td_Pq*VQ{RQYj(& zK;YMS9s_>JhSr8bfdpy?u0u zZi@XtUS$ch%~dUsAV6C}M_DIBbkbbH7lA#^O1Nc0eQd-h@>!?&jr)I)P!#PIzUoK! zm_DDi8e42obX&C6v8z5o1y!gwyx0tFWxE4^7m83K3qtxCI;fMI#tnqg^0_juz&IBU zrg*hHoKZA!Ovjm#CHz`^=Q4>XC>Rk08jQrrBZQ#qDh|hBiI&vRno5C@C=_tD>}S5H zYWL2?*fz8-^Gv4*{*Z4;FI$Ojbn>zNIVv}g4mEnFM8BKTw3Agiuv~)kXGk*J2>H@z zy=5^W5hen9C45A6*Y}1%3<+ReahuCp={{@8$Xd3_`L*_)gKcnQy?UfV+iuB(w$+Z< zZH;?jh$*uz%=O4=b0%tE*ZF7&)00eeAgMxW3AM8_^ka(J;r1k;sWV=hP$ciEb#2TE z2H@xkwWP!J*;>Kc@L3(}LCuLnE-^-2o=5Xa-8-M*BA;cJYF`>H`EV;OM@afvLh|8w ziS#aC<#JeTgk!Vx3S{iGt$U+Qvhaf?ldhQB?cJdV%>kncBQ9DGY>wV!+ z64CfbE_dA~O0IjS`YPGl;R`}YfPVQTg|hb4%-w;ag%IMCzNfSv^Sv=e>c~6jg@p$% z-_9VhWP7LNBdJ@po3m$OsNQI{qvAR~AM1xA7P0+;{syJ}*+heEJ1DJHi^me4&+Wf# zsZNv7dI1B|mgr?yn%t_X6OI*JIPB2MHSio|Bxzk_ z2A9lNqzUBnPYSFxsnZZ$j%QE49`v-uTmyE|`0x^aA$#c#iU=CRjwVUvw(jcg*4^&K>n9A)EUGWPJVBiqYRl6^8n2{p84`SCJ|wgQA`of0)Z%$QTV&)(Lfn zTMAr#*EqYEgb-WsGa0S?+1oqsGv3|tHrJCii>Is2X^mv+Ek|K%0$@;{iDEmrK+i?( z6){{mwr(9w_iC_wmQq)1E|16BP-2T}`{JMHKD`}zK~XMtsTs}qgSlE#SEY!M&esvu zb`>N_y6AtCq3%qa`u_{(2#H?7l&^lUgfiaM5c2!bZt6Y$ewG->eG5|vd%mP^&-t4s zh3|QiAGZi4^aYzl;eBLlFr$l%8cc<>Wfu8NOiDy%UdL zr_U0F!k?UZPKc+WNJWF*WNkpym?#rPSjkY^F9*L<<_LsE5_K!kHvmolKR51BoM-}g zi79`q$$n3M!%=}2t6xG9+g1o+CP=BTu1{z~!)A3Jh0WI30K#+~^nO5+#+xqzk4NvZ z>#sU)N7gGNoysi!02d~42;Bw5N*b7p$bGyIVvY}%m_aBGs?hLIqN=@Sump~tU9-+N zEy27P^!O@RV~5n(;n}sF1tQlP&VBNieptj`EtOYKAoNI&%{C{i&y&nR#8Xtf{Re3GT4r!_(03YIf6tYj-aO>&P{|TpiLmVzJN7o zOvrN|An}}FbAWF8{AOS^KOSqchxdUb9EHCh1l|n|#ze5>o*F=+Bg~n70wiEbn9);v z!4rl6frsU1LS+0wTF#!=S&s7QmY;dhb6X}`W$hS*QmvK=h-+Y~dJ@~y*w)RSbN?Wl z+XzHsALDhEM77n*B(y;t`QddB0W7$jywwikdd*we+{~gUW$MBiKk{g^yE+r{b`+VE zHjwtvGN##}a;G5wuB zT#!yVDP$l0{=*?ND#ggFdpz48SB5SDLEkkfaY1tS5z3jlfR(A#KMT8NE2I(6`ipD}M`m^i4 z+3vUf6_*2=neNM(4MRH1WBtduz&$E|G1~ippXKT-W{A&80 ztOD$A-on!Kx}z$dHd;RSGYe(#m7Yk7jHqb{h*Pk8eZ`2AW(4Tm!0KO&bQb7L5G~lv zQAiaExuhlgH(a*~Zr4S4zYy@H<3O%bE2%NPh}b~I61%g{izjz~Q_4rGr7LIr)VN&n zSX{3$(^cthT0SR>tUNZmPyvXR9ABoGaDo0d5 ztNadrd7~E{o zJx+m`a?%DmJaQK#bQyk^&QYPPr@Dre0m*f9G~+s2w-~_j7CTrAb%N!fuCQ#&0FLU~ z=ZqpSBrm5;t8-6W1fl+Uk)0?98!sR$6=Wuc3pjvwnJ+)i1%_#3@pPRF9zolX2LQ;z|unX8C$mSu+Q5m z=FdE4dyl|e;td+|EY)4cs+!l@pLLOu&iAwv7`g8LNVXuV!CiJF&^Zm{P%i&Ka0x|GPRDJ z`XF6bC~~afh<}DGw&e;QOV*I|LLCDnkj0DhJ{!_p z(8$|PbrjPE)x}svC-*i2 zq|0GX^|2C+MwznPT9u>)o~QX4mNqMf+nc|`YyNWhqEqrLI!S0G2?cUGIkIMo07+l_BU4TKkyzuJo}Dp8M#$92LV0Q!?EYj4$QQorZNn0rUL zqaUU={CMAou-sw^O1Pd}zXdF~z5(Wkx(2vY?%$I1E#aWx59!zZws(SVD z4)Tk~0tqkq6q7i#>qx`qoG6aEL1AoY@IFBr(e_a>Ypse!TX0NVbb{W`a5Zs_VwCc7 z`qXexreNv)KXjMDCa57?4L@md<+f&G*W6+>%*`cHCnS?S!7D&d|&1e77$QQCHBdE&ZT)nA;Eo^4rq7K!HUWdgSvg z(X%u;*bX6d4=!~0#O#r^!BSAvQqT;hZN1?=$9Bo6f{4Gh6gn$}i6x;FN7 z;he8GjfEu0(RSc@6d%TZQe>yM9!)OZ=ViWOPig9O{#tnaip%wL7?Si$4j?R|hG;&R zinD-+j;$+2?(Jfnqn_lga0q!ESTFP(FbXsy+^3QnXxTdZWa47E`I7|b33J8}#zCez zZ?*GlH+sb3S}Ebhuz}@YWE)~w+;(r}m|jzB`Ot49cz55)^awmm%qJi4T72-;bQDyK zSYER$=|9I3lrF@yYKaBVojx#RLQ(2v=?5_tNGW(iS+Q!C=c5Da>*S+(AkK{qV^jf% z9B+iA$nbj(mEL{XC@OGFuFpLICCIa8kR(M#WEprzp8x8(c#AxPh#Pc$?W;VJLnhY1U{uW?(s!LXvG08mBI827rW z=UJ18wVEpZ{V}0>ZP}!{%{PRDFhIB5DUzFqLEpF#XW$E=jEU&b%4KQT#eMW>^zGkk zU^Jn&?U5L3&)s996%G#aK;d~2;RymIjcvL9L|gaX*lfpKZlYNP%~Y#493{ALWbEV1 zLh(*x0&A(=DPIiiO~e&Hq&epE!lC)7=1y#7iFEMGf++p{Q4Dj91+fV*tHo*j!g1lw zz*<8v<{lscm(h}<={3;KJJ_9F`Mv>vrY zjhH_5ZGU(9eIcJK0yPp?)b?50-dr)e!&HP}VTQ;ug0RTPts~i1Pdm7IpOx=`^Q!*< zSyPix5+_xUtToox@jRE0u6okj>D;b~#ma*uLz-ZfW1jGuj!29-+G_rOyUw7!#N#0p z$y(KxikZNi0!-nlz+wNWokF)RQ4G6ZomE+aU8cuBR|tHw>5*RY-tG4rWn9;h$#8D$ zwm5bCLDj22Z1bp~s=#{iz_iTXmJ1pdr<#NcW|`-RjOdMONI$@c%y&M#mtDJ|G}h!x zKl?)38?!g>I?CEQFT0IPCwyRd?W%HhJjDtQXTsRw-pFG%^yG3`xQsCU)^ozs8?$;B zY3DECo}!FZrQ>eSs0!09Pa>n80oQshr5~~&6A0+Jd3;JV_xCE!OL52(%}Lx%!G1@Sths!nRkcv6X;xJ1M;H9ZDNY*2*uTmELmKP0Flk~xczm7k zG}cwmogqlFqzw$C+Ia^g6Mpc)XaXbG2w}l3UlFY$gS|@|E*DSCO^?w5 zSzch#teRL5mD8$Bl5FmujWKP**0hB=iqTaScf{HYdg|oKwSlt0Erq&X5I3wX!F~Tx z%$JW@kMqf+>HVZZh(E(4P^630801vPC7J-KF-%76POHX3bIIu3mWr#_aE@96DnF0v ze#3($z!cUk0U@bkQi&bu^SG*rRf5s2>9*^+6iu=ASG77ns{40i4dqndmQYTjvn@;` zGb291ZVbuzkM6Y0jhqC*_P4QOSFFgjjIb zKEv4nCWJ!g=7C1A&ysN|+U=TVw1N6zPrN8v%T#mYWBvT+!s%q)rXzNrwXD2>-6iO1 zwkCt-xR|`*=p@w17Z?9^?=VUa5Ti*H1UJmeX??|?gQG@n{a!r<>k{%%s3T){4D@NT z6trocF-jQVq;acHc(tF-6Rn?>g~7$Hca3^hIi6FWf+Jy^6l$wRFU|$!0C0JYeKsYV z0`l-A5$=X7TIa=>+(~;DlVkXx7lu4S(o9vSXkL?#8%H3_wZk&c5=W^7R(OI=z{zLP zF+lGF?z*{eYhlW@Qt}+lb8q@U&dJ!Tt-?M)vig1N>x&Mke}p5{7n_r_Nkmmfv6+k} zB0(Brz7K0YYg`j$s%eQV6{^cyPB-F8!l?g%3o!Mn3Jn$l@O* z%}mP6OE-_Um*|#Qj1M~RC*-O9M)di~j;>qd>7K2}9W%U7sSgk9E{LK={&csL3$9y4 zswjqp2VIo7oE5|{$@Hvf*__L4>+q#yEyoRbJpH}>YD4B)h+Fx_;E#djTo1(ypuJkZ z;!kRTY4fodb!_a8#R_=S%|7GHjSuHVj_HTuj8R1E<%2WheHi7Gtq;z*-uvW8fKI4S zw?h8T=C2~xf5fN-PF|awE?@OvN9-IyF$qs?gi;SdGuT#>0!jRFO41(;lIR-@O}t#? zCARhFojp@)&DSSYYMcKb7=gS}l86!+OUD2yH%!I`4{r^b<)+)CEP2)0aQQndAz-j{Q4Dt_Hh-3ZVb;>J(#|_a+&GmK{#D9_Fz`Sq_}=j`lQn<9TFET}cY(KY zDD`J|CiLM#I%CBVCcp-1lh$@`wniAm*0*^dbNq4=zA0tK9YZK#k*Kx z;;N^`Zl!NIG*L|B$p1@pO%6k^cSwFXB%g!K0r0|6AieBogomQ)9xunWs`ldcf_WlL zL&0>(s>_-xk}l^?EiH<=c;c^kAvQs1jp^}cko>dvkHWs1PQV3W0xUTH^yx#+@Au3r%^)Qvlzlx$ zmEyue-vqDxPLgEqLC~y9>8Q5jGEuYlzQe_QyKwI22b+Whnan#7raJl(AndigaszkH zC9$nN->F3Y%KIXDCU=V8N(bpt4oDq`N!9_iB36 zLoX_V1xm5`829cYCupLJ8AirnNyE`LBt^efl&G)*s}_Z~QoGU#H)ImKA_f)po;qnIsxLg=m_a5j{>u`?ZiBNg;0Kx7TqN;5It=CHPaWS}sQ zWkO)c?U5z2_wV$HQ7lm#R#QXb43B|k_>I`OAGcLs{P5V(PpF!qE+~XiUzCHRN^AGJ z3YY393|35kN7hC}cmu*NN{BRRKa>`5(B&w8Ck;sj^|fh}Kj$v%&dNLHm|ko0{e z1)6NYzXYv!XxvdTugvjE3)k#KmIk-_YI89*6s0Hf1=NnrQJChHgHYN&{7!fraG+AU zdp2|SRyYyEd&a8Mxdr)FC-2ETTDNf71Qb}^>o-sS%ob#};hFrkk)Q&}9~X@`xYBJk z5p%{xdr?t-?nHvUZDW*l;L}&^km1?q%(3?iN|q=Rzyqaui`;EUkOOBh#Il&XzjG+B zcMtHjN=aM=q77}b(w@bHzUbp$nqOyku$It7U`@pOt+-I3LJpP%R3)Sp2PJ>3PyG&ZF^Fu?{&5jnMRRJio(@9C7`M7P(^j;gqU zQ7x-Km{^(Wi0(`%-10LHxaLbf49-z@GC83%)?<6Zo!A-48};S~@rdSJdsPhB35e+I zqn|zb&E6E0Qo(JLg>eg^NvOK#%Qv`rI|WF`3QU!g_(m=d2LvgH(XwkvX9M3{kxncY zAghR6JM5G(ll#r!T$eZ%T*JG0!6-t&GtSc>rvj_z+ubzH`X`IDef zsu6duLoZo<=rDyIbYZPTx0|h0`u+;2G#!wRQqsfAC!c6*QV~oS6ai(|Ysubu&L{#s zZi8~hqhGfDkd#8pd!zFO#$@eoF6e>M#vllhBmDYHC#YfNG*$cAUa zu}o1E6H!aUGL>{9zQc8JAaV)7xH{v@Y~;ft-cHJSB*`*ij8G#^vFrILI0xP2xq_VH zflMNE5s>74FX=MOux)XFGOZ?tCQ4ePZSn(!J-ii?f#w_7z`$!Q zCpxZO2~ptN6=0b;qZ6?=UvypiDk(*`<&Nv0n*X9U^jSQ%|3ifm9)YtWYb~yJIZwTx zJp_++XD*R-@~)XfDQ^?smES(4gienEptL6z4c|Ph-lmH@> z+#XF(W`q-KZTK@!XHCr;H&Je@S?&oogJjRwiVBqKX0zwZ$pl~*TrgiU5ER}~wd!Q` zyg6~x3L-q;u0r*{H zML=xM_*?kEOVYb3wL2(dK-47-!km$GH$Tok%7li64c0vJN+o{@>cn@QR~3R@+#WcC zYO}Gb<1~T=N0X4%j`M20QhfxC8-yKUQ9&2B{Bu_SCApG#VQ&gXUxK<>T*`vZU{nMP zoZS;1#+cWlzjJ?w~t&9FGC^=C7M2$p)%)}YV(`$cOVAQ!3?Q1OK zf`S7OG6|3^(fui9rko{6%<~~o(ixW9-C3pMydN(^GSqw*;~l!L5D=9^Yt7H3&8&#| z8jY4++m~}Wd2tu_8$nN7^^aA5{OZF1$K`g9^HV?R6h#%GttyAq3PSb0_u{2^AK$;P z6J_7ZCFUheKZV|L-?LTk8WYgj2P&(>9{DnXjR|sJ7Wy>j(ovXRDflqslnIKmCKs3- zNjaQ!Q{;?3gz-wJ3~SEYKO4CcH$o;kXn~Pqe@mh8L=tT+PaVbE_L#mecp~v?tF~Ls0W@C95C&v%z2g~A&BXCoKS>v>Xv8F@?v3D1G`qT7`S|nuWzR7+FVC&hqx(ht(-In9ETS zjhGX^H%#WK*(4o^y^|28J#|Ls+xb-8WY&A`#8XY4dLlUukG#uIjfua7laI6jr zmxq$P*5*Wo*GickbF*zk$$}{H(|#jRBK|<)rJKQ-v(-Es&4{(wsf$0boN zi6;IIpuGMu<-6f9Ce*6R0h~p~Z<_;jfy9sJ#Q_}}M8}@tfQEw8EUQTHw+qsFqQlWc zEm!jQ!g=$>*Y9F=&yq<)MrS@eX6Y8)d;4u&3oijjkvQt^0|5De2wrI6C?FMhEXAH5 zTzvvFK^7d9m!}&6P$_}O&M^M9WBL&+;E!E9}n}yhiD##=eb^W4jNv7p9kpjI@ExIvUWbB89 zCiX%bztxBPyP3DcPbgiGEuc3P6{NU-$z1xdt~DT1wCk$AAvUmH^QeQNP!>iS*saJ4 z_XZ?rXqZvKRpnah@ky7o71{Dv?SaBe`*5JoAZ4<(s>qJU_jE|rzs2MCzMfghE6n8J z2@5U9+RVlHOQ4A<7{SC3NEtFArKHtej_!&EJ5h}ESQ$oj-i9w<*aX7x9JqJF!=OOA zNWQKR6hn>fKVWGUX_Nl|5M*Mv?ZkY=GmwQJm9#e>k9u+%O~`Yo_oeYO5j=HImc?*% zd%cU{Q|%fW0D@%l@{4WasF)s&4Ly0EK*`6k$gI^?gU!PeW)VbV@-t%ai zltkLkH9Nx5@*m!(qq;6?0XUGA{G?8OxFzE>j59Ib>n03CW}zV|Uv*}&pp9nqFi+uU zuDW#Vv9V%JDo`8xNyDPnej1_sZ0L4{#|%I9cwplaSZ;+cqchQrAa>=oGbIvZCw|VraJB=cD*f3z0t}XC6nG9sRPG) za8SmsD;;aY2+s>W&mqeKV!T%z081Oq7;gvQlnrMrL~l8}y{1TBx_%+kG{iTFI)%Cf z2=%=TKQaBLvmoy}*xS=DqKyD4Ug-Jdowbp(#B8jKK8l?hH0rr1+cT_I_0{uk_fBfU zzc=&=#cky|U(K@Z@2e%np(6{EbPY5tI8To^>8J&QBwHMQHzh&b62^qr<{W-Gv}p4) z3U|uu$LV-k`{yXtv9S)VEKoE7o-5c~jAfezvSw0vO{47RRXx>2zUU8vgO5&rx=n*p zGW*+ng~#P{bi3!;XfFVZCgoi#QYdM>vIyF^B;?S>-3BCdZ#IlM^e+TC;4V0hPl=*f zdq|+Djn^WdZrhRSB?D3BDKdh-2Dvbj^&tL?S2t4BYq`8<$I^%FYeYn*H?UJNIwN}0 z*xqsaIE}xw;R+SNg_&wsUtGo{A;4MT+wvE^}8{Y?OgqhUzgp5}S=MG|Pd zq;(sJ02@&&;vi+7?r!z<_$jLu8_LxBmu84lQhnL0Y1e9fAU}Q&hzh%m_2S#?9i<>?g19{^owM4j%aAW2%A^b|Pw zo%F06JsOv2PU@`x|KgGuG3WaQl?-#owq;##+SwFx zS>UxZ9!o>zxDg}_~dmzsp3G=I>lvlqXMw&yN@C0_z|DXwVPSVz{>DrKESD~5V) zwgo==+t~(zfm#hX1{g!L!}wLjJV;Pns5ueB{(|ij%b2aLL}eneaITTKw&+|>aB`Fn z6I;*AN10nkI>LB*hctB}9hr#UoL8h55l2>T!~l#4io?oxvWZ_4rY6k@*tW%h&2BK^ zKn8MLZiS21B8tLed8>y;sK)j(sFP6kJ3F$Dq+uJ^34WuNx#F#ow*=X^u)$hiG~J;f zD&*2Hexm(6t~_PU zAg%vD8v?ygl|Vj^SBd|K-R5{gW4*ijFgT9h-l+LX$4viA>Jv|k=dVnI16^7SvhMc% zYeX#03w0>(`fT%cnt-sa(&G%2?yUX&fTh<4U>V)fbMfpXh7snE^>FkWNx9KGz8ILO zyFDQb2uBgYF^XCS&f4aciZla*1&nA>Wrc`Zx@+-Z&8(s{OX;KRbc`wJ{+Lrt&G`Ad zPQ$)d?p3M+TBR%MS~d=jrGOSUP_P4=3f?_p<(L1`eGko*RlC}W#fIuY7>9_XnG73v zf{1fN0zQ8?Z?B{c;Z}w#+R0in5cKE}n6KbM;Jz~@`-HXGvsuRQ-8BceeX!^o>?WoIzm-s9qa5+p3tUqX=_Gg}itLh=alQDJ|1N%}#O zI~?=f&?Vfxb_Ng)5Z?;%OaQ|iR9nnXvQrb7Z3pSDin}t{Cuv-Zv4i!f10;?$R{w`> z6|N1vppz2X>Ns&V$fD|uaPss%``JD8^ph>v8k8!4BO3yT`jlvEH*S3S{$@Qux?Cyp zg3UsJa9}ro;qTKgoO|2&$hFc5WwERIoL*0nSg*xhbp5<25aL-)CzL4Zp~SJlch<(c z9sPvE!qoQAxR{8Um4o0ERIrz^3Xb38-)g7NKC(fAU3={XFBo5^KxvY$ImRjPDd>ho zzyNmG3YILL_ecFr!a|HrRVsC&eI^-o@3#)~>ua+J)Hup?CSAgnO~myQQ3dBhT2K$vQ{l=K7; ze_nsl2Z?*yc*LRIpL`MwV70muaL#B0a`9CXgu>6ASd&^v8r$~4?ge`zXEYnfY+Nh{-pxg&7WTu+WM1)lFEmX_v8h;AC|>q z;V5DGx9=17(+$x3Q(o#UV-rxSewRSkwxT^(d9|=COpE8YvMsXY197<;S zffiFkp}O25{3*pdF+q+6h$I0}2WuKUN;NPpb>qC%)ma2c$tfZ;%s=GAUyOvgE8NNp z)?3DAgX1Zd8g?_@`0pua*kev`m^4;|(Hl$epv1rbcx)_N5Z#H=Iv=&8?$MC5Rb@Qo z4DSbrx5-1UBrXOu8?iP?b?CB(94+4UBih6K=cR?FI$P}g=#*zY z8cKU(-;R5nwuJ!;7k|Iqw_XXeY*g(C8@X@jQj>ox5tR*sDGH+HZA45x# zGW9=*5GoZC!q9C`LKz_1P!T$`<704?ZL!H>_-w6@pR`|*9UOFybl%82Ro|HhoP>jJ zs)=HGo#@5$T1ZAzkW8hXb#y?Op6X>jmU9aa&IU}swB4ZUM8DybF9G^fgB##pvj6r% zgJj~b@5SsV?ZWW zu|vTHe>2dU04c&*=2`ncFZ{3;cB7~I?F+ABZ|LTZG#-!ure(z5vX)b>rUv2fRO6)pw<=KxH zg+T{jgNr@xwmIU~-gjn&% z*qHXMKCw3S(vF{(HzTHzPo*#6NWWJ{-w1ur)s(BRe|9b7fAV1`2S&A)$~Ed^XMDOT zk&j_b-k;7T3!im)?lqd>Tl$jC^UD}_$5?euC`VJYOlFFB$oibm3GfixqoK3x4+at$ zcTZnR^_qI|X~cA^di{O%Lkm;2eJq)1iRY#oTztEg!O2m@^efqOULW+IM{Ar;KmHX> z%nV)~FKHw3JVJ>3VGBLq?n{37=-l%GD?tO0Yi&A+Z?ki&6NRHQYpu}ok$YDJ zaZwE0e*md{7w4q|p-)SDoG-60&-vqQesE)r1>+GJtGWW3$~Q&T4uLy({Sj!_1xGV;*e*S&@VGr zdwW>%4&o~rhQ;fYBnWeQV`yi!;R(6tdS?RX8Wt|h4{R>JoO(U&1{u$!1;0P|vROGa za4y!)SYm6rv7;s>AVhv+O!gRlku`$9XFbBsOHVBP-{X0b*%lOq>d`lA%KnKtmYLc&>M% zu)6B?E9gU$e{9@H6u57O16^wv;wxG4!m3s00=f-&+x`~d$%2*`ZV!# zAKR;0v2pl`-pxHK@&ifh4--wDt*}*_KMQkDJ~;O6#L%CcbBz)MU&fVMRi*4=l23eF zeBFF7xqDxwyNnn0T`fYQud3bBWf1(2@!E8S8$Yj&Q8La!L)t7eedca!U*d~TwnyzQ zB_l^2vx0mwvs?8R-2%Vv@$Vna3emE=m+ZZgeuB%huUU+pQht9YE^lV@o5Y&LKl0`P z=ydwgN0t5M$v}7d2Kf5v56rvHUj-`rMNVF9vD=vNuRqMrf^j7TlgjV?TA-V&h}AG4 zvFe=itegG!>afpSSy^ZQ7qH(k+nx)rRdZt4WzO}1H=ud%{(sBX4?*y{g7X2Km$3Gb zROk(f|5@dg(1g%tcw^y?l+;k@g-hzex&QqeV>|G@*r1)-mf5+X(1$X&{(h7WK!lis zo8#bIm9dA6XC+?w-+OZXuwqf7*3ZXgk5<5_di5SGSzWKEPG1jN{Orhb-#DHq{pcB( zxby+mV}+`%jhWo-^}W|}&a>t4c;V*v!uBhLue&yh-v;>%gv z5|uXB-9#?@=*)k%B>Pg>X?|?KHA2kGyaz;x3hmu(69ZeDOP8NF2&b{#Mo&Q)=YzI3 zmduJJ3adA--!C>pMK_B1_T9Q`dwsm*&F(Ap1}pxNVm^j;%gmkEM$_A7rz>VgSQRff zY~cwz?E)3IOP0mdiOSRr$hBI|ox`)h*7Z9*-8@ z`C6Uxww!L8{|g&8CmprdJ}b*Gj)oR(fM7uo^B=x-x!3ijNnNCX8A8;ZxTX@$#b?wg z9^g`t;!;%0b$PP;`M6c}s^w;8D+uWidMD-`w(;|2zt7owsvZsn%1=SGA75W!WjTv| zL6vN>B{mrwYEzh+JgWKB;9S>Pw{Q5`;kSvo`Jq4hk3ea}YeUg8IZ3C^9N5Nv|Fcs! zeP2h-5@dxEwAa}J{vpXAOa@lc5c#K0LQ_AeeRn=mz1Pnp5L}n*1BLBiy}whn^m^tS zYrya8O+C&_4MJANC2Cju%Ibp`woB)=-qCbVQ>|7o#}#G}qh3u3xRn_SlZG6BE0Z<( zX@K-)Ok-YxqedC3qpT?Ko8uAWW# z9NauL19HH#eT)AI{lN_^!GNPFcx@`#2MmqJHe>4xg#%j~16vt&O`obae_kFr{o}jW zA|EzueOM;fIXuL>8ssetjzO{_>#=JHt=X`?U0E3rQk26{FbWkqwl-(BM$R+pOkP~b z&G32W+JWo8n0#)2!WK%)H&{9kl0;Vt-K9}9F;7npiO-V!Z+nr%lumghVd1(~nm5GV;T=*$nuL{M(|2W2Q#o`Jq=DlPBsQEJM96Yk%k?ttijAU)lsuHV;&OMR z*4<-qqNxR7RImFNnmP_Z+I?Xvt{YDoPpUG35_GPwk`X`~=lcl-fu5g3SFLsZmJpnrB z_Mg(|*1o&Ehn-p-op$xrTZo|H->^Mn5vI1A$geS5qp_ZoETrop59XMLSBx_=9V}*B zuYy4`H?p#CU3LSkg4H=7=2g57m_*dQbjmVVB0OF+I;RkKbh@mh->3Hx$VFupUG|H6 zl_4$GGrzJGb2*xRkZNueP!GFw7x|zZ>_qUw(1+EdQ3Hy1T%z~gH8c?O-r<&eo!~O5 zl(k|keyX8zH$A99G;t<)sY1G1ym-})nD^9KlX9k#jesC1BpcQ?qa+rfW#tA0Ln`xbXJ+B55f@nkUA?JO{D(g3W|QG@6G z(~dWQ%jD6^P;)M3stZ!TFCdS54;Nkmb`1}=S$J=b}s1T>?E41k3Uqt)SObE zRN+T3j*DJ}r+|;Uf>>w@;l(aAMZ2r~H{BGB?BlplaqB~|3ayx!a&F-ysPz7Y?Be6! z>{q@evl7cwbBRK<#wUeU_hd1~dX8Uo1{$AoB@_mJlfC@l=8<=Gk^UYM{kcn# zq0r$C4{=TI{}kYq3XuAgPq<#0kpe%yV{Poh_5J^m)&KXYA79+SLza4X{q+0Kve{n+ zDraC#eZ*ouP89eFAHM&+B6ssEkk)jytVh63gP#u~LH#eEB20jj1R(9eZ_=9bUdnfnR!z6oc)T#J+$qUEkjzW1N!k z7k5%T|7Q4T^1$_pXA4afFQ2be9{Cgsq#UGF9ak%+?#^(x^6?nNi}%~!J?HbeUhJK} zsNZ1NHa2J6T=aXfJQT|!gwA%PPFcj8tiAZ(6NSQNWW$0v6FB%)v98q{i{n!-2d+x2 zKhDj(SGABaQ!>DkRk-fG2)4qTqQuoN2RGVJD7YdLz?!2Hw7HNqvxM74Ts8R?^Y@}8 z@qiyaVSZ3`{9$6w{p%o-w{H{tPR9ji+BOTL3!xU>j{V&#hw?M5AmcC0IGjI9{Esnm z@1NbdAAI%t&&}0|T!wC>G^z21c)aGKwRq->_wp5cyR>I27kZv(txXnRUh4NX12O1a z57<_8fIKd96NDknkgc?Vb!jUrFx}GDn^BL!X@zu%?_9%98TBRJjWYpLFaGLBMDPvf z`F^u&t}pwKY_|QI!jQ(N|r`S%Jh|Jf=#qsFWt>0h9uj9kMZNp9=GAvE$K8DLAzY_0emQN6b*RHH;l-&+xB)zRnUr^mgHuVb6V z+**!fZ8z;ldJ=HD?av#<(;^Sg^|L}Y7Z!b+_xX=8A_Y6Ss@8rMhV*YvZ}XC@IWYlP zlMX`crlhY=TjQ1dx)pby1uA%Ev;@o^d4-N&C6Gs9knnfd+|!} zr@mkOWkR~dh+Kb~P4TUfe$h>q%8At+hN|nEOVwuUJe%8`q6E}lM&k?1hGInFB3g$% zhUzQbBOa&ZnHu_mJAWQCH3|lg+}3obm7QzIG0V`OUt`EY98I85lN6~i$3cZmRDl6E zHL#=->SadCg(($t1DzS5==35Ul+@uO`G+)KaWoMZAHQCx`d^2&!+bDE9*ouY{#t=} zu%(e<@vwtH{%-4stGcR<*$W`I+w`8ShS+6!`jI)ciRa)QZ*5feG{bKs2C=X`7E`N<@Epf0Hz`j`q z0Uh!A5k&YAli&`f!q1KTApLw$3M<*@583z>^6lsOrmkjK(@m8xDW5hP6oNl&ZV+LH zYmFARKlrf5*S2fQT0vLvz<-u`<^L};tO?W|Ftu25-dqQueOvX@b`Vt8y;H{HPgYu% z!((hxW72kNf!e|I=*6M~1u5PiPa3??-f9e4ZwwTAwrqb1I{fVa+Pl)ICay4=31JH@ zL?GgZ3D$xF)l}+26*F}y&;yDhP$QdyRH7^eEL(tyS}9s32o*R8gdV7P5GXYkq%6U@ zp{Y=yRVxyzMnnom7DFgYzoD5x`@6q-<|i+2-h6rQd-uEdzL`+n^%2-1zKa)JKe!k; z-fxHebWeuC{j+_eTzQdAy6vzkKiyOR?8kgz%$|5)18;Ain4vB74r`d>O{wu6r90G7 zHNGL)cOFMwY8bHF`)4O2%C!=a;92+mdBay~8dIlu4g zaa`Lp6ukJL;;L%-g z!NKZOH@?@FF5Eis1V?sq`D_zG>T3pNXf=P~KOPPQTt8~Eaov>z-EwJ1iq52b=2TyL z(P$Xn-+mv?_oNc)WJD0pjJtzKv;@O>Xo8`-p6Y-XH_DB4A|zohi2RTvPkiVyH}C-* zEE}~?`hBw!JcNdmg|@ApQc7FqEvBXjgYN**wu?rE)Cq`jxTX2B_LFcSqAS9!K9DPd zc0d1QwPK*(BC#Iku6RNvZ~XYrHRF@`1WdJ5IhSfIh-m*nDe@G`Q2tP&gMRe^O778| zaDFY+{@(9Ki-^L;@f50-VuGPOx!dMcV|QGChmQkPy5Uw`0;s^Yg%Ncb2KsgtHT!ts zR}^hEpFU~((S&>MULv>>(OwEDuP(rIgBEOviyS+jGIk!4$)d#av-?(WE?i?TPe1k* z3pifg0N4rnU|y6-z@aU1dVT+`t-9Z=$Lc_9!7{ssg1C&&GqZMc*}hR79Ns>)jN<|P z1yzjaYa;EiR~FD1DBxUA3^=bPJ^@Lq%W=JY+pbb}7f&c&(5cn91#-44N%d$N;wVko zE!-)AF%z#z{wfgi`;${(%PCZ}ER$sA(X<|@PPQp3#mW@N6crfUj$x9YKkT&&P=ADP z@@1)1p}&F<*%2i*WNj38&Be2T<}K<{V2? zWCv{Qm$YxY@_0^w$Emp95;z1J>rypjmzfF}$WyR@f08#2-Cge(+?n{YzJJ65wpC1v zlS-m~$=J#y7SSv|6IaO;`n`S=XN6(7+mNO~s|VIZJ&}YHtKtmMddvGdxs^ z6mz3dc#dKB1k{s5p4?a0%+kcG5{92kKw2q^cwkA~mOE35uFf$@W^I;?9>N_6nAA_e zm(Gjh#2f^vs1A#z?2c-F+svr{+F(_Bl0Deq?yo!xnK}DmP3$w(I>c`5t~X-is+yP3 zThb0?E9*u&tFSag$&QOWY-?+^p#g;5GY@H>kR}?4jJ|4UQ;cJ)ySo=Me>H#C*z4-X ze6EU1mo0~J&z*@`uVF_XnbO3ah?Vb`^Bt`7Qzq4pafbjCfGBOdUEyZmsJv=4)JKSf zUbDi{Ed?g4M3ljjl}XDZPF}GFKyrhUE=ZR9Aw^-Yd#+mq$mBq-l0qL}OY3K3afjiS zUjwt9+vMv1myIDvQj z!!XF?Vy5@UR&#dhnWA@{RGnKs56aztw%Mm?$rsA!#%!5-TF`iXTVp!6F95V_RpLfF z4jaBGc7HrWlhnIbaKw~VD|4=UeT(~Y@q1%CQ|Vx6G7Dl%c55OF*#ijj@L0Im8_{to z|D@}Q_uud%e1Myerwba(c~Z*GkzQ4|27LlCYDyInjNR;OG0zEt{qFc-FY!}<;w3Q1 zR-1>L^Dp5a^!5Hqq_Hs=$27h7c`Fu-uH}r#QOhZd-*?y&a2o9mEGPKx8g2jS82%j+ z9}~pg&(>qhbCT2-Och@Z3xUb z5|g)!C>k(D|5{0M+Q?}mvyIpvx99PGl`qFY20xvZ`Ut-8$qZkFD(hTb8>)4fd`rQBi3!2%CNR%3rK{Ft_ z`0Fkb-BXNMYc62083yavNUaN8tm#roHNMq1m|#YX$uOWT5>fn?;^R+u5&9tdPY=h} z&)k+qHFm*PoS6;*?;nX)r(-&0$m}3D%YTd=^InbH We^wbgbOaEX;<|O)mWoY*NB#oQYm!y~ diff --git a/test/fixtures/app/doc/screenshots/linux/selenium_chrome_headless/index-without-img-cropped.png b/test/fixtures/app/doc/screenshots/linux/selenium_chrome_headless/index-without-img-cropped.png index 9c46ede0687ad17ce28208bc2932f7dc438151aa..fe9296b3fec46b8e7f4a47b56b44790330aeed86 100644 GIT binary patch delta 919 zcmew*xqy9wczpl|8v_GFOs>@iAjMhW5n0T@z%2yAjF;}#{b68W4)Szy45^s&_U^^9 zW(A&xhc_M@Ur&Fq^5#_QYm)>-SWo|tE$!3Fb8)=rV|Yx1VN%>$ZH6yB42(RRJ5HGR zW;IGI_PMO0Ta~o+^;6yZS@jp^SN<&sZ`R1IF$vl7c_rRH zf4BYZwpp*la`*4nFJ3lr`8l_xukT%-zTogQZHI4L@-E%F5!7pTtm0=y+WvQUwiPix zi{-DoUf&SmUiZG}ZF%~6p?P1IN^KOKaO>0Gn}W%!?L5}kZh8Cg#9e3E3&$4fO-r-= zbxkUH%A*tgw^p%rcvRK@nHW{a+V^F}+fUXnO`>cfuQFubJbIDsdemI6Q8T9MoH=PrY-B(FU%Ea@_GN=x=kSJ zI_rybn{-MxGH^38NpJ`p_;7>aVV?QB33IY0RnO)y;40MAEp_$|D61qB zx$)%8#^QHpHNx$Vb#GKeTR_+V@%}7 zCt}}YnzmjmE;&=|URPYSu|Hkx=bo;uPxoGWvU5{${SqI}+}d)M&d~R}U$tf%+?6#j zm@RG~pwQ3=Ou|n**+qaDL>mF)5#;ydY#il_3fVs`VP+!&w;lI0Wqb$Hw~o0bPdMte ml|#d|6O;KgoH#zQi)?z;A#l&>!)aj7WAJqKb6Mw<&;$SkP`8r+ literal 3322 zcmVZHB_YzS^kz@(w6Fy@-!sJ*pOknw=(!1 zxsF9nTB$pAEn>3mkoFh#^Uj}!ifDx(eDrxso)F{?j=y`e?mA>qWty4_(}nnPefkg=0~&XfB+$b=wtMgxVTZNN+k z(;ZcHXR16-kdc#KrIf4?q)IH>@UAtvtMGO@nT4}=Cw}}V=*llIfV>9&p5M0%1S-MPB|6M`rc%ZjP& zFWT+M|0e{w9w;=##2O+b%l8rZM+s78@$DsEbEMSaCpNd<6XmW!Zl+!K`C{D}#o~h| z1ko@0O!D(%J1~HKnvN|Kg5V9#A;id=oA&Qf8h-yXcu^>$So3%0H?Q6BkZq>kq#NV} z38ndAWLhyeb-AT9uxW!4qZr%&_x}T>KHL93rQ5RKpI;_=p09j@Fu?z;>|ZRNwwTso z;;p!kkuT*V3}C-jv}@m_n{G%+wxzNjY{z2LO%2&tIAyvE9dn#^d4k+e_OCjx2C81Il&@ z1qemtxemGEmX56;a72)%rXmdxBFG_!zkWi8?wX%;$D}U*DgsXv1oA05M3_B`>FW)2 zA3Uu+Ds->})}`NMw^!)E9WsNxp4EHVQ-ImCKB6wD{z*+=H^|Fz9%03IZzxf&T$q7+^W ziXF&ZLzkSSyy-E}oO?+IkmA@{rqec7MGypCs9Ol36Aw*?ZZeUQV$0E*az&7F)Wdq` zD+M7Rej|w1nvAsOO-T_)Cs~u9v_+7Ag1{02D+GDW2RUUfh%|1*&G`U*37bS7v?2H+ zGNJ*3C!lhO}f^!v+#Q) zuU$ex)(Zj)2>cmAI6#9PP@4K=2fH@9$(eG*%kp3rb+JR5B2+!dQv^YXpJCkGnxmNb z`dT-F;F{3ChllqbR9LtNvigk?_ydBRY3n0coQlYBhHn68TSarj5V2!oef!u)u(v$m zfO82|48(VP5SVy9*%0)N$=AttZv=s$7d{Bb4er7XT~9koVyzN7m!yx4i~xiSRkTg{M7QXnjBwMVlq99wICvisA{rifxk3Q5L^T5SU|X z6w8C31Jmj5C{}A;*@)nnO*Ol3elw(a?}xwwLEfaG?4+{~(%EWnQY{ZFVo=KviN!g zG(j+pqsT&}Uk)e;L+CGD1cDAI?*t#OFUP}IP!ks0T#3_zUX#+ACqph1gv+p2rfC`F z_s>EA1kt(s?C7918*TYnQxU!41i-tEky9FM#@VvCO3$aX7J~e&CjHNr76icrLp&kB zB-pG=q=0_E8M4vt%KTauez^D9@Cf zbsh<1vH?;&vjjFml8=6x6!Lp)qk#M%MEYmW6X;UhDh!ca1UWhMaS@K^35;FZ^ZJmG zXBn9Ih?LBMOEzqM1Ct)psy{PSh6Rp?u7uAW#}r}a@KXe7>oiSitye?&2w%fT?h=*0 zI!OC6LYno}#JW?aBXlyB13U-Sn1NJQ{Qv}%4|0L(&o)>^XppQvUGRngCKE1 z7p=LaeF%Y7tNG|NQz3du*OxtGV%_A=ow1knmccd<+jsxJgl zxAz17D1vZ3t|wLkBF{M!1ykECFTM3B#}t{EhDyK_Wt>ut)l4vHoQbLsk9|7VXwvGq zfy9^d2s=<~Z!|**9meqC=T^w&uL{pCu>mM@skh$LEv8?@#VCAEB&{Z>m20DRC4B{geViMGnpn;SI5D`f+f~}RH&bB z|Meb($`~f!`1ofC(qFq>7^k$>CYBL?#X#>qCdgA|nifEQ{}==mK~gWI-7wHvgQu!z zwK{XuMWu9xozAk^-dsX>A5~2_=@HCM?nO=dDm($73Fa7ZObCtammAQY1)tF>S11={g-x_ zx08!ss+%jZKpZZ^a41CiroG-XDXmZH zBuE>bhluoOl4W!GQU4u+*>zJ*FmT~uczRdq3g0V}5afrmVo-b#L_UImAh3jh5M&7% zSuY3x0U?Mq13_Q~0U^i=II>9)Py`XF9)5Q0b>5Cm2bSRe>Xa2L`aNE+xBIAznPA+SP_$5OEUmw*ft z==_)EkZXS~0#6e}(m;Q1qmY{25O|s(JOfzLK;M9rrO!lQg&-Wj0TD(fUr7V~nGHc| zHIKjwK_2r#Bn|XDu(I|u5co5KNE+zRXa!P>MFjqUAduN2fSaU&Uc^>5d;kI~1X*|w zf|$3G2Koc;yj0;K1QrPL(6O)INzy>S9%H$}Dgr`~Rd{6MZ%04~^4nX0)PEI$_a?|{ z(Pg6`@OlJYMgRZ+07*qoM6N<$ Eg6wSv=l}o! diff --git a/test/fixtures/app/doc/screenshots/linux/selenium_chrome_headless/index.png b/test/fixtures/app/doc/screenshots/linux/selenium_chrome_headless/index.png index 14f833ece053416fd01ef617d61516c0bd6c7e15..7243bef8c61e9d45e3441ecebf1e44c82408b9bf 100644 GIT binary patch literal 21553 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 literal 27808 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

jdWT3AI(FP4 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 diff --git a/test/fixtures/app/doc/screenshots/linux/selenium_chrome_headless/index_with_skip_area_as_array_of_css.png b/test/fixtures/app/doc/screenshots/linux/selenium_chrome_headless/index_with_skip_area_as_array_of_css.png index 66e82905fa8f7c295f26df8c29b2ca7e620fd685..d2afd4119d1c3655f1b074b047dc23a6ece56a3e 100644 GIT binary patch literal 21552 zcmY(r2RPO5|37}DsBl!u$jW%5$c|%IipWTcY&vGPV>?C(k(H5gj4~@B*?T+o37H26 z$8qevj`_d))c3l6|LZ!X&ULQWIrr;+-p}V_9idM&lxZ$rzX*XqXjC3OcnX1#-+(~Q zyf{w*o=J9p;{<+OaC)SNfIz6O{P{!HKjC)-f!u(oJh=DFGi7^LYLC&aU**VNees~yg_{OoY;FfTvqJ?=IpX)b@0v`axn^KdP`Y> z=43{66MJOq(mPh!#-{IU0U~uJ*p<4G!Ij0T1l9k(W_|B`W}KB-le(AUaq6jQ=|RWL zg?1>HyqKo>AVl!CMb73CBF%e}NRnz}47_yzJjdHh_mS)sr~dVjKmR<>(W1ceG~j)gA)SD86fx_If|CH5l5RwyTramIw@ zB=W19G_EY4-0qfAXl3acKC1BMn%*q65Dp+`^xWcdG<80`HuNp`T}I;2kOao0;^JK! z%dimk6bm;ax`)Z|5F?HH1*4-rIuFvSQi2XI#nglUsP1~HX(g?%*h(FB9p%>hF<^X& zS71{x=zw-?iW~w$pxN&dGRYoT`HWBG`x%wqWw{;~Qg}6}h((!J=t~_IiucatsD|MeeN*JNG*q?u@1|zHM;wu?hJUrdA_JeY6)a7` zPUcDDkFZe%V%~lPex%8?SHJ0%|E*|-02V}{^`KBev3#j$Aczo8bG=6bA0#4ZV!#th zH^a@LVt0AQTQH$eP&>_w9D*_Nyo}pZxe_Q6tY6#O--Go`dt530(7C3wx;LIQue-WF zu_FkX$Ws2Ttrp(;pvWxWf{L1O-#MdmT5;>U}lUwHYTsP7&eJeX=&jc!9 z3%JYsVg0`^N<+U$+Lz-`6zdz(Cyq?MtXco;BzW=(pbiJrO1IiGHon~^M@$;3LJkM9!-`s(*%F9*@f9V>i>H)Aoi4U%a- zl7u8qg`+^)qJaewvFr}Z`wqJAJ=5Of`8ZcH-MVjtIkALr7oF2f;ijhOvvukFdr~WO zSM&qGt!3;Y_H$`-6f9kNcyLV;+r}6JYuqvPCJ!Wf|CTi1ZaYz+3^C(xN__hQ+hie- zo+(}mwneprM6SPeDwn@1vGb$jLGQHre_bD3J{reG@2oiIY^p^NO3!#KsZ(gR=}?QHKXx>)8;>QWSKdExhUyY@`WdS2T0D>{`Vl zwJr{!+^ub(!!WAC!;V`6?zd$}Z?qqjk!R4sL#FTnI}z6-lu$iN?{%slWsa7$LZAgp zX8psfFleX}hkBWNg)S11dKZ#c_KHk|n?{d@Pk*g}`a-gFhUhD65d?!3J4zgFp7c$k)xwb%1e zIo-p@9fqtpcdLK*ympNH*%=r|Bs>OIq+Alft@6m&U2OGc6t@c4$QOBO8IpXE=pCb7 z2J*T0^7T#!{R^FPPu2NqvRlyUL|F7!eCz*W3fs7re+ z4-Ct?nW#CjBqvrwbmL>9M#<1=p-|Z0&hKxsGDfBn^H#?PrC%F5W#+ zIhVUEa6S|TdS+X|5^VkvmZla8Tj=q6NgeryLC`Q$M`*+3*t{VkzBmPij61|_YB}7l zMN#RVUY3TQml;4#*|QTB{7#y|*7{f$Nm{RDbU;Xco0gGB|6Z#2ReN5Fk73!MSVyikRX>gV zaJ7Gl;YA{Ch3jAttj&!zj`$gF;8__dw&>TQa^~sVe05%#ky3*A}ysZaRC#R>J3McYE+>qGtDD5__+ z%3tCN>D+VljD`)XNf6sX?YFElvVKl=_wtN#1{SpPBt!8nb52=7?dz5LEA|@c?Vn^r zjB)NxA02jH7*E_lNwqe|n@pivPm{dAjLsK)D&5I2vhd(OIZP|U z$Pm-)y!_!iEK*r@JWo;qtMd4{t=U1|PbwIC+H=E4kZRJ&-=#7eioW z2#&T9y?4{=l_J46eju1AuwNgAo7s>gM%5a|?UD{GW0f)^h?OnQO<(cvpQ#S(fpax5 z`cfbv6V~@>Sm;T+q}`9{RO!g2DW8kO2q`z@2T~`MES7WwX9y+R-zQ-<_5+3e7nhI= zo%FVnl!jFUioC(b<`s^D=;gPXHr;jq>8|c3hLh)n*?S+KIV4_HX7K$uoHMepJ-42~g>>uZs+Y zt~W7iS~pFUZL2RYwa?rfl6jb)qQo1UE%s6V7D#Q#N1orJN=VRX-b-h20ye2$;N#=bT-KmQk- z$m1)Zini>2R*O&!Bec>IdK=s61^z-pV~620E$Z*1_$Fit((aQSD4G$d40qeen%VNj zNtn_SjE1kIm?MoibNK4_g@rxJebtDISI}DxMPfV@iY&bQbu;tR=Sp<=9PirZof$X( zHbU`9cH@+yZ07H-SPd1ds#O%B4c}=kvvRlRg0Om+bhiDyRv2E=ySzNs*)Yz zehpkeJdDyQM}NMMp0bufx4%_?lYda;;h1Ccg86+WyM-I7lYL`aOcl^bvO=t!ErZ5_p$+!Bk1p8=cnAkJ6ylvp6jX6eD{-K(^HyuqU^v0X{p? zM7*Tzeo2`@#YHcl*`?})$9DEuE~Ch$OS~P{BW%ke0rZZ)P@2~2=X!g@BIUclxte(pUtHM(Fd2~}b^%!YZIhMt{;MOZS&GU~5H@9HEefD6b566rkL;B>C zUM3$f6VOqG`h@twTl&1#a;BH=jJn#r78!RTgV$5nYE>I`lIigt>s(XmN5sfqcT^*Ce>5>gH2T_&K*Oh= z??mXwH`L#&{6vRxGH$OBmr3SNU?Yy3zny;dtt%^>f+i&%6N1goZ5}R3<`PJc} z-5%VM_oxrP2%AbG`k%$^wWs+r0DeeFx-K*E=C;F2<_yNOY?1gZqm<I4wI@*uYy) zl#ghNl~$VM^{M|m*Ens;EN`pWl@(T37CiKHM?w9#tzjRWUy=Z!|7vTfbKSu#BC$nS z#CWQE0WMHjfaOwm4qqGjyd8_C_d4!?np#N#8V*rf@{4%wP#Co&eYQ>$l-Xc4%JeR} zDD{r>nMgJxQGGvHC{_j;z~&iH(+{N@S?7lF3blyW&RZP1Ci(N+D z7ON&o91QS%5Klc4&qM${jYu7;Q}xW^42g{+B+- z?fuL**sXtr9?zFd%8LUeOm=^2%^8%MHS4FGWtMi{bb}0r|E`L%wbpPhW9_1KlVXK$34~-5aeEV<*7t?(3zIVzsOcDq>j!?{bcqr z^q)!+UzeLzBbR-%Q%rj~y;>z3nF`8x=o@dP>+wC8%EVorrW2`$&d4A@d7Xm!!kC0y zwZ1*%z?qs@d?-Rj#wwScmkGOnA}9_0CH-kMdA61RvG{d+SC*(MYE#EWx@AZ;UfQ!D z1RwBJV!g1>S{rNUJmVC|@8MmuaZ-O5Em4pEnjdv(m#)e0rS3*sFuROY2i;>1X$h7j zpWq)`nI&b*c3qpD(y0y@ch4({0Le`?31lw>IPscl-uzrQTGG6&64RSLlBpAkkFMyj zR{Th;boDtNUab1ZXEXuAltLVQF|v{ILj@l8Zv7rouBaO$rpt;qtH{UDU$$zuT<$a= z(7=3`yXIklsx(CyY^iAo2tT(&xH<SGY0An_k9rBQ&*0xTa)LLgR|T zTSi3*x@g!1LBX`8sR}5CqI|-+8-|BBG>7iTNdnBaUc7e-V^=tpntSigsxuNrD&FeR zlJ+iCPy#p5D_^+tQe{y|aN$)v9-boQ8^=YNMqvtuP7vt=MW0`RVfCHsYPxA5jqdkZ zlrP&vpe!TXZyEoCFE+zx%)Q(K*?pF1Cb!#g(}C%=5gOF-7t#w2v2%t+s)Z&~Ez`We zq^DRNkNGqePPKRU9MY%xH60M!Pd=zFNM|oxixiUY$j27uP8x!dPiFUtg93;v(yFf` z#S4g6at#Uqt_xz29vKbq=x}b^)Y~Kpl

o+h&6Frk0*l1aDw~ITd%5IdOxe=|lA# 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 Ga@pTyI9iYZ literal 28516 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 E0LTDC*8l(j diff --git a/test/fixtures/app/doc/screenshots/linux/selenium_chrome_headless/index_with_skip_area_as_array_of_css_and_p.png b/test/fixtures/app/doc/screenshots/linux/selenium_chrome_headless/index_with_skip_area_as_array_of_css_and_p.png index 66e82905fa8f7c295f26df8c29b2ca7e620fd685..d2afd4119d1c3655f1b074b047dc23a6ece56a3e 100644 GIT binary patch literal 21552 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

o+h&6Frk0*l1aDw~ITd%5IdOxe=|lA# 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 Ga@pTyI9iYZ literal 28516 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 E0LTDC*8l(j diff --git a/test/fixtures/app/doc/screenshots/linux/selenium_chrome_headless/record_screenshot/record_index/00_index.png b/test/fixtures/app/doc/screenshots/linux/selenium_chrome_headless/record_screenshot/record_index/00_index.png index 14f833ece053416fd01ef617d61516c0bd6c7e15..d2afd4119d1c3655f1b074b047dc23a6ece56a3e 100644 GIT binary patch literal 21552 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

o+h&6Frk0*l1aDw~ITd%5IdOxe=|lA# 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 Ga@pTyI9iYZ literal 27808 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

jdWT3AI(FP4 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 diff --git a/test/fixtures/app/doc/screenshots/linux/selenium_chrome_headless/record_screenshot/record_index_as_webp/00_index-vips.webp b/test/fixtures/app/doc/screenshots/linux/selenium_chrome_headless/record_screenshot/record_index_as_webp/00_index-vips.webp index 613f10d48ecfeaf607de5634defadafec9197a10..d2afd4119d1c3655f1b074b047dc23a6ece56a3e 100644 GIT binary patch delta 7134 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 UN_t?1j6k5zIR04v=PP&q1GqN>zyJUM diff --git a/test/fixtures/app/doc/screenshots/linux/selenium_chrome_headless/record_screenshot/record_index_cropped/00_index-cropped.png b/test/fixtures/app/doc/screenshots/linux/selenium_chrome_headless/record_screenshot/record_index_cropped/00_index-cropped.png index b47eff3a327870f9973e8c3f4386015c444f39d7..fe9296b3fec46b8e7f4a47b56b44790330aeed86 100644 GIT binary patch delta 919 zcmZ1^wSawsczpl|8v_GFOs>@iAjMhW5n0T@z%2yAjF;}#{b68W4)Szy45^s&_U^^9 zW(A&xhc_M@Ur&Fq^5#_QYm)>-SWo|tE$!3Fb8)=rV|Yx1VN%>$ZH6yB42(RRJ5HGR zW;IGI_PMO0Ta~o+^;6yZS@jp^SN<&sZ`R1IF$vl7c_rRH zf4BYZwpp*la`*4nFJ3lr`8l_xukT%-zTogQZHI4L@-E%F5!7pTtm0=y+WvQUwiPix zi{-DoUf&SmUiZG}ZF%~6p?P1IN^KOKaO>0Gn}W%!?L5}kZh8Cg#9e3E3&$4fO-r-= zbxkUH%A*tgw^p%rcvRK@nHW{a+V^F}+fUXnO`>cfuQFubJbIDsdemI6Q8T9MoH=PrY-B(FU%Ea@_GN=x=kSJ zI_rybn{-MxGH^38NpJ`p_;7>aVV?QB33IY0RnO)y;40MAEp_$|D61qB zx$)%8#^QHpHNx$Vb#GKeTR_+V@%}7 zCt}}YnzmjmE;&=|URPYSu|Hkx=bo;uPxoGWvU5{${SqI}+}d)M&d~R}U$tf%+?6#j zm@RG~pwQ3=Ou|n**+qaDL>mF)5#;ydY#il_3fVs`VP+!&w;lI0Wqb$Hw~o0bPdMte ml|#d|6O;KgoH#zQi)?z;A#l&>!)aj7WAJqKb6Mw<&;$U>;I}*g literal 3362 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 e4?jDl>Y%?*Zx!h diff --git a/test/fixtures/app/doc/screenshots/linux/selenium_chrome_headless/record_screenshot/record_index_with_stability/00_index.png b/test/fixtures/app/doc/screenshots/linux/selenium_chrome_headless/record_screenshot/record_index_with_stability/00_index.png index 14f833ece053416fd01ef617d61516c0bd6c7e15..d2afd4119d1c3655f1b074b047dc23a6ece56a3e 100644 GIT binary patch literal 21552 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

o+h&6Frk0*l1aDw~ITd%5IdOxe=|lA# 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 Ga@pTyI9iYZ literal 27808 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

jdWT3AI(FP4 zo7y1?!EbZg&V!(J^$7V11ls~3bz%6rk*Yx{!i*!^^&)zZVMoEURrr7+@s(>G|R3iy7kw_E|zN-nJ? z$|1_NXXxN&@*YPBbH;gM`GuEJZ5%zqg9Jv2tX_Hv6iY93m)0e#zrUR#aXRQYW4@+`>!x8cr^yQUw#c3_s@@lUUD`j-gky-#f2SC zvp9Y6Y2pXqe4AdeghhNl^0c7zY!Br)KZIUE%#gjAX$jl|eK$FLmrf2Th9f9T1KV_G z;rn1ID_#(0gvK@JGtB3$=JEOCU4>yD&P@U$fF(1XVGsQl!auJ^UBttt%7oK(8ybms z$P^u$m_@iNcgGSjqi8J3A&I_Xu##UKnpaa4(4gVA+poha-tQ`yAO&SwK;nIZFW5`^ z27uMScBT{Hdnev~o~I7jwgfhV{#~}U6N&g+Rds63Jkv7^n`BH-Fn~+I;*jcz=|iBi zcUX_QFV1=1za`R%1V;eo{DxN(esBO<@Y)(k(Ge1xyA4`t>w=CcVYzYP0J-kl=K-}V zS@3>?{>HDC@=}vy-(@eWmLF~>Uw=i)p~+PcQ<7d=I}wTgvU}X0cS9&;B>*f@=NMW& z>S95jZuz~wk4wb;*#3v5qJ=14E8F7jppUw5PGI%cJ@eGE&dC6`tk-QB?f|5u-r?<+JK>GgVcYkCuK_IaTSsnTo^$%; z(x@f7FFV;A!vfakzTTQmkG1mMqNd@f0JZdf@I{5n=IriNL z+vsJ*Mmh^8ybJT<9Dl?QRO|QOO-f_})*A3D^$=+H-WU14 zo4DQzHuXps54l@IyV6ryEu|UJ+A+>BW*v5=zT|vjQma*v4k%{zg8x$c_7;&jy2Q0}M93SC05emDtkgH-}+V^!{ztH!r@6}-T%Dmm$N>s8ny{f({#PC4rFAfkU50IRM zeasrKaN7F5zQwmMNpc=bzJDhDR|y+)0&J$*82P=%H`UZu%Uj~>+!70`*iN~hgUYRe z&v=Bx4y|I@J(GErTfc>+M(OY;xfwt7g^`G=*x062n*M`-Tmy%>{^BnYO{FwWe13sp57s1oPGM! z5=TF*71%U{e^>TF^Qx?6=8Zn*Qu#-&TeW=OIuQ+^MSi5GJ<+hoHBm!-gzN+>dL!H! zR{X))hh~&E@)e#Yy<#NBwVsO4BmEGrUrIzUmcQF#JGzq+jtHK(K`E1C>NWrtnMOcG z@tz)_EVI0K9B1oTjInPo&Mton=obWU)6UZJmYqiSM;;Z7J3s;|qiH?Y zXT|(PkO}XRU^EXh~Z#EsA}J(gO-P%IJfwBW9XHcHGpD( zy?2KHxc7L*K%jH=;N~<*o=1=tE~0!NXA~TyxS;tkDINzF)y`+Mb~{4@Vm%%)M%^>K ztNk`7Ayp;#fj$@8~zOw5SD`m0`XZlE~sb zg`K(h6_H^1Stc}wetIJzw=8fsl#!cY&}$nGX0^v211 zxB`2Vu7rkREFFfd;ZMD6KkLxx{)pBgQLz4W;z1VCIgp&EboD~7k~K9S9LY!Iad?T+FdO18#R#$x;ym6sKB4r z?=xvNnR4kJV0BUATD$hst)gEK8wDGEYW;mm%gu!6ZC-GWQ?svtRig^dCO}Fs-6BvO z=uK+b9{Qef752;60Z3IFeq+1h7_&9rwW);T)%soNSlG`A=H%$|gzlkKf_w70g_P(B zS(~;iSntn%rSrw}D>_Ki#Jru&mQpk98i_M41%3y=0m_&SSTc_^*lYLII^yA7d5!li z=_I(KEd{gTBBgBDGqYgRmy1hJb26kqhpWTV60GSpN?i)_lLvnAaw^jd(<>{{a-NuR zz+SOwQF3iTLgY+0^eYLrBpl6)jYxkgl)Vg>8?D8IH%RgVxQcXg=5K(eR+1j9l<5P@ zZ9N(Pv_e0@x>F^Z72%2R$e~@KFbq-(5#Ptnt)FDy|7TF)1c zII%ILwoPTC4%xmj?zIi<04G?*|9H?^4M=D`)p9u~_!SV^=VwzHn8)DNOSpK%Q@doDoU-v~W=r(%cB0Sw|nXW3GQbw?} zofgC!VF#-RW>fGh;AophMp#nf(-j9;LC05UbW2d9vzK^8hj1}j5GQ+L8~=}!Q%8E_ zD#0%1!~UO=8t|@At%G55Ws+cfMsnRNm?-dfKJE`;M8FmNc1BCT_h=pir)`XeT*=aV z5^qZig*8lY24kZY@0t$U8nSxsSG`YP8o5`o!||9_L6v0TSsR*;#VaZKYKPV7V{Mq! zvDxs5tE}hOxuh{=XrbR%jWI{q58o^*rx|ifxVu5BxGk&ee$N!CW=lb4fK0NZ2lI1( z9H+tJROftAxGXHK{GdL;6YS_UUUN_$MHfJNW-Y9OYnmxL^h^&xI1QCjjqvv3Qm|y< z?ggdnrLaFnji0QO=;{%I^r&F4zEKybxZJM^r{o?;PRjI?boEY` zoV9lP%`!0`ij6NUOY24tf#W6${;I3&yPc1q+G(5%w0;q>CyDe!M_+me|Cfb8Z^-)` zOm#_|tOfB7D7$%6Zy;#GRXLRV-5wVd@fU{|0m`6KvQhUtXsV`-Eo$x#WdS>PqHc=v zqyDuY5gP-F#kiyrtHisK<1#O$Vc_VAIkX`9R#*h5)oRuPWMx@JcjF#JQ%lq>9uY3H zXay9;^+aH_E2_vM?P-qZsy_p8CD!y_22Zb5rDuD!$*6DNiMP_thUsZY1T2l<3lN-y5#hQCr-G|G%me7+6skeiWk3zC3RYrWZU;W* z?)pDdX<*_Yr2$Q%wydR6ByYsGvBc8EwM0`>R>@u5{W&Uj{IOleyS3WwS?6C&KdeJK zRu@1qo7k0YPg^i71ta*kiH}7gqt>oNf%gYAM06LRaJ(C+8H)HoV0u*pi%cG@U}ZS0 ze027lrPMC4K#v^5n!Ag^+$gz__^|(J(wjy3XK;Bxa}3mPa|PdLQ1eOB**{*`EJ+1n zsSJgR|LlAbq^JHKQCg-ddV#ubh)|RMT{+ElRP#2tS8v!& zps>E0A7I|7ld0*%y=g9fnHF{-oH9{rmVgVT8 zl|;J4&@Kr=!FLLqcIXm!!;<-o-f{_=)Ul0uadvMRZg>{w<1rln zGFd7@RQN^M`f6;5yM(T|`YGaOnW`*eZ(O6el_6VN{tY0dxua^q&n6vtf)kNnPF_jP^hswMGgkPG&U+ZSUcTbs3Tn|mtigVry&L}!C>(Y99%Lu{MiWH_p;++)I zc&}`U#Yq}tw0kP+yAW``b9;{jXUv!>Lg$cw>nn_wRumGnt^h~jM_?%y)^fij*zmq# znriGHVbxADYTGIL-xr~AjNj}8%<8YK6A7zZ3))wrKVEM3s?LiKhZeNpKy;DwgJNcn zP6j{sZH%*@o__6iNC}N`iO<(pPQ24<70VlLwNk${S2SZ4kFWmTE~fw2sk7Fs>Qs5W zfDY0r#)_wSxUMCE`8VJ#9b*d}rca3EF~|ixB5* ztgBg7b+Z6|_R;cuxZpAM`PThWa+lp*KmK==vEaZd{TCsNV{w$0h+AvK&0q@(9Gf{M z-AYQ3{T2kN@otwL@3EhW3ADksA8$&lW69X0(^L5Sj$orLi_jO5`L3_G44lPC>(8r_ zYUCmlQ|kDYThD03Iae!wxOh9&$sivbvd!%n)(4VWfgmsV9@sBPGcJW8=bc#-PHXVd zVc30I*)Mz@W5peNGx@1QL@ciQ{OPOPG#B)b3zFHfOmy04?0Yq*iuz^e2UO{uu>02m zQi6qg!3-_3d{56TaW}TMStmsESo!U~DO)n}wN4I=WmQ;E16LK+z-@xe+@I@!<;b!6 zhYJ}AeZ3__WdLm?N;uU5E;5P&w*tTh8ENJW@Q@I~9kzJw#S*ry-AM$DiI}Q1;mUr> z&DoqiS={fvyhvJJu!j;J!Cd37Bnn`v6r*5K?-wclks1&7^{>+wk=woWiPb8J@gVx* zcjzD$@Zj{rE)Ulx2J;W(}sEEiLM#VR-@I?nlVz>Krg%X-;`M)^x@Uh$>3 zLHY(xL~u^S$|DHm?J7AVK6ciMf1X}E!!F*e-$zVyc!eMDmaE=YH%xvzoNW+sf%V+t zY`VN$T6V1e7d4*s#x!uDug(5Ib$-84w>)RST5rB&=A?QaY&>{Eo0)iLq1&NC(_eNs z*n|2t;iZ%;Sk<+=9qx&UCZDyE1MQINjrUvf3##|S@{qeHeyO7jFhJCD*2e~Vz6!J{ zoEh|(b@+^b^I2Y(UplTMKa7U`Tt>PmXF1fihhy=|Wv_pbiZ$=sU45xwt5p-0)^tVY zo>)WUpZ9vM1;=CI2$@0YJu>f2);6P)bpu_;K| z;Ie^f!A5oNEK?%UllgObNMBVc&c`|c3ywv=ty>CfNH>xaKWZesH9R+B(-6pa&c~x1 zAewq%)ujHYq$3V-$VgdFqny^aFFI+(w`Eb2paF#ZLrRbRuvFWs@xpgK^%=&wHTp8M ziyfg(&)lDwYQOP-1W=N`!qO;2)2<4`z7lA3kSSaZ|FN5`_|mW#eS|RuAT8~gEQf5( zm!6yvYSyi@0wwT~y#Z*+w>`57R^|mDO{RI*cBbGLyKxxp$S_aX&#hK{Ne*R-u6X1r zIcxYXER`kyFfg`szm{zHT;ijhE^QQ)<+1mfIn~wL1=qkt3<-3DlqlW!MBsxef$4e( zDbtAhSud6mmchd^ zxO;>xYU?c=ycr))KNNEP0aM6|6@!yHSzml`L~ldCrMr3`ADuGgJ>K$>rV=p{w(|Z8 z8f~Q-^@%ey&~!7TvV~t#l!KwWGid18@l9$O@65#O%-?DoKZmue-@RJPsO+8GE?(T; z8I2j8^)?i;V?~`sb}=8n6I4yHL<_8@7D&%F)76&kaD?D{=DB|_zhb*Fy%0i_bl&>n zDe3Yten-C`@Lt`S5l9n+o|BYUtAwCm#HSi$LjIW(fhr>oa*e9 z5U8MXc#TuG;PTw9QN}Di@M%;*Vc5T%(|!!@$2e1t9Qn!_RmbT$S9HZ>_5vNRCY+vU ztoPapdsk+E-)20w&lM#S#EMz;jWwFbR=LGQK-N}iW~Raiu}g;usn|I`cElKmVAw(9 zY(xN?0p2O>VFN?BKxc^N8Sip^B4n&*z2FEm?z!?eA^7Njxng{u)JOs3S@cfKgBBhL zagz~dxOG}=jJKXB@o>yV-Y|O>D}!iI$d5Q-D38h!uTR-osf735^Z-)+=^s}$EZl!k$ zM>=hD*FWvA-H!3u)V^?fn#%Q{hT}nxJ#c%76Xx<5%B))>&@G3ik{qfy}J4)Ct^!lYRo5%P)I;Wd!!WNWb4s?abS~1 z1q1r2zJqlRvg;zAQ8O;+I=MaDd*#`qjs|c-;Kr!mix5au+tD1I(Mf~a$Muf=T$7ty z(mG>BY`WRne(@z;*et)G(dwUw9&eV40XDV66g(>^h;^1~vdTd8p}G@9#9FT#D? zkNapD9q#AaGIJMP*9pZDzWQJ!|B=OlYN;#uMGbVR9u!6 zpZw?azEl{9T!*px?XaXRri<}DHy;m&7`PpqK0h7NIH6J$%O#8Y zIA-E0@d#GR$@QhuqYuIJG?s9T)sZXycv$ptJ&SHq7b-55d-Ym|= zn|%8hRyBz>)-2jfi8q^Ty?v`EHBLPI0;jB?H9h?eqE~rwcy*uTr7^8 z^1t(e7z;*!;|xHqk4l+_%ma|)sI;4*x4?7D^sN59c-L-87@mXFtuMbR!lxJo@jf~0ymhm~dd|?b zik|2S+f&!uInN$Zt{RC}CyI`Co(Qd2ld8*U%*Efg=e{#$ zH8P*)3g_0>79c&>J!6($(XZ1~46|dF|Da#ElCAHB<@T|8>)Ydnayw8fuJ2g?5+rb@4L2`t+vqVIV)AiZ_94;UVH8O?%hUeO(7Qlu*2Qp_dIIS6LxJEc5(8ynD~q4 z!0Z8c-DHryB z29uI^6QWg+WYtnQW0?wKsdhx&8&6;tBPjdzA#~K6p!tZH$;Zu2a4CcU`8oP8+KyL= z7j8oco=FzKt)U+`sjW8Od=SgAiq*r4d9mVN+0vaqfW%R;#@>lCUHZxHYAlu2C>F99 zA_2J1Tuw?vqn~kH%#2g+kf^l8hqgQP?K*D(a^vKKNyg$G!>i(cX$eCB4D*s7n(Y3H zn+!tMA+QE`F&~UJ#mT<~of>|W@nTWag$D^0nA zk*V`no?LI+ICqcxFFyQ2pCM6>!scza;~+N>vh#m=m2O$h9p9pwR$m=HUzCgE_hM52 z#LJ)d=N$9GFbkj0=igN|qO4Stvwdp!;aSzHc$&x=Ro@%pR1Lm&*p$QXEqW&yQbB1q z%spdnP_3T!&h;i91&tY*P`x74e(-bbiYp58-sd>=FG=5j5QOndHo5f+Y&lm?9TWEB z&L>;eVYgIm^Z9M)^|q3D@d59p`%Ht{x{gNQ^=W)+&e+_6;&- z4*I2Lr<_=BkJ1rvyi!P_7UiU+5I#EjDy85yT$p`4fc_t(jUU(v ze(AusCRDHLILNaZI+^{yh-k*a*L{>xE6=Go%kj9aQiv@{Jt==Bj~w{x0i*Zz7+)Bu zS!V;#e|^MgL)Gf&bv@HrM2`=NCHt4edpN)R4Nblq7`c0J-+c04M>f9Cpc)LrAQLv< z_HQsj`9kB#BuJ0#j?RtT&bzgZPqYUKCijVU-KSrexx(kM2H_`P&PK;nr!x5|Eq@0v z_>@g9o53rr|8BPaJBKA2rDiovMK@ik2gB41OE<*QIfubFYM*TA8f+QIPjF0|y1uOZ z4Z_ts>T?(vT32Qk=Ks~nqi2NGWbAxnu9~o0E&IF)w|5@9z*no2EK-1*G6{R`xhIHSJBHGO1Hb8Y~ z8{(1I&G(#_`%SO&Xoh@uNS%YK+TXMQzAz{czAAG=FwDU5*K);c^J?6W-{r2pZ+2U#iK?K*6tOYriUg4=P4e zJuELGmdB~MYjPFyQbSb-a8OL8uD_u^Q56i*&Zpuy_$e*BySs0+b6&eP-4LyIism{A zcg@y6&;yFH4eTBSswHNr9*%zhhJarC4gFXZ#KsOfG1DmgwN{Z02rwR#oq}8*m@ahT zLIjnW;g|Bb$W{N6TMtW%h@o+^8Ee^eu)^WlmWdTp zXC>1pDNI`II<07Ubm1obiYfbXrF7@NEAFBWzW@J8pB&Y}kzp*#uvcz@@}Eu?&5+N7 ziS(!@9)s;Uv)^{($xcvt1F^yZdRa&~X&(LuWg(o*+^8FBsp1Xb!hDeSIVQ#~|FPfB zjD6JXx$r%xp01T~70T$58){uBWQc_vrd=$CU(Vu}mk7E3NVmSnDFG)|iX@gBr%cdD zR5EQtvIc=3LC~KPbc3eW4%kJ#cABivZ=xE<&Ark2(V>F)jvi}7&VKyId9G~^_&E3=c_QbRbH7j0XD$5qBpT?huK$R!LTyCSt%R=iuj}AH8b%Q0R^c-;nfdNLU62lXaVfw zU6q@I>+jEbFaL5_AZ(IM8-36P3izTie@F@cdS~=lXagEJVpN_|OdwDE;2t{YB`9j52krc$vjIZ$YsT1%M^4&9+hC)|u(Ba+H9&4L1Z!qp57V6z}q z@}|fPH^{E}g-+ShQMt5P)q(I$?O0YcBPxGAoN6cfO-Bb znqq~pEi&4uJbl(*`8>fAePf1evBMlPShzOzf8>~6b-3w7sIO!!kW7;U&wwwbyZ1$& zn7z=MNexD6nl{Q2?D2iB zEkk8f`hP!XbLOA$C0a_&J^X7lxY2$B@H<72E}KZFXRzK!>Ne~LlS!S_$D;L4ag1nn z!*k#?Z!x{br-@h9I{VT#Dz{_@7v8{Lf9Ki!1=H} zHnNG|y8%|r4m6Ivo=w!gk`p!Ac!cui(->H9=P106m|B@N9RsVh&PQ{>LoT!~y=UMg zTTE??{Ul8%r2Z!qSvl*VS zAphup>NrplfJj)KKYjS`Ck8plFcoA`_KTqdUmP3IK*V`&zhC=>H3N#^&1qS*KJPE; zf)}bAQ8D_{NLw>CK1i(mB1as(EdTd;npOYoVFjjE8l`T^xNg* z@ya`Pph6&R!+#-KyfVncA)9GdoBt^X{`y3@52%|q%7sBEP;>m+uJHH0`Rqf)#q9dY zP--pC2>%L5BLyD1h3qKBV=TK}%iT{YZl*jUt* z?S{7gf9;%WOj~6b$4_ZV3&h!&5axt&m_!63jbXD4xpYKQ76f7(f;b9@0~TZhxlAZ6 zr(V_ogMpWIang>=(F~X+Gs?tnZFCzt0}K!tkd4klp<|OlOAC~?J_lNgemC*M`}KS{ zeb426{{P?qc}`~s;2mz%{#nnGHop4TRsHnmDboJP`A$8lEUMWW#v=vX5Y-1l2Nrj} zt;zGiMPz}Lg4dV#1${9hO`-Uet?)bK*97^xOfcXNx{HFN^DZ zuFb_8roiiSbt)EEkky5s6Dc!fHf0<B37uZ1OafuIRa{VoL z*YA0;l*N%NnvdnI>IYtiDVtbrV}S3zpkq5M(}X(!*5RpLP2AYE!AWUqIC%ZZB=GvV zZQPip=E;RD^UXq@;j1631})DM)hoaFOI2@iF15T7pzjL_2Cx59H#H&PNR($-D!U54 zfCI0escXNz!ka&I45XM>sM3ZH&`jX@#?ykQoB=d^o(UyivJZ#N|KB&S1~M`kak{3L6n?rg431yAI; zjJ@`gY-Nt6o5#F*2^cZS+aTCYjInicG+!n#89xb% z%HdzW)sba=s1NnP!Rynz%~mq^jMSbA-#GW^XX`^O>yXK;#EWq5?L)pPe&W?=t(cP-m~vnfns@QG|2YQ#fo$7BfFYR z%TP_q?~ehij31FCf!B|gm(*&^5b_Occbg*$IeEeM?^JLxw%e1IGxV_UU&b9i7; zl6!aaAC*lvbNlPZ6$>Hhe!Znq!`J&6sSV&DOWVd&w&lW@g*72YUN2GLu*^W`lnN$FqtK_zE3diwsx-G92}IboW^4yRUFuQZcm1pz zg&xT9IY{ck#z9T0no^m`a}1M`heZVSne+95&KX4fNr;9}hAFmr#6DUvGzq!nwuWQ*$<-fX9a&j8A^;+qmqH{s!rpq!|DJ diff --git a/test/fixtures/app/doc/screenshots/linux/selenium_headless/cropped_screenshot.png b/test/fixtures/app/doc/screenshots/linux/selenium_headless/cropped_screenshot.png index 6c92316538072c4b8aae587938cb948afc386760..5f44230c384623eccc446b72b97c02ea102afefa 100644 GIT binary patch literal 906 zcmeAS@N?(olHy`uVBq!ia0vp^DIm2BR01_ovu zPZ!6KiaBrR_~zX<5NJKQ;537!L&KaUyXV}9+qSo-cS|&LBzssmi$vpL$sm=lI{WxJ z1iY0eUJlzuwTyq2`qv8+e&`GAfB5=Xl+?UU7uRWPF5Y6N{L-v_ zNtIW^`_vcro<4seX4vzbDR+hB--ZiSu0GS>D}Hpo?lf=hk&gF^?-tj}tvnv`T_7`6 z*>~H+iY(Tv&LS(tTRv4CeY-tKwPTy1gSFn;z9p}9k9)mpQ8^&B%MauW87F}!iYul# za}=qBINrM#clYf#%SC!eB+K;fy)Q4f`dc{t^zju|zP#HfH665M;o)L(yJ%ke< zH2J?CPi$^&eL9n6B9n_pt)Gcf9Fd94N*`Sa{Nk z7@B9w97s@OH?U}LaCAH{!)b#1r=z}#CzKER@Ff^bW|lbfWWkNTHlQN2KZcW;I|LZv zdfMAcGZ>96Q*ypH0Hqha28GWtMHWZ7CNIkt1@|VX!8@jk@SIajfTS{@om@<8tc=Y~ hAlra3K#uT#My{-@H+l^-nSq&$!PC{xWt~$(69A>6i0c3V literal 3051 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 J)gYXs{sTf(zB>Q_ diff --git a/test/fixtures/app/doc/screenshots/linux/selenium_headless/index-blur_active_element-disabled.png b/test/fixtures/app/doc/screenshots/linux/selenium_headless/index-blur_active_element-disabled.png index 5a9234f2dadbbbd8aeb786550a6350e8f11abf12..88bfc801dc1d390855e6a326953ea8c2d46cb6af 100644 GIT binary patch literal 21685 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

  • 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 OvbEm#9et0-#eV|{ewQo& diff --git a/test/fixtures/app/doc/screenshots/linux/selenium_headless/index-blur_active_element-enabled.png b/test/fixtures/app/doc/screenshots/linux/selenium_headless/index-blur_active_element-enabled.png index 09d88558c10c6d08529b27825a52ba6b07ac9b54..4ddad7ff469941c8eee07ffa1f59fc3e6cecda47 100644 GIT binary patch literal 21557 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 literal 28363 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 J3`^JZ{{dc%E~o$i diff --git a/test/fixtures/app/doc/screenshots/linux/selenium_headless/index-cropped.png b/test/fixtures/app/doc/screenshots/linux/selenium_headless/index-cropped.png index 9ff279ec0e41761d6728f585c5f3a97347245ccb..7c7573fef2d860b3c6f17c877feb6227c09c72dc 100644 GIT binary patch delta 1245 zcmV<31S0#yB=8B4BYyx1a7bBm000XT000XT0n*)m`~Uz1qDe$SRCt{2-OWziFc84; z$!d>P5$BaC@6jXbnJ47{rwSo)?Q0Ox-cTgYY|}#(6oO~`vCcXh|9=t^3f{zNJ&B#z zvrXUky#R39l&%1_L=8#72x*Nsrds<(D4r4(9GNpBs zeB0+9&rJ92JC-lNLidC9dJhom${)I2bLd?nWPh$kYz3sYeR_99-LenTb6;(jaOGY? z9Z*J67fUl-eSdR}F=BD$M{ZdIMC5Zo42|{}fx?v@xy}A2okojOmNh_1c5$@9wN|H? z@^szmHOm;pwOuQddq5xaUPCKSKw!`?-5t;|n-?$;Ab^1Y0Sw!>x4&|CcQ0-Gr*vI_ z#rXDZC)d|Mq`A5I*wun-`C zVHE+wn{Uiz6#)Xw#W@$tn&1c2M4hZiFaQa&c|+ECTQh2{tSBj&QnWgTmIW-)0pd!8 z;7SWL=F2wXT6L%;VHo~q1!`znz(*aV4-ISlGZ^0irj0M8A!^w~LO+wUEMQ3;}tS1Gyx<2N?%}Z;5KI;27`6x6kR{xuYPJdI!;-9QiUB zx}H$Y5hPaD$CA0ZurAI3@g+L&ZP%VYX`c_-7E>nz0=Y2N1TYXFfZ-$pgf0_GIf(!P zO4(do?4;{nOVz~*0vJBL zNnhhaqmXa9)uenYZ)kbesGNqah`wN{mjA>W&Jk(UZ@Hz>{KvmT-ICUWgv^u;>8|<8 zxYn;9ddyh9^(~>@soeF#aU7hqA!H4D&d+h%KeCO{gA5$-s_h}4L<6@&FoZ}MefX_a4v3yUmYG1xu`}x<# z9D~Gut#S=&KmXcnM7Syfn)j(D+LM(rZ9p25q#?9S$`v}~m^s8AC#F0Xsb$)VxHEwa z+owXhUAfA{(DrwXAn_%XI7YoN52m{V27hMr0tNyEFc2VsVf*&>SMKiarEUL|t_!dj z?`zU;ZhrPxSKsCA>`Uo70gKUfuk!f#OEzu$o8SN@&dY&N`qz>K#OTa%5!}?EBvNgldi; z(e4ti_4V9Qkjfb#z9a;`?N+Av&{hF@Ot$%$vOo-`ng9j@1TdULfY4<^DJKyiKq;Gx zi=A}cYw3Cbi}Lc)$>rrvn*Dy?-`+mR)6;Y5IsuC@WHtE*aQbGe4HUTa00000NkvXX Hu0mjf=#5!= literal 4676 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 diff --git a/test/fixtures/app/doc/screenshots/linux/selenium_headless/index-hide_caret-disabled.png b/test/fixtures/app/doc/screenshots/linux/selenium_headless/index-hide_caret-disabled.png index f5b93070f748580d2f653a607fad404ba3a01e9a..4699b162c5ca3d296a839233d463be6a14192dae 100644 GIT binary patch literal 21595 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 Z;(xtL_#hKqf&jsSj(-snSbmIn{l5`1d4d1{ literal 28661 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 Dyt?x^ diff --git a/test/fixtures/app/doc/screenshots/linux/selenium_headless/index-hide_caret-enabled.png b/test/fixtures/app/doc/screenshots/linux/selenium_headless/index-hide_caret-enabled.png index 09d88558c10c6d08529b27825a52ba6b07ac9b54..4ddad7ff469941c8eee07ffa1f59fc3e6cecda47 100644 GIT binary patch literal 21557 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 literal 28363 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 J3`^JZ{{dc%E~o$i diff --git a/test/fixtures/app/doc/screenshots/linux/selenium_headless/index-without-img-cropped.png b/test/fixtures/app/doc/screenshots/linux/selenium_headless/index-without-img-cropped.png index 9ff279ec0e41761d6728f585c5f3a97347245ccb..7c7573fef2d860b3c6f17c877feb6227c09c72dc 100644 GIT binary patch delta 1245 zcmV<31S0#yB=8B4BYyx1a7bBm000XT000XT0n*)m`~Uz1qDe$SRCt{2-OWziFc84; z$!d>P5$BaC@6jXbnJ47{rwSo)?Q0Ox-cTgYY|}#(6oO~`vCcXh|9=t^3f{zNJ&B#z zvrXUky#R39l&%1_L=8#72x*Nsrds<(D4r4(9GNpBs zeB0+9&rJ92JC-lNLidC9dJhom${)I2bLd?nWPh$kYz3sYeR_99-LenTb6;(jaOGY? z9Z*J67fUl-eSdR}F=BD$M{ZdIMC5Zo42|{}fx?v@xy}A2okojOmNh_1c5$@9wN|H? z@^szmHOm;pwOuQddq5xaUPCKSKw!`?-5t;|n-?$;Ab^1Y0Sw!>x4&|CcQ0-Gr*vI_ z#rXDZC)d|Mq`A5I*wun-`C zVHE+wn{Uiz6#)Xw#W@$tn&1c2M4hZiFaQa&c|+ECTQh2{tSBj&QnWgTmIW-)0pd!8 z;7SWL=F2wXT6L%;VHo~q1!`znz(*aV4-ISlGZ^0irj0M8A!^w~LO+wUEMQ3;}tS1Gyx<2N?%}Z;5KI;27`6x6kR{xuYPJdI!;-9QiUB zx}H$Y5hPaD$CA0ZurAI3@g+L&ZP%VYX`c_-7E>nz0=Y2N1TYXFfZ-$pgf0_GIf(!P zO4(do?4;{nOVz~*0vJBL zNnhhaqmXa9)uenYZ)kbesGNqah`wN{mjA>W&Jk(UZ@Hz>{KvmT-ICUWgv^u;>8|<8 zxYn;9ddyh9^(~>@soeF#aU7hqA!H4D&d+h%KeCO{gA5$-s_h}4L<6@&FoZ}MefX_a4v3yUmYG1xu`}x<# z9D~Gut#S=&KmXcnM7Syfn)j(D+LM(rZ9p25q#?9S$`v}~m^s8AC#F0Xsb$)VxHEwa z+owXhUAfA{(DrwXAn_%XI7YoN52m{V27hMr0tNyEFc2VsVf*&>SMKiarEUL|t_!dj z?`zU;ZhrPxSKsCA>`Uo70gKUfuk!f#OEzu$o8SN@&dY&N`qz>K#OTa%5!}?EBvNgldi; z(e4ti_4V9Qkjfb#z9a;`?N+Av&{hF@Ot$%$vOo-`ng9j@1TdULfY4<^DJKyiKq;Gx zi=A}cYw3Cbi}Lc)$>rrvn*Dy?-`+mR)6;Y5IsuC@WHtE*aQbGe4HUTa00000NkvXX Hu0mjf=#5!= literal 4676 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 diff --git a/test/fixtures/app/doc/screenshots/linux/selenium_headless/index.png b/test/fixtures/app/doc/screenshots/linux/selenium_headless/index.png index 0b28ff6052bb32ccc7cb3a16861d570437fae194..36e7854532ab3a6ca101ea23a844580e2782d607 100644 GIT binary patch literal 21334 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 literal 27376 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 QPgXdqZMNTKn^VL71hqvH#{d8T diff --git a/test/fixtures/app/doc/screenshots/linux/selenium_headless/index_with_skip_area_as_array_of_css.png b/test/fixtures/app/doc/screenshots/linux/selenium_headless/index_with_skip_area_as_array_of_css.png index 2e1d0b66f5f80ceffaebf44c7aafe94f704cfc76..36e7854532ab3a6ca101ea23a844580e2782d607 100644 GIT binary patch literal 21334 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 literal 27643 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 C%|Dg^ diff --git a/test/fixtures/app/doc/screenshots/linux/selenium_headless/index_with_skip_area_as_array_of_css_and_p.png b/test/fixtures/app/doc/screenshots/linux/selenium_headless/index_with_skip_area_as_array_of_css_and_p.png index 2e1d0b66f5f80ceffaebf44c7aafe94f704cfc76..36e7854532ab3a6ca101ea23a844580e2782d607 100644 GIT binary patch literal 21334 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 literal 27643 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 C%|Dg^ diff --git a/test/fixtures/app/doc/screenshots/linux/selenium_headless/record_screenshot/record_index/00_index.png b/test/fixtures/app/doc/screenshots/linux/selenium_headless/record_screenshot/record_index/00_index.png index 0b28ff6052bb32ccc7cb3a16861d570437fae194..36e7854532ab3a6ca101ea23a844580e2782d607 100644 GIT binary patch literal 21334 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 literal 27376 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 QPgXdqZMNTKn^VL71hqvH#{d8T diff --git a/test/fixtures/app/doc/screenshots/linux/selenium_headless/record_screenshot/record_index_as_webp/00_index-vips.webp b/test/fixtures/app/doc/screenshots/linux/selenium_headless/record_screenshot/record_index_as_webp/00_index-vips.webp index 2a969aaca94d68201dad69f7e4acacba6d85ee1e..36e7854532ab3a6ca101ea23a844580e2782d607 100644 GIT binary patch literal 21334 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 literal 20184 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 Hu0mjf=#5!= literal 4676 zcmZXYWmHsM+s6S19C`pr8JMBFq@-jB8HAzJTbf%G1PKXg1{fG}1eK7M?j9QHkQ@o6 z+aRPFq@HoD=Xt-pAI?5|?RD0^&c4?Ff1TfT&<1*1)D&zKL_|c?+Hegc!hMi%nE=TM zB}rwIn=)?PRtwHlF`-yf-p7w$qU^ zax7^&J$+LWGF$fR%=+I9G}IQjp#e!gV!r4CNdPkFcnay-4u^#+&8w{4b{l4W%&ojl zbz`QBXq5Iy zzHr5!Ed{iWKe$nnb=A=$1c}A1d`a3XtLjKP#uDBw`SaDm0H+%J)oRDZo|k$QjrYyv zQDWAkb{S+os&tW0R}(|nU_9t>h`)kN4N6|?JS}8yXlRIOVS`bSI9M_#!7|05^-$<6hZRcG+k zLd^ij_SQ%m_qkzMi}yC)xprcDgmpGgvp+^hthsm5Yh2lI#%t{UfNRJ3meHwGb`VqM z&DnCuA|W$erL&c-dqVRi#zhKa7xY?~s?O^6?iNXT4A3vIx@s zx3GETTe2bm3|rK7x;t;K@=+_%CzeUn6N4r@UG!bnc0lp~_5IimB?s8K2Lc&OZ0!@CBJmV4@3bb=a+q#gRBxclotreDk)khx2${O?cE@4&{?C( z)=wrR${TH?zjzh^8m1+$ef84_JEpKL4_~8P7x9l|6gJZ+Qb#Hs4sv^nk1L-&d5g*< zzD4GEQlHU!bvnn7J798kd2Fhx7@8c}1cN^!&5FcbmgN{b! z?2__MA+*ZJ80iK6>_Dk9jzs0t)QqZ<67*OUp!r8$EYGO^gR46QcHbAg#$DAwCWyUx zadF{f@LN(6GyukbLr_Yc8xI;12U~L-O5)v%yEld@am+f7;tXywK0zIe?!vk)%WZw7pep{LX13*vLi*FhCwX-dI|A?xg{nB&nF9e0@Dg5LaicS9!i#Yo8tiI|>1KGRi ztOLy3#4t}&n7$~hX!N9}ram;z1?J5jV4<-3+pn+Bzh61lT>PDvl$Cvc#5o)8$Xgv= ztC=%RUTfP$;(K#-=0yDJcl+6JGM?b5l%uxht&+<2VS>`<^1mNa+8Tu(+tIESO;@GWY8~e{%ni;4ht5^o2b3RKorPwb!|?ULvHwlnA(3AWe5M_ue*}c zAjHZ0(lNK6O0Kr}i(p{DY>G{=Aaz!eLipw0Vyog*?UN*0n84Amva0tSI|LKI)tN|^ ze8#B~=r_Zwj>OklOc5I`zW$zBQ^+^s2DA4UNj}t6)kRG7u;w^8cL#qpI6h5%V^=-O zIernDtgm93b-ZEeyXaj&b?V~cA`?qBOfYdE6!3B-jSnp2{Pttmx##9P^Wlc`t2vjd zlaS##t!1Y+Rj|bCRsZIxf}=4-{i*x7B&`Z!0e6B66MP}9yNw^_U8>sIepnhjQ`ciEOU}%Ltr1HdGsQaH&om{{8d=)PG=rR{?6}Sw@;vFq<}a`1yL#E zw_uP2vOfC;x0lcOcScfd=6C^ve3=M6aq(U!It@9Mq$;ProFx+ycIkDKFg7$?|Fv!2 z$T>Wp$wES^YI}aj7!TH}_&nj2%0hxtH3qDp=<)@{eELBkLWCI*RTuy;2Zqro?o^wc zT9T)J)kmpDsOllvLoN^Ohr`gQ8*K-6mUl~JiVrceMD1W3sW*@Tuy01d_e|efmE4!` z5<3TgU_(fL+jcS>)J?QWPen;^o^O=CEb;Ahho4Uepw<6>gO#<8X6%ZRhP-C2e4Cfr17b-< z`;+jg#Swtl+ZEV_99Vd7HAuaCyRud65H_jQCPS_)Dlk`?dPPSFH%jv!=uPZyR{XHxzs;W|6 zY(R0VgKxMaQ!$4V>a>i$=AyIwz;^IVM{%TvbeA}(k$#$#X7cvgokS}gr`IZylpf^QOe<>2UO%o}VG3O`m;WI9t>lSqTgG8S>{ zZqvLXlneh?)LA&ZYa&?DY%KSX-Tf2sTHUB|h6iAh>Sz~c@HrLiK#^)4`%RLUm-&>u zThf8!avOT@)-|D&k0S+$;VxDSVn~P@#1B;a96Zt)uFnfHW9{ZX_cqRg9vC;&hQ(u7V%8{f+NQ6<<2e#-2Du>D%#bL zKIxKukWFsXgm3{H5npX4iyOZ^y^HOkQEd8{pzvsh(WI!LvBLRtWx~+sbRg1+`!lyK zO*lE_#p><6Rb*WCD;Xc#^8NWIorqg76c}r;_MExsQB7VFnbSn6o%~?S55?X32Q?L0pNpqW-Ir4oQzB6V#cY;n zu5Tn3K^aOm3R0|N*xIfAQ>=VEE_Uh?IfffsS{@(fq9F2ohBV)UnpaVG*=!ynQjF6J z3k&=8xu`STVJ%C|Vv4(Ro`a;UZfyts0^<5UWH>e!B&S7XTEOAaLsomAXK$wzFC)&^ zfk|Y{VyyHU=3^(y650c|pgh2in<)gRUjDu3Rsb%fJ1ZNrM^S>(A^hNGYdptk1sx}1 z)nalDG2yoX;#41-C2Ecl80iKa~finE@lO{bl$SOd&7wWd_%^@To97)Sq(dkN=sLBMpTzkGiIB=S@ zS$s&J2u*wnzf%0rjl`h&nK`vp46BaV&^uHS_pE`hHSgd^+P%6MuAEz8943GH6t;G3 zfjv)vMH3ea<-BJ-g*^9whQL8;3?7|OGg&gj`gtE=04!xzaHLv+D(gT}>sWh;1)}YF zLKDn^U^tZ`aIFlT20zKAOLg{3TKe|`9&k*36Go0F`V<1C@lXbyBVuAhK@oT}yB{1C zWa3o%N(UOsZ{g5l+uZ8L`wmPR1Iz@qW@traDR>LD8m7Bvs9{LCxPFaT&T;U#Q6Zhb zE=a;F&mcxWZ#vYF?rh5!GOKDW|7DugHb{lIE)w);DBlmL0k8|zaVOpVg*F3v0MCBP z9pCrb8r0Ez+F_FAw?_W@qSC*9%)m}6_t($>XULBK=??3ONjfS`3~?{yI*>JRTZCz| zh&Ou79wza02A|K6e6PTK;^N6GsQU zJym7%AnkP8QVj8{u;%Nj6vhlon$`L_+w!Xg&IBCK*K4bru)L4sTV0#CpTu|R zNBSa;pNx!1iXx6#*8C6L^TakZUtlVu8D9zm1eZ2<9-&lULu~Q`%4ZrEHY*+mRMudSsA-EZG}<1w#Y@gv1@p9FcRIRAEUP zq3{Qcj16Kv$+%uZW0}qc@u-P|Ai`?yp@;~Zm4jJG$bt2W$bB;_a4r4be6SS22#QID zIL9QQqizIG`kesUC!PP~z5V+sb0e2!8Ws6h68ZM9(>T~$hX>xYRvr?74+q_WA#jok zy~UUY3Of52)Er6{>}4%JyF&eOEgjHK2kO`Z=s~eWf+JeG?M}^pCINU-TOB0s2b{i0 zihahR#1U||CpuGU@zZ{{jGjK?nMgPpH9fbgjOqp(A4-)C@K_gAZci?ilZC=pIb@a! z58F3x6}c37f*aW_`)LlBK4mp_goFmu9)`)9|V(?L>kcnCF$MCx3_2B zaBERWLU|LO$TOAT0lCmW@L+u)7A@~M$SdtRY!E`n zrZ|9qP&~1Jas2aRl$tD1>gAHs{i4^=m$_;m2NFq_8GHE$d(jNwz4DHg{#b`(G!#P? zM(8=>VS(N#$`u1m^#S7vW~6)^>%E70A3Oegk#7~_`Plt{oB^8aDXx{~PQdN`YB2Ox~9*hk2Z zeaon3e^5OW=kaE%rUHs#`g@2H3k8Ng`Oq|e>d~GZ#yShC3_7y$kw=rCL6&c_Q2m+W zFvu;pE)83|LMk~cYMEZ|Aja4OYG-!myZQEU8ZUcSmU}_)a8)i?V7t}X!8^Xaa%7ni@DR_bHb%8A+30ZmCg9Y`f9oMn@7Hqm$_w!;wN(67`J zMawL8Z-rkqf>eo!HCYC!*FKA;ISlNM@um=LLI zNtf?%CF6rF2qmoDxh5@BAL4=ly7<92|1hY30$IeXS}l5-o0_gm>CT&(%{;zC8|!HA g`pM-M+w{hbe7v6^F)Hd0;qMTUwx*s&rJ61BKhh%VBme*a diff --git a/test/fixtures/app/doc/screenshots/linux/selenium_headless/record_screenshot/record_index_with_stability/00_index.png b/test/fixtures/app/doc/screenshots/linux/selenium_headless/record_screenshot/record_index_with_stability/00_index.png index 0b28ff6052bb32ccc7cb3a16861d570437fae194..36e7854532ab3a6ca101ea23a844580e2782d607 100644 GIT binary patch literal 21334 zcmY&=2Q=0H|Nli%S(P$!ktmAnxUN-EMn)*I>6+Oy;~FK&-ek)Rag)8txVE_2<674> zuD$pF)u+Da{Ql=~Nbhs6*ZcK)KA(^E7VunImh#e#OArWzQeI9*4FVy#34st3UmyiP z5kcfmgD)5DkK8gA#ypAD|n-F=KM=xBH2ooN5#*13`gEdjS1P8Bz{N207 z_p;P-6`WBHrPbql)^9~jW{D6DLX+nOgAfRDMVa1n1cB<0JMT#ZNf~KP#krdj=+Qq} zLR*$UF^M<+{I=%9Usp1=Qa3!XvQ!nPa632iTgMCi%#51ky`;Bit}3Q)X&BkiHsvCh zQdDI8dG4EJZyr0QxKH8_L|f^7FF(G(`r-0pBumAacRl3Kw-;EOrJ!m)|NZy^Yn^Q- z^%YCegArFOVrrdbm zt<4?<-dsNzlk%7wsDJbK290O9+<&+mo!w^o_-Bt$2jlaCNBOl%Q%4`fZo9zqDT*m* zlBe#5jhaTCI1;r4+$+z2vRTO;I%^pG1*S!Rov&b5n6F*4&>DmJ*zrMyO=xbM+p=2{ zGRr`n{LqM(E>FQu7Y@ed z#=;5(-Mw&JNP}s&e#5K(t!M@Z7DTElgOZXiUoOJ<;bJInbPLb=@$(qy+zFtWVP}=M zx-#R=6NlnaPjMrG^cuKc!S2al_2vJlUE9*%J?5J7tWxNSeN9JoPt3uB=IZ*y4i97^ zQ}(yIVsML0kx_vOIR);qeR{{V^wu}q-=7ojt0z!Bzh`XCb~ClNZ)L~m1$PB(5qo7n zu>bcZIMr7X>+;!C>H3D$iDQGWYvw;XaQnV2vjmHZbnjHK#t+FBs~!_1HFncCLJ{Z=5bM|LMt4@O|6LzT^x7ho)-vQ%?m*&ikwkiuf7e(`NK5$7D^@nVQn+CZsnozv@mf*-BKiPRTF(^zk9gGh>p2rmAX z)Uhvh5oVEJFst44v5jVsYf8{8=dG0t=dPQ9c2IxzqVrlw>=dMZmJWS?E44y%McW75 zTKZ0WKbtyh;quidhu1~MTInNUjXS#TB))j}-y%Bft*26C{zhCsKYw^N_S1wrHAAQr zY>Pts0g3k3nMA>=@Xq&knVxCm+no^(vHH>BJ1h3tn~EX0QsTGEN~EgI+B?@)3c_tr zD%UI`*&Chp>>9Roky(87ZxWUAO4+^@T88rMK7Zq*Y*_l>VI|cpLzsq$X*EmKmY$^7 zsbf;R_|q&T6OM9Whder4^Xp)!ouzYAkKY1)FzfpDLQ5<)+TPk;V5#rF$(= zCl_NduJ{@Uxs0kzB$Y8oYZ{w%n1QGZ)dc&;<|4m~t-)27VZ%QmRz)*M1g9#f=(-Su zY`3<7rk7p;5qQ$#^SCuDe538Kj3k`~;XgI&vlDV7)g!8bbmo07;$oKC(a$^oy9(~_g)Z!l+rMdI^;(x8u9(9zGow?T?E1UY( z!v%({IDfBy_kwz)%efgCYbYWTRwP^E!!9qU?;^N*H;i2#Y~-u_lynhJNcfK4E*;5y zkYv5xq4%5_?dkO}DK&5w%b8Nsw8b8y3=G4mywLVPldBUmdeGsU;>1|Avz{(m-XLmX zaOW_JDOzMIC~lNn!U9aOxpe{)(y%W?oz+Nv-u@z5XRPK9Yi&@+@ zFD+l(J)}o`6`|u)exa4r{ycuYlHSHqByU6 zGTp1s)D=zxey~<&rfB>ZgpO-vsNj-UvplidhkqmP5*BmWy5?T1|L#cpcOv-ob+ExjS#>H~=7fcgg}F>x=ux<~nX*_cJue35|J=6SnJzqa*C?G z+^Hmpu(y@GV`YAbpa)Fo3^udBBkGgpXeorhm5-i6M4SPN?s4YC5e0wjljv=6)YI*4 zvL{4*gN4dUPqz-E^oD4;n@|!%CYPV+)~T`v!o@u%zvno`B2)SZ?Sx5B$ZtlHl0rLU zdqWXNCWE)}*9!{gYi->*u&%2Uc7E70U z*N(5$avIs+k-o;LJ@Hv%$b~z7*lzXtyTg!6h)QVPn(COwH8emW?f6%hYdeD zzh8z|6b31u@eIY?`-?q3#f_a@(15?N4sLX0`gr8BV&@i&uVim+d5iSuy5tWlb7XBD z*7`KPUdjLQ=66R1(y?5*U?YnI;St4#ajW=4)2OEzA^6H>`=7b9K`#`Bv_M^9MqYEr zWx)E4LHKL?X!2U@$I5Fg>M$IeKtLmj(3q3oMbNiV(hH-x)sLqQBBG->;-&;c^G7Dojy%Uz;FIo<75 zRK05;Ygv6|xozg|pvaqTcak4kI?aUq5?8d2REPKBi#QFDr9^nn*cJCC1)5ykMDP~Q<&m6t^eQ|M*Y+oVd(pB_ULy_PeQfVm1e%;K%^!XAEPTPl;`NZSKdBdb> ze1i{{eP&!^SlqW*>rNhrJj%SQ92(XA;^3`8twJ%QdRv8YOlOvu1Z|FBNmYVP^e@as z$0uPL<>)ULQ0jH$%q$pjr^3E_%+=d*5eMYBjfVgv2H0V z?#=SI_dgI>pI$P-zCn#oR$DnL=kX3m`m9{Osv2dIzJJKUXtjaB{ zq-@zyR_|)H!cZfXOZ{RaCfY1ed}o|gMO?6DbLpd!GWNoSx7mI0w9=QXi5C}lR&HP$ zG{LOyU;Q*4(L!uH9LGW608=GJYh+rxAWWG;%jB%kSCA+OL$uZ6vnR2s41RaKflx`= zJ?^xua z5xct|-wT}4gl7D3yya8W5*TIr`kck|>oE3_RF;o4cP!$X=@IzH{qdK{{CD0^W)V6j zvJ%TJN~P1~99LTJ4IEyHzVZC70hwW~c8>eoD5PX3sH+*7nBq$B&c;a&S1h$Ar?IXR zoKL^YBiKxQHL=> z4w|_DBBQ{IXzPqoq<_-zU?i*d8rrh@o;C~TM6eI|r5KMKO%{iS?76)jP?`aSeMTi`y`F*LO&sPWRH*SCXBk>Kg;LwM;(G zH0y#I`9yR~0l5N;h`td{`S=0>%QtQn^O7pR;FEr|9nL0fug;m51Gho zJ3%!fRUa2Ka8H}VT*C13gApgIcl_fHxa_re%Ul$}8dS0tuQFz{w*>x;lL$TX@QxG) zFtBWFhZE0c=3qKw$*N^&yXu#csTsAU651m{P3Dr#&V=5>cVQVTfs=}t0Tigz{Yc}V z4`?AIFsh}bDe`+w6&2s;C+F>7Ua^`Y3r-%oH8mdwH@+_O#deNJ$&I{o#!+%A71-hW zXB+AtRi@D-+Ud7d2#F zUP632X7NYNaM$G_$9Q_)UpBTmj?6rTmY6N0X|o>=W6 zOgWDG5KFMBc)a&H>|R@nHyz-IxcD1l6YuZayk<a)QoMo$W{|owPRWgZe$-#`Rxo39zp_oOAr#%*U@k z)wPJ=Miq{+DcJ|F4S(5=LesjPv{MjAsFy*?9G$?XEqM{m}+Y{=WU~VU-$av&|E=sI%sO++I zp7_UIIQ~@1t?un@b_f9Gi;MEa2K=9dR(6HKg2;Az`xkd#>B?PrE3P1@UNSaDNW3pt zjTb(`lZxYdi%XD+i@EZ<-LdWX9{~Da&)Z=GFbwj|`dqX9`%Q7u0LtAU8fov#U!wPZ z6zJ^M%b~{$MB?+K0SOb|pIWmAN6nlmEt>#s<4Dy>r@MVkfVrjS7GcaPTtk+o3gZNq zxWjR&WOVHJl2WXuuz6|OQ|axfsM+Xe>fAi+1gATdj&ErUOC(=q$)YI2Gn3PdVgvrE zBr$b4nKcqwcRK{t38~fcS;%B?dZ(;a5EiF|S15qn@qbgR&KMqxe*Dp(c6BNZKoAZKi|{9ULXh zlhC;U161W_h|ZRxGB@8#D@P}LKRdGoFhK@2OrlX6101Pk3^xOki}-3vmV}kB>U^M= z7N!Y@UF6|OS)Qt(B9)emJAYI6=%&ix<7g3p+188q&R{H3XQJ~#E=(H3VF$%q-KubR zl+;sj1KkSvIxbfhm3%~9o1H}@iF!t}k)@Ctf}!JgaFMjnt5CQ4!3{;t6#qt-$57cT z79okIp>6l{|G^iFA!1`UXI~bNWy;CzR_wHIYHf%zMa;!ilq)WP8CFDrZs`jC>-iG*(g|uD})Eg$fno zujc3!0$k@u2Ok~@Zg015-PGDV;4aq?`LxXd=}9gS@Z@6e zVSRTK&00>W-gF}-6-SclaRsNJ`Qmx>_E~$1S_;6a@ww-J#D~|rZKkRxeSgyF@_E)0 z3vb@+2yz)@Q+_J49=e?Ftmw^0Z{6I1`^_2E>^#x;%cEd26F`R$F=xfsUkAcAe=(#! zu6wsh3fklByeYQFXHIa1jF`lw1JXJv^x@Nx41YS9)6HkB23as8O%m)Y z(PyYLjY|khBoc_Q} zK58VOR68}}h<@2W{x<8Bh0?RncMcvb+nTPkO174a!vV0m+k01I=mFz^dsRq>A;ox2 zsd7QeEcp4Vm@0lH$NK};;7ka@!6mAZND?b@^x@=lPOP-oZlhGz&>4RJl)opbN*PFF zI?RXcE026_#Se^9>bKpAv1WP0WfM0Dkg84b$mTRe$n0?W1`dVUyKY;d0>AlpA8W=7 z&$k)#QGQcxbKQ3O>45NY_(FHvs^ogF)R{gYBc0{F>pE+&Cmx0*=cP6Zu=9B4`+Z~X zpK7xhkt^|g;oTo}D@JmF$cVaz!9<}JI2T~8upV=l$9JiFxBB^{{n`1q4@tn--|bbh zUunH$9~oSRxGf*dPbHSj%v1 zYU{awt9+b#tJyt{*NZApwB;g=owY>_XTO!dn4#5tJD(LFzY7!UenL{;GGxK!NJu9N z)o=1omR$4Ki`q=_I?Zu4E_$fK@vV&X_hTh%S@nDSoV}0SeESA-d%bbB;%CPmm8IJ@ zUaLyCB{vG-9?wK7)TI=KFKCTjs3`sM=$eI1flV;+rN$|D9{Jb(Y4vki(L2+zcZXWG z#Aje%2B_SYL=!)yu;1yP$@aUKRuYm z&o#XBZxAT{WJ>?rmI5DWc^#s zWVt0#WH({G=P0m?j-*wPc_;bPHwP_C%C9z0#`(??X#DFM8$I!rUdtikTgPE`(@RpX z1wKFJ7|u}atxbG$azQn-@~jS#Q3?2uEczRiFjck;7hdRfyhzN_TioK05*Ht8bkqZ* z(4xG&4_?LqT^!Zvb;N8tm__#y*%j`4t^THVG{ll4T~??Mh6Pi4KQo#qGS zY;|W2KlvhEU|KzX{o)b-R!q>jy7xloJ?RA&sw~LZ`Pqw@(m5t(aPB-{BsF*`GFzT-Rc8Eo$7t69h#@RTzE1dXov+J5Y6f=2AmSmyHTCJ&9Vu<$IyR{5) zKebCLZb>kg@ammAVq$tgXp20D_|EvFU(Nw>bN%|((Qafr_a;W_Q0#aN<>hNOh*HD$ zeenH&*KpYnC@wb_UgZGPYx_>6=h1y=JgjMAKXE(#!<*yVUQ@rq9Ht`?j&e}Ei5``h zU7>UEtWP2-T?*Xm6NW>;SU_;j(OQ`$_2g7n{_lEMiK<;50ti*%u%%j8J&7|#_=HmK zJf~^-=uUrSmnM2SvuXa=M$ZFSlYi8ioi== zMfkVzlj15lv)W7rjRhHySr?Ekbt3{X5`uGET5u*EBt3#K<$g7a-Sju5y`I0{$@Pw` zyUHv_0xGD&;&J-*i4dOr0wNI+GNf5SC(6@31SKTZFzsh1s~0XZc}6FGDi`o=t$(St zX7N-CzcB4r(lqlW`j)cQ(}2dz#LDBoHI3Weo^CyZn06J1s-T?>PjhqVGlq>f2j$tP4Dz^sNq6%V(ls6qvym%S|*2P%tI zwygFvb0z8Q3kEZ)t`|vt&iRtaiO#8`all%IhNYfC>-S^LTsMAtH(~PsQ)4=uzbft< zbEHiF<_}q8A(@)N-6p+rtKWq!cD8Eq*k9s(X`O1uB+^GgG*hkaLe2DpYS(}B&(dYZ z2U@dcuzpD6{e&OSpV%YYrM%x2dISNe7N2r-y@cwIz*gLMt3N@%{$Yh+h#JX{c)RGc zi0%*9S_#?TMrr}Jordjxq6w8y@H4t5?uyN2130feph<<#pt22#y9Kt18_G9TDmQd+W!lZbqJEm^3M9u+Po!pt}yWUDq>iY?tFW)VEF7ycZ|Kl>E{Rv(@ zp!2jOp-*2wG#Sr%@!W-6!~J+^e#stUnjN&S&^LMsFiar$J#r&aQ2#^G0DD~OJ`af6 ztV>5WN!1`2#)Rt$}P#2fx!qy#eYOH3>7MdE! zPC4PWzn0#VHTk3_xCe`R(H7eXO@J!N=5nwKq+=SI1~nm*6L1XX)PVo*l`G0 z2Ke`*YejqptTe+mm#8v`wrOOkHy5NuOMvM__jQn3-In`%jmFgA5-IHRzGUHSBz+Wf zt;2rK8LW2%lR7=+dG;Pn>oQ;aI4C1v-L=q;a%?st}uQ98YbRr9ru?Vdg>#QyL*Po-O3 z^f>cDof`Dj=d5ts%P!d#)|#JDy3lT4u&IE10CtzpB=A+FL0-L=sY1urfv`>i(I!Lg zZL<9qPSmY)ACZhJ5;@jJe|Ca+08z3t!S`W-blO7?D;q=8%j0 zket~RS6<)qqNuaaAyjOq$!dH8tz7=hKHbm&0Syj}9Ajhz3(U^p;BWmkIoj&1>tv;Q zfx7rnWHTwv>zf3{V&st*v)6iQrQN?m3<5wDSVv%qx;omp2(p~Tm)PE*QX*Tf#?4U% z$+z~@z;H@drlg>_m27HiZc||OJgKB<44A0esq+4#E2?=#$cNWjz%8sO1jAK)Eczny zs6YC~I)Pj=x#!X{V`-n#nVn6u;ZuX&?%0cB>WZY87v;jQCZT-Sdy9ELBf7eyx=j~% z+@oJ!w7x}~LvoKsa%bKPpuWM_`O*G+jxhp;2Fp8%e|^Km5L(i)4F;R>8-?>sUcpi4 z(9Xc_8f>(*@BYVS%>b8$lr&)~X8xB2D0_@FP_^xGSl(p@HW^Ul_D`vBYEeL7Te&yU z9Q^*g-caH2$?jHMyD2de%MmEV5w>Ci)D0x|k2^OUe<$(c!p@;Z*~j~w;Dw;&Ten)| zJ=mng=Y_@}KB(E~HGMBc(%fTp+)BsuWAMiCBZuq2pbTBxPns6$Jh`sDK|4DMlVBR{ z);}ShC`7k(K5JgQlW(+c7(I`4O<5^p50G%knuSeNnfTJ!_lGK48R!&0khiZnyrC=b zZ{FzvEzu9@t1)v*{569QAp^jFT<|w1xNLoX{q=Z zv%qID%XAPh*MU@vnH*&er2%q93r~TITy15zP2GF5dXGRLBY}NPF$_d8?q&C(3621}XLXN0!|;`(cY7#{Kn0SFW zP{tGvtnR{zSFHT)TveBwSP5}9zm=+Jhdf6j?xj|a2(+|s^uZ@5(|{EHbKFXFh0i?F z>8q#MxLeDw!+@rjU;tE6bre7GKN&SKt!fKkn+5KI+rHtu{?9WuW2^+Uv8O*kcmw6H z2FlxL%Z3Flz_=ptl72|e?RzsNP4)x$nl7Kk`DIk2NufV)1`>u^`92BBC;eiPX)a1W z`=y;zj|fXEu>HM1gH6ypdH;`j^Ny85Ds^nH?gs+fpa>c3U=i3JU{7pd#HScc=eph{ zPfOiZ^tKly8i0|qN#OtX1u6M#>S%oO>&U}Kn4vYBVR7y&?AKbSZH2oHrthrA7eUu> zn?3P<1ZYU3pH?(}q_kGyOEh{?LQwd2Es}|e%=qmogDBR-@bJa)rT<)Sj(b|ly}0Ko zCx?_rn_Vg+(}zD_`5tsU0aL^UUaR`k{k2s&TPVV5yCW=O(41+EeUF`p1RlDwMtt%} zCZo@*nK?-Ty@U0`*9(JR_a$-f(}l9z4tcb2&)Zy&k1GYRuA5EY zUaEje4-lIg=;w6@CCRgVyxmUC77EpB`lHjIWRq_ox)v(p#T0Gd_OIn^{i9+$+2E=k=4^^xo-kF&}IY1KkdAsi8Ox z*|18?;*}>+=Oh)CD@sNIr>Tmda$4qdv$mLZP<`RzBv#Se41I1_N<4vINF(r>ffGVY)=#_1e*)XaC00XyN%!jm-D+ zh7uuAi4yFcgfPv6llt6rnkENCL#cLHig3+ZM6UyGK4aV)D+(AR01{v{!AI#|VoSnk z_5;Bw)#d4ZC5e7_QoLW6K0r01p71&clciz1xnt|)Plr-eOA_Lqs8QlEtLFEr%HG=y zam3z`w(~!-# zsUu0)sB0M2h2l_O1vrBvGcE{`R)h#^F*(`#DK6 zT2n3TSJfnLF!i%?uTv2`-mROy--H6r{zo*I-1vzXHS$X6cY2s5t_<=`qZj#Fr{K)* zQ0thpLhLwu;P!&+ke#xzC6}TY^>@_*$MV4jM?H{UP|d_-XnrrdqITCel%$ZG=@vne zW>rx=exJCObGj1m<)?D?GJau%L`#CVv*me*fmxpUFI}!_iJ-enk_(UfvHg z5wDrXR%PK%Ha?vFJ}ZNOraMlke!;ovS3UTv-NL>({0jIYRQnU;I3S>T=-V2KJj-gDfB>OYHB(k(WBFxu`diP8 zR>RAEEHdo!k<8XVimw;PTy1H$2ND)5HchQg*&a#s{k&XGVpf?}woobXM_63PE}n*| zun@gg99>+XeoY!7ri~@P%;AzhWLF(4p5rsMOx{tx3gD@UZKdxfDK|U^7Hsy%f>xFBtpoQ>O1m?0vGQCp!CMiyFE-tly$p`4{IwQ=AZoJM95es zQ^i$hxKSq4K5BJtWSv097~Y(4y`IDRq20VQF7C8&jcbOzQS%ZY;Ap<z^J$5vXi4%{rWmsHRPg&;F15}M%mQ4gV8-_5ik&}a;OG44yTK1Q znY^S_?)!_2?|6ZDnyx+^4J^c!bz1tZz>+PPvK`l(b3{a#? zg4PIp0Mh-fUg4*HjlcM+NvyOzG7$m{y;Q-B)t;97g1($T*~>T?C`jo^Qp^l|yG1vi zwvhYCQv~n>%9+TFi`7{eVW&t69p!ZDsF7llKv4n}LCl%i|6HLjr?HR3R zEI`!Zh^ZuRx~as>LVF=%Q2bzil1yqeQNDh zu1ZI;Q`}NQ8Kjl(T*gy*ChPB<{C=CQ`lg{ZnTm|gR7&OE0?4e&M!l5zPeXX-!VQ|~ASg#kW(%>o>LVZ3y% zYPs>}1OC`v5SHt=)0+`ONTY8AGtuse54qfd()DiX+mpVjDDBwlPitUrRPv?vZ^!TA z3FAR1g5AOQBO|=nc%LJM^hLpYa)MHXwBzX(Hwa*7V#%xdb^(78{r(YRkC>h6SAbF7 zLKvJ0?qcqYaI(5^#P1gzN6V7%Z4GF8Y0(pZqy{#5+c_pO_Y=upBp$R(VzNEnnWM?C zuiEj&UA`cLK46e{d%8GQY(K^V31Y0kfDp*n2O4hLz^F78+mO$d@*2_ zzWdn-Q=uifpB%cPP&$b!)wk$8dGI_OI>efRw1a|iaI5XJQSxgR9W<=)sTby}!C?#EAUYEFX|gLB7K1;L_$SeVPnvmK@@7xjZ-mF~k=uCFHZ~H!U+uVeAxbTA#tei3T zqwjp-Y-aAml)#6mxY7*2pm9h0@a&Z zwSAu1b4s1lVVnvl+{<$ zmRy5TEXBg;$&rYJv7&uj(`3MZEgzy4X;K0wZ$-t8_J~ zq~ZdS1*>UsWhRn+cMplXa!#^tZN#}c)OWec_`OfSMv;>w`U>Rlc(6U1Wnj6NEpR}LER`g66mhmJsK&X`SQ zU#AXHYqTBL&A^6160h0xJC|vqP|uT)Ol0_csJ?5giryiy8M;Reh)0vhtUU%5PYWi~ zb??m>lC?;fgeg#N!6T=4^O`R|+2Evqj<$#U&dgNpa>l6LV|uJ2r$~J9t5Z-+j`-LE zd9gbUUtJk!nQTU%sCLk@?WIaSojL;Q28e?aoZJcd1UKu#gnxYFE0B@m?{>SG$}Tp98AqUxO7Pf(wWa_WmEQQ*nl-qs1Eh1e}o(| zdxw5D+>kt~-XpVvmZitM)HbPbfvIrZS&z z2k_5#Yl8X&htFVu9}YjqY%k{cY=m@wg6!coQ>Mb2HrXo>VnX0y4q-= zNzCrBx`rr_#JX0H<~Zs~L=QT!2kY z)omTqNqK#a2k8QnL|EZ60Q&I_EZsJ+Q0c2^8EqQ$hWQlol{tIsRHe=6!FOMLrBy75 z+sw%TeyPl?V|-Ru3ncpJO@gB_@l^z8H;CFvXF2`RUoC8J>sE}L)oPo$IVX=bh5Yka zFHCvB-tWxB-2NL*fFS1r&VmL8ee&OuLNDwVGYu^~@l5ynXwxsvApu0E0vpAAny4LX zc$G4Rk=YF__UYX?n7ynX<@el~LLiYaAk3}(cIWFT_>}D(k`x%C>C%7u0LH!Bo$?)B zbgO$%qfIflZQeAft|IUFGY*boF)iz%@Ng#^{7mKNsKX!HaTj&LLL97@OAClT`Pw2ig1V@d3g3vBxtI=BB8U?zP8Spn#+JzbBI4#$hgC&DypZ6Y8?e2s&E2CPuj z^Oo-*(U?&v;Jm<6+A$3tB+@1Wb{x11{>+Cag7^N)kADbzCeXM+pc%+9HTXtpWZK~^ zQEZmLv}1m;g0ax;m$w9NSl_zD5C)8tpsNaqOUVyeXB}|LVL(haQ)WS2eu7*cA$Qri z?;`fnh#TGLCpv%cHaL^eq%#2s2+rW*J;B>%SVgEvmN$CDHBnaSQIRuN=-4`{R);L9?m|I>1=q$-C;RWU+a_%yg$H6LH_dYT%xZ2A}or`HuuIp`ThuqsESZS0{;4499=HV*G5mHBd?O1u|0^%Lq( zWgL$Z?-rXpR6Si^*6a)L^s_zfBPMgOHMLzN<<<2PvxUDnH+7IK_4?bHeTU!!_mlUO zWQt+h=if<$*W?`82S_flV4Ur!*YH~RB zd0VOsnh5Y7u$>9otcfFEw51eFO@prEDCs+;_&WIiJ)-n#(qD4>3-t-!%W!se3p{-y zOp`Y2Q|!o*+v?qEtihkM(?-VJ?L}?CuuDsM&|p&Vz%ZXKL!2y`o=VZAtwgfH6Mgn^ zeh?b6D=EDClt6F-7#*aDdXiG6+ur50n@a!T|MfKvBHiP56|YttR$UXZ`^Q&Rux^oS z-&|ZxOCPB)D#w8c>W6cW;*wXrG;Fa%gm3<{qXK({GB`c~pa z^OCAyx_jW_N(s$h_6<5Lr!*jr~C$-KjKxTF;SQ+!7R9iv2Q zR>`AtG=YXH>NM57Hw(Y?pJrjNGF(a`;54&N14MK1aXj2EFX{261w5Zn=jKS}bMX3M zW!fui5OkIPDE_wGy`;)BH1>!1vUj*n`L(?;7C_p6jtJ)LC!%b?!%gaFI=B63Tf7G38Ox1=FcoZo&g4!D2(s0y`xPpYq2W6;FqsPz@Z_H-4k zo-&28E5TWMlD`VkH1prlTeLjuS<)LD0EtD{u|&ZPW%MugPF8A_hbRM}|8M;<= zL|1naH89zp(y{c{RUi`pMAoxuvapR(vt2ORzD5^r6`~ckNzaEu_b(Y#ZLQ_{U&(sU zq)mOqpY>ir^XSH)_LaC*Crr0C51ARU`{=KrtCI)AvTpMSEJki7P1&D0c%8){P&Dn$ zOs1FyB|(|1zO$kkJZ;}G>O4xSNzj~0ZnXq`uz+98Lau8%dk(-t-#*+m*C>9_ZsJLm zMG9<}O9yx0R26nR{vgcw+?KmWSX1erjP|?myxeenc5Te_g5;U0nh7dr;1o&i(XiwI zYBmyJwm-}91|&qlUDv1#&KEG-+$&;!sTC%?Uq4ozI$TvqQa@Yof%Ra2qI%WjS(%kq zWOAE40gj=#BR?juc8-R9<(7|cS`h6*dV|vt(R*TRy7Ovj$xn3B9`-dli3SNzlmvCL zGbzFs)9fSSHBN7Zw=_eq8VbZ$;ZPZzx9$`z9~70_DC(M zG)Qq=jjxl836rei<*nKF(@laWFUChPFedjds!O#w3Z97(2(ySr~DgOEsiMqb_v21&ns3sMFaY+UbIcV{Kc85U<2>tMg+ z%U+&hx$An~Wh?X$@`S}YAY9uHf^#&QSPV#M(M6CU?dsR7K_$Mm};_`1KA+h^IDL z+Ej!m`vziWb>pD$+ zA(ePR3GB0pF8t4q7WVeW!A7V#QyZ81mMEV#zL=UlOx#Iwi=5in!p*ri%s07Y`5tB{ zD#&p{(O}KQ!GMbnUv=-f= z9&0OmugmCr;RtrVjRPEd4}4ulS2WyDG$IFN*Y8*)JX(5F!R4-oYl+kERM?YAIcOu% z(oSi!w5^Hu@}}p&o=vM@miI8)6Hh$dOm6#{hCli!R#dLD($&?2tCTwF@065-kGrB&5i6yi_$cZidzenit+}^9dCU_Nwn1Qh*giSw!&LC zp}4$Uagn{8#TUs*Yjw#z3l5QUqYhCldS@$0LIk#FxDA<7eQX=aUL15HE-V^}W}$Ci zj*G)=!z+ccJv40St>%SXakv9FFZZ!{?e@owqNL!k-G0lZq|Z?K>X*26S24OA*3d;I zK{?x}E^#`A^W|4Ao4l{G7nk_44t8)=&*ShRkIcd-as(n&hG!7$+7N{Nu zB?=XFJ8tYdp2xx>4U!JJYkr7B@4C$r{MeiP@Uus)4$iBGA+l>_V@(|TF9+>A0&#US%4FB!h zXeSlfxN;Om0`c+a+XZXQvY4FcLcK}&T>#HulP@3Z4fEb@fl97R35rhkM4TjdmE#2l zbE8Tyh53JaSMVT%<&bM+2^PHTI_n zx8r^9Hd&Svh1e>kP{k5K{?QJVp8In@bw!@lJ{on7Il$?I|B0>g4KB?Oc3x6kwKREM z5|ewN-wJmI$3U=pxR>x+Dr&ZX+ZlyZFp~^}TICFtY|TaVLB)pKqo_l0P2jUK4u$(& z*E@%oI&#%_U%?zS8t8Tt1}xpSBQh3UJlvL#v$%P9IP%$`&JsxqvFypp9?n9U+7tY> z?KkD~2NYuNP1x8vztM=&_qJwhnkMyE!i;||dpYDBIS#ACuH|4BDTV^RrI14)^rONL z69yPpN^=xSHD$^3@;boVh#pSOtru018+2ktHxxz-Vvy@|VVkWuskZoML6rhhZ5dGo zilNjwMog1K%&XYGuafC`GmG>AZR8J@i(krLt z<=snmNsds)x0*rEYY>PakgMx|{w{!IWOt!2whhDGWO8 z+|2LAKi?wAygvu@x$pEnc%3kQ{b`dNd?hR;Ho{u{c z^>h+v@pLk%+Z^%V>Q3#M$Gwg1w|QwX^itAorti31>hJ~FM0L3&gM8=jI zVK@l9u^dVyl0BZjKJskaI~!CbG}+wD0ecF*;NR9A_aRr%C|p-di(+tDzvW=IDWwQs zl7Y>S-TDn#yo4;h{3%hg1mUAZZ98Z6~NO)9y<3`ixH>KM7)hXp_Lj!h3Zm3i* z3`?kkkh4a@s@*+}mj#7ua-b6(26Zpph@Ae^mNurRr=pfM@g@snan>)_KDx~fff$<0 z)~B;*=^5({Im1_`DUWA4SlWl%ViXNTcby&~kLOOi zc=xulq72%-PfzM&iuw+a8xeF-?6s$It)VAl$BpEIiw}H3htfz*80eUD6=U&o<@VlP zBKhy8xzFo}xX7Pju_r@r2c^YYi@OeMKy7HFl=rvMk~$MSUuBYf=Ycf)b9mp7{pUY|h)|{q987#>{CtZnsS*Njl$7 z^_USn=tm(%&Stv?y12ImJ!=ye4{SmSw)pO$Q=2=x2JI@bbqN4v0Jvd*oHM|2n5Fdi zJ?qU;h#?`{#ScqU1Av#STkC$mR{yLueN(?)D)>WQN18=HGm{c&)01uI2gtQQdjdMi zqSI)6LW(>}WE^j7J@?xB?Up_&wW_c`SDQho>B(Y&Msk%VxF0We*7;j3F;#<;^|WFT zNW(9HC!I%Ekn1F2f2MYlYe{kzE}~?N>kk^;K4cT!ii`WR0~4z|HG&dR%J{{%_4V)v z%e~&~j|&Y96!RxKGSH#(KgG~nAyNls@$_f@2mSta06LxV06d*kSrQEjm?U)ol1dRAbJ^4JRo`4k2Rd%<5pksdI#eg`0RgSBal5Crl(7y{Z| z;7FhP_d(|S)$yfDm)4pU3v25NlbOA9BzYl_@nx49b^Tn%)rrY*a&T?MTSEJ_Z`BWo zR|l7gAwEX~p|THcO#fdy*BaE+5k@aTk!rDEDOeFf(20&!L=0C%9;FqrRj4vl0ShP) zI*^Bg2|@^)`ARR;rPa`B69-(3)O2{}!Lrfq*qDb=+V~9xz=|)=Hzx~g@ zy?6G0`|UaVojp5u?ls+d_*^20xESMxpzNo_m`97a9p#0?nC;1oAd*yjeie9-Kw9DM zf<+ajvIKZtc4<)%iIstM-s*4id(Viq4DIRcPbP0t6D}trgYfh)X7p=}*1&n{3Tkrl zyjO@s{`3s%sB9d^1g41TEWWbwaBQ?oz%UK9hLtQs0AJitV^un9?rC*eygsBiY%$0_ zIx`1(@&K5)?qZEqIl=q(ccfKKzmD{nkJeksHbNEXFQr~#z79JWot zCvN>h`lRY@GDte3-_63x{Ajw}`NQ{CgUKxiEeL`#3$ShvSQU+-j_q01P7rjwid75k z?FEpukQl4oE%H3LBid}>I9%3pn_U@mS9zn1=>V6JFG_I4TwtJQgc>ONLIJPlm{bBA z=f00`HYpm5qs^xJdfciI@L?_l4aYJ%Y{^Ov*;Iv+@7d}*Dpt!v^XQ4~BnfVyRU`-5 z&2X@>)^~(qk1G95hsFM65SbaT)H^nyq;M~d40X3oszZ!U~xRfLOuY4GLMn^0_0r_{{Ew~11*r8$_^Zm`pURIK0b#gV#cT^ z^l$d9$(wz5z3XFOF~d>A=(&S~+w~lHZXLcWtI0x-`q^!1){Kx}*JS5`fE1i|D?oqC zp;-ffV?(F~_=k#AyoaD}@&X?17%Tn^3Utul@^q*Kncb+(uBPiztpy7y&TLt`fFo`{|p zm*m4n`ma1(DO~&=hTz#*Mwz)@OcX!%!=p_p-NNpk@IW(>tA1$-8Aq3+++FZ&bphoC zYusnlP5|bn9%`yf!0OgDh`bx8;?leGEOb`r?%E{5%h+mXopEvrlur>pU1i@rv;>g< zdog02(9pL}j%^#umR4TUrS~_2mt?YQq@#>UA#d8l9?I99b=}_+V|HvPYQ_^3ykZe8 zk(fxUI^+?8BaYNI0duIb8DiIfDy=SYjpzYzpK4wN!1_m%hz{A!0vSazOB|q*S-o0z z!1xD_P`e;D4#ToF$>Yt^992fu;~QUnTHExID%-~=LqCw&RpphZUzTYAe}YnN6wMiC z6hh5}weOCccL@X3fXq5C039`P?%&bwc_Dh6Ccw(dWO^ZhJ~I6=#+9Qy463GuXWeE| z0P*I78GP!JM=`rF zPM^7$yM#K1AzPV(C-fWChoT6B_RptUf#{9if3f>j8my9=8=`~Gv`)XwMZyLOSn5V% zM)61-a9u4hPPD3o7aH=1c#1nQIt3!LO{x64gvRLZD~YVzk+o;pw*VpH&l$;XCE81^ zC%)99xvC+*OoI=cD=7pMynNz`r+aKbRx0h`cv>@l<|mrSVQp+tdc$=*k_$j5$*&+} zXjlQWrX_z~RXY8wmbHx>DI1%w-F+5bhUa&QtoTKR8>0Y5_*3x~qK@OiF(#b4i&{}} zZ-oG%`{hY_%A0pmu6ka?>U(@O<&`)4;I3(8mWG${o}RjJS3aGe8%V&~J3t9=yPZ84 zr*lHUun4OK_`hq-7Tm91X{kX+&tTBy*nd{We9bR(o@ZqNjfJ(bP$>(#@xd@I2;+h< e{=ZFAV}_oSQ#f9n4F=!^p}o7qzitXiIP(`s2-Y_M literal 27376 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 QPgXdqZMNTKn^VL71hqvH#{d8T diff --git a/test/fixtures/app/doc/screenshots/macos/cuprite/cropped_screenshot.png b/test/fixtures/app/doc/screenshots/macos/cuprite/cropped_screenshot.png index fc2318c46ab168aae62f1b43d4f4eebc345ffd69..97299a3005c799a0716f041fca58495e6147fbcd 100644 GIT binary patch delta 2421 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 OmW_qIc{%3n^?v~KkCS2m diff --git a/test/fixtures/app/doc/screenshots/macos/cuprite/index-blur_active_element-disabled.png b/test/fixtures/app/doc/screenshots/macos/cuprite/index-blur_active_element-disabled.png index 61f65962e5a28135f08e7cfd16b9d62560ce5440..f229897be71fe55038e7ada75ab664cffb237eb2 100644 GIT binary patch literal 21494 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 literal 21573 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 VXX+kF#?l)g2~Sr)mvv4FO#lZ`;6nfa delta 18186 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 bpZ=`bZ)BM6_qfaR@IPH&#|Tfo;1u;Aa;mg% literal 3744 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 KMNUMnLSTX&c+Y$Q diff --git a/test/fixtures/app/doc/screenshots/macos/cuprite/index-hide_caret-disabled.png b/test/fixtures/app/doc/screenshots/macos/cuprite/index-hide_caret-disabled.png index 61f65962e5a28135f08e7cfd16b9d62560ce5440..f229897be71fe55038e7ada75ab664cffb237eb2 100644 GIT binary patch literal 21494 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 literal 21573 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 VXX+kF#?l)g2~Sr)mvv4FO#lZ`;6nfa delta 18186 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 literal 20247 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 literal 20577 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

    kd(d2u07{g)6U(Y=M&jC!e{Q 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 literal 20577 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 UE`>ml(;;RTFJCA$z8dqt04KMqzW@LL literal 20549 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 O8-u5-pUXO@geCw){?~#4 diff --git a/test/fixtures/app/doc/screenshots/macos/selenium_chrome_headless/index_with_skip_area_as_array_of_css_and_p.png b/test/fixtures/app/doc/screenshots/macos/selenium_chrome_headless/index_with_skip_area_as_array_of_css_and_p.png index 805cf6cad767d853b6969be9dd3aa7b64a6fa705..53d0fa90be2a930c27c264e19700e8c15244102d 100644 GIT binary patch literal 19669 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 UE`>ml(;;RTFJCA$z8dqt04KMqzW@LL literal 20549 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 O8-u5-pUXO@geCw){?~#4 diff --git a/test/fixtures/app/doc/screenshots/macos/selenium_chrome_headless/record_screenshot/record_index/00_index.png b/test/fixtures/app/doc/screenshots/macos/selenium_chrome_headless/record_screenshot/record_index/00_index.png new file mode 100644 index 0000000000000000000000000000000000000000..ab6a97cdaf24afe50bec62b57163bf4bff3eca67 GIT binary patch literal 19671 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 z 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 z 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 bpZ=`bZ)BM6_qfaR@IPH&#|Tfo;1u;Aa;mg% literal 0 HcmV?d00001 diff --git a/test/fixtures/app/doc/screenshots/macos/selenium_chrome_headless/record_screenshot/record_index_with_stability/00_index.png b/test/fixtures/app/doc/screenshots/macos/selenium_chrome_headless/record_screenshot/record_index_with_stability/00_index.png new file mode 100644 index 0000000000000000000000000000000000000000..ab6a97cdaf24afe50bec62b57163bf4bff3eca67 GIT binary patch literal 19671 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 z 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 Lx5ZcDTuFZd>KUw- delta 2489 zcmb7Fc{r4d8W&+gj4>Ee%wf<78Dmt(`ca3-7P6BGi7Z7kmVA~W9s61$OQ|Tktl6_g z9hxvWS&GmMX2>>~;X2Q~=XvgZ?)~S!|GmHG-QV|lf7PN7MN^sJ@5YAu*2KJ(JX(U8 zE4*(}nlYwS*}~}JSIxAtvPzdTmJ>z+nI=uK{p@oCY!`S}qSIG}BS=D1>}NUw-}|_8 zZ_~c+4}aYuE%l)suU@;khPJw}{M%bPyJf9yyLZMW!^C6Z2;GQqMKqevhf-0F`!HUO zM}5fE^q&u18U~AQu~+_Vko!<(U)#0tA@|$<165bKz4><;x26uD;c9#zgT?$2KpiPX zGwCz!uH@|la|em7kPJ^} z*5CRzfcD1SoRo{Tj8(R;kqe2Vc@5TpGAyNb!kDgMX)7*Zqp02C{NBO1TfdXF=&*^;&kCu z{ygwkg4sa7_B{P_Q>~MEfsQl8p~3HQ_i^pe*LNH$xYuD;1tn!=aF3R7rq!O;+~}(- zFxMI4_Np`Spm1tS8hvr7;LBWJ%KEXnxA%lLRa_H!P~BhmiJjA(2T_N|q>l0`bR+Vh_y8cWNCps7c7Q)O&9Oqc z-KgRexPLJ2{ZH;AlH9`4MU|IwaaU(Mq9i(D$iZx7kwIU)K_{uquKE|RpKl0sPdgtq z$C;K8_3)n?CuKjZ&Go%a5LZnPL+oLX$LX0e?0gPU>~0SZ4rXjry0#0ZoY01WvMAe0 z#|A%-{GHgzt!;MYI4H1b*8jQbc27{bJi(Omu*y*YD_YX{LVjkF9?_d9Q4~xYgJA`0-_(Zg^X+XH} zh+jDBOcw_U>gwbq6~WpOUY%)IZ4GB44NoU}Ct? z8yS5>LKF1M6Q~N*JNrJJ;cT9ZyX5Jp7_vznUH{yDU*uVC6o&)od?uNdoB$IE0ip(~Yn(NI_Fi&5N?&!OQ zLn@f%8BJ%TKpouLBiQLIga~3*f9n)&xX8d5B$OIbUr)mJ;=hyVk;D)SWF$2E=pnHa z#WpH*Pcbjiq_J#Kk#)_Yk1#+}JVg`amsCcAN>)t)g9B(uK};3n)` zFja0rsI3=2SjO$Y&soG9qAT|VJ(XyOE&dZ+!_Uq9{AU3C96*vVEm_BqOT2H zKm$-ojJ4hksOQndJ7XOYnU9=jzPOp>dQt;Vna2_X@+{uZdX2o2sqD zx@Ju^(@Y>X@4@~w*>C4gFeHR5(0-S{A__%KbM2{3LEo+J;~ndw0}UQ5M?Qk&oW2@e zoTLC{@|n-%C!`|OkjuG?y3F3fR|(pWFB%~+J^dyS)ovW3e*FPg99W1ufYGO(Br1-iO(95D{U!2U(g_fjS0KRpHtPY?_g zt$4%9{xfab_hV#^6D&MgAA2ws@rEBqT>78P@K93}s-UWrou0dwxI(m2@|tuU_|G1W zdM9uZOuAwOKn*QQQyqVNiX||wxj#yg3T()J1T7o{n5%`oG)%s4RaI1!7KQa_!93}m z#+$<6;YY;!)EKTM+|n=l!8N12GI}$Y#dG2ZHJ)=eY)Qt5xC{J?|9E*3{1E|>YCFxR z{(1|YN7Q%@n2t5efoH^UC3Xr4o(6ez&vg6;@?SvQ1)st7f0_qiA%8n_yYgK7I}Hi( kZ#n-z1@kvi|E~xv{)N+o1QFPZ8pnYcpEonC0NkSg0YT}mf&c&j diff --git a/test/fixtures/app/doc/screenshots/macos/selenium_headless/index-blur_active_element-disabled.png b/test/fixtures/app/doc/screenshots/macos/selenium_headless/index-blur_active_element-disabled.png index ca0d48437019af27e91019f9034bb3afae18f273..a3607dca29b7d8715be2e0cc5d6c845c8278203f 100644 GIT binary patch literal 21298 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 V>c6yl0Xn>r!PC{xWt~$(697(dm2Ch3 literal 21694 zcmY&=2UHW=_jP~>K`8-5X+okD4OQtaBq-905I_VeN)ePUCDcG-!$OhXQ3+K*Q0Xm7 z5u^xWM5!VKq=X)NzQOn2@4r6Q%E~YqCTH$F_w0T4IhRLfCc5lL1&)G1Aa;GdOXeUD z6AT1mWP&gQXZEy0E&*?>K6*C(AkZfnXs0 zOK41R=He)}V#KA98hX$ausvlp`eM^}>bRogU0rrCqv%nzQpIrGhZ#}7VKcJ_C8t?5 z8O5ICqMtCPC)g0B7bJyd^ce-sV4_#$m^e{RE8@^(J?8bJa^ zwH_+3v!<2TM>fJN``p5FsB5L)^b$n%&BaPy|2Y;Xs-Lia-~@^X-Z4)ZE**ZL$PCp7 z-iP>5z)4ZdoB#iZOiZ0AO`FXbH%-FdscvWLW=zo+i)J1aXpJv~{$A^`e;^~N6}g|= ztdQXudAn*j#cOd~xNiCBOy=W=pF-GQ4&C9sqjy_-rYH7;IfbX*HFU^E(C^I{7KB%( z1?nUJ6w;icgaM&A=o?i0{Z=jq|-y?4Cy*Er} zudaQQRy)1XyJy)Q|$L5(^(FJ9c%kG zvI7o8x^`EPnH|z(jq0@@ecttN)7BhP5@~6J*k+q7+V!Bd`E*n7Fw3}+evIZV&-yQ1HYcgKb+&~MG$@%hG9lOY_a^RK2sVp+;{o3_U5Yn7Om@Yyw z@qVwq@w|r?@!q7CnGu41Kwd*?B!gD(McVu*rJHJbyY5ZB>rui`=%94?5@>r4H8`L(-76Kio*7*IgS{ znArMV5(~MNmIOSCg0mwCE+==kAOY>;2s7>6N}J@g9HX1+g)Y?)~9kcI#VqICiZ_cCQp1xAA@tTg%b(5_p1F@TsG) zGy|P?FOBrm$Fq_@wq!>sG5Hdaz8P~@SWkhE+h05qRm=dtNA|TJ+kKmJ@P_a>a_`Gm z*B=Zyp5Ih`tXSa~RBH4_xto!sMFr#ts}crTSZe3DA=@oIiF5oAYO&#X^y>olakt`% z3I&SXl46875on@eJ_{k61%`ZiKeYLrJgkWEzRMxSQbm6fmxs3Pi=v_0g*c;}`a+C- z>Si1DaN!NaMKOp*Zn(AN6tm#>j13$1(|S zJ~@_xLh-@$%#PSlXJZvDICgv@cZRBE_w87jN4QZCP|-)Id%q`D5@~bXZboSe1214oYm%U zymYULVjxtYw{r8;N=);+D(oe1EvG~hMSSa*PK?SWpjBzuCk*OCP;FL={9vuI3=}E= z57VB2g+Y(=t*;58anLwd|6(~i(_&$^^`eSbRD6uC)%>r0RV~SYFMVho{N=UMx_1Xr zRfeGLUqSDsw0Ka3Ez7lG;+i7)rul2v7@^eXb8cx7NeD=DtWBeMa8vnztAcG)wea*S zhO8(g`o>Go2%Cc+rpptsyK>7jfp7mnVgr~u6S!eNx;I@}?V|N|6bGtW{fA>kTcdBE zhOXEXV%bB;9~6mNqDhZ2vIEDoJK@eyrNWR3njZ1S7benIS#2)#ef)Ck?J9)Tj;*!c%SI5)-9`r*4Gey^6WO97@xM0k|malDrDFDbN=? zzQ9hJ$eyzV-;*ja?AP1UgHA+P75oY-dpyxfS&e9T7Ke_@izJ-8ZZm|)5H)9Tx+e|z z_-iGNnJE_otKh3mMql>f zE5?MLtu9o9e80(ZXKrScO7~!;a=X@@%0eM23tI#%i-Kj>4Utb3*MU0iU^ZDlt=8Ib zq&RBB^epl2R~qhnTuSf7%GzHH&W&j;wh~&8hiXGkjF@iVTjGmZdZ_EUK2WntH$5e% z&qwV>_b*2bdA_F_Upy0LwmnOW`p$G3Fh<%9@a53JWiow%snXs1COQOO$)Xnxf#d(M zS9XNK%Wq9Ps=;a`7eI@qKtJPqrz=x_L*d#0zC;HJx zW?yhYgjCstQ7(+`4>s9?-KrR{47^TBjw7iyJj+dRcMMZPKd>b_a}jEg(N;DaC1kRB zh?5%2(5VRVOy9%BFK{9FsFimNhA48rzt6GR=))gRnN%bjf)Rs+h!CC?3EF=P^Xui^ zpR*Qn87k~`Y^*o`nh?P&nz5Uo(E3(F8-;*{A)^Q&ZB#Bg%cn(EqvNg=;yB?*v4~Or zi!YhBjLb>w#Oo{atbV}+N3bR5r?7)aOTk8>u(w1>O~U3krdLT+zM?pl=3CUsW66Pn)) zWa~4pb7_7y)*fZ_(jZnBsnvLzz(``LUi3-8n`u*7;Dkn*aM$iX4}yR(>JV@dP7YMSa$|7J zUT`m8Yp|RzxPXp_lHQh-K5K(DjwbecB981IBy5igLrEr~A-rfpMM@7q1f%LBEbm0S@Gz>TBG3qu-ROqa1ak zc{KQH%Ey0Z#uYQ}iwqBCMj><35D>U11HqPP$Av63@G)*c?!yU381;y^xKP|msUA8T z_#F4k1rmf^qn;ZSe}TTVUrFw+7-zrhVS!4HpY6rLWeOv1oQWHu-75lzB=OZWdv^4@ z@amnG^)m=I0t54}xzV$R>oT)S`EKs^M5pthg1S~*mezfte5c0h6-S~g7xKG~rh1XZDC|~09Sza{-YGM0!}~agRnDc@ zW_bQ({THWD-Hpl+>vBetH2Mil$K?S+Ps=W#sieda7@EI0Hmt8<35w{AfZ4zwSD@OW zVHNu2Xm!H{SDR6V(iGxiZ+w&{)p#q{qg9&sX=RrcC4f~ZOnkDSk>Ankvw@buCJh#5 z#y`2wtzCH%Vo_d5@S%6=%qLP*a*C`8oTOva=k~EnCiA1rp(OAmqV**v;99tBT1=Ah zNo@A*=fJQiINR~Y-C5GTs>c&ZbXbvRz*AVyWm=GQWcd;u2j+Pu6-SFZe;vF%m)?+O zqQeCEhJ9a4V<}-M<7iuJEf^1eF(5fmlIUD_V(76^&o9Sx-XxA<5dtUC;mVvIXmaF^ zLaJC$6`3W+bop$fj6w%3oodM0*^mcH$UaHD?vhkKU^mVx2|n~&{fq6E4Em7oud2_4 z6pN&#C!XqNg|N+b+rzW`2h|hK85f(NVBQPl+t#ARhy{fx1ePYf~ znN+o*C5cHzqbLKw8j$D$6m=mZkSpFx?aA|i`U(i&?`uIaqIoaw!+@bzdP4zy_ZlItM4>85)H)sxVv=zQ~H)6L#VY_Tku6LHFB zQj&aalVOe!Z)Ez9Z#aTJJ(~bCBaX8D;qRA^>thZdu85V3*HnRkG%l-5ZeXA)%Di0K z5X$P03oa$f?;cN}t3o0j;_Y4X7WfCYRn^N24C0NCZEGM?mgBpQhKqrrBxV*%&K-1N zbfVlqNiy_;O5s4_oPA^ViL$4+e@}#L3uk@^5Wkf;cQxy_@!4NUa+=SfZ@721fJnHE zR?Wc-h_HgM8>r7w%L$KG8+uTxq0^ZgjZ*3Sg8?&UcjJ&rTssDk6POdOwBlon%+x#f zsV?4w$8(0>)EGaU2vOPEQ+VMI&8!J*Vj`Q$O{#Mx3^0+TSpuh8rs6CnQpr zv5OvTWRnTUAG~B;c{N?)O<()ujp>jJno`|c;?7*Tg%6#1D=NX%Z_1n2dtJqjHukBs zscVNLa>x@3xy@7^`+KDs@V44|N^9MYS(G0`@e7NsXgz(|Bh^CgDsIar@9_Qc?Oq7s zoE=hMdgOQKD-r~|QBD~61S1nVZ-M+KR}gYxtKfksWw{po(y0DdNKu%xj#M;vACF35 zw%PelT{heH7$1nC5qwH%7w;pT7BRGsb!Qb;tzou5^WW4sX125<%ttD7nAKzap$dEz z7CMdn}#8L#za3?hV zZmifoMQKiY+|cn*A2`erKbgNL#MU0u`Vw|fW148o{Kx3_i-CAe4Zelypc4`VC~{yI zz3k{=PBih&IcLfL+3k$h4iZ^C9GSRF;3DaU($?>Ubl&d19JS^x0~d$qHtL@yw+9fl z?%g&#Yk)d^%Xz5OXz(;nE=f{T#Gf)gLS4DV0wq57HKZQRsde{08N_%Dei%RgCQ(k& zMTTo8_VtItfq^W9CeQxZfA)FjYQ2&B4P0MK4%roJAI$<64HxteRezN-^z!|-OHf;h zbloKWr$UIoVNw(f#T#wUPBIL%&iPrQ=8V87Y5W#qgtX#w<1OD5-uJm~W0Jaz_A$6+ z&_2?=W$Sbf{_ghk+|qgZ9)XK_W0AMKFu|EeyVsp&p4h0U#lyj-GLd{RTj zYcK_nj)e0MH^do0%H0qaMAh>urt&-DHpU(qOXB!p%Let);-6o$!c`$sHeM-x6IgqT z&C%HgWD+MMV>KaGs=M36dc6#qsgioRJzne{>(#K1Kqj^EN7Q!zVVoTM4EV*ucB>)} zZXlFIAr@s(&;9l3n&e5BVs5-IGnK$u3|o(KRy@bNFdQcr8fmuC*^VC;(`29L&kYjn zuLs!D`J@QWkaTp;WJ?8pu5E|a6&v9w~Ur$VP7BQ+`U!Rj=Zfj zFQihkJsWXbG3Psd&_#_OjtGrTG-gwG63aO0dX%3b#wTeyWLNziP028G^k*{x7+brW zP0fEt318qC!2BC?gfG$JydGV5b8y0!c?bNs@_DcX1}eixa3inX`IEwaj6b#DB%zBD zk41>gZxoAwV=&0dOqt1hWsA|)(ZxN!zUL}m68Bg&t>CBP~m7+Hh# zb#Q1^rVx%L9=%FCY0IOGdI%Vptr#@IeW~z;Tnoif;6$vvnM6fml!ir7;jKG^qt<6K z*!^VkaAY24h2U9@WX2jclcJh}4h>O-@UYEbMM%tWaY6o7WKpK`#TKJ`U6u8j z7q7xqd>b)$ATWoWv1TP*;UH)K**6c8L8QLH=0>l%BcEIeVfMv}MGu_|?joxeSO!>y zZJ1N38Rs0t_QK}AML-N@53Ttdo8F#d{t9Mc-UM?azyu!V;j|Mvpw2Pj5pKB)g$0P# zP!|D91V6@vuis6+xw2fBvca~DWoH1mr-rtEpsCxkshK_dd~8Rk@4wEP&Nn`TW^)Y@oEB;c|(X0uaK}-r;sSWY-)kE z?*IXLL}h5m+{w8`!AgDan=PdT9f;F%AI0Z7Ms{{8btfw}ad}1dfy~*VSovO+mjo!$ zDXCbmoFOZQg?up|PfZiw!MIm4o?v*qD-=dv&wSD_tx=Yddq}z5J8KyA7{O6dt*SKl zcJaG!ci~ENuQ_z$9HG7Fn$B9bCH}8GY6Gu&Q8|?QaG_D3)_Ii_hOiyIt;`EUMKpdP zFz1f$s%oY#Crjf=BhHtf!T{k+8ZK&4@nf)D<-s`@OmK}jBM;TWE7USssy3s2t#ZXl z);WMCYct?^i3)}jZ@Q@QQQiKk$@c}xNLUfd4Bn|wXk4Y+u{m0#=f9f)l9{6#WcM&& zJ++Uup0>!SG&s>GU*U$ziPDG?6Xf%Q$^<`YjojS*UQvpB_X-RhYrX^e&U)PF^^Mwz zb1dOC7&LNykuwQOLc?tQ$77Q^W;va9c*$s3m-quaf17L7)#w{L8jw>XeKNCxZv#Et z6wA_V?H!W2X5NKKG-do3DVe9iER3iSjmn?Fh*OLGU$UO9mmItmW1ec@ghxRyR_HnC zA%q&TjrWyi?;VY1AL1slSh6#(<+I@X<`pB|x_DwGO8Z}GSHPUj81h&M(AB7Y0bmmJmV#z ziAyA>*B~m}n6c=zPtF-Z?hDe74K8o?b|M8DfOWhJ6|Q`N36gJi*svy@u1HL(PR<_p zK2A}qG*qJv7WPtHlVsAn({8jKmm;w=3YP}z+*I3#OZ9ad*brhdH-jU~Btt{ZwqbWl z>)QgR_4+3^Deg<#e0p4Dwb;d+HwD-+7#1>Bl5QGt&^7bizw9h; z96)k9)UuXa6H6ERO?Y+woj%bL^ZbISWfWhhhsDA}lY34-@G#ARAeb`)cE!1(8@~l zld&$?@d5Iiwg55bus_GNZX=so^Lup3^@ZEtOAXWAv!J9Y0#sX{1fdK*G;x5iFC0e7 zL#91!7RR7g%{B()9i0WS(NW0o6JTgGWH6(05G(K*>zO`iQ46~y`s!^#&^y}kxw7IR zO{F>G`mTBTjTo}CfF+5GtUGijG%Qi`(uup)Z+>ZRnb;UhO4`25n63IKi;n)&@z!MP z>g|`^hFe?xY9|wIi(!KyEDQwy3u2Eav_X@a|KJ)Qs84w{i?CTN0Vz7%L0c+of;a`t?Fr_`w|TfjNIslGXZ5O zWGNY|oZykEFzy&#++(XxE=8QUl{1QI>H_^|P!%r05&-9zx*`Ha$D5^kYhi79uitL@A ze*iMLp%;EAts{eJHREHMa)YlcLo5M>u=fx6I5Goz2{m~hAqQaT5ZYfgT)?F~win$$ z(b;}~L_*Jp9Y7VojmZGnJ4ltOy@TUYL}%YuJ7}{!PC_;pLLxu%)tb$Jlf>4=|JCgW zFFOUJiL4vH<`T)iIg(3`?qadzVuUb7YJ>7%jl#pMSrzf1*7d@5Hy^+R?Ct22TDQ!U*ssL#n~N#XM=zI&!(I=$71__-Q{@DTOM3=OjrIiMjFVK3~7ZJs_dh zf{;n^#9&7Ky9_V@*ljac7rqu zjksPU)i&mbx?d>pcn(4>=XT&}@cxQ08Qv!fPb~7!3bF+<>S=>1W^=i#t#3=3=?hpf zT;j}HuRrFpN;x6fvu-lqXzI`6?=jD82lKN3LIGjMi}8r09hb^21qs}%A81R$Q3wOU z179qnfjn-|jyT6m6&uKSsIrx?K?c^qeY_=@%xIwPg>&f9fdd_xqQUaSr^Lc_ULGvjZ@4~<~&jLl(mBq zx1%SR0=4x5Z40g?0E+a^V67T8{?s6=Aeey>1VHZ5oQoST71C)y$r69xmuST$2QXau zo~bl#9S}UxY`Sw@l95H1)N!qmys8$WyJerxJ@|7r(M6=%EW&Bf+4`^@Wy z_rn&)(7`s<*yrLdG;yZ*B94F)0g=EhUrY4q97azCqR=3lcRvcrbWm9; zBWdC}eEpmx!-FnetLoFZiEk}j|Mdct4wiTU(%1c@E@t-WoCQzOPLmmo7UYx-!{d&+ z*8E*NC6V6|HY+ig*QM)?DPhV8P4`3zQ7-NOT>rwUm|}1%4%dpfdYFB3YkxmRxZaO_ z0@C&dDzR&QSB4qC-HmbZ|P`baSF^LB*Ju_IMQb=&tiZ$It2-*;<8ymceve!ulL{Aq}t|klO z4K9r>r0RbL6&ji4!9c*2-M>q;xw5_05+Neh@t|oxZ{Q3`LE5VAMwK>#-{zXKB!)}q zJ_0_<&Rmr#LjeToOsFH|fLVO|u<*7|ee^#$?L=c@cb9&Zg%O1emXj2pQ7kZxDP6jMH zOcR`1a_rd|876T_<$zc|J;k#dSx0~}>g}K)r@;_LLnT%tf2ER(=h+{Fw4tA#{U&fR zGFx)m8^%pm0Z%XXn(a^b@lxz4xnLCyvMH~|t1?6(bV8dsNsw4B@!84LnlylLi1;Yj3=ZFGulFFefI!?MV0J()V) zn5LvuLjIf`uCFxfd95>1vP_J9BMsS3`^>TU9|{c{#i12hqHy+5#HsagQCvSyg6mxp zD=%C6x3p(%Z>32P{OW-h#g@}^q9ZqQKSH*x+(0qPKP{pyTw9-c$Bv17QS6?-8*OuZ zR;KxSGZ zuURerim>|2TmU(}#PNKttDLbIe(nlJ1tO@BJ4kPp?s#&Bm{@dm_*L9Qyz$ZPG%}Ak zghOyMTAQf*rQetjZf3UFX%A;xW|dyQD%W^!h|3Er8x3N}TX$GjQWqsal^}fUSmzka z`qqZh;Gv@u8e^kv4L|jIDZbrq=IGnq5%QsLuYJO_&ljKE@QmKOzox z36NxDZ6)0PjJTfJjnyz|yZ^7Q(gI3Afbf0@0i*KMj&d6w-BhnpBl>3DG_q$_XrzFf zv|d{J1Sn|!IKhM^Y1?p>SihcK8h`W3D6i|!6`{1~B+Cj2iol3qH=2I|&(0a#%0e8W zUQC5!5{Jr^gsv^d6zfKMSWzfT&t|Ms&N&*C(!!^#aVf)Xhr|bFmtRv)n2`txiO=TIxgh zYQ4?1AiTW=HkyM$6fSDWw1yp_s12;eH^qXX_8F%p{*6c0oDf~0@FsqNU2+!()%Z3- zyD3JHJN0-Ojmk3>t$%630GFzW0T7N+w+Q#y)^76)EbLWIv`@TvAP4DKqXg@z2J7^n zRg+EvBSjiOL847k@F=&!EK}a;gr^WzIDtp|sODMB4fDlG0UoI>HlW=?ubCy*H|Nw( ztW1f+%2mdr<^Q$We7YZPW0hQF3O)J=H7x22OXXh2Kod04SN(#zc1|jb zT&KR^MiDmxmHKAz;FHCg81oC$F(~x+PDL*5EhA(se*RbbntY!N=ka3kzf1gyI*v`y zIf!|Z0Al{l3L6<%YxQf`%Ou`ivN#WyGJE6b*c)o*;uyo71dYCkU}KwQl@cPb**_n8 z8yv~_x9bOxV^Ac2J3*>$l6c9D{APk98Z>9x_+z<}Tf6Xn>F7_1S5i!SrlTNjk)tdO zj|`Y6@1J2Hbg{wD^iZ}NeN2>0exFC2{$CG;=uoVYW|zY@|HEo!QBfT9==W1u%V-CH zSV9?@8qc^31G2ki6hj2_3ix>MWO7TwsUcRi5pHC#cd;bKcI&g$w&5+O^s6>m#XQ0W zOj~;yhDQh>(s8L`5rzE0xZW#Du#v)g1=+#!?{;y_fs9|c&JUad;#G)!V+rNrU7XH{V{{FgAn*kL-XrBZF{p53Arj~|-4FHDy zZFE}Kan9|Lj@))bWw$RIT{%tYXCkdO96Kp<=b6^QmS0ZMRSdc?)y!CL8i&%J1%!x= ziR3jP(2f)oWkD}4=YDByq(R_>I1!0`JKsm_oAm>ADE_Ll-RpHcb%&@rQnSh6RME3E&hI1t-PJLB zPM_^SwGanoa}{~3|5r2XNNJ*#?+?9!@MW61;94~;(jc%jkG4cavB2>4tjmF8kD(vp zmsuLZ*t5LxDarowikb{1YRDWT|Jl~U{J36YwY=etkOEq3NP|o zZrnaFT0~HXkEsZH`QJ>dYr9?BH;-))(HmhooIe3qM^IjL3ohNZ7|ixIt@tA@vw2zm zh@|lxn2}MNXuu_G{(2(!1=`H<5AP(t$QBGG+Fd#IDHPC}PEp?sI@Kq_E`sv7wYPF# zkfh=FifoO3b|o|rn1P;@#0Y3v&ghr!8Nzz>`VKlZq3x!8bxl)gvd*9y1D-55{lw!k zLeRha;PhzHyYKRZ@XOzZ_v%(d(nnZNW9(+u1O2IGAK%sdueS+k!Siue{TZOn0e&_ia`YLRREF=36=U53L*ChATfuKwE2G9?s(a)*v5{=MN5_kT=n->*xSO9Y5It}3j zKifPmX`kcKQPr3fES zZwQGRw26Nfp6BUlB&tFN0iQPIBYY2$tsM3(=Y#*4xT`fX}}RID3%=;aIUUAcIRb zv9JTVe6%jn@rq_%4C$-1y`kRZZj}?fnWZh|+*U&c4RLC6k(~)z+UTle6Q%ae3KK#q!Db zeA?z~9EjIFeXln&CKOqNIXMt;q1th(URE=K#QZL~CI%Y~}X^pvN)b`6U zB_P`{zw_wBzu^HGmwedZqg$7#9AhcT!mLEiE8#G3Kd3kU`T#5Y!WVQZ>=slA!UG5h zml$=D$BmnTsyAN}2cWVl4?SCWn0>vE6@^i$be4$)x+n{LVQ0>CvLA1g>Wac|3@^q+Bl%Na&+iJ3wfe0>=&9yuta`pwEC5K71uC zV`(CjAvC$jcs7?i-UFiLhHotmZ0k!SwjGy#R(af8!WoKyAcluE%Fo;~vpHA)EQpca z>7GBU=rG?Kqgo&dA9xIiP43n<7gV}gctq=3Z}@tj8}-V~y+GP-U~zH|EElMBD(BZs zf{x+IE2D#*COT&sUY$Z#zLo9s9Rs-0p_Y=`+P%Dq5N7+xzaZZ)ai@P5jml*NwBz7q zp(M!W6znckSVdyj-z;xJFF3Cf4S~M`L}fRE`&FavUmJwuBwZzhXwC9)zV1u%*=#v; zB}2RZtOx*p%%C6$JD{fK=#s#cm21(*$RFmb`g9R+VC5QIz_8kwk3G(Y?%ep6J(_j@ z-M0lV9<`o1o8%ObcJq^eQ0B+OI0ki#ETG;z4KsT6tJRZvh3!x6G#0_jiV!L?f!;Xm zZRW=O;N>COUt!4OCWS|{pb6r486h;RY1x?!HsWOF{OO0z4^}afl>)qQk3gVVXFD^a z&s2*w@8NB#N#mdUNef33d=ijcfLW|r!y_BP(i=VY7r{QSG6s}&;m=N&o%4xXDLheyKJdL%U{ zW%WxQ_Sos9Bwy?yn(vOafc%zQS(Ho4n?kC7c$6qw5RKfG#)7B(K4+>{X|zkv^yN78 z3Q{K`Pxq=*8(jZl~PiJh$cdS%{ z)_RmhHZmRPJLG+;Ud>^QTHkzH!dOYR4^4{Nvb4UgxZsNr9xO1GrBQ1s*)#2e-kIz7 zq-@`ps!}rj+rthjyJaNF71X9(j?ld!YX{G7cK$sxa|Jmv9bzeV=8WyZP{;P8FqOr( zgI#XOjjt9{yWEH0Vs*=o;dkemSSh9zoyRBGLo-|Hi`C=EnR#<|ej8paVAg~Ey#Yg6 z#SG8)HdVB-(AaHz!xR~5as~ZhS2l>fd3TiBeoE~};fp6HP&M|?a`t{pOv|(C9^QMb zNuLF({o(yjFWaT@P-jhfUgRg?KDVrnyeXiA`fwyOR zvwq$I4yHGLdN+q->5AX3zQl+LM{G?_mpPS!v~e&gD7T5~bm9e1kCk6-`;_w9nREc| znR}|XO< z{Uo6b%!D0(jeG@A)Mj4Hyx0i?^~;j_>X+(nS4}-rS2|=xGL7p4uDzM6(~7c9TQ~TB z(`20!=PW&0VPWEA9}=rXB5me8Vn@_?U#p+dmJ?t>VMh4zg4 zA&BD|f%_Yyr%2@ut6h1=<}^%(oTU~)Bt@w9Du3Fqcg~*@oEV%-UcdL4>B%5xVrSB( zQ_tVLjLkmE{)2%~e5^0ax1E2#Z|_TN1V%V?bJ%S+wvoqp^RG9z8KgxIAte|H5gZ5( z&sfdPtC2&9;**PGF<*$*@7UA-`LORrF?ua*S5N2VDb&F4F?%#n!(9Bkl-yUx0(o{i z{jH9pQ29~rS2Mfs7Gm_awsA}xd}{($UkS)npdW(V8jg^^>CO^oVX7HWOHBo>0(1Rz zTlmmJ+PwkqdwAvk8HL&3$O zMYxI}NaNY^=7SKr(2jQHh_^Zp=(2ma9#8nY{p4D0J1^=Mha0T7iSH)d=Pm8CUS#|2 z^2Tpk4?He0(-&lV*9goN(I<@OfJPC~CyBU<4;<=GuST3sRHaYa?TUKRsPSzL}^mevLfE%N3$A%dcPfYoe}Yi4xYaP-7B6$g$B*MfvT_ z6{JwSY9{YL+D|?#&hkzb<4UEZBD*K(k0i4B0;XD;_oij3od^qsEUoqai&GKaWwGuz z)(d=owjaN6XzueW5@>bnvGH1cLHZ0)H)EzOLx_ry4uu9O{I^i9hW$P}8{Uoyv$ z$L^%7A5{Kf!3qmg@8KgQ%NuQWbIO2N7&=(UAUZh(Y`W;FDp%^6_kJ3fynfKu%zEHC zvf)e{@5(YQ`y&Z_S%~*l8Jx!EFSD)SooV9s&b0Ab>q~VB;fcw~_^FHI-s#?V4?H#Y z2h1SYg*M9-)2l$Mexpk*$j{ANZeygxcx}kgdLPyIVQMsNAyA(-ZlGO%7`N`!f-2YJ zmmL4}G%NLtpBg*mJi0Z3sJSqAec?V!9bM_*pp%H5dcD+~mLYt7$Ql@^^`&Y%kp4|i zY$eUwUcdV`efJi<9w__`d}o6Vi2fBF#Ct)fjS~)C$^91_jJI*;Pf5uR_n1=P^T@?_ zWUCFA2Fbr0o5a0H49;@{`8{ZsQwo24zh2R8e0ef-#J5ASdMspKeTRQ)W%gxkGPT>Y z;b3Qe`V9~d+`rcrWcnHSPbXO?`&-+3zMC1R?~iwcjUPrhAcox@doynz@0N`v+R+^j zR#T?4r_@J$KCn+8jD=E1OMxqHHuV8PjBJ#p7626P?hIGXWcv5I2aaJWu0RmGW1_M0 zaV9@yEbHe}!9xM%&_)8os!aWY`Li^6w`6oc#F&4drbIZr54n2>TOQA}_5Pd%Q2_v? zfmd2LPj7j32>E|5?7Q-5;u`5>j9S7 zvZp!aHNRq#=q~MB4ezz~=S-)!0m$>OrMUK_4+(|L=1m{SMs5T74UY-mS~%pYN!4jgQ)s8&TSKThJRc8I(=s z!I(lE_c(Nq!D?r|Ageve*Mp>+n>Tm0fDj}`Sl(qPja&~JwLHj~Y>r$WSD|00)=WK% z_}(4h&%Sqnrz=Bx!4kmg@F88;P7yt5V zu>FU{2JG79{f0o$FhDsnUcdiQOjm7KDy`~8^qmJyzsU;xQAF410EmTcwwqj6ADj6U zfJxF!SBx^0Ueg82eBWlX6oVG2CT+i4m^h`%CxdVzdlM`lh-X$t0?5~`ndi2f8X^(W zdkv$3KiTVNfROv1zB6c|{+fQhb`;=JyLi{)BWsjCk-(>!7u!7k83xsz*_YjsgAyFAYrtd`XtZ`e>1kTpa)MRC(-b1o1_yv_%)>CAe*K z+lc1_K;e)J&GK-M(`$@DxW&6GlC9Pc{B9(4!Lpl1TTC*(tG~LuJUvK#gq`&z?-${qC6~COm z$dlPGSF27NxxMs2zr)j))E6o)Zf60i7cA9rb4r9>W5+`#DQ1TJDVom23~%jo{TBal z2*(P(l8QLFTsNN}pn{tOYklL`8hruuk=8_O^vgj{?9;}z78=EY;&`MnC7>a@NDq(* zo}7uj9x|6NDTb3v6$34k*8%XYpodO`12oJQ8B49Z_2tFE?RFki#Om{$^~l}{evI8^ zrJ%vYzJMDpN1zeqnA{&MWVvggZGd0A9Z~#3Nfkx3_e_eZG_ z$}@`0&9)>Cr+f6~)ka|NnRhE~GU#g)b8qeM1jDYi!+hpdos|a&9xPY$(mnN@zPov! z>Rwwql$5JTaj6?{X6&4NATk#DOm(lwNA%9y0@>*ewsh;uAO`Itu$c>q1!Lf}DsDdUFs_Wtx6(k1qE^ zp;TdWEz6n!Y=d&%qdz}~0dk3sf_-(qMS+N&!JK5u-*6Q0`YR{_Dp#qGRiKRqIq-Ly zOQRS&V~7(*3OFGkrP!yWRX%6HT8((fV(S4aE^`v~Ok=f^H-d!`zU@=GyAAI@fuRV6F!E+7H(`|yb|TPS zr*v|2f03vaPwk%>DNZ#X(>!Ig!en`(i~(?}zF>46{RB&?+eUCD&c1w@qX63<%|K?de z`d&kK?R?)mCJ5OG$ERvp`cyb&?_OhL*EiwNg)73lfcI)G>;;1IRzLI+QWfUP&*C(e zTbQP?%%2r*xY=AMIz^2=G>V)Giu-esvGZ0ASt$)fqRNmjnI0woEDK(#pQ12vsN@pN zi*5ImU#UhautG6UW%&6S8%*K01a4wyzMNVPYMa7%noH--rS~U}OZQM0-EX}Nw-=;81(piL za&er8+)0%+rh_{-={#W(p#ZDqlH3XBj{8Ab)BKsCeBqrm{d$eq!t1j*TwF5wiJkjn z*Yz-Ar+|OM80|gaRc2g#i?WN3Nd<2LtHm|m(kQ7k=XZ5e7bLT_#)=t<)L8RP?TriYk+kCTtV zlr?{x(ra9?8r<8zGRpAnDQ8)<U?FdBbRUUR&spFg zW{19Z53F~dEpHGO7VZ|QclfqnO=?c7&s+iYFNJHOxO;(^_PdGA2F z=kM_@YWB4uYv9}0$K*Uf*w^wkbyKnzpS}}n4xW8I(~!@pK-vG(I&)uZ|6T2Bb)SMY zoqF;?)|!_}StPL8d|juy@indH_xp~Fs>ldhO&^_p0@wrP|3Q;FtB7p~8CSFe2h9*Q&oNa}G(HrSh$c6%0^Y2g17q#piX06}FyB%o67 z_Q(t!5-k(0{q>;rU*b0(oC-WkR!eT&{80kFUs6`*@qOwL+UNna5r0#EfCD|7U;Dn8 zMN74%ugqp)C7;EsdDr<-wu)J1%H}B>o3rLjI0{0Nijt zYxnydubbRb0RVM5^$AuHn4d?>HUabx8E3^6M2<+)<{bYP-VJm0Z8}7E+rVs zoU?pTWKp2RA`<3J)`*2^I1E$TdwlOanv` z+Y>;m@5;kpt8V{(Zdmahpivn;Nm=!(n9p0S zGh|e1@b+|y;cTAAb83e_SPalQrW%QXxWic=lWjkRigt`E{&+?Al%=q3g(I53W$^nb zvhd+T)9#Ykr6>2HExV$f6F?>)9UD%oAD7mWzgKjMBbDRw21p^%UwW~1&p8D3185ee zKv5C9KgW}I!Lge`-SfK4ai8q|^(;AD|DCae+sF&-=kOjxxt=Wbps!>e6O|MLlAaM> zz(zWF{fln*O%~x`$8D?*gEOE&$x@KJ3sw6R{)JfH;EEUG>+!(-w+==e8iH2}smd2{ zMl}vz*B*n$w9E=~J;< zO&UP}veI&1Qt=(VnzWJCwHU_Eh}}i&UQgu)PJxBNjPut(?zdUuI)p<@M=0SxQ|okm z1o%?H51X5#k^4jpy%qDyFTkF zjLGb-<2y;=g6IUX+yAefGYx9$jKXk0un}dc3Wy4ZnnDX@(Td1o6SYbyf^7k#tWqIj zkVHvE5U3O=jG`cefU+dGKrN9(0hIs>=!nWr0vaq55FrvNOLAEPhV)$0=}bGFF8}i{ zlgv$Wzx$o@p7*);93w$F#mmABi8)fyu}j`Y4*3}gM7h`CJ)@o#6qKP!e0rq>g_PhT z{|t#3&xHa#ym_n!OkED00R^Q*y4N?{`}GHyTWmK4LqKJ=O{w;F@I{4>`WzS1eqa#A9}s`8jG+^1>_iWz|=~hmpP< zkcH0q+7_HXQy0o2zzq_g2Vv&rjw|_v7bQR5Vuy#|j=rY%w%Sefgl^q{ra58N5>CQG zV_{~ZDI3=VGw#vT~@e|KCu zQf|{(X#jHuy30h4ip^}J*emcSlc67MCX91!P)38^2b3%D@c;PIOrMzMG+H@Sn5g43 z8a46AP?(XLf7a8(p$KezYsvj(a_vvi=6Ls>YwAxfeC(MEZ*Q(1DQmhp@Ny;5V@rP$ zc@`OF&2B{Oo0Y~OQwN8-{OcmH*YXyiPdtU}_Va+SQIsSXpo;3 ztiVWMljcnO-#OA<$g$E6MprYpGRuUR<|w{Sp6nvgOyZCZi4-_657m?po%IY*YKXW0~M;`he#4L+fllUu~3pk0g41Kgzx=0@NY zR=o3eeW>I&RGwNeK!Wh^#}n5f>E*4CEN7SVg3znya%EDHJt}xcBSMs_a6u+YyHCC? z%|ms_%NeC766edNYDv>^kn-~g^AqWVhtwOSZG^xQLw>P)*c5OWNq~kPL(#8$N>BsI zy9JWH;Kr?n)$#)!I=B-rkCPlgOxvuOF>g!nW-|d6zsi!hb z$0l;o7)aU1I&(d|ZN>Z6RPJE*5W?SMBib-&q4v6j#TGMN;HL5N*oFknrHygw*fC)w z9GCreyHos8<}`WMTgSpSP}WFV92a+Z_kwvk?K|vw^V^>aBE>1GxQlvvQTe{bWTXmW#wo;j41=QbRl_sYTK#< z`YcrOg!0i7O_Y5}X8^?9uAzd^*zk+7YrS@0&1qn`=RuaAq0S*hY(QAhK3OCtsLP7s z)EB=fm!Ocfg=iTFf9TaeT=vIr@B+TJc+YL%o54OADImHi->oP~^kyz7YXXX1LJQcs;4U3V72TzjnD_Su&FWw2Q+!CCHbivNQ3pn6i63~^uG9kV&!Hk|d+ z=7X*&s{AhW79!LshBl5@GE}P#x^a5VDx!7O8!;L30mUyBVN7&-Hs!imb5D8)qF)fx zT8EK5^QGBAncyx9qo(6Mw@S|Enz|KD$ysG{O0hXd?i3~z<$Ovy-0rYVBZoGHu{lg- z(5K)ZxMAUmYC9wLyeoCDy+imT3+*DNg&knP|b z2?$(73?c%qwjKvX#D6_If@|6Tu06o@q5s|^3a+I@|NrmzdjS3Q{%hd%tuHiqY~APo zp21S^+aOTz$}yee$3zJKyA}a=faL!7`tf7OL~{Rk$IVT!{@nlFQ38N+%-W|EO$5x00Hg{xpe@r`n#Ab=l}A>f-^s`22j zhPEp~Af_k(UoYzhK_X^EHb-uBXYSdhxc1{|^Ws@!%LU%CxzI!ljXe9xqm= zylS01k6&lDI6cVN6sk8@ZVGu`4>oVI%lVr(JIlGULB5pi>6-7;`*$~P4sGhMk5x7g zu&RgcVn!!I8*(%m9RXz#f)7!iFIL#iDVtYr8?aJzxo&zP!$-qvuZK^b-@iNV)l5b| zf#O-&@vhmiHtzP9K$h11ryl%dh0XgA$b7}|AP5bA;qE##K2CouWjS1e7Zk~|b34#V zxD#n^M(((5{A_$aZR2B#A*CsLI6Gtvxz@l>51n11Gz!W&EgqjmTjC79>o@avM~s&D ztx*P23^(E^uWp5RW@;;>2vU#sBh}*7zK;p@?G%b3y!N=7$S)I$je6HN_GIjK`v6V6 z%2y0%o@__4vKtiH^IlJ;?-J#O`Vc{IfzH4-vW zY2MmBzQ1bzMc=Y#ph*5ba^^f?x^+by0=d>HYYIQ0bI49zwMkh_koYKWwXtC&Ff3E% zkxx8D(k#U>^MI3CaQ+mYbL}JfPIT1B2R>{EY%feKZ1~l{jd^;;p3R@5`zs;DD`|Hr zBM6mLLLirW>qPQ5rYItDSRpCp93RWjk4*VTN-xP}xZJY~A|3hWR4AW^forU_^1N^X>&>s~#oWZlfz zrD1L1r5zI0wh&85k(G_8&C)Zq#Yb;HVvk0Txdu0iUi5IQ*VIQDYkR5oG{B>E-f5v? z%UGSa3+#zX#OV)FykU$(@NkaFh(Wy)Em|$Q?s|r`>ymmC3KYTk>WN)SGzGPA?~hL< z(V}gCe3L}KJ-d3e`_@zHoJ~yo<3ecsdJcCg_Ffv;*diLwl%A=e5W8UqGlNM=c=}mU z^Ht++Rif#QNs=e-jw**ZZB<@$*eehB;d>FQ?Mg?B^piS0Gj&wLS*qLkD|o1VKwH3U z2M-PgF?TFSpw5#mZY& z2tD;DceHOVCe$EZVXbbT#Y-zka}+YaFo8Joj(2lOQ$&rFDkms|DZ8b}j!3_W-3X&N0Ru}Uk)jGzz-OjoBa3WsBLX_AXRr>`+aiZ8i~Wy?L$O385YlW30(ZKkO?V%@gu7 zVM@}Kbe=<#mNfjoy}7Cxs<4efkNAh#z*B7;DxDS} zjnCxr$#U#$f}cH1CDRzYmiU=h&6EpFuoN}JB6W@;<}8uVv${gc>NH1{v5!h{B-I!- zm@;gipqj1-lfy2d`B9M`gFR22Pp~b4*Iuh|tJk55MuJW=oylq&n^f_^_&TjdD zzCr0ci-@*I0IIk8_VHDCML*s1TSI#94&9LanzS{Tk3N79E_}PDgLVY^ zBueHx=W?TM^TD7$oMR5qw&(Le%71*(7wW0tQTNSBqlXb(fz7)nF`Y+x?r29>Vpe-% zb#!J9E9WAV1nW>D6c0^2QKTt1hK%^5=Y{<N#2_J?Um_9lN5Ds}9Sg!nbDAU-UG)#Su0MRdF1zj42z!b3=j>-%ZxusRK|e_A_XuB1yEw*U39yuGVoZHo84~7&`N1 z8>xwSn_4>ig$|k$XvGS^N@@tz*B(Wh!b7QrPU;WGUSO1X;RvNnIA}S;c#I9=l-eIcYT+64p{UiY6eHX6Knj6t^`w-HVw``>;zM!S&e1!Hm3GiI-?=9!>(W}>FKZ$?9@R! z-N;CDUI_KtRWAPo*(b@#R@eF*wM>h0N%mN;hX%}@eZw;<_qwh}iqlrVX~~L{?47n? zKd>>ex~J@=B(^X$8{JXPZ9~I%gU6eX0aJ$%uYo9m>@BEYM}LNBi6;^ zBo1wti{9Sm!_`w(0zEDdS(18Ep@ilFQ|voeA8K!R8|1f85iD8{m$Bq3t+gU`xgYbY zlGEaw*E}iD9+VIO)rQ*D^~2ktJ2snan(iW&NYZeW}8u(zqJ z9yo+!K+O|wNWd?EgEhs4G$!7|y)Bz`s;0yfxKj4KtbKpHZ^{)(Z0lk(qiV zjX9e_D>0BQ5pfc;0qP|Sm?F7|fCMw~=e=4wWsg7KD#d8yaE>W9udE7G*{O-CHjP#V zd7@|!H`!gi#9Af?Wo*)vw^Wm_A3GR55^1`ewM&W3C;B-t+nxN&C@?J;;70&(VNDUx zABMxf)zcM`NLuI-JJZ(qh8bxce*cs_?XWHOV(VpNQVR6G9Bc(2xH2K6v?LsV-+pMDUzDiodRAa^IvRNCdEzM zdxDEGwO=UuNH_+7Ql8^Sx^x4*t$x*&E>hp%7F%YVfiq6boAnFn`nQKk=D z?bIw1Ap?W6bqNZ88>U;Gk(g(CU6$B@K_kkjNVdN&o{=o(UxOJ=<08Idu0##E#JFGm z5?Yt!_!dnyEl9HWQk!dwaOiA(T#PXc9v)CFW=RK9npg&TI48234OySw;C-TyGic*-fZ zx|qFhg3qglDPmnLJuOAiZ!J$0PqC#sz6IRa=LTic7N+3$Z<$E6#2Tm-XuG9nj%2G=w7BwU zu4AEX_h}-^vXWuqtrPka4$WF0(Frk2j@Yhap6ng zca9aOs?^@+>R}Tn3$9C<>Re!5q3Mh*U{2#MdwS*R!Aks`kTZwHRxt)IDHhr7C(5F| zJ(CMMv=4gJ^xO-magg{K;4;GLyd+&5;BiX#tKG3SuC3FR;2D@)W+-XeS~oH!D}}^i zzig-`XDK*#{B&%!inltK?Ue`1 ziJz~=i3~0N|-84iTNsAVdUCi5CMn6VyP=TWtLJOrOyO( zh_P}`Dyu0!cdWPSi7-dYGjWdMsr|b72YdP9Wyc+8)C`Ei%(j=2FALkgI~zp=au;~@ zFwm@i1?cG2?D-e#75jHGetz81A0RQ6+56ZEH8VzS8ZI3SsyCf?2A2r!1CvlVWWCIqYqI77I)U%2h45m#ZTJ8LjtP1rtI37*hBRA z$GI1audz>*Lh&}^baLwWn!CZ|!js)fnSZ1YES8PwhRMwROMXMd19b5Lz*fwY*3Sj? z#>>yW+CH%Y>Xii5RIhR5WLnX9m~O#gvGtwn{9#w}$tG3h{8hd5)G%~VF{*yG{Zo=t zZR%T8VDTq|Dw>Yk_Iyc#M{;6D|D_ng>!}M4&v4Dnbs8dSO{!*jj_<6HY8-3_Ofy>T z6xNrXWZB?QcKg=TJW1;vGT%Nvp0+xLD-KCMXD@%xF(7BYIl~TuWd2bU5JEsbr>a0llddeUCsZodfhY#wCtsZ?ZD`4Ic7Bild zAV_=hO)(P70aLw6(-s{|4UrWWy}FS7W--58@uCw<%T&FJ%+HmMk*rXnsInK!yZoa5 z`Vc(=E$l}cH61pin%idoiySUi32)N>wa=@y^)7!6HrfeC<3vZ5ws9ITnVRHSxG90+~1GUTj$(Sj+_rcp;x??q!n|t0$njQ$}rEM~A2eO(5<0n{~`zquWb-0|^|RFG)1UyV@eemizJL z%NuBRo}NOueD=-nJK_mc1 zYW@;;5>pq0^Y6q?zF^7f8T+Pr{oS0gi)Ao&uX)Gr7{BcE>3gwJ2^F?GecoCHcsM(> z!gJwexa#4y^E2N%;b8~nJc$>G+>qoY;jdz4*OVoLFGS$YA`lYn&5LV(V+%VMrH=HU z|5x{!%BafS`TnIky`|z^J9LjRJn)!(I#2AzuT0-uQoZvWp~%b$d}}?N!D?HhM-n0U zDOAdoCQv{Gf)A34F!?#-1*2xa!l!yaqJG3S??(L?6ty(R(v<`$Om54fu_iM4$fzbI zd&;^@pW@)~1_5ExJHrn;W_Ka^wOcLb=%IMbIVC`hzK4u)p+wg*J!}#b&~3HL`I7hn zC;@X(=M9VC=Nw@uwggSr!?Q4S%n1*pey2P=*$@6wlDv(?JBgV&CL#sYz~oRB%8XQ7 z6kT8_og%5INeK=%*cg8;=DNM_TdR>9#PVa&P!FFxXm_YBpzI`vl4M1f6~qe2F#SC2 zYl~5zjD^J#!*py7+|*tk820!x#y0RHWOi8I$CBqsIk^@}E**z-?0 z+yz4l5Vkz(csN5yjH+#DKQe@4tKrR~K$ z+W`mlv&p-!fc`uzg6FN)jP#WpR%BO288_FtxLK6&paVD z+WVAnvFE{ElW_F3h^4l*8uY-M@Tz!OjqkxMU3&aS&qcRo|ZqpDLvl? z%9+BJP+=A>G0v=Uz#hlp?9I<6n3_eseFfs#i^WW($CJ)T`6FB@K*BGViO-1HOFzVH#~u9q2NTsYZQ(#jx6>1GH|itR z>23QErB$Kk{P{E0Rb7kabD1I%vujMs87I~(2iqTU=oaY`Wlwvh5S6lX0>T@Dk+t6D1M7i+S&UPM2DR=5L^>DaHlx+Qvcs26vE{pcx0N=fGiBmU#+srRFRavZJA=76Bt*JXB- zxKe7B+5J6NBKP1IZ{;60WH2C@dKG<7kBs|sax`CW4u7BVaP8F{vVBcPvYOPxMop?! zFhxI%oo`!p2&T1-SqSez9Mn}-;~@JAVkY!bH$mgqKXNH{;ZWiS!v@fc!K|DnyVv1h8botlSf$5h#xbA?O{Iu z?5o=tWCODNvY%GaCE-2GyzsKTP)inzT|{P;Vr#nH$%h>?6G-y}k5tfz-Y+gb@QxTR zc}$wW$bOPz!ofyG0b!*4#rSLnGcUm+@YjrCWH$Pu0sIutS)P_qA+)?UOrh`oZ(&Wb z;t#gilPK+g_g>HJ<*S!H@2>9r&L?9~^gr#3QS1n~M=++ySIgQKYX^4^9z(+R>HF-^ z(<;mUK_rJbjjK?yl^#o?9V^>66f$E;L;Vhu=wmc1RF{(oLRpjJDm=<0I#FG1o%G zn48WzQs%sHbF{hTJwlyv^7qLdmSP6~3zogCST5bIkVI3xI_rX_7bIQ(D-05!GSe}4o`=fV zeMP69%c|?~xyZ)rmVLR_J$MNVrbyb%Po4^POV9Q6OODw)FzxlxCg-TS5^l<@QOW;Z$;+U5Dq)B`gkJ` z8i&_+q#bt7B$D!g*ol}Fvt*$Wnx%2x6R-Y{VzlcPG5nnTPT8@)MLei0pJ5P;PImhP zJ&mpcQlFKiOsPyE~O;j0AcT38A@L6?`;2Bh0>TW#ll68`Mz9295 z{1aLOA^QB=^8=4>Ow(@_~;l~8~XK%#rP^5*bg|7!$vt;xH zwVTMg%eC6fB$O?)eY)_Z^58W&Z^VcHl1yf>(4Ih@O-z;pBbW9T+07aCw5#E|;##Bm zRIh?|0^K6T^%5faEA63Ly!UOotHMcZuEy6fCTtH(R_0BR?(n*HPeJ#N?nw0esQdXD zs#Q$oQQks#y`PR9n<{FWfQmE>CPTB1P_iX0kdF$jKIt9E0qUL#FAHeTSHF?}$xtMpE>BAW zLqG`eYJ?Pmu5U<6%aXv_jtKO*HYBxCRYqxS3eGC1wj{Oq08IXN_Fe~WJESoMno{|; zce;%7<4=#C;(natw_Q;G!$T)Xb_`b%=js$jv>gmMncU)0!+OPP+r5^D+SYoa$$a%e z@5nDH-&8pltk)*=*oyyYM5IU1N1PmeNd;!3g@X0hBGuFaQKG5?o&H<>jC%viH*BHg z7)jE?+;Ya9%;$1#n%d)yl=DN~?3nrKKRS#nMmF za;EST-N(o@EJ%oivDmB@e@QHuJ6Y1@kV3>ARn)!I{V5~aD+OU{o5qkI|K|l5DaQW! zJ}T$)h8mmyU&ty*bjSKS@xLWyfhHB`FJ1ylz7Fv)mgcK=Hs2?2^_UJ5j6fu~erk3H zXfcKW=opfxEN6)1HKwQ&lFT_#lEWzVMGoJtTi!_{Rk+?2gyX=VEY0hhA@`zSw6I(e&PDLZ>pnLJ8s6cr+i~q*vGW3Sdplaz(esr)nwHz z@8=$mKB|*?y!UCxgCBL}wK^8ADdN|2_7cm9>NgzNXx{??hfekX&{kGv|J5I1NJ@Y{ z1`-AZD^zAbAxm1OK(lgAKGP5r?)*9Mvc}~mF7=a@i}Ve9K@qzYZd!T3=_LFQon6HU zS-(SZ3*o9wKfK9PK=A+|vBje4>Y{sq@e|5Gl9S)rkt?5Xk>}E_?2zr6YU+vqZ3?73 z0{a*AF7#1J0(0pvR*?V|7>?sb; zhug13)P=kE6Q&Hwot$2RTb$ZXuM6S)tN}D zO95}e>B0JK1F~?~r%Hif)6-6O?gI(;$knyVvB>JilhVXTdIw6zZ}Dru5a>MoGTgg6 z7a$Bt%X`mqw7stMg_BAo@fRb^61NaX4&o;G>MW&T8F&>wT{?>zCF0 zLhJmzsP5yg^k)s!)bXg^-828S)c}nrX17zI35y9JB^pvCl_p`dYm13#m}A`)Z{%}wz9Tm-+fw`8NmryYqjRx%J?DbGm=K^KP157K&<6_}vU%fSsN_kv zM`CDE3xvG2M)9RfI(@t9SB>Gu!QPSVecz@m5-uWSnG94ww6pBa39f5smE)|HX)(5z z7gG8Km^nVUendFST<|&e)XIX2DtJpMCrB(V#*OK}?)K|FwTjy>mbGRP-SU2~g zLkU&(1K55JqiU(Cp~n@GL@qx#n`Oh+FyZRr(wh1)$IT9N(yZ*>+An?hd;%zUzY^^3 z_rz3Jn3k7{17l;rj3ra4AN^o-tK(zA5UB-z_T_2E1hhwXEHFwy@fhvkhMi+lC;A^# z7YL>=&lKxK=ZXIXO?7QQX~HcMn(K5P27_?6Eb%g)5(0WtqzN@+@ab@PIa&57GwPFf zq@%F`w*yhyag_7KayYD}e8A$pduBEluTMrUxmWKy!+c ztLBz3*1J_wdLEHgO$y<}Nf)LLSQj~t@2(ix@*J2WXp8~WrRV(Hw9aFr?7yip<9 z>fywUIRQ7OQ&dKuXMG7#tIJ=>H%E10J7<`qUdY#lJUqnSp$>PZ37WikCtt;0_BUV& z%2CVD-=15vf?ywy6Jf`~C~%>7>rjh0r97 zo;}R66|EYHH4avL?2T|VM<-ZCn(`X@-H&lC70-#H9n_7SxM zWsWvBYs)BM4L<@m)o@@`t_ANi+t9DuE&|I*X5u59 zF=NEq!$DSa;sxgH|JhFL*{NBPn7DD4X>{b7w@`dy!jBa4JfQ(Us1dJrEI%wit3@~5 z4y!D-e()d7+%aUe?PZ!gTk2MD_B60E2-44nNqvNf?jV1cKjvqtyPWFaOS8EkzKg z%#b&oQqS3Pt-ho2=qGK$#bob-Qk#YL_xB@!Q6=S#oD(3}= zrRUjQ6(QM;>prF)$)m_~hn3Zglw8Ow6+P!=&zlGrmqVz37Dy74Ea@<;K3d80JGvFk zRt199TU5$=4s|*42{iRYjoq9PaW4^1WR*(4pzp~KwXjRITs6~qhfr1<%{%zfLEJJV zl6v{->OLH-n33T$h3YncF2UA;^F^dYIMz=ML)#s&R9AC&VZY>SkQWrU;T`f87}bO; z9d3Kj=4Xc~d+o6)(R0z8HZwS`+_szvWp`3o$=#G-eGpd!kA%+R8VFzK7VDLRppt*qz3MNgVpQ?_k%ysB5 z8-+IR^9HId%42b_Q6fxl^jrh1RRC=K1j zxgFKAorWC%O}-I z>eev@EL6ZeaGQ)VfuHKO<}H64>3eIV(4o(Z7PX}->O1W))4fAo9`UU$Wr2+IDVPn)77e#k`o9HSu2mJ;$;@y7`F=P}1{Cip?S`J#f5LZ`AUV_fDC7~cND zEu!-2&jB-S;cwJw^i=EIE>54d-D8#YriVfJ_=&Elt4tF`Cp4uyNdFz3aaH#jg7nCc zlX6p9b6*0X-cydl*?8g{ zW!DbA0oZ8CKUhOkBdDmP4^X@ukPG8qzI$!|c;&x^(W1TQpYA1!gm1j0+=-G{VO|MG z>~TRN>g8c#FmZr(_F$`vtk4OT@-6~|@^k79bzg5Bmaa%6f4+Y=6GxJ?P64~Oj#D;8 zi_Vv6h}5I|H7xUsGfG;Kemuf-OvsWWAqUToi;D&HC z{1mPqdyo}^QH``MrZ*5U_Q7O~0gkg|(_{6u2*iwbsnvfE$SDx0aaHTlO0WsUB9JK@ zVlDdwnVg&mP-jHUDvFn7lh+><=Q|_hX*b3O zX`!D}zB8vIL@yxZnBIX39YQGH-IHp^MmQo#xZ0Zx6hhG;HKYB~@bV59Bfm;Tal$7| zNg_dxok+fLoDNN1HGP?Z#+o3a#}=UY-YdU`4inB7Abti(jgco#vEu8~X{8?tR%fwi zf*S$*VV4CrQvI$bIi^(pK4;U4E<#_RJ?)&1fgPlkR9tHD5d~uzk8D$WS=GwJPK?@y zrRVwm1Yl9|zHwABN9nlaKBwf2Zh7$}j0JBsN7c*w!A+!h?M>ZCta)%so%Trm!9IuI z=nx%wW1QcJAs}yB@c{71@wJ-`%EG;s$W5^lt1#I~U^hdHt2L=Ksj>>-1mP+8X}AI} ztDmAOog^piVc&<|ZixndG$U2OoBUiN;>@kyq5?2az7ko1MhCxHEJ&&by!uBvZ_)`S z5BnVkf$egcLBuFXYw&97PBy7?(pEUeidYy8jO{G1X(<;ERCh}e8=mZ+IhJ*Q>8-ql z?RUTP44{*kc54GB3E;g&qD;9D-9h39Em+M4^G>x2`H+=sToqwVN|HqA(@zujhWxaQ z^EJC#^Cyw!M2pXd6Dd-L@Uz{CWC)QG(&df{&~e_ytu6yB?pYmOnt2dw{&_d>K6y|$ zy<8^~OY@6mF(;OAzdPcz@sgTsO(M`T_QMYLeLg0l#>T5N)>9ot+7^pXFB70A#4g@vEyk6&Z46riXgWIHPa)V-~-I^n~ zPpi7P(;>aLybK_@=NhM2veZCp|Yet-KdIrgeWEb~F z9_3QvVxul4v}TX2Pl(5bisQA)UjO-&p}+8t)PR31KYQfJx;0q8)Q;UsvO#qVX)#Ct zmQ?b2db?LbcwGb_JaV+`k@$SkmuyEjTZ9tLIA7((pYM{q@{;uqZg4l(DKiUu;(j(a zU&{{YmEctyEq*-n;DJJth2zALOD z@oiN)lqor--oLG!kw$B2D7hQ zggF9HbeaCBl0wYlC(GA;S5l4ce@iuK5GM>aF1(i=@bBHJG$zxh9(tr@rUj?Y|N> z60-t)is<2`vM}b_-JhRN}m*~k)6!=^$D zQ3?_HLw5JBrP=CbN}2KoV^)SvM(hGV@8>>gQ=L-3&TrK0Kpevbj9ZmrU9mfLmZlP= z&L3!48=C8ih&>K&LPRpuNlBCbWq@218ZZ21w==^da&oNo_GjezZFqyZx>v&JDOzEd z;Kxe+T+A;+EiBx=@G=&1C~mcfa=&@E!S(ZO6^Cc^sdDA)kA-5bAngRNtyicf-lyZ; zZ?my8Tvpr$Kcp)YqPms#t5NpAuJgNp+N6!lybo7>g{!ZorTT7T`wE4RJQ9PSZ~cyBHbnk46U)^4+m5GTUy)8t?NK}<%J4 zT>P2ce$UiXxs}vl^^a$fY(}3J*wH0J38Jm{({U}GCr1powzGeXvGu@2xXzevP@`~J zywTYD$8h9yX__QRhVl(EaqFPc`qeF(93Qw9#$4I0&H4S>Fa%VDxPy*mb-t&TKEION z-SX3!IrZn(p|O$&5n`?Fr2TtVhSy9}{qGbeN6l6TO>FL3YlJ|KY)M~nGvW#zo3aqd z-`2}d^ZiWo6325hKlZ)(AgFLNYZH~;xs;Z&>WM6UhS9f2y7zbd@jADD zd8;zcSF>UQpK^!7za>Ag{=>!j3V+wh!DDh^gEvzn)>Grwuhgat1lE=gdDh&ToKLT+ zyZV$Hu{JPbyj3rEtbSmEv~s)utLzL%%^B6r1O&-$2uC(!>RC&_4s#tDeh!p`R!~hm z4J!L_#d<|$YugmUzeakt)~^f?bTKC&vHf6UosM42Q@k|Ca()zD1xl`8DXV};@E88@ zF)@g^zBI+2d2zB~AvvuDZpHiJW6aN7=C6SS7)6<^UW}UEs@E*r4k06YTx&;7Lr9mt z&llgkWCi}ux!9H3P;!TMW8Ki^n5K!~^)rppvCg1aeu8m`t;x@(J^je*m3`Nm&9=#Z z?sC{PS{Jb5JQyKe+=Y!xkz3RDeRD9|rgqPjlYQQ4EruK4^HO(@2)e@Vy9L!R9cPVe zFAAoGRSip}qaX%nqK=5I`ZIvfSNSKnPeU&&d$*E_aMJEU?Oa3D>&=ZdH(y%FIf+J- z_0c^Kw(_@GK5Xz4T~83Py2@KuO*Pbs_;IpP(3y|Jw5kBLRdyz%)XS< zQ$?Xd89e84;dEJTnNcVRYSo(H!#2g}8?U+KsQ#7KkccBId7`b1*rnpoPT1AymmeX# zR}|s(;0 z>5$CJ8U!I92}tEc1=n&sqDq(eRI%3c1~Vt>rm&2x=<~xXG`kqOQAX2Eg#l2hHCf!& zTqB(~UBaC=I@&ZThDY2gON4daZN#>y;N+gW6GT5$&xlc6rU_`M15rGKhYsiU3wAxR zCfELW38u63xokeib1`HS$%yF8@o!k{w&twXI)g43P&MQ_UJ$D-80xJK5q4x~Q-Ee% z1tm_hOjZU%II99$Y>B`ir=b#>)VgH1xq^>tmW*tX3$a-R=$J7BMU^KZaM2(dBI=kia`H(v?Yr#&}ob{!nq>NVUE;cQryS**lcK}YBY zF$SOyCYR^5`pyREb8S8aaH3?p!SF&#+vP@Ja;8Y4XPxe;tZ;WI5r+SgvNOE-loQ-z zd(xIJd%M9fJ;}67nntYS8qHPg=iB}Lz|5J-Y-@~& z#Pa5z&OP4r;065#7(q)$BKX4EMYVWPr-mhfarPr8 zUdK$OB}rOKBaX(3*ER9EoPAiYr&lxHW+i7VCSp@NPS9Zq*(&^+EY20r)$R;EFuQ;l zi5!wnIN`yWQ|4M?l_?o>S&dT}_n>$?(E8HWq__71?u9tmgTmhH-Dk>+&gv>up9d1) z+=-FejhU&i)pwwo9j8#@9^Ae(kfkF$+BmJnsC!wjxoLZLBkIc*R$z3@ouFiVw5L!u z-ve9m^{rE+c0sZy;(@AP{>1Dm_0wleR-`RLTILqj{vxAz(rOy?dCmsWBZ+1peLmCM$KX z&bh_=C+oa`&=Kh%9AGz&030G{iSEKWT|&a5QwtF~F#p>PM$2FFj50R&!F#QQwKkq- zgjK{T`~PQsnC(T>=@$Ms#m(2krFw~6X;XUG<$!&%rdw)H8(*Lmt!G&)#`@HrrTh9+njVU=@S8N1FF*`ea=Nh&C7dJxDq!w z=dSY<0lahHt*G7w-NcXfcU0>2nFz;7_wH;de+hhR7~SJ3)1|f1TKoUW@`!bTR@BDZ zr>6J`o(+sn<=ND?g|HtGnr_;*w7o&zWgX#Wu?fA`UWll1*ZMgPy=AI*hX)y?bU6HF z*g0|sye1;>bo^MB?kSHD`j-lu9rVU8c8r%Kzw;44?gE&Y!?D|j$HWGkC{wc*DL){@ z3l}=J75-MY`X?eDV~6e%{_VN`+*Z3oSaO-E*SDh1^0B(KdX^W2$2)B9mbOnZUj1JA z(#cjfst!UNxwMgOrG6x;P%iTOvze$~gwGB^*yI);aIV|cAnBNnwLMjICqm+H>~C!+ zvcM4+F0W>?AkyD7+hUfPxm!tpZqXvze}~ds)X19a$5s~10(MY+?Z)RR8^LaHoDZR+ z-cvPIpIUV{qQNe!v+(M-raEowU3Q?r)3$%UT%Yxlvs0l!tL0V=m(P{H-%(C6@u(M(hdhLxr=(3dy3-$2(Co-+gX2$SpJRX|DiD= zCc_yNn?1ii2BT*XUby{lMU6ighl>quopw^y4Q=LFFN_iK`F6?9|ax`NV;@xWZRr3`>&R?k&ea1azVZdf!K1Kv@H-vH1M*x<t^o{bR*i01zx znZXdxUq}Y@HlLsW?$?f`18(@$&j%3v`y<%mKm6imZl99NyTYdby`P=G2lA%1ZVM+} zKJyw#TqMmsLO4u+~3qGJj`J2_MOE59z!TYQ7B; z?~?`Y+GA%@zbobBNHl*GP@&Bm?`3>;g7Rb+b^TlN$w09mg?B;qeQ}9jv%HN4dD(X@ zdl%pWV^>mo&Ks20&!$n<$I7qwy}Ug;(Llu{2M||E3D2+%(?|I+4D?BOh6Ym z=XS44+I+>za8%WF|6XuD6Cdq?HGL`PPd{r-z48z6bnIQ-`hNj3{&GTs!h>^vGP zA;IG$r%M0!Z`JS9?2IGML)un4eGG>yjsgx*<8lGgwwRZdbqi3N-CLlBvs!~vjH%d_ z#qWnc{QuB9xGOzlEIBCp+k9_T15>yT@MM7zC4?Jm-uwxrXe1Xs-;_r4VAoy*=PE?F zZ^ZWG3^uOK)(-gpYHD!;-gxsi0NVCRP9g11#LM0Od~xRX%1B&XZQMt*ZOk>8LyLTv zdo6X)g#STzfDfvgqVPLvW^FtyjsC&kgP#S=^$e5QKmM{9&EyIcWit@`b?ps_DIOH5#;UkfI(HCcsO_!j$sza*7t zrytuz|0@-e^;-9h-MN1WCa_lRux;?2|A?Q7D5TQJ6jjXGFr*uMbqshtQEd@XPyvz@7O8C;&i52N-^SzIjg-$95Z@q~%me8CkBZ>J)TI>+ou~ zsNTwpiLeh*i=g$-+f?O3cpwacIzRu|Vj|grkInem!;4f97IvzW89ELOi>Y#@wqSgk z(X^2Tcg4vJN-8165#X?QYRqg1MYgPFioVRhrD%a6d7nAobQ+LQg%tzO;5PLT(D`)) z`VK6r@ar~{y`~_m-e&{5PE&LZ#mjaws^~KQJ#T6S&1lI&A;1YTtd5oFdBlOt;K%X2 z8czM}aY`E9>>vx+IES66U7N;l zoBy2F5b8Euz2P)PZA3;5)4U&6e|#Z9-e>N#>heJ(V9OECb)k44c-;Wj}M zPlQO`7eK8{T$s3;ngy_h%Z=gyBdc2DgG2xAB#WPZwKJ6i5_^=G(X&~1RAP<_o))mK zbV7)d7s`SnRhwN^oIywWnt2@@dBnYW+BoQgrN3es*BYg-Av+Jj5jy2v1a1!p-xR%c z?H{(2r;$rNf=$ZN;?l?ucWBq$=$^YN7|*B*aoW?i#oL#&fS!_b<1K6^w(O+x=*KgA zV!9oh+L;p@TN2aqQ-7RmBOux>9I7WOA&m?;r4724!ahJzF9m! z2Gi_`QKTiv{r}oI)1bDhD2|6v6i~|8u?2(_ktJBHV5bzJgrwCDi$GMGP{BfxG89Va zu!l};BCP>B3NjR0M*5=IQU?2=VEMwlhtQn?Sn*^J0ik-MhfbKD|nnOH_&;_?= zD1zZeBZlUk?*Z(P{HXKAh%f+ za=sXoSlZSyPmWih#t?lV^`_)U-Iz$_<2Kbl?Rp1%A&(VZk0V_f15r`H+sopJ>BisL z+qjObI|uR?ArR;L{(|WBp#=30***ttl5Rhf?}?KS$zjEnN#i~{cwM#^L!gr zc{17sw7?etNnP^N$gb5dWsuc2+P@2&F9xuU^A60p2a%0G{M-kffP5k4vn6< zA%Vi1pvnjEi~?IMPGT1og^E_6LzH!~&0^{5gXnw~+Mm)MIVkhvt$q8Xk6XK72JDwJ zD0TK)G#{r|l5)H$rr(Ki&E2r~VXS~6^Tz4_1unx4UoRnho1=nC8tU-cOTe@nmSvOL`1EtGLJGq$Y;7l=oU_;Dr{(4Hrj zpqDg>UJgO`@!n-iJ}eYFa>~ozUbb>!)}5h}c~Z?#u#Z}re)1I(4Tg_gmxrd66IY=1 zrFEj_^A5Z%q!MH?Rwpv1{M(%2yu&!tyA}7_;GUEpFqGn}Atx1%mIL@vrMqH0WsoJy zkrS3%T1E8~q(|))i2am{J5hTU{Y{>So2xuQ^$93J;h(NPTg`W1j{{*VHb3^5T)PB6 z-C1Tv`gi%?Iu;13J1luX2!B@LC_iZ+{p{k-cr(e6?=2d$aWvt}0Y0QkQ$4@v&7|3q z*cKHDG&O7VIMKJp&V)>N;7OGmi(R@UP)6lJ6L+*wBO54G60K>Di5y-KVtiOX5x6E9 zev77cuG`svm=}mTGklACf{N@1scX|070uOGr0sAkP9viV0=ahz2A;wtbSR2&?s7nv z6nk_?%nDa3s_f0=jkEhs;8yDC^-!a$VY3z^+1t6Zn}&R`fE8$uAUQie!A)asA~@2(YhiE%h1?+ zczegg$!w8}>)yxhvd+C?BHbE-IJng98lgEJ2@-keZij&sFF(TgVMhfj+L;}lS{Ig< zw81q5MP1?n%SuRah6MVLnMSyS`wydz^pF2O{z)GbeN6r|4@{pB`h?IYgucQ2`^3Qi cQz0}uVSR9PMa-@V=*$HFW5KUC96gow8~z?U0ssI2 literal 21080 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 C>RNmN diff --git a/test/fixtures/app/doc/screenshots/macos/selenium_headless/index-hide_caret-disabled.png b/test/fixtures/app/doc/screenshots/macos/selenium_headless/index-hide_caret-disabled.png index 4a49093137537df2baff0eda11ca66442376faa6..200f0f65df7a8506291b175e116b3b009718680d 100644 GIT binary patch literal 21227 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 literal 21288 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 By1@Vd diff --git a/test/fixtures/app/doc/screenshots/macos/selenium_headless/index-hide_caret-enabled.png b/test/fixtures/app/doc/screenshots/macos/selenium_headless/index-hide_caret-enabled.png index ed2f48f4347b9d88488cbc1023597b7042d58550..0775227ad495ea06e952b6a71b8d910f8b70f418 100644 GIT binary patch literal 21024 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 literal 21080 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 OF+XE-y2|uI{Qm`B%(^cC diff --git a/test/fixtures/app/doc/screenshots/macos/selenium_headless/index_with_skip_area_as_array_of_css.png b/test/fixtures/app/doc/screenshots/macos/selenium_headless/index_with_skip_area_as_array_of_css.png index c82ddf1154762baaddeb9b7733465d45ed782725..cf6c0f64bb258f04f17e578ddf1511aff0b30081 100644 GIT binary patch literal 19830 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 body { width: 100%; + font-family: 'DejaVu Sans', 'DejaVu Serif', 'Liberation Sans', Ubuntu, Arial, sans-serif; } #box { diff --git a/test/fixtures/app/index-without-img.html b/test/fixtures/app/index-without-img.html index b8713ea1..0f24812e 100644 --- a/test/fixtures/app/index-without-img.html +++ b/test/fixtures/app/index-without-img.html @@ -1,17 +1,22 @@ - + +

    - +
    - +
    diff --git a/test/fixtures/app/index.html b/test/fixtures/app/index.html index d695e1a5..98f41784 100644 --- a/test/fixtures/app/index.html +++ b/test/fixtures/app/index.html @@ -1,18 +1,23 @@ - + +
    - +
    - +
    diff --git a/test/fixtures/files/rspec_spec.rb b/test/fixtures/files/rspec_spec.rb index 8b885f44..5315f812 100644 --- a/test/fixtures/files/rspec_spec.rb +++ b/test/fixtures/files/rspec_spec.rb @@ -21,10 +21,11 @@ Capybara::Screenshot.add_os_path = true Capybara::Screenshot.add_driver_path = true Capybara::Screenshot::Diff.driver = ENV.fetch("SCREENSHOT_DRIVER", "chunky_png").to_sym + Capybara::Screenshot::Diff.tolerance = 0.5 end it "should include CapybaraScreenshotDiff in rspec" do - expect(self.class.ancestors).to include Capybara::Screenshot::Diff::TestMethods + expect(self.class.ancestors).to include CapybaraScreenshotDiff::DSL end it "visits and compare screenshot on teardown" do diff --git a/test/integration/browser_screenshot_test.rb b/test/integration/browser_screenshot_test.rb index 29b2887c..9da4b4d1 100644 --- a/test/integration/browser_screenshot_test.rb +++ b/test/integration/browser_screenshot_test.rb @@ -6,17 +6,20 @@ module Capybara::Screenshot class BrowserScreenshotTest < SystemTestCase setup do Capybara::Screenshot.blur_active_element = true + @original_tolerance = Capybara::Screenshot::Diff.tolerance + Capybara::Screenshot::Diff.tolerance = (Capybara::Screenshot::Diff.driver == :vips) ? 0.035 : 0.13 end teardown do Capybara::Screenshot.blur_active_element = nil + Capybara::Screenshot::Diff.tolerance = @original_tolerance end def before_teardown if CapybaraScreenshotDiff.assertions_present? # NOTE: We rollback new screenshots in order to remain their original state # and only for debug mode we keep them - unless ENV["DEBUG"] && !ENV["DISABLE_ROLLBACK_COMPARISON_RUNTIME_FILES"] + unless persist_comparisons? CapybaraScreenshotDiff.assertions.each(&method(:rollback_comparison_runtime_files)) end # NOTE: We clear tracked different errors in order to not raise error @@ -31,12 +34,14 @@ def test_screenshot_without_changes end def test_screenshot_with_changes + if ENV["RECORD_SCREENSHOTS"] + skip "we record screenshots only in" + end visit "/" fill_in "First Field:", with: "Some changes in the field" - assert_matches_screenshot("index") - + assert_matches_screenshot("index", tolerance: nil) assert_screenshot_error_for("index") end @@ -46,10 +51,11 @@ def test_window_size_should_resize_browser_window_in_setup def test_screenshot_with_hide_caret_enabled Capybara::Screenshot.hide_caret = true - visit "/" + fill_in "First Field:", with: "Test Input With Hide Caret" - assert_matches_screenshot "index-hide_caret-enabled" + + assert_matches_screenshot("index-hide_caret-enabled") ensure Capybara::Screenshot.hide_caret = nil end @@ -68,9 +74,9 @@ def test_screenshot_with_hide_caret_disabled def test_screenshot_with_blur_active_element_enabled Capybara::Screenshot.blur_active_element = true - visit "/" fill_in "First Field:", with: "Test Input With Hide Caret" + assert_matches_screenshot "index-blur_active_element-enabled" ensure Capybara::Screenshot.blur_active_element = nil @@ -78,9 +84,9 @@ def test_screenshot_with_blur_active_element_enabled def test_screenshot_with_blur_active_element_disabled Capybara::Screenshot.blur_active_element = false - visit "/" fill_in "First Field:", with: "Test Input Without Hide Caret" + assert_matches_screenshot "index-blur_active_element-disabled" ensure Capybara::Screenshot.blur_active_element = nil @@ -93,8 +99,11 @@ def test_screenshot_selected_element end test "skip_area accepts passing multiple coordinates as one array" do - visit "/" + if ENV["RECORD_SCREENSHOTS"] + skip "we record screenshots only in" + end + visit "/" fill_in "First Field:", with: "Changed" fill_in "Second Field:", with: "Changed" @@ -114,6 +123,10 @@ def test_screenshot_selected_element test "crop accepts css selector" do visit "/index-without-img.html" + if ENV["RECORD_SCREENSHOTS"] + skip "we record screenshots only in" + end + assert_matches_screenshot("index-without-img-cropped", crop: "form") assert_no_screenshot_errors @@ -122,23 +135,41 @@ def test_screenshot_selected_element test "skip_area accepts css selector" do visit "/" + assert_matches_screenshot("index_with_skip_area_as_array_of_css", skip_area: ["form"]) + assert_matches_screenshot("index_with_skip_area_as_array_of_css_and_p", skip_area: [[90, 950, 180, 1000], "form"]) + end + + test "skip_area accepts css selector and ignores changes" do + if ENV["RECORD_SCREENSHOTS"] + skip "we record screenshots only in" + end + + visit "/" + fill_in "First Field:", with: "Changed" fill_in "Second Field:", with: "Changed" assert_matches_screenshot("index", skip_area: "form") - assert_matches_screenshot("index_with_skip_area_as_array_of_css", skip_area: ["form"]) - assert_matches_screenshot("index_with_skip_area_as_array_of_css_and_p", skip_area: [[90, 950, 180, 1000], "form"]) assert_no_screenshot_errors end - test "skip_area converts coordinates to be relative to cropped region" do + test "cropped screenshot" do visit "/index.html" + assert_matches_screenshot("index-cropped", skip_area: "#first-field", crop: "form") + end + + test "skip_area converts coordinates to be relative to cropped region" do + if ENV["RECORD_SCREENSHOTS"] + skip "we record screenshots only in" + end + + visit "/index.html" fill_in "First Field:", with: "New Change" fill_in "Second Field:", with: "New Change" - assert_matches_screenshot("index-cropped", skip_area: "#first-field", crop: "form") + assert_matches_screenshot("index-cropped", skip_area: "#first-field", crop: "form", tolerance: 0.001) assert_not_predicate( CapybaraScreenshotDiff.failed_assertions, @@ -148,18 +179,23 @@ def test_screenshot_selected_element end test "skip_area by css selectors" do - visit "/" + if ENV["RECORD_SCREENSHOTS"] + skip "we record screenshots only in" + end + visit "/" fill_in "First Field:", with: "Test Input With Hide Caret" assert_matches_screenshot("index", skip_area: "form") - assert_no_screenshot_errors end test "crop and skip_area by css selectors" do - visit "/index-without-img.html" + if ENV["RECORD_SCREENSHOTS"] + skip "we record screenshots only in" + end + visit "/index-without-img.html" fill_in "First Field:", with: "Test Input With Hide Caret" assert_matches_screenshot("index-without-img-cropped", skip_area: "input", crop: "form") @@ -193,7 +229,7 @@ def test_screenshot_selected_element # because quick_equal could produce incorrect result, # because of the same size screenshots 10.times do - assert_matches_screenshot "index-with-anim", stability_time_limit: 0.33, wait: 0.5 + assert_matches_screenshot "index-with-anim", stability_time_limit: 0.33, wait: 0.5, tolerance: nil end end ensure @@ -238,7 +274,7 @@ def assert_no_screenshot_errors assert( screenshots.empty?, - "expecting not to have any difference. But got next:\n#{error_messages.join(";\n")}" + "expecting not to have any difference. But got next:\n\n#{error_messages.join(";\n")}" ) end end diff --git a/test/integration/record_screenshot_test.rb b/test/integration/record_screenshot_test.rb index 651d1b5e..793ff51d 100644 --- a/test/integration/record_screenshot_test.rb +++ b/test/integration/record_screenshot_test.rb @@ -4,8 +4,16 @@ class RecordScreenshotTest < SystemTestCase setup do - screenshot_section class_name.underscore.sub(/(_feature|_system)?_test$/, "") unless @screenshot_section - screenshot_group name[5..] unless @screenshot_group + screenshot_section class_name.underscore.sub(/(_feature|_system)?_test$/, "") unless CapybaraScreenshotDiff.screenshot_namer.section + screenshot_group name[5..] unless CapybaraScreenshotDiff.screenshot_namer.group + + @original_tolerance = Capybara::Screenshot::Diff.tolerance + Capybara::Screenshot::Diff.tolerance = (Capybara::Screenshot::Diff.driver == :vips) ? 0.035 : 0.7 + end + + teardown do + Capybara::Screenshot.blur_active_element = nil + Capybara::Screenshot::Diff.tolerance = @original_tolerance end def test_record_index diff --git a/test/integration/test_methods_system_test.rb b/test/integration/test_methods_system_test.rb index 5aef8602..15b2b646 100644 --- a/test/integration/test_methods_system_test.rb +++ b/test/integration/test_methods_system_test.rb @@ -15,8 +15,8 @@ module Capybara module Screenshot module Diff class TestMethodsSystemTest < ActionDispatch::SystemTestCase - include TestMethods - include TestMethodsStub + include CapybaraScreenshotDiff::DSL + include CapybaraScreenshotDiff::DSLStub driven_by :selenium, using: :headless_chrome diff --git a/test/support/capybara_screenshot_diff/dsl_stub.rb b/test/support/capybara_screenshot_diff/dsl_stub.rb new file mode 100644 index 00000000..b8502d20 --- /dev/null +++ b/test/support/capybara_screenshot_diff/dsl_stub.rb @@ -0,0 +1,63 @@ +module CapybaraScreenshotDiff + module DSLStub + extend ActiveSupport::Concern + + included do + setup do + @manager = CapybaraScreenshotDiff::SnapManager.new(Capybara::Screenshot.root / "doc/screenshots") + Capybara::Screenshot::Diff.screenshoter = Capybara::Screenshot::ScreenshoterStub + end + + teardown do + @manager.cleanup! + Capybara::Screenshot::Diff.screenshoter = Capybara::Screenshot::Screenshoter + CapybaraScreenshotDiff.reset + end + end + + # Prepare comparison images and build ImageCompare for them + def make_comparison(fixture_base_image, fixture_new_image = nil, destination: "screenshot", **options) + fixture_new_image ||= fixture_base_image + snap = create_snapshot_for(fixture_base_image, fixture_new_image, name: destination) + Capybara::Screenshot::Diff::ImageCompare.new(snap.path, snap.base_path, **options) + end + + # Prepare images for comparison in a test + # + # @param snap [CapybaraScreenshotDiff::Snap] the snapshot to prepare + # @param expected [String] the base name of the original base image + # @param actual [String] the base name of the original new image + def set_test_images(snap, expected, actual) + @manager.provision_snap_with(snap, fixture_image_path_from(actual, snap.format), version: :actual) + @manager.provision_snap_with(snap, fixture_image_path_from(expected, snap.format), version: :base) + end + + ImageCompareStub = Struct.new( + :driver, :driver_options, :shift_distance_limit, :quick_equal?, :different?, :reporter, keyword_init: true + ) + + def build_image_compare_stub(equal: true) + ImageCompareStub.new( + driver: ::Minitest::Mock.new, + reporter: ::Minitest::Mock.new, + driver_options: Capybara::Screenshot::Diff.default_options, + shift_distance_limit: nil, + quick_equal?: equal, + different?: !equal + ) + end + + def take_stable_screenshot_with(snap, stability_time_limit: 0.01, wait: 10) + screenshoter = Capybara::Screenshot::Diff::StableScreenshoter.new({stability_time_limit: stability_time_limit, wait: wait}) + screenshoter.take_stable_screenshot(snap) + end + + def create_snapshot_for(expected, actual = nil, name: nil) + actual ||= expected + name ||= "#{actual}_#{Time.now.nsec}" + @manager.snapshot(name).tap do |snap| + set_test_images(snap, expected, actual) + end + end + end +end diff --git a/test/support/non_minitest_assertions.rb b/test/support/non_minitest_assertions.rb index 209a31fa..ca0fbe84 100644 --- a/test/support/non_minitest_assertions.rb +++ b/test/support/non_minitest_assertions.rb @@ -6,7 +6,7 @@ module CapybaraScreenshotDiff module NonMinitest module Assertions def self.included(klass) - klass.include Capybara::Screenshot::Diff::TestMethods + klass.include CapybaraScreenshotDiff::DSL klass.setup do Capybara::Screenshot::BrowserHelpers.resize_window_if_needed diff --git a/test/support/screenshoter_stub.rb b/test/support/screenshoter_stub.rb index a1dc1b36..179ba00e 100644 --- a/test/support/screenshoter_stub.rb +++ b/test/support/screenshoter_stub.rb @@ -11,6 +11,7 @@ def save_screenshot(path) source_image = path.basename.to_path source_image.slice!(/\.attempt_\d+/) source_image.slice!(/^\d\d_/) + source_image.slice!(/_\d+(?=\.)/) FileUtils.cp(File.expand_path(source_image, TEST_IMAGES_DIR), path) diff --git a/test/support/setup_rails_app.rb b/test/support/setup_rails_app.rb index 21ae0829..bfee43da 100644 --- a/test/support/setup_rails_app.rb +++ b/test/support/setup_rails_app.rb @@ -3,6 +3,9 @@ require "rack" require "rackup" if Rack::RELEASE >= "3" +require "logger" # for Rails 7.0 +require "action_controller" + # NOTE: Simulate Rails Environment module Rails def self.root diff --git a/test/support/stub_test_methods.rb b/test/support/stub_test_methods.rb index 98a3479b..ad1575bf 100644 --- a/test/support/stub_test_methods.rb +++ b/test/support/stub_test_methods.rb @@ -1,60 +1,4 @@ # frozen_string_literal: true require_relative "screenshoter_stub" - -module Capybara - module Screenshot - module Diff - module TestMethodsStub - extend ActiveSupport::Concern - - included do - setup do - @manager = CapybaraScreenshotDiff::SnapManager.new(Capybara::Screenshot.root / "doc/screenshots") - Diff.screenshoter = ScreenshoterStub - end - - teardown do - @manager.cleanup! - Diff.screenshoter = Screenshoter - CapybaraScreenshotDiff.reset - end - end - - # Prepare comparison images and build ImageCompare for them - def make_comparison(fixture_base_image, fixture_new_image, destination: "screenshot", **options) - snap = @manager.snapshot(destination) - - set_test_images(snap, fixture_base_image, fixture_new_image) - - ImageCompare.new(snap.path, snap.base_path, **options) - end - - def set_test_images(snap, original_base_image, original_new_image, ext: "png") - @manager.provision_snap_with(snap, fixture_image_path_from(original_new_image, snap.format), version: :actual) - @manager.provision_snap_with(snap, fixture_image_path_from(original_base_image, snap.format), version: :base) - end - - ImageCompareStub = Struct.new( - :driver, :driver_options, :shift_distance_limit, :quick_equal?, :different?, :reporter, keyword_init: true - ) - - def build_image_compare_stub(equal: true) - ImageCompareStub.new( - driver: ::Minitest::Mock.new, - reporter: ::Minitest::Mock.new, - driver_options: Capybara::Screenshot::Diff.default_options, - shift_distance_limit: nil, - quick_equal?: equal, - different?: !equal - ) - end - - def take_stable_screenshot_with(snap, stability_time_limit: 0.01, wait: 10) - screenshoter = StableScreenshoter.new({stability_time_limit: stability_time_limit, wait: wait}) - screenshoter.take_stable_screenshot(snap) - end - end - end - end -end +require_relative "capybara_screenshot_diff/dsl_stub" diff --git a/test/test_helper.rb b/test/test_helper.rb index f463fd1b..1b893d0a 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -31,7 +31,11 @@ class ActiveSupport::TestCase self.file_fixture_path = Pathname.new(File.expand_path("fixtures", __dir__)) teardown do - FileUtils.rm_rf Dir[Capybara::Screenshot.root / "*"] + CapybaraScreenshotDiff::SnapManager.cleanup! unless persist_comparisons? + end + + def persist_comparisons? + ENV["DEBUG"] || ENV["DISABLE_ROLLBACK_COMPARISON_RUNTIME_FILES"] || ENV["RECORD_SCREENSHOTS"] end def optional_test From 6a150089c108d60587dfed26f0c2526b5d4535b8 Mon Sep 17 00:00:00 2001 From: Paul Keen <125715+pftg@users.noreply.github.com> Date: Sat, 24 May 2025 17:09:57 +0200 Subject: [PATCH 306/312] test: makes tests consistent (#142) --- Rakefile | 12 ++ scripts/benchmark/find_region_benchmark.rb | 2 +- .../screenshot/diff/area_calculator_test.rb | 24 --- .../screenshot/diff/comparison_loader_test.rb | 37 ---- .../screenshot/diff/difference_finder_test.rb | 135 -------------- .../screenshot/diff/difference_test.rb | 22 --- .../diff/drivers/chunky_png_driver_test.rb | 164 ------------------ .../diff/image_compare_refactor_test.rb | 46 ----- .../diff/image_preprocessor_test.rb | 111 ------------ test/fixtures/app/doc/screenshots/.keep | 0 .../{files => }/comparisons/a-and-b.diff.png | Bin .../comparisons/a-and-b.heatmap.diff.png | Bin .../{files => }/comparisons/a-and-c.diff.png | Bin .../{files => }/comparisons/b-and-a.diff.png | Bin .../{files => }/comparisons/c-and-a.diff.png | Bin test/{ => fixtures}/images/a.png | Bin test/{ => fixtures}/images/a.webp | Bin test/{ => fixtures}/images/a_cropped.png | Bin test/{ => fixtures}/images/b.png | Bin test/{ => fixtures}/images/c.png | Bin test/{ => fixtures}/images/d.png | Bin test/{ => fixtures}/images/portrait.png | Bin test/{ => fixtures}/images/portrait_b.png | Bin test/fixtures/{files => }/rspec_spec.rb | 0 .../rspec_test.rb | 4 +- .../capybara_screenshot_diff/dsl_stub.rb | 22 +-- test/support/screenshoter_stub.rb | 1 + .../diff => support}/test_doubles.rb | 0 test/support/test_helpers.rb | 58 +++++++ test/system_test_case.rb | 1 + test/test_helper.rb | 19 +- test/unit/area_calculator_test.rb | 76 ++++++++ test/unit/comparison_loader_test.rb | 60 +++++++ .../screenshot => unit}/diff_test.rb | 40 +++-- test/unit/difference_finder_test.rb | 133 ++++++++++++++ test/unit/difference_test.rb | 20 +++ test/unit/drivers/chunky_png_driver_test.rb | 155 +++++++++++++++++ .../diff => unit}/drivers/utils_test.rb | 12 +- .../diff => unit}/drivers/vips_driver_test.rb | 46 ++--- .../dsl_test.rb | 57 +++--- .../diff => unit}/image_compare_test.rb | 79 +++++++-- test/unit/image_preprocessor_test.rb | 92 ++++++++++ .../screenshot/diff => unit}/region_test.rb | 14 +- .../diff => unit}/reporters/default_test.rb | 0 .../screenshot_namer_test.rb | 8 +- .../screenshot => unit}/screenshot_test.rb | 10 +- .../diff => unit}/screenshoter_test.rb | 2 +- .../snap_manager_test.rb | 0 .../diff => unit}/stable_screenshoter_test.rb | 12 +- .../screenshot/diff => unit}/vcs_test.rb | 6 +- 50 files changed, 813 insertions(+), 667 deletions(-) delete mode 100644 test/capybara/screenshot/diff/area_calculator_test.rb delete mode 100644 test/capybara/screenshot/diff/comparison_loader_test.rb delete mode 100644 test/capybara/screenshot/diff/difference_finder_test.rb delete mode 100644 test/capybara/screenshot/diff/difference_test.rb delete mode 100644 test/capybara/screenshot/diff/drivers/chunky_png_driver_test.rb delete mode 100644 test/capybara/screenshot/diff/image_compare_refactor_test.rb delete mode 100644 test/capybara/screenshot/diff/image_preprocessor_test.rb create mode 100644 test/fixtures/app/doc/screenshots/.keep rename test/fixtures/{files => }/comparisons/a-and-b.diff.png (100%) rename test/fixtures/{files => }/comparisons/a-and-b.heatmap.diff.png (100%) rename test/fixtures/{files => }/comparisons/a-and-c.diff.png (100%) rename test/fixtures/{files => }/comparisons/b-and-a.diff.png (100%) rename test/fixtures/{files => }/comparisons/c-and-a.diff.png (100%) rename test/{ => fixtures}/images/a.png (100%) rename test/{ => fixtures}/images/a.webp (100%) rename test/{ => fixtures}/images/a_cropped.png (100%) rename test/{ => fixtures}/images/b.png (100%) rename test/{ => fixtures}/images/c.png (100%) rename test/{ => fixtures}/images/d.png (100%) rename test/{ => fixtures}/images/portrait.png (100%) rename test/{ => fixtures}/images/portrait_b.png (100%) rename test/fixtures/{files => }/rspec_spec.rb (100%) rename test/{capybara_screenshot_diff => integration}/rspec_test.rb (77%) rename test/{capybara/screenshot/diff => support}/test_doubles.rb (100%) create mode 100644 test/support/test_helpers.rb create mode 100644 test/unit/area_calculator_test.rb create mode 100644 test/unit/comparison_loader_test.rb rename test/{capybara/screenshot => unit}/diff_test.rb (85%) create mode 100644 test/unit/difference_finder_test.rb create mode 100644 test/unit/difference_test.rb create mode 100644 test/unit/drivers/chunky_png_driver_test.rb rename test/{capybara/screenshot/diff => unit}/drivers/utils_test.rb (73%) rename test/{capybara/screenshot/diff => unit}/drivers/vips_driver_test.rb (76%) rename test/{capybara_screenshot_diff => unit}/dsl_test.rb (67%) rename test/{capybara/screenshot/diff => unit}/image_compare_test.rb (61%) create mode 100644 test/unit/image_preprocessor_test.rb rename test/{capybara/screenshot/diff => unit}/region_test.rb (73%) rename test/{capybara/screenshot/diff => unit}/reporters/default_test.rb (100%) rename test/{capybara_screenshot_diff => unit}/screenshot_namer_test.rb (95%) rename test/{capybara/screenshot => unit}/screenshot_test.rb (63%) rename test/{capybara/screenshot/diff => unit}/screenshoter_test.rb (96%) rename test/{capybara_screenshot_diff => unit}/snap_manager_test.rb (100%) rename test/{capybara/screenshot/diff => unit}/stable_screenshoter_test.rb (88%) rename test/{capybara/screenshot/diff => unit}/vcs_test.rb (79%) diff --git a/Rakefile b/Rakefile index 3d345bd2..77b1b932 100644 --- a/Rakefile +++ b/Rakefile @@ -11,12 +11,24 @@ Rake::TestTask.new(:test) do |t| t.test_files = FileList["test/**/*_test.rb"] end +Rake::TestTask.new("test:unit") do |t| + t.libs << "test" + t.libs << "lib" + t.test_files = FileList["test/unit/**/*_test.rb"] +end + Rake::TestTask.new("test:integration") do |t| t.libs << "test" t.libs << "lib" t.test_files = FileList["test/integration/**/*_test.rb"] end +desc "Run all tests with coverage" +task :coverage do + ENV["COVERAGE"] = "true" + Rake::Task["test"].invoke +end + task "clobber" do puts "Cleanup tmp/*.png" FileUtils.rm_rf(Dir["./tmp/*"]) diff --git a/scripts/benchmark/find_region_benchmark.rb b/scripts/benchmark/find_region_benchmark.rb index 1f6007de..696d3cdb 100644 --- a/scripts/benchmark/find_region_benchmark.rb +++ b/scripts/benchmark/find_region_benchmark.rb @@ -8,7 +8,7 @@ module Capybara::Screenshot::Diff class Drivers::FindRegionBenchmark - TEST_IMAGES_DIR = Pathname.new(File.expand_path("../../test/images", __dir__)) + TEST_IMAGES_DIR = Pathname.new(File.expand_path("../../test/fixtures/images", __dir__)) APP_SCREENSHOTS_DIR = Pathname.new( File.expand_path("../../test/fixtures/app/doc/screenshots/chrome/macos/", __dir__) ) diff --git a/test/capybara/screenshot/diff/area_calculator_test.rb b/test/capybara/screenshot/diff/area_calculator_test.rb deleted file mode 100644 index 4257ca17..00000000 --- a/test/capybara/screenshot/diff/area_calculator_test.rb +++ /dev/null @@ -1,24 +0,0 @@ -# frozen_string_literal: true - -require "test_helper" -require "capybara/screenshot/diff/area_calculator" - -module Capybara::Screenshot::Diff - class AreaCalculatorTest < ActiveSupport::TestCase - test "skips non intersected skip areas and crop area" do - skip_area = [[0, 0, 100, 100], [200, 200, 100, 100]] - crop_area = [100, 100, 100, 100] - calculator = AreaCalculator.new(crop_area, skip_area) - - assert_equal [], calculator.calculate_skip_area - end - - test "skip area accepts region" do - skip_area = [Region.new(0, 0, 100, 100)] - crop_area = Region.new(0, 0, 200, 200) - calculator = AreaCalculator.new(crop_area, skip_area) - - assert_equal [Region.new(0, 0, 100, 100)], calculator.calculate_skip_area - end - end -end diff --git a/test/capybara/screenshot/diff/comparison_loader_test.rb b/test/capybara/screenshot/diff/comparison_loader_test.rb deleted file mode 100644 index b6a872c1..00000000 --- a/test/capybara/screenshot/diff/comparison_loader_test.rb +++ /dev/null @@ -1,37 +0,0 @@ -# frozen_string_literal: true - -require "test_helper" -require_relative "test_doubles" - -module Capybara - module Screenshot - module Diff - class ComparisonLoaderTest < ActionDispatch::IntegrationTest - include CapybaraScreenshotDiff::DSLStub - include TestDoubles - - test "loads images and applies preprocessing" do - # Setup - base_path = Pathname.new("base/path.png") - new_path = Pathname.new("new/path.png") - options = {tolerance: 0.01} - - raw_images = [:raw_base_image, :raw_new_image] - - driver = TestDriver.new(false, raw_images) - - # Action - loader = ComparisonLoader.new(driver) - comparison = loader.call(base_path, new_path, options) - - # Verify the comparison object - assert_kind_of Comparison, comparison - assert_equal raw_images[1], comparison.new_image - assert_equal raw_images[0], comparison.base_image - assert_equal options, comparison.options - assert_equal driver, comparison.driver - end - end - end - end -end diff --git a/test/capybara/screenshot/diff/difference_finder_test.rb b/test/capybara/screenshot/diff/difference_finder_test.rb deleted file mode 100644 index 204c8ed5..00000000 --- a/test/capybara/screenshot/diff/difference_finder_test.rb +++ /dev/null @@ -1,135 +0,0 @@ -# frozen_string_literal: true - -require "test_helper" -require_relative "test_doubles" - -module Capybara - module Screenshot - module Diff - class DifferenceFinderTest < ActionDispatch::IntegrationTest - include CapybaraScreenshotDiff::DSLStub - include TestDoubles - - def setup - @base_path = TestPath.new(12345) - @new_path = TestPath.new(54321) # Different size - @driver = TestDriver.new(false) - - # Create a test comparison with paths directly - @comparison = TestComparison.new - @comparison.base_image_path = @base_path - @comparison.new_image_path = @new_path - end - - def create_difference_factory - lambda do |comparison, failed_by = nil| - @factory_calls ||= [] - @factory_calls << {comparison: comparison, failed_by: failed_by} - - if failed_by - :dimension_difference_result - else - :no_difference_result - end - end - end - - test "when dimensions are the same and pixels are the same then returns true in quick mode" do - # Setup - @driver.same_dimension_result = true - @driver.same_pixels_result = true - - # Action - finder = DifferenceFinder.new(@driver, {}) - result, difference = finder.call(@comparison, quick_mode: true) - - # Verify - assert result - refute_nil difference - assert_equal 1, @driver.dimension_check_calls.size - assert_equal 1, @driver.pixel_check_calls.size - end - - test "when dimensions differ then returns a difference with failed dimensions" do - # Setup - @driver.same_dimension_result = false - - # Action - finder = DifferenceFinder.new(@driver, {}) - result = finder.call(@comparison, quick_mode: false) - - # Verify - assert_instance_of Difference, result - assert result.failed? - assert_equal 1, @driver.dimension_check_calls.size - assert_equal 0, @driver.pixel_check_calls.size - end - - test "when pixels are the same then returns no difference" do - # Setup - @driver.same_dimension_result = true - @driver.same_pixels_result = true - - # Action - finder = DifferenceFinder.new(@driver, {}) - result = finder.call(@comparison, quick_mode: false) - - # Verify - assert_instance_of Difference, result - assert result.equal? - assert_equal 1, @driver.dimension_check_calls.size - assert_equal 1, @driver.pixel_check_calls.size - end - - test "when pixels differ then checks difference region" do - # Setup - @driver.same_dimension_result = true - @driver.same_pixels_result = false - test_difference = TestDifference.new(true) # It is different - @driver.difference_region_result = test_difference - - # Action - finder = DifferenceFinder.new(@driver, {}) - result = finder.call(@comparison, quick_mode: false) - - # Verify - assert_equal test_difference, result - assert_equal 1, @driver.difference_region_calls.size - end - - test "when in quick mode returns array with comparison result and difference" do - # Setup - @driver.same_dimension_result = true - @driver.same_pixels_result = false - test_difference = TestDifference.new(false) # Not different (within tolerance) - @driver.difference_region_result = test_difference - - # Action - finder = DifferenceFinder.new(@driver, {tolerance: 0.01}) - result, difference = finder.call(@comparison, quick_mode: true) - - # Verify - assert result # Not different == true equality - assert_equal test_difference, difference - end - - test "when comparison has no tolerable options in quick mode, returns early" do - # Setup - @driver.same_dimension_result = true - @driver.same_pixels_result = false - - # Action - finder = DifferenceFinder.new(@driver, {}) - result, difference = finder.call(@comparison, quick_mode: true) - - # Verify - refute result # Different == false equality - assert_nil difference # Quick mode with no tolerance returns nil difference - assert_equal 1, @driver.dimension_check_calls.size - assert_equal 1, @driver.pixel_check_calls.size - assert_equal 0, @driver.difference_region_calls.size # Should not process difference region - end - end - end - end -end diff --git a/test/capybara/screenshot/diff/difference_test.rb b/test/capybara/screenshot/diff/difference_test.rb deleted file mode 100644 index 381a2a97..00000000 --- a/test/capybara/screenshot/diff/difference_test.rb +++ /dev/null @@ -1,22 +0,0 @@ -# frozen_string_literal: true - -require "test_helper" -require "capybara/screenshot/diff/difference" - -module Capybara::Screenshot::Diff - class DifferenceTest < ActiveSupport::TestCase - class WithFailedByTest < DifferenceTest - setup do - @difference = Difference.new(nil, {}, nil, {different_dimensions: []}) - end - - test "it is different" do - assert_predicate @difference, :different? - end - - test "it is failed" do - assert_predicate @difference, :failed? - end - end - end -end diff --git a/test/capybara/screenshot/diff/drivers/chunky_png_driver_test.rb b/test/capybara/screenshot/diff/drivers/chunky_png_driver_test.rb deleted file mode 100644 index e2f65136..00000000 --- a/test/capybara/screenshot/diff/drivers/chunky_png_driver_test.rb +++ /dev/null @@ -1,164 +0,0 @@ -# frozen_string_literal: true - -require "test_helper" -require "capybara/screenshot/diff/image_compare" -require "capybara/screenshot/diff/drivers/chunky_png_driver" - -module Capybara - module Screenshot - module Diff - module Drivers - class ChunkyPNGDriverTest < ActionDispatch::IntegrationTest - include CapybaraScreenshotDiff::DSLStub - - teardown do - FileUtils.rm Dir["#{Rails.root}/screenshot*.png"] - end - - test "it can be instantiated" do - assert ChunkyPNGDriver.new - end - - test "#different? supports tolerance option" do - comp = make_comparison(:a, :b, tolerance: 2) - assert_not comp.different? - assert comp.quick_equal? - end - - test "#different? for equal is negative" do - comp = make_comparison(:a, :a) - assert_not comp.different? - end - - test "#quick_equal? for equal is positive" do - comp = make_comparison(:a, :a) - assert comp.quick_equal? - end - - test "compare then dimensions and cleanup" do - comp = make_comparison(:a, :c) - assert comp.different? - assert_includes comp.error_message, "[11,3,48,20]" - assert File.exist?(comp.base_image_path) - assert File.exist?(comp.reporter.annotated_base_image_path) - assert File.exist?(comp.reporter.annotated_image_path) - - assert_same_images("a-and-c.diff.png", comp.reporter.annotated_base_image_path) - assert_same_images("c-and-a.diff.png", comp.reporter.annotated_image_path) - - comp = make_comparison(:c, :c) - assert_not comp.different? - - assert comp.reporter.annotated_base_image_path - assert comp.reporter.annotated_image_path - - assert_not File.exist?(comp.reporter.annotated_base_image_path) - assert_not File.exist?(comp.reporter.annotated_image_path) - end - - test "compare of 1 pixel wide diff" do - comp = make_comparison(:a, :d) - assert comp.different? - assert_includes comp.error_message, "[9,6,9,13]" - end - - test "compare with color_distance_limit above difference" do - comp = make_comparison(:a, :b, color_distance_limit: 223) - assert_not comp.different? - end - - test "compare with color_distance_limit below difference" do - comp = make_comparison(:a, :b, color_distance_limit: 222) - assert comp.different? - assert_includes comp.error_message, "222.7" - end - - test "compare with shift_distance_limit above difference" do - comp = make_comparison(:a, :b, shift_distance_limit: 11) - assert comp.quick_equal? - assert_not comp.different? - end - - test "compare with shift_distance_limit below difference" do - comp = make_comparison(:a, :b, shift_distance_limit: 9) - assert comp.different? - assert_includes comp.error_message, "11" - end - - test "quick_equal with color distance limit above max color distance" do - comp = make_comparison(:a, :b, color_distance_limit: 224) - assert_not comp.different? - end - - test "quick_equal with color distance limit" do - comp = make_comparison(:a, :b, color_distance_limit: 222) - assert_not comp.quick_equal? - assert comp.different? - assert_includes comp.error_message, "222.7" - end - - test "max_color_distance a vs b" do - comp = make_comparison(:a, :b) - assert_not comp.quick_equal? - comp.different? - assert_includes comp.error_message, "85" - end - - test "max_color_distance a vs c" do - comp = make_comparison(:a, :c) - comp.different? - assert_includes comp.error_message, "187.4" - end - - test "max_color_distance a vs d" do - comp = make_comparison(:a, :d) - comp.different? - assert_includes comp.error_message, "269.1" - end - - test "max_color_distance 1.0" do - a_img = ChunkyPNG::Image.from_blob(File.binread("#{TEST_IMAGES_DIR}/a.png")) - a_img[9, 6] += 0x010000 - - comp = make_comparison(:a, :b) - other_img_filename = comp.image_path - a_img.save(other_img_filename) - - comp.different? - - assert_includes comp.error_message, "1" - end - - test "size a vs a_cropped" do - comp = make_comparison(:a, :a_cropped) - assert comp.different? - assert_includes comp.error_message, "Dimensions have changed: " - assert_includes comp.error_message, "80x60" - end - - # Test Interface Contracts - - test "from_file loads image from path" do - driver = ChunkyPNGDriver.new - assert driver.from_file("#{TEST_IMAGES_DIR}/a.png") - end - - private - - def make_comparison(old_img, new_img, options = {}) - snap = create_snapshot_for(old_img, new_img) - ImageCompare.new(snap.path, snap.base_path, **options) - end - - def sample_region - [0, 0, 0, 0] - end - - def load_test_image(driver) - driver.from_file("#{TEST_IMAGES_DIR}/a.png") - end - end - end - end - end -end diff --git a/test/capybara/screenshot/diff/image_compare_refactor_test.rb b/test/capybara/screenshot/diff/image_compare_refactor_test.rb deleted file mode 100644 index 8f2cc1e0..00000000 --- a/test/capybara/screenshot/diff/image_compare_refactor_test.rb +++ /dev/null @@ -1,46 +0,0 @@ -# frozen_string_literal: true - -require "test_helper" -require "minitest/stub_const" -require_relative "test_doubles" - -module Capybara - module Screenshot - module Diff - class ImageCompareRefactorTest < ActionDispatch::IntegrationTest - include CapybaraScreenshotDiff::DSLStub - include TestDoubles - - test "when comparing identical images then quick_equal? returns true and different? returns false" do - # Setup - comparison = make_comparison(:a, :a) - - # Action & Verify - assert_predicate comparison, :quick_equal? - assert_not_predicate comparison, :different? - end - - test "when comparing different images then quick_equal? returns false and different? returns true" do - # Setup - comparison = make_comparison(:a, :b) - - # Action & Verify - assert_not_predicate comparison, :quick_equal? - assert_predicate comparison, :different? - end - - test "when images have different dimensions then dimensions_changed? returns true" do - # Setup - comparison = make_comparison(:portrait, :a) - - # Action - comparison.processed - - # Verify - assert_predicate comparison, :dimensions_changed? - assert_kind_of Reporters::Default, comparison.reporter - end - end - end - end -end diff --git a/test/capybara/screenshot/diff/image_preprocessor_test.rb b/test/capybara/screenshot/diff/image_preprocessor_test.rb deleted file mode 100644 index 4907c935..00000000 --- a/test/capybara/screenshot/diff/image_preprocessor_test.rb +++ /dev/null @@ -1,111 +0,0 @@ -# frozen_string_literal: true - -require "test_helper" -require_relative "test_doubles" - -module Capybara - module Screenshot - module Diff - class ImagePreprocessorTest < ActionDispatch::IntegrationTest - include CapybaraScreenshotDiff::DSLStub - include TestDoubles - - def setup - @test_images = [:base_image, :new_image] - end - - test "when no preprocessing options are provided then returns original images unchanged" do - # Setup - driver = TestDriver.new(false) - options = {} - - # Action - preprocessor = ImagePreprocessor.new(driver, options) - result = preprocessor.call(@test_images) - - # Verify - assert_equal @test_images, result - assert_empty driver.add_black_box_calls - assert_empty driver.filter_calls - end - - test "when skip_area is specified then applies black box to that region" do - # Setup - driver = TestDriver.new(false) - skip_area = [{x: 10, y: 20, width: 30, height: 40}] - options = {skip_area: skip_area} - - # Action - preprocessor = ImagePreprocessor.new(driver, options) - result = preprocessor.call(@test_images) - - # Verify - assert_equal %w[processed_base_image processed_new_image], result - - assert_equal 2, driver.add_black_box_calls.size - - first_call = driver.add_black_box_calls[0] - second_call = driver.add_black_box_calls[1] - - assert_equal skip_area.first, first_call[:region] - assert_equal skip_area.first, second_call[:region] - assert_equal :base_image, first_call[:image] - assert_equal :new_image, second_call[:image] - end - - test "when median filter is specified with VipsDriver then applies filter to images" do - skip "VIPS not present. Skipping VIPS driver tests." unless defined?(Vips) - - # Setup - driver = TestDriver.new(true) # true = is a VipsDriver - window_size = 3 - options = {median_filter_window_size: window_size} - - # Action - preprocessor = ImagePreprocessor.new(driver, options) - result = preprocessor.call(@test_images) - - # Verify - assert_equal ["filtered_base_image", "filtered_new_image"], result - - assert_equal 2, driver.filter_calls.size - - first_call = driver.filter_calls[0] - second_call = driver.filter_calls[1] - - assert_equal window_size, first_call[:size] - assert_equal window_size, second_call[:size] - assert_equal :base_image, first_call[:image] - assert_equal :new_image, second_call[:image] - end - - test "when median filter is specified with non-VipsDriver then issues warning and returns original images" do - # Setup - driver = TestDriver.new(false) # false = is not a VipsDriver - window_size = 3 - options = { - median_filter_window_size: window_size, - image_path: "some/path.png" - } - - # Set up a warning expectation - expected_warning = /Median filter has been skipped for.*because it is not supported/ - - # Action with warning capture - preprocessor = ImagePreprocessor.new(driver, options) - - warning_output = capture_io do - result = preprocessor.call(@test_images) - - # Verify images unchanged - assert_equal @test_images, result - assert_empty driver.filter_calls - end - - # Verify warning - assert_match expected_warning, warning_output.join - end - end - end - end -end diff --git a/test/fixtures/app/doc/screenshots/.keep b/test/fixtures/app/doc/screenshots/.keep new file mode 100644 index 00000000..e69de29b diff --git a/test/fixtures/files/comparisons/a-and-b.diff.png b/test/fixtures/comparisons/a-and-b.diff.png similarity index 100% rename from test/fixtures/files/comparisons/a-and-b.diff.png rename to test/fixtures/comparisons/a-and-b.diff.png diff --git a/test/fixtures/files/comparisons/a-and-b.heatmap.diff.png b/test/fixtures/comparisons/a-and-b.heatmap.diff.png similarity index 100% rename from test/fixtures/files/comparisons/a-and-b.heatmap.diff.png rename to test/fixtures/comparisons/a-and-b.heatmap.diff.png diff --git a/test/fixtures/files/comparisons/a-and-c.diff.png b/test/fixtures/comparisons/a-and-c.diff.png similarity index 100% rename from test/fixtures/files/comparisons/a-and-c.diff.png rename to test/fixtures/comparisons/a-and-c.diff.png diff --git a/test/fixtures/files/comparisons/b-and-a.diff.png b/test/fixtures/comparisons/b-and-a.diff.png similarity index 100% rename from test/fixtures/files/comparisons/b-and-a.diff.png rename to test/fixtures/comparisons/b-and-a.diff.png diff --git a/test/fixtures/files/comparisons/c-and-a.diff.png b/test/fixtures/comparisons/c-and-a.diff.png similarity index 100% rename from test/fixtures/files/comparisons/c-and-a.diff.png rename to test/fixtures/comparisons/c-and-a.diff.png diff --git a/test/images/a.png b/test/fixtures/images/a.png similarity index 100% rename from test/images/a.png rename to test/fixtures/images/a.png diff --git a/test/images/a.webp b/test/fixtures/images/a.webp similarity index 100% rename from test/images/a.webp rename to test/fixtures/images/a.webp diff --git a/test/images/a_cropped.png b/test/fixtures/images/a_cropped.png similarity index 100% rename from test/images/a_cropped.png rename to test/fixtures/images/a_cropped.png diff --git a/test/images/b.png b/test/fixtures/images/b.png similarity index 100% rename from test/images/b.png rename to test/fixtures/images/b.png diff --git a/test/images/c.png b/test/fixtures/images/c.png similarity index 100% rename from test/images/c.png rename to test/fixtures/images/c.png diff --git a/test/images/d.png b/test/fixtures/images/d.png similarity index 100% rename from test/images/d.png rename to test/fixtures/images/d.png diff --git a/test/images/portrait.png b/test/fixtures/images/portrait.png similarity index 100% rename from test/images/portrait.png rename to test/fixtures/images/portrait.png diff --git a/test/images/portrait_b.png b/test/fixtures/images/portrait_b.png similarity index 100% rename from test/images/portrait_b.png rename to test/fixtures/images/portrait_b.png diff --git a/test/fixtures/files/rspec_spec.rb b/test/fixtures/rspec_spec.rb similarity index 100% rename from test/fixtures/files/rspec_spec.rb rename to test/fixtures/rspec_spec.rb diff --git a/test/capybara_screenshot_diff/rspec_test.rb b/test/integration/rspec_test.rb similarity index 77% rename from test/capybara_screenshot_diff/rspec_test.rb rename to test/integration/rspec_test.rb index a01d5999..1e772401 100644 --- a/test/capybara_screenshot_diff/rspec_test.rb +++ b/test/integration/rspec_test.rb @@ -4,13 +4,13 @@ module CapybaraScreenshotDiff class RspecTest < SystemTestCase - test "should support rspec" do + test "RSpec integration runs successfully with capybara-screenshot-diff" do # Ensure that the RSpec module is loaded require "rspec/core" # Run the RSpec spec file capture_output = StringIO.new - spec_file = (ActiveSupport::TestCase.file_fixture_path / "files/rspec_spec.rb").to_s + spec_file = file_fixture("rspec_spec.rb").to_s rspec_status = RSpec::Core::Runner.run([spec_file], capture_output, capture_output) assert_equal 0, rspec_status, "RSpec tests failed:\n#{capture_output.string}" diff --git a/test/support/capybara_screenshot_diff/dsl_stub.rb b/test/support/capybara_screenshot_diff/dsl_stub.rb index b8502d20..68a4f3be 100644 --- a/test/support/capybara_screenshot_diff/dsl_stub.rb +++ b/test/support/capybara_screenshot_diff/dsl_stub.rb @@ -1,18 +1,20 @@ +require "active_support/concern" + module CapybaraScreenshotDiff module DSLStub extend ActiveSupport::Concern - included do - setup do - @manager = CapybaraScreenshotDiff::SnapManager.new(Capybara::Screenshot.root / "doc/screenshots") - Capybara::Screenshot::Diff.screenshoter = Capybara::Screenshot::ScreenshoterStub - end + def setup + super + @manager = CapybaraScreenshotDiff::SnapManager.new(Capybara::Screenshot.root / "doc/screenshots") + Capybara::Screenshot::Diff.screenshoter = Capybara::Screenshot::ScreenshoterStub + end - teardown do - @manager.cleanup! - Capybara::Screenshot::Diff.screenshoter = Capybara::Screenshot::Screenshoter - CapybaraScreenshotDiff.reset - end + def teardown + @manager.cleanup! + Capybara::Screenshot::Diff.screenshoter = Capybara::Screenshot::Screenshoter + CapybaraScreenshotDiff.reset + super end # Prepare comparison images and build ImageCompare for them diff --git a/test/support/screenshoter_stub.rb b/test/support/screenshoter_stub.rb index 179ba00e..667d417f 100644 --- a/test/support/screenshoter_stub.rb +++ b/test/support/screenshoter_stub.rb @@ -13,6 +13,7 @@ def save_screenshot(path) source_image.slice!(/^\d\d_/) source_image.slice!(/_\d+(?=\.)/) + FileUtils.mkdir_p(path.dirname) FileUtils.cp(File.expand_path(source_image, TEST_IMAGES_DIR), path) path diff --git a/test/capybara/screenshot/diff/test_doubles.rb b/test/support/test_doubles.rb similarity index 100% rename from test/capybara/screenshot/diff/test_doubles.rb rename to test/support/test_doubles.rb diff --git a/test/support/test_helpers.rb b/test/support/test_helpers.rb new file mode 100644 index 00000000..619ade06 --- /dev/null +++ b/test/support/test_helpers.rb @@ -0,0 +1,58 @@ +# frozen_string_literal: true + +require "support/test_doubles" + +module TestHelpers + include Capybara::Screenshot::Diff::TestDoubles + # Common assertions for image comparison tests + module Assertions + # Asserts that a dimension check was called a specific number of times + # @param driver [Object] The test driver object + # @param times [Integer] The expected number of calls (default: 1) + def assert_dimension_check_called(driver, times = 1) + assert_equal times, driver.dimension_check_calls.size, + "Expected dimension check to be called #{times} time(s)" + end + + # Asserts that a pixel check was called a specific number of times + # @param driver [Object] The test driver object + # @param times [Integer] The expected number of calls (default: 1) + def assert_pixel_check_called(driver, times = 1) + assert_equal times, driver.pixel_check_calls.size, + "Expected pixel check to be called #{times} time(s)" + end + + # Asserts that a difference region check was called a specific number of times + # @param driver [Object] The test driver object + # @param times [Integer] The expected number of calls (default: 1) + def assert_difference_region_called(driver, times = 1) + assert_equal times, driver.difference_region_calls.size, + "Expected difference region check to be called #{times} time(s)" + end + end + + # Common setup methods for test drivers + module DriverSetup + # Sets up driver results for testing + # @param driver [Object] The test driver object + # @param same_dimension [Boolean] Whether dimensions match (default: true) + # @param same_pixels [Boolean, nil] Whether pixels match (default: nil for no change) + # @param difference_region [Object, nil] The difference region result (default: nil) + def setup_driver_results(driver, same_dimension: true, same_pixels: nil, difference_region: nil) + driver.same_dimension_result = same_dimension + driver.same_pixels_result = same_pixels unless same_pixels.nil? + driver.difference_region_result = difference_region if difference_region + end + end + + # Common test data generators + module TestData + # Creates a test driver with the given options + # @param is_vips [Boolean] Whether to create a VIPS driver (default: false) + # @param images [Array, nil] Images to return from load_images (default: nil) + # @return [TestDoubles::TestDriver] A test driver object + def create_test_driver(is_vips: false, images: nil) + Capybara::Screenshot::Diff::TestDoubles::TestDriver.new(is_vips, images) + end + end +end diff --git a/test/system_test_case.rb b/test/system_test_case.rb index 3f0fb8aa..bd26bafc 100644 --- a/test/system_test_case.rb +++ b/test/system_test_case.rb @@ -16,6 +16,7 @@ class SystemTestCase < ActiveSupport::TestCase # TODO: Reset original settings to previous values @orig_root = Capybara::Screenshot.root Capybara::Screenshot.root = Rails.root / "../test/fixtures/app" + @orig_save_path = Capybara::Screenshot.save_path Capybara::Screenshot.save_path = "./doc/screenshots" diff --git a/test/test_helper.rb b/test/test_helper.rb index 1b893d0a..6c136ab7 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -14,7 +14,7 @@ $LOAD_PATH.unshift File.expand_path("../lib", __dir__) require "pathname" -TEST_IMAGES_DIR = Pathname.new(File.expand_path("images", __dir__)) +TEST_IMAGES_DIR = Pathname.new(File.expand_path("fixtures/images", __dir__)) require "support/setup_rails_app" require "minitest/autorun" @@ -26,8 +26,17 @@ require "support/stub_test_methods" require "support/setup_capybara_drivers" +require "support/test_helpers" + +Capybara::Screenshot.root = Rails.root +Capybara::Screenshot.save_path = "./doc/screenshots" class ActiveSupport::TestCase + include TestHelpers::Assertions + include TestHelpers::DriverSetup + include TestHelpers::TestData + + # Set up fixtures and test helpers self.file_fixture_path = Pathname.new(File.expand_path("fixtures", __dir__)) teardown do @@ -40,16 +49,18 @@ def persist_comparisons? def optional_test unless ENV["DISABLE_SKIP_TESTS"] - skip "This is optional test! To enable need to provide DISABLE_SKIP_TESTS=1" + skip "This is optional test! To enable provide DISABLE_SKIP_TESTS=1" end end + private + def fixture_image_path_from(original_new_image, ext = "png") - TEST_IMAGES_DIR / "#{original_new_image}.#{ext}" + file_fixture("images/#{original_new_image}.#{ext}") end def assert_same_images(expected_image_name, image_path) - expected_image_path = file_fixture("files/comparisons/#{expected_image_name}") + expected_image_path = file_fixture("comparisons/#{expected_image_name}") assert_predicate(Capybara::Screenshot::Diff::ImageCompare.new(image_path, expected_image_path), :quick_equal?) end diff --git a/test/unit/area_calculator_test.rb b/test/unit/area_calculator_test.rb new file mode 100644 index 00000000..ce4f262e --- /dev/null +++ b/test/unit/area_calculator_test.rb @@ -0,0 +1,76 @@ +# frozen_string_literal: true + +require "test_helper" +require "capybara/screenshot/diff/area_calculator" + +module Capybara + module Screenshot + module Diff + class AreaCalculatorTest < ActiveSupport::TestCase + class CalculateSkipAreaTest < self + test "#calculate_skip_area returns empty array when no skip areas overlap with crop area" do + skip_area = [[0, 0, 100, 100], [200, 200, 100, 100]] + crop_area = [100, 100, 100, 100] + calculator = AreaCalculator.new(crop_area, skip_area) + + result = calculator.calculate_skip_area + + assert_empty result + end + + test "#calculate_skip_area returns intersecting regions when skip areas overlap with crop area" do + skip_area = [Region.new(50, 50, 150, 150)] + crop_area = Region.new(0, 0, 200, 200) + calculator = AreaCalculator.new(crop_area, skip_area) + + result = calculator.calculate_skip_area + + assert_equal [Region.new(50, 50, 150, 150)], result + end + end + + class InitializationTest < self + test "#initialize handles Region objects for skip areas correctly" do + skip_area = [Region.new(0, 0, 100, 100)] + crop_area = Region.new(0, 0, 200, 200) + + calculator = AreaCalculator.new(crop_area, skip_area) + + assert_equal [Region.new(0, 0, 100, 100)], calculator.calculate_skip_area + end + + test "#initialize converts array coordinates to Region objects" do + skip_area = [[0, 0, 100, 100]] + crop_area = [0, 0, 200, 200] + + calculator = AreaCalculator.new(crop_area, skip_area) + result = calculator.calculate_skip_area + + assert_equal 1, result.size + assert_kind_of Region, result.first + assert_equal [0, 0, 100, 100], + [result.first.left, result.first.top, result.first.right, result.first.bottom] + end + end + + class EdgeCaseTest < self + test "#calculate_skip_area returns empty array when skip_areas is empty" do + calculator = AreaCalculator.new([0, 0, 100, 100], []) + + result = calculator.calculate_skip_area + + assert_empty result + end + + test "#calculate_skip_area returns nil when skip_areas is not provided (nil)" do + calculator = AreaCalculator.new([0, 0, 100, 100], nil) + + result = calculator.calculate_skip_area + + assert_nil result + end + end + end + end + end +end diff --git a/test/unit/comparison_loader_test.rb b/test/unit/comparison_loader_test.rb new file mode 100644 index 00000000..5bc52844 --- /dev/null +++ b/test/unit/comparison_loader_test.rb @@ -0,0 +1,60 @@ +# frozen_string_literal: true + +require "test_helper" +require "support/test_doubles" +require "capybara/screenshot/diff/comparison_loader" + +module Capybara + module Screenshot + module Diff + class ComparisonLoaderTest < ActiveSupport::TestCase + include TestDoubles + + def setup + @base_path = Pathname.new("base/path.png") + @new_path = Pathname.new("new/path.png") + @options = {tolerance: 0.01} + @driver = TestDriver.new + @loader = ComparisonLoader.new(@driver) + end + + test "#call returns Comparison instance with correct attributes" do + comparison = @loader.call(@base_path, @new_path, @options) + + assert_kind_of Comparison, comparison + assert_equal :base_image, comparison.base_image + assert_equal :new_image, comparison.new_image + assert_equal @options, comparison.options + assert_equal @driver, comparison.driver + end + + test "#call loads base and new images in correct order" do + # Configure the driver to return specific images + images = [:first_image, :second_image] + driver = TestDriver.new(false, images) + loader = ComparisonLoader.new(driver) + + comparison = loader.call(@base_path, @new_path, {}) + + assert_equal :first_image, comparison.base_image + assert_equal :second_image, comparison.new_image + end + + test "#call passes options to the comparison" do + custom_options = {tolerance: 0.05, median_filter_window_size: 3} + comparison = @loader.call(@base_path, @new_path, custom_options) + + assert_equal custom_options, comparison.options + end + + test "#call uses driver to load images with correct paths" do + loader = ComparisonLoader.new(@driver) + loader.call(@base_path, @new_path, {}) + + assert @driver.load_images_called + assert_equal [@base_path, @new_path], @driver.load_images_args + end + end + end + end +end diff --git a/test/capybara/screenshot/diff_test.rb b/test/unit/diff_test.rb similarity index 85% rename from test/capybara/screenshot/diff_test.rb rename to test/unit/diff_test.rb index 0f156d13..e38ebce1 100644 --- a/test/capybara/screenshot/diff_test.rb +++ b/test/unit/diff_test.rb @@ -6,7 +6,7 @@ module Capybara module Screenshot - class DiffTest < ActionDispatch::IntegrationTest + class DiffTest < ActiveSupport::TestCase setup do Capybara.current_driver = Capybara.default_driver @@ -36,11 +36,11 @@ class DiffTest < ActionDispatch::IntegrationTest Capybara::Screenshot.window_size = @orig_window_size end - def test_that_it_has_a_version_number + test "has a version number" do refute_nil ::Capybara::Screenshot::Diff::VERSION end - def test_screenshot_groups_are_replaced + test "updates screenshot group name" do assert_nil screenshot_namer.group screenshot_group "a" assert_equal "a", screenshot_namer.group @@ -48,7 +48,7 @@ def test_screenshot_groups_are_replaced assert_equal "b", screenshot_namer.group end - def test_screenshot_section_is_prepended + test "screenshot_section prepends section to path" do assert_nil screenshot_namer.section assert_nil screenshot_namer.group @@ -65,12 +65,12 @@ def test_screenshot_section_is_prepended assert_match %r{doc/screenshots/(macos|linux)/rack_test/a/c}, screenshot_dir end - test "screenshot" do + test "stores screenshot with given name" do screenshot_group "screenshot" assert_matches_screenshot "a" end - test "succeed on screenshot diff when fail_on_difference is false" do + test "does not fail when fail_on_difference is false and screenshots differ" do Capybara::Screenshot::Diff.stub(:fail_on_difference, false) do test_case = SampleMiniTestCase.new(:_test_sample_screenshot_error) test_case.run @@ -78,28 +78,30 @@ def test_screenshot_section_is_prepended end end - def test_screenshot_with_alternate_save_path + test "writes screenshot to alternate save path" do default_path = Capybara::Screenshot.save_path Capybara::Screenshot.save_path = "foo/bar" screenshot_section "a" screenshot_group "b" - screenshot "a" + screenshot "a", delayed: false assert_match %r{foo/bar/(macos|linux)/rack_test/a/b}, screenshot_dir ensure + FileUtils.remove_entry Capybara::Screenshot.screenshot_area_abs Capybara::Screenshot.save_path = default_path end - def test_screenshot_with_stability_time_limit + test "does not error when using stability_time_limit" do + default_stability_time_limit = Capybara::Screenshot.stability_time_limit Capybara::Screenshot.stability_time_limit = 0.001 screenshot "a" ensure - Capybara::Screenshot.stability_time_limit = nil + Capybara::Screenshot.stability_time_limit = default_stability_time_limit end - test "build_full_name" do + test "builds full name from string" do assert_equal "a", build_full_name("a") screenshot_group "b" assert_equal "b/00_a", build_full_name("a") @@ -109,19 +111,19 @@ def test_screenshot_with_stability_time_limit assert_equal "c/a", build_full_name("a") end - test "build_full_name allows symbol" do + test "builds full name from symbol" do screenshot_group :b assert_equal "b/00_a", build_full_name(:a) end - test "detect available diff drivers on the loading" do + test "detects available diff drivers" do # NOTE for tests we are loading both drivers, so we expect that all of them are available expected_drivers = defined?(Vips) ? %i[vips chunky_png] : %i[chunky_png] assert_equal expected_drivers, Capybara::Screenshot::Diff::AVAILABLE_DRIVERS end - test "aggregates failures instead of raising errors on teardown for Minitest" do + test "aggregates failures on teardown for Minitest" do test_case = SampleMiniTestCase.new(:_test_sample_screenshot_error) test_case.run @@ -130,7 +132,7 @@ def test_screenshot_with_stability_time_limit assert_includes test_case.failures.first.message, "expected error message" end - test "raising errors on teardown for non Minitest" do + test "raises error on teardown for non-Minitest" do test_case = SampleNotMiniTestCase.new test_case._test_sample_screenshot_error @@ -140,7 +142,7 @@ def test_screenshot_with_stability_time_limit assert_empty(CapybaraScreenshotDiff.assertions) end - class SampleMiniTestCase < ActionDispatch::IntegrationTest + class SampleMiniTestCase < ActiveSupport::TestCase include Capybara::Screenshot::Diff include CapybaraScreenshotDiff::Minitest::Assertions @@ -192,7 +194,7 @@ def _test_sample_screenshot_error end end - class ScreenshotFormatTest < ActionDispatch::IntegrationTest + class ScreenshotFormatTest < ActiveSupport::TestCase setup do @orig_screenshot_format = Capybara::Screenshot.screenshot_format end @@ -205,7 +207,7 @@ class ScreenshotFormatTest < ActionDispatch::IntegrationTest Capybara::Screenshot.screenshot_format = @orig_screenshot_format end - test "use default screenshot format" do + test "stores screenshot using default format extension" do skip "VIPS not present. Skipping VIPS driver tests." unless defined?(Vips) snap = CapybaraScreenshotDiff::SnapManager.snapshot("a", "webp") @@ -218,7 +220,7 @@ class ScreenshotFormatTest < ActionDispatch::IntegrationTest end end - test "override default screenshot format" do + test "stores screenshot using overridden format extension" do snap = CapybaraScreenshotDiff::SnapManager.snapshot("a", "png") set_test_images(snap, :a, :a) diff --git a/test/unit/difference_finder_test.rb b/test/unit/difference_finder_test.rb new file mode 100644 index 00000000..92557f77 --- /dev/null +++ b/test/unit/difference_finder_test.rb @@ -0,0 +1,133 @@ +# frozen_string_literal: true + +require "test_helper" +require "support/test_doubles" +require "capybara/screenshot/diff/difference_finder" + +module Capybara + module Screenshot + module Diff + class DifferenceFinderTest < ActiveSupport::TestCase + include CapybaraScreenshotDiff::DSLStub + include TestDoubles + + class InitializationTest < self + setup do + @base_path = TestDoubles::TestPath.new(12345) + @new_path = TestDoubles::TestPath.new(54321) + @driver = TestDoubles::TestDriver.new(false) + setup_test_comparison + end + + test "#initialize sets driver and options correctly" do + driver = TestDoubles::TestDriver.new + options = {tolerance: 0.05} + + finder = DifferenceFinder.new(driver, options) + + assert_equal driver, finder.driver + assert_equal options, finder.options + end + end + + class QuickModeTest < self + setup do + @base_path = TestDoubles::TestPath.new(12345) + @new_path = TestDoubles::TestPath.new(54321) + @driver = TestDoubles::TestDriver.new(false) + setup_test_comparison + @finder = create_finder + end + + test "#call in quick_mode returns true with difference when images match exactly" do + setup_driver_results(@driver, same_dimension: true, same_pixels: true) + + result, difference = @finder.call(@comparison, quick_mode: true) + + assert result, "Expected call to return true" + refute_nil difference, "Expected a difference object" + assert_dimension_check_called(@driver) + assert_pixel_check_called(@driver) + end + + test "#call in quick_mode with tolerance returns true when difference is within tolerance" do + test_difference = TestDifference.new(false) # Not different (within tolerance) + setup_driver_results(@driver, same_dimension: true, same_pixels: false, difference_region: test_difference) + + finder = create_finder(tolerance: 0.01) + result, difference = finder.call(@comparison, quick_mode: true) + + assert result, "Expected call to return true when within tolerance" + assert_equal test_difference, difference + end + + test "#call in quick_mode returns false without difference when pixels differ beyond tolerance" do + setup_driver_results(@driver, same_dimension: true, same_pixels: false) + + result, difference = @finder.call(@comparison, quick_mode: true) + + refute result, "Expected call to return false when pixels differ" + assert_nil difference, "Expected no difference object in quick mode" + assert_dimension_check_called(@driver) + assert_pixel_check_called(@driver) + assert_difference_region_called(@driver, 0) + end + end + + class FullModeTest < self + setup do + @base_path = TestDoubles::TestPath.new(12345) + @new_path = TestDoubles::TestPath.new(54321) + @driver = TestDoubles::TestDriver.new(false) + setup_test_comparison + @finder = create_finder + end + + test "#call in full_mode returns failed difference when image dimensions differ" do + setup_driver_results(@driver, same_dimension: false) + + result = @finder.call(@comparison, quick_mode: false) + + assert_instance_of Difference, result + assert result.failed?, "Expected failed result when dimensions differ" + assert_dimension_check_called(@driver) + assert_pixel_check_called(@driver, 0) + end + + test "#call in full_mode returns equal result when images match exactly" do + setup_driver_results(@driver, same_dimension: true, same_pixels: true) + + result = @finder.call(@comparison, quick_mode: false) + + assert_instance_of Difference, result + assert result.equal?, "Expected equal result when pixels match" + assert_dimension_check_called(@driver) + assert_pixel_check_called(@driver) + end + + test "#call in full_mode returns difference when pixels differ beyond tolerance" do + test_difference = TestDifference.new(true) + setup_driver_results(@driver, same_dimension: true, same_pixels: false, difference_region: test_difference) + + result = @finder.call(@comparison, quick_mode: false) + + assert_equal test_difference, result + assert_difference_region_called(@driver) + end + end + + private + + def setup_test_comparison + @comparison = TestDoubles::TestComparison.new + @comparison.base_image_path = @base_path + @comparison.new_image_path = @new_path + end + + def create_finder(options = {}) + DifferenceFinder.new(@driver, options) + end + end + end + end +end diff --git a/test/unit/difference_test.rb b/test/unit/difference_test.rb new file mode 100644 index 00000000..1305cefa --- /dev/null +++ b/test/unit/difference_test.rb @@ -0,0 +1,20 @@ +# frozen_string_literal: true + +require "test_helper" +require "capybara/screenshot/diff/difference" + +module Capybara::Screenshot::Diff + class DifferenceTest < ActiveSupport::TestCase + setup do + @difference = Difference.new(nil, {}, nil, {different_dimensions: []}) + end + + test "#different? returns true when images have different dimensions" do + assert_predicate @difference, :different? + end + + test "#failed? returns true when images have different dimensions" do + assert_predicate @difference, :failed? + end + end +end diff --git a/test/unit/drivers/chunky_png_driver_test.rb b/test/unit/drivers/chunky_png_driver_test.rb new file mode 100644 index 00000000..75d110ab --- /dev/null +++ b/test/unit/drivers/chunky_png_driver_test.rb @@ -0,0 +1,155 @@ +# frozen_string_literal: true + +require "test_helper" +require "capybara/screenshot/diff/image_compare" +require "capybara/screenshot/diff/drivers/chunky_png_driver" + +module Capybara + module Screenshot + module Diff + module Drivers + class ChunkyPNGDriverTest < ActiveSupport::TestCase + include CapybaraScreenshotDiff::DSLStub + + class QuickEqualTest < self + test "#quick_equal? returns true when comparing identical images" do + comp = make_comparison(:a, :a) + assert comp.quick_equal? + end + + test "#quick_equal? respects color_distance_limit setting when images are similar" do + comp = make_comparison(:a, :b, color_distance_limit: 224) + assert comp.quick_equal? + end + end + + class DifferentTest < self + test "#different? returns false when comparing identical images" do + comp = make_comparison(:a, :a) + assert_not comp.different? + end + + test "#different? respects tolerance setting when images differ slightly" do + comp = make_comparison(:a, :b, tolerance: 2) + assert_not comp.different? + assert comp.quick_equal? + end + + test "#different? identifies differences and generates annotated comparison images" do + comp = make_comparison(:a, :c) + assert comp.different? + assert_includes comp.error_message, "[11,3,48,20]" + assert File.exist?(comp.base_image_path) + assert File.exist?(comp.reporter.annotated_base_image_path) + assert File.exist?(comp.reporter.annotated_image_path) + + assert_same_images("a-and-c.diff.png", comp.reporter.annotated_base_image_path) + assert_same_images("c-and-a.diff.png", comp.reporter.annotated_image_path) + end + + test "#different? skips generating annotated images for identical images" do + comp = make_comparison(:c, :c) + assert_not comp.different? + + assert comp.reporter.annotated_base_image_path + assert comp.reporter.annotated_image_path + + assert_not File.exist?(comp.reporter.annotated_base_image_path) + assert_not File.exist?(comp.reporter.annotated_image_path) + end + + test "#different? detects single-pixel width differences between images" do + comp = make_comparison(:a, :d) + assert comp.different? + assert_includes comp.error_message, "[9,6,9,13]" + end + + test "#different? respects shift_distance_limit when within allowed threshold" do + comp = make_comparison(:a, :b, shift_distance_limit: 11) + assert comp.quick_equal? + assert_not comp.different? + end + + test "#different? enforces shift_distance_limit when beyond allowed threshold" do + comp = make_comparison(:a, :b, shift_distance_limit: 9) + assert comp.different? + assert_includes comp.error_message, "11" + end + + test "#different? detects when images have different dimensions" do + comp = make_comparison(:a, :a_cropped) + assert comp.different? + assert_includes comp.error_message, "Dimensions have changed: " + assert_includes comp.error_message, "80x60" + end + end + + class ColorDistanceTest < self + test "#different? respects color_distance_limit when within allowed threshold" do + comp = make_comparison(:a, :b, color_distance_limit: 223) + assert_not comp.different? + end + + test "#different? enforces color_distance_limit when beyond allowed threshold" do + comp = make_comparison(:a, :b, color_distance_limit: 222) + assert comp.different? + assert_includes comp.error_message, "222.7" + end + + test "#max_color_distance returns expected value for images with minor differences" do + comp = make_comparison(:a, :b) + assert_not comp.quick_equal? + comp.different? + assert_includes comp.error_message, "85" + end + + test "#max_color_distance returns expected value for images with moderate differences" do + comp = make_comparison(:a, :c) + comp.different? + assert_includes comp.error_message, "187.4" + end + + test "#max_color_distance returns expected value for images with significant differences" do + comp = make_comparison(:a, :d) + comp.different? + assert_includes comp.error_message, "269.1" + end + + test "#max_color_distance detects minimal color differences between images" do + a_img = ChunkyPNG::Image.from_blob(File.binread("#{TEST_IMAGES_DIR}/a.png")) + a_img[9, 6] += 0x010000 + + comp = make_comparison(:a, :b) + other_img_filename = comp.image_path + a_img.save(other_img_filename) + + comp.different? + + assert_includes comp.error_message, "1" + end + end + + class HelpersTest < self + test "#from_file successfully loads an image from the specified path" do + driver = ChunkyPNGDriver.new + assert driver.from_file("#{TEST_IMAGES_DIR}/a.png") + end + end + + def make_comparison(old_img, new_img, options = {}) + snap = create_snapshot_for(old_img, new_img) + ImageCompare.new(snap.path, snap.base_path, **options) + end + + def sample_region + [0, 0, 0, 0] + end + + def load_test_image(driver) + driver.from_file("#{TEST_IMAGES_DIR}/a.png") + end + end + end + end + end +end diff --git a/test/capybara/screenshot/diff/drivers/utils_test.rb b/test/unit/drivers/utils_test.rb similarity index 73% rename from test/capybara/screenshot/diff/drivers/utils_test.rb rename to test/unit/drivers/utils_test.rb index 84a180bc..fe2bfaec 100644 --- a/test/capybara/screenshot/diff/drivers/utils_test.rb +++ b/test/unit/drivers/utils_test.rb @@ -8,14 +8,14 @@ module Capybara module Screenshot module Diff class UtilsTest < ActiveSupport::TestCase - test "detect_available_drivers add vips when ruby-vips is available" do + test "#detect_available_drivers includes :vips when ruby-vips gem is available" do skip "VIPS not present. Skipping VIPS driver tests." unless defined?(Vips) Object.stub :require, ->(gem) { gem == "vips" } do assert_includes Utils.detect_available_drivers, :vips end end - test "detect_available_drivers does not add :vips when ruby-vips is unavailable" do + test "#detect_available_drivers excludes :vips when ruby-vips gem is not available" do Object.stub_remove_const(:Vips) do Object.stub :require, ->(gem) { gem != "vips" } do assert_not_includes Utils.detect_available_drivers, :vips @@ -23,7 +23,7 @@ class UtilsTest < ActiveSupport::TestCase end end - test "detect_available_drivers does not add :vips when there is no system libvips installed" do + test "#detect_available_drivers excludes :vips when system libvips is not installed" do Object.stub_remove_const(:Vips) do Object.stub :require, ->(gem) { gem == "vips" && raise(LoadError.new("Could not ... vips")) } do assert_not_includes Utils.detect_available_drivers, :vips @@ -31,7 +31,7 @@ class UtilsTest < ActiveSupport::TestCase end end - test "detect_available_drivers returns vips before chunky_png if both gems are available" do + test "#detect_available_drivers returns drivers in order of preference when multiple are available" do Object.stub_consts(Vips: Class.new, ChunkyPNG: Class.new) do Object.stub :require, true do assert_equal %i[vips chunky_png], Utils.detect_available_drivers @@ -39,13 +39,13 @@ class UtilsTest < ActiveSupport::TestCase end end - test "detect_available_drivers add chunky_png when chunky_png is available" do + test "#detect_available_drivers includes :chunky_png when the gem is available" do Object.stub :require, ->(gem) { gem == "chunky_png" } do assert_includes Utils.detect_available_drivers, :chunky_png end end - test "detect_available_drivers does not add chunky_png when chunky_png is not available" do + test "#detect_available_drivers excludes :chunky_png when the gem is not available" do Object.stub_remove_const(:ChunkyPNG) do Object.stub :require, ->(gem) { gem != "chunky_png" } do assert_not_includes Utils.detect_available_drivers, :chunky_png diff --git a/test/capybara/screenshot/diff/drivers/vips_driver_test.rb b/test/unit/drivers/vips_driver_test.rb similarity index 76% rename from test/capybara/screenshot/diff/drivers/vips_driver_test.rb rename to test/unit/drivers/vips_driver_test.rb index 7a23c927..798ef35c 100644 --- a/test/capybara/screenshot/diff/drivers/vips_driver_test.rb +++ b/test/unit/drivers/vips_driver_test.rb @@ -13,7 +13,7 @@ module Capybara module Screenshot module Diff module Drivers - class VipsDriverTest < ActionDispatch::IntegrationTest + class VipsDriverTest < ActiveSupport::TestCase include CapybaraScreenshotDiff::DSLStub setup do @@ -30,22 +30,22 @@ class VipsDriverTest < ActionDispatch::IntegrationTest Vips.cache_set_max(1000) end - test "#different? for equal is negative" do + test "#different? returns false when comparing identical images" do comp = make_comparison(:a, :a) assert_not comp.different? end - test "#quick_equal? for equal is positive" do + test "#quick_equal? returns true when comparing identical images" do comp = make_comparison(:a, :a) assert comp.quick_equal? end - test "it can be instantiated" do + test "can be instantiated with default constructor" do assert VipsDriver.new end - test "when different does not clean runtime files" do + test "#different? preserves runtime files when images are different" do comp = make_comparison(:a, :c) assert comp.different? assert_includes comp.error_message, "[11.0,3.0,49.0,21.0]" @@ -54,7 +54,7 @@ class VipsDriverTest < ActionDispatch::IntegrationTest assert File.exist?(comp.reporter.annotated_image_path) end - test "when equal clean runtime files" do + test "#different? cleans up runtime files when images are identical" do comp = make_comparison(:c, :c) assert_not comp.different? @@ -65,64 +65,64 @@ class VipsDriverTest < ActionDispatch::IntegrationTest assert_not File.exist?(comp.reporter.annotated_image_path) end - test "compare of 1 pixel wide diff" do + test "#different? detects single-pixel wide differences between images" do comp = make_comparison(:a, :d) assert comp.different? assert_includes comp.error_message, "[9.0,6.0,10.0,14.0]" end - test "compare with color_distance_limit above difference" do + test "#different? respects color_distance_limit when within allowed threshold" do comp = make_comparison(:a, :b, color_distance_limit: 255) assert_not comp.different? end - test "compare with color_distance_limit below difference" do + test "#different? enforces color_distance_limit when beyond allowed threshold" do comp = make_comparison(:a, :b, color_distance_limit: 3) assert comp.different? end - test "compare with tolerance level more then area of the difference" do + test "#different? returns equal when tolerance is greater than difference area" do comp = make_comparison(:a, :b, tolerance: 0.01) assert comp.quick_equal? assert_not comp.different? assert_not comp.error_message end - test "compare with tolerance level less then area of the difference" do + test "#different? detects difference when tolerance is less than difference area" do comp = make_comparison(:a, :b, tolerance: 0.000001) assert_not comp.quick_equal? assert comp.different? end - test "compare with median_filter_window_size when images have 1px line difference" do + test "#different? handles single-pixel line differences with median filter" do comp = make_comparison(:a, :d, median_filter_window_size: 3, color_distance_limit: 8) assert comp.quick_equal? assert_not comp.different? end - test "quick_equal" do + test "#quick_equal? returns false when images are different" do comp = make_comparison(:a, :b) assert_not comp.quick_equal? end - test "quick_equal with color distance limit below current level" do + test "#quick_equal? respects color_distance_limit when below difference threshold" do comp = make_comparison(:a, :b, color_distance_limit: 2) assert_not comp.quick_equal? end - test "quick_equal with color distance limit above current level" do + test "#quick_equal? respects color_distance_limit when above difference threshold" do comp = make_comparison(:a, :b, color_distance_limit: 200) assert comp.quick_equal? end - test "size a vs a_cropped" do + test "#different? detects dimension changes between images" do comp = make_comparison(:a, :a_cropped) assert comp.different? assert_includes comp.error_message, "Dimensions have changed: " assert_includes comp.error_message, "80x60" end - test "quick_equal compare skips difference if skip_area covers it" do + test "#quick_equal? skips differences covered by skip_area configuration" do comp = make_comparison( :a, :d, @@ -135,7 +135,7 @@ class VipsDriverTest < ActionDispatch::IntegrationTest assert_not comp.different? end - test "quick_equal compare skips difference if skip_area does not cover it" do + test "#quick_equal? detects differences not covered by skip_area" do comp = make_comparison( :a, :d, @@ -150,7 +150,7 @@ class VipsDriverTest < ActionDispatch::IntegrationTest # Test Interface Contracts - test "from_file loads image from path" do + test "#from_file successfully loads an image from the specified path" do assert VipsDriver.new.from_file(TEST_IMAGES_DIR / "a.png") end @@ -167,7 +167,7 @@ def sample_region end class VipsUtilTest < ActiveSupport::TestCase - test "segment difference without min color difference" do + test "VipsUtil.difference_region_by detects difference regions without color threshold" do old_image = Vips::Image.new_from_file("#{TEST_IMAGES_DIR}/a.png") new_image = Vips::Image.new_from_file("#{TEST_IMAGES_DIR}/b.png") @@ -180,7 +180,7 @@ class VipsUtilTest < ActiveSupport::TestCase assert_equal [20.0, 15.0, 30.0, 25.0], [left, top, right, bottom] end - test "segment difference with min color difference" do + test "VipsUtil.difference_region_by respects color_distance threshold" do old_image = Vips::Image.new_from_file("#{TEST_IMAGES_DIR}/a.png") new_image = Vips::Image.new_from_file("#{TEST_IMAGES_DIR}/b.png") @@ -189,7 +189,7 @@ class VipsUtilTest < ActiveSupport::TestCase assert_equal [26.0, 18.0, 27.0, 19.0], [left, top, right, bottom] end - test "segment difference" do + test "VipsUtil.difference_region_by returns correct region coordinates" do old_image = Vips::Image.new_from_file(TEST_IMAGES_DIR.join("a.png").to_path) new_image = Vips::Image.new_from_file(TEST_IMAGES_DIR.join("b.png").to_path) @@ -198,7 +198,7 @@ class VipsUtilTest < ActiveSupport::TestCase assert_equal [20.0, 15.0, 30.0, 25.0], [left, top, right, bottom] end - test "area of the difference" do + test "VipsUtil.difference_area calculates correct area of difference" do old_image = Vips::Image.new_from_file("#{TEST_IMAGES_DIR}/a.png") new_image = Vips::Image.new_from_file("#{TEST_IMAGES_DIR}/d.png").bandjoin(255) diff --git a/test/capybara_screenshot_diff/dsl_test.rb b/test/unit/dsl_test.rb similarity index 67% rename from test/capybara_screenshot_diff/dsl_test.rb rename to test/unit/dsl_test.rb index ee843dd2..4dc58dbb 100644 --- a/test/capybara_screenshot_diff/dsl_test.rb +++ b/test/unit/dsl_test.rb @@ -5,11 +5,24 @@ require "capybara_screenshot_diff/screenshot_assertion" module CapybaraScreenshotDiff - class DSLTest < ActionDispatch::IntegrationTest + class DSLTest < ActiveSupport::TestCase include CapybaraScreenshotDiff::DSL include CapybaraScreenshotDiff::DSLStub - test "raise error on missing screenshot when fail_if_new is true" do + def before_setup + @original_root = Capybara::Screenshot.root + @new_root = Dir.mktmpdir + Capybara::Screenshot.root = Pathname.new(@new_root) + super + end + + def after_teardown + super + Capybara::Screenshot.root = @original_root + FileUtils.remove_entry(@new_root) if @new_root + end + + test "#screenshot raises error when screenshot is missing and fail_if_new is true" do Capybara::Screenshot::Diff::Vcs.stub(:checkout_vcs, false) do Capybara::Screenshot::Diff.stub(:fail_if_new, true) do assert_raises CapybaraScreenshotDiff::ExpectationNotMet, match: /No existing screenshot found for/ do @@ -19,20 +32,20 @@ class DSLTest < ActionDispatch::IntegrationTest end end - def test_assert_image_not_changed + test "#assert_image_not_changed generates correct error message for image mismatch" do message = assert_image_not_changed(["my_test.rb:42"], "name", make_comparison(:a, :c, destination: "screenshot.png")) value = (RUBY_VERSION >= "2.4") ? 187.4 : 188 assert_equal <<~MSG.chomp, message Screenshot does not match for 'name': ({"area_size":629,"region":[11,3,48,20],"max_color_distance":#{value}}) - #{Rails.root}/doc/screenshots/screenshot.png - #{Rails.root}/doc/screenshots/screenshot.base.diff.png - #{Rails.root}/doc/screenshots/screenshot.diff.png - #{Rails.root}/doc/screenshots/screenshot.heatmap.diff.png + #{Capybara::Screenshot.root}/doc/screenshots/screenshot.png + #{Capybara::Screenshot.root}/doc/screenshots/screenshot.base.diff.png + #{Capybara::Screenshot.root}/doc/screenshots/screenshot.diff.png + #{Capybara::Screenshot.root}/doc/screenshots/screenshot.heatmap.diff.png my_test.rb:42 MSG end - def test_assert_image_not_changed_with_shift_distance_limit + test "#assert_image_not_changed includes shift distance in error message when specified" do message = assert_image_not_changed( ["my_test.rb:42"], "name", @@ -41,15 +54,15 @@ def test_assert_image_not_changed_with_shift_distance_limit value = (RUBY_VERSION >= "2.4") ? 5.0 : 5 assert_equal <<~MSG.chomp, message Screenshot does not match for 'name': ({"area_size":629,"region":[11,3,48,20],"max_color_distance":#{value},"max_shift_distance":15}) - #{Rails.root}/doc/screenshots/screenshot.png - #{Rails.root}/doc/screenshots/screenshot.base.diff.png - #{Rails.root}/doc/screenshots/screenshot.diff.png - #{Rails.root}/doc/screenshots/screenshot.heatmap.diff.png + #{Capybara::Screenshot.root}/doc/screenshots/screenshot.png + #{Capybara::Screenshot.root}/doc/screenshots/screenshot.base.diff.png + #{Capybara::Screenshot.root}/doc/screenshots/screenshot.diff.png + #{Capybara::Screenshot.root}/doc/screenshots/screenshot.heatmap.diff.png my_test.rb:42 MSG end - def test_screenshot_support_drivers_options + test "#screenshot supports driver options for image comparison" do skip "vips is disabled" unless defined?(Capybara::Screenshot::Diff::Drivers::VipsDriverTest) assert_not screenshot("a", driver: :vips) end @@ -58,7 +71,7 @@ def assert_no_screenshot_jobs_scheduled assert_not_predicate CapybaraScreenshotDiff.registry, :assertions_present? end - def test_skip_stack_frames_with_zero_skip + test "#screenshot with skip_stack_frames: 0 includes our_screenshot in caller" do Capybara::Screenshot::Diff::Vcs.stub(:checkout_vcs, true) do assert_no_screenshot_jobs_scheduled @@ -71,7 +84,7 @@ def test_skip_stack_frames_with_zero_skip end end - def test_skip_stack_frames_with_one_skip + test "#screenshot with skip_stack_frames: 1 includes test method in caller" do Capybara::Screenshot::Diff::Vcs.stub(:checkout_vcs, true) do assert_no_screenshot_jobs_scheduled @@ -80,14 +93,14 @@ def test_skip_stack_frames_with_one_skip our_screenshot(snap.full_name, 1) assert_equal 1, CapybaraScreenshotDiff.assertions.size assert_match( - %r{/dsl_test.rb:.*?test_skip_stack_frames_with_one_skip}, + %r{/dsl_test.rb}, CapybaraScreenshotDiff.assertions[0].caller.first ) assert_equal snap.full_name, CapybaraScreenshotDiff.assertions[0].name end end - def test_inline_screenshot_assertion_validation_with_difference + test "#screenshot with delayed: false raises error when images differ" do Capybara::Screenshot::Diff::Vcs.stub(:checkout_vcs, true) do Capybara::Screenshot::Diff.stub(:delayed, false) do assert_raises(CapybaraScreenshotDiff::ExpectationNotMet) do @@ -98,7 +111,7 @@ def test_inline_screenshot_assertion_validation_with_difference end end - def test_inline_screenshot_assertion_validation_without_difference + test "#screenshot with delayed: false succeeds when images match" do Capybara::Screenshot::Diff::Vcs.stub(:checkout_vcs, true) do Capybara::Screenshot::Diff.stub(:delayed, false) do snap = create_snapshot_for(:a) @@ -107,24 +120,24 @@ def test_inline_screenshot_assertion_validation_without_difference end end - def test_skip_area_and_stability_time_limit + test "#screenshot accepts skip_area and stability_time_limit options" do assert_not screenshot(:a, skip_area: [0, 0, 1, 1], stability_time_limit: 0.01) end - def test_creates_new_screenshot + test "#screenshot creates new screenshot file when it doesn't exist" do screenshot(:c) snap = CapybaraScreenshotDiff::SnapManager.snapshot("c") assert_predicate snap.path, :exist? end - def test_cleanup_base_image_for_no_change + test "#assert_image_not_changed cleans up base image when images are identical" do comparison = make_comparison(:a, :a) assert_image_not_changed(["my_test.rb:42"], "name", comparison) assert_not comparison.base_image_path.exist? end - def test_cleanup_base_image_for_changes + test "#assert_image_not_changed cleans up base image when images differ" do comparison = make_comparison(:a, :b) assert_image_not_changed(["my_test.rb:42"], "name", comparison) assert_not comparison.base_image_path.exist? diff --git a/test/capybara/screenshot/diff/image_compare_test.rb b/test/unit/image_compare_test.rb similarity index 61% rename from test/capybara/screenshot/diff/image_compare_test.rb rename to test/unit/image_compare_test.rb index 95a2b71b..eae37d71 100644 --- a/test/capybara/screenshot/diff/image_compare_test.rb +++ b/test/unit/image_compare_test.rb @@ -12,26 +12,26 @@ module Capybara module Screenshot module Diff - class ImageCompareTest < ActionDispatch::IntegrationTest + class ImageCompareTest < ActiveSupport::TestCase include CapybaraScreenshotDiff::DSLStub - test "it can be instantiated with chunky_png driver" do + test "#initialize creates instance with chunky_png driver by default" do comparison = make_comparison(:b) assert_kind_of Drivers::ChunkyPNGDriver, comparison.driver end - test "it can be instantiated with explicit chunky_png adapter" do + test "#initialize creates instance with explicit chunky_png driver" do comparison = make_comparison(:b, driver: :chunky_png) assert_kind_of Drivers::ChunkyPNGDriver, comparison.driver end - test "it can be instantiated with vips adapter" do + test "#initialize creates instance with vips driver when specified" do skip "VIPS not present. Skipping VIPS driver tests." unless defined?(Vips) comparison = make_comparison(:b, driver: :vips) assert_kind_of Drivers::VipsDriver, comparison.driver end - test "for vips it generates annotation files on difference" do + test "#different? with vips driver generates annotated diff images" do skip "VIPS not present. Skipping VIPS driver tests." unless defined?(Vips) comparison = make_comparison(:a, :b, driver: :vips) @@ -41,7 +41,7 @@ class ImageCompareTest < ActionDispatch::IntegrationTest assert_same_images("b-and-a.diff.png", comparison.reporter.annotated_image_path) end - test "it can handle very long input filenames" do + test "#different? handles very long input filenames with vips driver" do skip "VIPS not present. Skipping VIPS driver tests." unless defined?(Vips) filename = %w[this-0000000000000000000000000000000000000000000000000-path/is/extremely/ long/and/if/the/directories/are/flattened/in/ @@ -52,32 +52,32 @@ class ImageCompareTest < ActionDispatch::IntegrationTest assert comparison.different? end - test "it can be instantiated with vips adapter and tolerance option" do + test "#initialize with vips driver respects tolerance option" do skip "VIPS not present. Skipping VIPS driver tests." unless defined?(Vips) comp = make_comparison(:a, :b, driver: :vips, tolerance: 0.02) assert comp.quick_equal? assert_not comp.different? end - test "could pass use tolerance for chunky_png driver" do + test "#initialize with chunky_png driver respects tolerance option" do comp = make_comparison(:a, :b, driver: :chunky_png, tolerance: 0.02) assert comp.quick_equal? assert_not comp.different? end - test "it can be instantiated with dimensions" do + test "#initialize with dimensions creates valid comparison" do comp = make_comparison(:b, dimensions: [80, 80]) assert comp.quick_equal? assert_not comp.different? end - test "for driver: :auto returns first from available drivers" do + test "#initialize with :auto driver selects vips when available" do skip "VIPS not present. Skipping VIPS driver tests." unless defined?(Vips) comparison = make_comparison(:b, driver: :auto) assert_kind_of Drivers::VipsDriver, comparison.driver end - test "for driver: :auto raise error if no drivers are available" do + test "#initialize with :auto driver raises error when no drivers available" do Capybara::Screenshot::Diff.stub_const(:AVAILABLE_DRIVERS, []) do assert_raise(RuntimeError) do comparison = make_comparison(:b, driver: :auto) @@ -87,15 +87,15 @@ class ImageCompareTest < ActionDispatch::IntegrationTest end end - class IntegrationRegressionTest < ActionDispatch::IntegrationTest + class IntegrationRegressionTest < ActiveSupport::TestCase include CapybaraScreenshotDiff::DSLStub AVAILABLE_DRIVERS = [{}, {driver: :chunky_png}] - test "the same images should be quick equal and not different" do + test "identical images are quick_equal and not different across all drivers" do images = all_fixtures_images_names AVAILABLE_DRIVERS.each do |driver| - Dir.chdir File.expand_path("../../../images", __dir__) do + Dir.chdir File.expand_path("../fixtures/images", __dir__) do images.each do |old_img| new_img = old_img comparison = make_comparison(old_img, new_img, **driver) @@ -112,7 +112,7 @@ class IntegrationRegressionTest < ActionDispatch::IntegrationTest end end - test "the different images should not be quick equal and different" do + test "different images are not quick_equal and are marked as different" do images = all_fixtures_images_names AVAILABLE_DRIVERS.each do |driver| @@ -137,6 +137,55 @@ def all_fixtures_images_names %w[a a_cropped b c d portrait portrait_b] end end + + class ImageCompareRefactorTest < ActiveSupport::TestCase + include CapybaraScreenshotDiff::DSLStub + include TestHelpers + + # Test #quick_equal? method + test "#quick_equal? returns true when comparing identical images" do + comparison = make_comparison(:a, :a) + assert_predicate comparison, :quick_equal? + end + + test "#quick_equal? returns false when comparing different images" do + comparison = make_comparison(:a, :b) + refute_predicate comparison, :quick_equal? + end + + # Test #different? method + test "#different? returns false when comparing identical images" do + comparison = make_comparison(:a, :a) + refute_predicate comparison, :different? + end + + test "#different? returns true when comparing different images" do + comparison = make_comparison(:a, :b) + assert_predicate comparison, :different? + end + + # Test #dimensions_changed? method + test "#dimensions_changed? returns true when images have different dimensions" do + comparison = make_comparison(:portrait, :a) + comparison.processed + + assert_predicate comparison, :dimensions_changed? + assert_kind_of Reporters::Default, comparison.reporter + end + + test "#dimensions_changed? returns false when images have same dimensions" do + comparison = make_comparison(:a, :a) + comparison.processed + + refute_predicate comparison, :dimensions_changed? + end + + # Test reporter configuration + test "#reporter returns Default reporter by default" do + comparison = make_comparison(:a, :a) + assert_kind_of Reporters::Default, comparison.reporter + end + end end end end diff --git a/test/unit/image_preprocessor_test.rb b/test/unit/image_preprocessor_test.rb new file mode 100644 index 00000000..ae1341e9 --- /dev/null +++ b/test/unit/image_preprocessor_test.rb @@ -0,0 +1,92 @@ +# frozen_string_literal: true + +require "test_helper" +require "support/test_doubles" +require "support/test_helpers" + +module Capybara + module Screenshot + module Diff + class ImagePreprocessorTest < ActiveSupport::TestCase + include CapybaraScreenshotDiff::DSLStub + include TestHelpers + + def setup + super + @test_images = [:base_image, :new_image] + @driver = create_test_driver + end + + test "#call returns original images when no preprocessing options are provided" do + preprocessor = ImagePreprocessor.new(@driver, {}) + + result = preprocessor.call(@test_images) + + assert_equal @test_images, result + assert_empty @driver.add_black_box_calls + assert_empty @driver.filter_calls + end + + test "#call applies black box to skip areas when skip_area option is provided" do + skip_area = [{x: 10, y: 20, width: 30, height: 40}] + preprocessor = ImagePreprocessor.new(@driver, skip_area: skip_area) + + result = preprocessor.call(@test_images) + + assert_equal %w[processed_base_image processed_new_image], result + assert_equal 2, @driver.add_black_box_calls.size + + first_call = @driver.add_black_box_calls[0] + second_call = @driver.add_black_box_calls[1] + + assert_equal skip_area.first, first_call[:region] + assert_equal skip_area.first, second_call[:region] + assert_equal :base_image, first_call[:image] + assert_equal :new_image, second_call[:image] + end + + test "#call applies median filter when VipsDriver is available and median_filter_window_size is specified" do + skip "VIPS not present. Skipping VIPS driver tests." unless defined?(Vips) + + @driver = create_test_driver(is_vips: true) + window_size = 3 + options = {median_filter_window_size: window_size} + preprocessor = ImagePreprocessor.new(@driver, options) + + result = preprocessor.call(@test_images) + + assert_equal ["filtered_base_image", "filtered_new_image"], result + assert_equal 2, @driver.filter_calls.size + + first_call = @driver.filter_calls[0] + second_call = @driver.filter_calls[1] + + assert_equal window_size, first_call[:size] + assert_equal window_size, second_call[:size] + assert_equal :base_image, first_call[:image] + assert_equal :new_image, second_call[:image] + end + + test "call warns and skips median filter when VipsDriver is not available" do + window_size = 3 + options = { + median_filter_window_size: window_size, + image_path: "some/path.png" + } + + expected_warning = /Median filter has been skipped for.*because it is not supported/ + + warning_output = capture_io do + preprocessor = ImagePreprocessor.new(@driver, options) + result = preprocessor.call(@test_images) + + assert_equal @test_images, result + assert_empty @driver.filter_calls + end + + assert_match expected_warning, warning_output.join + end + end + end + end +end diff --git a/test/capybara/screenshot/diff/region_test.rb b/test/unit/region_test.rb similarity index 73% rename from test/capybara/screenshot/diff/region_test.rb rename to test/unit/region_test.rb index 494d9e20..9f2068c9 100644 --- a/test/capybara/screenshot/diff/region_test.rb +++ b/test/unit/region_test.rb @@ -4,7 +4,7 @@ module Capybara::Screenshot::Diff class RegionTest < ActiveSupport::TestCase - test "move_by moves region coordinates" do + test "#move_by updates region coordinates by specified deltas" do region = Region.new(10, 10, 10, 10).move_by(-5, -5) assert_equal 5, region.x @@ -13,7 +13,7 @@ class RegionTest < ActiveSupport::TestCase assert_equal 10, region.height end - test "find_intersect" do + test "#find_intersect_with returns intersection with another region" do crop = Region.new(5, 5, 10, 10) region = Region.new(10, 10, 20, 20).find_intersect_with(crop) @@ -23,7 +23,7 @@ class RegionTest < ActiveSupport::TestCase assert_equal 5, region.height end - test "find_relative_intersect finds intersect and returns relative position" do + test "#find_relative_intersect returns intersection with relative coordinates" do crop = Region.new(5, 5, 10, 10) region = crop.find_relative_intersect(Region.new(0, 0, 20, 20)) @@ -41,21 +41,21 @@ class RegionTest < ActiveSupport::TestCase assert_equal 5, region.height end - test ".from_edge_coordinates returns nil for missed coordinates" do + test ".from_edge_coordinates returns nil when right or bottom is nil" do assert_nil Region.from_edge_coordinates(0, 0, nil, nil) end - test ".from_edge_coordinates returns nil for bottom before top and right before left" do + test ".from_edge_coordinates returns nil when region has zero or negative dimensions" do assert_nil Region.from_edge_coordinates(10, 10, 9, 11) assert_nil Region.from_edge_coordinates(10, 10, 11, 9) end - test "#== can compare with Region" do + test "#== returns true when comparing with an identical Region" do assert_equal Region.new(10, 10, 10, 10), Region.new(10, 10, 10, 10) assert_not_equal Region.new(10, 10, 10, 10), Region.new(10, 10, 10, 11) end - test "#== can compare with Array of coordinates" do + test "#== returns true when comparing with equivalent Array of coordinates" do assert_equal Region.new(10, 10, 10, 10), [10, 10, 10, 10] assert_not_equal Region.new(10, 10, 10, 10), [10, 10, 10, 11] end diff --git a/test/capybara/screenshot/diff/reporters/default_test.rb b/test/unit/reporters/default_test.rb similarity index 100% rename from test/capybara/screenshot/diff/reporters/default_test.rb rename to test/unit/reporters/default_test.rb diff --git a/test/capybara_screenshot_diff/screenshot_namer_test.rb b/test/unit/screenshot_namer_test.rb similarity index 95% rename from test/capybara_screenshot_diff/screenshot_namer_test.rb rename to test/unit/screenshot_namer_test.rb index 6ff22e3c..ed65fc03 100644 --- a/test/capybara_screenshot_diff/screenshot_namer_test.rb +++ b/test/unit/screenshot_namer_test.rb @@ -77,7 +77,7 @@ class ScreenshotNamerTest < ActiveSupport::TestCase assert_equal expected_path, @screenshot_namer.full_name_with_path("image_a") end - test "#full_name_with_path with nil screenshot_area" do + test "#full_name_with_path handles nil screenshot_area" do namer_no_area = @screenshot_namer namer_no_area.section = "s" namer_no_area.group = "g" @@ -105,14 +105,14 @@ class ScreenshotNamerTest < ActiveSupport::TestCase assert_equal expected_path, @screenshot_namer.full_name_with_path("new_image") end - test "#full_name_with_path with active group for duplicated name adds counter" do + test "#full_name_with_path adds counter for duplicated names with active group" do @screenshot_namer.group = "user_flow" assert_equal "user_flow/00_step1", @screenshot_namer.full_name("step1") assert_equal "user_flow/01_step1", @screenshot_namer.full_name("step1") assert_equal "user_flow/02_step1", @screenshot_namer.full_name("step1") end - test "#full_name_with_path without active group for duplicated name ignores" do + test "#full_name_with_path ignores duplicate names without active group" do @screenshot_namer.group = nil assert_equal "step1", @screenshot_namer.full_name("step1") assert_equal "step1", @screenshot_namer.full_name("step1") @@ -148,7 +148,7 @@ class ScreenshotNamerTest < ActiveSupport::TestCase assert_not Dir.exist?(dir_path) end - test "#clear_current_group_directory is safe when directory doesn't exist" do + test "#clear_current_group_directory handles non-existent directories" do @screenshot_namer.group = "nonexistent" assert_nothing_raised { @screenshot_namer.clear_current_group_directory } end diff --git a/test/capybara/screenshot/screenshot_test.rb b/test/unit/screenshot_test.rb similarity index 63% rename from test/capybara/screenshot/screenshot_test.rb rename to test/unit/screenshot_test.rb index b2fa1716..718a76a0 100644 --- a/test/capybara/screenshot/screenshot_test.rb +++ b/test/unit/screenshot_test.rb @@ -4,25 +4,25 @@ require "minitest/mock" module Capybara - class ScreenshotTest < ActionDispatch::IntegrationTest - def test_screenshot_area_abs_is_absolute + class ScreenshotTest < ActiveSupport::TestCase + test "SnapManager.root returns an absolute path" do assert CapybaraScreenshotDiff::SnapManager.root.absolute? end - def test_root_is_a_pathname + test "Screenshot.root returns a Pathname when Rails.root is a Pathname" do # NOTE: We test that Rails.root is Pathname, which is true. assert_kind_of Pathname, Capybara::Screenshot.root assert Capybara::Screenshot.root.absolute? end - def test_root_could_be_assigned_relative_path + test "Screenshot.root can be set to a relative path and is converted to absolute" do @orig_root = Capybara::Screenshot.root Capybara::Screenshot.root = "./tmp" assert_kind_of Pathname, Capybara::Screenshot.root assert Capybara::Screenshot.root.absolute? ensure - Capybara::Screenshot.root = @orig_root + Capybara::Screenshot.root = @orig_root if @orig_root end end end diff --git a/test/capybara/screenshot/diff/screenshoter_test.rb b/test/unit/screenshoter_test.rb similarity index 96% rename from test/capybara/screenshot/diff/screenshoter_test.rb rename to test/unit/screenshoter_test.rb index 0c76ae2c..6a44b77b 100644 --- a/test/capybara/screenshot/diff/screenshoter_test.rb +++ b/test/unit/screenshoter_test.rb @@ -5,7 +5,7 @@ module Capybara module Screenshot - class ScreenshoterTest < ActionDispatch::IntegrationTest + class ScreenshoterTest < ActiveSupport::TestCase include CapybaraScreenshotDiff::DSL include CapybaraScreenshotDiff::DSLStub diff --git a/test/capybara_screenshot_diff/snap_manager_test.rb b/test/unit/snap_manager_test.rb similarity index 100% rename from test/capybara_screenshot_diff/snap_manager_test.rb rename to test/unit/snap_manager_test.rb diff --git a/test/capybara/screenshot/diff/stable_screenshoter_test.rb b/test/unit/stable_screenshoter_test.rb similarity index 88% rename from test/capybara/screenshot/diff/stable_screenshoter_test.rb rename to test/unit/stable_screenshoter_test.rb index 26f4001d..391b39dd 100644 --- a/test/capybara/screenshot/diff/stable_screenshoter_test.rb +++ b/test/unit/stable_screenshoter_test.rb @@ -5,7 +5,7 @@ module Capybara module Screenshot module Diff - class StableScreenshoterTest < ActionDispatch::IntegrationTest + class StableScreenshoterTest < ActiveSupport::TestCase include CapybaraScreenshotDiff::DSLStub setup do @@ -17,7 +17,7 @@ class StableScreenshoterTest < ActionDispatch::IntegrationTest @manager.cleanup! end - test "#take_stable_screenshot several iterations to take stable screenshot" do + test "#take_stable_screenshot retries until images are stable across iterations" do image_compare_stub = build_image_compare_stub mock = ::Minitest::Mock.new(image_compare_stub) @@ -34,19 +34,19 @@ class StableScreenshoterTest < ActionDispatch::IntegrationTest assert mock.verify end - test "#take_stable_screenshot without wait raises any error" do + test "#take_stable_screenshot raises ArgumentError when wait parameter is nil" do assert_raises ArgumentError, "wait should be provided" do take_stable_screenshot_with(@manager.snapshot("02_a"), wait: nil) end end - test "#take_stable_screenshot without stability_time_limit raises any error" do + test "#take_stable_screenshot raises ArgumentError when stability_time_limit is nil" do assert_raises ArgumentError, "stability_time_limit should be provided" do take_stable_screenshot_with(@manager.snapshot("02_a"), stability_time_limit: nil) end end - test "#take_comparison_screenshot deletes runtime files on completion" do + test "#take_comparison_screenshot cleans up temporary files after successful comparison" do image_compare_stub = build_image_compare_stub mock = ::Minitest::Mock.new(image_compare_stub) @@ -68,7 +68,7 @@ class StableScreenshoterTest < ActionDispatch::IntegrationTest assert_not_predicate snap.path.size, :zero? end - test "#take_comparison_screenshot fail on missing find stable image in time and generates annotated history screenshots" do + test "#take_comparison_screenshot raises UnstableImage when stability timeout is reached" do snap = @manager.snapshot("01_a") screenshot_path = snap.path diff --git a/test/capybara/screenshot/diff/vcs_test.rb b/test/unit/vcs_test.rb similarity index 79% rename from test/capybara/screenshot/diff/vcs_test.rb rename to test/unit/vcs_test.rb index 7e888280..e0794a43 100644 --- a/test/capybara/screenshot/diff/vcs_test.rb +++ b/test/unit/vcs_test.rb @@ -5,7 +5,7 @@ module Capybara module Screenshot module Diff - class VcsTest < ActionDispatch::IntegrationTest + class VcsTest < ActiveSupport::TestCase include Vcs setup do @@ -19,8 +19,8 @@ class VcsTest < ActionDispatch::IntegrationTest end end - test "checkout of original screenshot" do - screenshot_path = Screenshot.root / "../test/images/a.png" + test "#restore_git_revision checks out and verifies the original screenshot" do + screenshot_path = file_fixture("images/a.png") base_screenshot_path = Pathname.new(@base_screenshot.path) assert Vcs.restore_git_revision(screenshot_path, base_screenshot_path, root: Screenshot.root) From 74fc271455e2fc2a6a3aeb23a3dbca3e2243e969 Mon Sep 17 00:00:00 2001 From: Paul Keen <125715+pftg@users.noreply.github.com> Date: Sat, 24 May 2025 17:10:49 +0200 Subject: [PATCH 307/312] bump v1.11.0 --- lib/capybara/screenshot/diff/version.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/capybara/screenshot/diff/version.rb b/lib/capybara/screenshot/diff/version.rb index 11cd901d..bef36d91 100644 --- a/lib/capybara/screenshot/diff/version.rb +++ b/lib/capybara/screenshot/diff/version.rb @@ -3,7 +3,7 @@ module Capybara module Screenshot module Diff - VERSION = "1.10.3.1" + VERSION = "1.11.0" end end end From 359b4e4e6daa1608604302738ae47a88c9094a08 Mon Sep 17 00:00:00 2001 From: Paul Keen <125715+pftg@users.noreply.github.com> Date: Sat, 13 Sep 2025 17:45:04 +0200 Subject: [PATCH 308/312] test: new ruby 3.5 (#146) * test new ruby 3.5 * updates * cleanup lint * cleanup * exclude jruby 9.4 * adds rails81 --- .github/workflows/test.yml | 11 ++++++++++- gemfiles/rails81_gems.rb | 7 +++++++ lib/capybara/screenshot/diff/area_calculator.rb | 2 +- lib/capybara_screenshot_diff/screenshot_assertion.rb | 6 +++--- test/support/test_helpers.rb | 1 + 5 files changed, 22 insertions(+), 5 deletions(-) create mode 100644 gemfiles/rails81_gems.rb diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 24355993..2f6f9df0 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -95,10 +95,10 @@ jobs: matrix: ruby-version: [ 3.4, 3.3, 3.2, jruby-9.4, jruby-10.0 ] gemfile: - - rails70_gems.rb - rails71_gems.rb - rails72_gems.rb - rails80_gems.rb + - rails81_gems.rb experimental: [ false ] exclude: # We already tested last version @@ -109,7 +109,16 @@ jobs: - ruby-version: jruby-9.4 gemfile: rails80_gems.rb experimental: false + - ruby-version: jruby-9.4 + gemfile: rails81_gems.rb + experimental: false include: + - ruby-version: 3.5.0-preview1 + gemfile: rails81_gems.rb + experimental: true + - ruby-version: 3.5.0-preview1 + gemfile: edge_gems.rb + experimental: true - ruby-version: 3.4 gemfile: edge_gems.rb experimental: true diff --git a/gemfiles/rails81_gems.rb b/gemfiles/rails81_gems.rb new file mode 100644 index 00000000..acc0ba85 --- /dev/null +++ b/gemfiles/rails81_gems.rb @@ -0,0 +1,7 @@ +# frozen_string_literal: true + +gems = "#{File.dirname __dir__}/gems.rb" +eval File.read(gems), binding, gems + +gem "activesupport", "~> 8.1.0.beta1" +gem "actionpack", "~> 8.1.0.beta1" diff --git a/lib/capybara/screenshot/diff/area_calculator.rb b/lib/capybara/screenshot/diff/area_calculator.rb index a9e2d79e..521616f5 100644 --- a/lib/capybara/screenshot/diff/area_calculator.rb +++ b/lib/capybara/screenshot/diff/area_calculator.rb @@ -48,7 +48,7 @@ def calculate_skip_area def build_regions_for(coordinates) coordinates .map { |entry| Region.from_edge_coordinates(*entry) } - .tap { |it| it.compact! } + .tap { |region| region.compact! } end end end diff --git a/lib/capybara_screenshot_diff/screenshot_assertion.rb b/lib/capybara_screenshot_diff/screenshot_assertion.rb index ea3380cf..a0e70bc6 100644 --- a/lib/capybara_screenshot_diff/screenshot_assertion.rb +++ b/lib/capybara_screenshot_diff/screenshot_assertion.rb @@ -18,9 +18,9 @@ def self.from(screenshot_job) return screenshot_job if screenshot_job.is_a?(ScreenshotAssertion) caller, name, compare = screenshot_job - ScreenshotAssertion.new(name).tap do |it| - it.caller = caller - it.compare = compare + ScreenshotAssertion.new(name).tap do |assertion| + assertion.caller = caller + assertion.compare = compare end end diff --git a/test/support/test_helpers.rb b/test/support/test_helpers.rb index 619ade06..030e718d 100644 --- a/test/support/test_helpers.rb +++ b/test/support/test_helpers.rb @@ -4,6 +4,7 @@ module TestHelpers include Capybara::Screenshot::Diff::TestDoubles + # Common assertions for image comparison tests module Assertions # Asserts that a dimension check was called a specific number of times From c5ad6691f8f1be61ea5811c2a46c33c1560fff58 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 29 Sep 2025 22:32:22 +0200 Subject: [PATCH 309/312] build(deps): bump actions/checkout from 4 to 5 (#144) Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 5. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v4...v5) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: '5' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/lint.yml | 2 +- .github/workflows/release.yml | 2 +- .github/workflows/test.yml | 8 ++++---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 96fb9a43..19017faa 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -20,7 +20,7 @@ jobs: steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Set up Ruby uses: ruby/setup-ruby@v1 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index babe6426..4db8f0bc 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -13,7 +13,7 @@ jobs: steps: # Set up - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - name: Set up Ruby uses: ruby/setup-ruby@v1 with: diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 2f6f9df0..35fe406d 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -38,7 +38,7 @@ jobs: runs-on: ubuntu-latest timeout-minutes: 5 steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - uses: ./.github/actions/setup-ruby-and-dependencies with: @@ -55,7 +55,7 @@ jobs: steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v5 - uses: ./.github/actions/setup-ruby-and-dependencies with: @@ -130,7 +130,7 @@ jobs: BUNDLE_GEMFILE: gemfiles/${{ matrix.gemfile }} steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - uses: ./.github/actions/setup-ruby-and-dependencies with: @@ -164,7 +164,7 @@ jobs: timeout-minutes: 5 steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - uses: ./.github/actions/setup-ruby-and-dependencies with: From 1d57a61bf3e3d2400a4a94a78ab54b6c64483bc3 Mon Sep 17 00:00:00 2001 From: Paul Keen <125715+pftg@users.noreply.github.com> Date: Mon, 29 Sep 2025 22:37:54 +0200 Subject: [PATCH 310/312] hotfix: prevent to skip the big change --- lib/capybara/screenshot/diff/drivers/vips_driver.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/capybara/screenshot/diff/drivers/vips_driver.rb b/lib/capybara/screenshot/diff/drivers/vips_driver.rb index 63e0777a..3d2b74b6 100644 --- a/lib/capybara/screenshot/diff/drivers/vips_driver.rb +++ b/lib/capybara/screenshot/diff/drivers/vips_driver.rb @@ -23,7 +23,8 @@ def find_difference_region(comparison) diff_mask = VipsUtil.difference_mask(base_image, new_image, options[:color_distance_limit]) region = VipsUtil.difference_region_by(diff_mask) - region = nil if region && same_as?(region, base_image) + # TODO: schedule research when we got this case for VIPs + # region = nil if region && same_as?(region, base_image) result = Difference.new(region, {}, comparison) From 3dbf8e948914f7af83207649d48148ed16e6a761 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 5 Jan 2026 10:50:25 +0100 Subject: [PATCH 311/312] build(deps): bump actions/upload-artifact from 4 to 6 (#150) Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4 to 6. - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](https://github.com/actions/upload-artifact/compare/v4...v6) --- updated-dependencies: - dependency-name: actions/upload-artifact dependency-version: '6' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 35fe406d..627b7b49 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -74,7 +74,7 @@ jobs: name: base-screenshots - name: Uploading Coverage Report - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v6 with: name: coverage retention-days: 1 From 62419f7432afa4e0e06cb9e099bc386f92335bb2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 5 Jan 2026 10:50:32 +0100 Subject: [PATCH 312/312] build(deps): bump actions/cache from 4 to 5 (#149) Bumps [actions/cache](https://github.com/actions/cache) from 4 to 5. - [Release notes](https://github.com/actions/cache/releases) - [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md) - [Commits](https://github.com/actions/cache/compare/v4...v5) --- updated-dependencies: - dependency-name: actions/cache dependency-version: '5' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 627b7b49..8eb22240 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -172,7 +172,7 @@ jobs: cache-apt-packages: ${{ matrix.screenshot-driver == 'vips' }} - name: Cache Selenium - uses: actions/cache@v4 + uses: actions/cache@v5 with: path: ~/.cache/selenium key: ${{ runner.os }}-selenium-${{ matrix.capybara-driver }}

    kd(d2u07{g)6U(Y=M&jC!e{Q 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 literal 20247 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 literal 20247 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 literal 20247 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 Ko3f1mqWle?Z=cct delta 2461 zcmcIl_dna~9#1*uQDSS&sFm1M+jJ9|1x}A75ymOs4;iq z8{E0QTxW+4C&me)5a#; zJ9Iv(vtihv)5qm2J0*)^g6e#y-;~Jem>Ij6<4E0;iE))|jft zNWt#uualdF30&gFOxa7dcbbDXCZzG^;Rl+}Zaw+=A@m}m_w5Gpygs_{ zia)SIpc70WuLR7?ZI~5aLA7D6%cUTwq;&Dy#wLW&@3vuo|D}hgJ>FSF4WB(d-iO}9 z2TMns((o0E=U2Y9`VxQ4wIhzp4bmwT=#$VgeYOWV@w~1a=838mlJ3-9;?v2`mRaCb z5e*jEKA|G8TM#0(bON(WoWzHaKUZ4=uVM@oa%pBG1*+wU>OmOHEYSy9=g`hck4o{e zJ*2|1^O4K)pV2_4P_DiQ;&V;%xg@Etv2RJY@)U=zO&GPQQT%3 zs^fg){B{;P?aY&*x*xv0vd|M~obX~Vz00aS-oHjKewGJSB9ac_-o1F)3&@bAW^yT^ z333}sjvXtMKlaxlw=BM}W;H6_LhXUibpvNgN2-vF#Ww%BBGLE6o>&%j8@q!`>JYit z@17iv-ay7rF^3AkPx_L0UArTWfWxSKI&R%BqX%iE`OZ-OIXqbm#~zd-p!hzP zh3h@NNz!KNNC&<3H2qZj@4zx8d0FW-))d8 zl-ZoZR+`x--#(BgOumQzx@%X#YikqXwp+*#JP3?=Tkq7JM_>^QfJ`?^Pu^9OhZBCu zSG8hPYPs=cDX{=kYhDJxPgnF?i-j4YrR=~mMo7m8LG_TBDG-`o>IQ~c%KDWZA2#sI z+tS9>x0kw=#T&f4vKzFAl=&pEIMZrY2$mmO%*ckR4_bMgJ6RXC{;2B|p1kUd1g>?j zqZ12Zk9aO~P6F1O!YpPSXQ|9lo=|HZIxOa$=NJ}$nJJFX7ZXLd1{9SNCpqK2y6*Uv zF>2G#`%f=RZix2~AN|X&ThfRn+Od>3feRf|QV`NWTFvh2cmumXRLjbxYKY;qUJ_xP z3)O!uR<=-Ni;?BhvYAh&0fQgPwsQxBOKru$3tWP5F3ne;0w0DaAP77$^`NOT5MnV)zJhRMux+9oy zrN~-qF+DJ|Qv|3>Y)IsCB`!4j`*eMZ;#n!u$v{;OvQJ3jm1S2oI_XalBy%HHUB@~f zc-`{iN@g>1sC3O#&OPRY?0bxt>A|hQhf&+w^R2%5*P{2Yg{+w>Axn|x?C)j??if#$ zB*H`13}0-&$&`r_oX&THK7UAhCVu-gJ-(KTH)d570hB#y0V3BU1~KkX>r@-eIGAKbi}X4U2^hfyc{g%Nzz?+js74I@wjP^JeKcb%(!Te;wF>` zY53&a{2lzVAAUuF)$6y5V7rk^&+n(SD_H?yP7#N??du5L@17qrAl1XV5f}E7yWDVW z#7oHh+7V&X*L>!^p`h%7I)Ge09JUGYCN}Dn>K;n@fr#!3Gyn~#B69Rn@`}*%a>=}SB zs3U|~Oj6+y?(^}BuUcr;$VAol&uS{?!;Ipu!=5$C95&eT%Q=0USxz3p@E}d|9<)yX zdye%uz8&D?3RYqM&t&Uq*AtEnOu53mB;e1{rT9%K!l6Z#+UDi9>pwoQJXeg&gd)QR}i}wGw5g^`P?0-ux2$q6_=*vjYT=xyaIp!Zw CpQ_~m diff --git a/test/fixtures/app/doc/screenshots/macos/selenium_chrome_headless/index-blur_active_element-disabled.png b/test/fixtures/app/doc/screenshots/macos/selenium_chrome_headless/index-blur_active_element-disabled.png index d35d89adc51431143e219ca0e9e2d5f77a6d5db9..936dcc55f2e017c9107a44a078fc71e264609380 100644 GIT binary patch literal 21105 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 X7HML;@~<{%5f-{L{4;(~+{u3d>d^ks diff --git a/test/fixtures/app/doc/screenshots/macos/selenium_chrome_headless/index-blur_active_element-enabled.png b/test/fixtures/app/doc/screenshots/macos/selenium_chrome_headless/index-blur_active_element-enabled.png index a300a553aac2380a33cd2e83fe02dabc5b9fd40e..e1fa7be172fe2ee993c99dccd7674ef468be2c96 100644 GIT binary patch literal 20775 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 literal 21686 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 diff --git a/test/fixtures/app/doc/screenshots/macos/selenium_chrome_headless/index-cropped.png b/test/fixtures/app/doc/screenshots/macos/selenium_chrome_headless/index-cropped.png index 21090013c0f180e79c2d925a1d32d2d9909e69e1..d1fa4f384184c32fc920fb7f2e8c29a0c9cc30b4 100644 GIT binary patch delta 3015 zcmYjSc{tQx7q2lg4KfpIjBSvuWF3-($so#_HTx(c%TV^^+gQfFBx|-JF=0x!iR@cc zWBu88ipExxr6}I1cX{6P&w0+d=lPs-&;3026OJt8N%;w+>0&Xa0lDjW-SJ$8yxqHk zUuiv$SU3b!A>pWSh%m$AVhSbV;^K~qe9kq(w3Z``SKYHG?bMDkL>yVbK|$_b{aF$@r;T2&;`s!C4XDbJ@D`#6#s2O%QeM?n%lFFQxE%9llX(=hgOVBh=~YVf87a3SjrNGbHnO|Q5(F;aq~4vPREAvGZP|(A zKDR`Xfvurxt?N9`@5VjZ+AY-plsu;-CK<9X&=46;z(rY6`M@w!F6)ije0ZF=USOACe4$79sIUV8oCs+zf%#eF_!!a_`N4O zxrJv(qGKSDPJ(J7kX1yn4i?2`{mW;ui=BiJhat1$)x3Fbe#}-72Pi??Zc72T!B=D! zXITw{I=SCb^DceL#Y7xqX0VX$8so)oA8xOXihu(5wn!m%)pv}SCLW3D%ky@`81=*6 z^Di9nYx(hQQN-{!V?Ltc`U~`+EkVkLBJ1mxMRK)3i5upp^^p@nW#$#~1Oyy<5@PsM z8A0wxWyk%a-3!Q;)PrApPODsW`APrOTIJGrmP_oo4PmM=*g{Rlx>kywcNWbV^VF22 zp`Cyb(w1j8X$@F@n{&bIm^yI4mbhaxN=nekvRdR@<39|0r68al#s`Pg!rR;Z)+e-R zbsm!=U>vs8gn&;_X$;;yae`lk%YFQ{7Mp!j&U~iLSKv@V|L!O`o%r~EUN03V$J-fr zUEK+geN^nn{X<(tDK(CpAjiMnhx0zsTxGO*v}osK{o|#RF`I5z+GB$=F`A1FQ<4q| zx1x@by7N^7Qv>+HX~%Zgpi7_LXAVZJ_}}AT(1>GNJH&#sAI| z(qI!|hC`%<&C4xgPr+ltWZ6WZ6S4$^Hb@NipPCM6q%w5os{fZk(ORx+?qKq!8GpuI zgmfhcbA)0sN4em$^bT5V2_Af^$#NWcsF*+#Hbeao68-k``|{jSiQ&AGCz6s*SrC%= zLjUw0-e(z9k}RlB?6$Qpw|HsS(?qG~5L8QBl=cP%9{dW#uZ~m{!Yhp%daP0Pd)>v? zGH>O~pP0l7+BNu{x2eX&YlBWYzVoZ|oNjY!4BAf3*R6{M-CupdsuG3pxA_dTazlh~ zWuq#h7oQTLyxL9ApkNC>o9^jCR+JHop`EI);;D!`sw-oaMFHar@M|(fm>XO26DyV8 zE8dnzwVZmaa!*|Ft^FcbEiK2p#U`b!(_WzB`@*K18zQ|PuqkXAgsdg)Z%j7;KbFxn zBnk9%U{7wIY@EPSULV&$&;zhv8w0*w2~Wc(ZjQbz7#8X^;%$`X$MTQn*}VKnlen4L zr`MN%x&0q5TLNBiiiu25^O&sF!dbA12+{>`lJ(_%WZQbx|0U=i6Hl=|1^_u8H=@CNbQW)s z1gW1~srU~ZDs6Kk+I@KFYe>gBGwjT&Enzl-(j1Wm+eps;AWIiDLt!W32ei{&+iXR5 z(mHaST>729CPixT+*dEiHa3aims=8nC2U>t-?%DM%&PFfD*|szZFg`{pTzPY|7`dS z$w9qenMcjh;sMb0unIK4x4qh)VvQtq5jl&fY^Mt_l&N%+)E|4>ccXSii4SG8*5f~Mbh9nm-xvlt zBD!en86UbzCF5?Qh{i+zrf*ExD_o~u^@9pG90HIug+UA=Kk#){j}VS>jv2W>|^885W)n#PHhY2b5S>Rm_qo`yrn^ANBF`{~@1J(J7N4V=da99->i zYHLFV*MKzkRH~kaZNJNhEV%bkp;xgQ64VldWP!`V^L6Je$Y~HvF2_Ho<5A@zI!Rda zqjQN>hUN?v!(U#<_!MU)aY9^Aq4^#F!8WfPFj&+tJMu#%DFrtHIHaAGKPY8v@Z<7) zVYZXvpx4gYxG-1kOPe>szOeKO`N*NvqKH1Q!O_`@qy&Ztv3`$2an15 zh@5a>{Pt4wrYw4#_;-br~ZhrkAa01EhZd*% zi-$R)j7v$2*ajO}psY-;?}G-`>S;A>kEe8)+d3ecH>nrmGT)(Prq$X{vE64cDIRc5 zF4ROI%W^!k^L1`q+0QOu@Gt&a{pVvHX46smn!!v)gcOL*#o(RtHIWMICf8gul|^31>R?VLLebNbKdCi;5S`9b7;t~l9J1WN<-KY%{XNkbo)+% zT8v(al^IH<<0ui2yqD^QTn-^xG6rn`4Fn*G8PaFu6am7pTCZ%&^tWn`MNbdP zo!CAAe2anV*!0XuzM(^R+rwUuEVN3-kwSkA%FT%)vl`Ic(nP1z@gqI!{E&~ID4z}c z0MV3?A?0O}6e-E)p$vNX02}ezdErWgVd+~j#q8nYf>nCAvThd;scz2J$jgV{>eaXx z-H+x)?m?JQFW zEiuT01`7d?GbP=fL5T~Z=)qXgUBCi+i)K0`c1}v1WzZ1OycU%5whx|1WN= zZ)$L&Ph&K;A{-IM{lw!PvM2w@8}yI737MlZj!noOi2T=^{fQ-f>8E0f2}*hdQ-US( zPSLO~_unw@ZM0<^BTtiOKHf2?!Rwp%zw@gmmFRwLl92~lLyUn?%F0zElffu;dtCSz q>aTYkM*nGw0T&9ETUMSt|5d%uKtI*zMVI>#hUsb34Z3tE}o@ zxpF1guwg^S^Kak24OXvS9lU(`va*_JR5J=NkoxuO2L%NM@^6b4ErMpvngw<0)RFg2 zoH!vBXU?1{#}6JnsPsl0IdUXu-MY1We(l<|r47xSHxKI7t0(Uj78XjqlP6EgvCrt0 z>C>l6-Nua@Cx4#jcQt6xKk5R+qdBQ z_3Np>h`ayTv12oyfB5jBw4s0h{*m|BuU{XG88aq4#+ZNp{F&8vwr$%sqd=gzxYz_@ zcoBi@-o3kwK;XrT7vfq~l;6L92mSi>3%Yjgnz0Vxc2<{^QpeKbLY-pf$ZPE z-vnZK$taMaLx+a1xx0@WH!i4Et5)#g!-t@>v@{qzcyLg+Ze6(x}akuc_F=hqdUybSg`}cC^ZPKKP z9Akv-+O-p5?Ay05=+L2qT=VGBqwq6u*D%U1UAkl(e8i45rNE_HA_T9&qwLqySJRj(7_c5qS2mC*}8RW85c{%Wf+i^iv=rJu8as|{P^)@ zM1O=aQ-^{J=1#|ED-hSkqCKuam?Uro(!G0k>6v!z+7&7EHsA_GuidVg*i#+A$cQ8xFGaI0X;eR`| zJ^EmfUXD6UEO3ll_T|eLam{%4bLY;Ttp9*U^`>CivSl(wilOlDqD70!RC3)W3>Y^B zqvV)gK|?hVh|X;F=+Q&|Rrf~)#+V`Qz8ySxPz+ngFH8VvPo*%`tTSoMpy^$o_Ud&M zdP6{%^l-dKyMSvnLV$CvTD6kb%zwfm+@uGlM$M*DgB5vJ!JYcnty_`VE#=+2ca`~d zA)h{dl5qr2>&pYd;;P}&Aws63U1+;uC>G6Y7#>U@hT*{kVi+DoAj5|bw_?RgtcXDL zg<%*`(1r=bFfw2QF$@nT5X110C=ec`b?n$t@;Z`Au7rb=Bkv21F^r0mD1Q)*p(0C< zkoS1W6@ic(HE`g-s&0l+jqwV^4GWJ$NQoOyMR+-(8?JaBKYlF1g>Fs=y_3dRao!E{ zAT)*dlIoHH7!O@Z63El1PbG{bS43>&H>m|e#4dF-nMs!fB0rpfKwYj!3+LhD#fx&> zsZ*!$T(@rBq-WA&0vz4C^nYY}j-bNt-@nUwS0IQ`(`Pjhkx+KSs0dzx5HZ`cXU|9> z@>lB+eM|Vbu2r>S#R@q`#4QoK@Xu*fH@pJDXfZUmxPOCUawasK9D`S$ zJb4m4d-hDi(^+ApSFc`DhlpD>dQEWBwXj&d#QkpaGqf(R6+-Pb0m>B!?Vt@LOHl|{ zcN41&BMqrtECrW`y4$vG3*RFjLvt?3FF|O$X56AifA{WPsmtA-I_bFdQXI2h7R1LOd@t8AVCQ{~H9goc(tqF;NT$O00prAdVq5{b z;M%%%>m)Z^({V9U*2dDs*mPYh#vXt%CkX^MO$EZ3L%*AaAQV?1h}NAMV{I)>y)}%q z{IyUMW~_L|QIV|@+};Kuu~JHTkaC-p>T4Kj$mv+DxI1PT|C*c@2yPfFqv&AYF#a_; zEfB+~YD^%8;eSB{qA#piu@Ws{tC|>w2NQ^4cnAf;GYb}PW{q0*1>}KYE(LUrP9bE3r{sjYYY2O;!0PQholn}AM9){|me#~{ zk)NUqYNu(Fk>7|wSfQQWniLENk>r{{VA!x>USq86Eq|@)O??8%rcFlvQb0Tv1~6#Q zpvVdK@5@DjByIiX@;A1$=KFjCDX&dN{vthyx+UCY$@Bw+#c-A{UoPj!>;nWr-Z>D!s0Ii`|Em9vIQ1B#Q%Kq67-J^qgzK{rNVZ#A18rse zg+c3gxLJ~Mft1%KBA7YWjfIT-C7i|Lj;VW}Q-262r)L1&>WtJ_#KRp@cWyd%>{w(0 z2V5Bjwr9?q3HKD#!7*U4yr;85bwz5j~Ao3i9rFIrCUL1;qU_sD542z44Bik*XJ$p7>cp=Fkm`dfGyK9p! z@_#UQ?p!&>J<*j+07Fz`)2*l7wA)O(>ndrsw5A6j3o^c)w7Q$FK+?3y$X`St>N+Xh z`E@}CraI@%n$!g(tv$M&b%2O`DATMFgTd!GF3i2*nUcR$>6_u5ShS*X(r5W|^ErL<$ei zFdCh5#nn+*JIl=?^a+GnH0rXww30?3apD4Da)8ft_c)v~WlH#*#1%-IHW~Sg2*kak z19wlx1{g1}a)|aQg@uK(S_lJeHqK;VtLJd3FifsxRYhj2a9#(8SiGhV1AIiO3&ds0SWL5}wN5(ld&zxg^%R|0(7(@+Aw#lm6YG01 zF45m;E|So6ong})b$@rdSV^;`HRBA@c^QM~_h9^l+yD;&VZY`8iofGh+%jzff$AdOS!dTB|{N`=nKOzqM!{Eh<{;Zzyx9# z9!wyH;UQ5Vwhgpl{2@^wwhgpl{J|>_+XmXG>7*8jZ3Au81iS*VZJ>>sj#nVI4YX0y zN$p}OwhgpVovDyOY#V5!y5kjyZ3Au8bi4w|RBRh)qo(lJLQQNNXrnri)3I2#4YX0! zrpIl=$;c((_TzsI`(`w##0fY;&o{PzwFB_0NX z0DENR#z5$f;?|wO1S%#c{zVYAy7=O+`--rSZVf=TS;qbJ;U;Mn#2@nVc zx^w}H3&>a;-l>`F&7_7OMA*gpY?t^XZ9VUYz;+rtYV!t@g|LUoK_X zU*I|&b+aEb5q}YqDLW&6^1`v$THGUpk4U%Q-H4xiVUKq5F{A4l^R#O_RsM^W8)wWF z+Guj0T}!L`C#y6)PB?z;52MgCJkBPHUP{D$xfVWmG#=PmoBjY2zLY3h#LM^)_?YL; zj5<7^SS~^jcrX6^|Nb)?8ehIZ3s0Xg32#(g&uC41b}*Yd^--|#yVSYue3t`}EJ;lG zM0`P7pxW?{uRHCx@k1iUK_#lwFT*{a?vuh_>@?i#xL@-ePrJh^FwvMX@qRS4Xsewk z+mk4;@@7ir_<^(PRMuM2-Q~@L?PRyf+O3VM4%hI&@zfrqVE;p2ru0T(_*tJZAl_Dwa3w9w>zecwefc ztY?LiLMKBq9`xVoI7?YMkH=~{_F441thQAhP0cdX`(4g_N<*3Nv51oglPz&df_4pI3X^JrlCZb~ z3a#L*TE_nDR6S<2(3+8fkn>?jl`T#zB4pOf%Ux+N-A<8jf4#5sVq=7?WBR;45@qSF z0bya)Zgo?>b?xb^WKW!DdHrnEsz%+0H75J~%x2H%er0O?g!CSDu-*usszh(+&?J6s zcngW=2nrg<&yVfs1DC=prx=0c=6-JW1*IYzFX6Pic;N3}H(aUA?HXZnKjIZm{3jX? zGl$uBt`RI*$<&97nIt8;jQl{?gNV?v2rJ3a@+ zxEpXGgb1d7JM9WWXxV$OD93y4eA_CAuTsihl?&b~`E2%955)j9=(I1>?zhY@2E=Y` ziYe#|4qeRetl#r=&+QWP0?$nar0X1KO{zdrH&$z01BWc+MP3OIEbpkJs8C59XZE+l zP27kAyIU@=#1!=5xnT0K(q=Uu_tYqzQ+gG-t61mB1M5J?Ipj3OY>sNShF z(n%+Xp(|>Kt4i_4P0$y+J)Y%)IT9+|c=oa7$k$&>pL={RL-!i5Lq`ZKQBZnd7OG|M zr20kg@dgN(48lgC+r(SLURqJ(<5-Dyp*x8(&+S{J83>?weP#yn&{Kr0Fz#y>WLQ6$ zg1FG2)F_dGr-4KJvNyv7wKbsVBKU9ns0h6p#aD(PwK&xEdjn*o@@||r%}vC5!TOE|8EX1;G0@m4D?g83u_}Gg z)~f$hay9~mv){DVe3lj0Q_vGE!|;&iv~5MS%RfSQKn*I*&Sf43bm8(84Uf`YG4Vd!i>eO*PFKBNbT-Y$XT~o+P zQ@LZD!w?QBa+j5kp_|6)^{P())*!%&xl7$YVFeLF1bfmR4g)_~6x6+I%ytCEAQl|$ z#QC|jrEk>hPx7A2&OKhJyR2PkiWO#*PQ#x z-<9XDk=Iy@)piY4CJrfp;*HH?rT1cRL_xW3ihZ-;2Y2NYhJsKo2DBi7O}q7Zr_60l zjU89~?A4RbeT5_Tjm=lSuVT4G(|7U{NpB^zwa};#%}4@BTPp{f>D}TH@O0J^cM5(K zhe^@bd8JwdVMg;A*8g^m`Vy`C`f9Nth zZi&;h@HtYmFeLAb#-8|YhP#2A7S-nZhSuqlkZO{MhAf`Awza2u0vO08k!UCq%+SXQ z#-dToEwhmWmBSwR<~7%CE=KBFI8r<1UQ*v1?mYkWo;ss^`)<2R$7UFzqBql42RSZ> zMyeY#5l&x*AcM{qriiK_xj9TNe+3gTrI zRx=z?q1aH9;Z0dqCVwhk37Dmmjd;LPRx#@;$>ML=Olz; z+lholMKS0Cb2q0tcdge?Ph&mv$o;ql_b#n$iXj&PnFu0Fo0Y)@abmUNBiZ{%Ad`!l zy@jI?e1_F8w@DPmSG}C%P@>BlnriH{;Yz!r0$RTAjHVi&tcwgM_$u#G6|9}Oc((!i zHtTv5;FdZ&}?z zB$SVN-yq4kAng3P$S5S))yDunHWv1@r((oYJ*CKsz;^F4#dr><4Cg(ZRSu=fjv$Lq zzg@wGsqPjV+cRFi1H+daOGo-Fv}(m3vgZ{pm@@GYN=E$sxTFr_>r9}D5u9X@MBB@V@%?WG%4o_;5Yd)h6E2e>(I~K&`D2G=gMc8LN9h*L z`EJ|Fb4jM3Syk^B|0ihCsKH-x74hN=hRwj(p%l(50Y-=uw`EU}@)kMAHTH_zDoJlo zr!}M+>oBTtAx9`JjirP>o%DQ|Q+)y`G3x};#yP3H$9nXrB;*kGE{TZa7%st6 zdY2w%&FK=wom=mM!HnCLSM{jXv;1G46LH75znaaWWWABc<(VF9$rUV~c0f{aG9&5E zK|cIqAEg@nx=$H<=R|!QR*#>9?gVwulk~5aKK$e>8Kh|`^f=$I_g2?gmr2PowMOX> z=xFTp)@~)(g8IHN$_ci4_pMn+d$DEX^$`=(|JYA%ae_$6WoHTt8BFgjAhlo&rdO@C zq2p0SX2W3|BOi_xLZGZ*Eix+*mvue5iDS>a$9=bGg* zcM=r3JSZCV}%cx)zLtnNA8}klzbj{sPa;Un;B~6B#P_HG7vU2 zzty;8|FsQ<+4~8GCeQu?EkOUCjzOU4Bg}I=-3sv(Xy{-?oNR)I3LK<wf`oTjCp8J*cFtYk>Df_LD=*MbFgm)Wu9>`?(0(LT41y#>VdiYx z*utpivON|CaGsMmw|3w1cLn!7CU{kAZJS`_P4p$(}b<`R`shv~-ST z%^E@2(rOhVTr09GNT|%Y^A=gcPNrDYNhd!vn1SM~mE8^pPIDA}wCd-ab`41_{e;Wl zkm4s-KPgX6;aUM!O-$^}Nr*&QCbeaq({R(6khd1$-GS}aGr3eZrF1L*%K6RIZx${y zm&en#jW#+uq|H9`M9BPIDBU2kmS*U&1>P=cbHdVyKjQN}Psr!u#7!rXpZ{b*b z4-D%qtJO^VrYg_>xZl~zu1uo$L*)}M?c)qFF?tpZk_O9XY8@(mU$tQBSS4q~c^tBp zLu#I@uQeHgRRa>1CqiiOs|?;RYu-Y)vIYhd5^Fs6>u%n721%`tRa=+0z9=AM$^hfF z@7~p83$MG2)PhSvpi$a`<&F**q|>qq+a=o%(;QFa7h~r0R};A2!1dKl#&UwRKZ#1Z zP6l5l2}#M_e=@YdMy__+Hb0n7*I#ZUon03AyJ&%21D$}dS|t2_v8On2IRl?VipWHR z@q5g_RJniobbzv31Nj;65)I`BTI(%0Qswyzi+w#q+(z&M?9_1vM zSIHYa29a@PYaw5US6*P_bd@7yZJt~Yy1MyQddTJ%LW=MYngQ+u0YN--+kXz)`CUZQ zA_!ZX?Pl2!t@%i*x#PJwbdz~E(CfvtSO8MHr$(-3Sg5g7pn5TOkE{IM(gQZn-kDBm zb7&OE93FHQE;DEo>UrI-4Oe(8pv?o0g0MwhwD|Orm+a@P>Oh8(PUoKH;%wsV|JmFX zc0Zr+L`m_E4dGSgxvTYVH_(dKBGlx+L8Hxugf2l?(2VIPcOFfZAJCs;LAf z2p<>6MegtZR~ugHCmO*6jcSr#F1-H6*X{M)^Uqc2#?XkYrFjgpWh^T)H1$2eZT9ar z4s9r-|5)$wf8WU^Oe4V7Fo#pQ!jgfPXHnkXv4hHa3t~MxO^||xG-Ge!Hqr0TPuniq zidoawUYASvwz^a^Jeu!_e$sIDkS06?a-qQthmsOz|5@iD@nS7Ttwk;eK<5ZYx8*AX zg_3~8gCiRH-0;qFSyQz#av$0k#}Aq}V1|oFzh{Q3!lkS{lPP0?BW4@JGmV%eHZZt` z5GU2q;eK_k44I*la`AJ5*nNa$NUJB~xzR_|&pv|@vMf`OmkV2@vz!q>rsViG; zci$6EjI>TKH{nd+ARI=e$ArAI8KS8$j_-bR@CK$Rk?DJ-sw1KPY!z#&85ofpgNBdF z1&8_4Rlg|8li9Kj*6({v`N%U#F%;r%|8%o-K6jPsFY(WGf%VW}=60TLAMb3f#7Xy} zD@d&?3_|v%Ok*!l+FbV;G-16J0U43!BJ-L5r0VPFI1cSM@ebaK@8>uYfN_YB{jh~N zmHNJK^ifEj34xxsm2pIu+)6jzv{l{TFAUX(r-lziacIGL2Q@P3%L=)K>t)IF1uwPz z@YGhi=%2N#<8u$PrH5v%)IXzbAjsnLhdJXSGYcv;`ojH)iiCW>DzwEm27Z(fwGh^Y z%EY&00RcLm-cM7Z(5^ujXD3mHvMJN*1Qu;WCHX(|x4k{Wz zYBjA6Hv_KV{?@4PVM#*32LVpN# zvV|?>X-$gH6_!oR0!LawnBMZr z;Go$PZgiH^UQgzfqzbqY^ZwS!vd42wp(o9nXm2<)_ctEi&)>c?mFoHeNmeYq!sW)- zT@>K0fjhUE<@VAfNnFyNy`q*v@;9P<8MtoS>c{!^5HJsIu}cvsSy`27&CUVBQ%}st zjC+2kq9Ay0RyVE}H#e zer7y}9yRNrm};W2dB}^8Som*ql{@J3a0!$>YWW!0e*3!fm&AHEbs0XvcS0r2;a^t6 zM1o}Ca{Q9LB$aH23qbJj-qzlU$OB{Vqk41ReHGwWTQ3mq34XKa}RD%6!L`Xv( z8{Te5Td7l8vKT_4tB@DB?Ax%lV{*`gL8>FI68vM8LrW!m5L9vERLZqacS-a7tKY6L zZMD^4u4uzykxs)p*{9;Z36j?&%kWyyjaciZD&Kn6V{dG$!})(v&dj9y-E((6TLu`$ z(j9P`Z4>9H(SJCJzZ=EKfYJ~cyse(})N^LWM0b1A{wDxeUFY>sACXc$ClZgqr~nXj z{xro_%qb?>H?7$(2i~Un6V+D&$VW8LkfYjAE@Y4vTqyj_rc6gd>@mdY(y642 zH0z_I&uC_S_HJVfZ;cBF8ir~37E+ejp_@DTA{!yd=jCS<_=KvZHSzxMeFNMI?hBl# zyXk#7Jx@AA!4O6|gwWIaEjkVoFIC^+0Y7dPlYH7n-6VdXp{hXFpA8vw?&gu{b%fR| z*LX<7(`YYNH19%?ExENu`HTae|JR^O0?{`LRzqOp?L$asq>BhW@F?IgL-RHw$$l*N z+^EB=nuC4?$0xW664G*-!)?&Vlvw@@ zipHbCbk#~Bq29_uCnxHYg;%6t1S;dfay(c5cKX)d-3pH5k@=+!e!Wcii+9RI>hpXs zv2!7w7PBwwGEQ3n$~Oei6Yf_PiM@j4)rQjNI-7cDqiH@igG2asn1kcQ>+;jOQP7&~ zq1E=O@+m24SR}snt|`;$oo8z!Cg!^T-aP^-EQ&EQ5|7gQ6oCy7P%y5>ID*_ez~~xw~flC$7$d=72!j>>x&xE1tkkZoSyJ zOnP3r&~416^It%fT*)tpT-M@lb2nRfXnfycj$Kfa3#zm(0(Y7$R*WkU(hw3gT7<+e zP2E>d&Mskah%qgNv z8t)HK#nstY_BkfmObi4Rd5yT>n+5e5NuOH7oq@9>P7lx83~T6Ym$n+*&v|MFZa>L>%j=dhM^SZ8obDpHI$bF-g3MYR3)wUgv4k=9W4Mvx*A;hVf@ zWTKbWQ?+78KLr5Jxu8>)zuz_gG!K8UvgCekc;wkyHgHo!qmZ5R)-qHP?=?D`mC`_m z2m`?#W=5=R*3(QU`Vehy%g$F~*C$@_(HYyIRpEdyP7>Wi<%0p-9NAHFyV?zm(gTySz8;|9*Mu~fEOI=}6U5qw@bq*J~dn0WtzX`^fHMWUAK!~Ik>r6(39U&^* zX|7jwAYOM~FJ9nG%|#fNwo8A);eVw3giCAKA{ax1^H zm1y^U_tSKjOlwfOt#z?r20r3BZE{RbTdyc;P1EFWNF&xGfYK07_Vpv8PqDySDDpyK z5MbDgL)bkLXq*IK9@uM5;v=x@A{~<)mN#9d+t61D_d9>a?g8TM{y^!lAi-l?&rCg1 z)L@Gk*=V>v$M2|oQ8Yr-(&;@8z>*wSN7_4WGHssnz7!yc{E)bVbBnt!!!o-Dw4zR# z(_C?e)xXz=jo`|+@rL9l|AsXjAB^Tw^y5@g0qPKwj{V`=U+sBpiT3Qq@+^Vq?qK$czqnhF#*~RJdXC%M*EP@o$5pyE{m?l|(a!&I}to zQ#DVAfTCa;0vQjqKCIT^WP4;^~v_RA|@2F{BzAG?{wor<%oqGoWD-&;~#70WgnzU`;qHv!%736)O${4vbqUCpki%0+k#l0{*nQ+XWf5Wa_}EO$HaS&>pE@>7zP5t!Y-lUBRhc zIdrZsQEIS5E~TqaP4}Lm#4RKQAiLUd$q?4QxSpFMP-GO8Wy0{aFu+a6UDH|>?#F<% zPvy2J%wC1CJ|)Dh57AdOgLF4-^ErB#?j-JA>Y@ENHCHT(-vflgQuLP7CrQsL@bSI` z+{KhDIy!hHmU3}hHszX*Y1>%F#k*v^jTKZtx4QAVXnh{d$6`!>B9Q2Cr>XL#dHsCA z2J;vFYx$&x%xgNJ-1pd8l%8Q~pj)_1TxC>W5}xQErDJ8AjJ~v^Zm{S=r?LFRF9XG! zZ25W{qsMbcM<1h&f^7enb=Q(Ft^gHj!*byWS^mdRU!voilQKII-q}cPO9zB?F)tx{ zKRRl!b03btNmSBQlE7enfNoax2qu2^MT?$<@OBv#I^<9ynx#rQV$5helFnjdrdw@u z7LfSZpL2lEnQ$IL+(IK3^5a}&ZDI_>y;!J9iVx@YAY;0?ACO<0@-L4Os5vb3LEFo-7CanL9EKb1i z2N}M8DU|7Efz#Z-v10dPLS%GbZSk*6dWceQbFDzsvC%j@6)>&Ktp1`_E(3uf9MJj@0;5IK z4c_BPaVGq0gB;p$)GVXWLnI0=H7F|EIatd2Nl^+6$BL>Ya$baU<1_+fu+fy49EnM9 z4wT%g$Q)42QBp$2e1amq^@PUjAb&p{#l*#KQGMe*2Y$yeRajPbrXWbGZOq3~=dn9n7jXt)FQw6+-j*q5 zux)DwQDyiTJ%{bSp-ZgT(enA|osbZsO;qxA+w+@k-;1vd-vq|>%aAYqn^KjlU1H}? zqob*JKUL@DYWB8nW)0@r{5x5q=?MA4DHO8%sCGWSDGn%CX!krZR>_UR_MYo~lk!f7 z+rd6o z*nG!1`|6SsXnk%06~9a(trZ`x1k%IyiyMISe=uktzhiYzS<;`qyVCsxz3Rq4;*Rqg z(_@CScsDeUVcbhHb|8l#bDzyqRY~2w@z8BQ#-Uz$NeDv=BST0IG^JBcLC08z3G85| zzNZUZWKedub{tc0`W6217e4F|I6VL0Qeu5Sz zqMF?*oqeeMf>RN8U^pw2iA8@FX(VQ&Y0zm!fL z=4mdZXW$bQdCn5TZfk&n3ju|&^(dNLyu{7tr;Qe|s8sV}=4L5u)L24(NF60%PdjDm zBS{O>C zJLUs2VpvAa{<~Y|Am}7cF~wG=#eS}D_rr0;-loPobtVeuVDut_tcIkdBm0Gvcb~Mf zDoiatx|eY6?Ww&;K8>@|h!HWXs629<;i0Kkex#d?;zybfZ?jqcm^y(+TgPhAotDs7 zRv5%gbXgBuqTUR1P6dBnlPP;db5i&SY*F7McGG*`G z*^;e=eHA!(Ffm3+?oPN~j5^e59GY;UK{*YU*&+_4cxAe(oF9X-%^;~+!Up-Iv65TGjFPWs0jgnKJ0+2AC{Ls=+9n6)IZfscd=5AtUo zfjdN+zXg(;iawK5y|c3*3t4yjH2j3yjcHUvcW`1isjlZ&77JVNnDJyJDDkxIplN&# zRuImWaO;8|Tqpy1Wd@te@ywmAKgFKpx?E?iyR8xMWM^TZ%g1Ujrj^4qp#1;R?yr@V zhM~fyrh_>g+HE=P8cA%d+6c2Za3Kg+kXC@5(uqInYnPE)mR4w>EGMCEQah$F;6(r> zf4T!^+;dQ0P+O19T6Gfu54bT$s_!VS|) zU!F^XnH)s=FTlqYw$xe69(#0A)RQ$#3)B9g-{T;8_xNEx0wZ-==dgmCATZqgB_J3t3Un27ENWUSW9L~QN29w=A-e48FEFifUF zoKIqvn~VK#pPAxM00@Dal)z;9F7wBFJ`TW)Vp@1=yqP0IxDJL#Mvf#X#wi386t{pd z_yF*c^6?ifiTr(tbH6w=Rh0Xszp9L0+$TG%ycP!OhHB8bS^Z!4AXdeFehP}Bf3ZO-*U5( zaGo~SPpEV7mpr#?F?$UT4L?GFZeuL7=+wBM1y)`wl z1eqDrt4!9vZn$#8@%)I%a!xD3htso?3MW0FbH=O4^wz!K6GI5OU6Amtkb&hC37wPL3M5X`(l&x^L*1?bOTtI6TeKW@yF zV`AEH4U`lmxaX3@S&8hByLA+tR51!?SSX%%R|_TNipY_-o_H4!F>%%(XnX6l5uDqR@krI4w97@Hl&=&UxNZ zJ#_W>N}uYqjIHCK+`kl(9)S{zEDVcY7AFk%xj9W+6S$ue*Z`7#@vtd~E-xlE9_=x| z6mQH8BtGC`1e{&hQj=MfB=W%W6U{bufSz@KGU8rCjUpc(oW+M?{`IY}DzkfOENN6<}VS)Lkpk zV?PI&Zf+T~R*-0bH97kQ%8cWYi8Rwaly|qm>iR3Xv_o{O3XH;evoOrNj3X*2Qhdkj z`S6cm2Ewuy2A+f{J~o&V?{<{{1*(Y;OQUoiqSTQp@6AdB!i)L&YI5;3Q|uSk`HX@F z7wiFDCndN1(4;%884$Q$a$73|xVChSrIXanqt>EKLs5p^NMk0EoycVcl8C|dy{lz& z0#+``Nb{!?X8TdT&*yYyM8zVI%t}i*sm(JA zLAf#dP)gFP*Eg0mgKXf!5Dqk^A&bs#oAPe`OXr!>JC8zcZR_Cs-l`~LqhpT1nh(A3 zzrqE&xJRNVP0H*sS8jEL5$(U_Wg!!1O>ttt>O>X`*5wP6LyJ#3Dj)l*Z>bLS5fz`T z>)bIrJzfPDXh=T7+$gwqOEjeW1L?~9)TmG2Pm`JY(jmwwu2DSH4}63Kq{G52Qym8& zpv3Z)_XaECM;Xl7cn2{`dj)$MIzbG8NV0)EkNv67PW`Wpo4ZOHOGlDH8O;j{-mc!+ z{2z+cE8LGY@)H=e862XPZj&Tpa^v{e-MnG?$Xyu3ooOD2#BL<09el z`f%MPwr%|&h6n$oJK&Br{{i|?!Uw5T?xqGDUtyTjGi@*&X0R$R7BhPpa%5WxE&$;G z>jKt7Kv%-WHNz79QFzj^uJhF*^<@f1k6RKb!kbPfRu>qw1MKIHC9%CAOE;o!GY0au zR{ilz`#d{{3IQ4qg0^)7Sb7ULyNV!wbWS1fikHXD-lz;XXHH)^T?szK&%Ygnr`vpm zdB5%8>FN4$klw69O(ggxXu9ppECISPgEB-a!dVH3C)yLSDVv6%&?l|rlUp}aLF9G0P;`le;V@)PenZE|5UTc*2Podn);K#ie@j0UiMMq z{_1{pH^c3k;kVzX3|2O@p}A2xiJ6@=%_wM6QssPrOgGXZKsr*CPvphvt7^j*L6?EP zp+&R-)OE`~>H@}6$|JdF5q1O+{#icAi!RlD@ts31YdCEc7Bi=uKuBK8#Td;v z0>ZX67;(m$jY`oJEFu6Md+0BEVorgoCp3iCKHZWn!LWGjS?!7Yru9}y$uJPYc>XRg z@weCh+` zmLTp6hSOCg`V)+xz204Z>=!D}2NrW##l|4dmb?a{#WtN{fr6HK&rQZ#_wDNde zZ4sotyZoVZz2DAm$ck>j*)EN z@oHH4oYXY6IT0sQ9=KFDExv#MQ0cP(VevIfqn^2eO>Lp#PTUFGfZVP1@^BmIuJULI z4Q=<8&#U3Grt6nPG0D(QzkZvmwpE=i8ERV;^n^*w1dKf!RW_}Sh9HZ%$+ zSg0puU0Y!lyjY#?6*_-?a>dM8H9u9}S)ZrPC%796J6qnoA4F@HEPqa?sbqh0ed_v> z!HL>P_q;b6N+(gM4K!n))h`mty+k8P>L@UpbXu31*Ya)v1A&sF>f=(kzgRQcH0VDX zs>_5N`EXXo=KY#Y`JqjHWz-$;v!Far6!;}Wd6>89Ltf2Os~s{j7)rWwx$08wM0-wF z_6g~0xMINvC-3TQrD6{*>+-LcWh+QUcy|);D$6a59Xmwh%xhhpXP0TS1=+S)f_z#t z=f|h(e5PM`h*kXA5sk?3=~A7X_MvF_3pZZ`=4O^Mk{6`)S*@(`UGv~bJGkw3&9Ft- zKILGSf`tbF6)tGpWudJpCr;9urHhy|Y zLXZLyDvj$uu1~t673a(9mkL2-ADO1j-(!CtaTpoS1H*gMJ`2!)`IrQD0yBaQxr&Aw zHlCYGaZIaUdhhX__6%sHz4Y1kXj075S&0a1-)}mT8g@HB`_oFwn}WO-8faaUEA`Z- zU>qoL;Z1A%9;b==o$s!KK{L7k01TDHn;F%Y31-@sW!2mqyKMd#7><{zpJk@e%rNLK z86nXy-_t0?|BD6H@j_aXUaujnGVw&=?;{pH!4(%7;pQZ@&qAZ@QBy{%J}Y|PyH_1o1+ zf4?V)tr&{TnmAj(`0lz-=h=S6>Fn?@w}q)+h7|OP?`1f@A6BkOsESHT>H^xb)aBET zr9jF)n*~|l?&xQw+}>A-vKJy8>c-xb*slmQO$QI}9rDC&AAq`&=PrK$w*e~_GgAO! zq^)eM+M_6S?+w;^AOg&rv|q2{G~f47gmRecr#wM{z{Tk^iB3=P0{6Cjs%|<<5~vFN z3YdtUbR|=Me|l^nMrf@QQ@MkoUNYMouw_47XcOtCAgkfRd%u7H?>s8gAiG49y4~?c zyxT)NP8WUVL&e7>MmBZX@%}?LeXS02=`X&lO@H|ZU;caKMf{i+tNOAQ8(W;*0{|ez zy>5c;+UrpStGRfKWLSHySkmdUD4Z z=Ifo^%8J=tzFgk8`TKFYjsI|U;7sm=cA5!hZ|%smOFw{2d-LYajA!cpB)R}=-*$W@ ze5WRy&w74fUcdtYsZOR7))npjHNLYwE(d#bnfmWO(wLn=N}BRWfMXJc?m5u8PfYi` zCNdp;c*osV#rd`NR|F5T> zE{)qi-nAaH!fWnb=os&g}{<}6T;e@%?TJy zg8&$`Qyw3ezLrm8@c{y&?Aw9o-^KEbo<+1@1eS)g*0~=BGL5+X;(Y)Wp9Ezz>tO&O z>TINssBM-g$2o&`sR#SiPT@>FrdbHuS0knW9s0fBC^> z3j49ow!J{$m}=7E!gn3(q5-6;38Zx@U#*3LKjc0TIJX%{(V*YDH{kGKH46ZlGWE~X z93VKiSM%OIRprlFY7B(_(eQ)4&Sxf?s!LS*BZ;h2T!pz(9G-F9mrflVsFnQRKO!-4{LUtIU(S#|*R-F5gN{D+^0}W#ByJyvs7+CjvSfWTzcoZ&b_zyZKC*^d9 z-WsfQmJBflTBrhCP3y*^`B+D)yvNBvZy!k3f9V&=r(t9Kf#4a+%8AV)vjWzxow<_o z7yY}xPc)yJrUY{r#;wPCg}fTP@mLx<`Ycl2EWw46H7sS@P^%u+Z{wdtSKvNa^a@ww z{vM~HJQ_K_5C$XOmfM8kSGH)=Y*`a~5H3@VO(29+Ys);!>Re3k^K9^ob7;NqkA*;3 zM>-NfISkToc=tkng5Ee^ZbZRICbQ3ux{XfX9;AvCMyp?4M}(H+?wF_+chnTTAuSGZ=+7 ziJPX6K9Wu)nv>Fi3tu4XG87HL6P=+iry-%hX1n&HwT5^q-sttW}lT zA8JdruLulbQ}lyf8l`-BkU$v*aO~H7OuudL>xOWE-AIm3180&P&5UOR!?OW%X!J=8 z4@S_p8=K!wqDIkaqtK>f|Xf!_;_TVrIs{z$?fsSH+dP2)sb@KV$Y9p~b zGc*A{b?+2h4VVf$L?uL&d=!qtMgN9jHnCd`9Wu=!-Yh@{>KhyV`+(uve$_QbI3os{ z&#Y9h3ns;dt-ZS3OJD`)+3KbfW7`09iCLR8?SIuxSk~#<_W@91X5r)1;j`w%En>)gm zXBmXFT(12X2>0S$Ykj#bXWNV{yz%WrB+g0&kkn0{pxJ0{V$;g|H`&=S$%n8xyXSg1 zzm+_S_vD(hNf_PzVv1I>W;CC&8lKo zwog!?;7XJ^3ku+uK6MnT^vz$!To14+T#xnqoQxpx3SBC%ewkFqe7+afJbXlt-pqy; zTU&q9kIVMio4eY~yB>g6fs{j}iA$F=wf&0)MjPux?w}Qir+m5+!ubvjwVoXc?<@mQ zdD7YiC>M{RM7!Na>Wz;fp;NOog%X~Xe(Kjn!FqizaXu|Lk7AX=z@*G?Lr!q8@A5V1 z7em(@?KtI#Wm`1g+Px_GsHOkQ}GqYV69E{F#2w=S?c)oie|cb(Nt&pRm}r{ zPDw^SkKrCoYE8)EL|Zmw66`C(O|x%Eva zwFLi9(i$-XImoKqxiuL}mDbz_{Mm_p3$sJaR ztSpj3#p9bENU3$?sO94E*l@J^ho%n~z-r$hRY)<8d| zWf9$M8#kOS!u^rfzxF0PVagRcNL`odV^%@P5z)8IrL@O@> z6|Rp!^`vcJcMfUG?B3Y<6Iv<9e+-*nzh1O=rJZ z2%Q8E}^`Y3i7*dZEPYji3CsWhNo zULSc9mcFgA_2-$#Ht$tFC7rKJ^AipV%}aE?U?*D3t#`GRjTb)O;MA}^U^`f51H@CO z@~FDIg7%>{_;6F3;SbPrC$QkVmq`sN09sIb+daqBKcD%|T!Dc<)z}!g+quxDkp)5C z8`E5<_+X)8d~P;x^}XQUjBY281ufnuj9B7gRlM#Y1x>(kwctbECujkTTfwzUif=cT zg%>6m;?1LI7qarnj`=jz40;w zf!g8PF!WaXa2D|{z>|Nox~XZtzaL2`0pq3DmIv=F)^y~g_H&?~YHrVPT-e-FZr(Bq zWXTn46g`weRY1x~+6i8&a}CV$p(*5!KNNX-6X0QrDRW69vDR!b23H^*@$K$@RiHfY zw+i@`u@8668OMyOw`W&(5^|L-RXUEF;iJ3-ko9|8Jj z9!9*DFb0U#(gi)H!hba6-SEfK@3_}@gdg5vDF@i>5e6q%{X5 z5^op@Hfso2_~k>n{X+V>#ghMyY&`nQTt<}NU#aTfG*?`5kqL>G|K&Po)lUthtNkt3 zXs!W|B=CN%-(zk}JU9ZJ3VuorSguF1&-X=q_5u9D zrWq&_E%M8inpj4--^ZiX1zhRf?EFWqJ6(|KH-PU`E;m^`f3)z~FKV=k6V#JQik%~luzlt^S4x&mu?Qr7Ex=cq(J7oo0FbLg&=L#35_IiT2GpVO$8wkFn-@|-s?<{Jtn6CuzD3TZD{n$9|GJugJqZe ziph>-w&GKc$>YwC94t5vtz=Cp@n3}f3BiL}NTg>tqrs4T%F=tl!qJru>2zIS!^Zysm3K4oGZU3LrZny-CuNe)i zU)XM(c&hd^xMF2=hjgcvzyHup3!m%gevtAHEdaDEocquptm?D4einApyX8phj#$K@ z7(KMT4!$SnvdR5rNPk}61*uMF_*iUb0qdr23z&74&8 z23@oH)i3%@0$P_>{Q%GntXaX^vjrWF6O9{yCPY*GV^3&h1^j+A1uWsvQG#e_#b1+G z+$$Cm?--}?u3_q_+R`bE0)I?46>u`9YMS?MD*!rs)rU2!6;Sx*VIyt@nNZ3iAVTsh z6SMtC0;eyR=W{%pJ_P?MASFss{2AdwuIabm@icfYR`+|B0dQr$>32!wU-{F{;579$ zwG)sza&szsYrU}YRE^+!3V>9f0xY02r!*yi{YAi>UH%vRbwrYYHWXg*-}ga6Ms#XzO{&pCMvH>=<8 zoek_XEN4;DQvGu#dw%`DpI3jKzA|4N9=3`i1{2=P-Cg#cU9MsQ&nIDxN5FxA{CPE> zPClFHE|p9dDd_g0+W_vh1T_VrKefFmb*pnCk& z-#lPPc}Lsp_51h9h{qH-R=&Tq)I0p^cQtT0haHrf*(B=I`Dm*+up)o3QG4BvMUmxq zOHV(3y>@#Xr_r6|`6>$^9b}i+S-&*u;Q8(Ms$QR9?dMduyKlnde*1kPRudRLJ?hq< zcKzdzD=UNDW$pjI^lz_Y&rF4e?J=eksncV_;>>~lWuqVUz;TdM)hpc$V!JgX9@qev zSAS~ZS{9wC#JD8-sKSRcz~Rz6^3jYh>-s_cwix-T5}BdU=_1aRbPHgMb^ueEs} z*Rn{%7x#f92VV2pMftyRR6g!CXX`JXFS_#51iu>*QyH9ufBpS_KYo?YpPE~l%coxN zearZ;xKf_?rOmnX{(hDx8gG|AjjXke|2R~FolSd^- z0|C_O7)=SIfiPMosEihjz-%xY2%~{8+D-t@>JPp^_-{W!%fRUQU+*)Z0}wr3{an^L HB{Ts5!2Qu- literal 21550 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 diff --git a/test/fixtures/app/doc/screenshots/macos/selenium_chrome_headless/index-hide_caret-enabled.png b/test/fixtures/app/doc/screenshots/macos/selenium_chrome_headless/index-hide_caret-enabled.png index cfe714954b2def50f9ba335e0894197dadc723d0..e1fa7be172fe2ee993c99dccd7674ef468be2c96 100644 GIT binary patch delta 18135 zcmZ6zdpwhU{69X&TIq04D(A^ilZYfatC&-2HWHx{nH-{=xr7dPg>9Pip(1P!lZ*%p zcR9rhOXif@VIikE%pB%>>2rU+zsK*}A0CgP?YiFY*ZX;Ty)MJ~0tK%H@P~E@>=cDS zAaA+-wgiP%KtK?D0sg~JD;$DA;1G-RCYX@SnZfmUZ?K{2VSEAL%}T3+i^l89d~N59 z3{!EzxcEE&is~vKNS4_X@dY3$4BU4kx!@qMQI|2F;GDXs)%EZ9e_v!&Yy z#CAT7e)9Cm&+zZTUwB`%dv9oam*h(dMj2xLI{Nk4K!m3bCf?6zRPtu700i%iDTn*BNqq^_On&-h$0` zgQmwuDv9sN$G<5k(xa(WSa#O;VkI#Ch ztf!$L^9$Rzx?iHnD!9gd^_h=RZ^8i3cfwVslC{}({X<=;WKh_0O8ADXAmn5B=hp&x zrlxy1;t>Ab4qMiuWDA`?W8`}sZZ0|n6$w>~<;5lE+J=_Nh8o23YIT4dLg3yrOOI#X z4M%>PXd04_yu4dxYkZz9#&B9}y#6lOs7f}JzoqLpK0l@9qF>8)t-9TdhY(*TaoK?! zXA!&ue{i|!G_d~W`XaqL;>QhTcrj~{a!?p{Jiq`dr3*WIk?xTZlo>L4aAt)vZPXp* zSz1?WG@SHxp^d)IDFecWrOoJp6P2bdZA{lYBRAj87!3=eb{lAoDE1PDcS9gwuAYiU zXt-a>wls@5C(40J0$czn7@XDAI?R9=NyNyMXr3&M8ACA@*dAZAA4G%?f0>5vhVF+7 z1rJsA`~UM$U7o+9sD4KP(X4E)Psg6;IGdspgdYmWI@=lQ0KG}xR!>?tBZ79rwO-wv zPTNn6#_vLvst@1if6@_SNAjg-HX<$}k$y&7x0)Voafl=GjLmlYzb$r>H8>C3skcdZ z;cRCBdnw?#X$$M%J(r5nLyr#4_JcC#< zcl#<@bVc$u;0ezr+g6uMUY0luyTr-H>_=;(P_63$E|Du~IW;8@pV4{p8GBR{!gyt$ zz7<{FX(58JE93KvC46?-o0^DZU<}cYykXbc%0Xor#E-FecFQdX3T0R7ORw2wGjyTy zyi#F&93jG^(L5p6kk@t44DDlaxV5J^-7Hyg&Xxqcp`2BV=-4Qw#317G1j_@K-;{8O zUamYX5Eneuq>QIrH?@9JDdwU)y{h^rw5FAC*Z!~*te3#VX`#8ec;WZ~#xzv0+SNSU z%Dfm~o1ac(bgU7O+S~(J!Qzb}wa-ZPPd}Ao%sr5;=!6 ztpqmA4Ymu049NQz|B`Ub0V+tgL;&!-IYombP~jBU_3DFX0@SKYg`cIvPE$TVPgu*= zuL^U1&{_>e>cSA3gUDf0SrX35cX3rhKEgx~{a0&G8O8?rWGs?gkBC6Hz3II(yl{*? zo?04%5y_Kk6gP%xYHpJ4Yb`Y_cHU+trhUW*b}xQ2ZGNw-uW+*`wmb-Cj0~yBUq~yv zB#|LZ!f1B&6L3~x)-L{IR*&lv`aOS)q-H(#q%Zc(T;UC|X&OXqIqWP&!9e20hGVgu z0{}Bd^I8bQ>HEva-vbK<3RWPnMpqx)1BXgO<-H0^nFW-#vSrNI7W#(g+GXFWfye`9 zxJ%jVp(lh^Fy~;Fnpk8`3gaRibzjj0@j!7z(L^DZUz-fa@4wVBL2euiqf8MVL?Mqe zxrC?YCErO529JhzSkpy+L*<5+)X+M<=~X~Dy>mmk1{VQ{g^2QS#+)_7eA+H8)KBn| zVL^TlbE$|DGsd{dd=E9GgLIHe%YzUbq7pEFQ3MQxHiiG5alP-e-pdzGl!3}hhOmQP zO`)=-MesB=V{7$(C##>zPcU?|c&-_ERt1;jJu(WGY-7mPZ} z^rER5&}c@H>kH4zzwu@V!j2Am3Ud!YM2ywZkoLHCOA1(KaW-juc zomMJJ=6AfHVk`rq>Q#D^kKLAt;H)oZLE#dW6pmeksss!Iar+M9{hCUU+ztXIy2m5J z2X3hKwe;uZSdQ2~@AQ3EKCiZCsr#5GlYJ!cX}yctGRzEu7aDpb%@DgD*Tbm>XfnPr z7J?>NZA~@goQ3x5^v*@cP}|0Hl*5ipr1=^OW(p!XogxpF!7if~!^18GAYS%lE6|`f zOFn9|{KndIJ=PaaRm3G?43#6{VIVvIJehpJ7{^H1m?yZ%;ON|318p# z1?9-Q)Q%of?xqG*U~@f0r*lcKzh9)lY1OV+P0g8O3NMjx9$%OULRs9YLKT^@%-ZD1 zE96Uv<9TZYGREr^!$;5zDV-KXYKAIjoUk~$w8|zN`|U>EfmgCT?lb8aft&LA19rKS$3@x_7m$a zpl85(5>AkTDu$lmieEw>vsguq=cW%74I>hZSU{K5SI^Rt6=ScWi1=9Z<&W0sUEIUV z)es2e-8Lc!lYynMI}#Uzg-zv>JHHq zu4}*a)NnD7fg;i#kzQV2kEyVMHg~_!bYnp3V$4Nn`=9HmSYs77!x)_TPNE~pK*Yi?veb| z`kF)ihtqDwb=I)=l#%)s<35jC87c(au|(SHf#OYb=3{Fk%ZCcr;X(^jgSV}gW_56u z)Hk78dsKzyF*=%V^4dkNM&!d7RO>WUnps6?0E)_g8{ts4FHuQ0Vpsq?!a*=9(pauH z3QjY%Z!|?7gbL~_OQJ$Ti=O6t2)_sW;cLhBJhjpmet)ixJ$OUktu>vzfUI^%LC zJ0RYlil@xUn+7mLv}7wAyOUgJthtON;RlQsy3|zCVZT66&Yc?bQ3t^h=b^MX68XGU$fX zA$<)d5dV9c;F4H;k0kLH0OGQnX=16(&Vm zb)iRSzkPkqrVjs*`rRz8Fd>Dz*|hQbtO~VYjrfybX1_yE zwn6+b`f|%lL!mV>V9YzVo>iuP{q@RE6r?2(suBtycj{Ilk3bc4b>@8RDnHwOfa!M? z8}>Q4J3HPEfAmGaG^@AB@^Z$(iFHmLR37VS;c6j>YBWp07P>@;b)kGL5Cd<ppBiAMYnT_S{dQ@JgrBh@w%*Tas1vQ(^R(U~F^YDh|u`r+`S&_>Xk zg|!K9i#B8?{4V&GuNki@-{)|1e9G!^%IrOhjM*0gQBL23x2lV7&^mT|if%xadG(Vx z>r#UUiru9FkzQtu%iV7ST-2sBrpc4nY0m+_hsDB$nDaP^vP$7OmtJf84GOja7djH* zQY!L4`(;6blVZhKff><+{y04A3srPF)TibwIy`&~g(AB=9hfM5v?w-YH-q|B_<0ti z@4{&VWcdMXD^JswLn;D@2TBhVOkU0Oz8yZgzvris0pk9}dYy*C{A=T3c08a^;w|h2 zCrr?sqC!sXX>(lufNrq3(srPH;5#2)otz$}9TpL}Tkigt6i4pAHHuvjPAEP?>i=Cp zko^>hxb6Ni8)+)KuIBJbfJjg4sdF zV*m4XHS|m&rEMu2P{`#IzLnScg#Jup*zB};Qi!E?-OJvOHZMsBQD{Ys{AgJ}$NLM0 zGN}}8zW$&%>$jKY+3y!!`a^3Y`~*P{r~&FOv{j#SM6uzrNRz7JYD`eZgRp$fVKzq8iPYqYxqPIJ8Yx+om;{(h%V@mQtTcX93H@tj#z=T;k+lw|93_ZI#b~ z_j7yH{=w`_9YUP!O`b01zi@VX_<9!#Dn-ND+jLt(S}~m{r8cy<>hBp#{4rKvEorJFDkBc7*<9CUhX%^o0ocUIf17TyYd$HIm=z%m2e zr5qEkqR$AZ((eK_0tWPBAm%eg*N) z+4BS>YRwp@O&0s%eXfzUu82)!g_H$ZP#-Nzy-bw)YA%7dzKPqEb9@@?;YJS|Xvw0O z&rn<%lo(3FJ+r^aF$nyZeS%Q=$#Im>W*gVg5BRYRt4V^ zKqI3O(V%7&P{c+LC_l*qo)QJ360Dor79|T+$|@d2E+eFTlxm7j9Vly^}sy-qxnVgK>DK>yG$C*)JmL+ZeX{} z8%<43W}>o9!V)lhacfxZ2=<14PH&*E=nS)+ph0MeFjTp&sE~hJ^9vg@o_AWfn0yH& z;7*Gx7XEF^`8SdvoOJHSrvJY?Y-JL*J}#(5k1ezX`}T#I;ItYeT(RDiBWS%hY`y*{ zxK=}MvOp&=S8~i%ZKHM~-(n}_D~R~p`l6?TELJEkqgiGPw|EF2LB#$}KS+XH0s;TD zK(6RA*>db1P6~_FMC-Oj*PmYWUJv^MDy@xL5bTGu7Gaj)Dv0sLF%$qndg6ReO*+%t z>b_z(wNf|iaoXHjkJSQTtze|0`=WHh86ebVTEIfx%KlSZIESZw|M)P-&X5=0t-{Omb*PhV*5Nw<Jv)P*(R%;|7$ zpwsH=hf%IKGx1&L*`kMd>n0qQa91b{DOa71Im^*2`n#TTiY90;Xg|wt@hizr;#KLY z_h!BPvs`Eh8AAAoZwQ?&kkos1vqt^~dtvGl6ebzRM!hc#)Oyc&Y4|EPy+`XSV>;I` z;qv>I^#EVdd8RpW&dV+f_&iKdY*5@(TsF{EH;|dEYgsBgl}0@?HLe!dbD(%~(m_|n zt_?lXs;#6k9>|(`--foDwI2=bU-g$MH(O6BmeqdE5PoIdOqq1!>2GJz6IZ(o;n)YL zhcEL@X3*jHejBAftq3cJ{$#b5j?r}8hMZn0HN4J0%|tqe8VCXFV!yoMIUmu|hbK_) zTLL9FdZXm~X%c1MD$ znnuAXHhTj*e7pu1ME_>831128wB2i!c6u~VZP35HFIQ8{E-^Qq%g^&0OR{cs2)!7 zQ{0Q<32gkteKlSdZv&%Ue#(EQBKy+Y!4O8GaKdlLa^A4>kniG|k(=#m2~jH(VOx4v`}YNGmWFv;wMRSs&f{k&aWD=KNB z0Ojm|5TTe{#ep8&s!o}mz0|_fY8*SOrO0x&7 zO2$ZJ`)*QvTml%4_RV)?ose|dc>3(|p}EzE_5x%L;{4lB)~hWqidnA=um}EUE%NN& zP_iGzJ&t>D)d#8fx}dS_-&JF0-F{q>)k^5lq~}=%TNe4R6xASYeaS0Du%6@c75FYA1XeIk$lNM9m^H_rPX39 ze?fF@@*N6dvA=aGpEU{8N_|-z!d;}cT`)cW@WtfhweIkz&+VB~vU-UH*O=?xQ`jN9 z?n0!@_!@e-(7=!-cVs=@{%xD*m<|(nl~&HYCmyM`kO3!5H9t+8Uuc|B$Bm5kIb{y} z+KD)xG=v!kT(oJm^tXVtdj1!G(AqHC_<}AxDHrt99l(ID=HM}#A=+D47b--v?vCFw zxIke(8#<8{{u+TUVMojVnYm3X`nGqpyU5Fin~mABFr*5iV=krl2G)hT3O3)~!cQxQ zhhiWWG)23796(r`J(cCjVm=Fce;d6S(wUqK;k=fme+Ba`i{;pgU8wx)9kqVb3%jmv zmlLq+wFOoiSMTNd2|h2!^X=%)oI^cvu&4OpVlqbK-hm082cE5Q!yh9mmn9t(}NR@_M0u92so3?1S5RYs}k-L z>)UW+H6_q$Z20O(cRFY$DCTR1u=D6;)GA5?EEk^`ONzL*h-w3zlqmchV}z?75Kcbz zj$Mc?g&nMv_4}P75J}nJpTOPGN*gQ8Ulk@^ZL5;{(T|}5X*cfgvQZ(<(ysL|*<0Bm~z_^H$vZu(9abtzdH(fikpP~d&_63yjyYKG#3SR8A z0YXqeS|Cvw3ll)v36cx``#H@aEkvD6b;%y6Lt@ITO;RZ3v;+jS>!SpQ#miPsHQ5d9 zEKm;k#5SZs&eVG$B|Vf^v-j7yh0M#z~xrwVavotqIJ6a-XWw`xt7 za;$Eq+_3Zp;$DxBsdc2i=<0ohe}zQl3f-&xS*Q&aSL7J4v%mPwy>5(Q9S+;s-a{6C zK`K)Bp*l2$h8YE9z=@ZL+yb6{PKtlhE>0z(arxLP8rLMxzc_Ay`*ua@gH zyPxg-;@Oih3HCDtp%8K$qIfJEy?Hx+Vias#5*{sBmsoy8Ngxut^9`~jFPi^PE3Y6tNLR{Lv5Pc z*ffcf&mR(c!7!a@@2w$kTVe^ZxDP0f95J~8c0r9;?YSjx%bzT|!(%Qux#(bt3)7Cc zsvsla+bSxgFJK_2d^AM61mnv2fPV9TuL}{&|9+G|=ukO{g~HPkNTN&D&20g-eLE0b zaZ{Lmxv(!q3c4qEkBE83rV=9W>}3!-(fH`?py30>C{L;zuv2Iy7$-4o3R{hhg!q-k zzV?}{n-yq#kxYys?tYOlUhOk8KJJ-y6Q#{es?Ak@2&JKyRqKL&0OlSof*=4~rVTQQ5 zcwxNtCzc1;L~xM_e=gOu7}jVGlBBeD9nu`BK+9=<)=Y}Onjah%I%sbo`IwYmi4A`W zk^-h!IB_Ezq-wA=02ZAx`V|TSwDeF;<$0!Kk@7(01fzf9cd+4y8hcbVq==_D7jZOxTzInEP}DCu0^y3-Xb=vz6yzuc*F^XN*8@Da>xF++9xa3SE7JAOTnC}q>k2@f>s+Eb+s0s` zToX3FTWhsz|8anO;F9wWR5L-7MiVf`JXMS_-0t@|?X-Z94e`PR;U~h$EJRuQyLV?X z`PY@A5l?y&#-NJO!{o5BI;bYE6l020Dv|1`I(8*IamW=!MSMxKUaAT_&+=s5uz4dY z+bR{culXqp^(jI*#2slLW{3+N^l5JAPOxC^9OoG81lAT<#oe{ALYxtCLl>JHQL2*& zHV(I!4#&T^6P1dBx9qy&Woj$oKH8+?m86N#vfuR0EPh1ty2kW3oLo;01^N&BbH6>c zr=?>}FW8VNk%lgsE-^Y)x+){N`S!G_&mp{_h@kxV5-FW`z4eIx1Rb?6FN&P4w0nA& z-fncVUdjH6%aT4IRDs^#qEV7dep-`nRs)KZ#|EtFZJTjKsb6fV00VN~*nsTkb-(Ay z!?N1>ekb?B!G*Y2oLU@ozt3G~X=)v{+CrGbIz2CvhMJM@^wi7I7Owkfq^^T1wPb)4 zZC?~L9#!(=kN4<8UXi@ysgY%AmT&&1kx)huU0MRhP6N%`$wmGRrt(9m9L?go9D5Tg z4&B=yA8TrpXn8KU5hZwmB1>~XiLOG`Cf~L!*IPUn!|_~@@|>Yp=YmE#b15N>&l z-25vxI;m9>)ci(^Z26fRhByR+JAQgNjbby)*25(=urMc0j`b#4+BTw>zx13s{y(P( zK*auvOS}qIy?(@w%5NWGNN!udkx*}!A4qt0Ms6L zsb^U;+Jf0ylz;6=&j;*xQkW$$00pxKqaRC$&W_MfLy3%yi~pT&3Pkcn!E11Jp@-AL zXw7fK_oxn6-};c_u_RNSV~NW5WVT%a`;V2R2N8{?PJekjmmHoMep_ktio(nd0PWaS z5mkYsui&Id*3*{fBIF!KgR#drx=<~sgb%G~#>3%*CG)1Hwl^@baNB%Qz4Dk_8lU9d z#_sWWB5^*z$v}fCo-|k70rS@SBy(R4YAOg?+Am-t-s*PNT(nnmRpnCNx7wMlyFKkr zzY6;?Cfh>_Y7vMykS>^b7i>)2->eRO)f;a(m+Xo)QyHO-0;=YM=Gq~>kK&-F)yc)> zq)A)so0bZoAnwVj#9lDRk|9T6j8KCfl0(PoPFB;tdcH{N%OsGB^O8k7x#Ll#xnYKs zxm-cikdxj=HmEE;)W|y!<~Dy@rWSf#q3uJ({25FEEpfBuD$3X*2Q`zBy$jW7YX7Y* z+TcMh))<`T0KLil<;?@oL(G4&6-SinQ~-&y97pDWi?p15Y&dcs6t4ZL==1^WuPAvG z@(As(>tG&gVQLw63H>)2XIuI<=0ZK#a-J@XO4LtT?|W-NWllMSmI_+_-$3qB46XQ1 zzM;~kymEpi%G6BiTM>t#_zGe77VH3Hx`c>a=0prHbLlc7+Wi(eJpds2gHhlKj%=SF znD`1>*K6&Wg_dXXMLGA5K=?tQVJIQNA+-g19Defq9Tk-;UjHfUo#)O4f2NV+q`8pQ=Q;Zz8* ze<{LUcSyf9e`&xL_yl(EB%X#fo%Jqod3gkz%w`*-tPNJ)R<^qVwqq;CWx)t@l z^|Anhlot0KXGk?l$+VMJnW)B`-yTNW9sxiz6VsEf9aBB4TW#Y;mSu|H3&@x!FfQI# zVkSp;s_`kt$T$vh8ctUnVER%O@V@ed4IJ3dQ#&tbyX#w^QpTo zPjkuiv)h*No6itUU1QRri_aM>!xpShnT8KfKl&O0onj=dB2#SIgL zb83wQj^$)bI(Kg>NtjapGI*u99s~YQFrDmZo7SyL9QW3Cl5*?73?wc zt)~SA6l}NtcBF0r-tJ%8UpsyH<3>UpoEY_(CD?BgXyw!vWQR@pv%Csu>uFEH1{qSB ztc)3lKiGwMrKkX=p#u}ONli#onTVi-4PE!OA5-Aa%god4xsFhpH8tz20K~0SDM>+9 z5@tw;UKfSC7WUSr1kQMA}Ei| z0(@gEhcb>`m+%en>DJ3rd7cL&lCO}%Dzd&+(QlXQUPr=<_|wdi9SDUZbGAFlNb{)R zC?G$G#*o>O3C`cyWYmzj6H!AsY(V9~KZbDdR+~ZVFA*nJ7?^=H5oM)OUI>Kp9~#+} zQH~irfD63Jw^Y){(2kfRrJ%dg!btN3vJPf$iaeq>XYgD9MBJo^BsbRG(muN%$5jRTagJVBZ9lezYmOgh zKBwF%_FaGW-2Qu8wnCq$`!g^+nX^p_k3k_%=p_UP%9s3e|5_sb90U@=x&n^8`S%1= zI(3S@w^M8Rcot0LHm#d13kyN=@vInK{dRyHm$2lY=cV8M4t5yl1-6NG=4@6`JIM@- zWyJ@IbqGJh1>oyJ500~;B30!pIG(`3Dcn~6+QXOjsaj5h5a;nx+luE+VLVi82Kh=s zf)MuvgkFUsBMJ|0hCRg&xiS;fnqMjAB<-@CDa&Sfv43l?En22pxPo2V?S2eV;)}@ z@o&-d-QHN#nWAhSTVjuxC@3J9i8VGC5L~@^zAPs=Rbv56p3fy{j_s!8cP{nP}(}AN`KlK#Ad5VqpDA8HTf!>4> zvc5aBa486!oI8N9M(AV4UxQ$#eBXV%DDFvmBk3i9j3r0qg`uVQdQh;)rZhDLOiAouVfPjo_{4V%A18Hw3Dqz)!9ZFgEVKHYNtdVf-Wn_aQ zsE2i@_<2-!<)34Js7T6~qt4UbL~fNEu}((#6rIjnyPRzbcnH?F?9)#M(DdwVUY5UyQ-Ff znCH?hMR#kH2TJl6mhK=T!1)W_qne=jU^E~WK`D^?98{;h}rbA1R7m(Yh zb$gO%2yC@92#GJvk4(O*eL*do+);SbxF%HQL8g&6@m4f8dNgrxv z4wVOW-7(sAB$s>zs;EnW8oauJfl4hua91Z#qA;s1i%@t;^PgD!%iBCiSI_}~dD}l* zAY9GP>6Ies3FXn)T_24rMc2mf+H|)aD3S3wHk5`ZTq3+g>t*x;>#$R3N3RbF4B_-R zQf7uRT3WI4n8W&TPuOK}DyO38s^3yns~HHOe7qlsCPXDj$3= zS%*~MJ+D=#*Gcu+{Y8Oj${K>9TW#`UrGzmkwh}(2jL16ZYwl-&J=o2-_@yWW9Go?B zBm5-vqW^A*k^!Ky(0#fED{R!mBjyiNFsDH#N23KS7+|b)>#F@w4xTuFSz1E*{n!Vm z#Lw?9*EXX1kKd(#TPli65Pm8g9rvg>h-8?!OI%ld&c?rWd2Ex$Fvprw4k56_KFb!? zisK~I!u89upu;vzVIzBUm6uKx^p=AYOp_^p*cV34xFaoluz1-sIGh_I3%DuHXCPfLDQ%Z5}8Uki$y`_tpb{BQuWCadK za@96>fVVAfwF|B{`~IeMh&&Mf`|WNy?l7=5zf1+{_N>x5Bx*7D)5dHt-FrB2>6glZJ4uz-ib3w2A zx6%%Lyw1>SYkl%95j@yU@s5qE+MY(Tt>1Id7%k9;D=JZzz+>bAG~tIIee;p0!L(zO z-q1qA%7(cihj9H}$7ydN-hf=_7@_IhK7&&m6FPLSImRNdG=goKEM>gcaP{X1c*UDz z3%QAgXETFXUQKNz)&6yz;fTc%yPUP2vE_$?sQR1hGgW@QbcW%&*kie{UzrdhcPw4K zZmFxeZaZ6Y2VzC=yF|4QGwu~nwYR+7Dr?#+eWHH#-<6QwYr(P?4S8dy3mKz|31?no zjS_SxQdiEz^2INn8M#aMdI?w4rys?R;iW-p7W31iI?FaF(jwW^B1gS+68|JW8iHOY6W z+uEE1*}Q{%^-j%XeiEhW(H+yA zy>R)puaD(|Cx?#9>dP9JeweKZ0&2_=o%+C{^>(u=J6c5>ynwg(?J*4_t8x3CEg*rZ zMrTH@^vxI)+lu#!(KVr#{-Kr1@50#v zfJI=~5O;7cDmY|yNsevF|p^27duDz@`;gdTX%q<7OxC z!%Styp8_@Rg%EoKI;UN@H6u?|OAmK~xBLA^7Nc{iILKs_L^0$qBv!%8O6MGBkyji$ zkaO*vkCR(1mRFd)u*Hn8-MQ%NM+KDIMHsFks&lP#5wAbcg~0uO3J%s6%h9ets@JB9 zR5lL~9`H=VL)`&*4kO*=wT{hCB_V#;jEWJj^(zf%)Xf%~)V4@8$2uQOQVQ~`TmG(;15RQT1O4(!+js+{Z!hD2PqBDd2#n1) z?F&95vj`SYvfnqzjh7<37q>(qA30EXS@s5908$nqxU*Pg%MSuMo&yn_ZrzfGK-#N* zLpa&oTF)Qgl^@dId*)~Kay@>#cDB!O#ZPa~oXC~=gy7nnbw=Uj^2IfuDqwIWmF-u% z@Ofn&w_~YgQ$Kj%ZgYn&w{f?+%wGNZk0Z@S{JY_sY@;pSO+&p8rF340pG%i^}UnNEu}v$kOFJajh8HI%x7Am0{UHi>Ude8RZjG?mMIg~nAyX4f#Fv7mSd&B_vi;1Czu_Ml|G3R){J&pRa+fT}7 zYNCd{sdX&hX(t~VR=Sq4^?O6o7d#eLHTg8}-paXDBj6_^VK$UsyV&WSxabKqLRF5h zN;){-y`aYprmqhY>jSTr8ug|t0{g%_US|zoh+@bF54`=&aC&-w(?FlO{d_??H!j~z zHlRhJX{Fz9E0rxD^7FyS@Yd$=<6#gs1GBfbQDq=(x@5+6*;^x%U0Ta&J8jHQ+*(Z( z0k%j{XQRg=c>}fTu^SuSyb4!7C#7i{QwPH5>YBC}Q7t^$8eL~-{9dbi;zAQ?d~7?&tK-& zNFiO#Ybu)2*JwCqX77obU$0MJ$%-n?KVXxw7cN;_z$xcVWY`V?No16EnGNJhUD)y% zEi)XXi>hA3jgfu(RPBpXBW7dw8UEf`OH?wlOPdpSuKGpc$ZM59>n?cNVEa=c>B zMFtJpLPBc+dM*!5Xq(PiA7INZvbOhpC0voN4Rm(rgmPL{s(R}e;{7U`mxGCOoy$tK zJ=MH-sGaej_;T5n;E9bM?|%vUt`RXA_4hwxR;Xj1nRm^?BQ}?N_vLJisq}AJPqxx~ z)+j zY%{a(<^;bcpYOikrMm>zc7?Kg4%k{(c{Q=rZREz-lQpIbMbyVa@&x=Izfs?qvG!`~uOt_3-UtC8}X-vOXx zsG7ENwMHK1%^jJudRQQc3cJLSB}XeARr)wiTWT4*%O8qbc; zcK4|1WIDJS=xUa2mzYXyUvJ&){iZ|p^AC0H!oI6SV?HUy{+i@Jk8tIa>LNBq<^8Bz zYrXU+Q-M6Bw$6Zm(|p6eD1QK!4U0ftnE`P!3Hc8ioD$Lx@L3GEwiLlP?bR!On02=N z@JCYt1aN|0Q1 zq7_O)!|4aLjiP%#0>=dMqFn7W+U~usS&4fR;c1HHV~t1;uN;p)z9fBcZFbzc!4g9D zvP&DXr!*@IxWA?6dXXc>B2!$WcsE_F?kmx?dkH^ZfX1|At_?%m6)9nilX8ynlw&h+ z0AD-rEpQCjXDa~;&W{|QuMlGX?X7Hrm)cwD+3VyZ$19NC0YYFLnBGTUV^S*t zN5)V6a&vR+4$W&v?eg=5P(vAQW?^~`M#8H_ zd%DY^*G2GmDyyzQfHW5YWRaTE{CUwCuhi0B&B9Ke_G%~nUp8-QG?f}=hW;xxx#50x z&d>{uJ>%Wm7u~xo4f{Az1QyI+8w-M{(sxKrT?#Jg>rx0{KFyi51;R8-DE!%c9fOU3 zR1Ci%m6orr*#;Q3Z`n6R%{+#Aou4(*0kV;QU?kjB!2Mb|wP|Bh*HW~Z zY-nve`M3T>ZFl}+J4wJ_bR4QpqjW{ku6CQ^7*AE2l6ZZ)E$A24G!AmMKb1)TApG}3 zenR=bSVQ%yc3v&(SXBKGU_X5hd~EAVy^2!w#z`#Xfl7b(%+?-AbU}=#Go-bmY*NV; z7-{9)TL*+7KgmBO4;jBa^#3Y~+mOG-DrELH4+w!^=Y$5|5AtI_$kgTfQ!`b={J4~M zumi$h0-s$&+;JbRzH`+fqj|g~KWdw3vVVIIxRsB%%+%N8e~%e#u20C*Lfw4Es!Hq5 zPqatL=x#*&bN!FQbQzjFo@kMe<;VN>Lp+Qi7;H=8KfB9_NvD+1-Rp-#iCYshHl zd*3d!Z(Rq4_$knymv650SMA|X?1;}zI7``+4yf18H>!;Pd%6N-M4`QB++w5tJhh<+ zS~QS>ZVQYx?2yk~+_)Azs9igKZBD8bG+eELY039~y?R_ZX&K4@#q`;T&1u)1#d;^- z>RTa$(=NT+^~x*h`rHdw9z!5l(XT^Su@&N1dR5D&sMYj z7d{=TvOF(33kntH{2TR1uTE~}{qK%R^A(_Vs+eZ&2h&MBI5=o57rFG!Ug>Iez<3^d ziEJB*3*egyjIq3_KD{s4f${RIA9sKjVPhzwdDNy~5ZvnwQ21IKQOFkZ{Q1X^=OWm8 zyR*41iis5_ft@zdz?p@A#GUrHj`~GTJI!RqB~K~o&VLkotOL^C3}1R^{?SU9pxX+LaOyLWhlNTTLyaOv24(fu?5glb$9A+Z7lY0`>lN{IS~Q7MecWs?}39N z-&t?&!4A3GiSH2Jaw^tY{*BO?bkL*S`E6+gf$SHsI1iX${xfVws}1{DbL}}c6wPgo zqta_HFlKJF_AS#0Y^R4PUqM4G%2MUV9N-~~8N>P;O9e(*nOyL+)zl>mgjw9mmHM7* zsDe%4R94lM7^FN1#fsE}LdDj_R$GDbh6R%_M&Cc`nH@TjsXQw-Z%0@Kz1Of@0dVzl z1L!2nOLLLN-2!8k{l4DZU@+F!1zeyvsvm(uv?>t_|6{*Kw=Fv-8!RBdix7)ZAis8e z6Raxhx5c+YwA7A*BPP+=4fjRANcK2f$jd*YB<38&8&6UsC1uJ>7JB*{s*U_SL|?ri zeUDvRx5D!7oCbSB+JGW5dIPj_nVEr2dvq$;+iqtB{BnnDSCW!vX){D3Zs{??&AsiLDGWFt;3B%ds8rFT`5vUDT^RSL4%vF3#(uml z=m&FVo1RdJcUq2J`C}ltI<7%|w*m!GNX_aTvS)Yw`rzCyPyy?Yf~jSfo8cfs!*xv# zc{uNF?V3T?^vNyMLq)c|QZC|WUJT)wIrJ!~VYhD9t6*bKWt)rOYpK@24m>z`VicZY zT~t=4Ak@<5nKL-+>Gki!sK6N32AIoGZ?!QiwhLlAk70y>jpQY`yIW?|(+_j?;ho-n zaT-*n+u4qx#T|Ufp1Jp<2_6Z~0cegA>Y5`RtmN(V$WSUBkDi6a_RC&b_7njdF2ec|BMI{zd z>uVx|mhl4-iybqWp9E30U{(4h2G&8L=3u%4BvtORFV#-mclOuIl?-p()iCoLQIJ+x zEe-vHMe|m{zTmabd;C38i~#2o83(LYA9?vrtSz>@b@Z6XZM1KX1>UE6USNoW-c$gZRd4I#=!F_ zQx6*9y`XrW1A`(5IneR7PJ=6Mt4!V8U>o@{)b7nD0vn?%YZVU#TWo=~?h(*F4%sOq z7M7Hww>5MU%=qHj$vhyaa~o<`&UC-xtR_48O4ft^WnYF*rDM3Wxl3Y(UwyT~5U{nW zLX`zSqof?2xSctIo{W?l<^#HUNx7)ik(IT35Q~<+K!$+|8_e+-Qrix5d37|#@sFk~ z35N86JM=hq@7dd(cRx#dT6gw=3Cv@Xs>5EumDlFL;(@^E5$*#Lt6U`uS2P0JL2oSa z++N+hx@@Gy!>3EBc{ezO#E3kDA+Lh0NBw^E$oCtZ_Wn_f{?x!Wv0+cwuh6J8x4U3^ zK$`=-%MSU7`Lc!2(pAPUEG^{N1FjqY9+F<#mt>^&zn5fjw8c1T4M_D}t6%=^)DNc% zUZ~zq3UW4odp3a{`=m1nHBH+L6x6wGKP?JTxBt#eY6hdlf{6(3r$es#x;or;fgLg$ z#aC&RK``X1PH=7lJ;`9gwlkcmOK}OCT;o?i*xpmQ>=(zbDA~OZn0!xZ( zOgw+GGE-xHz{Hnf8>cWB#UAx|aI^G!?CrllMJLq1ybl^g+!hDuTQ^J07Lpit+kL&tuxOfXsa{{g#w zM(8vfyT4y9->&>z?eGb>mQ?D}=NdU+rnoEphJTX1EiB+8uTT8f%kvL7omDG4u|8qa z^>e@~{GsstA1Ng)J-u`MDtLqt132Y;Y)t(1-x_`|0 z>y%K-3C#AVzq@lPNFVz1GU~$Z;IIGPLCw)k%X5J?tOaGZ$!TRT-md%w%HzQ|FPk+S zke~hE95@E%&(Qew38?M*G}@%Wg)NG&J^39Yu)hQxYy%c0IUJiOdLCsL|NNi%q~y~b UQ~no(07V%*UHx3vIVCg!0Nj|WlmGw# delta 18262 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 diff --git a/test/fixtures/app/doc/screenshots/macos/selenium_chrome_headless/index-without-img-cropped.png b/test/fixtures/app/doc/screenshots/macos/selenium_chrome_headless/index-without-img-cropped.png new file mode 100644 index 0000000000000000000000000000000000000000..d1fa4f384184c32fc920fb7f2e8c29a0c9cc30b4 GIT binary patch literal 3234 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 bpZ=`bZ)BM6_qfaR@IPH&#|Tfo;1u;Aa;mg% literal 0 HcmV?d00001 diff --git a/test/fixtures/app/doc/screenshots/macos/selenium_chrome_headless/index.png b/test/fixtures/app/doc/screenshots/macos/selenium_chrome_headless/index.png index ffe8042a6899875fc304a4b1bf498fa4992aa5f9..ab6a97cdaf24afe50bec62b57163bf4bff3eca67 100644 GIT binary patch literal 19671 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 z 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

  • Hf2J|MaUGFIXyLc!X93R_;^marsik}#zm@SGIj$5~apGV<%c E0LTDC*8l(j literal 0 HcmV?d00001 diff --git a/test/fixtures/app/doc/screenshots/linux/selenium_headless/cropped_screenshot.png b/test/fixtures/app/doc/screenshots/linux/selenium_headless/cropped_screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..6c92316538072c4b8aae587938cb948afc386760 GIT binary patch literal 3051 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 J)gYXs{sTf(zB>Q_ literal 0 HcmV?d00001 diff --git a/test/fixtures/app/doc/screenshots/linux/selenium_headless/index-blur_active_element-disabled.png b/test/fixtures/app/doc/screenshots/linux/selenium_headless/index-blur_active_element-disabled.png new file mode 100644 index 0000000000000000000000000000000000000000..5a9234f2dadbbbd8aeb786550a6350e8f11abf12 GIT binary patch literal 29003 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 OvbEm#9et0-#eV|{ewQo& literal 0 HcmV?d00001 diff --git a/test/fixtures/app/doc/screenshots/linux/selenium_headless/index-blur_active_element-enabled.png b/test/fixtures/app/doc/screenshots/linux/selenium_headless/index-blur_active_element-enabled.png new file mode 100644 index 0000000000000000000000000000000000000000..09d88558c10c6d08529b27825a52ba6b07ac9b54 GIT binary patch literal 28363 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 J3`^JZ{{dc%E~o$i literal 0 HcmV?d00001 diff --git a/test/fixtures/app/doc/screenshots/linux/selenium_headless/index-cropped.png b/test/fixtures/app/doc/screenshots/linux/selenium_headless/index-cropped.png new file mode 100644 index 0000000000000000000000000000000000000000..9ff279ec0e41761d6728f585c5f3a97347245ccb GIT binary patch literal 4676 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 literal 0 HcmV?d00001 diff --git a/test/fixtures/app/doc/screenshots/linux/selenium_headless/index-hide_caret-disabled.png b/test/fixtures/app/doc/screenshots/linux/selenium_headless/index-hide_caret-disabled.png new file mode 100644 index 0000000000000000000000000000000000000000..f5b93070f748580d2f653a607fad404ba3a01e9a GIT binary patch literal 28661 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 Dyt?x^ literal 0 HcmV?d00001 diff --git a/test/fixtures/app/doc/screenshots/linux/selenium_headless/index-hide_caret-enabled.png b/test/fixtures/app/doc/screenshots/linux/selenium_headless/index-hide_caret-enabled.png new file mode 100644 index 0000000000000000000000000000000000000000..09d88558c10c6d08529b27825a52ba6b07ac9b54 GIT binary patch literal 28363 zcmZsDc|6qX`~Db%HzsBbQnne24q_x>Y-5I~WT_FAU8RL0WM`PM7fP}Yrj3-P6C$z< z(!vl)*)qbAo$TB1?eqJbbNYTd|McoL#@jRZ^W4{U-Pe6T6Jud!yn}By9|Qu~am2*% z1O&o~hCrZDfE#>8!{rGJ0=atUh@k<=k7J^b=aZckZOJp1#3O8g<3$kV??QO(@`aHe zjt9tZKP)TnO4q~^9!7_A${4+YKd3Dh7Be_Xh-!PtcVNI~*CSq~84*c5$JqHAcICCr zrGECv*9t)=9-+C{S0txi=T3M{$$u;jU6~GMO1w*f^6kqZ|Mky|GH>&&GOelOm)F3b zzJm-pK)Hl1@ErgB$FB;Tg_eObzy5_$ar~RfEj(_e*}C1AxfObev6OB0Z8d@2ft1(F7SNsg zy1p^svU#^`Wo_$d&&@0M{+Mo}Z3f^%2a7slT&t3oo2$=m^qJ2Q0!!*}@sC>0hP?3K z?Yo$Nsr36j^J57P$|`5G^bR~P-b{=;JUl$LR-MxNdf{7NQkj&mxt@cqwENYU?BGi; z?50h{gMXBjY%Xf#mcFdkb6IB4X*nAc0}tH zcXh3Tn!c7x4`^49NpJO3u8TkZdrQFZ+d+dlO{g$}2{mEk&6Zvi4{mPDI1!Hb&=SuL_e;P9(U?CEEBIGgT737RY3bkHjBo|yA@ z+6dbje>603B!6uA%3<~uG#TNinRTPQ5I|>yt~On27SKOBel^f#cOQ)UT)Y1c1yUD2 zj=5Njz*h(Mq*i76^^LBFd`M7XI>lW{7-#EHQ(E+ct-G%;We`Az4GC^90H+En?1F(GhI-R{>)YD=+NtBNnW1C3gxWibsN=b` zjnjF!VinpA+}uj}1?^5QD9mYKOLr~CyWwGJhrm|Zbs2K8QeZ>0Ez(I6LygG6V+YbN zri`ghfG)d%hGr ztos~Wdrtj%Rxq!0W?U^n%<1Az7G>CrU2wY|=oDoD#20|Etu%kr$@4M!0+^fMjNa1u z2!IptId6Z_hvc1+!A?WReoaK&_OV)jsxP@|`}!iT-+S)K1qAL;|H`5cTgG=aqhhCb z6|XpKhu#Ysx|VHYW9&h{gGZy`h&_4XZXWH?C4;K|6mgt{|!P|AP*SiX7B-F)O>E*6)4yI{#5Ul zhtsOy$-$VDq?en^md()75C#qkr;{z}2#sMZ3wVVLV3CYQW2Y%vGO%#*Yc)DN0)-Ld zGTse|#i!IGW1H=zvq>E_MqO(hibtHLUccHhjMi8m@+jQKnEd&#ikk#g+nlC zxr~z$tN=jNmR~YhK}mI*63bIxl2_cOw}#5JNo_SSqQs2AYwoYAj*K3^4*9zJWpdsZ z3W$g?KWL?G)h&1^aYWy6UOo-4iB$lkUw~QFlm`a0JF*7=t%d z2luZtY@D_GYt&5bW{F5A|L6I%MB-bto5jk&ima+|oE93sAtQ`DX9Gw}d{{taI#(YN z5I^1-Rcr8;K~_lQcsQTZZ2k+FQU4P@N4ikEZdJ?=V(= zvhcCk$}_4_6uK=5UtTZjM5&M#r>#HN*%Rk)48WIo{vhFwM?{B?4zH zS7HVl&jtRDwa%M{g(2Qn_`Czyn+m=S8Syuy>^ouP(Yq*ox$gefH#S~z<8uu6%U)a$ z$4WZ1Tw^MB!INa7u|cugd@~0yF z^CkcW#;<3*K&h>Rd4~f@-_j@y0zSqy65$6N%+v@+(&f#|vJb#-%@_U_3K3_KRt}^7*&ATNLZr^MOrrQ@nD)moSZc|C}g~*qken>f@tBm$=xc*Dyt@G zg~z?;VNrfG9Tm5`eac;`eP?|UAiq** zdEE82Pi~%ek5!^yxdZ8d*rMSuMga^cl$V1_u7&w9IM#}9v1~~D0Dh9b*wIEquYO)J z(jl=MjlSXUUdca8eJTwTRzUYIrg$M8f!$Q`>JIzf9dRr>*yFsP4R+OeWCY>*-e`+< zs-lA0|71;@1{rZEFQgbjDCZPTP6)Do@>mFu$6yVOD13NWVrM$!&&ww{V(8Y*$>^X4 zhQ}i@oRRp7za$Bt?uES>i@@ha&(E9HqJ}uwSRo?q8vCA)J~ZA-^&t`OpTK97G%~aR z?Y{b_fXuT8(7FHxG(1LzjMbq2I0EB=5@Etu$B#8qDx{E_V&O&u(Y&KUa>X95N+I&@ zNbid&)3Dvl7_LsKd}-A!%D3G_CP12n3rhfh{7c|~(VuEd;R0G1s!#K^95u6H87Oak zaUNfB!{o&@`8w=g+=O?VtY4d_t2oVDLCO>-f39sM_d%=H13m&I7Q)ab76Q`E9ISNB ztntC!y!^04vHM1lnBqDM#eC@?*8?~&!g6z)QdSVN!7I`aNw&#*+u(x?0c=%2-Tc2$C5S$PWtK~rOz3K7+7V$5dN1YQ(nQF8N| zl0H4Tia40MWdOt!Bh61IR65VnAoW@oQxpXG!{VmbtAmyb{}4eaU|_1@!pV~Px+LQD z^2_il{!{Df^LGE}i?Dm!z=$3##Lv*ov}m59xDhIsf+&oG!7Vvo-l#mDCpYBL?)`cG z;pF20gk)g%g*zHn{QXZZwz1gdfJA1}OnoN2pLb7Yl2=oZFoUoDIUr3sd{Kp9qQegg z1$gD)Rcm>B4cs-?&`5ivo>-ZYwrUsU%2i#DMD1Ypm#gj!k>pGr4qCn$D#r$}rN#r& zK_kA`-GAR^3l91#gIcr_wl@Z2t-2mN4TG1R{KF|*LODJ7%RR~wFC9t$_)AtsXX*<9 zQPa5#nj)y$Cu9#DNnhNSs&K6D;$E>CrXE$ea6dy(1ew26^3H zY6x+1fb!HuI@!U{g;AIJ*tr4q*D&zev*pSmoGb-FMcE+Jw0TCcA{025W&4dP0=@Hl zo_H_I0&N@#^i$q#E*FI`vQVgG0B(XR{CQqC@}QAX7)ag%P)>fQFs42S6<_B+x_r{p zF>j}&KjW}{I+k%GQtx@z4L};kqaaoS#>$e$4#0L%wCy~Nl_JlovMJiwe=~wn#r3q`O0Of2Fg2+rDK*em`EK5K6jZd|}gP~W_q_r!g z5v$NWscD3kIFoF;6Q^z2_m1K!bugNioTOF<*O9N&tF2u7ZorTI&d zbW**|04HT&&0-_EXX=C&D`4doj60mi-D`&}iXQzt}c zw-}p!^lMos8CK0fjn|O$fO2+n;TF6{$KIlpWIWn#%bS8~)B*OI`WC`*gW|2+x`a4S8_R|@qG98Q;(4lPr;@<5~^x9TjG3P7{&=LsKyi5e}MN~4N|49h8i0Wu?KFk-l zv@&(#q?}(wH3&A!~ zd_}{#$1lk{%-<~*N#4y6Ocqp-YPMvhpGlfXD=~|BY_)-I_!sGFtT$pgW9S)qz|tsM z`v`I$ux}d#lf#&L$?>CKj7up#)Oe6e7lVwSJ|?zi@@3`Tj;c{66I_>_LtNL2^Pvn zMtRcK%Yf6ceF`#}QII>=>UwPDohZ|!^LYV7(=9%2QeA_;6kA4d~80IrH^Ir)!RlF>F49+2#1-izs@BB3Tar!yCNFU1PzcM2%*!w|R?m;e;QPox9f zD~q+qD`CO}L|t?QkAM)tnYEgC-EhV+nB=?c{*1kQ*U?6QmpeM_A)Q%M6jR*yhqE|; zU3Bfg1W(c%WRQgY=F(}0w0+KnH#~w7kPKjp7SICEDD044HJx%L&C*y zjjoX-BiF39I!01M*VmEA^)xJD*^y}kzb1n~z%}prz+cNW7y{8O3#xeGt??mTId|cH zf+cKEIJd~|LXF5vNW9qlM*qBG#N~3c5kGGpL}WbDFtw5Z44!dL6~p{r>&zRr%AE+H z;C9_B+D{*L#-G(w-AQd#g~tV_7PrhOY<6a2j(abUEqA=jB@pDZ2S9rD7x(_r0qY-gU2c%b+kp>iaQ))1&mxq*q=ewob_#x5pJ;9*Z=j69t;uAL#IT1Gf=0F z55D3(P8AGCjRP1 zP~w>fW!ym*qML)NC9ULL28vENh%SdmKXugQ3e{>`2`xG;i>#GEiC2`lI4A9%5!5u4L+_kL%Sqgb4%vu`_++x`6GJLzNN zS;fxwpn?~qE_}3Pm%p%dF}|EE#Wu4k}iui|&~@;2SZ}z`!05jZ8*n<=vbSKMg3t zP$8(ATkh+kAcOP9Tn5N`-`Jj`YHUNc&)vO2)QLRDcZ`J~;Q`$`I=ubsvMfChRES6frHa zllT^}pel;yV{FCQgT2ih^i`x6{!2V@eN&+HS4OnRxdx#V&8)~~S|Sus<1ITn=}HEN zbNQCbkSzRjP-boD+O{xP=}1km5_S~wGRRYEOUs?ReXYI+UhiyUMbaDn*}>h(8~6K33>PV7}svPh9Jts z?l%S@m><+pA(|?kI}6k18xYvS6t5Qz*k?MKPoK~K4?kkK67ztzKXQq!3|Hup-okqd zTpWAA$_btisX`g%-EXUNbrKUD-_>pC_)c==aeAWS?&Gd{QPGdz8$@LX^9o6ri=mq> zoG>}qpg0BCyzwh`jEAYIUM>U4`hK^=?1<7DtvFNw(-Z2GYukyr=n=0OIZYMnudpx7 zrdyFTmV?*L2m%JwHiKo>lr_B7S<-h5EHn}t{>S|TGhZyyFoIlckgEfhro3?;g!AFW z_3~F!w!P3F|H`cP?&cMO@iAaD|89&M!WrQ99=#;5AP?IaeiR-t zs5bs3s+cewIsV9*2-)SkZa>y=(%iI(cHLG09VG4ZDZpPDnAZVzWvb+>TO#SY`PlX9 zb)7^xzXo^m%4^jn%8bFjchkrHV%s|Di@#Rad|;`i>J}@YUKbXxJHIy%fiN4L=s42K z@sJln;su1OP}ut?&8@=AoW(@OpPaMMq7%($(56G|fP+mZFAa!60rmxb0xvB{6t@Kv znKCpQrXGcL)h>7h+ltpeOwky+9luy?b&6Z82k3>Ami9!XN%XrWPRwpp_&(fZ7ALVb(Gc@I?G&|GFOaKF~e{XgB4^$f{I~Od*27KS_Srg?}mj3$n;v&?kq zlrlhuDpdAz#IuCK)%08i6u?a@yd0i93QXdRbUDw*=l_={t;vEur{q_&KCHpa1~N+dE-RU*!J z@qzB|(sw)2QIaBn0!$Sidl?3j=Y)4TFE|jwmY6;~aVuf}O>%dzA^RRhpCDA z_P+rIeQ3~Q6o5hUIZ2!V925{+N_}(+8Bzb_%VF2d8vrj=ESw8Ntwo3k#Ip^k1wB9d z(sU#{^d}{$l)8b zvw3B_+j(Vz9)krAEf|m>@n4Ui7Gw94i_NLK!nq_vKC3>AJH)%cAolQhSs8p><{3gK zwWIE#$6^BHZtKU)Y_C71QPrpOF3x;D{;`?4E2((rg zE0meX&PTlGp}V}Ey!!rF;f;d^l%>+L^vut_gRiO(hBiC-trFLR?u_{5hKLB&ERxG zPaSGReSCs_cB6N$f>BG{0HCC!0DPOCJlalC5e!aR2o#VEB>-zEi$U$=o#BT`7RwTy zVvFZ7CT-lPcTX4|R|~@~gW3-;n%KF9x;%$H5E+fsOdr4BXOp6cJ{jp~$$>fdta?R# z%thQj>(m!V=iRD{f0mp<5o}tqN(A2NAlFd2`)Vpw?ZAI2-+ajN+LGS=V^t^JbCOzh z_;9PuFTjSMp;*6RM3@Bv)vR?7!VpU4hZ<9b^-ylhX3K94a(KB5DleCgP>0Z;tX87w z))J`tJQ)ekV3KYg6u)s3++kmdVU6_cdCE+ zy@X!mt?E5BC&9D@8;4(_oKC~vImZJW)XIzhvdUbYe4#3kW|)@n*Ukqt`0Ht@LoL1h zxDB@i2q6dUZDBxfuPs)9a@2+K0jvjs?^ros6STy72g`h3KCPUal`sy3(WffpRkx^% zGH4_t8p7l2c+Sikq0VU)AI2i|4)i(2kjnR0jOPO5y6Z}0_O zg-{02&vL`-ER@TP#A4`YNCK(mbslnhO;{|*?Jw`YugetZKMii0B9u=ANkG&;w*ebU zKX@>**7E7^x#thgz0ga?6WSbEwxFe&^sa(CUmRYsySo3;r3xRFtAcgTCZfkk`hY?+ zrxO!MPSOc|_=Nf|rCe^NnJz6T(oU6?ncu|s-P%mYf#P}<+ZFzv#|rtM!w8|1e{d%A zGPpRxiw&&87saF+1Dn5(3h;T4?AkOm&a%LhbM6q%mK=X1tB1N!ez+TK@=AXGsGR-8 z8}Tp|%|tvYw^KHd)i?1t>Iil>KiDnO^9^ckE7?x z1n@70MZB9(@=Q@=K0`HEVfR-ujV=uxPGPS|kxantQJqCFBrZQL zITHB$I@>C8Pt-lU%HZZF7Ul&_%x`q|ykwmRL|N2Hl0n{e3l67uN$)F?PN^X?W4BNF z$;L^~3Lj;TsNl4x;NcL)-i;B^t$&ote}|oTkWRtZ*$VW3&A#C;KZJdknZKh61<4Bn zO^_SF!Ct)-K5h&J4^{*2U{?n@L3{){>-B~APOn92kv({n$}D$bs)pLyZN;Zc>K3l| ze;!)Vo-g&z+j#h^y%fv|B)#Sp?q$W+)){(1O-R~#u@)Q{@{AIKz~vMk!y=hEiwSdt z)#8)G4?Vdv<0i0pUQAR3#So~^1CXQxdCmyjAniR*(@Vm8n$}&g{UcFw9Kr&!k#b`WY<40wz;< zdz?-Ck?^~*NjdqhQ4P^N;D<4uh>-xb!4W@s|nxSJ5u#~98IcETB#LL z9Fb14Q+|zsy&Q2rOh|{tP8bDx!EXNnJVnLIE?kWoC1dA030PV<1BH?H*Di z(tur5!4c;fGlXh!JHK5HOj@ZLM zOd=1Bt~d4N0+KG%wUUa{vNP~mXbJ@$g(972F=cVe9}rRPJcHn zAq`?JKo4`Wgu(KK;mNTpl2qhpq+Dt}2w^v|Ltw~Em2-s%wQq^}>E!xSOG_t7gUG#t zm6x|`n$(?Pu@Din_0Oq1;TgZ@x#~&=0-uUTcvve?MGrg zGVByEaGH#b1(H>G3T}PhOPcr?tg=?0NFfer3i^J$zngJ~a!l=<;#6c~abc=Qf7a4R ziEL^37x+t=JqW$QG)dKmu?tk*@WajXj?xSsCo1{QQ}N@)jzZe*YN30rtQYZ27y4zSJs&$Y-xe{*LvaxfC%|OF%m+1HM(x{l+lF2({syH-lFME?1x?5$AN4 zio^|5d2v&)cpYm>z7aU#(fe}bL~rs_-iZ%0iVFPHJENmuGe9s|n86`}=)Tey@={%u zcG(yPSCI77P=s<@-TZQR6m+4mRk7azRhX=Tc*zHUzg%achqG>Wnu)pN{maC*?J8t8 z4bRvg5&X*_Ob*@{tnOl1*4~ewoWttG(oa!$$mOVQQGDYam3+W7EB24Ys zehe6>n4pp&3PM$C^o$h=7@u5T2VH)mtxmoK+Z4_^ZYjy4l>tx~RcGsdT3nqgV}}!k zT&I&D=G?fH7l|Oes^=ZoiofDwBEtSo^Ey$=Qe#I)!LLinrK9fVeYP0GD0vq2)feMF zh5Vn^0od9wJH(;B=!5t(Dxnt+;P}U%P~ASkTV<#SJRk$_xlc5=dF$Jdexd;FjeQn_ zA$czCTa3ZjcBZcH;m!S5>1%idd+c9sj#ENl1&nY)O? zV$e4;D&c~xFucK+SWw?|F#`$}nePJKTy&4w@*BK`w6DaC$p6wHM}T8;qlqutDjt6~ z&vCr3l^ow0Z>t>@@0ZK>CpdlOwTz}BbO0q)jBY**Jom@1Ty3OP{6G?)jgG#M_N{fs zc(i?FuRqJ3Ge8WUDgPi^pZ$gDY052ci1p8`kbqCicwm3VUgjYd4$^vNuCMi#mnzp6 zm1hAsPRi--!%J?170b1ZaF(ISWXeXOl2}F3)pT;-e zI#IQqK}o%@85NWJ;3Nk|$z$h!+yqPjx8Ca>%f4u#mBZPpM~zEuU>e?#D^^?DL*Q|r zO+yn*aynX{!$a@S;UO^?dlDh_n?al7pIRcf{SX)o)q`N-B*2#}Rwzp_g7GsAmIrXo z)jZ?N&8VKQqP{iGb}-?>e}PB^#K*c^BC}0?#LMDqju1F(B@;l>6ALiHg3N)TuE>Bb zdQAdsx};u*4+{9+i^W(|QDrD)O`cY9P%ovm)oG;-m;tfwFi3pdkpU9^{-2Cug^?6c zttQs(_q7IvZb5NfgN_E($p)6_w~VffxGb1_7xc<=&~6RtNP?z3+lBS2d}NtwHr>Yc`8w_pPo`tO5feoX&+lo(GK8mSy9{zDut%jPLj>2~ni_-Z34D~W- zhuCCa|EvuLcKe#I48pyNhjKoxhZJUe9cYgIhM#dfOQokO4mzm)k}txe+XE#e(L4(aJM_)A z*%2C3lX%N7_k@83`XF|T(lbBh%hTQr%z?WS8B<=tyD$aRtOQUW`1S#2OMH_y=g zWqU8hVeG#%uUc6FQoZNn%6K*4(}T7!>3DhcN9Fp8SL_r+ASPziREJ%GZr%cOqD_gw z=Vdu~sEVo-Ze(gA?`R15zJxji$Xosq(<5wb;}RM#@AyAeZ*3wJn3u^@Zu>Yw3th=2 zN}=k<5>NJ_saPIr&wSRlh0dVzuBf&0fK!}}RHq}BTIfUs4%kJ~1tk}Qhd(>*lUX#z z5Bu@;+E-aBg22aqw7)Q>tyU+|4;(BpJ=8bMTu&r!H^p2j;22LhR*QzQ>3yXkM@ON7 zqts}>LU1CX?6imDvRD#(*AEeMBX-q9)3nP0?X~||DyWDUlh?=GuIWx?-H6IypKVi3 zU>)(^JPmH1*deV8asTmp&-cy-mQKeT)uPE3yK=l*EtH`q@KR?J5zuLJM=GbjH9HI2 zeGia^*U8*0RxyZxFcOOa4coKLT&y#^vLu37tWl?|{;t*#YA|pZj|#-g zQw@{B_RX~G#hqcYQ0C$6SNjF~25t1bbl8`9grp6>tYrKj)ZD$@R|h%oa{m*dwvQL` zge0$TMr4DZeHS>+gm&yVh9}GD%+M?t1S3jLZJQ#4hxige!z=FNgxnFzn(?*Im%6sh z1rET#As28&Spggq6MNNIykG8tnoew6tq(F&OvdQqz^XqkAVkv%g>%*eP;IAQf_5Cc z^1SD`J(Rl%J9P6hH%DZx0YE1Z5?N^&9oKU|<*&YPQhP_!+LLjp>BRt1J81EL+8yAs zYr*N(p09;n-sMk3+n&pj+rGMriPB|2de@g#X`y;Tp>&G2i|VCJ)@c~`h#O)zIMu?o zVenw~bkkQ21{{^&8OVoVtO+*8;--h?+blM63M9hQ@x=2HS7bCnCKGJt0lPKHGE$~* zixml+pbKHx%N2((@I!le3qBuQ&b#4=zvwgthzMUD{@~jEZtWlorow>F9}W6VfUpEC zy$i>xI-GLnkGp0m7&LRySMjNi1WhXh0m}c4S4s(XdrI3HspA~eGa*Fyl5ohm-JfI$ zirg%xGZXb5%8^$sgE3?*PsEXdW^0W1_Sowk8L~xb^bCUK;)cr4J6F74~I~ZwFv+2d^xsxa*#Lm}buCD-~-u!efd(mE-@n(FN}Odmh>~0$>hjJ1mZs zcT^f2mX%BEM7&e=_3Ua&MM(J4}KQ|3CBuV(R*_5O~d?!{RPyLo4!S&Q8Ip3r1X22!pZT zf0t0>%sy}u8#Gv8LQtM*B~u+&5FJ&YDU95*I6{}qmn0osW=bHT#+h*g^=jIht~#6` z=@4_pWZo2b%-bf81dy zoXRU@aHHn`JTZUQrwn-_uf*o}A<}IE;B(eQqCTE&{jltrC0kc4pD##-$dO+(oNVXa zq4NMV1>4Y?V82KX76S-R7#r;wi7Qqa&-1omfrIvvVC_ZV^)d(WB+bEl70~Kox`E+c^P#h| zhcFZi0}J|G-JW^P_#A`td-Z*)Dn5wPBZ7JNPzB{;*p+tb#7E_m%ANliP(ey8H&1$; z6^Yk=+RxaxZh4-#GCzHpwNJi{3s0Rj&zEO>B5g0#;jwWw~B zbO;RJ4my;PiJZFHSgaH;{}8KB9RROh3@|F5TyHR(1!Py8Vp@t7Bh8UGKo|xgaDx4V zEMqD!RJe{Zz*sw+A?bXsy+uli_C;1$@o6U^UbSrA=miM$W&p~4qk9m0j! z2`hW3GKI7mA*a1rTtcje>N-!=Rj3}|G^f;M69|3xpJz^PfI*s3l*>8$uLtwMuOLc> zmV%e4O82-M|1&hn!L`aKhF=vr{<^;4Wq*34pmf$q`jtZO2Bfj+YhqXWbC;&a5j*WQ z_djnCvb(a8_mAIKJMjl-0BUUbpMM>A`XW7|{blt+fs$X3 z`^!g0qNn$4{IIUcms@=+oAA&jLHE$cY(nTn&qzx3&qpOgcaA;Q8cCH69wkce_MmyT zJWJ@}mCsB(950b(A2?ZRqdw$IFsgwNTqax~yAC|nR`~mlMpXhA*b85tT$^}dzB<68 zFXq5g)lnA@nd`{jJXr90v3raaB`sCls=adk`z?(Tyy_>5`OyanBOB&=D??Ar*5*E_ zupNcOnYi(1C7q|vKGNv-lRdR#r4Mr8oPsaupW78^eiARbX1P(Nol{T;TW@lOJ5l3X zklOJ~&FAk+cjNQ1-O+#NT&>%lnRw{i?5%Y+2QjXC>GkxZM=AC=YiXw5+C;NSXE@73 z3H(&nuVxth9nnbHIgdiIdxo`NJnDCJfa^#)d~0{I-pV`k$5#p~PZ~wfDoM9) z!XG%>HX`OKG4YIJ7}s2>ROtGwK;4hS^Dll`_F_@K?vG*QSn9MQ}4UTN~3}t~3NAj*rX0sY%ke`P+(l0iOxj{+)bU z`08>#pumFIeK_0@LJO=4Ki$G^y7n$!8nyHd;j5Nn`EZ; zbd`6XPuDP{t#6n7U95(zJ^1ujMQVD!*7%Dx8f2Z>2Gpgg3bq+FacbwhZQf;_rCzVe z&et46;rz;PYleS3ExI~gAGH8R4gV*r;&qlkF$Q|PM%(RB@{#^c^urxJScnZ(d-&&V|E5H8P&e1hnFTIH^%GU9} z9vFNLqP09gnb&L8nKuoT)|+_wE#xE@BJ%!hWo3`JN20?o?y8?OU)2K$BQsimW6Ye> z=CKGqmGi)t@s~9l?yD27`We?2jy)RuF1_U!%QBzPe=U;OU+Jj3wLU)vp0eE@yst$N zQzMP)9*W;sEid$(ou+tSPCvSgD(Z*)*>kmW*k#w@&l_`xs`_?^ocjBGr_#9kEg`$$ zR|B9XCH2q2j#%F36UX)^+lOu}R6PN=VBWiCi90cmYzrRTzRDe|6&hqiuA#BqY^mZc zN0CGh?Pa5XFeU7(;ef6n8vKZXs|j1n2^_tyS^gIa_vkEqI_a-#E|sf*w7RW5Rqm4i z{+KVPX@KiiKcC5x-Yob~ot2@aF;3}aJPzDBmz4EQaEBh(Y^~Lp!*|75gC3L?y5#Fd zwErMoh1dN@AoP~m?@esJ=8dIq+2#g&Bae)MA(|wgT;xuis&w?+LA}R|l6wf^ zpI<(N(f1rULbCl;mSQWnt3Md$hyj)(n5o5X&JNTb3~Q96rJ9;GrL(Wx6xUF;R?rOT z_h+}b&#bJD7bOtq9?o+LXrg%pvT~U2Zoc1wmkfET*L;>)QEaal8z44K^&cEi18MxTkR~u! zlk1I^ypE(Aw(h60vqLu}oXZ!couVY~Ee(ss4-fD8**p;X&r!Re1{N;o4$aT7|3TD! zIkj+MEV&tPoAJ;20PoC(LAevdq(V;qeP+PdcI|V7q=l7(^A~?(2pP(`jmTXNp&&T= z*{K<Etx0JkO^2him_A7=;%MAxhrNEOg}qKSgpJ$93Usm}_=$ zA@2ySvZAF7vFY(wy*=Q*JyJx{1Gk{|6Lj;M%Vkv8-`9pWKx*5d_7>s|Y9S}co~3`S z2)l!W^X);8-iNg%;5$0nJv09PNjaJ0oJWf9`AHDoGP2Y43X*O~>Ee#3Vx7)Znl2s6 zf`m@LUJ^~v2hU{3NX9k$UcJg|U}UC3IoCJ-`vI`J&}-V{woA0nb1$+t+yV+^-K%Eb zv`F5oR&Q~+l;NenI{Kiaw`k-I7!ciTuQN5{+lP5xFF|L{WbISv#<)WVkKRmJNr#zs zY1b@E{M+*3-FiWO_P$@wr<8_zjp=lt@OnS#f{&(yrvq0c`nFDkz}FEYpY_GQv{i4- zwByfH5G`=Hs2x08*`l@{btR+s;~wuX`yylK*(fqOo{E%?$Nk7FnP+OZMnCRx-;M7U z4*B~obfnTu87Ck)YjXo+>4O)VQx|; z`+ifcolo&u;^tE5)=Tdng8|Q;|5!Re{)xI?`PW9w^aE9skoMrTwaJ$bATbnlKOGed zS^3~#c1-29_cpDk9_n#>@pC?VtLpW}ony*Jws|J~TJ=i1vHt4Ek}mteVfQLuYpZ)U z&M}LsebRttpGYG39)+#A)fIMj_9#-E^2(VVPcXMtDds`Ah`rSV+pW>L_vB4?!I!rJ_;`Gz$~-`?Ak%CAQ6+jNG6ZmzI9o)%T7 z*GLD9(l0ecBQJrknA?8;>YClxKMi8iTlY+#&!;aHlzx7{*6Y({r$xQHS?C$G^i5uG zYeb{w(#zB16p_R;cgi08H$7h@;X5IOs6_gqZD+6c|J z-y1}$NAlT02R{CxKi{m@^SJ|bQ_0P`OT86dX2uI?u31MO9KLl_KGTCxX@{E$o!1CW z0ztE^>T3JLBU%t$Fmfw_HINherX}Xs;rb);w7c3LpJ!E|z$9<(67|xQ!8_GI)h6F% z)-Rwkt2ZXEe!A zT*>30Ub)$IrRep&iy8CD_OQf$K77!07ANCX9$DhX7pDs6&OSLa*dO*An?dttx?5kt z2nrFI{Zn!8k*o-7aPIm_Rpj;k+=*>-f8TIQt$^i&lHrVz{L3YpnM!?vSYab#Po(Vz zJ9N`EU}ZR^XE&&RE*7md4vm8cBlk6UAFO7?w`O$UKxl+@0ffLsadHKt!~z=TTE_hRZUevu6w(I@UeZ_A)HF+I5WA-D9Ta$Ynk+quxJN~LCfj#G~A z3r?jcN_sXRIhkHVw~fm$MbKodF^qC>mT;Ne5evUcFg~xK>cOs_SK)pBGCBYwsD6U;P4mwB>^SVRUCOeiuk-b>mD{!yP2tS?$?~}wIWwXwF zy9Hq&p4s{Kl?Jy2c59hC69A)Aw0fg2`cl%t5uP&las_E`i+nfju05qE{isf*290 zwFmY9Ku+^= zEpzqN*yEsEr2ITn@b21h378fJly$cB)~xh=3r}8Q+l6U&KM?UpbjEb5Qp;Og_#Rtv z?0R3C88}rDgK=F~9syMSUoU=uoH+Yw@xKbk@dhGqH-2=;(^xhV`1p>kB^EgS+IOma zYw=}``!~K6@WVcQC4Jb~vOn_Wn&9PPKA_7`ggW2;$FP}ApUPBTgH{@v zsRPKF`SK)!jC4?1qs!K7xToWWbkD|0vbFs?w$0@yk6u~lf@_hthC25jahuqIrqI}Z zd}v#g2EStnZ&#~f2*bq}lJ+_K+WO;uUj^-6Ldv(gp%p&_3w*-Y{smC^G3z_-oxNJo zKn=e7p+|-Mvr<$pAH?3}g;QDG@*z>uaP%~ytzP8+)3;-pu%9u522^jShXmh$_-{=cmUgrja^U2Kr=RMJJD?0Y zwc0Uv=C3DTK>B^-NlfGF9{1bg6~p(3hCbf>>#I^yXTc}!x;C+^KNtMZ(wOu!{l8|F zFXVx?{Q=Lxp`Q~kT3g!Uiaoh5sE6fdhm`q?4Go>1{PVT_Ux_oIyAy0Q`W<@n@JN^Z zW@(oZ=axXprhsYsK`nia5#23^;+=n&_|4AXw?@2GS`4hR{p;7aHE3!K_`NP_v(oV? zzkG8^?b>n2vK{CI-9?)a=d~&j=UQ?zYR-lZyzCFSQZ1EL#_af#yRcjPhT9oGR>XWq zPi|>;&p&!tIQ1(mQUX5(X5+RZ8#bH!^Mi86DI2GVl8wb4aN=5P@5Zo7Xxi71uEZkO z=2TU1VW6sQKkz{*X(TIf>L6H!v0HqQnX_Q=iIdS zp3VJh;N46D-`eUg-D}5FLSiQ%V8({r0o9=3e;kt6bMF;bmNr0wIvyn*;+O6cuhsr~ zsb5=hV}zp%cNZeW1DDp*nJoVvKkHMgJ!uHh8h`ep{nT0aJw>Z||!*Lwv_8p!2 zi~afbVW0AW7v3j8&>tg8ueRmX+zuVnAV2g5osq}-TPv-U-LGlM+=(wA3|Ie!(`4w2 zbg*yq76hdfPy$yQM4j0t__5&>2dSCLqE|oi4+i`k{rNm0SV{2fDriRNcRp{`U9!cE z=1}Gq)w^uf3ZB2&J;v{_Ob7tkqTAhPn%L%4GvBIT^Ew#pHdR20A|uUet)>pE?VwNQ zd{MYQC&1xl@AYG6K;<-#&9}0)Q{R@dW3*FvWl)525X+Yf;*?)qtS*d_3bi?x{wn=&#@r>io5X--dl~k+kZ%o-P%X{hl7a!abqAi0*;_335 zGRSHNK>_{Pt5sKHni!pvRI@UY@iHNBW1$P>UQn~SI+;lVG#u*ixIRIi9po~s0a*|A;?yCWJ{!= z1H;l*GzbV(7PVur3bG5b2-*lp#EpP}EW=_z2x|z;cUlthdFIdjp8Vqpx#xWMoNsyG z_q*q&^6B`;9g?bgiG>3Kr!>jM(ZN3lH$S<6xO&H*^*t0z8s5YU!mXXr%#jo0K%hr@O2}~@b?{F_ z&kszcG8~&G2$#EGf&^w(uYs+7QIE6#ixwmIcctVH; zoObq5kI$M^PNIg{B5N=IC`TE=?{N80+84_9xj84=stx{;r7ckeK$$o`3n4K$9?LH* zmR+uBC2nbN(7`qXJ~z)v|4jYsJdg_SRQm$Ku*vYb?}VsQVIZkY$8p@}V#J?DT?L~6 z_!-|wEA36%yYKBv0tT=3(4@i3Tn3Lc5IiDclz*u==?Y?1?ODpt?wqn6{qB};keWP? zd))farqpPRhE_#rc5Lf-F}A%^^=*WBv%T}~`$(V3d+7$XtckZe(Re68q9KmlxZaMz zDI5HIyodHw>7NUhfNFcWOE{i!+gYD^wa&oRYf!Smd7hl6~n8Zd{rLMc33C9#*% zRjOTZc=fpkrY?%Epzd<%7mt+uGU@DUcEBI`Dbd{P6xdd46SjZ-v6?uNWm(RiyPzZI zIfsDg2?#^wjv9ta+*%*M-Uj&66A+{-zi&+L;xz=4kZ$=ZlTkJKB+@L)_geJ_L?`(` zP@4no!U9a?@1|?06#j&q4G!5p(+VZ2@72+I+7VP{ZY=cT;^I zopvJ~^%w5F$iCw6+ebyHR+j*Mf~uv33`$?a=+(#1hsr#A-qN++Yy zPFD%Wp3sy2OAzw)jpfx({vk;)Qkz{ZaE|8pQX9dlHCr5X1dxIyXFw&3HyxHD+W-h6sFVtai`$NX6M zYj))1<5-)rgkpHuRSt? z05#<4Fv`9_HJmbfyR^k8fay@P&{5oGDZQ)pt9cuXf4Za26nEGzW)Duyvb7+?_v%ci zUyY}6Fi!5)E(yi>By(lq44y91 z*aI)l0n^K@7k9hP{bGMxw^6IvFQMDW6Z~ff)qK<}?>I(HcXYm8XC#q|WG(UJa8OP< zd2-rFE#V>^A-D_EPj^qY1{LIFgp0)~s6mvp?~W_pY0;Ou1kR_a_)_S6XV6y1KE({H zavHX$fHtSBVQc!n7~?SU{HR?%bgXm;<^4ZXfHHa8c>pMjxi+g#HTdxsFSr(i%Y*ED zFXB5@ui$3~HkYL29%|<&xK53_Ebl4eY{1L#w(9QxHvB_=tvyU?^=*Kf05H4e)CS>F zDNixI8}3KyJenCpo7 z5VWb9enKihY6-mhO)7y4u*y2H;2|ht|!Y3HTL^+ybh%G zx5g|5GA_xfc2l5p+l2DA-+E@&ebiC3fJGe&oXqBIb7bnf(KpvuND`Re=3cGq4{?!_ zIRF`9qvos-Ij)r=hl(kBFEyZ^TQ_)X@nfxwJiy_VQChcT*lR}BmU`7D_r&i{QZ&*c zlsrFDF7?oCL%dftORVk=fx~DdoV!`!A9`ETJhRM{I*~>E5;_b%8*Ip)P+F&1piZ`G zxkzz08Bn>J0XX4)Y14+K@JCB_$p34LcXu<{-|2K6&kXs~42B3e2SX!=E#=SU**86krGY3}`e$pA*>|wE+V}A?$FOx#39MfRf zyL!Uaxx{keq2o4`!O5AsiRL`-(V6lt+=3JBwG-+?9KPag93G-IQ7ZIrmL`1H|74f- zFATfIvqgz(msC9YD)gO{fCmHIAbwFxtf08iUOU25#p!VFeOR!!D9hSAfq<|0d{FQ; zlp}L=UB$L{maXbBVb*BFO>4)#$rPk}U6P{5j6*dK6T+$hg_%~1XV;hPXv-hAX&sPMD$F=ZAHSsCmMxFRS~HwB1uZ5 z=ZVD7|4B*iSuSkQ;@^^xNj3&fG73n;z=zz9N`tBK}2iv|LG?*%#_??=H&!i8pM~F^#R-c J3`^JZ{{dc%E~o$i literal 0 HcmV?d00001 diff --git a/test/fixtures/app/doc/screenshots/firefox/linux/index-vips.webp b/test/fixtures/app/doc/screenshots/linux/selenium_headless/index-vips.webp similarity index 100% rename from test/fixtures/app/doc/screenshots/firefox/linux/index-vips.webp rename to test/fixtures/app/doc/screenshots/linux/selenium_headless/index-vips.webp diff --git a/test/fixtures/app/doc/screenshots/firefox/linux/index.png b/test/fixtures/app/doc/screenshots/linux/selenium_headless/index.png similarity index 100% rename from test/fixtures/app/doc/screenshots/firefox/linux/index.png rename to test/fixtures/app/doc/screenshots/linux/selenium_headless/index.png diff --git a/test/fixtures/app/doc/screenshots/firefox/linux/index_with_skip_area_as_array_of_css.png b/test/fixtures/app/doc/screenshots/linux/selenium_headless/index_with_skip_area_as_array_of_css.png similarity index 100% rename from test/fixtures/app/doc/screenshots/firefox/linux/index_with_skip_area_as_array_of_css.png rename to test/fixtures/app/doc/screenshots/linux/selenium_headless/index_with_skip_area_as_array_of_css.png diff --git a/test/fixtures/app/doc/screenshots/firefox/linux/index_with_skip_area_as_array_of_css_and_p.png b/test/fixtures/app/doc/screenshots/linux/selenium_headless/index_with_skip_area_as_array_of_css_and_p.png similarity index 100% rename from test/fixtures/app/doc/screenshots/firefox/linux/index_with_skip_area_as_array_of_css_and_p.png rename to test/fixtures/app/doc/screenshots/linux/selenium_headless/index_with_skip_area_as_array_of_css_and_p.png diff --git a/test/fixtures/app/doc/screenshots/macos/cuprite/cropped_screenshot.png b/test/fixtures/app/doc/screenshots/macos/cuprite/cropped_screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..8adc8f06d045243659d1727f3f3b7c619813d172 GIT binary patch literal 2684 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 literal 0 HcmV?d00001 diff --git a/test/fixtures/app/doc/screenshots/macos/cuprite/index-blur_active_element-enabled.png b/test/fixtures/app/doc/screenshots/macos/cuprite/index-blur_active_element-enabled.png new file mode 100644 index 0000000000000000000000000000000000000000..cfe714954b2def50f9ba335e0894197dadc723d0 GIT binary patch literal 21343 zcmZ6z2UJtp7dINJ20Vq5^>= zG|_-ahf$gkrA3M$LzCW1sNcbv|9jtiti{UpdRKCC?%w-X_P+de^$J3OPm~V=fe08Q zFIqw%Tv8AS=k@)(;7qDt;rj3R`rgNapWeu( z4G2UEVtmmM6_7stWAj}$I#4NSmm@5DwMp7u`ArG00Bel$H5%e1lU8IHM~H0CjJWG! zdWz?dBUcS;4hW;9V*YmgE6w)sek7z!&F9xVjRzbsB{{+FeT{{Hr9F@d2WNilmx4eH zH2$yC?;Ih49Xq>&_qOEY56NYOGVlGPKd6mc^gSf7Pjcz&{2|1TL5b?Ac?bT!xrf6= z+i70u{SpuB!US^2OBq8iEp`ijFoR3`mNxuGa9Rjbi>q&(Le<*iA#-v_SJ8BCGJlv) zBe~@EC#aG)g0wrh>l)=}x7OOx>%Tin(%=tcQ^b1Lx>iQhwX4`^^;7<~T6Y&d(;u7r zeZ&R)aIjaoyE9lQUa}#{;_usGPCdT4T2>a~T`={J!WmJCkda-H(Dlsv-fg=%ch{X) z8A{_#n?7kC_Gg!RSaW_eMJv14d)nTud|@Xs)BT5!pAoZv*Lta*>=|mW?X%113wik6 zxuNBWqF)*I`<=DIwRLT7NVxv71H5=Xs9K{1WWD@CXgi5%u#>;)ZY@!jj%i$T0g?7MA*wds(WuoB;}`7MDbH!Xr(4v6p0R4Pf>2Q?}@UeRAq@Ec+8 zKK#sEKbup5UH@9`*;ydX0W*{%GXodxc<>rqt&I9RVcQI+`s$AlzPp{2Iz7maIm#_~ z+D8{EswH^-N)`5UK`#0bSK085Uvi00i>IMmZd&?0l7Eayjw>?;=zrY-u;N^oN&*>MXEQKX>R8UHgceX6-$fNFEp~dG7pF-P9A+Dj%!hu(rgQW<%FX zzwhH@2i>h7f9_VGZwVT~pWEG=aLE@;s7ahE?68@6hyj~)7_aOeKEQ_t%{G4=Cz0}n`3!=3rM2T33E%xg_f>5~M*osxW|Tcbsz1=gjc zXX?MmWvw;ZPBMlvYfC|q2D2=}xS*ZS0C!|`1ovMkLv`I%m-?V5)d4EoliTClmk#ij znL~^rxh7_uW-G5@%g^h+swv_|Y!*LoUK_Bjl+!{~DLKh>R0-l#J}Dq(S!-h-E#-|5 zH$5CvW#6UAYk9Yk2Q%#PC_Og!p=utJUY|a2Ca#^#9YNw7AJB2ubysMLWv#=ku&vP<seDuJ23kuXmPC)&rGH*BATN|$Xvo7t`0UcH9?)hiM91Ol1gcl#Pgmgr~t5U%|G z?uDHd{is=PyqR`0Vdu%j)dYEyK!>;qI1+6@lh)yYNy~JQv7hMNiP7Ph?UzvgK<^+u zn_tH?p2#^r54wuE!inUG?>?s|bd+{0@l}G!K#zCfNqie_edM-6rsqqG?f zU?nvp!AltvY_|}&D%l*;9EjbxVO~vxBX@L?;?sUE1#^HHe8wjwGChtIel7Y{^{WN` z`(mthY1oX#d?Vp2A;RCw+WL5tZziO;nCIz)ORxvDpPMkr$|c2CU^WS;qDD2@!=rXk z$+Y-FIo9=UX>?icI08F+m0@D+;eq8J7%jo1G}q`y&9#1xnnlS7Y8J~op!caL7jBBA z$Lj@~YkSWKB-DmbtYuGi7Jr0_3hTl5kA&u5A+C*o6x3O))N;^E#uKCxcL-(^G;}^T z@o$ttaUG`aGR4;O{uY@be}l2?O~GYbCajGI`*@~AVru28^#@ZRmQHlIzHo)5G(i44 zipLCSVYmA3AExplJwLN}|54?d;gbOO%0Q>3)Sn3O6hmot%V7#pG{ZC+=PkI`1`-yTE=Fzun#OwQO&tL z*nQmibB|e+Na#MsKIEg96&l-OJ^HYg4a!FX94X2a(i1#a+>W04Na~AzQ6Wb*y-Ia= zWY2PE^xrYTL|!dWGNk8ksLgt~S1PL_Xxf44_mTj&dC8bRlDBY#ni~2dB2-|t?_A!( zSY+1|LW}`i5-JHjKIOeY975YVD5r!HGxJ5&RIf|sA7S`d@=#m1X$b^(3n&MgqiIbJ z4-1D$Wf|%YNzFBRq{I>VF4Y;)BvVX?mzVlaI%X9U+^qxC9gBy)O)(}BoF;Io8>H5=pRJyKj`zoc=SWGOuBkl2GX$TUb||S*gj-MuKv}xQ{-EEHNQE9;HWXs@yPN{6JI8=Li|=#U6T5 z(#+BfKppy$B_EP=jSPTR*`pScV1UOWI1SMTDiDi9fBOwrsxK;St8K%%<|cQM`RW=L9o{GeQ0uRBA%N_)}Ko1RFq{arSL30arkKyob6?7QNa>|XKRsLK;xwf03d{{-Ez~l`{ZC#+TObce zQ5-oSHR8`wBZ-D#K}y&Qbyx$YV?~grAW}s@!7y``$30CjE=S&_hQtxX6VKnTA?AJM zCCz9?&&b;XO={NS;)SQomSA?DTXgr@7qa`RmhS&gA_N3kDo4Wn} z+t6~{q~}TjfVWcUEvO}RI*U&QYOPw`1-}mN8Y_|`%TKTnZXm%5m0}oS>Wtt=p`3kj zV(&fv`eB19745d|Sp9O1YcpMYNCy3^pYrA#rYDtc#}kKhtz$0V31{5GtYmiXNI)g2 z&qr{=Mpz}hS*3|AY%RVlAam7bfK0UpsiLH1u@dy$&qh-1yPO%!4n6ON&Y)H$r^cYu z&Wx?tiS5PDHDP>jzmn7I)FO`!w1k}F$O=f+oJY^@E4$S?_sb0x>>2nj@v4! zAkBFzIJVkZ)1(+&IPK3?Exokss-4n*%U#Ch(Ls!aBTtRWm!Oo(XnMl&%1dpQz5Qt;JB_2F~yHyhs zpG*2{`T9s1N>nAhP=HHy-a@L;LoJ^=kQRaS6u;h)y_iyg;m8r~>uZ}FhS!e`qu&c& zR^fr8U+~GW&DzqifI?;eLs%NSPq_hJDNE7#<;W3T=n2NOm*@GHgWpA`8^ol?M6tK) zw>}41*juc~*2)m$z#0n}Gh8Y{m$5;j|JEBz?MON0tT%YW5Z+~xMiy@f!^xrU;!G_8 zf*%*WvdBgqUL2r3g+-54vhSu9tC4z%KM8kMnyO9=Hyib-I*;9-sjx@K^uAXfOrA4e z&uuo@FcCBmRQCbs9*Rd9+8h(HHWgIy$ujAn1jh#3_;{9m7B3svimQ-g-7w5FZ%8fc z=DSozp31ui@_SEdIM-wV@YawG$oi|CcV1-L`g^04Zr2l=K)AGwaCCH(O$Izds<11( z3NACDU|fWBaiZUU==8C+TwN*8#hWf)g=uK^eDu`LA`Ta(_GTP;ubDBfF|r|KwwNZE zK-&i^)e<~M%gMUAqBIHqQFRX}iv+I2h|1YbV#!yjDc*loDLWmlm@C);)o@cNf z87ej2EgQ3H{^-1tz@abU`n9k@jhnGe47qzCPYRS;e`#UQV+O2SHpYUmLDv88Hp?!Flg`vUl);*?#sU0MH_sGVIj*?enYRJdvVX zIZv_%66eg7Y3|l#11LT0r9AHJ3Q`SW(inb{;e**OK;08eQh9W`l%bC-$fh{NN;vdI zB950m#sRzICBqTYt)I7#QvFb9mmnto+HRv;&p?UJ{Fgu>Bf%5c zF8a9)x#-So^gHPJT-^&aCtc>as45W~1pWCfR7ycEIQ4lPF_BerTxl?^1`wdV;OVq1 zfl4Y|31H7}#8+4RxbuqSZccsBDIp;;Z83KmSS{;m#kgdv%m2%=LR!JPYPDHTtjASUR1sO7_#8Al4UW+P4Q8`czY# zMs+6=b4UGEv*o$A__vmNY)BflGSXQa>X_&LNN+l#a$)jYjJ0-L9m0$LO}mt;0^6U( zN3f5LPVT)K^6A6mRjb$7`uYkv4p^;>VJ7C2i5iTBZh^|-V47$*T8we1Rl&mt8JT>h z2SkRyzL+x6#L|6ZHO%w)%nQzve+M^>Ga({4@-mz&O=7cnXiwo9LyWyI#qpO2DPuG1 zq6z$yIo1^>#4L5`FTs>x`Q8ChRj!TL&thyw#I{&rY95?;7+)L0yXraFP11OtG!-)J zmRXnX@jhzf)Qgc7?g%?X-PK1iHcbk|IPN&R+cRSAtAZ))O6V1aM^L0yq}iiX^-mrZ z*2V?FiN}?^I~qzv_hs2Rcs9Odf*ZLP>5OQvy3a=&c6*BU7@Z6nzZ@~b7R{Bj%Tmfz zS2B}@k(nq;>e!3gK($P7Te@-O{r63dGjP3BFE#9BL5P;%b!^!W9KxRI+FK>2N-k_h za2k0D>0xgSTHQf*WvWZ$-E5~jRr3DI0qZ zN$f#ey^3YLHNR5Wphxe6;^^F7p)Ai^nnD=tQeCQ15`=gU-Li7U4=d@N^r0(YHz7Kq zg5;4mcxW&11NgeXgzKOq_?xZH=I+GzTF5Y6Uy&WZ`3aJt!q7iOqFDvw461|Y^_LNW zE0I~n_*xuXGA)iS2|a>l=Z-!QvR^F2S?F1JC31(O^nFkO0+Z*M{+M;-uk|Ol4~bsU z9Ex_DJ2a<#_u+bpA|8gy=1Um79vo^m=WE%~C>Xj}Nv#@5UD8$K$>Y3A?|q)*#F(&C z4fFd=uzB#b{lGlp2#M>rkfM%at+J62AeuNY(;#K$hmD10xwgbp9uvn^uUa^|bFs~` zO)d?`W`?L?-_=%Vyp|$c97DcrVhdfxPIkM=E%xXUaFkT0)llyI!dnYm-tjR1Hul_q9pqxqj|w>_*;;v4T8ueoW18M_Y5iGA{X3eIw-F3TLW5XE*l_m& z%d|hnHfc6i!h~LV-NBw!t`w*Qga2Nrw>cX-G;XeO#pvpzGk_v=12Rc5cQMHLiH`{3 zG=_6S%Y3?X=6LJ*BwbA>faAxZ45*rlT6mC4ue<1m) zWqFS4Jo%O7whZ;+h$yz_r=2ZLEG3lD<7C^4V-3~k=x_;*k$|;nC!e`Q^5W`=V1Ia5yJ^=Ck3&L%=`F!vgAL7{EKq_-KVbi^W8BE_^$TAu_8>J z$^NFF`h$s6CMzdG#HYgMWfgH-t=ED}CL5?Zq+TN=#fd>{{J^0r9B*dz2>m*YFvMnWcrkaL$PPqLeE z!0Ypn&Z0P)TU0j(t7M-RCfQkWTD5g}HK3Dhd`d-`eV?BUChu7HpJ0LmiE@Ce7?muYt^}r zfNu($lGrL*{0G@2Sd_9UK93NYG%M8|8U3wKPc?STPx3u_TSp=;3IL7>c6 zRC8Wki5bBKI*3;JX1yWYWZJF=?0#0f>%4F6Zu(2gGIxCcNnF-7-Pf|?ZP%pbSR@lO zy4#m%ydBFqc{Qa^XZO#(-OZxfn8G-t#xF~0(||a9tggt?9aNX=UrAjBn(DU;%l$O< zJbE*Dq(rpQBe4echmStO6Zz8p2GzN9K!g#0SuYKeumscTjIqpY-Kx^N0ab{|&aZel zlahFO!45H#K-%oeCC%ldKepSEtYuoP+7W_&c#yJ%8v5KXyS>W}%N2 zQyn4=^6k*A!(DiL>8#XVAp?qr(ie{vO=5CySSF^AhBfni@KWlU>1OxiCuNWAOlcCr zF^g3}VKcgx+c4-2hNU%$J{n@{&;T|Fzc8t>)i>{&M%Ji!(Bb?j}r6m#L;= zI%vdvO4=`vzXpN#uAkHz9dCU%F!X?=Qtz)kzchGb@d5z|=gt>-+{xVd^xvMCBZP{k z&?0n*kMqQdRBQLKHp0Xe_r-$P?ZqG-JaAI!a#^YE9>diWnUA7U*0P_RFzt`Sl#9+N z>s6+9KbSLKAp@fTFBsikL7HkE7u3AG`NU4OrzMjUNjsjRg5G@A>7O&9(@|hw*2PYo zYp%D%)CLt?LQn8x#((R$rID-0w}%iQTN3wbvLfsGOHkGthC^e%?=<4DR zs3G)J;2GhU+_AlMnby&X4!7WtFF+h<0WsQdfp1jH`bdzsRvK8J9{PH#DBs4`L8-nFbw2fQJaAaj8lX5*wOoKwc_#1L5h}aBpSv6{E|0O7 z)n{*kUc;=#@zQw$77^L7%cvEp{}{Fq_Bh%5zCAsl6Gg8G z3lgep{cK37YD3_{?vq!(H-ZhP;-;6Fg{0Hha%ut!=s1*`Pv@kiJGaFp zu$OeJuEh^G&TDYU&6x)vzc)fc-z|)VrJNz!Y3jld zL7nzt!V>JOGrJ$9Omosf$CT9mG=oqN6V|fY3C#$~&F#U$O`ii&`E1-619f?^>Zr|t zCZCe0C@Vm2?b^~-v!CLBshL_XbgH-x&500g6*8dp5@<-c6jbU)lE&*dsr6P`RQIc0 z%Nd(mt~3}_GSGX)7iAUH=MrM~3Hd9xFZ$(qYu@#TuzT-?OIAPLFMbwiUWldNh}Afp zm;ImvrB{hX4q8X4=6$ClEShE8_Wmq-FRJP=48a@}# zIzr>dM<<}Pup8j($MH!P9t%?^o6aFat?7S1U(@96GxPu7EC6-em^Kc0&z|;nS3qZM zemr^_ez!Bmx-4I~$nrR~8A(B9zabnZkYXq68#`&-k3`dR2s%z#s|(0^=ktn1PCrv}GY3I6@{uAKNUk61$Rj)l(uY_~JI^MR2 zlP0d;h||~%9|<)=)|n*Ln4@K0JH3DX)9qb#bTmp1JHCM86TAu>44n1K6V&Y>I7~~> z&1WDwm48|Fr+3Tboln$^%L*>&8spJSOsNT^$Ib2s@@g#rqV6Yu$ON9&DpH_9`PUuuC5=qz>7D$u*|8;G!=TS64C@=Kb4IYn<+Ya4E z$W_j!Grt1QaKI{$L-_*3I4|-JryNC#@x{S~GkIq~tD1UjB$(DtC?b4b+oKbF34Q6R zYpPxH(lSGts{=?#6DqIu^Xtr+Pj5SN&*~Hcg$ORb)1^jr72`i|Te?Vc)E z-Bw^FN)ZQ>WvbOWzWB8Mm!G^_U37v0{vMuK2;6^Sd~)@inqo9893_d2L~>pP99Hmp zYtN12@Qxzj{$0c(7NZH=&r!OIJ=`fcYq&Hc0V6QkcO>s7;QjEdQ@;n84UPpC@Z8PFJ<*(LlWxZ6Wf3`ygiblNpN zR$9Y(vMroi$9l|^x+ZDS2`iTCNSVc*VcdRN{TD*qhmlt$9Q?*Xk^4qPp-q(Pj z?PV#om0LBp4eT6fo}X`DyT$?2mF{{@x|hIrIkj8$xI#w>uys$7r~Rs0rg=j}mc7*{ zve$#?Cr2tlJ8TmwtM-+tHWFlM+!S0YI#+$xCe*+4Wz{!OL>#l)-`*|m?UGIW@s&OY z{CNb$+Vfn27wlMe@wLsM&d*O6wT`o_;&O(MHK$E}FL9G`>o=xeqdNj|S^EGkk|IIm zL)2Xs{o1h$j6*SrO8Yd>N;q;dp!4LTz;q_)F=*aBdyr2}7cTGvnA}IGex3HxB0uHc zXEmJYNTZzxS)gDj#qoN@;kkx37~A-ctU;0y=5JHIl)V+~%^xM|==XlYbs|Y~EuK}X z=(K*Of9J_42K82?Wq}-#6rDYpLUjlIli%Eo_Zw7_A&9BFNU`58U8@TCK3$amI9Xyb z2E)Rjqh@hJ|($7V<4c&UQCe@yx<&!snQwbnlVwxy_cQ^RYm<2gxY%?jGIoM$7V zU9qbx-BNLD-E{igd<<}h}v0Dh@0Q8^JX z^77tWehfNF_oUUkI}-7J=XSAaoJkW7U?e6-{X(8pLf>QrmGlzl>X~#sO@1ub!}zeE z!Cngi5Lw<1EtL;#HTn@JV#hpp<1aX{j1WI4e8mGpN?t?2N%S)-e7sB(gqd}EjotV| zf%qi#7O@ssvBE_@uzRQ|f1q8YfXIj2rtF~5F=oLgPXRb6zD}zFpuG~+>6tXtx>(M5 z4|0&Q$afwp1v*mhKXDGTbn2l{l*BRSed}#D{t|oBf`IOmh=RU}BcX>b|z{iMSbrzs7D*15ftX1x& zgz_m*zuEbAbEZ3ob5DTlQZG)qROD z%a5a>Qc#|rbM14qR{K`Yw zt|XkRB0KGCg8MDchqRRWuc9?;AF9v>z#8XK=!!p=og=M_=nKEs@~yoBl(SZzjvA7| z3qB-f$3!?Q@?w2wLZ(CQl4RW+n%nBsywk*4la3Ke93o-cAzUgqmTcyYS*b! zDhhTAb}nmIre$g8$G6Qx<>F<1McwnMVD7ve>4$1C=8%yVdgSmIOLxw*9)uY`!ecL5{A#R{n%D)iW>)VOg9dC{=1)4y zUPoOBGXF#yhzBNLBJD+|%BK#iE}FZ<-c1BsS@l%ZZCrhKk<1aO_Ly}f8+6^mfqoad zqUof$@V8Lkw%I2WVVH0tN{HrzH%RzOz!PW)uRV|!FC$Y{qhE5zpZjPrrwhhA@CkGI z!f$DZvivSv#2arIs(gY=!-g_NzgqDa`vy@QT_y&wMi$|@x=5@;Ja<~UHeyFyCFJg> z4})2LmzZl~Aq=y^jISJfJ;fQWgjzqp-2x7O-ae6+tmQ2J9p5a@1jnMTp}vFrB>j=v z1Iw?gGxFj<68L3-kq~9k-$ek#py|B(Ztz5*xM<+U2R$iHEk;v zXzC9Y$gSHrJ*EZcUm<%XD-M(__}aGupt>?V*kl3=Sd93vn!zj zDo|Fyoin+wX~orlxkSq;$nf*FR7wJIT)k&uvBU+qcJKbVXMu;HI_H(3(8&H16doM+L8uKI$7Tp`Y=$Y>U;^%!xsH@l~E9p6vuF2oX)^%nZCjS{yd54L$4|(TAid^S2YH>8~t^)~^ z7wRsG)>+l&ZW}CW)@CNPW!RTtH*#J4gp3xe(lb-r=rIX21c^DmL^2z1?##FOsG)nx zoztTFvJrwF`XxGxPYTK_W`RDvXq&{0rlC|8ZL~k5pX1I{o`If#!l+v#+ibf!Q;O$y z&)7I)`=WhulU8Ead!JeE6coy5gbDqZ@ie^(Ik&!p-Avx$FJ4mGRO3-Fp9J{vn{@L* zrKzEvp70Z8WO&1t0FQ@kUIl3aP4(&Y45@<4vJ1H5aq7Y^mqW8$K`;hs7QgT^uWjz6 zMn6M&!^2_MNBzM75Ql7SCdDy3C;@Il@fv*xm1l4F6e)-CQiHMx+p=lty1iD;C&Nb? zUlee^i2Y1_vxifARLpo(CTcDk&tC&pCGx@bo`d$|oJBl3v%Qa?jK7LkCd^+YKBGm$ zUUm|Qg`oY&XB~N&g2~uwmA0yV+8AYi)aVYItWSojYEf8adDK7>(O}PA;K_Aj|+v8{v0@>4BEF_j6;!Vh={RsM&a9Kn?H zU@QxcsJn>P@v)6s=b!XVV_8viUnOMHgrH~lM$ZqxJA@O#kP#1zi0`+UM;lFRCCAh{vj?`j1lueWdc$UXQ-bIPKXFtLp{jvo=$I26myX z1+?cXe6@GaPvvzKIDLu{uHTp{93*Lvy}aGK39kCMx;|laiTw+q-#bu_V=s19kp>yH zykhUyV7XxR%>FlUDTkfKr4c8&@Zd>n4 z%%#Q$`SG|BnS2$(n#*}KMZ?9!I!lnSG`ccsW@v>9FC^pFGA74ID~WjnJY6R)F^ z4p!}HgF(Ce1K#4e-*=}cev0g>2^Qv0gDd*m%T9^r>h4w*lOKUH_^85j+Nut~RJN@p zB#>1;&_%hO9d^R$b=KM&-l;>n%U9{*cgseTX72N{%V$b#4@e~22Tc?;NCdxUZjH$4 zr=-htl&Sm*Yq1?zd|^H>b|SDBQ&sG7m{j95=4{u+*k)d!1I5$R}lOcmGmw`XHElIQ=7mvvIb3PEY({ z=QYKrX8Z7(6IqETIbiL{goYFfy8SeXBNVL|r?>H|$pgyyEG3dL^jNIKLvsXwp|^~Z z*b_x@ar8%g$yijBJs$3xuLPRGlJah zT#G0YRyfani3>?P9hfdb^cf`rdYAC>pw!^zz#2v?j0bNv1HKZe3`FVO%bLfJV#ck= z8>nEWQs~07)%C9z4td7sC>%jZ1diOBe%ny885kPWQFHgqOX6Fv>h0B`NqV9E=vL_u zKilBl4z#gX6?<%z6t>L@^NcU7-q~mxd(@MyTP;Js>%vSxK7tM2U|ESBqL?JEW!=|{ zSM{7?Rqs4Z`$(*`nEfyu_i5`baPpP_NxPyo`l2M-llPyp?d2T(%I0874q8^qS=5Sm zJ20L0xpHlwZy*_Bsc^e;CEwe#R85!0X%?hDW-+(X%c|;*ys#3VRa*&Hlr`mGnb_Tk zpwo_)4Q$xOp?pu&$_c0HBu~ZQD1HG<5AB)vR^?=Lh2V2csk96PQWWrv7M`crLzf{w z-rZvEroTIn37oIpM<&jNEPq4TN+SGh9gv*YC_XOD)<##74v>;OK=^f=vG$6fPBm2O z|9OC_^$llZ@ZhHXllrrBAc-fyKmxB#QP9pHxLxNtxV!PY8W2d*6-b2I$gTj$DIo(# z0d^P{xH3uHKyUf=ApuZ38?f=ykyVr`cB}Wnc>SGqtOHna$K$n%aa|AG?5Ac*l>WxI zcue5VV=*tc>bafGIkHajW?+HeHKlP<@N5xNZ_^$lJJA(jN!URr)gu$NRyGSrfwT~`x`>C zve(znug7Jk(n4q9?>AMxHU;{uRGF|tlI%uA@8G3SCdkIhktM~?R@=Hdti9*mOxK=M z9A~O`cj}XDy~>)GKpp!!pD~AX4FESBl=$+&Z7&d;+P&42EJsb|UeNOCD&{Aos1vcSuH(OK35gI`9;{;?i;CP?aq99_`*n{MTu|2majFW zX;bKQ=*|+kaFwZXRLo$pe9Rgjx-~3$sCxaA5=P8`G&$#16`gD6v14bd_ipy%)IorX zOX+JA6W^s)jZ*zh%dmrN)t%ZypO*Mpg?s#S*H&c>HXICL(ERo=UtxsgHLN)H@MsRwYQ zEAG=MJ;UDHv6&?i)F7zAGoeN`TfShb^L$R&1&XIjk>21fF60hBU;@>C`e794!H2US z$&kedVTh&d6GRphd{4AJsAW~GQ16k_F=pUKdc$#lyWkmsrP%nXIoM#vlxYBUZH#$B z`rOft;D9rK08CBt%IC%NKUTe`GoJ3-Tb)4mX_lW^V6g19w_2*VOv}mgy6ohQ(#jc6 zPe*Z$fq>yRIgT##q%{fOFK1^Qx|ftjK{ZWibX4CxPjwc zU$%2nHxdm4%u8wVx2b1v%bAiH(W!|RdSxO0D2TCAqT|7<=mpvt0Gs;+Q9J#+U5V}HlP+SN3dE$3|+6YLAIN$l$Mzprq z(o!kH0R+$x`2s+*s-EXhJ7rfBW-2$H7T|nX_Xn9U*HT@a%naLEnpxSa{UTt}tJ5xQ zd!@cXe`mosz+|542zD#joObvbR0_S&$Y`BAD=%ztP-nj8sNZDcEeQR96x+9nT>D@} z$`Cwo(XoBJ)%vvpIz10c{%erR0qIvdh7P1p1{3b1f^~YdHxo*6eT#pAPKk z>LmZp%~A}oL`OyJ#vJ-{;`z9LW3Jg-t$&`%^e&kSNG*wdSn4^TR8jPUx#ntMt1_SO zehpxqz}BBa29s+p462zN&BNkpqyI_NsKbiYji-+|8z)2SC#!?LRhqPzyjPofk~EWH$vbm8+ohjU0IJsl3TQQySRsQo{t?ryafw z*84sJMZf5Qhgx`+ymp8{he|-}Pkn@%$GAi19?!Ml{pFz@Znop#mnLPc6F zTXG^(zrL&M+LAZD5voaiq~jp)y}A%$8OHkr)Q6GEiG^JKsGLph)WV>fi+z-|24DTK zIktAw!;wvu?1ChDz3t_WzP0Rcm7I;sw>ScKm&2^J5S&(O!v{bu3#%XzCGeoVcDOLY zEwbT;Yev_s!^1ALr(>!_oKD*-wcS+GCiO&~7n+jIi;sSO?p@fh*r3~PF{w7tIX;ed z(D~z4ikbO7JWib$yX=>DWx%>CZ9+J8(x1{)1=vT&cxVa8M*Brqy#Cbgdi?Hn&qIxq zJ8_sCnw-|!L)J}Jq%|dFv24E7|sIzF|JJ7N$h7X zR(BOSY`(sj+N!WMioA5^L=rTfYm!rkgh=j;XN#;ogH!6s9}^OC1?4fM2@J+ zE<3v!q8YUqooa)2ud>N^e~4wqxYoZ5ob58MzOW5wi12XdfJmCic3N31noIH5<3zD#Xd=HflmJWsn_w73od`{<2f7;Hs_|S8> zSzmJS1W5>6K#Wj>up{?17~|Z3O(n5UK{Qm2KX@LUaeG4s0Lid zYfcx4rtV*<5Xeuq^EHkUMeo3tBA~3UNVqzZ4lmjrkXj%ClH%eg}+u^U+AksAOU(e zP!RT*Ms*MGjFt)nJVE_**%AkMg7=#K>f3n6+Q1&9E*#XJRu;ck!{O<;W3jtzF~d+O ztSGKbs(B0O;rmT}c9X?PuC4Wd{;bxVAS2hQ4I-V%K!H{3Ub()f&HKhdH62(f@Mlb1 zm)!n^7_Zm`a$L;s$3xaC39!3d-DD5*T~p2rAq{|XYO%j;L5jbs9S3}Q=Ds}_Bz!#a zQeh-9Y{7!(Rb=Ct^67TC*nO}qrQ=o0*-DIi31LIbVW32PK7c=5(7R2uai&>`mU>q# ze8w22c&~Fjs`H*Y&^ush(aWlpkJbxFmm`J`GuNopBk?s7-A&Pz4Gi`0a zm#Le`ir4(-sp~l&kBtgp1IyZgzPu5_>VgSh@Gu~#7Bc7byMI@AI~z|1oa;A!fh zZyQkYcNa;A!q)2(LyRa~jj47*K=3%6hKHM3!%pmOkO!VeM+E?>BqvO`9jA3i6VP~D z8TMWhc7M28=+cbl-C<9+Y7F*c%A1!d-07nIDd3cGNyL(wDd5w^Znc2iOST;rQkjJG6Zxn`CJ=|%+%ki z*FU|HdZu!@z57qg>OcP5^5O|c(EO~5KNsPu4F1M}amT~Diz`petkqP07939S&Aw6T zoSk<*3`6b(!r}>ed)jq|fkiT1E%ewUB}cqxY(jxcRRTup1v(TS$X1N(Ec;ZAzOcID zK8R*5Ojv{k5eHKruiN-(3d~I`1#B%e*d9WLSk!%*DIFXbAe-}!7alD6s^$VlHeld! zbzE^S#FA?i*kR+I#sg-$%?E!jWq;GzmZtX&p4jarvoO}gr^{w}6UFaEI$b9*kwyg! z%9VW2vZ}4epYj}69{{C81^gZ=RrGkPngf6W=l(qDU2mY+{?FzzFlC?k4_pZAz5NNpCtzoT zuln82=b-VLHQyr6sMXral;0^l3|zYX>-RpMe;uH{ElB00hL26+dlG;nMY3(pd{!A# zAMX@$0QR}2KWt#;`%xRuR(}LICIK8I0*+e!db!;GX*#e0Iq~7ccKLZW|K8@;TLasO z%*BUJg1Vn~YCfMmT>Jg5d8OXfslc)%yidR>^pId(KX59R3yBI!g zp8q%J$G`9U|Igv{{F4Y88JqSll2ZYcFssk|n%})5mu?jzcOMv$hjq8#F-21j|`&moS_{7QTZTG5PCpPn%Nr1;0 z|AD$yZ@0#l-vyo=GTFE7_xt_(Lp{IUumAt8YL$wp)}`c0T_=~@eO>vjVs`E}Nnm}r z?%^eG{oMZGk1M{v+j7}&?WT`s^XoRVb^}YpO||Ds7;fh8|Jw$t09Y4=czv>X|M%+p zx~*aV4Jzv(eVATm4<|>qPnVCET>dUwe&-_FPf?9i{`J2uKYVWg|7XGXyXE}Ay7J_Q zZ`=3p-TNF^E6#1{YMFMT`qK~Z_+OXiyx#{Z@7|yNy9rpz^PirspZ^`$pIxVXy#O>y z^cXlCnlpdzk4N3tzntd<#i;3rH9iNmW(rOH4lL()PJXTjtV7IB} z_sdNy))c_OgRZf#2>&LUsJScwi@S&f_#FZ}iE7_^@EOygmB7Perwi?rH%? zxt6V#;Isku2y1uS?`JalYhCyEb^P|%-l}ZZra+qHzzWv#$%Kbp+Up{odc?afi%h)$ z8gJfa*B@fD$^8UqT({Eh`(~w3(2Q!oPs&;2Lm{3^*LBzWw{z_rQ(m&x$iW z&VR1_(;fdOY3*OfPk$ie98&BPmRnug58QgZEPUyDWg(wWx5RHnAsO5;=iIwkmmlj8SkPKE5le_lpixLy1e z)c$+E$^Hh=f+*0auKL+GD8fwp^U;Q!@(wZxNoH8e^z8%}5-UKB!wqJj?iR|?KOoOy zIT2`781s~*(J&belhM3G;3%=tOfs5DMl;E1Cc%B!;IJwo{``M?eIu|1#c)8O{&nOV zt!@T0CSXG=hXpv)bc2Hf*yIufPTVFaD*#ovIRJZay$wLc(!hlkWGQ4hzl!s&(Zm~{ QfQB%5y85}Sb4q9e0QAyhod5s; literal 0 HcmV?d00001 diff --git a/test/fixtures/app/doc/screenshots/chrome/macos/index-cropped.png b/test/fixtures/app/doc/screenshots/macos/cuprite/index-cropped.png similarity index 100% rename from test/fixtures/app/doc/screenshots/chrome/macos/index-cropped.png rename to test/fixtures/app/doc/screenshots/macos/cuprite/index-cropped.png diff --git a/test/fixtures/app/doc/screenshots/macos/cuprite/index-hide_caret-disabled.png b/test/fixtures/app/doc/screenshots/macos/cuprite/index-hide_caret-disabled.png new file mode 100644 index 0000000000000000000000000000000000000000..954fbce76f8f0df2757d63bb06728048fe635221 GIT binary patch literal 21550 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 literal 0 HcmV?d00001 diff --git a/test/fixtures/app/doc/screenshots/macos/cuprite/index-hide_caret-enabled.png b/test/fixtures/app/doc/screenshots/macos/cuprite/index-hide_caret-enabled.png new file mode 100644 index 0000000000000000000000000000000000000000..cfe714954b2def50f9ba335e0894197dadc723d0 GIT binary patch literal 21343 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 QfQB%5y85}Sb4q9e0QAyhod5s; literal 0 HcmV?d00001 diff --git a/test/fixtures/app/doc/screenshots/chrome/macos/index.png b/test/fixtures/app/doc/screenshots/macos/cuprite/index-vips.webp similarity index 100% rename from test/fixtures/app/doc/screenshots/chrome/macos/index.png rename to test/fixtures/app/doc/screenshots/macos/cuprite/index-vips.webp diff --git a/test/fixtures/app/doc/screenshots/macos/cuprite/index.png b/test/fixtures/app/doc/screenshots/macos/cuprite/index.png new file mode 100644 index 0000000000000000000000000000000000000000..2c77ba1f758c43feceb3f1fea8394aa8667d9f60 GIT binary patch literal 20235 zcmeIaXH=8f8$BAT20@)LsC1AZ8dMYnL_)O?xvQK#T$puM!egvE>y>4rG z!_W``*$dwALttDy5H4`E`xN8i`}JxKj>Z2yb^^!8|NRU%I2Pvqzdr97$NTH^H^BMb z2MRoQzvsVKFckbA2roEuM)~X+F2X;@T;LlZFaAA$_RJZs7yo?Y&JGy=i+{dR27H9) z-(%a|p9PP;nC5i|L*6GZvw`5h_i#&q@rhD&v zJCz=CQ{$4rzC@_IqGs%)QUSzG-C8*M@4b5Gq)y(EJIJSR93B06?~zCPf5yroUc?+e z?N2|lqBWyA5iyZQz% zac6X;A-z3fym)r)@Bw<+NO}M3iSB1*a?G8go$4yd-odrz)qXmC`@smCap&Sj^?UlY zfXsV75>DkiWY=Ex2v6JBtB*#?=uuO}tx)RH)C)0#WU}fgevKatyFzkZUj)Ak(R|&tZ zpUmf>`3FlP+73Icee)?-Dus0FcbKd-MUFA~Adnkv;<~US%E!&+s4R3ZC3Fc`C;+PtKuUI2F;h>4@Po1YhmWNsBL7B6>P=c89w=?bGyik6LF;qTmwy zX5??_4+d8&->+ON)!X^x#yQXpVJasjBIO&9w z#!?kdot>JM~eOpxV1o@JZDdVz?qxCwFfi ztqVh~O4#Vaj&=GH$TR06J*KV5NO{Ous5Y%v#LR!Jnl~jjCiam8+eFpyB@7tPE7rXt$Hr67W@X_Nm<6IXF8)3-MhU!snv}Qr%Fkx^5gV&; zgU5*uW_ir0_9smRrchlp_ z7W+sWiRie!b8&knihmF)lN$6yZtFnTOSsh&f2V{g1PY@|l|^#FW#zguu^(u>NwLw^ zTPaXM4RtN)Q+FPxHwY_V(K?=fj4M0Fz)LI>x)1Z(@T#G_T(ub!ON~@%+23 zI85XG*{TICrCW_l2WqnK6Y`14pDl!@C@;nsf3&?@Pl6Cz3=%dApt70?;tb&u-h&WG ziq{Z?SWH+TJeanRq*4VnP5I(CpY53Fw2UTfJg!FxwXl%P>$M~-O5c!dG#*wF#H~ja zhaQDWK&7DqqRW$Sc<;tWW7W(>jNNic*HJ!;`Bgd&p)MdH&iL&Xh z?Tz_Zt}!;F{B5-v#E|b8J)L3FVK8Hr%JJd8T4>ePfnCR7^p=>f{Ren6>4(AC%3eT- zb+`odZ&WTVo-N)#2Z#IuH;T5PQW~%e$_wqIDj0*Mq2tlFuv~wHeIK&tR@cj3SEYK$ zW%l6UA}9ULp_eMG>l;sxZZvCIN1-sMsbLn?GEfbuC{&yh=FTLfJxZ3sn`{{!H^MiA zDPVr3+V=Q%)_?rONUkN|lcVm1odSub_8LIc*mw!((XOuaC0m-w_2JAqcKfJaF!eX6 z#P=sfR36ckUY20H0i&AiSiZ{NJgnVCgZ+-R8{~}_kQMTfN6(XnpXrBKZ8`ZlXUdbY%}ulUQ&yi5Yh%m~-(%6} zZ`2lZz9KY8{Lyw`K+~Du+$1hhxh>Nd%kHjy(yfd!5Nc65*s)alU3@f{{q0-ANvnQ@ zj7sLDrUq4At}7dMNjZ|b3Z;w(cxepqCh^8lvF`Thnk4Kc)r?7dj#>Rh>Jhshguyxr zrVl&0R7I7BN?=w{tnjd_{_q#wB-t{kTS2XApYK>}){TwDbEUC~XzgQ>GGV$9$gt-w zx^*OM_U`oUaqn3C7&CQ0PfHi^5bmD6PWb$KHt?{y+7#_kQ~RiVctGhRBmJiHcS^4Z z^d^c83L9a&YVEhxxZv?4WfYfsy*VyR*<+LBD7lR|cRL1J-IC96G_>9z=8E-us$(xJ z1y2lEs^(2j0w|o$T{st{VGn;%=O}DLTZ97m&5% zLfm~>fGFF3V5oz_oC``5kZHZa-K6Loyy!lS36sZu?~~9>2o@~Lxzmr69F6BuiKm7k zr`a?c_)D1)xx}uK?1Wh2G7cW=?n^*xDi0#=${Ez7hFV#?PtZm%ZA(txG4`~2^9=QE zDgSb6I8EznAHsQb*h1?}5_!2SOB*aUm#UdO7T#5e4a^tp%uVlP*(S#rMm2L~N#SENrlv5^qoGP7534c-P~=PU(b?*7ktBir zP(hKaCHcMxsi~E`TEYois6qRYALS8DKl{$;_Bv^crD@UCLmIjl4O?TL|)G)w+j(HAxg zO|_AeixaUFMD|WrkZOmn4&4rekHrhfgnoKL15qmPZ_dH3#KBL(qq~1E023~ricOw2 zaLN_c(vl4&QS82RknxkLKQLXNED4m27T;d}$7Rn9xouPjdZmtQCO#V#*^Tk3iOiV5 z;k1}tK6P%9|SUyrXJmG_5;J$G}Ct= z+q%if7WLt%o=f8GdqJmOJG4$)H-vfhku&Nwv`$Dx^7(+Ur)@wVqd}?Rs>C z8e>44Hd(3eM(6k4Ih#2-w7b^!QKP#jaL|1{v5s9uOBcB0G8MANo*z2>vF-(5((O!C zjSBVAHI-DgeTqB+kgbWAAKkqG{zlhG0&`_^?!EG@kB5GrVeQ!-Ytg5PLK(@>2 zBupFB8<3rIIxV>1lV7jgD;x8fTOlya7j9Oc_DqmgXOv6fw{GyDR;t|lFa=9JX)_-6 zM%*wUhrIMe@B&=nkAp82O&ge+QYBl34=TU#4Zr{CxkI&_Y7PYQpn1X)mc!k} ztmk4#2Z`Z_K=`^8^6}vXJFS{g_&m~|%eG_HXffsJA|W1?1#_7u57h!ndz)^J+W!10 zOOBZ~E!rx6&f8<M#n@6b@D3;1GK?$`MDQvKs0PZ>zT-ttw&2&V23f zHtyH#ZiYYjR8^SKOEa=aKQzH!s)R~o>p+0!)*>|Vt zwz={ADRzn+JDn~!Ii{_6vvkTC=xct=2{NW#BKRq&n4yN+ctZ{oSzy%6ntTLR*u z*}3ai70u<{vt#gnS7}!A2glxseYUv{kCcZVqMXbZvpGx_ukvEm+poS&`{5OskF@*5LWgEz|&tXd# z-BK#5`Cq58y_;+r)=m^1p4@u=j4PCEa=ke7ZX{Xdx^8A&xW2(D*Yq<)h^6LVlUo^$TZbq? zXw3Dn4!p%q)6MTgZ;=b10)_QqN3lJ$a~TS;-4?VPn1wv8i&R%F=A@KLGByl4`~@eI zek?rgae`@5$LbL!MtUt!OP_X8*zzq@+RH5R`@(xV&My3uu2xr?`iH&z4&39fS$-(mUiph|}Y~H7_ z@PD#-cKs#t={cb21zQuMZqM*Fv(g?U2Xrb}v@&lPS@Exlu1!{!A$?;E^ieC``Jznx zkac2MLr<1S(W>bEM5J|Au$0wx)IpTU(P}ZMQd#AC+U=f~Wc{88aT*F-@H#oYEb9+O zs&F=@6{-*cKaaUdeFWlsVCJW`fymQC${$~zU?=-^TThDlrrC<54Y<`D025_@l@HFt z=8Z@52VI!TX^`F=3QW z>aK3RRydDu+p*sL1O#ebcL^udEquE3nML|xGK|RdKv5>%_d#qK+kh%nw&*fPbP}3T)sYByiqBByJ8~~PBKw(~&~mHJ8qswo*hgj7?^DY!yQgZ_vB;;Z8TJZmj(_{-h>0zw zZJ(Eb9XGljbE;SKJ0-Hp?gw>oTOKOUL9%V5bat2G_6b`Ro+UINaA-cfSl7Yo#8+kB z#l>9iH;g!jhF^0(=u}DSCF9CmUHK<^_7Pk3`B{{R*>i3HCb%IIZimh;6~(Ljw+d5z@A^}wu-x_v-Z@r=XH3gF7awI0=50IkL4DYnFM@{ z1%M(e^6cjf$_W>dX#1WUNFkc(WE!U&xSKal9gjv|mbtei_%mQEl-ux>O*-N-HxS#f zGnRZ!ZZRn8aexy|=kmdb!?=ybn>-L0gqZJAuFTF zW8>0N23FhrepY>B+|ES9+*+6LeqUMlxsBd32=RqQW$vVAXvS4y@WI=oq}I!?Qv zsUCS97K6A0^vIhDAsJO~1kW^YoZzf53XJW1vrHxVvOJ`FNGjB%Hcu~-3ahX-&7vAz zK`4lR?!AHYc1}!X0w0bEj~*)zaMCxNBa!N&VvJT2vtfkryzBP@d?`Ne>pejGr*R70 z;u3MoSq%o-ON5c1N$RCi_~jCJOg z(8=`j|t`n>nas`7b-tz+7opOm0OfQeyJVHPf7V~1@X#3Fsg zr4ufGy}3g)&APIjD)VH@R#oz3ukb(oZjQ%NBJu z=b5M!v4@?+Vyy~@$sH=i9nm%XO8}|vx+cW_RrRbc3M2|I2QDwGeKHleeu&?(tL|9L z(|tp$-wu}{n)WeR^@sHR;rLqt%f|iTQwM-x9x&jx@b*s$_c5MHP)Fr!C&nfqiyS`( zr}j~_XtxV&!!J8rInQVV==LAm(+iEc$gR5)((N;fnM&C&nKgxSCYd<2xFCBCQK*N8 z#d$S&s^8eg_io>3xARcNhGlR7c=3W04hOE_d9_`^n3Ba9iLja1(*}#54L9 z`secEe;2kaNwZN+>#ZJRep<2WY3i&k>k8BVP&lfk13O>h(YzYv2XgXEY@#H)rmFfG zU6$(<8!(&Q#O;1C17eX_CWcmZn+)Z?#6K@`&|bRnd;}Uo*iyA6 z(b6KbA%^A#Y4rg(z8BLX%`5&+Vl@HTuLzDE4r?JD38!wk?_uA1o}A*;Y98JW;-eu~8p^twM=O>L~&2@l_DEe5W)fvo$)mdM7nvsJ5XC2wYV8LEX|?vK1ODGjyTu4JBo%!9SJeqm{AD$9)EJ3{yyRAWRB-neycZ z&Y6@Sn_SyzJ@kHcz%VOhJ}bzugM~$RFux)kJx_Q1PBWttTKDD4^z>^JhnH7o0wcsLI(=(dig5)0?dTkNtnSz8#OgoTSplej3ra7yOQH$ z6MAPurxvCMl|-F5@BfOkDXhuE=pr7&BWBMCYb(psf^M3N{L51*7z#C4c0|_og>`yM z!cWSXlbYKf3hMEuTQFYiI29{Z^k7*)wx^o}QLYYk1^zIls(V|!tj`+bhRtf={nNg$ zTn+h2Ys|@VCGYAJ*7Rmyc=oy>tOT1=SY^|?@wO%*^0cq)=&rv%5*)1;EG>JMR%_n?l1l7Fx@xWMtesDt@+t;Pe-$ zxri7-nrn4rWnR7r)50n&$HogBOqIfHiE0F2IPQKXbIM$_sR&z{9Ti$~&bKhb$Uw_H zg;GP#8p>(q+@tPbLrO?Iz&^S*FK9%u{+~nE_6ECB#P^uKDW*ju^0WMA* zTo0ZIMNrJTf6wQ=ht>vUXDbiKxSwTLvE?`l zBWF->I{C^1`VvgHN~A>D9bUWQp81)?9_OZn>Xs+ zjjB7oX`ighC=mQGK`QZ@!rf!7ljIl+p;3xusSv*hH|qYw=SfBe2aXY zCs?T+mZHs}r%J0_e|PFTSGZ_4pEbcTodY%ZUpD%=V1=vh_i4Nd=h76S(PeTN0w^Zw zmYnp}zpNUU>u=fhf;y$y5zvMOVwnzG33pV*N?_+h+Splgs`jsK$;XFAez(_eOD)qPOxof!Eo573uXOac3 z0H$?~G&31Wb^*nigO-&Ax%QUEs}m_ElW7%K=2A$-1Q|R8Z-lBh!YTA5e!Z!^Uj{1X zd8DJ8%KI3tw{)RxRP{cB3;q(0Nl3$iY6qaSt&NN}cBdwhPQ(21G5mR>C(G}@UV!dx zcn|Aeom-krJssk`?~sTZC{-c93fNK-(AVKsRLd`@hp3J#E3SYz#OMpPccDmUEH^>` z$q7aFB=yN_6?yR$Vv$9jwiQkeU$9j(A#)wSsNwc%YTMXcQ?Y$cxRgd7K#gOtNw71g(+gnX^u$D`L{7LwAjIP^?t`=^OuJ zXK`Jv8eCS_>&|G>l&xKY`bP8^@TcmHp4OUT!h8`P>R=`d!q6J`AvA&6$ z)+=#nw=e`;19sDYFg8taS!LL_b^68!N?BHN31T>V$%5t}A3b}f&8!k=hf|& z#Vax2n~^<$_1JSMGUH=ff4=F9IMdPp$j0-MvnKXJ2ji)cxoV37Tt4>SHK8hr!2HR3 zkN0tYOc|(=ddtGY@46peu6hRaZvyZA=a~>fT?qMd&x4pOqYrs{nzC>M1V1N(dIx?h zdr=E0NJ`Au+1^hqlR%>;)LLG(I!sqt#B1{Q&zs@5^CeXuOtOI2eF3J14Z|d$^|3mM zHVKO2WhTt!rS}D4%KH^ny=kkzH#5*yuVKg~b~l)}UG|f$Oc1!ttxLAfk<|iz9%rpU zh(4HbxMuQxfdRa$v;<+Trf4Fc_4I3j2o)xALs2$Mh~G(mO zOF8poM*dd5L=h45(rx_wt=V%p-?+tY8ZUu2Irib9b2nlx#WX5@?8?VJ>M6P1BRARW zGm*uNd>yF{e0bMtoMso@Uk7T*+3+9pZ9Dg7K;>VXhbw9Y3qJ^#a380cG#HJKf?8+b zK3S+t&mN)-5kjc7Oy{)@2(pfAIhPNL%!EDy(iP4nhe?c3*E>c}HbNC-WA3f1@p;j| zuxU#KNJ&@79u{vb`UIK1fjZJ04i%mnv9+#D>EKN?`C!yxaH^=XHH0%X;1FXnWQ=dN z*ocCMxTo20W9AHqQMuSB9a|Hs|7OuP29ygb4CS@sQZ)TZiMh4a?%kL0bBd?gqIHFA z1CNxW#JW$TV=g0(f~s0qvhus46IM_`P|pa%;|YvrggxcK*v-1@TS7@a#mWUVv37+> zX%&XAIM2L_{THhB8>76u6PU7&M%qW?g^9D1@QChis`cQmUaqXFC7xsPaMu&#}W&Q{1y`yy;+S%>NhBfDMi zv#v++k0%Yb_qO>AKhxW3PjY&sRF2heZ(F7z&5u*=;^t-9Nk&HPj;cdZZl#;^d1oWz zZbJ-fQ8{kk-OFgk3Y9Ny7{HrPFe&PDy*7wCV{|=hbtNzUfY-e`WYP6tukk|OQu{K+ z4zCZVccCrDx~?Vq!o4Z9va%LJBq28b+>6{DxkQb(I8~7AnDH zSZST*wDp~Qt!DMff=!fxNB>&`7bFL``(@mX;=U}_*1s*it5qdeQV>mV8*B3JCjwLW zY_(V?%?N+SqB7Ovaz0uL`v}9&(oj-#8AlE0@iY7IXY`JQ$GLxNnlnbtC+ye@eNf9JJ0;35h2bB?VSxWcxGv7+*cWwDWERaEb-z9;w87UiT0x@(!F;S|C9t$L@KL48PLv!6` zjZhO8ie!)Qou!lof>-W)A{JOgPd80(HlKU__Ck+I$W5W)J=Yir8PHb~1IoH-on3fR zmbdP^{+pgdCiIqx7*7{-86!TpVpNWRrQT6GA&W03m9E2fu0Bzw=cY|NgRVaME2g|J zr3hT6?(2D;(J1&)rRR7e1r0wAKbO5D*UH+Sg2o+~N$8LIHj_gr8Lhh$Ghhgm@Kw@e89oQ7=)Sl&&8(q1;gtU80NYyfhrkZ@9Ek4DAiXAcif%v z%Td6-pxAMclV6pqpmxwhJ$NUp*HpHgtK3L7LcYvoaT#5PO#@PU*Tc+Kdd1%t`YDRj z5nUzL;PuE76x?)6kW5N0=|aSqoU~_$iU_DTqD?GK^IG({4fPH5uTZ5zKZQc2HI|U3 zbI`L;DbG8ZL*bx9Nmicjp!f$y8a4NrB$c#$&;1byvU&s67r6q&iDi?zmd@&)SQ5k{ z9N%3d1y!pEO4!tNU;mbNn{GJwh{R|MEi);~_{_CiPMqT*)&&La6mkXg_k#wQQr;fRgQuV0GD{I?YT3bIX1EL=HnD~EsVxM$ zW>ge8sLU&Yr@hd3%`*LcGIJudCX=mj_it?(5dMvzp+O{8Fprgj(Btn*r9R;b-QE{P zcEMPMaqDsGn5d zfIx(rpqjf2O!}$vp~7PR&QP5FfQpFZ#@9CBG}2TBOTDAe$dk)T7~k z-TrSi+XdfQoocGRzy-gz1xQa`9{=*PN9pL=m)|L|3Cn)jp2)5@up?N{L3?X;hUpsU z8khlHHnjvNVtHoBrF|-)O1({!&~p^rnEffsq=gv45d`5z%nlaVF|s7`IW3foYx53LNvqWUwVz*m8;O(NMoB z4leG>Dj1Y+X>OAVq?vHS5qeznvEpTp)IYf#wA}GCpt7RTlk{1SVNzY>+!0dCMeBGY zUxRvGeZBfi^%p^78jR>-X<%Jr^f2$lHKS9C|4&Z#4MwQA*4MY z6p`YwX+>K|>YvDwKN@e#D8I2OSFZt5-Ff{k&bu}0ghJu~P z_F=?20?=|{rZj2|0d47@f!4(Ku9$Qg4d*e87ATHQUI*~8aV8l?<8sC$Z=LYBc|uha zdWn@i=SZaZ*hB#t4V^7H4TY|}C3PG5n_)Tx-h}+TWQwguNo$xk&4?iIUmIu63$k#| zZ;|Ih=x1@z>0%t#)vMPIoG0o`<9GD@rG)j%;`1h7>>8qKh%^B#q zpA%7Zg&U~8R6svQ=w)f+XXPz>5(T6~b-1!uQhss)(@q2Qv-KtX@I4~buHsU39jkaJ z8wOmdszM-s%4k)Ep7yD)lCw^I&=gjNAz)~%2W#Ca<_bd5yLT~FH>sEy02~#!ztzU4 zYl}*qo`9CDIqFlv!tr~;@GEsc(iSb>XXz4JQ0*P6uq)Q_G}+38^e;3R(Q7Q6(@!I4 ziM#|(+(_2b)iw_e-@{y>yMH1jN_6P<2RWWa!Bv&d=HF0E18#kg@(w|zI46@I&NdQ0 z6Bh6R*r){baes7(;dRiiB`YriTrD72$=Am>peH~D(!w>y7+1M+^Rf5`#mA*>u--(n zv-}ZX9;_^3 zvW_jE%k3?xg33%i0}Bu|vdPs0Q0O_qvx)|#D(VkHquAdbS2G(UNJf|Wk|i)1sD~O8 zPZ}MrrWU4vmNtY8XfO(mF^EB>eHPYTLiT=&>^^p{$B(pObdVz1LbJD^S;${106kCs zxb^}@5sn!9YGC8$bkFhpZYLQLGpae)i`)GPiCSJNkc-irQQp5zbuu+iz!!t@LxVC~9k_ z!9$ys>an$1w?|q+o6~H*pFJ4Nc>4Y_1QOzu4k`tZnp@vXTxkVwv5DbxWxd54^OXns zZ@n=MXZCp&c~53UEH%%q1k*PLPvMfB*E^p*h-43zJ4VeEl>4xYZ?vVkR?fZkVrGQ= z_;apmrm(WGdi(OrR}nuiN@FJruT?CG>U1#5A~;JyW-(yX$wI5cRlc#^;fg=Z44}F2f$I>{{qgFr(=c6t2K(%a8y)fe+H1oeS_)k+NhhMmD%A(?bP;jv7x(tB-{%@zYE?S?&o}r(G^X>ij&)dN zgn(bytQzK1IwBQ1Mi>!itbOzwBN*)89VG3j`}?oXTRqNYEtlF`?@&#ATb>l6bcYrbf8%#z_k0J=s1s|SQY|)eG z8@18j@WnuSu>JeH+iu~^yL+T=(g_g4Orb+LxP2Wvn;om12`+fG9P~)=V4%%DToc1zs%z6#K>DP-J_ABp&6d`@@+pvhi!U( z#0s0GL_C!##-Fh5_oYWx#tDh5m3o<))8CIjb(rAATbXI(+<$`h@!xFD+%()k>K!HX zfSzm&wuLj9xl?+=R%F-G{Lp{Ys`$sK^v>FI$Wjfvn&~Mk?C5Knv|eC{re7t!o{V`n>;58t%(wk+S5DlDS^6sAi8L9Ze5XB!WSe1BX@%~^y-4mI5ank=Wd zPV7?tTXytrgl*R$n69NGpvr!ExcCSq7;h)f(k+s=NWN$K9z5D^>4FwwoJuRiYQfJ+ z>TZwfY>#^Og4;lG1k6LpSC0#x{+n6ceGmUW&)l*AP(+q4>t*8DmHjhQ0v~QSN~%A< z(`h&tI+Qtd?o9f=8`txFajf))9vkPa(isMBV{UHK87*JInMm)~*jYB;>2`9C+FD6! z+xNyed^;h(Bw5S&s0eZM#-O=3G6iAUZa5m@~o!&q&ff2O?KxN7|RWS zEFRBqUva2c<5@)R4kWTqqpOPwJE$Cg;@)!ljs^}PRUP+IniG7h55A@%wGe(kxB+s4Z?7efay?ca zWnR5+C+$8c*8NOXa|cP_kPm2SJS868v99plk4N&G0d*%qns!-yDxn+H z?_E9uZqLl~(Z?$7DbL@8txUUemc|t?8baA&f`L~M9??a z25>Qh+!hG=(2Rhn%~5IJFHt5WXRx~?`h$Z%#PE2NE^a-=XT4@LL9>`BFGpDerg}3F^1sSYwZi%M)m-UUuo>ysu{4ue)`r)uMQbWC?72FGC{t_6&sN+jSuWQ{mx}+NdDP123KvzbOz@;#(Ba z?(Z=t;n5~GXJH|$AStg#umqZx8H;}lo0o1F%kw`q`Y+}Hz6#nng^qV6EMwf$F#KBv zQlaiMEYt_N@K_{hI!a=*kcyU=i(&O2Ex7?t@uhFAT3>IT=`z=;&L|H(fWoOWj4y@_ zb<9X_{WNfxl_pL~{}%(KIn>S-{+(2(lmLjDtSt z0+x~vy+)nF8pgCFnQLn>gLk=1?%ZK+V|lQ~PYxByN8f^`oA<^Hk!U+$BW1|xjd&rM zRC3_YmvLrk-(QwbPVcBgAf#5D8_(X&_y5nu4tAF`>9&seebRz}<;ll)5G0mUdSKol z@9q2`%_K?2_G)?DFNE!g+Gf3#9SOLtun6vIz}i})&bG1Rs3wDB)_>-2PUd6Ts-R5_dl9%?-FEXxuQ| z{f!O<0B^g)iz}}hKb6!gnxYVk?BzynjyrFUD@n{ot-i_hzB@7y(2-H~4Dr!5PEze! z*i_Ekij}#R>Ht{3`_`+`_iz>vyCy9zNG3lMe+p_DarF_Uj-Jbq%=&>$L%q$A5 z^!BzVWD_?;qW1dFUv%vo$Wi@^!BOnsqz-^GnS$bKw~l-*bnLH5XZg>)TWV2^Q?FT! zpL-8Qav}h@iSHs=GrQ|AB6IS6#mAOp#lw=i2^XgGnpv~O+e7S{a>r4EfmCW0U~^G5 zrked>GXu7?@uS+!4g%NOM9)2x(gy|Y z#Xna!8>F}WG}%ubd_0Q))-p#P$|c<7VMVRQMcvGF4D7+oz2Qx`xL+e%iw;(!0?+0e zV47Nhd96`;MZ2Hv0$a72?K^;FeeA=q|CpKd`scWb=TU=!y+RW z#M-O$*SM|q=3uo0U=F*W3eP_~O@d-jh_>AV!j_}7O@W{f+Lik_(r*2|((B9^(gZkV zf4(_tq+-q&L1j2b(7eELQn=UQ`?vZ?Xq}f5@sH zZ0|-gPGY6;yGy!(v9rZ6*KYzzxNoS#$UHRi%jLsDhn*u9$JWZDHp)jzyUe^YwYs7; zjRz;*2>l^HKdy9_yCe#?88PewJOI+T;*G(xeVRuGl-4R>kBZ2jE;iF0WZB z2-torp(^QpA^PMv32Z^(`~h|olC6``ruMT*A%#s-<~a174SI)$(p~wk_@(bQ z^z|N%%<*vPwc0&>9^&dg&#R&uC4)=Zuxm$q9!!BIOHsnz$o9727EA7?J4FW1e^EOW z$=tl+(Ug`xnWxEe9=OLOB@h#xJH-{}>^xpX0*O@4KZnfpL7GQ3R5G^aM^rL7CL1SZ zbKKo(1Y5ie2TblG%7?CwGed)?2imnf$jeRCNvFw$qc#p_ed41-79{~d1t-X zVKgZ6=?R%pjHsPvU;2zA6WjZ!a{fI{ zt3w0$zdsG>U^~=|M_+Rl`7e2QWO|yKwPv-ARpj>2Zl*d9lFzYt)(Vq#IBN0mzM9d?#!oT|gX#o<0{(;h5Gu$Q~ceT^5t7LM;G7jdxN}`O}#P6Txrsw{ru?TRfj<7 z-Sm;UT27X&c`9kv5WbGwWz=7JEa^#pi*3HRHyN3x{OZnVdp1YD(16rm!6#n|Pk7)Rr?Eecrw1XRLfG%zp%4OF44qkXVybUTqe+M)fFLAibH0*EiUq+)W2?3-?Ce_WOjl$HH-Melb_JB2-2p z1+n(x8KJ_ja1u>a6Lr-hgipsQ@_bq;^pmEVVao4MS}2ZO|i z*1wjwYwU(Yvj)wkND5>|?Q1|x&TXo6Am2p31p-D$(K`Q#RLJmMYk3VofBPpXM06f1 z5$u-8%?Pp&uiiBxz^V+6+YQ`mvkzJAj+H^)v|9rqqw%L~C4vWT&jo{(y_@Q8fr~kH zFvpVEtHB1@dhyU!;~3}if2=4rMsO@Qaf-|Yk|#@ON%86vX4K9`!-1%^h7pkNhWw^- zp6&My@9*!^NYq;W21mn7FSR$%1hi{-wEF_!`;ZjCs*(Wrq5>9CD5AI;qe-CjK$v+o$w(Z5-~L9PE**AN5bU zk+PA@hu^1ERh&@{j2E>v`fd&iwu*1MQ(#gDilLJ^FRSz~lN~T^szylWnx;P|lahcGo{g0cYc_HrVJ~V$ifp8$xwD z-WT}tXTUFa%5^<#;wq--NfBQEE z#=a*k`?@b=PGP2I9`YtdtWKFng{^hxYWIMKZLyx+6i9N$amKyx=OfLT2Jn+eD@gOX zLIIg6P96ggh%ALkptoaRO(mD@hDwmo+V#CM|46VBdG`;r*+oKQPFmqpcpegPCKhgT zu~9mz4<}oU2J*c2$Cf>J)6-(kol`&OD%N*|AkmX0jBgO4r#(=wKeJOM!@>)Si%3_C{g;3^i{{4ODEc9b0Oeic-iby Jp}tGZ{{coo3BCXT literal 0 HcmV?d00001 diff --git a/test/fixtures/app/doc/screenshots/macos/cuprite/index_with_skip_area_as_array_of_css.png b/test/fixtures/app/doc/screenshots/macos/cuprite/index_with_skip_area_as_array_of_css.png new file mode 100644 index 0000000000000000000000000000000000000000..a8aa6ae82ea06e41be3958bb2987aa55fa9c9ed0 GIT binary patch literal 20554 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 JH*!n(e*i>|%!&X2 literal 0 HcmV?d00001 diff --git a/test/fixtures/app/doc/screenshots/macos/cuprite/index_with_skip_area_as_array_of_css_and_p.png b/test/fixtures/app/doc/screenshots/macos/cuprite/index_with_skip_area_as_array_of_css_and_p.png new file mode 100644 index 0000000000000000000000000000000000000000..a8aa6ae82ea06e41be3958bb2987aa55fa9c9ed0 GIT binary patch literal 20554 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 JH*!n(e*i>|%!&X2 literal 0 HcmV?d00001 diff --git a/test/fixtures/app/doc/screenshots/macos/selenium_chrome_headless/cropped_screenshot.png b/test/fixtures/app/doc/screenshots/macos/selenium_chrome_headless/cropped_screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..8adc8f06d045243659d1727f3f3b7c619813d172 GIT binary patch literal 2684 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 X7HML;@~<{%5f-{L{4;(~+{u3d>d^ks literal 0 HcmV?d00001 diff --git a/test/fixtures/app/doc/screenshots/macos/selenium_chrome_headless/index-blur_active_element-enabled.png b/test/fixtures/app/doc/screenshots/macos/selenium_chrome_headless/index-blur_active_element-enabled.png new file mode 100644 index 0000000000000000000000000000000000000000..a300a553aac2380a33cd2e83fe02dabc5b9fd40e GIT binary patch literal 21686 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 literal 0 HcmV?d00001 diff --git a/test/fixtures/app/doc/screenshots/macos/selenium_chrome_headless/index-cropped.png b/test/fixtures/app/doc/screenshots/macos/selenium_chrome_headless/index-cropped.png new file mode 100644 index 0000000000000000000000000000000000000000..21090013c0f180e79c2d925a1d32d2d9909e69e1 GIT binary patch literal 3330 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 literal 0 HcmV?d00001 diff --git a/test/fixtures/app/doc/screenshots/macos/selenium_chrome_headless/index-hide_caret-disabled.png b/test/fixtures/app/doc/screenshots/macos/selenium_chrome_headless/index-hide_caret-disabled.png new file mode 100644 index 0000000000000000000000000000000000000000..954fbce76f8f0df2757d63bb06728048fe635221 GIT binary patch literal 21550 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 literal 0 HcmV?d00001 diff --git a/test/fixtures/app/doc/screenshots/macos/selenium_chrome_headless/index-hide_caret-enabled.png b/test/fixtures/app/doc/screenshots/macos/selenium_chrome_headless/index-hide_caret-enabled.png new file mode 100644 index 0000000000000000000000000000000000000000..cfe714954b2def50f9ba335e0894197dadc723d0 GIT binary patch literal 21343 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 QfQB%5y85}Sb4q9e0QAyhod5s; literal 0 HcmV?d00001 diff --git a/test/fixtures/app/doc/screenshots/chrome/macos/index-vips.webp b/test/fixtures/app/doc/screenshots/macos/selenium_chrome_headless/index-vips.webp similarity index 98% rename from test/fixtures/app/doc/screenshots/chrome/macos/index-vips.webp rename to test/fixtures/app/doc/screenshots/macos/selenium_chrome_headless/index-vips.webp index 3926ac6b8cb9e3b8207d5da252e35597e1f7efc1..2c77ba1f758c43feceb3f1fea8394aa8667d9f60 100644 GIT binary patch delta 204 zcmX>-hp~Ge;{=O(hApWPo@t(*S_~Wv3=C`xLX6A|j6fC$OEI#7=`bK$8p@6XvNfP; zn1F0yCWQLTb{4SuG@v*LcmOfT92m{Uz%YTGfdwdHU}R{(I1$LU2Ppv>!LR@-VQ65$ jxBz10|NjgOObZ}JDgc!*L)j4^dx79q)5%{O%|!hGgBTW* delta 12 TcmeC4$9Q@U;{=P1KZN}NBnAa# diff --git a/test/fixtures/app/doc/screenshots/macos/selenium_chrome_headless/index.png b/test/fixtures/app/doc/screenshots/macos/selenium_chrome_headless/index.png new file mode 100644 index 0000000000000000000000000000000000000000..ffe8042a6899875fc304a4b1bf498fa4992aa5f9 GIT binary patch literal 28295 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

    %D~OfhA;g`E-RI&QjA~c} zFPMmS^_i9Eo538CU3HbvQ||2>3A6qPyulpgvSW-><+%H>4%i(ee(|)?+L|XSj*V?d zy7JXdv<^{D&QrGMnxbB%g#W80EhT{xI}BOF)pEYKkAJ`wv$5@3wKe=6t-`$V9Ocz~ z@p)iX>T*(DrYD%%2V*iBKZW%7vs(_tL%%x>RE*|T@aOke_N^Q}8`LnLzjpKu$4hX| z4jw$rG4t`;P*4qqI-pxHij)?=Cvy5iZn{}`qWWnSZd{v^Lk>x7?H}~6(TPX* zg!@^T=_8v5v#F$xqxgn zyCv;wROR6Pt8!dr!Xh7QLZF9grZtffW7&aekL#AC2VZZHT_B=9+}BDuyfc6K=rK#q zGB?@m)%I4QO{4ldK{Q@P8J1xWWMiNDPg&*{$$*$_U0gfY7Y>IU`+OT9U^LIz8yDKW z=MAagh3~m8NfChHdF7+YgxWFg(&bha(~YcJqD+1%tjDeh%)w`ME~ZD#OHI1jceqRC zUA6Z|{d(P|{?P;x3+Cbj1I0fX59g)k4ZAIeqq1^IGpqH> zi7Ci7RMPL>$B4`fho|tsnU7d1pdZ_O(;jQyz5A=2peO&4!Q(G?TL?)=R*gcErZiQ5 zrP#84i8mmKid$2NnF|yJ5olOK<&EABoI8a_!n+*Z$XgD%Ko9vD`Dys>9ohNpDHsj> zs%LfaJ#Yo@fG_Uw3o%9jeCK_tPz~c~P$;Rl_MNe%5z0zn_l!Q9^@X^pV_jau3d-(U ztkCEdW9D!Cn4~$0H#UlzhuF2!Hch1w>~jh64#t4gq@ei>@MToU_G%`d{qkeVs`{M@ zso}02-fUsKnMh7i{jds=fll<{cA&k+jC5Ud$Ss_ zPj9A$yVMZ_Y9FnloK5Mb<3HQ5Fgy8jb}-h6xy$W$A(}B93;m;fh14$dFst&BjI51a zp)>&CNZ*SUj(EW#lJS}BgwOg*m>~QY$U{@HmeS&cG#n=jmnLG+~Ik7PUki>QBEtRDG_m&e{iV*b?-oH0?2p-}+LzSUUQ(HjTux^Pau7 zUDaNl%#tkD#srm-ndyvlNKp^$^ao^NfjixS$14GiPyY1=mba#{yKyCJMbqnK#Gu-9 z)!>~dLTcTkx~i`U$D*HkHs^kbTFoP6lG~mY^T6#)R+?pk?Y36E8!`%%+(SA;pZa{6 zDAV9|^BF=9ibu0R&*{!64T1?4R7wOIcE=3++ur_YHa4;k-{k!1^Ac-tKMu8^ZD^hH`v(8;2|#76YQl%M10WGk2k^VWsZMIFf^Q-z>o+L^I;qX}pB=kAf|z#SwdoxP+D*S)xIl>Xy2(KK5nnq{¨OQLZAj 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 From ab2daa05fca0df2094d05859c3cba9ef1125cf7c Mon Sep 17 00:00:00 2001 From: Alan Savage Date: Tue, 30 Jan 2024 23:19:34 -0600 Subject: [PATCH 238/312] Warn people about skip_area wait behavior with css selectors --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 63cdec01..53cba3b7 100644 --- a/README.md +++ b/README.md @@ -478,7 +478,9 @@ Capybara::Screenshot::Diff.area_size_limit = 42 Sometimes you have expected change that you want to ignore. You can use the `skip_area` option with `[left, top, right, bottom]` -or css selector like `'#footer'` or `'.container .skipped_element'` to the `screenshot` method to ignore an area: +or css selector like `'#footer'` or `'.container .skipped_element'` to the `screenshot` method to ignore an area. +Be aware that if the selector is not in the page then the library will wait the default wait time for it to appear. +Therefore, it is best to only use css selectors for skip_areas you know will be in the page: ```ruby test 'unstable area' do From dd6d8affd2ba23bfc27bd9c8c11cd42843b6fd54 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 5 Feb 2024 14:05:59 +0000 Subject: [PATCH 239/312] Bump nick-fields/retry from 2 to 3 Bumps [nick-fields/retry](https://github.com/nick-fields/retry) from 2 to 3. - [Release notes](https://github.com/nick-fields/retry/releases) - [Changelog](https://github.com/nick-fields/retry/blob/master/.releaserc.js) - [Commits](https://github.com/nick-fields/retry/compare/v2...v3) --- updated-dependencies: - dependency-name: nick-fields/retry dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index de0c4e04..80b675ab 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -164,7 +164,7 @@ jobs: version: tests-v1 - name: Run tests - uses: nick-fields/retry@v2 + uses: nick-fields/retry@v3 with: timeout_minutes: 3 max_attempts: 2 From 116a7c52d529b4518b7d99984136632d86605b43 Mon Sep 17 00:00:00 2001 From: Uwe Kubosch Date: Tue, 5 Mar 2024 08:51:08 +0100 Subject: [PATCH 240/312] Added option `fail_on_difference` --- README.md | 11 +++++++++++ lib/capybara/screenshot/diff.rb | 11 +++++++---- test/capybara/screenshot/diff_test.rb | 10 ++++++++++ 3 files changed, 28 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 53cba3b7..a5998f2d 100644 --- a/README.md +++ b/README.md @@ -327,6 +327,17 @@ Using an environment variable Capybara::Screenshot::Diff.enabled = ENV['COMPARE_SCREENSHOTS'] ``` +### Tolerate screenshot differences + +To allow screenshot differences, but still fail on functional errors, you can set the followin option: + +```ruby +Capybara::Screenshot::Diff.fail_on_difference = false +``` + +It defaults to `true`. This can be useful in continuous integration to a generate a screenshot difference +report while still reporting functional errors. + ### Screen shot save path By default, `Capybara::Screenshot::Diff` saves screenshots to a diff --git a/lib/capybara/screenshot/diff.rb b/lib/capybara/screenshot/diff.rb index 41c867d0..6e0509fd 100644 --- a/lib/capybara/screenshot/diff.rb +++ b/lib/capybara/screenshot/diff.rb @@ -51,6 +51,7 @@ module Diff mattr_accessor(:delayed) { true } mattr_accessor :area_size_limit mattr_accessor(:fail_if_new) { false } + mattr_accessor(:fail_on_difference) { true } mattr_accessor :color_distance_limit mattr_accessor(:enabled) { true } mattr_accessor :shift_distance_limit @@ -109,10 +110,12 @@ def track_failures(screenshots) error = ASSERTION.new(test_screenshot_errors.join(EMPTY_LINE)) error.set_backtrace([]) - if is_a?(::Minitest::Runnable) - failures << error - else - raise error + if Capybara::Screenshot::Diff.fail_on_difference + if is_a?(::Minitest::Runnable) + failures << error + else + raise error + end end end end diff --git a/test/capybara/screenshot/diff_test.rb b/test/capybara/screenshot/diff_test.rb index d42e27b9..e43d84f1 100644 --- a/test/capybara/screenshot/diff_test.rb +++ b/test/capybara/screenshot/diff_test.rb @@ -62,6 +62,16 @@ def test_screenshot_section_is_prepended screenshot "a" end + test "succeed on screenshot diff when fail_on_difference is false" do + Capybara::Screenshot::Diff.stub(:enabled, true) do + Capybara::Screenshot::Diff.stub(:fail_on_difference, false) do + test_case = SampleMiniTestCase.new(:_test_sample_screenshot_error) + test_case.run + assert_equal 0, test_case.failures.size + end + end + end + def test_screenshot_with_alternate_save_path default_path = Capybara::Screenshot.save_path Capybara::Screenshot.save_path = "foo/bar" From af1ad1eb2c5eca0715149f01f580d23307886993 Mon Sep 17 00:00:00 2001 From: Paul Keen <125715+pftg@users.noreply.github.com> Date: Tue, 26 Mar 2024 10:48:52 +0100 Subject: [PATCH 241/312] chore: adds documentation for fail_if_new option --- README.md | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index a5998f2d..05e4511a 100644 --- a/README.md +++ b/README.md @@ -329,7 +329,7 @@ Capybara::Screenshot::Diff.enabled = ENV['COMPARE_SCREENSHOTS'] ### Tolerate screenshot differences -To allow screenshot differences, but still fail on functional errors, you can set the followin option: +To allow screenshot differences, but still fail on functional errors, you can set the following option: ```ruby Capybara::Screenshot::Diff.fail_on_difference = false @@ -338,6 +338,19 @@ Capybara::Screenshot::Diff.fail_on_difference = false It defaults to `true`. This can be useful in continuous integration to a generate a screenshot difference report while still reporting functional errors. +### Does not tolerate new screenshots + +To fail the test if a new screenshot is taken, set the following option: + +```ruby +Capybara::Screenshot::Diff.fail_if_new = true +``` + +If `fail_if_new` is set to `true`, the test will fail if a new screenshot is taken +that does not have a corresponding previous image to compare against. +This can be useful in situations where you want to ensure +that every screenshot taken by your tests corresponds to an expected state of your application. + ### Screen shot save path By default, `Capybara::Screenshot::Diff` saves screenshots to a From dba2cb48818a2a86e904a3431b76b55c5ca4a9d8 Mon Sep 17 00:00:00 2001 From: Paul Keen <125715+pftg@users.noreply.github.com> Date: Wed, 10 Apr 2024 19:24:40 +0200 Subject: [PATCH 242/312] `ArgumentError: comparison of Float with nil failed` in `Screenshoter#wait_images_loaded` (#110) * feat: skips image loading wait by providing nil for wait * test: fixes signature tests * test: adds tests for stable screenshoter to require wait and stable time limit * chore: cleanup --- lib/capybara/screenshot/diff/screenshoter.rb | 6 ++-- .../screenshot/diff/stable_screenshoter.rb | 6 ++++ sig/capybara/screenshot/diff/screenshoter.rbs | 4 +-- .../screenshot/diff/stable_screenshoter.rbs | 5 +++ .../screenshot/diff/screenshoter_test.rb | 34 +++++++++++++++++++ .../diff/stable_screenshoter_test.rb | 16 +++++++-- 6 files changed, 65 insertions(+), 6 deletions(-) create mode 100644 test/capybara/screenshot/diff/screenshoter_test.rb diff --git a/lib/capybara/screenshot/diff/screenshoter.rb b/lib/capybara/screenshot/diff/screenshoter.rb index 31343403..78a9bab2 100644 --- a/lib/capybara/screenshot/diff/screenshoter.rb +++ b/lib/capybara/screenshot/diff/screenshoter.rb @@ -97,7 +97,7 @@ def notice_how_to_avoid_this end def prepare_page_for_screenshot(timeout:) - wait_images_loaded(timeout: timeout) + wait_images_loaded(timeout: timeout) if timeout blurred_input = if Screenshot.blur_active_element BrowserHelpers.blur_from_focused_element @@ -111,13 +111,15 @@ def prepare_page_for_screenshot(timeout:) end def wait_images_loaded(timeout:) + return unless timeout + start = Time.now loop do pending_image = BrowserHelpers.pending_image_to_load break unless pending_image if (Time.now - start) >= timeout - raise Capybara::Screenshot::Diff::ASSERTION, "Images not loaded after #{timeout}s: #{pending_image.inspect}" + raise Capybara::Screenshot::Diff::ASSERTION, "Images have not been loaded after #{timeout}s: #{pending_image.inspect}" end sleep 0.025 diff --git a/lib/capybara/screenshot/diff/stable_screenshoter.rb b/lib/capybara/screenshot/diff/stable_screenshoter.rb index 7f867b85..85b39c54 100644 --- a/lib/capybara/screenshot/diff/stable_screenshoter.rb +++ b/lib/capybara/screenshot/diff/stable_screenshoter.rb @@ -10,6 +10,11 @@ class StableScreenshoter def initialize(capture_options, comparison_options = nil) @stability_time_limit, @wait = capture_options.fetch_values(:stability_time_limit, :wait) + + raise ArgumentError, "wait should be provided for stable screenshots" unless wait + raise ArgumentError, "stability_time_limit should be provided for stable screenshots" unless stability_time_limit + raise ArgumentError, "stability_time_limit (#{stability_time_limit}) should be less or equal than wait (#{wait}) for stable screenshots" unless stability_time_limit <= wait + @comparison_options = comparison_options || Diff.default_options driver = Diff::Drivers.for(@comparison_options) @@ -43,6 +48,7 @@ def take_stable_screenshot(screenshot_path) 0.step do |i| # Prevents redundant screenshots generations + # FIXME: it should be wait, and wait should be replaced with stability_time_limit sleep(stability_time_limit) unless i == 0 elapsed_time = last_attempt_at - screenshot_started_at diff --git a/sig/capybara/screenshot/diff/screenshoter.rbs b/sig/capybara/screenshot/diff/screenshoter.rbs index 00138280..e6661af1 100644 --- a/sig/capybara/screenshot/diff/screenshoter.rbs +++ b/sig/capybara/screenshot/diff/screenshoter.rbs @@ -36,9 +36,9 @@ module Capybara def notice_how_to_avoid_this: () -> void - def prepare_page_for_screenshot: (timeout: Numeric) -> BrowserHelpers::capybara_element? + def prepare_page_for_screenshot: (timeout: Numeric?) -> BrowserHelpers::capybara_element? - def wait_images_loaded: (timeout: Numeric) -> void + def wait_images_loaded: (timeout: Numeric?) -> void private diff --git a/sig/capybara/screenshot/diff/stable_screenshoter.rbs b/sig/capybara/screenshot/diff/stable_screenshoter.rbs index 0ce59031..36cdbb26 100644 --- a/sig/capybara/screenshot/diff/stable_screenshoter.rbs +++ b/sig/capybara/screenshot/diff/stable_screenshoter.rbs @@ -10,6 +10,11 @@ module Capybara @screenshoter: (StableScreenshoter | Screenshoter) @stability_time_limit: Numeric + attr_reader stability_time_limit: Numeric? + attr_reader wait: Numeric? + + def initialize: (?Diff::ScreenshotMatcher::capture_options_entity capture_options, ?ScreenshotMatcher::input_options? comparison_options) -> void + def take_comparison_screenshot: (TestMethods::path_entity screenshot_path) -> void def take_stable_screenshot: (TestMethods::path_entity) -> Pathname? diff --git a/test/capybara/screenshot/diff/screenshoter_test.rb b/test/capybara/screenshot/diff/screenshoter_test.rb new file mode 100644 index 00000000..92682a2d --- /dev/null +++ b/test/capybara/screenshot/diff/screenshoter_test.rb @@ -0,0 +1,34 @@ +# frozen_string_literal: true + +require "test_helper" +require "minitest/mock" + +module Capybara + module Screenshot + class ScreenshoterTest < ActionDispatch::IntegrationTest + include Diff::TestMethods + include Diff::TestMethodsStub + + test "#take_screenshot without wait skips image loading" do + screenshoter = Screenshoter.new({wait: nil}, ::Minitest::Mock.new) + + mock = ::Minitest::Mock.new + mock.expect(:save_screenshot, true) { |path| path.include?("01_a.png") } + + BrowserHelpers.stub(:session, mock) do + screenshoter.stub(:process_screenshot, true) do + screenshoter.take_screenshot(Pathname.new("tmp/01_a.png")) + end + end + + mock.verify + end + + test "#prepare_page_for_screenshot without wait does not raise any error" do + screenshoter = Screenshoter.new({wait: nil}, ::Minitest::Mock.new) + + screenshoter.prepare_page_for_screenshot(timeout: nil) # does not raise an error + end + end + end +end diff --git a/test/capybara/screenshot/diff/stable_screenshoter_test.rb b/test/capybara/screenshot/diff/stable_screenshoter_test.rb index 78790338..a368d83c 100644 --- a/test/capybara/screenshot/diff/stable_screenshoter_test.rb +++ b/test/capybara/screenshot/diff/stable_screenshoter_test.rb @@ -25,6 +25,18 @@ class StableScreenshoterTest < ActionDispatch::IntegrationTest mock.verify end + test "#take_stable_screenshot without wait raises any error" do + assert_raises ArgumentError, "wait should be provided" do + take_stable_screenshot_with("tmp/02_a.png", wait: nil) + end + end + + test "#take_stable_screenshot without stability_time_limit raises any error" do + assert_raises ArgumentError, "stability_time_limit should be provided" do + take_stable_screenshot_with("tmp/02_a.png", stability_time_limit: nil) + end + end + test "#take_comparison_screenshot deletes runtime files on completion" do image_compare_stub = build_image_compare_stub @@ -36,7 +48,7 @@ class StableScreenshoterTest < ActionDispatch::IntegrationTest ImageCompare.stub :new, mock do StableScreenshoter - .new({stability_time_limit: 1, wait: 0.5}, image_compare_stub.driver_options) + .new({stability_time_limit: 0.5, wait: 0.5}, image_compare_stub.driver_options) .take_comparison_screenshot("tmp/02_a.png") end @@ -69,7 +81,7 @@ class StableScreenshoterTest < ActionDispatch::IntegrationTest ImageCompare.stub :new, mock do # Wait time is less then stability time, which will generate problem StableScreenshoter - .new({stability_time_limit: 1, wait: 0.5}, build_image_compare_stub(equal: false).driver_options) + .new({stability_time_limit: 0.5, wait: 0.5}, build_image_compare_stub(equal: false).driver_options) .take_comparison_screenshot(screenshot_path.to_s) end end From ce9a0f66ee86aa5f1fde53516c84cca46cc7e0c1 Mon Sep 17 00:00:00 2001 From: Paul Keen <125715+pftg@users.noreply.github.com> Date: Wed, 10 Apr 2024 19:29:44 +0200 Subject: [PATCH 243/312] refact: use monotonic time to calculate elapsed time --- lib/capybara/screenshot/diff/screenshoter.rb | 4 ++-- lib/capybara/screenshot/diff/stable_screenshoter.rb | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/capybara/screenshot/diff/screenshoter.rb b/lib/capybara/screenshot/diff/screenshoter.rb index 78a9bab2..6746cc97 100644 --- a/lib/capybara/screenshot/diff/screenshoter.rb +++ b/lib/capybara/screenshot/diff/screenshoter.rb @@ -113,12 +113,12 @@ def prepare_page_for_screenshot(timeout:) def wait_images_loaded(timeout:) return unless timeout - start = Time.now + start = Process.clock_gettime(Process::CLOCK_MONOTONIC) loop do pending_image = BrowserHelpers.pending_image_to_load break unless pending_image - if (Time.now - start) >= timeout + if (Process.clock_gettime(Process::CLOCK_MONOTONIC) - start) >= timeout raise Capybara::Screenshot::Diff::ASSERTION, "Images have not been loaded after #{timeout}s: #{pending_image.inspect}" end diff --git a/lib/capybara/screenshot/diff/stable_screenshoter.rb b/lib/capybara/screenshot/diff/stable_screenshoter.rb index 85b39c54..b6bc1dc6 100644 --- a/lib/capybara/screenshot/diff/stable_screenshoter.rb +++ b/lib/capybara/screenshot/diff/stable_screenshoter.rb @@ -41,7 +41,7 @@ def take_stable_screenshot(screenshot_path) screenshot_path = screenshot_path.is_a?(String) ? Pathname.new(screenshot_path) : screenshot_path # We try to compare first attempt with checkout version, in order to not run next screenshots attempt_path = nil - screenshot_started_at = last_attempt_at = Time.now + screenshot_started_at = last_attempt_at = Process.clock_gettime(Process::CLOCK_MONOTONIC) # Cleanup all previous attempts for sure Screenshoter.cleanup_attempts_screenshots(screenshot_path) @@ -57,7 +57,7 @@ def take_stable_screenshot(screenshot_path) attempt_path = Screenshoter.gen_next_attempt_path(screenshot_path, i) @screenshoter.take_screenshot(attempt_path) - last_attempt_at = Time.now + last_attempt_at = Process.clock_gettime(Process::CLOCK_MONOTONIC) next unless prev_attempt_path stabilization_comparator = build_comparison_for(attempt_path, prev_attempt_path) From 13ab6f287c21dd0469612024e5c201f4359ef0f7 Mon Sep 17 00:00:00 2001 From: Paul Keen <125715+pftg@users.noreply.github.com> Date: Fri, 12 Jul 2024 18:28:05 +0200 Subject: [PATCH 244/312] fix: prevent error for cuprite (#112) --- test/support/screenshoter_stub.rb | 2 +- test/support/setup_capybara_drivers.rb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/test/support/screenshoter_stub.rb b/test/support/screenshoter_stub.rb index 86f62542..a1dc1b36 100644 --- a/test/support/screenshoter_stub.rb +++ b/test/support/screenshoter_stub.rb @@ -26,7 +26,7 @@ def prepare_page_for_screenshot(**) end def take_screenshot(screenshot_path) - stored_path = save_screenshot(screenshot_path) + stored_path = save_screenshot(screenshot_path) # rubocop:disable Lint/Debugger process_screenshot(stored_path, screenshot_path) end diff --git a/test/support/setup_capybara_drivers.rb b/test/support/setup_capybara_drivers.rb index 5af3b0cf..f6a445b0 100644 --- a/test/support/setup_capybara_drivers.rb +++ b/test/support/setup_capybara_drivers.rb @@ -55,7 +55,7 @@ "password-store=basic" => nil, "test-type" => nil, "use-mock-keychain" => nil - }.freeze + } Capybara.register_driver(:cuprite) do |app| Capybara::Cuprite::Driver.new( From fdb810cd1208663413a935e4316fc3f1c489fda7 Mon Sep 17 00:00:00 2001 From: Paul Keen <125715+pftg@users.noreply.github.com> Date: Fri, 12 Jul 2024 18:48:17 +0200 Subject: [PATCH 245/312] feat: allows to bypass screenshot options to capybara (#111) In order to allow to create full page screenshots --- README.md | 11 +++++++++++ lib/capybara/screenshot/diff.rb | 2 ++ .../screenshot/diff/screenshot_matcher.rb | 5 +++-- lib/capybara/screenshot/diff/screenshoter.rb | 10 ++++++++-- .../screenshot/diff/screenshot_matcher.rbs | 1 + .../screenshot/diff/screenshoter_test.rb | 18 ++++++++++++++++++ 6 files changed, 43 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 05e4511a..9ce2698e 100644 --- a/README.md +++ b/README.md @@ -610,6 +610,17 @@ You can specify the format of the screenshots taken by setting the `screenshot_f Capybara::Screenshot.screenshot_format = "webp" ``` +### Customize Capybara#screenshot options + +Allow to bypass screenshot options to Capybara driver. + +```ruby +# To create full page screenshots for Selenium +Capybara::Screenshot.capybara_screenshot_options[:full_page] = true + +screenshot('index', median_filter_window_size: 2, capybara_screenshot_options: {full_page: false}) +``` + ## Development After checking out the repo, run `bin/setup` to install dependencies. diff --git a/lib/capybara/screenshot/diff.rb b/lib/capybara/screenshot/diff.rb index 6e0509fd..12cce30b 100644 --- a/lib/capybara/screenshot/diff.rb +++ b/lib/capybara/screenshot/diff.rb @@ -22,6 +22,7 @@ module Screenshot mattr_accessor(:save_path) { "doc/screenshots" } mattr_accessor(:use_lfs) mattr_accessor(:screenshot_format) { "png" } + mattr_accessor(:capybara_screenshot_options) { {} } class << self def root=(path) @@ -70,6 +71,7 @@ def self.default_options color_distance_limit: color_distance_limit, driver: driver, screenshot_format: Screenshot.screenshot_format, + capybara_screenshot_options: Screenshot.capybara_screenshot_options, shift_distance_limit: shift_distance_limit, skip_area: skip_area, stability_time_limit: Screenshot.stability_time_limit, diff --git a/lib/capybara/screenshot/diff/screenshot_matcher.rb b/lib/capybara/screenshot/diff/screenshot_matcher.rb index 0137de9b..2237a1a0 100644 --- a/lib/capybara/screenshot/diff/screenshot_matcher.rb +++ b/lib/capybara/screenshot/diff/screenshot_matcher.rb @@ -44,10 +44,11 @@ def build_screenshot_matches_job return if Capybara::Screenshot::Diff.fail_if_new && !base_screenshot_path.exist? capture_options = { + capybara_screenshot_options: driver_options[:capybara_screenshot_options], crop: driver_options.delete(:crop), + screenshot_format: driver_options[:screenshot_format], stability_time_limit: driver_options.delete(:stability_time_limit), - wait: driver_options.delete(:wait), - screenshot_format: driver_options[:screenshot_format] + wait: driver_options.delete(:wait) } # Load new screenshot from Browser diff --git a/lib/capybara/screenshot/diff/screenshoter.rb b/lib/capybara/screenshot/diff/screenshoter.rb index 6746cc97..ec0ca078 100644 --- a/lib/capybara/screenshot/diff/screenshoter.rb +++ b/lib/capybara/screenshot/diff/screenshoter.rb @@ -26,6 +26,10 @@ def screenshot_format @capture_options[:screenshot_format] || "png" end + def capybara_screenshot_options + @capture_options[:capybara_screenshot_options] || {} + end + def self.attempts_screenshot_paths(base_file) extname = Pathname.new(base_file).extname Dir["#{base_file.to_s.chomp(extname)}.attempt_*#{extname}"].sort @@ -51,12 +55,14 @@ def self.gen_next_attempt_path(screenshot_path, iteration) screenshot_path.sub_ext(format(".attempt_%02i#{screenshot_path.extname}", iteration)) end + PNG_EXTENSION = ".png" + def take_screenshot(screenshot_path) blurred_input = prepare_page_for_screenshot(timeout: wait) # Take browser screenshot and save - tmpfile = Tempfile.new([screenshot_path.basename.to_s, ".png"]) - BrowserHelpers.session.save_screenshot(tmpfile.path) + tmpfile = Tempfile.new([screenshot_path.basename.to_s, PNG_EXTENSION]) + BrowserHelpers.session.save_screenshot(tmpfile.path, **capybara_screenshot_options) # Load saved screenshot and pre-process it process_screenshot(tmpfile.path, screenshot_path) diff --git a/sig/capybara/screenshot/diff/screenshot_matcher.rbs b/sig/capybara/screenshot/diff/screenshot_matcher.rbs index 23c0bc10..d43a0cde 100644 --- a/sig/capybara/screenshot/diff/screenshot_matcher.rbs +++ b/sig/capybara/screenshot/diff/screenshot_matcher.rbs @@ -10,6 +10,7 @@ module Capybara attr_reader base_screenshot_path: TestMethods::path_entity attr_reader driver_options: Drivers::BaseDriver::options_entity attr_reader screenshot_format: String + attr_reader capybara_screenshot_options: top? attr_reader screenshot_full_name: TestMethods::path_entity attr_reader screenshot_path: Pathname diff --git a/test/capybara/screenshot/diff/screenshoter_test.rb b/test/capybara/screenshot/diff/screenshoter_test.rb index 92682a2d..1d354390 100644 --- a/test/capybara/screenshot/diff/screenshoter_test.rb +++ b/test/capybara/screenshot/diff/screenshoter_test.rb @@ -24,6 +24,24 @@ class ScreenshoterTest < ActionDispatch::IntegrationTest mock.verify end + test "#take_screenshot with custom screenshot options" do + screenshoter = Screenshoter.new( + {wait: nil, capybara_screenshot_options: {full: true}}, + ::Minitest::Mock.new + ) + + mock = ::Minitest::Mock.new + mock.expect(:save_screenshot, true) { |path, options| path.include?("01_a.png") && options[:full] } + + BrowserHelpers.stub(:session, mock) do + screenshoter.stub(:process_screenshot, true) do + screenshoter.take_screenshot(Pathname.new("tmp/01_a.png")) + end + end + + mock.verify + end + test "#prepare_page_for_screenshot without wait does not raise any error" do screenshoter = Screenshoter.new({wait: nil}, ::Minitest::Mock.new) From a1e2a6da47bccc0614b6f7dede1386c233cfe997 Mon Sep 17 00:00:00 2001 From: Paul Keen <125715+pftg@users.noreply.github.com> Date: Fri, 12 Jul 2024 20:56:02 +0200 Subject: [PATCH 246/312] build: use 3.3 as default (#113) * use 3.3 as default * chore: updates images and new image * chore: updates firefox images --- .github/workflows/lint.yml | 2 +- .github/workflows/test.yml | 15 +++++++++------ Dockerfile | 2 +- .../screenshots/chrome/linux/index-vips.webp | Bin 0 -> 25670 bytes .../index_with_skip_area_as_array_of_css.png | Bin 0 -> 28516 bytes ...x_with_skip_area_as_array_of_css_and_p.png | Bin 0 -> 28516 bytes .../screenshots/firefox/linux/index-vips.webp | Bin 0 -> 26553 bytes .../doc/screenshots/firefox/linux/index.png | Bin 31210 -> 27376 bytes .../index_with_skip_area_as_array_of_css.png | Bin 0 -> 27643 bytes ...x_with_skip_area_as_array_of_css_and_p.png | Bin 0 -> 27643 bytes 10 files changed, 11 insertions(+), 8 deletions(-) create mode 100644 test/fixtures/app/doc/screenshots/chrome/linux/index-vips.webp create mode 100644 test/fixtures/app/doc/screenshots/chrome/linux/index_with_skip_area_as_array_of_css.png create mode 100644 test/fixtures/app/doc/screenshots/chrome/linux/index_with_skip_area_as_array_of_css_and_p.png create mode 100644 test/fixtures/app/doc/screenshots/firefox/linux/index-vips.webp create mode 100644 test/fixtures/app/doc/screenshots/firefox/linux/index_with_skip_area_as_array_of_css.png create mode 100644 test/fixtures/app/doc/screenshots/firefox/linux/index_with_skip_area_as_array_of_css_and_p.png diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 3b0f1fae..96fb9a43 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -25,7 +25,7 @@ jobs: - name: Set up Ruby uses: ruby/setup-ruby@v1 with: - ruby-version: '3.2' + ruby-version: '3.3' bundler-cache: true - name: Run Standard Ruby linter diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 80b675ab..ae4bc129 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -35,7 +35,7 @@ jobs: - uses: actions/checkout@v4 - uses: ruby/setup-ruby@v1 with: - ruby-version: 3.2 + ruby-version: 3.3 bundler-cache: true - run: bin/rake test @@ -57,7 +57,7 @@ jobs: - name: Set up Ruby uses: ruby/setup-ruby@v1 with: - ruby-version: 3.2 + ruby-version: 3.3 bundler-cache: true - name: Run Tests with coverage @@ -101,7 +101,7 @@ jobs: - name: Set up Ruby uses: ruby/setup-ruby@v1 with: - ruby-version: 3.2 + ruby-version: 3.3 bundler-cache: true - name: Tests Signatures @@ -129,7 +129,7 @@ jobs: experimental: [ false ] exclude: # We already tested last version - - ruby-version: 3.2 + - ruby-version: 3.3 gemfile: rails71_gems.rb experimental: false # Tests for Rails 6.1 cannot exit properly on JRuby @@ -137,7 +137,10 @@ jobs: gemfile: rails61_gems.rb experimental: false include: - - ruby-version: 3.2 + - ruby-version: 3.3 + gemfile: edge_gems.rb + experimental: true + - ruby-version: 3.4.0-preview1 gemfile: edge_gems.rb experimental: true - ruby-version: jruby-head @@ -195,7 +198,7 @@ jobs: - name: Set up Ruby uses: ruby/setup-ruby@v1 with: - ruby-version: 3.2 + ruby-version: 3.3 bundler-cache: true - uses: awalsh128/cache-apt-pkgs-action@latest diff --git a/Dockerfile b/Dockerfile index 1e195a27..3189736a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,7 +3,7 @@ # $ docker build . -t csd # $ docker run -v $(pwd):/app -ti csd rake test -FROM jetthoughts/cimg-ruby:3.2-chrome +FROM jetthoughts/cimg-ruby:3.3-chrome RUN \ # Install dependencies diff --git a/test/fixtures/app/doc/screenshots/chrome/linux/index-vips.webp b/test/fixtures/app/doc/screenshots/chrome/linux/index-vips.webp new file mode 100644 index 0000000000000000000000000000000000000000..9b1033d5632ae76b53e4be0d91cb40a11ac9c3f6 GIT binary patch literal 25670 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 DgzKMq literal 0 HcmV?d00001 diff --git a/test/fixtures/app/doc/screenshots/chrome/linux/index_with_skip_area_as_array_of_css.png b/test/fixtures/app/doc/screenshots/chrome/linux/index_with_skip_area_as_array_of_css.png new file mode 100644 index 0000000000000000000000000000000000000000..a900f10309d075f98d571e4c4d20e2c8b99ccd71 GIT binary patch literal 28516 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 QPgXdqZMNTKn^VL71hqvH#{d8T literal 31210 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 C%|Dg^ literal 0 HcmV?d00001 diff --git a/test/fixtures/app/doc/screenshots/firefox/linux/index_with_skip_area_as_array_of_css_and_p.png b/test/fixtures/app/doc/screenshots/firefox/linux/index_with_skip_area_as_array_of_css_and_p.png new file mode 100644 index 0000000000000000000000000000000000000000..2e1d0b66f5f80ceffaebf44c7aafe94f704cfc76 GIT binary patch literal 27643 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 C%|Dg^ literal 0 HcmV?d00001 From aa6f17bca1992c7ed9692c13636ad0024d48cd5f Mon Sep 17 00:00:00 2001 From: Paul Keen <125715+pftg@users.noreply.github.com> Date: Wed, 17 Jul 2024 20:54:11 +0200 Subject: [PATCH 247/312] refact: reworks test framework integration (#116) * moved raising error per tests * refact: adds rspec and cucumber test integration * upgrades minitest * refact: adds depreacations * chore: adds deprecation warnings * refactoring: cleanup and fixes * refact: renames validate_screenshots to verify to mock rspec/mock * refact: drops unsed code * refact: drops unsed code * build: fix tests with updates (#117) * build: optimize time-limit per jruby (#118) * build: increase time limits per jruby * refact: move to separate action to setup ruby * build: setup jruby config to make it pass * adds more jruby options (#120) * refact: cleanup test workflow * removed redundant names per steps * doc: adds more info about usage of the new API --- .../setup-ruby-and-dependencies/action.yml | 30 +++++ .github/actions/upload-screenshots/action.yml | 18 +++ .github/workflows/test.yml | 104 +++++--------- Dockerfile | 88 ++++++------ README.md | 62 ++++++--- bin/dtest | 14 ++ bin/install-vips | 6 +- bin/setup | 3 +- gems.rb | 3 +- lib/capybara-screenshot-diff.rb | 10 +- lib/capybara/screenshot/diff.rb | 127 +----------------- lib/capybara/screenshot/diff/cucumber.rb | 10 +- lib/capybara/screenshot/diff/region.rb | 7 - lib/capybara/screenshot/diff/screenshoter.rb | 2 +- lib/capybara/screenshot/diff/test_methods.rb | 23 +++- lib/capybara/screenshot/diff/utils.rb | 7 - lib/capybara_screenshot_diff.rb | 85 ++++++++++++ lib/capybara_screenshot_diff/cucumber.rb | 12 ++ lib/capybara_screenshot_diff/dsl.rb | 10 ++ lib/capybara_screenshot_diff/minitest.rb | 34 +++++ lib/capybara_screenshot_diff/rspec.rb | 31 +++++ sig/capybara/screenshot/diff/diff.rbs | 2 - .../diff/drivers/browser_helpers.rbs | 1 + .../screenshot/diff/drivers/utils.rbs | 2 - sig/capybara/screenshot/diff/region.rbs | 2 - sig/capybara/screenshot/diff/test_methods.rbs | 7 +- test/capybara/screenshot/diff/region_test.rb | 9 -- .../diff/stable_screenshoter_test.rb | 1 - .../screenshot/diff/test_methods_test.rb | 2 +- test/capybara/screenshot/diff_test.rb | 34 ++--- test/capybara_screenshot_diff/rspec_test.rb | 19 +++ .../chrome/linux/cropped_screenshot.png | Bin 3467 -> 0 bytes .../index-blur_active_element-disabled.png | Bin 33206 -> 0 bytes .../index-blur_active_element-enabled.png | Bin 32496 -> 0 bytes .../chrome/linux/index-cropped.png | Bin 1756 -> 0 bytes .../linux/index-hide_caret-disabled.png | Bin 32826 -> 0 bytes .../chrome/linux/index-hide_caret-enabled.png | Bin 32496 -> 0 bytes .../doc/screenshots/chrome/linux/index.png | Bin 25663 -> 0 bytes .../chrome/macos/cropped_screenshot.png | Bin 1226 -> 0 bytes .../index-blur_active_element-disabled.png | Bin 28560 -> 0 bytes .../index-blur_active_element-enabled.png | Bin 28774 -> 0 bytes .../macos/index-hide_caret-disabled.png | Bin 28560 -> 0 bytes .../chrome/macos/index-hide_caret-enabled.png | Bin 28774 -> 0 bytes .../index_with_skip_area_as_array_of_css.png | Bin 27725 -> 0 bytes ...x_with_skip_area_as_array_of_css_and_p.png | Bin 27725 -> 0 bytes .../firefox/linux/cropped_screenshot.png | Bin 3467 -> 0 bytes .../index-blur_active_element-disabled.png | Bin 33206 -> 0 bytes .../index-blur_active_element-enabled.png | Bin 32496 -> 0 bytes .../firefox/linux/index-cropped.png | Bin 5762 -> 0 bytes .../linux/index-hide_caret-disabled.png | Bin 32826 -> 0 bytes .../linux/index-hide_caret-enabled.png | Bin 32496 -> 0 bytes .../firefox/macos/cropped_screenshot.png | Bin 2120 -> 0 bytes .../index-blur_active_element-disabled.png | Bin 32771 -> 0 bytes .../index-blur_active_element-enabled.png | Bin 32714 -> 0 bytes .../macos/index-hide_caret-disabled.png | Bin 32771 -> 0 bytes .../macos/index-hide_caret-enabled.png | Bin 32714 -> 0 bytes .../linux/cuprite/cropped_screenshot.png | Bin 0 -> 2685 bytes .../index-blur_active_element-disabled.png | Bin 0 -> 29241 bytes .../index-blur_active_element-enabled.png | Bin 0 -> 29014 bytes .../linux/cuprite/index-cropped.png | Bin 0 -> 3430 bytes .../cuprite/index-hide_caret-disabled.png | Bin 0 -> 29241 bytes .../cuprite/index-hide_caret-enabled.png | Bin 0 -> 29014 bytes .../linux => linux/cuprite}/index-vips.webp | Bin .../doc/screenshots/linux/cuprite/index.png | Bin 0 -> 27983 bytes .../index_with_skip_area_as_array_of_css.png | Bin ...x_with_skip_area_as_array_of_css_and_p.png | Bin .../cropped_screenshot.png | Bin 0 -> 2685 bytes .../index-blur_active_element-disabled.png | Bin 0 -> 29308 bytes .../index-blur_active_element-enabled.png | Bin 0 -> 29014 bytes .../index-cropped.png | Bin 0 -> 3430 bytes .../index-hide_caret-disabled.png | Bin 0 -> 29241 bytes .../index-hide_caret-enabled.png | Bin 0 -> 29014 bytes .../selenium_chrome_headless/index-vips.webp | Bin 0 -> 25670 bytes .../linux/selenium_chrome_headless/index.png | Bin 0 -> 27983 bytes .../index_with_skip_area_as_array_of_css.png | Bin 0 -> 28516 bytes ...x_with_skip_area_as_array_of_css_and_p.png | Bin 0 -> 28516 bytes .../selenium_headless/cropped_screenshot.png | Bin 0 -> 3051 bytes .../index-blur_active_element-disabled.png | Bin 0 -> 29003 bytes .../index-blur_active_element-enabled.png | Bin 0 -> 28363 bytes .../linux/selenium_headless/index-cropped.png | Bin 0 -> 4676 bytes .../index-hide_caret-disabled.png | Bin 0 -> 28661 bytes .../index-hide_caret-enabled.png | Bin 0 -> 28363 bytes .../selenium_headless}/index-vips.webp | Bin .../selenium_headless}/index.png | Bin .../index_with_skip_area_as_array_of_css.png | Bin ...x_with_skip_area_as_array_of_css_and_p.png | Bin .../macos/cuprite/cropped_screenshot.png | Bin 0 -> 2684 bytes .../index-blur_active_element-disabled.png | Bin 0 -> 21550 bytes .../index-blur_active_element-enabled.png | Bin 0 -> 21343 bytes .../macos => macos/cuprite}/index-cropped.png | Bin .../cuprite/index-hide_caret-disabled.png | Bin 0 -> 21550 bytes .../cuprite/index-hide_caret-enabled.png | Bin 0 -> 21343 bytes .../cuprite/index-vips.webp} | Bin .../doc/screenshots/macos/cuprite/index.png | Bin 0 -> 20235 bytes .../index_with_skip_area_as_array_of_css.png | Bin 0 -> 20554 bytes ...x_with_skip_area_as_array_of_css_and_p.png | Bin 0 -> 20554 bytes .../cropped_screenshot.png | Bin 0 -> 2684 bytes .../index-blur_active_element-disabled.png | Bin 0 -> 21673 bytes .../index-blur_active_element-enabled.png | Bin 0 -> 21686 bytes .../index-cropped.png | Bin 0 -> 3330 bytes .../index-hide_caret-disabled.png | Bin 0 -> 21550 bytes .../index-hide_caret-enabled.png | Bin 0 -> 21343 bytes .../selenium_chrome_headless}/index-vips.webp | Bin 20043 -> 20235 bytes .../macos/selenium_chrome_headless/index.png | Bin 0 -> 28295 bytes .../index_with_skip_area_as_array_of_css.png | Bin 0 -> 20549 bytes ...x_with_skip_area_as_array_of_css_and_p.png | Bin 0 -> 20549 bytes .../selenium_headless/cropped_screenshot.png | Bin 0 -> 2712 bytes .../index-blur_active_element-disabled.png | Bin 0 -> 21694 bytes .../index-blur_active_element-enabled.png | Bin 0 -> 21080 bytes .../selenium_headless}/index-cropped.png | Bin .../index-hide_caret-disabled.png | Bin 0 -> 21288 bytes .../index-hide_caret-enabled.png | Bin 0 -> 21080 bytes .../selenium_headless}/index-vips.webp | Bin .../selenium_headless}/index.png | Bin .../index_with_skip_area_as_array_of_css.png | Bin ...x_with_skip_area_as_array_of_css_and_p.png | Bin test/fixtures/files/rspec_spec.rb | 39 ++++++ test/integration/browser_screenshot_test.rb | 44 +++--- test/support/non_minitest_assertions.rb | 26 ++++ test/support/setup_capybara.rb | 9 ++ test/support/setup_capybara_drivers.rb | 114 +++++++++------- test/support/setup_rails_app.rb | 18 +++ test/system_test_case.rb | 15 +-- test/test_helper.rb | 27 +--- 124 files changed, 630 insertions(+), 427 deletions(-) create mode 100644 .github/actions/setup-ruby-and-dependencies/action.yml create mode 100644 .github/actions/upload-screenshots/action.yml create mode 100755 bin/dtest create mode 100644 lib/capybara_screenshot_diff.rb create mode 100644 lib/capybara_screenshot_diff/cucumber.rb create mode 100644 lib/capybara_screenshot_diff/dsl.rb create mode 100644 lib/capybara_screenshot_diff/minitest.rb create mode 100644 lib/capybara_screenshot_diff/rspec.rb create mode 100644 test/capybara_screenshot_diff/rspec_test.rb delete mode 100644 test/fixtures/app/doc/screenshots/chrome/linux/cropped_screenshot.png delete mode 100644 test/fixtures/app/doc/screenshots/chrome/linux/index-blur_active_element-disabled.png delete mode 100644 test/fixtures/app/doc/screenshots/chrome/linux/index-blur_active_element-enabled.png delete mode 100644 test/fixtures/app/doc/screenshots/chrome/linux/index-cropped.png delete mode 100644 test/fixtures/app/doc/screenshots/chrome/linux/index-hide_caret-disabled.png delete mode 100644 test/fixtures/app/doc/screenshots/chrome/linux/index-hide_caret-enabled.png delete mode 100644 test/fixtures/app/doc/screenshots/chrome/linux/index.png delete mode 100644 test/fixtures/app/doc/screenshots/chrome/macos/cropped_screenshot.png delete mode 100644 test/fixtures/app/doc/screenshots/chrome/macos/index-blur_active_element-disabled.png delete mode 100644 test/fixtures/app/doc/screenshots/chrome/macos/index-blur_active_element-enabled.png delete mode 100644 test/fixtures/app/doc/screenshots/chrome/macos/index-hide_caret-disabled.png delete mode 100644 test/fixtures/app/doc/screenshots/chrome/macos/index-hide_caret-enabled.png delete mode 100644 test/fixtures/app/doc/screenshots/chrome/macos/index_with_skip_area_as_array_of_css.png delete mode 100644 test/fixtures/app/doc/screenshots/chrome/macos/index_with_skip_area_as_array_of_css_and_p.png delete mode 100644 test/fixtures/app/doc/screenshots/firefox/linux/cropped_screenshot.png delete mode 100644 test/fixtures/app/doc/screenshots/firefox/linux/index-blur_active_element-disabled.png delete mode 100644 test/fixtures/app/doc/screenshots/firefox/linux/index-blur_active_element-enabled.png delete mode 100644 test/fixtures/app/doc/screenshots/firefox/linux/index-cropped.png delete mode 100644 test/fixtures/app/doc/screenshots/firefox/linux/index-hide_caret-disabled.png delete mode 100644 test/fixtures/app/doc/screenshots/firefox/linux/index-hide_caret-enabled.png delete mode 100644 test/fixtures/app/doc/screenshots/firefox/macos/cropped_screenshot.png delete mode 100644 test/fixtures/app/doc/screenshots/firefox/macos/index-blur_active_element-disabled.png delete mode 100644 test/fixtures/app/doc/screenshots/firefox/macos/index-blur_active_element-enabled.png delete mode 100644 test/fixtures/app/doc/screenshots/firefox/macos/index-hide_caret-disabled.png delete mode 100644 test/fixtures/app/doc/screenshots/firefox/macos/index-hide_caret-enabled.png create mode 100644 test/fixtures/app/doc/screenshots/linux/cuprite/cropped_screenshot.png create mode 100644 test/fixtures/app/doc/screenshots/linux/cuprite/index-blur_active_element-disabled.png create mode 100644 test/fixtures/app/doc/screenshots/linux/cuprite/index-blur_active_element-enabled.png create mode 100644 test/fixtures/app/doc/screenshots/linux/cuprite/index-cropped.png create mode 100644 test/fixtures/app/doc/screenshots/linux/cuprite/index-hide_caret-disabled.png create mode 100644 test/fixtures/app/doc/screenshots/linux/cuprite/index-hide_caret-enabled.png rename test/fixtures/app/doc/screenshots/{chrome/linux => linux/cuprite}/index-vips.webp (100%) create mode 100644 test/fixtures/app/doc/screenshots/linux/cuprite/index.png rename test/fixtures/app/doc/screenshots/{chrome/linux => linux/cuprite}/index_with_skip_area_as_array_of_css.png (100%) rename test/fixtures/app/doc/screenshots/{chrome/linux => linux/cuprite}/index_with_skip_area_as_array_of_css_and_p.png (100%) create mode 100644 test/fixtures/app/doc/screenshots/linux/selenium_chrome_headless/cropped_screenshot.png create mode 100644 test/fixtures/app/doc/screenshots/linux/selenium_chrome_headless/index-blur_active_element-disabled.png create mode 100644 test/fixtures/app/doc/screenshots/linux/selenium_chrome_headless/index-blur_active_element-enabled.png create mode 100644 test/fixtures/app/doc/screenshots/linux/selenium_chrome_headless/index-cropped.png create mode 100644 test/fixtures/app/doc/screenshots/linux/selenium_chrome_headless/index-hide_caret-disabled.png create mode 100644 test/fixtures/app/doc/screenshots/linux/selenium_chrome_headless/index-hide_caret-enabled.png create mode 100644 test/fixtures/app/doc/screenshots/linux/selenium_chrome_headless/index-vips.webp create mode 100644 test/fixtures/app/doc/screenshots/linux/selenium_chrome_headless/index.png create mode 100644 test/fixtures/app/doc/screenshots/linux/selenium_chrome_headless/index_with_skip_area_as_array_of_css.png create mode 100644 test/fixtures/app/doc/screenshots/linux/selenium_chrome_headless/index_with_skip_area_as_array_of_css_and_p.png create mode 100644 test/fixtures/app/doc/screenshots/linux/selenium_headless/cropped_screenshot.png create mode 100644 test/fixtures/app/doc/screenshots/linux/selenium_headless/index-blur_active_element-disabled.png create mode 100644 test/fixtures/app/doc/screenshots/linux/selenium_headless/index-blur_active_element-enabled.png create mode 100644 test/fixtures/app/doc/screenshots/linux/selenium_headless/index-cropped.png create mode 100644 test/fixtures/app/doc/screenshots/linux/selenium_headless/index-hide_caret-disabled.png create mode 100644 test/fixtures/app/doc/screenshots/linux/selenium_headless/index-hide_caret-enabled.png rename test/fixtures/app/doc/screenshots/{firefox/linux => linux/selenium_headless}/index-vips.webp (100%) rename test/fixtures/app/doc/screenshots/{firefox/linux => linux/selenium_headless}/index.png (100%) rename test/fixtures/app/doc/screenshots/{firefox/linux => linux/selenium_headless}/index_with_skip_area_as_array_of_css.png (100%) rename test/fixtures/app/doc/screenshots/{firefox/linux => linux/selenium_headless}/index_with_skip_area_as_array_of_css_and_p.png (100%) create mode 100644 test/fixtures/app/doc/screenshots/macos/cuprite/cropped_screenshot.png create mode 100644 test/fixtures/app/doc/screenshots/macos/cuprite/index-blur_active_element-disabled.png create mode 100644 test/fixtures/app/doc/screenshots/macos/cuprite/index-blur_active_element-enabled.png rename test/fixtures/app/doc/screenshots/{chrome/macos => macos/cuprite}/index-cropped.png (100%) create mode 100644 test/fixtures/app/doc/screenshots/macos/cuprite/index-hide_caret-disabled.png create mode 100644 test/fixtures/app/doc/screenshots/macos/cuprite/index-hide_caret-enabled.png rename test/fixtures/app/doc/screenshots/{chrome/macos/index.png => macos/cuprite/index-vips.webp} (100%) create mode 100644 test/fixtures/app/doc/screenshots/macos/cuprite/index.png create mode 100644 test/fixtures/app/doc/screenshots/macos/cuprite/index_with_skip_area_as_array_of_css.png create mode 100644 test/fixtures/app/doc/screenshots/macos/cuprite/index_with_skip_area_as_array_of_css_and_p.png create mode 100644 test/fixtures/app/doc/screenshots/macos/selenium_chrome_headless/cropped_screenshot.png create mode 100644 test/fixtures/app/doc/screenshots/macos/selenium_chrome_headless/index-blur_active_element-disabled.png create mode 100644 test/fixtures/app/doc/screenshots/macos/selenium_chrome_headless/index-blur_active_element-enabled.png create mode 100644 test/fixtures/app/doc/screenshots/macos/selenium_chrome_headless/index-cropped.png create mode 100644 test/fixtures/app/doc/screenshots/macos/selenium_chrome_headless/index-hide_caret-disabled.png create mode 100644 test/fixtures/app/doc/screenshots/macos/selenium_chrome_headless/index-hide_caret-enabled.png rename test/fixtures/app/doc/screenshots/{chrome/macos => macos/selenium_chrome_headless}/index-vips.webp (98%) create mode 100644 test/fixtures/app/doc/screenshots/macos/selenium_chrome_headless/index.png create mode 100644 test/fixtures/app/doc/screenshots/macos/selenium_chrome_headless/index_with_skip_area_as_array_of_css.png create mode 100644 test/fixtures/app/doc/screenshots/macos/selenium_chrome_headless/index_with_skip_area_as_array_of_css_and_p.png create mode 100644 test/fixtures/app/doc/screenshots/macos/selenium_headless/cropped_screenshot.png create mode 100644 test/fixtures/app/doc/screenshots/macos/selenium_headless/index-blur_active_element-disabled.png create mode 100644 test/fixtures/app/doc/screenshots/macos/selenium_headless/index-blur_active_element-enabled.png rename test/fixtures/app/doc/screenshots/{firefox/macos => macos/selenium_headless}/index-cropped.png (100%) create mode 100644 test/fixtures/app/doc/screenshots/macos/selenium_headless/index-hide_caret-disabled.png create mode 100644 test/fixtures/app/doc/screenshots/macos/selenium_headless/index-hide_caret-enabled.png rename test/fixtures/app/doc/screenshots/{firefox/macos => macos/selenium_headless}/index-vips.webp (100%) rename test/fixtures/app/doc/screenshots/{firefox/macos => macos/selenium_headless}/index.png (100%) rename test/fixtures/app/doc/screenshots/{firefox/macos => macos/selenium_headless}/index_with_skip_area_as_array_of_css.png (100%) rename test/fixtures/app/doc/screenshots/{firefox/macos => macos/selenium_headless}/index_with_skip_area_as_array_of_css_and_p.png (100%) create mode 100644 test/fixtures/files/rspec_spec.rb create mode 100644 test/support/non_minitest_assertions.rb create mode 100644 test/support/setup_capybara.rb create mode 100644 test/support/setup_rails_app.rb diff --git a/.github/actions/setup-ruby-and-dependencies/action.yml b/.github/actions/setup-ruby-and-dependencies/action.yml new file mode 100644 index 00000000..8692e288 --- /dev/null +++ b/.github/actions/setup-ruby-and-dependencies/action.yml @@ -0,0 +1,30 @@ +--- +name: 'Setup Ruby and Cache' +description: 'Set up Ruby environment and cache apt packages' +inputs: + ruby-version: + description: 'Ruby version to set up' + required: true + ruby-cache-version: + description: 'Bundler cache version' + required: false + cache-apt-packages: + description: 'Whether to cache apt packages' + required: false + default: 'false' +runs: + using: 'composite' + steps: + - name: Set up Ruby + uses: ruby/setup-ruby@v1 + with: + ruby-version: ${{ inputs.ruby-version }} + bundler-cache: true + cache-version: ${{ inputs.ruby-cache-version }} + + - name: Install and cache vips + if: ${{ inputs.cache-apt-packages == 'true' }} + uses: awalsh128/cache-apt-pkgs-action@latest + with: + packages: libvips libglib2.0-0 libglib2.0-dev libwebp-dev libvips42 libpng-dev + version: tests-v1 diff --git a/.github/actions/upload-screenshots/action.yml b/.github/actions/upload-screenshots/action.yml new file mode 100644 index 00000000..e12faa9b --- /dev/null +++ b/.github/actions/upload-screenshots/action.yml @@ -0,0 +1,18 @@ +--- +name: 'Upload screenshots for debug' +description: 'To reproduce the issue locally, download the screenshots from the failed test' +inputs: + name: + description: 'Customize the name of the artifact' + required: true +runs: + using: 'composite' + steps: + - uses: actions/upload-artifact@v4 + if: failure() + with: + name: ${{ inputs.name }} + retention-days: 1 + path: | + test/fixtures/app/doc/screenshots/ + tmp/capybara/screenshots-diffs/ diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index ae4bc129..b96935c2 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -18,7 +18,14 @@ env: BUNDLE_GEMFILE: gemfiles/rails71_gems.rb DEBIAN_FRONTEND: noninteractive FERRUM_PROCESS_TIMEOUT: 40 + JAVA_OPTS: -Xmn2g -Xms6g -Xmx6g -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=512m -Xss1m + -XX:+UseG1GC -XX:+TieredCompilation -XX:TieredStopAtLevel=1 -XX:ReservedCodeCacheSize=256m + -XX:+UseCodeCacheFlushing + JRUBY_OPTS: --dev MALLOC_ARENA_MAX: 2 + RUBY_GC_HEAP_FREE_SLOTS: 600000 + RUBY_GC_HEAP_GROWTH_FACTOR: 1.1 + RUBY_GC_HEAP_INIT_SLOTS: 600000 RUBY_YJIT_ENABLE: 1 concurrency: @@ -33,51 +40,39 @@ jobs: timeout-minutes: 5 steps: - uses: actions/checkout@v4 - - uses: ruby/setup-ruby@v1 + + - uses: ./.github/actions/setup-ruby-and-dependencies with: ruby-version: 3.3 - bundler-cache: true - run: bin/rake test test: name: Functional Testing - runs-on: ubuntu-latest # In order to install libvips 8.9+ version + runs-on: ubuntu-latest timeout-minutes: 5 steps: - name: Checkout code uses: actions/checkout@v4 - - uses: awalsh128/cache-apt-pkgs-action@latest - with: - packages: libvips libglib2.0-0 libglib2.0-dev libwebp-dev libvips42 libpng-dev - version: tests-v1 - - - name: Set up Ruby - uses: ruby/setup-ruby@v1 + - uses: ./.github/actions/setup-ruby-and-dependencies with: ruby-version: 3.3 - bundler-cache: true + cache-apt-packages: true - - name: Run Tests with coverage + - run: bin/rake test env: COVERAGE: enabled DISABLE_SKIP_TESTS: 1 SCREENSHOT_DRIVER: vips - run: bin/rake test - - name: Upload Screenshots - if: always() - uses: actions/upload-artifact@v4 + + - uses: ./.github/actions/upload-screenshots with: - name: screenshots - retention-days: 1 - path: | - test/fixtures/app/doc/screenshots/ - tmp/capybara/screenshots-diffs/ + name: base-screenshots - - name: Upload Coverage + - name: Uploading Coverage Report uses: actions/upload-artifact@v4 with: name: coverage @@ -87,37 +82,30 @@ jobs: test-signature: name: Testing Signatures needs: [ 'test' ] - runs-on: ubuntu-latest # In order to install libvips 8.9+ version + runs-on: ubuntu-latest steps: - - name: Checkout code - uses: actions/checkout@v4 - - - uses: awalsh128/cache-apt-pkgs-action@latest - with: - packages: libvips libglib2.0-0 libglib2.0-dev libwebp-dev libvips42 libpng-dev - version: tests-v1 + - uses: actions/checkout@v4 - - name: Set up Ruby - uses: ruby/setup-ruby@v1 + - uses: ./.github/actions/setup-ruby-and-dependencies with: ruby-version: 3.3 - bundler-cache: true + cache-apt-packages: true - - name: Tests Signatures + - run: bin/rake test:signatures env: SCREENSHOT_DRIVER: vips - run: bin/rake test:signatures matrix: name: Test Integration Rails & Ruby + # Test on master, when a review is requested or manually invoked. if: > github.ref == 'refs/heads/master' || github.event_name == 'workflow_dispatch' || github.event.pull_request.requested_reviewers.length > 0 needs: [ test ] runs-on: ubuntu-latest - timeout-minutes: 8 + timeout-minutes: ${{ contains(matrix.ruby-version, 'jruby') && 12 || 8 }} continue-on-error: ${{ matrix.experimental }} strategy: matrix: @@ -151,25 +139,18 @@ jobs: BUNDLE_GEMFILE: gemfiles/${{ matrix.gemfile }} steps: - - name: Checkout code - uses: actions/checkout@v4 + - uses: actions/checkout@v4 - - name: Set up Ruby - uses: ruby/setup-ruby@v1 + - uses: ./.github/actions/setup-ruby-and-dependencies with: ruby-version: ${{ matrix.ruby-version }} - bundler-cache: true - cache-version: ${{ matrix.ruby-version }}-${{ matrix.gemfile }}-1 + ruby-cache-version: ${{ matrix.ruby-version }}-${{ matrix.gemfile }}-1 + cache-apt-packages: true - - uses: awalsh128/cache-apt-pkgs-action@latest - with: - packages: libvips libglib2.0-0 libglib2.0-dev libwebp-dev libvips42 libpng-dev - version: tests-v1 - - - name: Run tests + - name: Run tests (with 2 retries) uses: nick-fields/retry@v3 with: - timeout_minutes: 3 + timeout_minutes: ${{ contains(matrix.ruby-version, 'jruby') && 5 || 3 }} max_attempts: 2 command: bin/rake test @@ -192,20 +173,12 @@ jobs: timeout-minutes: 5 steps: - - name: Checkout code - uses: actions/checkout@v4 + - uses: actions/checkout@v4 - - name: Set up Ruby - uses: ruby/setup-ruby@v1 + - uses: ./.github/actions/setup-ruby-and-dependencies with: ruby-version: 3.3 - bundler-cache: true - - - uses: awalsh128/cache-apt-pkgs-action@latest - if: matrix.screenshot-driver == 'vips' - with: - packages: libvips libglib2.0-0 libglib2.0-dev libwebp-dev libvips42 libpng-dev - version: tests-v1 + cache-apt-packages: ${{ matrix.screenshot-driver == 'vips' }} - name: Cache Selenium uses: actions/cache@v4 @@ -213,18 +186,11 @@ jobs: path: ~/.cache/selenium key: ${{ runner.os }}-selenium-${{ matrix.capybara-driver }} - - name: Run tests - run: bin/rake test:integration + - run: bin/rake test:integration env: SCREENSHOT_DRIVER: ${{ matrix.screenshot-driver }} CAPYBARA_DRIVER: ${{ matrix.capybara-driver }} - - name: Upload Screenshots - uses: actions/upload-artifact@v4 - if: failure() + - uses: ./.github/actions/upload-screenshots with: name: screenshots-${{ matrix.screenshot-driver }}-${{ matrix.capybara-driver }} - retention-days: 1 - path: | - test/fixtures/app/doc/screenshots/ - tmp/capybara/screenshots-diffs/ diff --git a/Dockerfile b/Dockerfile index 3189736a..43293662 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,57 +3,45 @@ # $ docker build . -t csd # $ docker run -v $(pwd):/app -ti csd rake test -FROM jetthoughts/cimg-ruby:3.3-chrome - -RUN \ - # Install dependencies - sudo apt-get update && \ - DEBIAN_FRONTEND=noninteractive sudo apt-get install -y \ - automake \ - build-essential \ - curl \ - fftw3-dev \ - gettext \ - gobject-introspection \ - gtk-doc-tools \ - libexif-dev \ - libfftw3-dev \ - libgif-dev \ - libglib2.0-dev \ - libgsf-1-dev \ - libgtk2.0-dev \ - libmagickwand-dev \ - libmatio-dev \ - libopenexr-dev \ - libopenslide-dev \ - liborc-0.4-dev \ - libpango1.0-dev \ - libpoppler-glib-dev \ - librsvg2-dev \ - libtiff5-dev \ - libwebp-dev \ - libxml2-dev \ - swig - +FROM --platform=linux/amd64 jetthoughts/cimg-ruby:3.3-chrome + +# Install dependencies and clean up in one layer to reduce image size +RUN sudo apt-get update && \ + DEBIAN_FRONTEND=noninteractive sudo apt-get install -y \ + automake \ + build-essential \ + curl \ + fftw3-dev \ + gettext \ + gobject-introspection \ + gtk-doc-tools \ + libexif-dev \ + libfftw3-dev \ + libgif-dev \ + libglib2.0-dev \ + libgsf-1-dev \ + libgtk2.0-dev \ + libmagickwand-dev \ + libmatio-dev \ + libopenexr-dev \ + libopenslide-dev \ + liborc-0.4-dev \ + libpango1.0-dev \ + libpoppler-glib-dev \ + librsvg2-dev \ + libtiff5-dev \ + libvips-dev \ + libwebp-dev \ + libxml2-dev \ + swig && \ + sudo apt-get autoremove -y && \ + sudo apt-get autoclean && \ + sudo apt-get clean && \ + sudo rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* WORKDIR /app -RUN sudo chmod a+w -R /app - -ADD ./bin/install-vips /app/bin/ -RUN sudo /app/bin/install-vips - -ADD ./lib/capybara/screenshot/diff/version.rb /app/lib/capybara/screenshot/diff/ -ADD ./capybara-screenshot-diff.gemspec /app/ -ADD ./gems.rb /app/ -ADD ./Rakefile /app/ - -RUN bundle install -RUN \ - # Clean up - sudo apt-get remove -y curl automake build-essential && \ - sudo apt-get autoremove -y && \ - sudo apt-get autoclean && \ - sudo apt-get clean && \ - sudo rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* +# Set the location for Bundler to store gems +RUN sudo mkdir /bundle && sudo chmod a+w+r /bundle +ENV BUNDLE_PATH=/bundle diff --git a/README.md b/README.md index 9ce2698e..4913656a 100644 --- a/README.md +++ b/README.md @@ -10,6 +10,13 @@ Ever introduced a graphical change unintended? Never want it to happen again? Then this gem is for you! Use this gem to detect changes in your pages by taking screen shots and comparing them to the previous revision. +## Features + +- **Screenshot Capturing**: Easily capture screenshots at any point in your tests to track the visual state of your application. +- **Visual Change Detection**: Automatically detect changes in screenshots taken across test runs to identify unintended visual modifications. +- **RSpec & Minitest Integration**: Utilize additional assertions and allow to run comparison after test body completed. + + ## Installation Add these lines to your application's Gemfile: @@ -38,38 +45,61 @@ Or install it yourself as: ## Usage +### Including DSL + +To use the screenshot capturing and change detection features in your tests, include the `CapybaraScreenshotDiff::DSL` in your test classes. It provides the `screenshot` method to capture and compare screenshots. + +There are different modules for different testing frameworks integrations. + ### Minitest -In your test class, include the `Capybara::Screenshot::Diff` module: +For Minitest, need to require `capybara_screenshot_diff/minitest`. +In your test class, include the `CapybaraScreenshotDiff::Minitest::Assertions` module: ```ruby +require 'capybara_screenshot_diff/minitest' + class ApplicationSystemTestCase < ActionDispatch::SystemTestCase - include Capybara::Screenshot::Diff - # ... + # Make the Capybara & Capybara Screenshot Diff DSLs available in tests + include CapybaraScreenshotDiff::DSL + # Make `assert_*` methods behave like Minitest assertions + include CapybaraScreenshotDiff::Minitest::Assertions + + def test_my_feature + visit '/' + assert_matches_screenshot 'index' + end end ``` ### RSpec -```ruby -describe 'Permissions admin', type: :feature, js: true do +To use the screenshot capturing and change detection features in your tests, +include the `CapybaraScreenshotDiff::DSL` in your test classes. +It adds `match_screenshot` matcher to RSpec. + +> **Important**: +> The `CapybaraScreenshotDiff::DSL` is automatically included in all feature tests by default. - include Capybara::Screenshot::Diff +```ruby +require 'capybara_screenshot_diff/rspec' + +describe 'Permissions admin', type: :feature do it 'works with permissions' do visit('/') - screenshot 'home_page' + expect(page).to match_screenshot('home_page') end - end -``` -But it's better to include it within your *_helper.rb file so that it can used anywhere in your feature specs. -```ruby -# spec/feature_helper.rb -require 'capybara/screenshot/diff' -RSpec.configure do |config| - config.include Capybara::Screenshot::Diff + +describe 'Permissions admin', type: :non_feature do + include CapybaraScreenshotDiff::DSL + + it 'works with permissions' do + visit('/') + expect(page).to match_screenshot('home_page') + end end ``` ### Cucumber @@ -77,7 +107,7 @@ end Load Cucumber support by adding the following line (typically to your `features/support/env.rb` file): ```ruby -require 'capybara/screenshot/diff/cucumber' +require 'capybara_screenshot_diff/cucumber' ``` And in the steps you can use: diff --git a/bin/dtest b/bin/dtest new file mode 100755 index 00000000..8c219d24 --- /dev/null +++ b/bin/dtest @@ -0,0 +1,14 @@ +#!/bin/bash + +set -eo pipefail + +export DOCKER_DEFAULT_PLATFORM=linux/amd64 + +docker build . -t csd:test + +docker run -v ${PWD}:/app -v csd-bundle-cache:/bundle --rm -it csd:test bin/setup + +echo "Running tests..." +docker run -e CAPYBARA_DRIVER=cuprite -v ${PWD}:/app -v csd-bundle-cache:/bundle --rm -it csd:test bin/rake test +docker run -e CAPYBARA_DRIVER=selenium_chrome_headless -v ${PWD}:/app -v csd-bundle-cache:/bundle --rm -it csd:test bin/rake test +docker run -e CAPYBARA_DRIVER=selenium_headless -v ${PWD}:/app -v csd-bundle-cache:/bundle --rm -it csd:test bin/rake test diff --git a/bin/install-vips b/bin/install-vips index 5733792c..21236bb9 100755 --- a/bin/install-vips +++ b/bin/install-vips @@ -1,8 +1,8 @@ -#!/bin/bash +#!/bin/env bash -set -e +set -eo pipefail -version=${VIPS_VERSION:-8.12.2} +version=${VIPS_VERSION:-8.15.2} wget "https://github.com/libvips/libvips/releases/download/v$version/vips-$version.tar.gz" tar xf "vips-$version.tar.gz" diff --git a/bin/setup b/bin/setup index dce67d86..5b71aca1 100755 --- a/bin/setup +++ b/bin/setup @@ -3,6 +3,7 @@ set -euo pipefail IFS=$'\n\t' set -vx -bundle install +bundle update +bundle update --bundler --ruby # Do any other automated setup that you need to do here diff --git a/gems.rb b/gems.rb index 0ab47647..e49c4a3e 100644 --- a/gems.rb +++ b/gems.rb @@ -13,9 +13,10 @@ gem "ruby-vips", require: false # Test -gem "minitest", "~> 5.20.0", require: false +gem "minitest", require: false gem "minitest-stub-const", require: false gem "simplecov", require: false +gem "rspec", require: false # Capybara Server gem "puma", require: false diff --git a/lib/capybara-screenshot-diff.rb b/lib/capybara-screenshot-diff.rb index 1c5ce18c..96f75baf 100644 --- a/lib/capybara-screenshot-diff.rb +++ b/lib/capybara-screenshot-diff.rb @@ -1,3 +1,11 @@ # frozen_string_literal: true -require "capybara/screenshot/diff" +warn <<~MSG + + DEPRECATED: use 'require "capybara_screenshot_diff/minitest"' instead of 'require "capybara-screenshot-diff"' + in #{caller(3)&.first}. + "capybara-screenshot-diff" is no longer needed and will be removed in the next major release. + +MSG + +require "capybara_screenshot_diff/minitest" diff --git a/lib/capybara/screenshot/diff.rb b/lib/capybara/screenshot/diff.rb index 12cce30b..e3664282 100644 --- a/lib/capybara/screenshot/diff.rb +++ b/lib/capybara/screenshot/diff.rb @@ -1,126 +1,11 @@ # frozen_string_literal: true -require "capybara/dsl" -require "capybara/screenshot/diff/version" -require "capybara/screenshot/diff/utils" -require "capybara/screenshot/diff/image_compare" -require "capybara/screenshot/diff/test_methods" -require "capybara/screenshot/diff/screenshoter" +warn <<~MSG -require "capybara/screenshot/diff/reporters/default" + DEPRECATED: use 'require "capybara_screenshot_diff/minitest"' or 'require "capybara_screenshot_diff/rspec"' instead of 'require "capybara/screenshot/diff"' + in #{caller(3)&.first}. + "capybara/screenshot/diff" is no longer needed and will be removed in the next major release. -module Capybara - module Screenshot - mattr_accessor :add_driver_path - mattr_accessor :add_os_path - mattr_accessor :blur_active_element - mattr_accessor :enabled - mattr_accessor :hide_caret - mattr_reader(:root) { (defined?(Rails.root) && Rails.root) || Pathname(".").expand_path } - mattr_accessor :stability_time_limit - mattr_accessor :window_size - mattr_accessor(:save_path) { "doc/screenshots" } - mattr_accessor(:use_lfs) - mattr_accessor(:screenshot_format) { "png" } - mattr_accessor(:capybara_screenshot_options) { {} } +MSG - class << self - def root=(path) - @@root = Pathname(path).expand_path - end - - def active? - enabled || (enabled.nil? && Diff.enabled) - end - - def screenshot_area - parts = [Screenshot.save_path] - parts << Os.name if Screenshot.add_os_path - parts << Capybara.current_driver.to_s if Screenshot.add_driver_path - File.join(*parts) - end - - def screenshot_area_abs - root / screenshot_area - end - end - - # Module to track screen shot changes - module Diff - include Capybara::DSL - - mattr_accessor(:delayed) { true } - mattr_accessor :area_size_limit - mattr_accessor(:fail_if_new) { false } - mattr_accessor(:fail_on_difference) { true } - mattr_accessor :color_distance_limit - mattr_accessor(:enabled) { true } - mattr_accessor :shift_distance_limit - mattr_accessor :skip_area - mattr_accessor(:driver) { :auto } - mattr_accessor :tolerance - - mattr_accessor(:screenshoter) { Screenshoter } - - AVAILABLE_DRIVERS = Utils.detect_available_drivers.freeze - ASSERTION = Utils.detect_test_framework_assert - - def self.default_options - { - area_size_limit: area_size_limit, - color_distance_limit: color_distance_limit, - driver: driver, - screenshot_format: Screenshot.screenshot_format, - capybara_screenshot_options: Screenshot.capybara_screenshot_options, - shift_distance_limit: shift_distance_limit, - skip_area: skip_area, - stability_time_limit: Screenshot.stability_time_limit, - tolerance: tolerance || ((driver == :vips) ? 0.001 : nil), - wait: Capybara.default_max_wait_time - } - end - - def self.included(klass) - klass.include TestMethods - klass.setup do - BrowserHelpers.resize_to(Screenshot.window_size) if Screenshot.window_size - end - - klass.teardown do - if Screenshot.active? && @test_screenshots.present? - begin - track_failures(@test_screenshots) - ensure - @test_screenshots.clear - end - end - end - end - - private - - EMPTY_LINE = "\n\n" - - def track_failures(screenshots) - test_screenshot_errors = screenshots.map do |caller, name, compare| - assert_image_not_changed(caller, name, compare) - end - - test_screenshot_errors.compact! - - unless test_screenshot_errors.empty? - error = ASSERTION.new(test_screenshot_errors.join(EMPTY_LINE)) - error.set_backtrace([]) - - if Capybara::Screenshot::Diff.fail_on_difference - if is_a?(::Minitest::Runnable) - failures << error - else - raise error - end - end - end - end - end - end -end +require "capybara_screenshot_diff/minitest" diff --git a/lib/capybara/screenshot/diff/cucumber.rb b/lib/capybara/screenshot/diff/cucumber.rb index ae0e6301..f6b543de 100644 --- a/lib/capybara/screenshot/diff/cucumber.rb +++ b/lib/capybara/screenshot/diff/cucumber.rb @@ -1,11 +1,3 @@ # frozen_string_literal: true -require "capybara/screenshot/diff" -require "capybara/screenshot/diff/test_methods" - -World(Capybara::Screenshot::Diff::TestMethods) - -Before do - Capybara::Screenshot::Diff.delayed = false - Capybara::Screenshot::BrowserHelpers.resize_to(Capybara::Screenshot.window_size) if Capybara::Screenshot.window_size -end +require "capybara_screenshot_diff/cucumber" diff --git a/lib/capybara/screenshot/diff/region.rb b/lib/capybara/screenshot/diff/region.rb index ad3f3e0f..3ba772f2 100644 --- a/lib/capybara/screenshot/diff/region.rb +++ b/lib/capybara/screenshot/diff/region.rb @@ -7,13 +7,6 @@ def initialize(x, y, width, height) @x, @y, @width, @height = x, y, width, height end - def self.from_top_left_corner_coordinates(x, y, width, height) - return nil unless x && y && width && height - return nil if width < 0 || height < 0 - - Region.new(x, y, width, height) - end - def self.from_edge_coordinates(left, top, right, bottom) return nil unless left && top && right && bottom return nil if right < left || bottom < top diff --git a/lib/capybara/screenshot/diff/screenshoter.rb b/lib/capybara/screenshot/diff/screenshoter.rb index ec0ca078..b588e942 100644 --- a/lib/capybara/screenshot/diff/screenshoter.rb +++ b/lib/capybara/screenshot/diff/screenshoter.rb @@ -125,7 +125,7 @@ def wait_images_loaded(timeout:) break unless pending_image if (Process.clock_gettime(Process::CLOCK_MONOTONIC) - start) >= timeout - raise Capybara::Screenshot::Diff::ASSERTION, "Images have not been loaded after #{timeout}s: #{pending_image.inspect}" + raise CapybaraScreenshotDiff::ExpectationNotMet, "Images have not been loaded after #{timeout}s: #{pending_image.inspect}" end sleep 0.025 diff --git a/lib/capybara/screenshot/diff/test_methods.rb b/lib/capybara/screenshot/diff/test_methods.rb index 729b68f9..5ea54a83 100644 --- a/lib/capybara/screenshot/diff/test_methods.rb +++ b/lib/capybara/screenshot/diff/test_methods.rb @@ -29,6 +29,20 @@ def initialize(*) @test_screenshots = [] end + def verify_screenshots!(screenshots = @test_screenshots) + return unless ::Capybara::Screenshot.active? && ::Capybara::Screenshot::Diff.fail_on_difference + + test_screenshot_errors = screenshots.map do |caller, name, compare| + assert_image_not_changed(caller, name, compare) + end + + test_screenshot_errors.compact! + + test_screenshot_errors.presence + ensure + screenshots.clear + end + def build_full_name(name) if @screenshot_counter name = format("%02i_#{name}", @screenshot_counter) @@ -74,7 +88,10 @@ def screenshot(name, skip_stack_frames: 0, **options) unless job if Screenshot::Diff.fail_if_new - raise_error("No existing screenshot found for #{screenshot_full_name}!\nTo stop seeing this error disable by Capybara::Screenshot::Diff.fail_if_new=false", caller(2)) + raise_error(<<-ERROR.strip_heredoc, caller(2)) + No existing screenshot found for #{screenshot_full_name}! + To stop seeing this error disable by `Capybara::Screenshot::Diff.fail_if_new=false` + ERROR end return false @@ -108,9 +125,7 @@ def assert_image_not_changed(caller, name, comparison) private def raise_error(error_msg, backtrace) - error = ASSERTION.new(error_msg) - error.set_backtrace(backtrace) - raise error + raise CapybaraScreenshotDiff::ExpectationNotMet.new(error_msg).tap { _1.set_backtrace(backtrace) } end def build_screenshot_matches_job(screenshot_full_name, options) diff --git a/lib/capybara/screenshot/diff/utils.rb b/lib/capybara/screenshot/diff/utils.rb index 4aa2f0ee..bff5338f 100644 --- a/lib/capybara/screenshot/diff/utils.rb +++ b/lib/capybara/screenshot/diff/utils.rb @@ -36,13 +36,6 @@ def self.find_driver_class_for(driver) fail "Wrong adapter #{driver.inspect}. Available adapters: #{AVAILABLE_DRIVERS.inspect}" end end - - def self.detect_test_framework_assert - require "minitest" - ::Minitest::Assertion - rescue - ::RuntimeError - end end end end diff --git a/lib/capybara_screenshot_diff.rb b/lib/capybara_screenshot_diff.rb new file mode 100644 index 00000000..5aa1915d --- /dev/null +++ b/lib/capybara_screenshot_diff.rb @@ -0,0 +1,85 @@ +# frozen_string_literal: true + +require "capybara/dsl" +require "capybara/screenshot/diff/version" +require "capybara/screenshot/diff/utils" +require "capybara/screenshot/diff/image_compare" +require "capybara/screenshot/diff/test_methods" +require "capybara/screenshot/diff/screenshoter" + +require "capybara/screenshot/diff/reporters/default" + +module CapybaraScreenshotDiff + class ExpectationNotMet < StandardError; end +end + +module Capybara + module Screenshot + mattr_accessor :add_driver_path + mattr_accessor :add_os_path + mattr_accessor :blur_active_element + mattr_accessor :enabled + mattr_accessor :hide_caret + mattr_reader(:root) { (defined?(Rails.root) && Rails.root) || Pathname(".").expand_path } + mattr_accessor :stability_time_limit + mattr_accessor :window_size + mattr_accessor(:save_path) { "doc/screenshots" } + mattr_accessor(:use_lfs) + mattr_accessor(:screenshot_format) { "png" } + mattr_accessor(:capybara_screenshot_options) { {} } + + class << self + def root=(path) + @@root = Pathname(path).expand_path + end + + def active? + enabled || (enabled.nil? && Diff.enabled) + end + + def screenshot_area + parts = [Screenshot.save_path] + parts << Os.name if Screenshot.add_os_path + parts << Capybara.current_driver.to_s if Screenshot.add_driver_path + File.join(*parts) + end + + def screenshot_area_abs + root / screenshot_area + end + end + + # Module to track screen shot changes + module Diff + mattr_accessor(:delayed) { true } + mattr_accessor :area_size_limit + mattr_accessor(:fail_if_new) { false } + mattr_accessor(:fail_on_difference) { true } + mattr_accessor :color_distance_limit + mattr_accessor(:enabled) { true } + mattr_accessor :shift_distance_limit + mattr_accessor :skip_area + mattr_accessor(:driver) { :auto } + mattr_accessor :tolerance + + mattr_accessor(:screenshoter) { Screenshoter } + + AVAILABLE_DRIVERS = Utils.detect_available_drivers.freeze + + def self.default_options + { + area_size_limit: area_size_limit, + color_distance_limit: color_distance_limit, + driver: driver, + screenshot_format: Screenshot.screenshot_format, + capybara_screenshot_options: Screenshot.capybara_screenshot_options, + shift_distance_limit: shift_distance_limit, + skip_area: skip_area, + stability_time_limit: Screenshot.stability_time_limit, + tolerance: tolerance || ((driver == :vips) ? 0.001 : nil), + wait: Capybara.default_max_wait_time + } + end + end + end +end diff --git a/lib/capybara_screenshot_diff/cucumber.rb b/lib/capybara_screenshot_diff/cucumber.rb new file mode 100644 index 00000000..375b0f49 --- /dev/null +++ b/lib/capybara_screenshot_diff/cucumber.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +require "capybara_screenshot_diff/dsl" + +World(::CapybaraScreenshotDiff::DSL) + +Before do + Capybara::Screenshot::Diff.delayed = false + if Capybara::Screenshot.active? && Capybara::Screenshot.window_size + Capybara::Screenshot::BrowserHelpers.resize_to(Capybara::Screenshot.window_size) + end +end diff --git a/lib/capybara_screenshot_diff/dsl.rb b/lib/capybara_screenshot_diff/dsl.rb new file mode 100644 index 00000000..8a58739f --- /dev/null +++ b/lib/capybara_screenshot_diff/dsl.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +require "capybara_screenshot_diff" + +module CapybaraScreenshotDiff + module DSL + include Capybara::DSL + include Capybara::Screenshot::Diff::TestMethods + end +end diff --git a/lib/capybara_screenshot_diff/minitest.rb b/lib/capybara_screenshot_diff/minitest.rb new file mode 100644 index 00000000..cf2f90d7 --- /dev/null +++ b/lib/capybara_screenshot_diff/minitest.rb @@ -0,0 +1,34 @@ +# frozen_string_literal: true + +require "minitest" +require "capybara_screenshot_diff/dsl" + +module CapybaraScreenshotDiff + module Minitest + module Assertions + include ::CapybaraScreenshotDiff::DSL + + def screenshot(*, **) + super + rescue CapybaraScreenshotDiff::ExpectationNotMet => e + raise ::Minitest::Assertion, e.message + end + + alias_method :assert_matches_screenshot, :screenshot + + def self.included(klass) + klass.setup do + if ::Capybara::Screenshot.window_size + ::Capybara::Screenshot::BrowserHelpers.resize_to(::Capybara::Screenshot.window_size) + end + end + + klass.teardown do + errors = verify_screenshots!(@test_screenshots) + + failures << ::Minitest::Assertion.new(errors.join("\n\n")) if errors && !errors.empty? + end + end + end + end +end diff --git a/lib/capybara_screenshot_diff/rspec.rb b/lib/capybara_screenshot_diff/rspec.rb new file mode 100644 index 00000000..bcce44b2 --- /dev/null +++ b/lib/capybara_screenshot_diff/rspec.rb @@ -0,0 +1,31 @@ +# frozen_string_literal: true + +require "rspec/core" +require "capybara_screenshot_diff/dsl" + +RSpec::Matchers.define :match_screenshot do |name, **options| + description { "match a screenshot" } + + match do |_page| + screenshot(name, **options) + true + end +end + +RSpec.configure do |config| + config.include ::CapybaraScreenshotDiff::DSL, type: :feature + + config.after do + if self.class.include?(::CapybaraScreenshotDiff::DSL) && ::Capybara::Screenshot.active? + errors = verify_screenshots!(@test_screenshots) + # TODO: Use rspec/mock approach to postpone verification + raise ::CapybaraScreenshotDiff::ExpectationNotMet, errors.join("\n") if errors && !errors.empty? + end + end + + config.before do + if self.class.include?(::CapybaraScreenshotDiff::DSL) && ::Capybara::Screenshot.window_size + ::Capybara::Screenshot::BrowserHelpers.resize_to(::Capybara::Screenshot.window_size) + end + end +end diff --git a/sig/capybara/screenshot/diff/diff.rbs b/sig/capybara/screenshot/diff/diff.rbs index 14642159..e8337a63 100644 --- a/sig/capybara/screenshot/diff/diff.rbs +++ b/sig/capybara/screenshot/diff/diff.rbs @@ -14,8 +14,6 @@ module Capybara module Diff AVAILABLE_DRIVERS: Array[(:vips | :chunky_png)] - ASSERTION: (top | RuntimeError) - def self.default_options: () -> ScreenshotMatcher::input_options def self.included: (top klass) -> void diff --git a/sig/capybara/screenshot/diff/drivers/browser_helpers.rbs b/sig/capybara/screenshot/diff/drivers/browser_helpers.rbs index 30001bc4..19947245 100644 --- a/sig/capybara/screenshot/diff/drivers/browser_helpers.rbs +++ b/sig/capybara/screenshot/diff/drivers/browser_helpers.rbs @@ -2,6 +2,7 @@ module Capybara class Result def map: () -> Result end + module Screenshot module BrowserHelpers def self.current_capybara_driver_class: () -> top diff --git a/sig/capybara/screenshot/diff/drivers/utils.rbs b/sig/capybara/screenshot/diff/drivers/utils.rbs index c0fcd5ce..dd1c0486 100644 --- a/sig/capybara/screenshot/diff/drivers/utils.rbs +++ b/sig/capybara/screenshot/diff/drivers/utils.rbs @@ -5,8 +5,6 @@ module Capybara def self.detect_available_drivers: () -> Array[(:vips | :chunky_png)] def self.find_driver_class_for: [T] (Symbol driver) -> T - - def self.detect_test_framework_assert: [T < Exception] () -> T end end end diff --git a/sig/capybara/screenshot/diff/region.rbs b/sig/capybara/screenshot/diff/region.rbs index c342f9e9..eaf12b86 100644 --- a/sig/capybara/screenshot/diff/region.rbs +++ b/sig/capybara/screenshot/diff/region.rbs @@ -11,8 +11,6 @@ class Region def initialize: (Numeric x, Numeric y, Numeric width, Numeric height) -> void - def self.from_top_left_corner_coordinates: (Numeric x, Numeric y, Numeric width, Numeric height) -> Region? - def self.from_edge_coordinates: (Numeric left, Numeric `top`, Numeric right, Numeric bottom) -> Region? def empty?: -> bool diff --git a/sig/capybara/screenshot/diff/test_methods.rbs b/sig/capybara/screenshot/diff/test_methods.rbs index 62866b7e..25fb4394 100644 --- a/sig/capybara/screenshot/diff/test_methods.rbs +++ b/sig/capybara/screenshot/diff/test_methods.rbs @@ -5,12 +5,13 @@ module Capybara module TestMethods type name_entity = (Symbol | String) type path_entity = (string | Pathname) + type match_screenshot_job = [(String | Array[String])?, String, ImageCompare] @screenshot_counter: Numeric? @screenshot_group: String? @screenshot_section: String? @test_screenshot_errors: Array[top]? - @test_screenshots: Array[[Array[String]?, String, ImageCompare]]? + @test_screenshots: Array[match_screenshot_job]? def initialize: (*untyped) -> untyped @@ -18,7 +19,7 @@ module Capybara def build_full_name: (name_entity name) -> String - def schedule_match_job: ([untyped, untyped, untyped] job) -> true + def schedule_match_job: (match_screenshot_job job) -> true def screenshot_dir: () -> String @@ -30,6 +31,8 @@ module Capybara def assert_image_not_changed: (String caller, String name, ImageCompare comparison) -> ::String? + def verify_screenshots!: (?Array[match_screenshot_job]?) -> Array[String]? + private def build_screenshot_matches_job: (String, Drivers::BaseDriver::options_entity) -> ScreenshotMatcher::job_entity? diff --git a/test/capybara/screenshot/diff/region_test.rb b/test/capybara/screenshot/diff/region_test.rb index 1ff4c926..494d9e20 100644 --- a/test/capybara/screenshot/diff/region_test.rb +++ b/test/capybara/screenshot/diff/region_test.rb @@ -50,15 +50,6 @@ class RegionTest < ActiveSupport::TestCase assert_nil Region.from_edge_coordinates(10, 10, 11, 9) end - test ".from_top_left_corner_coordinates returns nil for missed coordinates" do - assert_nil Region.from_top_left_corner_coordinates(0, 0, nil, nil) - end - - test ".from_top_left_corner_coordinates returns nil for negative width or height" do - assert_nil Region.from_top_left_corner_coordinates(10, 10, -1, 11) - assert_nil Region.from_top_left_corner_coordinates(10, 10, 11, -1) - end - test "#== can compare with Region" do assert_equal Region.new(10, 10, 10, 10), Region.new(10, 10, 10, 10) assert_not_equal Region.new(10, 10, 10, 10), Region.new(10, 10, 10, 11) diff --git a/test/capybara/screenshot/diff/stable_screenshoter_test.rb b/test/capybara/screenshot/diff/stable_screenshoter_test.rb index a368d83c..4a204d28 100644 --- a/test/capybara/screenshot/diff/stable_screenshoter_test.rb +++ b/test/capybara/screenshot/diff/stable_screenshoter_test.rb @@ -6,7 +6,6 @@ module Capybara module Screenshot module Diff class StableScreenshoterTest < ActionDispatch::IntegrationTest - include TestMethods include TestMethodsStub test "#take_stable_screenshot several iterations to take stable screenshot" do diff --git a/test/capybara/screenshot/diff/test_methods_test.rb b/test/capybara/screenshot/diff/test_methods_test.rb index 70bf6475..82000c15 100644 --- a/test/capybara/screenshot/diff/test_methods_test.rb +++ b/test/capybara/screenshot/diff/test_methods_test.rb @@ -12,7 +12,7 @@ class TestMethodsTest < ActionDispatch::IntegrationTest test "raise error on missing screenshot when fail_if_new is true" do Vcs.stub(:checkout_vcs, false) do Capybara::Screenshot::Diff.stub(:fail_if_new, true) do - assert_raises ::Minitest::Assertion, match: /No existing screenshot found for/ do + assert_raises CapybaraScreenshotDiff::ExpectationNotMet, match: /No existing screenshot found for/ do screenshot "not_existing_screenshot-name" end end diff --git a/test/capybara/screenshot/diff_test.rb b/test/capybara/screenshot/diff_test.rb index e43d84f1..efb121e3 100644 --- a/test/capybara/screenshot/diff_test.rb +++ b/test/capybara/screenshot/diff_test.rb @@ -2,11 +2,14 @@ require "test_helper" require "minitest/stub_const" +require "support/non_minitest_assertions" module Capybara module Screenshot class DiffTest < ActionDispatch::IntegrationTest setup do + Capybara.current_driver = Capybara.default_driver + @orig_add_driver_path = Capybara::Screenshot.add_driver_path Capybara::Screenshot.add_driver_path = true @@ -20,6 +23,7 @@ class DiffTest < ActionDispatch::IntegrationTest end include Capybara::Screenshot::Diff + include CapybaraScreenshotDiff::Minitest::Assertions include Diff::TestMethodsStub teardown do @@ -63,12 +67,10 @@ def test_screenshot_section_is_prepended end test "succeed on screenshot diff when fail_on_difference is false" do - Capybara::Screenshot::Diff.stub(:enabled, true) do - Capybara::Screenshot::Diff.stub(:fail_on_difference, false) do - test_case = SampleMiniTestCase.new(:_test_sample_screenshot_error) - test_case.run - assert_equal 0, test_case.failures.size - end + Capybara::Screenshot::Diff.stub(:fail_on_difference, false) do + test_case = SampleMiniTestCase.new(:_test_sample_screenshot_error) + test_case.run + assert_equal 0, test_case.failures.size end end @@ -125,19 +127,18 @@ def test_screenshot_with_stability_time_limit end test "raising errors on teardown for non Minitest" do - Capybara::Screenshot::Diff.stub_const(:ASSERTION, ::RuntimeError) do - test_case = SampleNotMiniTestCase.new - test_case._test_sample_screenshot_error - - expected_message = - "Screenshot does not match for 'sample_screenshot' expected error message for non minitest" - assert_raises(RuntimeError, expected_message) { test_case.teardown } - assert(test_case.instance_variable_get(:@test_screenshots).empty?) - end + test_case = SampleNotMiniTestCase.new + test_case._test_sample_screenshot_error + + expected_message = + "Screenshot does not match for 'sample_screenshot' expected error message for non minitest" + assert_raises(::StandardError, expected_message) { test_case.teardown } + assert_empty(test_case.instance_variable_get(:@test_screenshots)) end class SampleMiniTestCase < ActionDispatch::IntegrationTest include Capybara::Screenshot::Diff + include CapybaraScreenshotDiff::Minitest::Assertions # NOTE: we need to add `_` as prefix to skip this test from auto-run def _test_sample_screenshot_error @@ -167,6 +168,7 @@ def teardown end include Capybara::Screenshot::Diff + include CapybaraScreenshotDiff::NonMinitest::Assertions def _test_sample_screenshot_error comparison = ::Minitest::Mock.new @@ -174,7 +176,6 @@ def _test_sample_screenshot_error comparison.expect(:base_image_path, Pathname.new("screenshot.base.png")) comparison.expect(:error_message, "expected error message for non minitest") - @test_screenshots = [] @test_screenshots << ["my_test.rb:42", "sample_screenshot", comparison] end end @@ -186,6 +187,7 @@ class ScreenshotFormatTest < ActionDispatch::IntegrationTest include Capybara::Screenshot::Diff include Diff::TestMethodsStub + include CapybaraScreenshotDiff::Minitest::Assertions teardown do Capybara::Screenshot.screenshot_format = @orig_screenshot_format diff --git a/test/capybara_screenshot_diff/rspec_test.rb b/test/capybara_screenshot_diff/rspec_test.rb new file mode 100644 index 00000000..a01d5999 --- /dev/null +++ b/test/capybara_screenshot_diff/rspec_test.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +require "system_test_case" + +module CapybaraScreenshotDiff + class RspecTest < SystemTestCase + test "should support rspec" do + # Ensure that the RSpec module is loaded + require "rspec/core" + + # Run the RSpec spec file + capture_output = StringIO.new + spec_file = (ActiveSupport::TestCase.file_fixture_path / "files/rspec_spec.rb").to_s + rspec_status = RSpec::Core::Runner.run([spec_file], capture_output, capture_output) + + assert_equal 0, rspec_status, "RSpec tests failed:\n#{capture_output.string}" + end + end +end diff --git a/test/fixtures/app/doc/screenshots/chrome/linux/cropped_screenshot.png b/test/fixtures/app/doc/screenshots/chrome/linux/cropped_screenshot.png deleted file mode 100644 index 3cbed2adb533179e6bc999792d18158e5f7c8d51..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3467 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 aQ~usn9%J13LJ+)NLAv*lh>w~M&;JV=k9^et diff --git a/test/fixtures/app/doc/screenshots/chrome/linux/index-blur_active_element-disabled.png b/test/fixtures/app/doc/screenshots/chrome/linux/index-blur_active_element-disabled.png deleted file mode 100644 index 4a9e2fa6d2b104920e7c0ec2ddff09967c579c1d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33206 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 diff --git a/test/fixtures/app/doc/screenshots/chrome/linux/index-blur_active_element-enabled.png b/test/fixtures/app/doc/screenshots/chrome/linux/index-blur_active_element-enabled.png deleted file mode 100644 index e94ed03415074360445c63ad335a8df6f0ad9d14..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32496 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 Aq5uE@ diff --git a/test/fixtures/app/doc/screenshots/chrome/linux/index-cropped.png b/test/fixtures/app/doc/screenshots/chrome/linux/index-cropped.png deleted file mode 100644 index fbb5937ecbbd50faaa09c22a1d1c1d0edd8d602e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1756 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 ~a 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 Aq5uE@ diff --git a/test/fixtures/app/doc/screenshots/chrome/linux/index.png b/test/fixtures/app/doc/screenshots/chrome/linux/index.png deleted file mode 100644 index e61e0d4a245e3eeda18e1485bb2f95073293df7f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25663 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 diff --git a/test/fixtures/app/doc/screenshots/chrome/macos/index-blur_active_element-disabled.png b/test/fixtures/app/doc/screenshots/chrome/macos/index-blur_active_element-disabled.png deleted file mode 100644 index 6ad1480173816a19aa8a704bbdf2a5c759a00e57..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28560 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 diff --git a/test/fixtures/app/doc/screenshots/chrome/macos/index-blur_active_element-enabled.png b/test/fixtures/app/doc/screenshots/chrome/macos/index-blur_active_element-enabled.png deleted file mode 100644 index 840065f958765f8902667ed4be1813c9a1889242..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28774 zcmYgX1yEGo+b0ABVO2tE0TCpnL||#9yF(g5q`MnMQbJ0)1q7tKnKhk8z?A`QKZFQskxXW~JpEpOLiT&?0G#J5uKd^i$f%D+M zf28g_3nzU1_bS1AU1EX9qK3-t%-1un!W5#^!}HVLZya@uOf2f1J@wLN_{aW< zFKs9g!^MHf#`j&&yuFE-|6xBr;O^*nJsumM1iipm5>6&UHPIRGdXL zkn3rulK2tCJwrioh?}(6lpyxmj;L;a>j|8t$}ak?z~mI=9Zr9s#_}w(wRpuT)C5Hs zXY~mAuqL;uQZ}m)b~``?8(+HT_9Utrtg_tqj^;n<(5<^*IO#^?gPbofkWKGcE2P3Y zyZU9tw2kroBM8Dc7!a9NbR!&mBgendJ+4tvrsVvPb$6O0_n1GlB5iNCqb3&1vH!al z_O{biC{wCQPm-~*`9~RSUshojopQh5BiN0d-1z?d$8$NS4|xI>$?~T|7=-i%v&D~k zk>#)me~!TAw{O&1E2n2#X$|VCHdYkOHg{2@*0+b& z+Ll>v8o0a)>mv`-FIjQ2n!U_rt66ktiT{L?zP4KE9corM;dG4`oZ;!xRQPE0Hn0P^nY6( z96wWqLMryK=>~VM7_LD4MU&g?#Y`A+cdeIoBCSGj%tzWX@!+jG-R62Z_cc5euzBKM z3-r>s-6R$#k7RjlSKL_VxY*Q^~&i69^b5*#Xmyl%5M38dX;__Et$wg)vRpxbA#(d>m#O3{KG+&n^ z-^}LhUZ(h!`#xb6c}t-;-e8RnU2^O8obT_q2Ux-)-aJc3tS@1p4Emli8Kz4z-VY-s zGAfH`(>%ABsL}kpz81~qJpQ*u=#O(XY*iMljBqQpb!a!_U86~$SYfERByhW%c6IF? zYaJAr;4+L_+GsPGMR%f&B+^T$U)woq$on9YQK9KxDoO4bAumt=P8%kl3&~I|!$hW< zl7PU0PqU9nlsC~f2Yn9AVbMJ8a#xF0zgeb)r_~+`Z9N)6>$KmGTW-D4a+;-^O~lOj zY`dSwbK|EmL3uF}vQ$B=eSCcTF#^w4_zZ2qZFer#H1ul!zEGz^9{fivT{3o^9?P;j zYeaT%W#l-AKSR4cG`jQATl;8s60wqAaf1I2<+6U2C2Bdiwa?OJBjo~Wi)9HnG-s{I zjir|FOgL`f;ihdVFIYv9T;4*Vfkk(X@r|tS#g}3=0bR?XcB8!Ii&`Y~Q_bNs=99COLQJ|A&Xo>>H4B?EY#OOGr@gm(c zTQiVgg)oW_k?7+*7B9%Gxyf0ycbXKr}5VYvUr1(D@9Mm*cKe2Dk}qzpvUiZllt*&WQzXq_9&- z=3Tr#SnS+w@_GM?@0bWUEtP** z`?jT-;cw@^(yOw>qLs!6N5$fVPJ6~$Nf~NfdV9E+15b^fgk;g%d_dNbpck)X&{*>v z^DTbmL56U^aP({K!nK<^eNSRgc{BzcYz~!oefuTrs*Y_~b+573VUM@vj^5XJr}*Ap z+$V6!&F8^%;?olts$zD)BQgGIk4x9>toNKWy}}kIUf3j`H<~>*pF6W<9F{q+n*mcc zv8NL?X-68>4$OTE+&hP=maK@JJz34rEwvrcJ|T3qaEEL+$d(uwz7bj+Q72v|nQ&H0 z3yQE_LhucKyL?EGE%oqk!F4iwDT=OFc@UKHj76+0)Yb?#}*JYlQbT zecszXx;5R*e3#wuVLXu5zSq>yo~|Rx;R}7sb;Wn%0H1Ai^WbRaV9`K6If0@vp~y{G+fZM~VYV55#YQH)Ijqte zf`8aU-{y?w^@dUv2j-A7$?i;52ZAFF8BIdGaInL{3|*ca3?MN!r4H;sc9VQ)9W)`a z%6q~Qn1h&k%Zch(VX~PlPZrLdhQxC>xFN_ zTX;S1tRGgCj4V^wUNhV-sp@IZks$a!UMC3OoSG^ZcOdu$Ei%`3HADsnM&v!5vOmUn zR$T2WHb(qIO!1bI3<_$!nA9?O2_?E;t4X#x%5pl2-I{a{vf?)6-~LQu+!9pA?6yKuwDKb3=U|{)+NZrjW%{oR zREx}9Oj6JxbogKb39fz0;$>)d5b;m#%tq9rA{@Jzd?Rwd_Sfh|=%Fj>KI;QP=co6$ zFr#u|yb9c^hy||`rU4r{>Xm49*7)7y*C~TPH!bRwMHK0O5D99}Q3la@IW&J#SRA@N zoB&X*vYLs3>!mw)KojU1pa@Kx9nCB4`CLs)+^e@9(udGy-usJ`sivIqO5z{k zH3O(bzL~d@U{i8i?py=0$B!(38HnqG*kzBKJ(?XJ@cde(m(IT#J*i#~aVfo&zn_*X zpt_om*iM{dHXC_oe{qq-jePdVt)p4sjc{f? z(ZP>C$b^NrlTi=Tr7J}W_UjZ#0vl%IUX&}oOD^wiR%R7ZR@Gd)de01v!9tU+k>w2K zhJ$VpOj@Gj)G+c*V&(dXvcT`=ztFuM3{Q^k(q`ps0ZtQwpQ9_9%7iV;Byp((s9`J` zDK7|Ur0x-W()Qk5v8S+0H_&#I@DoQ5euTlkYg#gxXzsGkHOd!K;EN|&@@V9bM`rx; zleyqS*&5>;Ye)t~xAv|dK--joYfH$fP}`+XtqAo>*68~Kqj_V275fFB{Ki_xx%Gy!a63P^w`R8??nyk-tD1#_Lpzm z&@7BTsNcK1)2wLk0QH+8=ZY31AobtkGmr12wvTpNpDlwI$F|$24);wjakCg!O7}bO z96Up~%PB;RnpJazWR5}1ZR6aJ!%L98c?Kj+l$RB!W@=4!t)s{@yNylxcV}NFHK#hZ zDRl%GxWE{}*w)rtaQqfPhTv19^YU5yL1@tUi*B2KeX?|%Z2xMNs;uTJ#&B^4$reN6 z8MZk+0yDngXVW>dTpeY5jN~1CNM-n0muJ4EE`9PF?#HLva6~F9*3G$)!3JA zxe5+p-s3CwcYqpUJ%82uICMKK$d>07BO)As1n>0Q$bMPHt5$zg1&3w3xKhr6(FF~) zJ)4mYCv30uRE0=zE_#sVV1L386;|9t2G`>=sI^Xr1`=G*lo0`LX=L2u8U)9?w-2s>6{&wmCRun7I7`6o)KNl?tH#J^3>8Q%5wfNj*h7uBM*N> z(!ru>^P94^xxLj4VHX?7#b?9EM)UVjlT1~iGFWIe>VF6G)kmg2SMydQw1nyiA5E9TgHd}Y|kfH2vL>^g@H`$73f z3=s=UtvWZc$h1o$?%myNSlvLMHrE`?3aJ|CPEW^?y<%L9Zf_*9*Rjt)Hu=kSDCQrj z{g2_~&(G0@5O^)*Y1oeJoE+$4QOqm~LM1xJ0T1O%Wz`88z_k~Q4>>^FId$PfE-lw{ zQ_P(Sf;w?K&V(MtE(x!;Mc~XmHmIfTR4x7e9f%ve) zUZf*#R3QDeUcU*(uCV$eVMyHGLJC}AU!Q2S+H1`|HeecNa3s>coZz^f| zWuq*U%XHP$p|2K~U<%V+(%Y@q`y5#?`QVy5`VRL;2={DMpTFngv&t){kRS^cg@UAU305!$Q-rz?H|qsQ2;t`u6f(l@R#6k_ z+bAwy0J6j}tlXU-SwH<{!mmPhzn2s=AI$#K{GAhOh#0PN(=1Y*kt1?G10ArP@Sx1$?xFXTRVSZ)h55o_b#4X;a~A)2ezSAlqM)n3nW* z!79;!FN0+f2R5?I))na~?5uG9e<( zZT|OfC_$-3jH6og4Zim}ta}P55A}-j59apf0Zen}7n%G3Z5lgdy#%ncX#TCciNA)W z;ws($m;v?-KvYDAf8Jo-%zis!3S_oLx6{ z$$tn%#KM~*k7(HmD%$u@=C)4(R3L8aW zVRbKS1*Hf*sYqJCv0N;BSOR|VtsmtySEvnA%3th{^ngJaOwexuz^NK|L=WMqb;yI0 z@7>;WvO3~VoBn`$<|Ex78NJ|9WZBK_3nM< z%!{0kt6r($t=$t)wD$hERp@;)EXtX(N@M=eKG3SWxKVxHZxr4f7J*(+MKfE=HMH7^ zrrO0VNvwI-HJ4FA&D>gD;)2Y;`_McYHF}ctUWaU<&B`COfdhcIkeJ2g1oJXr1P5lj&)%5ItdsRIcq zP}67WPt%7SES>$O(oq*@wRG6Q7c`$-DIQg?7+@{tBR(Sn2T(~d2`Ggx>{;2aZJqdB zFyB5)Us*j6f3!x=uuA?zv-!tXginCZTnReW(#Q#xc@^lxsPHyNXtGb*8iX!HP$>%&5|&GC%q5Y~;e;M{^^=G%oFA`0>c{SXzn%FbYG}_8Q3_mZ3GLSr zEANWSV2DfKrf)MMv`WSk615*EV_ziG-!gV#>r`3=@iw0pi9Rc7G&2=ke(Qw3SIepm zKgRMOmiVr#5dK_RcY*>B;9hw^m8NP{;k1F;*9`Yl4;WX;8EjiYd$h4R-NBU_%%-#$ zPePA~t3|bgxjHjC8l)T{We;QuVm@4c((!`H{Z`uv8-=Q*ngy#d&uO)!Kz@ z3H`ozZm9K4Q5z(Kd5A_Dmv0;v;Z1IE!{=>q5P10&{U2rR-_iDy!yIiT3kZ``q<_YP z$w2I(+%BPWaCNkoGr?Bsb&1<@5}{g&#jUhYu<+a3XLlICsVHbtr@n0>&HetATu(r< zcWBHCI4XjI7oia!B8gwEWduayvX?wc?gZ=A+b*VeWf|ye>Bt*uOqv+hMZShCRiw_sB!WK zkn^qoA9+!SnOrPtZG5wvA>#pVF*2H#4)3?DzKj-?O`-#k7-%90w0Az|rB#HiOB;>I zLC|4tX*`>0jr+@7?Sn768kcK)t_YiMNX{a!(QJkHX&RAjqW_6YhNcop6yXk;l+(|m zmr`U3tHh!7e=6Rkm|D=QX=AZ5c`yK0+~Jma$)wNpcQw1-4UZmA{ebK>mh^aW7z(T? zFNE|k#aE5{0c?PG#KvpCP7a-QP1~xO@8KM}y-QqtgHGpf?({*h?|8NWVDJaxNtb*4 z+(|PeVjfOE`r05i4aLU(Hv;jG_YVYgyv_l;q!5@e0i)2xlf1|{xh<-==|q4>p3PN) zlmZ1Ax`$M_X2&{hYBim>`5Y;DL^|z{S@UInz>%1eCK~?K?TFKw*FBA?#3c&$#uwa{uc~}L zE{hQ@q#IS3GYrW+gmdf^*}d=+nx*5qnsu~(_3&J%Pn98OKNcQhj8&&&TV65xbR>yZ znjN!&nmL@72NTVJqs5jj@y8S4>+F_}mYYo;w|Cb}ClvB9DK{IFpmdn$r*|tp<%ypa zY@=st7TTjiIA_CKq}gP?bsH>WL9Q8yS$VmGI_>qx5vAxzZ8!{4Yi_rczY+xVej-Z8 zDJnFvc6>0kH=0BEcSPLYy6pG?Wyc<|mhI)*)IZRTLP5TnNf(ND!v18No?${dXdrWR z<9YB4z?Uq^^VU!9z2&6lg8&Bo)}H!}L;D|%0SX`VrtOAA8RPajD$7I-yz6=Q{9NYY zd8l`V36tl$9%O|RU-dbA_hj1%EuHj_Z{*AMkb9TRv9hWuLZ>Ea`g*2y9E-py(a=G+ zv4NZqYR4N~9+MfE`}lR-8;YoZY}-%C>I4dSp?8K^U_Y z&BNI~h6DiJ6dw#PH37#>VQIs~;x4p|2|H=i#Q9Dzz9L%?zOANQ*s4#|2$!k@3 z%APm3+iyRlhkC~1bTGK>H>*lc3cJP-1f?4`J49XdiGyw2h6WlV*#(9=NE!e^wLWk- z{^^5Kp!0A+7cvDwzZw29beJ~Mz^m!@v8g~#@Yjn54nB^JYPRIu`OWUidY8x77sv%! zbBlnfCU>Bcc{iCyt-@URcbo; zLU|*vyZriU74tK;AALVQ9~&53LHQv^d=QsaMFdoZIxhnTUs8ekTK83YC%3L!mw zM;8MVQ8?UPxFqjmvWNTW9(GPXQRs>*P=bJp0-Y586z{^jy&bFDd{7rl^p0S_%|Qx@DKjS8UI(wtK1awE0C!3>FVZ zcohmG_sMOAd#B3os}xZHWQLt36*Gi1dolfMlO;Eg-hO2JevSa{SG@<55Z7-!kIoaj z3_S2y6aV4sVm;HB3ZA~LJZZRQ*6J{h@eGIkc=P*Y>z#HkZ^CMJu93PeCim_^Yh8>3 zq%6I1V5RJ`)C)jMADu2{H>iUpVS!DJHO;;2m9D}6R>{^cCO3`Wu4aC9a)}hB5^}za zkOa0(o!3dZH>Cqu=W234HLxTFEvO_bf)aWZKGS0J zO9!#p`ljX^#b+a+uA4zqwGEM}Hu1}1ZOz><5~8OyJit4g22{={EVHR9e5-bSviJez zJAc{`Ji5+5RPo~UTHtEY(sAkEK_mtUM$J+ZEU~t_vXADz!f0W0Itp^QV%LkcjaO{P;PmJ(U475314Gv91(~fmF?8s~KPTF@#P*T5~UWwoVud z@u$U}DPRHhXLI0s)q$gkWuPiYeT~VawRwDthbP~bn*$SIPTcAhPQYYz2l%f@=&>WV zGJc^H`A;k-{Zn;^fbfPY^>i-ve^~%C>wxp-toang_>LejSOBKozozKRp##3@jCy?t zDaO6}V!g7<9Uv?X+&OPnBs5o`oayhL^9J%bIQgZV^4tVJw@yZ_@N|^GgKvtzUQh8+`itqACrFhD@EdDbM-sR=w-JPuG+VM zm8{tYz=?2xgHa8pn(~a*L-FZHQ0WgV$Ka+1S9Z(Wb_P|Dc+}>O+cWHv(x(rVr$J1G zox1ZT*ie*!zL5gWYpN23(yzn1Kj{Iu<>5#@=Y=ukb4J+JYY(g>fgwuI(3LwmR>;+# zZQehIAZ`|0G+y3}V(>tbZqWu7ZYT8LrL!$vF8Jj{wkrj}41)*bhr-DAF`VW-`{R8y z*Dd+oaWXM&e^mOpA6&SUcl^hbUVXJ6IqUiAi!}U6cAExoXkL$ll)&Ekt>N zZCQbB6pK}v=?EBCz|6bLubMs98U%Su+HbnU?rs#E#efI<_=<3c?-^JrM6aB#3O z|7~WKf-ju%mCnMqgRT~?lHVBr^Lnc-Q5|aLfl9)kN@;xY40!J`1S@x%+YJ*)*!C9_ zW1dka81JQ##va<~5hJFIUyELNeQ7il|3e$0Neaf@5{#11Zz?ztnl5Xi#sIvMSjm5ZWNl=EZ7~M zY)NYmq7^{@2hDxF4>Kla#RbNX-mKzOF9NzRb@D=NFD9%?GPN zS|F*CjGYKP575uOkIebuZ}gKkf=6RravCc;9!BzUbteqlbGjzX?|xlSM85jl%^r*w zV@To8h#2OLqFW8K^DY55nxJtbyrqM_Ssm#xy7sz=LZ;os5=f_WDtm&djtR=hQgOh*)-p3^F=180ktoOF-t1aW_hB} zMSSnKM0nfdEa70OXj;MPx2DYRn4f}12vlv6=2tmhsmteRhW9=z@W@(M$eCMUP>>7l zR})-Or3;~TCRC0NQ+47#ajk47eyp&qQL^O1;`zOgvf?>r^imn~wzj?-qdzdf0U&mS zf`pB1WYAOT5B53#U(Nv8v5Mj4?L>4a-)BUN4|3?JFx@>$*0uhZs66#b8H@s~gkk87 zZ@rd`J34oAD9Grbn<|txmcMFfl24%p@U(y40SkfmT0fagaOkiPv*`w<$k^lh6&cF< z(j`z6fyEebferjboQrO=eW>BZDQO=kDuB`}0jeqdr{rEciGCiA?=>z1l)Hn+`6yUj zC6CDXSU!YpeGsj`U}}3=f54<5dN*eH3me(FJs#a%Ovi$gwJZaKe=5Uy!?=4Np(M zyG;?vM`gCu*>6FD<2xRbf#gpm3zSg;**+8EeiAX4nWe5}O zr`JChXkq}uvYb3^EDq`?PSQ|bV2Kw`{Eo%pu=QP(1_EurrK!XQVrB`VOvs_h2$Uct zzAK+JZHT+u<~86OwT(^@byLr0mRQ)=h|H0|_vPdMwZDvbs_(|pP0P(gn+~M+LQ*kr z&>BHl4|gA#ZXJf>pZUfGYqIiG3jX$a8U+cD%jNjKDW>vAX)ERDB)IID0z=K1$&Sn6 zp~NU48)Uq%OUxtK_Y@KI_kfgCZhdagCjhK|yI)}D;_(SZxPqZQU&iw#PW~lMgX3Y~ z8HO;v)ou4_H<7QXnysEAP`S_$`J3Z|NDs<)i)SyV>Uj)rmcW4=a4t;N8q zE%DD!_fB+);m-TIDEEhsw(UHBe^8{<@fu@G_%}$(!5}F@*GNW>-O4Z)&0hp!T5gSY`9lkm17<8@8Mv?^Lzf=4C&S&z~MaQQj6u{10_~ta1@c$zE16TMih7>e| zpu=mJ%9+n;`{!o&`s9OCV;oX87NHkf3r~}$UNJUc{E-@>=X>}e$G^SPE(Sr%#DMG? zbe=USmqibmCZ%9RyY4Slu;7vjt&zp^$cOVhQM|?)s{1hSY8OpnU zmJ;B@Ig;Yb`E@5A;Y3B)>jl9mgs_b7Jt7%!h82rSTr7e(Xtnrfjt;&qq3Q^G-S9)* z7oQKVl`XF9)-WFF?^x3PJ-33EU?x;+t-&GQf2>FXS?Z#Q+H`jak_J!iRCs<+(r<-Mi~i#L>kBMO^wI!PIypzq5z>c>Q6xG7P7U6G z`JFc}+cZhrJEZ8cf)Z-4NxN|dvM$IVqImeDfiUpc^h1!I+0dT9L$NX3r(ddvoor{r zqk@Mupa+*$?Hx6KZO&j6J^7)-$0lef2>$&;YmImSM{O}D&SU6c+#mVJ`aENck70=1 zdM62ZIUXL-8~MGO7Y_fppe@MNnpf4B+fErP{ZU$%c`3J3jP!e&#I>sZGrV})0zoALAdRy%IhfdK9?JWb*(rN?8(yk(F!J8nz#V}4 zmSkF(xjm3mn@dKXbUu~d-n;0dx$EV%P_gAgfi>aWdk2+Z#dyO@N+f$q0jY)a|I?*g z55FJ&Abh{4YWu~^dJj>0W@$y}`{{Q?Zo*k`J%-CNH%d_@&Efl@rXJ6QW8`c;l>}T^ zdXb7O=fgs6okR;2DmUZo*Db3OeGpT);DZcm{^zFGA7czgq~-wesOds9rR7gdP`pm9 zvkemJ*+&^iw&qORv7;VB9lET{o)NL)gxS^QyrayNqsI3!?Q_B%e5H*?%!=;SmeDS9 ze#!^WpYhFBe#(kvk=PaX4r@Kjx8|POaGKgU204$TX=d_x&bW=_?lou7l6x-BOX zkX``2kP6z>Q30RY|H(Urq!eB!7^$OjQVpt6~C2 z(#~r7;_;JHg0$;F@#49JH#@Uz_Fs=lEXT}IfO|MOYgJa-B0^~HW$-Ykf*7S+p1qs8 z?GfGWK@^jY7c6_M*}gu@wbo(6SUDPAC`tCjM zy@;iE#cwC4>{6ZdyC@0B2VEvv^iZ42sdki~U)CY(W_=ep=Is_pn)fnS`~dOXbLGQq!UGazlw@zG<_i=3W76)Of6{xR(J) zMu6}2zZ^U=xH^CHE|(rV)_VEB*uz^i-xm!_Fo-miz+4^*&whXOCNqk}A6ajX?0}>p z%e4;cp2ZMg0BsFKC$29~qX*t9^;HZ-VM~Q&f-FJ~Zrq47WH3FiDb8-mA^pT66*1;) zbDziP@A0Sh+grLj{z>!8B##bVdOzBJ6#Wewkn4-*N$nm_4!P)N6Q6|qCassgpL+aF z?!2;|qeww+yk=vaj{{hcUcTfxy33su&Rngzp$%z*r*FeR0Bkz>@_8!^=q5}iO8Nj6 zt}zo&@p!gV!b4x^=umU!JV{Pwc_NAKLPQ9Ht4F*jAVToI1kie5G=0VsL0h0yx2&qkA4?X~ZYdy^{TI}j z1N1g~_?@D8Xm1lMe-2!E3)1H-6`ZJ{>Led&;Tj}e(prmDowLZ)4Jx&bd^f*3Ts>_UpyS>3J4G0=X4e;_;pdVTldvBF1ZlBdRGjv@7 zF!-6>Wa`1=b=(4@VHTx~4iOoPWT`Z!g8C39$FnNhIouj8K!QFyG!4}ANV()bQi3?Rb; zWGDzl&tV$Y{e$cB(D6+}?3|SgUrToN+8W1*g(4@6Vpw5KY zdbS`W%1!5buA_5l}Ic=EE0zZd;NU9VG_h^ruA47n1j&Jxz&CIpmFY7dwp` zN)P>zt~bGDH*m(GU%>L>hO!G<5Z$>kqZzkj*6@AsW<)L$CT(RSX%zfKun)uBHb726 zF56f~iNV(I5R>pw-ow~egxVLM0t=ucu$@5rw0ak0am_xK#G(<)WBBa0l>z?m8KpPw zRKI@$(=q+``|yS#@c0RMS|&dK-`oqw zjwPe2{<;-wpOqt70dJ&qbH(&h;uxl&HB66BftvvTj-E^XrB;(SR%r!ggk_}OhSOzS zDt6h%M#Rd4uNeJycqJ;KR&*J|o6q&XJ-DN{cB=adj%w?Du6TZ4Gwya>R-$Sb@pD5y znj{j7>Ppb2=!*S~X_6J)+o2!w^ZWH|N@@Ba*N6D|o?s#V9^+qB*JL;W>G>Jbq4;yU z0Q~G5)6-vU2Rs4~C|s-!P@t@RLPdNqssc$@2Eg}E~oW?Sv62hSEvgB zBk;pzmdHnU zFg^-VMV24|0aO6nL8$SMTMuL`(1XCu0}hnKkuso*0bVP@w>bX;+&!SpSQZ-DR=egJ z{C>AW%t$08GO1W=%Nlg}63&fIyA5}OPq|__v<)H;N{o6) zy~wzAJRB(RK2ft1azW)jjSL2VCFQBH3`Sh>DcAR^C#-WDxyeR z{}prt7dDj@>3Lroz>@J%P?<1R|4!y(qSB14v2~)RCsj=diyZAZl~0#Ni&f4gUC6RS z(E=&Lf+u}UQm9el*s_x~rF7KTyjltlU-tGQW5OiR?tCs8Yc?2)!E$)_{76vxCc*Vx zGbe`0MSZC}x`{1mR>wuEn$j6P1(o@U5|J18wANSJe-vQLAt8I@bi|V zHE<-2TpMI;oL*nv&$FB|wft2nZCqtNCn9-xSzujgguxsW`@mo`g$NZqnYkb5q4%MR z=j?NV$eREW7N^C}illlvW*4Dwr(O)lU$EkQR_lGg;@V{{!K>kSJFMSTjBN>=6}JoS z32Y>JIyE=LJfz6UGCn1 zo=ETp`5#JZ=ci5-qGyUm(`yk8<6MYHU<>6-XGwM;-sHISMA1?(Z)C=$n`#PQiXPSq zI=~wc4qdE;p-JDelxZU2PvZ-QBGiP5J9k_dbKD7t2)R@pvOA)+H~Qrz5D2)M#;&Hv z1SIqe<$MsBaOg6zV=cnYuRdZ@+ejU)P_1VC@surcEyy=Do=La}yRc^Kd_3 ze5ybk)DlIA#TqDmHG5I;AzPf!t~RxCo?1rcnc5LuU0DVB(=Bx+vM>DF1)}OemJ1gM zUp+goqG?gPajU`Pj?>PADw(^hVlWq`Ukvxqm(1jRc)npLErnt7<|)tqI`~U(nZJKe z-l02&crd=7Sk3)s;a9ipP^E2m8regGk(_Wkra{*bK4+`E9sbiUO7_>@d4=B&`hfEW zJ&-DB#wht}_N!+nRFFu|!TjipUI9+kD8^h8)9b{qdY;t`_#s`rriDBV(2yS0Yr>Ph z0;a@oQOeuW+xn53;$2U*4~MwQ9!Jq$!)wl0(7>vj7ZgYzt7m=|cv$mf_?t*(>1woB zcV244nWfe;M*Z#X?XPi~R|8Y8zo*c=3Se4s?u;vW`t&w-2r>Hp=c|il=BLu{`@W6G z3TA%N5zhQrtHQ#|CmpS(`%u}!A!X2(EN@PdnF#Nakm002R9DA2SXj||S(~xJE2bR> zzMQQh6Ly~&>RhPjkkUvQpG5273~Pz;5{e|F;|}f$l6|gBAd8p1*^}Dk8LJ0uD-lf4 zh`ycE9uuQ2uvnDyK1Os}LI|_2H}i}X3_tn%j*IN!H}Q(M7_uH)6@pZMHmc3;SE3hX z@C+N+x?PqPHKjFWl}4Q|qK7*@C2F-(VsVee)wD^&1vzQ)ljYJD9Sc4C?_hKwm>7!G zUdzX>+hmkW)uBbHAT)L~^B!R{72joshNSZHwrDl__-Hv=4_wr_sC5snZ0tZriycB?j8Muag%MB$_9r_e*%Vr)Ck+_{%GVToRO#^wnT}5;P7M0v5BAB_BRK zA*BiEcoV02$0Y1+0rK-5=0d^{vA1D_R7l5WVSAyH_RLKkR8PT$K}GC8+xQ-4;+L@5 zA8v#-DWPAI_Zy!szm_&b5Q}yE!a98-z`C1}B(%UiT2uOf(z~ujH%LYVCosIxCSHcQ z11B&GCol}Zk@e~Mtc=Yf*jveqoHyVFpDw&)s~68Ztz`p!0# zB^u#gn<>#5#f;e6<$@VUWXBV^;qgFL=|8!sH)axgq?A0)LWmO(=eZcn#Ke@d$qBV_ z-Bx)neR$D0W-6*XrYINLCw1s1;Lw|+#GvbKuA#OhHQlvFu(tukijc&VrL9rAJmL0t;cvznkj>TNrP%49wQ>G*>ukcNO zA^WPll&?nWGi`Y7V=Zix?6LATg_DCb_5L+mv+FO^)4mJ}CWu!U{_4{Wd!N08N~Wu< z^Jmc|S5G{MxXSwTbXnuQ^lO&Agph*WHoaTQv?>&jp5w%R;XTsN8jH7;E=XfORQLKN zCjWv=ot8}9D@Bn~(Q1S*-tbSitxA3V(&7URS$H4vsBb4i@W)e^xVryk0ZP>z$rz{8u386Z~~1@@17C| zsi{3wZg`t6!%VaJ>xnXPwRwg;y3Xb`Ue|OQaqPrO^u*3cQ(;eVR_+U#S;LoPY12gzQny*m!QJNErzS)refy3%58!oE&kL2CMU8chkfp0lb_ z(1Z@SAN24NEZa9AjywvHah+)#S)1Nc2Hv|zW0$Xvz#3ay0#qrf`LTxeBXwCdPwqIy zgZcWjGoGnx>>c=GLI_+sIvW4p$*l%a4>(-n(VD$@WCh?Co31Z_Lk+ULLCmp)d&)3v zM{|vB)WDoLWsDBx6FGUcqdRw92FCAnvt_zh z^JlN-FZCHZp6Y6Dv9mDgr|(q)+8??L+EBn^OTL9@1W7#06`)i+Q5_O=XwWMQK`aG7 z8J609Ci$zVz>L9#@k_tDV2db@WP7NZSRwLr=U{Mx(l-yG5Lx|5Nul(b@xkJ_ z*+64B8khouUk~kQ@ju;(m!%_%;}Oz-UM78Pqq%K4WV@i<1xEwjr;m+61qSsTlpaX@ zl$4ho)bX%xj`c#9GSSRRr5?WWg?~GGX6H*kMT5NkfQcTLfdK*kpFK6&bjJQNw51NO zR09Vh!^OH0N29xUt7zn=V*^KWIksXaxUbJ2C!jA@Q;9a6?Ya;#7XPm3TtLUfgy_&s z&|$V1CZw?FpXqD*#HAOE!lQC^1zl)Z-I>WO_c(xtvnK5np5PhAlL$A8`g*uFz zQSkJuXdSJ)Kp8`RqVS*XecWwgK_|7S!{KvvzUOiG{C$#u`=P7g9TXJ5if-$qX7Lqx zB=Ye?ByNiV3d&-T-^`0YU95CX=icYpSzY;L?j3&b->%}~0s6kz&P0zMjayz1B=cBy zhmq3j`fN{f$fxqDOGZ*&R|nn&|97RsZ{jBh-XbL>b*R(r>*@LVnOgLP+0VySmJ;7u;eEW{7b<&C!K@nS)ilPu%vYbd{$yTO{5CJ8~l!Rfm)mA|yh{y;5 z4V!?n1B9pu6onuwVMk;H2oOfXPV!z)zu)(7c+Y!|KX@KajG@MzrA zL^2dV?@87RDO6Wi=daE+v#6o9k9W%)zj|+~d~k=Xj^B`Dm>~?~9X;22<3FP zS!bBWD7brgc!^e*9Exwol=}4LXt6`B-QC>@WP`Bfn{63p6*F~vEvWRF!Fq1DcY*%E zY<1Ymc!YQ%qWLQ^R1t-m`$Mi-Z>~}LcH5r8b8M{*>((MKC>Za+peArvDuXD8RaBz! zVdL%DGFm=P6qa4y<+R2|)22j?Tqf7TV2PX(G9rD{sr(XMBq-qa&XYuZW!mz1u0W;@ z&!c6&b*taMu$*C*^gJOU`~LlP=vHEIf42MQ7ai0nX_Uuk%LO?KOEgX(5-G|lch5Z7 zxV?3|R&T0jTSmu9B#5bZ^atRLIM(rR>P&ri5hi*rWNxIX`DPLVV3qxUXl}o`>S>25Fn|8EQCv9`>#-1Fj&SI5o zV*5j#hKyTdCKsMwSsQ8)=}4LCn@KEm=Ojsm$W*h ze9^?DZM}qE>Ojq-`V=*2k$Wi8dOxvnAs5E##mXn{*r%O(VSmWEC>aeaPtWX9EIWT? zs?q|6)}E~6-=6QRE1Zdruu<6AA|I{y>SuYQ(N|AYt&EHwDvVWd^V?iSvr@uAIq{c! zYu6WtF3sYi1}J6ytq-^FZ7;%D#KpyVetLdryt~AkV)Dk%&+o*o&f|d-otDrrnN@n; z%lxtBmgsQu`v;r2wNkEmCAXGlhrPNA(+!0DHe3{TcBlb2l7QhiqMEbLKl!C%JSR7~ z8TyX`p3b>4$dlJkTOR3qb~f!<>8-9;H2lKJIj;``Z=UYg&$)U$>(l|?Pr~^4c$HmS z4(;2aqO5$Owzig0Xsqz7az}}ieS6o0W;R5Jh{ak$a6M|^&ph4;XRKbI$p zn)x5L9@FMNthqMXU1HMJ)m1VNxR*XV>j$kgJTj6ZSOE}Qv=4AtTX?HWohF>`0ci81 z&^D6vr^Kg4x2#1*Y%Tb5XWo|)m zzvEzCl;Hg)Iqjar6P|?pit)p{cklL`{`#IkHYc7OD{3~#Eom;j-IHSyuj)YcOIPsZ zGAZ5k2>Skr)jMdvZ?~ZmFQU;c8>F04>B33uc+2bh&1JOfwOcf>{Z3`RWTFt{meSB$=%e8B1Mv;34j$pfs$2K=V&2uQZNJ!>k zqqZKax};*CZ{y*SLB70t;&!(U(r@RboXK_+2c4c!sILxapTO~U^kffwV~||?3b-i+c{ z#st9SPgU}Apn##imN|yvklvu0fj9f_eqD>O2@Ed2ez4`Gnwu8|<@@y%mpTB=xZ0zfe+hs=M>8t4qV_g_h2ePJ6*}$)dfBp5eb*4E&i2O`LAzB~D zf2Nk<5}ydHYk{Q+UO-<4Ec69)VHEkhRl#08l8|F2YIqm>4xG^!v|BR@D^e`Giao8v zL`xh38K}WId}+9zf(l*q#XPNjb^gh7D3*NZO0Ur`X%26${;uHJKu}~vZ6J5LiYbPuW<84&A1b8T+Sz%1{Oe~KZC@Dm?1|thCxCKY zt{(r(SqB=fgh_GCTwM(X0KF)G;c1=#Z$CKKY-kVlL5yb##@a4qXJ>EO_&^5b5jj;g zXTIUVX<5Cymx#K-OpWniI+<+TH67XfsRHzViy<3C>mO z!)8vdfLcEo!{!wPp3)2$y)-;LJO)tQ8n)1vDHid>29s+SCVT89mCf6&E%ejlU2tP$ zx6WeESRmZIj~~w|Dk+U8dgr$Qst5FkaAeE+UrmLz)zO|1&i;_T>qC8%*~%xug-pUxaNB@pEmEX zUCzMi@4x?MkXH&^>jGHL!3aTD3=vFD_zf9{0ia-nqK#0e8@B#(aMu>ksa|TuNTRm_ z8tGjq@q=!W2Fs)J&LP8bg6{t5ff_+9Y4uz<-SxFm6aa6QMm;%SKo{NVa*ywz_P;pl z_#B`KKSiylp7VjtWz5pWLLRb7u=2&8ZA#8}YIj4`))NIW*V%27P1ZR-OG#x4xGZkW zh5ao+oyC5`7d38mPM7!S8BV`jFLUDNGtf);)=AKWp>o8T7QPm5m(5)Kgk+d1S|2~( zK0Ewb@WgfXOtZmCp26z$S&9?Y3N)ksYc(hTCJkl%t(RM!W+a-qCr^291e%8*s^5{l#j%rU0cRF>|HxzEesCP*#(H|k~fOfo(wDT z>FZvKxPJW=xtm9~FK}Uq@%+&=AfgT`(b{=R5U3IVg#vIQ7rvMVy0%U5AiM(Y#=_kOoq(GJq3&2Vvc^zfzb|C6@Uv=#aKJW7y$}=gu;8c?ad?&jQM}EzS%g0EXxW z-xu&njOK=q_4OovB!-r<&dwi&hBvt}du%7nhPfY%oZqE(Ke zH?TlA)HW~{z{Z$`S6fCDGv7Ja5lgd05TYWG+g=&Wlk8s_zeRDS_b-Vb?^X$DIWMI{ ziU_;UA6wNh(9yX9wCS(pf^-cb;Qa=vgNlmh;g_M3aj?=*UMZ8)%@>=x@_|fG7IduA zfrn;Sga}N`p&UTb0t1mn!WFqPipepW4S^4|!@|*0Q%|v6BWOs6h0WATE%))lGY?s3 zWK~r;d9(66+~b|?RHmv$D^7EGX!Yr{Rt0OaLw;g6OjX(VKWR%u{b*}z3sqYpvZ95| zd6*@rpP!kT!Ob=(D~1W|L!d?gu_k+|MGVY|Ar8l+6@84B-4)zK*Xj$1C3m_T!@{(+ zXIpFB`F74ZxG#`!J-(@Z-;H2k62R6kFjDev6}zmQoQtr;al3REcWivnO~aSfJ(b0` z_H1BXSeWYTNH>wvUmA*aDDxo#eh1DqX?cSZd;H`{Tck7!a7oLv9=>70%*-}c$t)Qq z4J`_5%>>P7uG=|2+w0$q{2XCGkLDB#NjQNaT#pzdLFt19%8E7=UB*_;Jeg z+CqP>#!Ps7mL+aD&YnN;NG|8in@iyCSfKI8^(t8)HS|S`gB2iViElzd@DkbY>*XSP zb&6WZXvw8e14LsWonU?!Q;_KB1k!jFeq;Bgy8C0ai3y5e3bh!rG#nr8hyf*_1f626 zUe*_s6fzj4WqR@AM)kfad??(|DkCydb2QlyFLmmD_a>t`6wYn;P ztBDa|3{===*wRuu0B0LLB0|2wSUqB~M$QzCMpFXkd2B2KpYjcSF01)g=bQI?+!{Y0 zqfdkq6;MDnZjovT6V9v%jR+wVZ|ft~>X4hr85uI@I^IH3ZhpllV|9RAV%J-@M+s_f z4`XgXb6(*rjD!Bs8(2^~dbCMz_8)l$CrJydNy7>J>H<4#?Gr$A>~V|K2^f7wo&BUj zbcgj-^JeDVsk@At>h0}ySUGs)$O%H@3XhJBR8vBs+9G9jOPS4R!lA>5)j^`d%-S-e zi%0-0x?EriR+j}Vj5IXJ7@JO4t9w~ksLtUCnU2_wrEo(b-&%gGoE@Kl!pNXU0Pya( z;9=`by}Z1LJ)#l(B8cEf1?$U~@Aevq7wZiZpFe*-=;8`~H0H+qWDf?W4U+|gY=h+i zgXAULmtQq|5s@9RLg&w)9|6M_^a3pB=OtmbiNa1bL;{V0Y^0F-2#O}jfm2jYio<6F zE#({bf%U3d{PrXR+CaHi)DTVwBVB#WsV;PDgi%2zjJ&qK-W%k!S9?~=o#1VU4;{*$ zOM8ULg+9j5Pgp+MA#1+m``%dL6|7^X|JVUTdJQ6EMEV|f34DoXB~DeUBFXv|AKKKVN(B|F|+I}7j2a!}s+_vk+{ z@?L!vf;$lct-7r8^2-ek4S^{?YwzXw^(YfaqyoU7_7JoygcZ;`=G=i8P;-xsUI#L; zIU!F?p8Rsu+&dC8yRrdLreI_OI~E}0m7*8^YW<@B&vI51>IDTBCk&*c>#ezePqFp> zF>L8&$0sy%bf=!WVg}D?t)0HBSMrU^by8)a>%%n}!=)BOH`KrYKd^qt)#?b` zR3fu^^Ja#-CoG=WhjDl3$!d0@=ItCcw>oW0Bq8a%D%kd;D6kmx1jDfnIjQ38#GHc5 zn#*p1JD2GXum(R!ES4T$D+}%S(@zJ)_y5|Hta5G}Se<;eO+&8R${cE`A9+&$c?=F{ z%{>jlj%Q&15KjVbLA~xESUW>QvD4GZ$cetng*@KW^Q5F)aQ=s6qEh_&;MUqFQr=yK z?wkNqc>X(y)3kLrAZ{7&D#|o^x-WaPq*4}0P((O@3Zwb!SGTDLj@vlj9r&{X7}cU& z4_FJb9I&i1>NoxZB})#P>~0wL^Mo*lKt|FB@JuWa_Qz@DB5t;OijFf-~Sb9WH^uyh#{nlZPpkq-UjamL(U` zqIs?0sx+VsksL)iY>PI`UPL3#ZZi%Ep=MZ+T)3&~8XC5c;fRCHHw9%t{aI900n63X zMuI8@A0;ia@C#D}a(TISAed5@6@MxumqLt2hILm}ND-iOJBX-31M?EBZIVObfRQ+?SKh0{QKb&;boOgd!~uH}-P0}^ODdUuv4~ijE&FQc!LE)HOjKKtCxVyY71K8(`A(u1HXn9x?A`C{ama>b zS;})F|55-p!B>Ei?f7pZryDe(Juq*sk%1wF*}>ecEiEl+^)JEcVIZd}j|PKxXwNqA zH*U+zvT-IRCbpKA1EDUKmT8D~?yImJ@a+tt0aU=EZ29v{ccJ@}oSYm5bc`{X5eR7o zoGl>&|LX$@FOX{lGD5R}L101S!UegmW3cKit?4F;XmC%Y9kM6MRDX`w z`}-Rbb^J4+><^(&`hLAP(o8A{W{25>w*SJ55aYoC8cXQ&pB1q|S6|?=3Rv(Gg1Wuf zo6s-<+~DUIN85U^bV@_4G8f1?(51PlsRQE5-9P@2ynY$1<~R^BbCXhOE9LvlB#Tf1`NHEIg*~7dPJU{%g+1xmY%QS-yLk30eRJ;xblmad< z11ea>z`zCJKahK`5p#_|N$*R5b?nXu!kK~e@s)dP7za@AR~}&13zzb`Er&=Q(}jAp4F}X zCdfoXdh659K58$+x|$_xTZ-ol#jg>^lab`p3f4YHyj&n|m2wSDL&qw4jx;80c~s*- z52wNV+IgEdRE5l)z%cg78iZa(v=-=@R}j^>{C?^b5-IlI9o&xT12bS+glV>etk8!p z4C?c(*?#!Qkvt71xXHsPlr@x78DhY|pCes`16$4&hJ&M;uCd|uOb3Aw1)UcSr%$hgT!)(LdEZ^Kp#p=FA<8IziWdmq8)b`+4sMDj8uqy#*q0ag&m ze15>~uEO&*k0e+SV+kOQI;^NzyR`pe>zA~%NSBt}>as$@eUOqq)k_`_GI&DGA^{yS z5HA={hiothprnG6g5UMy55-X34ug5rp*%?A5bX^?@bdg*?v)}B;yfO{f&HC?3GL~9 zS2&sIyHhUrxC6I1@Tep0>?U-pGAZ=ik)F!n0{<(q z3KSPw_Z2&oMQSjwKXacwOjZ#MvNpT9M>~y7CdaB;SXi)Nk~ZEuY9J{Y{#Zxd(>B&! zh9xPPzD!lgFF%8rKooWm8?llEITz3i3~)2@Z*!q>eg}!-dP)P?$*O zuo_O^A3A;7Eb#=ISG|%if}XWTFawHccwt45#9lQ5Q)dlW=~Fdh6tz#s3Nc4kR#tql z)Y_XCka2;zLh^RBRd{$fWxe>)LGq~s2hfOKQ5Z{mw7(V9Ng#jJ5|+jRx)})z{Rsbv_rw)AWrREyAIh6aRL7`_} zI%q?}(iO&l{u~N#G~AJM4W0S(x0t^WJV4M&E@JhqItmqNvT56;HESeRk-rfDrZJmL z{-|RDQNvcS_TyujBqq3L;zCe`U4aV)$!-uInt~fY1nOq|+mmDYB@A18XGQeC78*|H zD9)93Aeo{|ZnnHabwj$aCj6ACJ~=%-!G(tV_aDg4m+kE~Z3V7|08#rfL_p(&=g)T` zehX}8dC@H(KyVRz(Mn*6s+LBQ7=<86w0r3D-QH#pg*Cx33D`E%#1rt0a5{TcP!OSk zYzo@UOoPw}faVSJ1e)=iPaqJk!zQ~aBvkUMdqBK&;N;-kM-2%h`!HSt^E&!Z1$My|jMnInnvnh@j*9_1&G7 zi0Sv6qVbb|E2sFDE;L00t|x*XVH&IN)x34QZjV0%bAt;jO~=A#wjwY7aEI)8UIb$7 zKrS*6FS*Cf6cT1>K#8IPB%1etlPCr!R@p)muuKzP0rX{}s&j?5;b*|IqC0~|;H02c z)CkF>KCpefRf9!gI10zVDYjVH=lhB);$Sq(rxv3oA*JE2};BgPBtJXK*STo zI`ie!ozN}1!BaNC0~DRLRuhf25Wu#B06EDqha;5>;dF82$YzM|yx{-`IiUhJhf;5D zSig)M-9U&7rvx+4WB;+x%*e?(3`u9l5?KH?6Nw?%%biaiKOUM}G7q74HQey<$N_*v z#G);5A$UgX@Fs)-A<;r521H}o)MX*~j;sQl>~17XB0MJ${8}HF7qIXjl>b@@t&TNt zuJYL5kYH?T8lYs(iWE5Agxs9Ae(Z)DBp$ga14cS_<3QImjwX04fkqrzSt%SIuL%{; zU_9Geuz<4oF$MmWwyT{{HI^xKWmaHII}a4oFSVK=Rdk9cTg#H z{hE6`nYD-;dMBg$9=TrK{@;h|{^N0eK+Mw`?;n3cF3g_}AeX#fPa&7fXYV1GHxJh! zZ}a_$-xudUh4j60khb{V9p9k?se|wE_?5gUT?);9g z{%5`!W`LdDyL0Y&&hz~01}Vsi<6=L-MnOTrm6Q-sLP0@)ih_dn_8ta!CDHklE%=4% zpd>DYQak`%M?ratA}R7l#Wi_r*2C5a>4rSrEFEF^x2qsiDE@Fbutyycu zI%UuW6PZciA_a(Xd{EtUNxe`Z7tV7Ib65MR){$EIehktKB$wwZWww;RX4eh}-B#Vw zkVs-f9HD!ZpC1a{+xJ?y`EZT)=TGqehYu2{&;I^>)*OK*^1t^`-3|QvhNVj}?1%q- zkh1eMl;G*#s|4nw{oFSm z+lB(sU+52S{MdD^{OTMFy0d1bT9B+t^VjSpu^#GH34VT$g=u`58n5 zsg7m}u@8RC3ls#KsBwEu31W}skmBY-hwn5+dckKICL=FvfASMGnrnfj#WO~(CLqi( z^M`;pb5ff!d9xBhw>^}<@wHp-j|64C6{ZJXk-Wzp+I8o2$K7Z=kh7)vCsW&2aw)LR zu0ClIO+!52F#HfUIz&bl%`h9!@X-aj`!y=cq>K-;?oM;~F5{ne<*6V8vj_&d=P>)&7gd@1AjDUZ)QN%my$E&*-9O!4C$ zWH~I%m(734=$%Sy<dUw%U z+cL^c{Fhc>y`&+!CCji*9-1(GzQGDnUu0PxU%wUwS>9JY%rVrn6$j~7y#6_&cn12g z!c)7GpS<+4MJP^T%me$#G#z35Wf(-tt+v>A`78_RKxHLZKd^QlQ?lpfhm`b{{BO$x zBPrSenab*^L=7OwhH@u*;*qnx$9Q;WFNU;uuA)D9^_B7{ANEDwc^g`hHgs zL%@Unie^Pa>uMP@p4a(bt3rJ|1;lH{0~E^^ma;#HFEC0eGp@nX=PGBzE+1T@eQ-Yf zkkOpg!w|Rpz&oTOZ!!4B3#{>xb8g+P(}TTsKMPpcyBBGQwZ*$A10PNq^wY%YAB2z) z8kB{#sh^pT*QozpUyFKk9M+m1Dr}tE$Veymq=nLW(X<{G2Hg1T~%}2 zN(%+XzXYR{G}uUD(jIRk4)+x3({zd$^x6-nmutG8LYzBFz|GaS-G;&AOgvaiH=d!Q zz{j`m-Rx}~;YGN`MwsimRfH#9A{`|5-`%g z+U(_V-T0`Dlb;UxQt(Iu{6QD`iv#1 zp~TXiaffwWoYYOldCLgm%UdYazv!MJo`KcOOut|&BC15fB>=ZGE0o+;u26=E@}Tv;Pj-z1=zEg5-d+^G$9&|yEOUH_XE zXZ~1NX?-zw{e*BnD$mE!F%$$3C~3{v_-${Q0hjZ$^FceBL*keNr)aM9aTbL{-3(3M z_M%Z-UZPAxR{vJ@+F~z3D7>nx=iBMOoV_7Y{`rN%DM6A@&Wc zo8p<|Q833XF# zPD29aLdZUaqmOZ!zj|WDNy?J zv!`4ory6t6U+cmG=(H#A*G2tx36y7p&pyJvqe{H5^)ee#c_1j?tYRm>c_+Qe4yvS) zoX14CQ5Rd>XNEtf;E~fE{qp?3R@vFK!c_T~?ocmV9C1WOJs+WEg2?D3h$8S zZA&xV-_C!fQ)PikEr|z?iuo~(=CqZ9BGj<-_Fy*$o)S3$$)vUZgsdY*FJ4Zkvf?`8 zS;*!>2C>1gb!%-yHJds=97myYsSVg$A1Lm8=o7E2I8Ny{8;0a{NeWe z0lsr?J{N`~j}G5p6{9^avEeT}9GY$?otGqO6*e%@!Y0|gk*v|V-04ljkc>I)beN*C z9gVPYJJO)GfA*XI?ip0MWLfC+*-E;0sZGD;F@cM@8)U0NxwsZ9nTKaSzF~$1E?nn@B~7WAI~IyI%nC(h8A{D^6AAB~bR4!<(Z8$8 zKXTsMJ8L_~C~{7a%M&k}qYlGQ>WFy!tOIFYRm1J|%=ZB5?ls+}Q9o+v=HzR+O7KA4 z`=ia{Ta%59_gM{}#{8-6dQ9}~XgVV7V`*EiE52LZ@yVUj)(3Ac^Mr)(&mo#Eryqwg zjX6TY!;=4wC`w(kakNh24t>^{JtJEv?|4QuChHTiQ$C_WCp-QJ@G|l8B^WubAE{xB zvyN6NPRogQ+#3SBb1^@+6s?TR0SKHU-j(~T_0zEI(bGM5)~^p zRhWf~a&zL?+S@1Ni+6L|FJPrk-4IpQC!RL1r+6;cxi~l+!*cQ&`C1Oek1{`ZCEzGp znmQS3>P(jf8g$eN-`(J12tnANHH%wSh!U8YALrsyg)9$kyz`|T!z$ifsAuN6ZqU{% z_=i1otxu`mt}9frVGKGE?@U*9AlOook;Fvv``c`c(4~n1KVm}@O8*XIH}R*|0b^pz zyk~6wIf!W^c2tK70l$>9q$DzxPE~8Cmu$k-nY|+;6~A@K~=>&N%E(v+b(M;f|G2B1)A z>i@wA`HR#reYfJiMd3q79{#aHj^VC)x*RbbobivH6Wm`xJ6U#h^d%R4lxl*08A)9> zT|WFvz!0Y_Y&`+BMvc?fc6feh3A5uIpG#y$*Iq~^_AGLC7_Jab(y$m`BnO_0e{!jFS~_`wAu3% z3yd5L63{_(_&_`{j$QJ?WpGvi(J#%6M%1DrY}=@O15%&%x9COa!ON=NYyAOdC-*rp zB64Bea-7PDdCy~perp-ZHkVU3wNoEhr($ga{!TY6QqR4^IFxYo>3p!)<9p>3a*+Mcr(L@U_wfwR0^xr;G z=R7EzqdcPxNucOf-}eD%o7{hG0XY$9yY#LVqFl}#`M7T|XUMl~H?JLbt&FOHQ2NOz zWf%-f31DCi&1Qc0nd#AI;4T0d(P+E)#P?&aVClP%j&Ue0mZH)9h#~EJKWJY3g3y2=df+eM9#BY3zjhWXBe{ z79Sl47$bMLG7Vs;cUL8f;osV^_NA z!as;{pQqT@9%_L3@=fd0;H{7V8?HC>h)}#?+>>v^du0`GT76CA?3Zj~O4<8I=G9bo zt%uhgu{_gKFO%zLg=frha>-34%3j~eSy_ixQUV#`d0kG zwh0(tay4+kz)Z=)>mi19$=ANoWN+2yd;la>XXb}oF-G6#DZ@hgg-BOq)!DDx4ah#G z3!7hT)w+pBrd|?q?(Ag2>iT;%Ic8y&NM(OFS{k;jWy4~0I|H%Zjy<|36Te*sqyCZF z{}@jG+$?nvzUO?Nn$7U`@xC@D+4KTGRIFnR@KBx}50DcxmCMD=*88M!= zh2k6wkR`T$<<2I)3 zyb=-Q=9a5_)wLwlE@u+S>%xU9w&|6RV0yE?Hg@|%A2@Y^iR3DS{Az^MtUrMv+ zR(3O&QHszLizIa$%SEz=#Nhki`cO`C1==8`yv4pqcNm1u82uIioT~oEv=FXZ`#d=5 z?(Ka?%R}DOsf&B>1Sz*@oe6C$&&r~r_{s<}4Lc(0Oz!atN?G&`RKFh-H2escs25|k9eY2=nFT{Hfns5t5GfH}?9x&M_t zFMKMddbx(Xc9&1y%IouHq1VljFnjU}mDwXZf6MOTM%6i=5qNV*7fG^Cx;<2WCmAkrO2MJERM(m;a~@Yyi9kMJ+5X)j`5G^;uUO zG*H^B9vm1kiMRoI22If8HvDk^FwL;pbo`wkfHS=F(44H(3qx=N0b9+&i6E7>IFn)% z5a>=A5eEp>3}vh!?`?dV{=;o#Zjv!*J)@(KK`x4<_A|2z*^cqa< zv$C4G1zDRbGJ&(n>9tOUguV0LDysp)!lR43a!_xyBJ{cavG9YVLqX#YyC)>g2P>T7 z4+!(4i5or_ zn!HGRo;GN2;p8ikhPp7Lp~VWmp!xVp{;+yk4|5?O@fG3Uk4l1pPcC?F$INnVe`S(0rPNb)H0fOW%d1RcRT(-F#9c{Gz1M)P#S@$Psi zgy}mZ_FY>p^rfWsI2kU$y|RERP1Y*Isr@yt=^mu))31=y*|dW8Xl;G6jUzFTMQ%Qp zh#nSQp|Hyf4Jh zu8-x>ZObDKtGM;uD&!}^-ORaHOen6D-LF3c?@}!P%-;l9su7VPKTQ7WtUHQg^<27y zcF!v}*lN0{4U*0{NF|BGGX@LuBGtR$@zUG(zsyGeM_K!}HGO0-Mp~cvg^0`3zTm>3 zBXU=47t`9mI^4|}XDRi(#A!JWQ?A71RM^9xzp(P&8NzES3YgHUZyQf_doU^U!!OAz zIBFRj6@LEn;IL0&h9S!#?`fkC_V`$E*&QYDgi8d|N9W$(&Jc`Se}72ZW6G-**-5-y zInb=})EP%zn@0wNqyUY0! zGCf{7nH6TcuoFsn7Kt4z|Q;N$;*A=Tw&P=L;%o9DM=g zH1ho;FKRK8ibSlAZFJM6Kg20UMpDz@UP$XoX;4@v*aL}yDhyw9`)gimMbMh0!LSSj z9p;+KwUOGmx5Uvt@T#kEsmA+?py`JAH2fOPMsSa+5!ojEpSYxNB9=%NYM((q^&)aH zS*ox~6iWN2;+=~r`8}J~7aEfW{9wf$t{ImMx(t6;v*Xq9`03zPP7*`+QoSXMkOj@r@gUQRwVJT4b2i7E#=E%*Q3m;vz;u zhJp;Z1*N97xhJSZSpc?0R() z3yc!VzXB+Ii<6vR;|b$UQ@Rf`=@ujH!APbJBZpf3`iFGi&IJe@Wjwgf^Io_(;J_vk zZTj%Voc9@&`c7}#DU_z1JmpP0;-u#7kH!?D5;;4=b509Vh_prcVe1SUSM1!ID(}xr zB82m41{G#>gEEicY}-Y)uY3e%XgIEB9IW0vIuqzsrpwujh6fp9)@j+4SByL#PNbG( z#b}^p45jA6K+|Juv0+L0`AqOStEHpmW`oQ1{WZfenJi4g)!H~94d(IX{jzs?!dE$) z$myE-_J|<%na~zV7O8LDdP|s)YdRukZq9&CJKZrvDLPUU4ujO1*)HZU2f)0Z3Dd9( z3yiNG?N9EG?F?k#1zr1mhmFKHH+D8ec2ea6~7(RNHtBl+_i=~6x9{v~6yv~se*iE*l~j!7Nc0&q&yw9u`s zA!h@cae9|WPxQ>ZeLC(BhSfi{X}o1|y^6ron9msvbsM?u?b6ud1DqR{HQ(3?6j^Q#!}`E|89TQ zRkO8Ns26Y`69G6`82QxT&*)s%YOz{&*%H0in?7425_XMJEOfTlV@IYsR*}RFJq&D| z+cOUP+C<}J6$CckXSg9m^;s)Nx*t$r@kdB9DAWY@^k$f|z`-PKb#kXf$%}bOvq;>D z(clBCyfBwyn7kM5O7kR?LhzQ`d!K1=Z^`f0KTm!9d^m%LgjXy7hFE3y$LoL zFyu@Lk5Ac4AUj32ASMp%0mq)u`~0 zK5K5b+j>L`^@zsqpmW`8Ru-QSbcw3j<^*2Pa@(p$nHvocawQqm) z%NwOY>(RV6WD7OrKPIz^5U2`uo>`v`FrstSz$^wc2n;+F0$TXC z_FW7_;ZS$sqO7;^F3y+xSULHG!OJc{2?8n#bVBe;oHO^bdIjDy~e+5w=tPy{?OjyH6f{uQMi=%4a0{H~U?PWB1~ z9g_{@>}+Wk=C9)Nz(m(HJ4IQT8ph^|9h*>2G-%QUBJt|Mv6a*aD$rakJXmY>QfTR0fz zmMaY3BefCinJjytR73`l8CIr5)F9II)zt3|rrbPQyWy<|Iea+TIu9oxF5kEwpCxqZ zx#Kb?{KMD9Iwr5>JU+B?rQ(=cslwRC((U)+%pN>h>$G)#7gDo*jnr;2zJDKD>ul&J zVd0qrD`l0YoCjL^$W$?_UL7nE6Krap2y{0%!W2+Rbg!FC>L9Ec;XPxQ1pPC=?%Qrx33Qi2ot?l^Tmz zGJwVALrT6uTowZAvJo&@+Yp{&9k(RX*4zyvCVXDQ1-!#4K;;ZVGMcJFH*41>iXW1{ z_oWWPrRn@b70*wu`K}f$92Wl_L?VD-R4l~75^Jj~d#N7CjTAPg5m}(mseJ;Dgy+r@ z`IHtVZ^{#5ViBJHpTA}_C(~hO0X16NR+R!#kgDk{6~l8My5LEOi>*%5>r zxqH99Sf}iA8wgANcg~vS3C!fkr~A5Ry?{IpPJSu7EGPc2&EpYETrCA~A(%B%G&t%+ z%-i*+S?x!2*X6YSJ7ySxDU)ZREZRmz9HqW13@a!4Wb^yn9cHnYjFn4F-A#7xJe5gJ z7kBG*!oS4D1&+w7bu6^e^`GzYOlM5i7@B|j}6ftwy!*)40+8Bjs&UYk2+N4G;ln>JXU3NaCM z?9Ll!K~VtuMlv+7sY)11y9Vq2q66TTy94E{=iNc?Q-ZD@J76X84U&5VFWn?YbE9WLzi8-mG_(032bB4HVVfq{m+ zw;5G(AK>I~wC2CMf%zeIz9B1eHRxr3PU>HJlsxbM|_SJX@<;#jA=H{#R@oW{zIN8vmi-SI@M+hJK6K{$Txqx*~78o zyApWQLi%|l=$1pQ+>5}C#&28?ZRwzGRz=#6tbT0VwIcj;eeT10v>G+OgXO#32O7>i z{KYIqVdM^ZBUHgOSf268wq{kQKop=NTjPXHB%Om84gKImX)7p0(20O<8@Bo)QvzUg z(+1*m3~=WsQ$Dmu98i>(<(N5fd>KKdW#AqlWB65nJdFbM1cCkCfrp}ORsA%8!#Qkp zqKhb!VUn7H_7%hlgNbNPXOToE}C1}oWFvw=q6;t%-+_!C20>h8(ule z?jlH$VvIHczT4qx=UAGv@*`jHyf4eVJePYO9R7}*|8cN^fq6QJC(4Fo0cHsA9m7N3 z;@P)tr(U*C$M#M8i`zo#q0Xxv*5|!PpLumc%IMdt?;AFd zT;KRez&m-WXTyQ*fufj=I$bnm7lN$M66!l_bhL>5yF&)1<7nCA6u-;^pxW`v)=fQ= zkfZCfwpD7V;y)<6v zEV_Fk7TWeSQ!r2>lA3?Y$b|7d<8#mmfvPRk{3gdUW$6q}|Nd7wE@`U@88h>{WTXOn z)%aHwX#!}S@s%S(6rDKFTq>K1p2}^hl`J|ld3^6BuXu?Oxmd=yrK#&m?+XlY0Eiu+ zAYmgN9`Ic9lU>gLmoq?itYTB#j}B|-Okkh!t>}{<&1Xt;iFZ&;Djm8y&`ov9h#bY zf150nkIHDFwdGh}IYsHRiJdd>Xh+83rk$g@BaDe*Sm@cyCvdxa!_Y@?JBbiVIXtNT z!*#_rwx7qu1LuZa!_%QCXm(b%Y8*hzx9fhAr%ei4n$X7gb|5(uP-2B>}j}KV=Rv+K=`O{;vP&s`&p7fWC?7WNYdPhUR zGYq0P(r))|*PFfARAm0qes!nFIgrgC7*&7}poH!AXX5K$7#gwjLX!mtBf3aP#nvwA za()=0MI&<^i2UCq@(H|n_^in7V4cVnM9M%r${Df*0X*L~A|-j!&-(Qrh6dxztJ4j3v=vWQm8edVJRJ1iabN%1bO3z6k|E=N zlAhqE{+9?PlJ z{?wAhB8edDV6#a%Kz6~?v~iigE0guxCzO{A=>Fy9nqBJTl2b9P6V{(L>i~LJD&!LP zUFzu*LgODKD;kg;cB(7h#1nlK5jJ8#E#_8C#!!<*VZ{ECNoiQ+a0pvBDmy%4H40X3 zfp>PYd#p_aciPiNc`$gmW$SVANuFHGbCf0i-ykUmgQN&uEeSn(Gu==)e*v_02K*Dl zc;^R>2ET$b$i$i?>59G{@&Oy31~Wg zhvyK56OZH8uZ`}tiH9eK*d#1W0MeRM{0${WtXNp=d;!Ekt3|)Eb?|fvREODVhaPCZ z`nrFuXntk8diSyJwgt`KbIWf5W#iU&8k?%>z|4E|>VR%7fOI8B#5=v`;$|B>f@iCG%e^`9 zx<*F`0`~_7WzISwU&o49yQnypZcO?<>x~KF1_SFZC0qk#S%jCV3eX=$)D53V6)Eg%t>w*j-in}iw2m_B!Jp$>ObhW^@LT6Q4S~tpf%F;NL&B)`gG&eAt|=mtrx zwiAJuZvT%9+JIcGSyhdh&7`5iAEk9k#vkNs2wpN1jad=Dn~(>J6a6Zm zfYbVYzKhm8h2ERZ+mC)4PQ8ez}m#EJ-`mbw8az@sNOe?{46z6=FKI4*j&JLA? z2w{}WNw}WeO}np7RIA)K&5gUo7f`|n(m0zF0|}jG!Q9!5j#)!n@KS~S;g3#wZUEG` zBvHf6?0}rwTr&Ku^SR{K?s+fOJx|a1icM!S%yFllJE-`}hU=aZLRph?NDb`&pDx{e z^!?x`!N*-?n^;q;T}0`rg(bm{?De{OpH(cOWtlpG))HJuA5xBQ6-iq@%g zwn2hDddXv+tU6J5Y^w%Q1}`bHriU#%Vsv#mZ7VY5sPKGF{ThDN#i$tya1SSDEXzt;gb2($^&aI^5TSI-vUXFp zJ*K(ck6_U9gk_C3+tp{f)Y^|b>3A9+^7+Gyq2pZ+{GN!$@_UjW$e%`G{dkWCGB$Ub z2VFDzyl9z~L9TE-O(>s}^^igD<-e8a0OmAo_nMhVIr$q%q8_iJwVcKBSMnt49w`mG z%1;~0YajqvipCD6jTM?Z?`VO`t=k1-3P_abJxv?T75&8jECyl%M4hG^pMJ3<-YPy2 z%rPaiT^{4Ba_?KUKmjJ*`630M>_a*zoRSSI6&cZU#|VuAXoI;7<4$Z7K5aLx??2+) z4_ka+Y&0=xo8qY3MUGE8;5@;kgW6n9v90*>vJP1{^I@KC&UT)-c{gL(2Ov*iidJ_( zxzwG#JpBF}3TGb11Uf?-rm&j73X}dg_5> z1o&Rx%Yj3^tFw3Sb7`@nt(N|aJs6>Vc-627gGfU0&19kQtdEE9G9rk5k@aTC4oE7p zT;rhbMHK#Bpsj)E#P#J#WWSL@Z^d8)mPAMf$Rgz6#0)z@2Ga7HVr&=f(~iwk5Tj1k z54a5e9)C)o-Nk!jU({nKxU^`}`q1_wXm416Twgp#V*7Mr&{;c+=s4(tq+aqt%F#EO zv&wq5A~~6{n)NjvHef+|ejv@!Ug{)s;%LncZb;=nF$w_zu&JcWm#r|Mn=lwF=mJ={ z%1AWH<`9CD+82*Jk^KolSjh6EzI>&Y6sw@*_D4Mv1wwOlCkQp;hhPPxv$0bfBTox_zqGGAj1P> zC8t{D37U zb9;rnA=oc6VVM}Mnb=nGD}!PZt^PsDvPHJGH+?8TP>(h_Vbfg;D;E_wpTXO8TZY;dVDg^)WB% zYq`A&P}~vBez{XI8(s&sM*GU<_AINXjvHDd&m#3JXmL1&{0lp(U&!Eolg0+VDg$Ek z#k_zpC+S1KYSx2 zc;th0xd|-0fzuEE29_5ml$GC{@Xn1X)tD`#+J}elhGoKGl9txu27%A`d+(ar_{qr0 zWEpBH(AoGLU=SS0x*L8FqWpkIh6&IS*iN8*TD}i3zh)gxWKxUf(tmN=N(cYx7{X45VZ~xn+vd=yDySqHuk6$?s`Aq4jD7{g267q#JSo zbu@sn#!!x2pq!H3k|t_7yqdb4s3k3{80oTu=H}6GJGlE(VW!d~;c}Pm-n}{Koqgrd zv1m}$SGR2Cy?iLm=Y^DPu9#X(7{%bXg6Z(capL3M(Q&T7)M)a;EUh39vk2E&cf5>A z!75u{4_khieYejRw?rw}k|up<A(#$2zS zfS)}>TH5n1zsKMKh4a;ZGL+RXsEAJnRUqjKAvu_t-5A<9;nwUu_`Vremu#BrLw6bF$n;hg+0!z)PH3U?NeGt~MG;wg8!cNA#i&-h*Gfvv|@M&iU5`D)!0=8`!q^AH~Im{W4iTj*k?Zjv{$Y-KYL z!b2u3&lJGNhYDaj2sQq3>w$~~dJwpIz=5(qR0MR<&vRMu7W;pI`v+(<7KH{j)h@Yu z7w?ye=m`acCgf{vm;(-8!#UBZx8SaJVaXOXqFs&}R=7VdAh#V4$d@e!w?O1UfnEox z6CSgMiw))8BW!j=&MQ5jlDf-VNq%A|bvLH?gyVbFGv?X#+@vaP$iSVW$_%3CjfZ97 z2R{!5+YfsEW!dC)H=I#mVN9y$__ufIEoke0`Ufr=6Gyg2zo7*{_;}fZN4y zx;Iy|gBTlbSU=t#`VLg{z6+=nF39A7YIcO$E^a(fOw`Pnd+TadocNFZd;|RkNctX( z;PIEPHn#?{4d4`c@6Za!0cuu`Kez{%|9$V04Y)4f?Mc*)2Ud0s`3uU)t@b`txFCmA ze+S&&>bXb@{qQTLetnPbo%}=fi$zQ!)#x0$%u#(EflM6%L{^MB69LoG81~~$DMCT< zz6bfw^54c3SYj*LzEf<+J7Ic(DuicWF|)$FyGy}E(o}x;Yt5Jd1#(4VM`pE|HVFBX zoqac9sn?f>HY?(Q3rA(BO^$)tswBG;+lgnBor$4I-dL4<8>W&)ou);|@#t=cBH4GG z!c5Kr>JsT`Y4fUvO0`fO+0lWdg4fwXU4#LuYJ`eXnc^&7+TV9l)Cv@{4v+Q^im?5J zuvJugp2vA&mFawM!C|z_{uabDv}j+qqO`@VJ@ie{-kwTl==N(cgmWZgI6WBRtOScp zFFzQ=7B_Hdkg`(Bo)w+cJm|sZuo+Xan$9-6Z4)q`u9s;`BzXQ@4Q3(=9?eAY%zqQ7 zzx`q+Z%W~9hC<@W)**eKMPe+ohXm0{d{!=2zmsCt{6=}7?lAgp(fCQECdV=6i;j={LIapOmgIRTT+F!-P4ctX5R*L?xylbkUSb zE72LKC=f&o4r^{V>TY9gNAcwsgsJrry_7nT?2qJUD8y#05dKKLZtEuRb*14wTOmjt zK27D4sl}|mRbKEdh~WvxfvdKC{?3-ftizib>$qVpPGvi@`#GHSk-s(dzOxq;@O>CPrf+~0;*f)zO7Io92MhC~ zSm;J`nCAzsGuYzKc;0Fkn7%4l63&@Y{w=4w`#Og@?wfH%`^04E!6-xVy*{#{U(Hj` zB$e>x@z43at+?M(e#q2{dlfg8y{jmy>TuU$BlUc!leT0!XGtpm8(;QPZ>bWgn~Dm# zQe5Z2froPPKJ*?%bRUt5>aW6Rk*p1cEjOw!5P`fei6QErc7>caCghT8wu1TfOLyed z6_;biHx*$^5h^bCbtQ+sMNAWVFx0OMU*JxwkecU_&n7ayjmos*<)p(4>gu8G8>fQ? z{ZKw7I8L0>O!yX|xFxxz8?K&XjLcI zpU}IW=jS2vS~a_4kt^i&rvquG%Qxw(-(un^0CNJ|OM-8E1;RpFP7-|5Bv?f; zdR21o{0#RMsh-pN6Nc4~GIPAq4VUhZY+~SrLKX5^QWbS(VNlgWf>L14|MOPKRW^|y%OAWl#xO%(0<%*Gsp zWSebFFrztv8vFAG()^c7Ip9e9RW*##Gf5hczVo9hW2ZH#k@zit+Y&qVc2C(VKPZKM zvdkhad!qAjMNE=MTX%iNeS9-?cE1-9tP_iHZZI~YHYC6jU$OHr3K`nqNKzri=Kc66 z?6dJkDhXbY7+4hnc0fvA?YMuteVxurF?&*c5Aq;x2SM0>r92dbPEDZp>H^Vm1$x8` zc?}+ZwgO#dj75nG`>kgVjmKztnLOc~{qysg$i{(9%~%3e4JQ#^$Y^Ji zc#E7jVeA+Kad1H;PbPJVmTrwSA_BXpa4wxcqp2VaBPJm+om18mobCugwv$&UUn&fS z_I(}ZfBRbzSzLE-gWeS>9h|ZoXg8X&zvpfk)vv=$PtW#7(Qswo)qs&C%kGO&6WGkoM2=A;DA~;c|Jsezc=DJCuN>Sb2uM5w4(%#k(rLqtM+QSRJS7R^S5kYn=vUF){GXpi;h=K zKP$;oBbzSy6()SE&~{@Uqe5()?H-*7ZNMqipt9LICtD0`w2lL7JgCp9@+hoo%2w+l zEK}%_kuA`g&+?6V=OiZ`Nv$(Ur79UiHCiyFc6@TGSQuMkdhGvks)^-IjOv@azEx9o z7HOUWB~w*aIqm$Hh+}s`j51$8iw`Vvk7Dt&_>X}%mE%-# zeX3ljvpHbCN(K@3S~lr|FZS!eip-8)!Mnaqd)&9_OwZI+_**PACU$9*eLOWwUCmng zjbatpI&ASxmi}P=*3wLx0)1G)A$t@!z3RRVT%#MKS)-MWRXb}OTFS94pk@m?s-FKD zzezRQk%L5$gX2>C^;POlRpR-w$|~gF6zHH4X{R5Ilc`k3HH?YuB^6{{wm0okE}A z!gn7m^R&dJMe}lX9j)hP z>tm}@lFUP!cXzqvCG{Ft*sSKNrK>VZ845oEfK*^-PwOX?Q-+KdF)(@lZ0K8WZ?9pT z?&xe013mo^H}B%HYjkup&~x&J%k2|NBc$zD8)|2*-T2FR4SEofY+{mmpHl-I8*p|mUYUY+T~9g>;U}eDWj&w zIn9`un%HsW!mCe4IaQ{G*`2!eb%(P65ay*z4#lRFN#}6dFh)Bz4{LHN=T%6(N*5Ny z-K`VZC4#D%sfu*PP!g(t{tb4Ow`Mjyy8HRXGnlR@g3@i4S!Z(fotNU*BCkvJzUOgQ zH{IsoYHwpeO=L({TC{;y#MSvqBJ*}Az`1ACCnD(`$ zJD3zL4WCSvUn^{#)HBmR{HCI+T2U$Vi6K5;0NqAIBJc$;m?Kw`N-4o zJau!bEOQ4mwh{9AW8Aam)OD5bEUKNirt+>aAw9%B%V9cds-)O`%lmXtNFQ+z@=%gF zPTPJ|$D1%rRw|r-U4dDWT>gdB26FJvdIRkeF0k;<#6rk;Po~Myn)7I66OXJOfSq5c zv`fmh`882y$Su)H(y>c~f^sIXz$yFZQ{T_K(XvZR6-M&pZ`IOnbaZrzT5gU@K+&1~ zy4V~q8ULBU9$t5~x7d-$X_W{e<2jPWeFQ#t7Vg}Rk^o+^x3^!huZxa~%KG?!?R{5R zQ`@(_6+MdLITi#ddT2J_(4_`N#ejf-fQk^$K|w%3O6VjiDi(@_-a&c`Dm?^Z14JN5 zml}~0dgviQk~{bL{r?a5`|iX2?z2zZY<5{|t~tjXV=RJOcTBeF%bHbr&cKI>W6kX!pX@Gm9llt-HkqGSP!K7;JUd`H)m7NO+>OD1WFArXEFjjbP1?vX z+Oxwrb3v%YkIDXUFEds&Ldr-h(@D@KaeSSmeKfVd|E4siX2av@z|m6{#H$7d&A%5J zB`6!D>xPB;IrY4|^R>CTbGoN^*c!jos;lG!UwFCpMw_zMSrkf|kxKSHCtI`nQ{a1` z4I@zQB8t^uv@{eXD)M$ZEl9)-$4}9kEy^n_G;?+)b`h=o^lb8Tb6Zapk=^t#fM#=6 zU8(wS;uY=PM)*ksz9Zqf9o2qbXp?j29+5m}eDwnVsv95lV|0cJtA|z^>gjzo#!!Zy z9`Tqd?N&>%v$Jb#f8R$_cJ5!TXgs3i(2+VLq#v|bxT7Y(uhfNR&7g2=Jg2`8`47Ik z(`ec|){$!p7v-eO?0$0YYh$CSv2p7J@A~6~#YJrE1%B0emYG(HQH#c6@Lo}^X|l5W z*yYjD(b^~H#s6p>4nxTlb?1Ky;&W_C*3=zX$xgxLwV=5DlUj#u6yeI5{>sH?cNXa_ z-TWB;V`$f54(XEkYcg5mAU}V~()W);Z=6XJk^`>w!cy!~NCg@;TVuxv%*_l^rITo- zKGRdIyI=D1l?X|LtH#D@%?T<~$$qoO^`XK_c2uEK$8JOX#<1wY=jRpw{44dH!ec7*-|X78 zOVNAo7Iyl(v8t-76j{TuE?8jg10OCGGJL$pE+xdW%wxi&)S**PG+@a%uujFkP23<^ z<2q!H`HdU#Pk9A?`fIt3T)L2M?9^9gpzbx>(am@&wChR9-=BCO676vo`}YQ6$G;uh z9(Z>9mWTUm@MdOF=h9w57~ths&CSP7zdZjZRoQc<7yJ34n~#sr^oL;VqYtSkPo26G z?Aj%L>eNe1U4l&I$RFqz>bn=m5?oF~-n-MOSgLuUWx3%)ZSAc*yx+_$tTHXEeMT$# zh>&Av&pupS#z2UWVVIej1&FPGyRtmY$!lvfaiZ0*pQX?(m_z4{b;mcm`REf0Wr#|KCm0rim z&ioh$2L~k4^HNi_-N%|*{TS8RA3vT$w?UoD7hQHwld?_Bv*i;SQk+^ zq%6avyd9$cSHdq%+Yj&9EA(w;rmxh#U6THwx}@YPcNxRYL~&Uyy=0$aHP7jsDPq-Z z?2beQJ8FjuZt)14&A@k)eHKHn$sX7>@&4gf;QUgHPU?9Z8~#|vpp~$?X9uia;Y%6P z7uBsLo-;S@*xKg#F=y4*r;9r)-R+$ED~yq%z;V}Uj_p|n4s99Fiy8Iuu#{HVPBVu= za^<_?;?9EW3I=iV7fhztzh|KL?-9|sW|xGGZfk4%x9--vO6*Om7pdyhGD*Y4oMSpq zb71VS8n48$lO5<3{{?ivUzt;%xfRKywO$l|8r@srn(oOMEDRFGT_YrVTar9-+uGYZ z({=f(Hx?Qvdy46D<<$VerT2PFdU|^F&}dg26H-OQ`^V-xw{Pdb3>^9^-ir85%h{dI zCh_etLph^gTufh^Fv91JH7A@pb*ixkR}IBxCyI=+QMx>bL|V(~OH!~4ovm4SMoJ)C zQ3jDR?;>`+s`g_#!0dHzdbU-0xxoCsv;5yb*i2e#)0aRSq1Yw1Ey;yJBEFYSnHPNf zS^F|7C8a1hm^b8zij4Bka!ZjgU6~ktXXbnmByyHPg0ejnsVlyf@hvUTxrQ}XfyMYv zNWijQMDX~C3pq{MsrUH4o#PnpTKDgLdxAc#&A8z6Thn#(1J+j-yfu&}GTc=OV&%ZD zC!uF5G_I#zxdbp?jpP6%)xiS?a*We2uGPxoj-h=Q8l;fWL4N0EWSmE%(MYo+k{9$e z=Rfap#GTa z!((c^f{K@rQmdpV=lji8>T(xRT=%xEv(Ojo!bFSeMf@(qmn-^R>)$vJs3|%1UTtV- z&@(jbdh_=uML^ypY}a+&dtR`Vz14o@B#()o8=)fI(U4Rcp0yaw!%ZV4K zhH0*5vf+jd!iyH*)h~~p>?Y@`oI4rv3L|f(>s|8P#O7S=0ZqQN7^Yx>I=O}?4mkSI&)E*G$JNxj=d%J@p3j#7kxcF%U-;E ziRH4H$mDDJF&*h)S|?!=7MK7t1ntoj3y66lUP?+z{{@Y^Tc+YY%M03aQs8Kjdh4h) z#ti@40MelGoW&FpJ=ssZ_T$KG6{8E#s6hMZk3)uMY^hCcb626|@S{ocBGsK^h0h&|m9zO-lXcDgY z($WSH+LOnRpUHg-KEg)TnNjq3J?T{E{00EFg`r_6#4+=&O+5lSYxOA3&}mffsC<1y zY^-;`!XMYKUxy~+y8ku5taSmIOcv{E{_^G30rk5alFQl zVZDqr<{!(;%a^!~>J9iWHlI9svMtXnza!tG$Yzi==}~B1-OFME>G7DYq^qUiu_nyc z*`3(axw*N>vL^eC383E=n-e+!M>4askqR||_;tcF+6Dc9LH%^zxewattq)t0+^MSB z)qGO|nm+dslDMSTcv9!$BKDtjO+z*lx;jw@0-@iPb9;UapP_zJ<%VM#5N!WY^{Ez&- zA{xihuH{~A(i)Svj8m@&=(n1N>#@6G_m~&~WW>B5Cp@P)gO9 zI{{WYWmYbqpZ&fz5@7^=N7kNJ6R`G4l(WyvcGQD8bes2x@?~hH&ymMNUmu4`@`~Og zAb*~)R7GPOK6&!wMx|ROZuOI>!_dbkx&vJ)oFyqhP9dhM5~4K9ntr>Sq}F-+&K&`? zB=pD2aq^?ju+cJB4$$F4#NDAs#zHOCW@Kj{L5~5yQm(D7tvhTZ;yZp!tfAj~IAm<4 z&qW1bB>lIbPw)dI#9|Fglbwy*wmhtu!Gn0o!ccG*3E{U9I+3ujuuy@8F7E`g!vQXw z>FX}IUJN%jMV>HCEQ+{27{Ii$36?9WUWuPyXI~`vjHd+!%he$l-L|zAMAtEx2|y+e zqk+y6#m_@KYsjJ!8{IDD50s(h2j(}C#j;+9W1DHa+WUM5E&gE z59|rXJ3G+llLAGmHdV7eTSZ-mz$8FRi^s9o1Z;wH3kp1NgE019VkdYSa^Cfu+2?LS{BhP~7A^Aj?(}J?|^YZl6 zJ*TfgT^p|6{{XTC!j*%a>T;_Zpk~bZ_LVuAnwxhSQ$Q=d1ufQw4k-jirr<>?+%$U*3n=EHR%QL(Xy%MC#$aoFpfP^DsHONVU` za@5h$kxpf*3QJYZTsfWr?W>NRIN3881Rp?3i7uXvSYMejy>X-W#6Z)Jt2hc|ZjGZM zH`-7tjngn(ul4}7fBsml%;Hxn)%hDqBur}d`78$Y1=aQ4$gJ45+0Zwxg}#1~LGUO@ z*yOE|oG#L#|F$tVRAr^z^rJX&`OFi%>T6FrsgbbHzW0!3hGSSSi=4v|{#UKRD9dl-HCy4%Hie)A6io4J?J3mp_l9O}ZVRq4piM`fb%UXg&`LxF z5h7o`N+nuVDUY+EpKsu}_8}AJyNWPHpbx+m;5-Z4UtKN@#few|;C7U2f)~EYKL~c_ z2oVucNlAs-$-a8&7em^B6G$MO%N*EU;C@|6~?^@8Hl2X@)_SGcaVhT$?`C6EhDK>Lc@x4ynWnk7wnAdb+=bPrfX#-J*f zS@aZjjOgAVCFlM#R^CHT{=E@0BY8<>=zn$x5*7X=EOlABO#FN)Yo2djsCfT}HrO2GTwOf7X`Tjg}iR922hrY|J59>(gk2ua&saw5kC&<5Bn;XvUea5c&iNS~_sa zi4c{+Z@{myv;Zd3G)Y{}dJ?l5q;iSxvV*iW`C1Wq;RTdTSE?}P-R7g-kq2^9J!3)k{#%sm+Np$j7k4eTlO$fxe4yO)z^5Q&xDMB;9_uNzR6$A%SQFu&m}iLEcW8b6gyh8_e*SzO@d&4bN|rV$pp#CY8im#c1W?~oOSuo_ZUYh}gJ0s;a^kQMP9e?;UVq5-I77A(^gWMj91 z%0LDL+_5=ciI9QVP{>I{zePqKD81Wy4ys)z(9<7WQef;6?nkYQycmOm8s7K&9l^UY zp;MDefj0&KKbY*V1dxtD==C(iTBlACGCV3WG6zWW9>M$r30{lEDeUQIVW5F?jZ(A( zQ8+S(iRW6tGIRmy^H^+FnWAvlDM*Pp{`~wr9=a`<0?6`#=B{l%5vT4&9BYb8fBpJT z>_poIgsLRt*6g=$*_;GA&v!J+A`y#XjqI;xjV0veT}8tmK^rN?9i z5ApIKWCq;^gd#F3N@Ak%aBkS9u=@Qf(QC!0Or{GSWV9!*Zu|)3s|&EkU%@aCLu}g? zK{bz@#T$x(Ax9cjG_#5to0>YHcjB8y!P_k#^v#c!#SozruM9bQCLufsu)Z8Fu+gLrPh=-8M8h_REhvR>4-jLgj3tgMS+C{6|FnVIRn zh8s2hm7JAwiaqc+-|4sYh)4ueO4d0E#K$E9j#))RXdG;xbO1}zk-k|m7dePAGLQ~V__Hq|Yu}%G6yCezy=-8zt53zpzMKETa!(@UkTp6xuJzL$;MaKmVts ztZa)<3p}zj81DWKwQ$dSKY5O?;Bb{}IqYr79De zq|5vNfgRn;e;rmtu_ug@m|*L?gngiw@Lqtla;jfTyi(&~8^beMP|*TtsCZ3XG8Zh7 zQ16*=T@lwZ=5pBCK%O|Tf!Z#~J9ZVwfpEcdal_2@<`z819n^*`B+N(w>h_m?h?p%`RSix>x8-DtM|0 z*nzd8`490tR13H}QOU_7DpJ}nk}AKKIVGrh&H8s#?gz^MipD@?`fLHa71^VM;CaBd z28+#6Sa?taNt#g#v6#UgIGEr@t4jZ00U40$RT!7qIH*CztAU}r6y)W_(O@jqYmP7ZR@eJK zs(`1=w%1P4!xLYOjNG>S>A}9%@)(|{c;;28O4j4YkJIbwY6x2wm7kqIhIZ;L zVbu-77V0K0XSG;Sa2kvT%|eCaaAMQuM?A=u87La~u#w<67q}BqEI&My?*5@RE%@KX zPT$Ub$UR;6e>;R69sl3QeMgZ`1;@0J!!?};$l=Y?P5&yNJ)42bY?CbMUobpRJa_BSe*trZL3jWF diff --git a/test/fixtures/app/doc/screenshots/chrome/macos/index-hide_caret-enabled.png b/test/fixtures/app/doc/screenshots/chrome/macos/index-hide_caret-enabled.png deleted file mode 100644 index 840065f958765f8902667ed4be1813c9a1889242..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28774 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 diff --git a/test/fixtures/app/doc/screenshots/chrome/macos/index_with_skip_area_as_array_of_css_and_p.png b/test/fixtures/app/doc/screenshots/chrome/macos/index_with_skip_area_as_array_of_css_and_p.png deleted file mode 100644 index d506803e911bebf7d62d222a76639c0399a18118..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27725 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 diff --git a/test/fixtures/app/doc/screenshots/firefox/linux/cropped_screenshot.png b/test/fixtures/app/doc/screenshots/firefox/linux/cropped_screenshot.png deleted file mode 100644 index 3cbed2adb533179e6bc999792d18158e5f7c8d51..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3467 zcmbtX_gfR`79IqYCcO#L1q6|nNJm7;i7>c=&G&`!WdkgFAl29 z;Osx2X$mgX{yLU{5Jby-agdEnKRp3IR@Fsln1<$VISqhQgpO0pYS&UUQy^*mnz&MuFWx)<(ba0Apf>Y9AZ)k~e zIq;(e*O}$02JW_~oji)N3wg#C(a?1|IF*H8R$2bOoWF@b$W=Yaz2Yn=)p8UFaMo`SHYr)zM=50|k$Uh6ajgN!!l|1Y&G#j3OFYaMuul zP&?Tow{4DiqRBTgIY|wMGJhI@()f<>4_@ zRaN!Qj)@`178h3@$20JWK&HmV?PA=_%$oG{^to`n-2)sBclqqi+}*(K`FqZ;uJa>U zeJHxBO6KHn;pNu;J_CbOU3?rI95;l89XG$@4>#&( zAV?{XzO1ZlWpgvWsAwV9r68Q782aRiz@0m6JUl#{*RHiSM;`nC7`#S4nVWn4-I(X% z@^T=oloTu8c3etRSH7e*xFJ?rBt^8hw>QXkL~7hjn&|HC9*JSNs{{3Rb;Sh)1Q44T)J{^_B`nnQ^Yg*q z)85|RE*|qtSm|aNkfzJZ${KEZ^7E#IL{gwC27|eg-q+jLmr&zfF_2J&Y0hb9h_zgx87rnb)$N|MfbCeE=WoBMPf@&LDb_J z+9+356B=V1n-r}6Ir**fE2KEJntU;P%c!#_4;dGD1wRR>Xo1Kx{CnA8YGA036MY-7i#VxNe`Vk>KE zv>Y7;rlzL0TFDvs@80DFo%ZnXsI0AxD=)uALqkK?e_g>JB9Tay)zz9oL2wibCDMc{ zh&sE*#Ke?3uw+zbN^A%e4N{s8Dql?TH=jsNN}@w|ITd5EWDqkm^X&S1(#B*xIRpZ? zCcG-%zI{sufd2;OMla`0Y*p+Y8e*j9RY41Br_656bsX-FKB#i)qM>78C@LwrT+w_a zF6T2rfioL;b&Zo#-Ni-N%F1f!+qVP~$rm8>+TM15<}Hin2t~7xHVHp|xJGPuaUA~0 z@vC(En&0?PxCAz*uz%j$_v=r7pS{&FidKj6_wSv2p8i_mNYle+WM}IIG~^QURh8!y z;apeA3d_wan1|2RxTaMo_}JL)egFP_y%||5q_3~9^k|-7E*wWHb*jJT~?V@+@&?>5`rSH=k`+0n{c%L3R?uR%y@TaAvRfZqlo?%Y&>`f*5qVWTu{9y*TOSD7$mh)hsGOO!v_sNjMS#0&$y_)1y}QetGX?h_Ic zVmXqB!($H*L)WJpLtfm%*H6`+3mhM8YU}IMii?YHeRC^#TV0*@#mn7Y-P>D2MMVWL zd}wNF@UAe-F(`<&6q)CAu(q})fYF%+ZE;vzUXI_{2}nv#{&Lt9lIB4>GBfkCq(p=u z_ub@Z;icLZ=$W9rJVzpjR5u|{xyoZy1R(el^rz>Y{{DV-#E?5&2Z?MJ;t;~hfIZ`<{FR#jHQVwcui@7pPBvJtpl(70l zB_kulnAint<^(9{?CNqHd;gn7wKFwf9VRo=uF~ zcaZ&?_ha(o1M@<{!otNyH%ax}Fjuo=ms1u-in(j&TpIaLk34qw_NM*hT?bq4r$*75 z(9Ex{K7aPCEqpE!iWYN|T-^(cIQF5Gv|0IVe)o%KY+132mb+GH_XoDc_BdKVyi`3b zIwhrfhExcsBA(eFq_MiTR^>S+{?1fJq=<4b!gphLkM9)O4A8%L%1qW-CnL7PFf?Zi%l_mPJj}r*= zA3uJShUIkA_GWBn5{VYo)zz}u%X4!Y$;rtf-V)1pEL>cAYvVXr-z!JX7fDI*Y;!w1 zBsn=bY`^CQ^0y+SYjNA&dd!5&jEFff23J3Bi$GkC6FM?^%Zn2NJS zL`KdnEX3ff>;HqpeR-E`g+o*&VE$I%H1&+_tk07cs36-`#VibabH3!@>U z&`^cne)|n$S5Yuj2S|?)Wa0s~hDLv~x*dl?86yxB*1kbO8SNb%VhRdx@Z}Q|6TQR3 znA0DszAV6^xsp+6^!xYkb;L7Ao{?Wcquu@eQ-QQmL6nq~!`gh2h|&iICBWz|sjHpt zvaFd~TXXk0%UZQORoy!{7#%A&_vk=fU0hs*7l{^ERt^=O;AnLXaU6nz=@bHjK;k)c zvBsCwfsE|-->NWjalt-Q@T|?gL{6^g0ZdZ}G6lPgkRShxtnl}qlt=5pR*1n*7v${Cze# zsvGz29RyKaxe~ZOGCGP$O_eS))X|{=YK+WR>CUH@7BLbG@^jh}imS$TE3q+5{bP3SDhC;ds2yj)4`62mC|QfNku0- z=p8Q7#=L&*27gdGS|w^Kp1HNV+gZ_a=IQV{KR<;<6bV7EZd+fT?KUOk^!4?%9dEXL zt-8h$p4;7hpGYJ+%(cgr{6VO89~K1S7l62MOl|ERA09WQH&#-R!I}%Od<;VHEil_5 zB9W7c$+q!v^2o?Y@8Dn(3)Sq(aFMgGFA^Zodjg25p&mBP$EYXV$kEZ!n_=}}CQ8)J z%}ptIm9<9%V7eAegaTOx-TT#O5&ES$5(#Nt=k0jV6K?rc?Oes9)@sDFc6UBeDh-QW z;`zlF0PE%oHd&49?X)ukVBVOhP2`Q-eP~=}3XeLAsIIRs6)lKJYd${5F9LQZ*Nb-z_7e4=UcnIwZ+fJ$9Ht{^Xs>h z`FSVgB04sfLT)Fvp+V8o%IboOUiP-OhG%DI7h~P@bl%R+&P_Nx;|C#6AIzj%Tb09W zQW6q3P>wnh?CCa=qA14|T>W=hPi4y>bl<9ric+lf2?6H1;Vxy*1jPF}zls)mu@x4p zL;vpwxqk+~Buim5W1q%s9h0Eq7M(y^3|OESrNz>(HnLD-u9NO)-njD5w~n$P^q)nC zGZp4KScF{MXtmV=1&F7bV*B6Y{}p}|Kh@U@^SH?W@2IK4m@h!p4x`Wr{r_*C aQ~usn9%J13LJ+)NLAv*lh>w~M&;JV=k9^et diff --git a/test/fixtures/app/doc/screenshots/firefox/linux/index-blur_active_element-disabled.png b/test/fixtures/app/doc/screenshots/firefox/linux/index-blur_active_element-disabled.png deleted file mode 100644 index 4a9e2fa6d2b104920e7c0ec2ddff09967c579c1d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33206 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 diff --git a/test/fixtures/app/doc/screenshots/firefox/linux/index-blur_active_element-enabled.png b/test/fixtures/app/doc/screenshots/firefox/linux/index-blur_active_element-enabled.png deleted file mode 100644 index e94ed03415074360445c63ad335a8df6f0ad9d14..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32496 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 Aq5uE@ diff --git a/test/fixtures/app/doc/screenshots/firefox/linux/index-cropped.png b/test/fixtures/app/doc/screenshots/firefox/linux/index-cropped.png deleted file mode 100644 index a4275fdb65e9e3dd5b8456d5679b4b99ea1ebd6a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5762 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 MrXIZVmQC1y0k**H5&!@I diff --git a/test/fixtures/app/doc/screenshots/firefox/linux/index-hide_caret-disabled.png b/test/fixtures/app/doc/screenshots/firefox/linux/index-hide_caret-disabled.png deleted file mode 100644 index c4e3c4a2a940196dab6d5f7b8f53fb9010dc4863..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32826 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 ~a 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 Aq5uE@ diff --git a/test/fixtures/app/doc/screenshots/firefox/macos/cropped_screenshot.png b/test/fixtures/app/doc/screenshots/firefox/macos/cropped_screenshot.png deleted file mode 100644 index 3d3e56dcb5ad25fe805b545cbd4c3be8e775d23b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2120 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

    p~=X-1KJpXnKL zUqPo;&F0hA(~Kkl5M~Dlk3SZdag>FU{lcG7aLh9{+l)(pN%5KE>{$r^JeW-0$R1<8 zDYzj4m=Tc33>z1pJHh)TVEl%}zUJj5{99Q31glI2MEoTF{XGK+{HF6)M+J~Z*x42Z zK8BX(gU7}Da0JM%N{wSs>k*N_FGI9hzq6MC0*{Pke+3|#5xdBUBBoQ9t3;~h^U>~I z=LQf<{V@+Uf`>Wqlq!Yt0#6T+;wb=;vk^H&#Bfng*lP@uqXq~fh)G7Qv`o-TjS0He zw*m)CUv_hg&^%Va;@|&a!G9G%;FF#`O0n6UbiFW2M3CL0aQ5J+;EN}Jft2t8Jss`X zOX_`R)rDse008+*_$4Ut;A$Pu6j4XiDc+(^LBzlT&~ztEAH0qC`xmYk0P!Y!M?9+n z);Bw-tQNk0gCfnrveO$j%Rya%;#MnxyW6;#4zZ2=6h*fQ94+Z*I7ElfJr>d6Iq!f# za2x*bPzVW6km3+fWe2^-!4-U`yhy>V6zoC%0cj91Q1Mi=tu(-FZEr#VLL?5tl!KFg+zkb(;0rIn! zWR^DaR0Vp|&dmiNZj4(~9NIR8W-b9@rdjgoUOY{~US_0PGTo|>oh?k+MNRTM%h&xd zK+0SIV*R@M->t%MNXzucSV7_5j-Fwg_dobTL}%Ql*ur#*sW>JI=B-Tqh^$^kVU;Vm zh(@;wDU@H4EVgAdkR2@D3f2b~-%HI%&;>iBI$rMQD5q``K$nX>DcydY?CtR)f|Rpe z89XJ@3LY{I{ennqAfyH{HZ4=>qK1K|q>G88bUL#}FMtASH-s2?H8u1H z`4akA5%1WI3Q+;k0Z{_7I{}ezS#l>lVUooWGDX@4E#gXtlZvX_DMbJ!HvJ{rxkabE zXL6;qdwat#(PY5E>r$fUC99A~9oyH;8N){7S4SR^=k8u(eqp`X2K8J`p_$LLy5407 zxyWrIuDAM@Sbir+#|+aM7mp2-l&FQ-On{i`g*pWSFm#GDUD57ZlUN3cF0EaCDyQh^ z>I-iLoNfZ>ddM9(?w{xWF*5?l3d@5(pT`Ch@Vdf6Bp2T$#UKHFt?6n zp?@}SF$I+ZASbC-)F93l8&%ocC=co;`A@jO_75NDoc_yweJ&TsxI`#mRS|321~(ag z;)pt0y$~P)+0h%mhUZ^0=~1$2N9gPoh~tejz1%lslxqzvQC*FGFD~>r`+b+ywNPts z2KC;JrjA=lWNWaoHz1TpAmS#CLSKngZIlmYImx-Blu_`M8v*$hci5gS7d8M{55?Dh zMW_77Me#n&0MWbdOFT_#h$ar2ZcDOt$~*7|o!-^m)#!M6$~0_|a>{ZChZP{R)$$k5 zD3(egXsd#uDYH{z6wy|oXs}o>uC*qyfic}C?&bk1>)y&L7%_FLDYVLi_c>6cBLeJC zn9l&%1*%D`q?&*RkJj+6=y^3nQmy1XytlPzp-a7ZLNnmvOuVS z9jSbt^BOGZH}Eq*dqs-nK{O&ReM}VggH-LbQ|~}D-GAao_lAP0qc@u+Q;Wo<2SqSiux#UoC|f(WSAbJpY}?hc7f_J z=_xe!Gv=)_X)NvlF@RyvOSEU7lR@>@0Ad!=R-rccjlLpviY;J~+j|-yazQ>Ah4X6&Bj=R#i6>+Y*;f6g}oO( z4tpX2nFD70AT%P9oXA{E0mUmR!M=s^o4u&2?JCu^99bMLJX}`Stl2@ zpoDlS>=myEd+zNq0P;D5!?JMXVK-W(n!*9W2n`VH&+p>xuBYT{tz<#VG3pPyu|90= zGPwi9N(V7P;tCLJO=7*I`e^laeW|Sg(UC=_W)&`!dTWX%Ro$lth&9EN|992Q05U%D zA9O+F;TJ+tIKCG7{tJ;F+@q}0HY#%zle7C8^*lUA?GJZTarXv_sPW)J{D4T85Fr49 z4Xk%16-+>PN3_8EAQH#Usp6~(ltK<)Mku4JrN{sP0y9ZOK~%Gr#CdcoYbm=FRd#(x zZFeqGM}I6ebruSM$Or;)I_!gBfhj!UIUT zy*F1aWa%12pU)H%cRH&1d<71xkKcSvu(WWbKK%ed%rwiaL#78wi5nN{!zq*%KpG6w zov8qsI%stLny%4nMgSRm^Y7#n^p@L=(7nYlE;M#b{L!9>T)B%H+Vg2(D1h!f@gm!; zZ4_%?!>wGTNdNb%7 literal 2088 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 z zfVR3JML4(bD6Dv2(2Mfm`yLFz0fczm!y3Z8&^qoRjQ|KI1D;YAp?bS{y^?MyO>^~^ zOM;R`VC8u2O9EuSjs5f^ccj~pwr&80w~5pE2W-an#$BMfRb4s=zwznE zpUJdno-KJ_J(^NRZ*rXm#zuu0QI`p7rBY%?$!Z3zGG@3Ojm;Hmwlkci$tTyemT%iEh)$u0?J(O^<9GVJst{q2y1SA!FzED)Y5rU z#wMNGU7i}syR561JE=2l83>}xRrQJ}=N zQ_p7n=K0LWImdEFyuM?Tx%YfM#gixeOjXmcG@Y^=pto_htv2OsM46QSgI0sy7O~_0 zH964bIE)5~FYjRmnn<^B9`p6xYYg=oU_4jyE^5V09GYckw|?pE`&Lqw zQ~HRHvdn<fnB^BN@9;uuf_gtrs z@rVJOa^34$45wFnndz0(?_3(g3milIayetne*6WDx>Ur)yo2OQPhKx*+C-gS0%=o8 z|GrM&>NyvRs?^J@jawew8efd}BoY+wY6t=zSkJ$+45FII9{*m9wbh!?ENIHU9YoWr z`bEY6*`{2~wU&<~!7~Hx>_A#4NpxX5XgtmMQKfyP`h>Zt&jj(>(Iav-tDxYHuV~x3 z$i-)Gs7DexniesIi16AcUx!z?^NwzEW~$3XTyl>dOJ%ChvOTng4C8ZrQe0pa<{5Q+ z8)96^>|59u541}G($(?U)N4emogD%qGTC;zl|fig-o!X5f*fRhm{-_3aDcoNY5uoO z$`}ToH1F^n7k5KC(g}&O1z{aJt|aIbyVYdaEl=4bGm{-|39?VpkzXME`0X#d$%B4x z(txbgFeBm4R(-v;AcUGo5zx7*jSIGdQqTxk=oQS|IZs5aFE1;kZ0u75=<1`xrP zg2x_X0f^+859P)^fq1>?u=0Ar_MZ*vDIlOJbK%P#PTyryp#8a$?*BvBTSi44wSA+a zAPo{jcSv`)4Ba(!35b*+Esb{%2!o_ZcZbB#oWIXm@0au3_j_D^@q@9P zJ=gx_wPT+mTgUW)NU`=>P~*Kt$#xu_srY-)CH>Z4l~5*}Uix>0Kpvsrdxc&&(yheY z&G2tq4JQTNkm>NllJ7psV#p9s=nC#+OVILdBGNr_QT!+z3U_7784-ZhGRS<0Hj9r- zGMYmptxrUXNOTo@XXYW@-__sxc!4aMNA+eYgoC-Wfv5pH9<9|f&dqyUIL$hEDT=M0 z2k<|20NW!XEJ5!dJ6*q_9D}))!(sFI#Sf3&5TLxoAEXe(*atnt)8ApR7qGOSqb*#P z`|yeUuTer#0SkqtrX zT!6ItA6Q!oEuk-QgV{mt&-jw0xkY7D1mTi!7U(JtXt4MLY5)3c@;p5#K@MFRwb_ccPXs^vbw=^38O!Qsr@8IQnz@hbjNO=o8M0-_} z9sGMy3slvZy!O(noakt~nNyQi3>oOn_X6o4P<+Obc3~KEH(%wy9JP&d_iO}9qdI5? z+7Wi&O|kKo8}P;UV|ke1g@e|+&(U2Mqv9~Wm_&4`?5Ng*J!=vfJ2Z!%g-JqqTHY0a z(@ctwBB(b^R%!b1U+db0jr9e1e3L4EYv54?aI~;95fez#-25d0 z{A2|{)*?)ml3V`5x%ovxA;2*GIskW_F9MH(FKjBH*ja+LsW&m3g;s};sphZ*37@6T_Ef}4i8uE(fd(jkIv-w3kI@A1AM4_COvn>|gRK)qM zv@Y9>ey?1OXSxx3L1bg%v=Y0BWAm=DR^BA!#eJQ@hI=h3P8oUSF%gj2x3C_jGw_;- zXt?{teU?%8W8Pm9YpFY=a_1A^saMDc4r{{J+&MJy^iLwQ?y}*(y9nkwu8OzT@c0)c zVivLkDr{q5Tudh-I%2@+A;l_Vr= zzL}d6AjOurA@!d{&p+xQhXvjA7r$LB02glFb64alXTN`WimTzkAfcUyLxFkt7)@|| z4*0`|Pk!$Yh8jeDg%rP8cw0#Rq9_hIlLJ(Jty}?qta~aILZM)c_&^h1dwO0w48k!R6BxPLy_H3A^9siAoK=KNWr{T3DOs^B~Yx)D*_1Q}>UP4X$)k$P? z&R$PH`3y+OG`#-6qZeaD-9Y%qGJQia9DNakebxN-sR5C;;o(6VdW>eI zc`QxqeJV$$aR-!jv3sY9EZ zF6~TG;0NC0h3|d$-I}RwbUG|zRp0ehw_F)J#Gw2*%=%E>1asxb9udPk3gHqa}Ex%X)3u~-~pc`-hh(lMavkjUMwc2X@CI9jK*y{EMx=FWKu#S+Ai-CTi z^az@fXt17;bj)nozK2X@Fj0Eb4Q>gBDfSBvr;j3HOruI^G8G7jq2Xm#poR*vz5P<-Sw}nciYgP5<88Fj7JSJUI zv2H{U!lm8WwM&`V53TP6V*kwY<=C!4cv<$6B#p@aB4rVl-@F;z_-e_T?h+Pd)hbSwxdflyzW`;v0JP$!|ph3#g0 zbsmqt(eXw9;gFT2BmQ}ynpF06P1X4o6;I`;AC->VP-4-z?$@l;MWJD45_wM-E{qv( z*6I(^J^{qf&DDCx-2kMeTIDu1IyW47EU_ekkfPV!g+*gm_SGxPmtg$wgCPAX^oipd zIIA;shhkIVI&;1*TgS{!l6eD;2X<63OggP+w$Ib24UhF)!oN144I_h zWX|rK6GZwq6X}>O2;Wzk7H)OS^+q(O>Z)fv{|?n{SC(dxZtiY`nV4r~iZx-fW*#8h z@ojQ|*Oy(}!P-|08Xp#TgRP|cBu-yYiEz|I&NgA}o#5G5NsY0oojjXgJ{2~Wp>KIy zR>0LVeati`0moZDKHTuU(N<={RB$;DKy85;)Bc(2?2pqei` z3RBys5?5dN$wGATy9)1*vzh-@>dGhJ$&Ma*xp&?y|sL{i+>!nzBlKCubhUqNRNL0?N57mPzP&UJ-#7&7# z&S;suWHT1{pF^h-VU!rw$sc9&jT`Helx4*2n?%I52M$e(kgg*qJeWL8*3m+BWmUw3U3CDDr$<^MGp{+*EP^M41ToFm6!sO`^- z)|+?F^_suc`w5N)e}+xjrLl9aki#;w{Y^qF4E&`%XpJP~ndYn$o!=IzK<8!bK#&)f zWlBUoli;5Et|V>gn0Zt-Lq8f3Fac}hBqqq{D54Oe^?d|%A*n>Nl4ZLd8h{0yjNg`{ zK|iOFjNX)6!OL|M4WwDfeYE;CsdyetE5Ryz!k%rIJM1r8S+}CjF(~|(dnI-${pe?3 zQFMH+C{dDS(xBycB9*kDUfaCG!=*@@_RiZLz?et`g)(u{iP&JZmDY(=2A4$txHW=I z&lOfTd!^b zYe#k_5*NvGrC__q=mnx$MaHN-iCm0l13qt&4{W1^#J1q(@8Sl&on&p;X)a>UTmekg z>z-d#rO`oieJyL+BzLqaAmEZ6@MAG+PJsV+SYp5$V~?d24w zy%Jkd<1=5Mj!4Bs()ltFZPPN=5d*(>fG338Bky^!)OW6Zn`^np=+C=7Rc;9MI&D1z zb)}!a{g!e@k7!>p?hFTLD(Pe%DAReO)A2r@4!a-|v)|1$?QP#B<16x4_7yyaREfL0 z83^s4tdv0@rw`yJ>Ynruy_HO&4VDp#pkNxb|NZlcusa&UBXP%umEx;O8+IOxgAN zOnQfsT0@xdrfDA(|gofIVY>6^$*{1*_Gj%!6+j{=`$wUC%L$@=)~eut0o1n zb#qQ1h!nbddMzeCIuD)ye3(kC$@e@MB{)a~ygYFm)ai{~Q@TrC8MyQ=Rpu zgm9MbwIfz959Yo&N9B3rOT^~{XWUyki6;;j{Zrxco#DfFOXNg`9MCfTg&CeyIj-QO zgsTGj4U^dKjHP3KZ!eH&NG|2`vCT-huG3_vE zWmq_*P@@$dCwcj9XiZez>c1g~iLELnP?=BV`uHm+iOfw{faA7EQ?UITX7r#E4CoE~ z7n$G?_s^h`=!cgxB(K@^`0eaKsoF00Px%mOI}rbcN!25>UOuhidW&{gp{j-O$^i^x zN?Dz{V51Njo1W-RBUz$<`DHONn^cqITp05Ta z9guB7G#F=vt{d$%kD=Y_LO2e7VO1b=rrQc66Liv!oRd`7L>~ z@xD-p78F&TvWZ}=toNUCiX$iZ>9lShZusCT*U|*7Z;qZgk7Xw_J%-aS8~s97B4F}s z$gPtiN12udc5H`Or+jiAH5WW8r5;izJwM48%kPv zA5FIGvQJcEvIr~}Y; zy`2(b@6x)Nn|(R^YMv;G)~-Fj)`niY z?p~@D7RAb8JkYhi*1hl6?6m{=G=TH^vKg?6jqob_;8#N+A? z&nc+qJKKfLwL*Zb?IKx`&UPCs<2UEeQ(_e_8D2Y50C_a_xD0N~W=T`Qo#>|3cz0 zI+2>Gj^q5@s|lr13L@lEdb7dnv+!SpiVld^*S*4)2@ceh{fdxvYnYW zagQ2Q8>frPqnFOTt{GDdiheYB>+wJNRfqr}+@QL;`|a~;hBd=`4f?u6fgcBCnlqXq z(e1a`ZFJw>K6BY4I887K4?(aVOPYUYtg?`dk4a1A=k492LmU!WY_y|ItQroK#M5-u zQ)X`63|B--+slz8E1S`_i9c_{cB(k;iVHsehQ`bnX1%Dco&j*6(C7!JY;6>D(0i^P zYm0U8FfP05V(fB|Sc90e7;rTxI9W~hnWVp!{)*D2feuOyUCXe>n()(+)i--%T`sZU zW2w1h5HjEB(u&Ht*8Nc3J|TZ&)^SpgW<2r9`Ql;t3#)oJ^(xURlH?jSfPTU=E({sA zQ~}u+qhSvdE!r?Ncc-!alY&7-fpV6Ax$(7+J;ID~;@HYa^aoDu1H2Tn`%A66TnmA` zM82}OnSFAVZjXpkuZHV~et4k!Z7Bm4X3!4%Phb5$sgOEWU0|8aj}gp98nq}?+}yOc z2WL2fP6zd0bNgpdjkIBBqo%^{wQ;4-yCBk+ROBN#Pbu0k&svL$UmQ;4(V)`&na`*7 zidthJ+AMypaDWEb@xr8+?zs|KRj1Ef!7w|Hp#BS0Hk_Q9_dU`^C>)FV-OK$&0}>q~ z!d^XL3a3oMcU}EmJACXSi4d1{*A~%_OTzxe8ccezYui>FTI+-T|9C4jFX0>V8u=Mf z!(PlV$B~?zKc#&(o92{3*xz;|!qgVGp8&8HUcBEqowvi8qgMOtQF!1vVjqf)R>bv+g zDh1*u%^E{TAVT~poZf8386{FOXkGbQ&!Cge!cyqNRNSe_&*G9La#z@wQ^$KRCQl|R zrjsDka6Ge3lKu`jVG?LZYxajbFF?a-IEfo;#9X_@XM zSQ6d8->s8it_*Sygg+=0*TvjusDL6Igp;gY_5KSZluD_i*ByI=5-=D!Z-POo z*GFPN!d`*E`SM+CG2i45i_xRcX?H%)(L3Je zens`nlz09i81B1_g#0B(Rz3uTk=>c7n-_OlLfd(2yngO+E03#Q;pTI59Lf39DtvBJzl<3g>ui9VECA)FtK_x(f+rq;AB8QiM8x~;MN67ijEN=a4vD$CLs29FN`2*GQ& zwPJh@we{saGVv3&#g0-G=p4|zBEv95TL77A-_OjKKVBsV!t;`R4&_?Dnx5023dP!# zT^AytS6tFgni;kfsY(^308ecf)MG%}fqf|Bowd zDq&UVxg_SO%~Y$c01zJ+HQ2oQ>0efrb@THSs9zN!FA;<*vD_B=o<{g@^XQjFnwU25G$fLOJljT~8!qS+ljS?J@C*tiQwDtcP#YJkOMT;;^Y$P7{E?^oBFLN_gLg}0z}N51~_X)Gu(3(a5sF2lSFRc#iralqKm@%P81YS%`oes+=qpFpO0YE7`s{w5w~x+Lv`*Oo0n8X zrqv(HEe;wm5>^pt(cUq;sVEHAYBa@f(c1p)Nwk;qHkE*qS7}WdL_u$jrke;iF5mFK zPy4|0)$2uRSNWQ`{SSQPC{PPP`nFDMxN&chY@T-y?R}9Vi+{&`PdQ-goRF@_YCqRrXs_G{GQNhPQAVRpCl7 z6NF+#wQ}BqM(;z39{iyn5&wD*-qnzlYN?6zH@B8ko`8)tfK9jJF8QkE$hqdfNe0N> zSrF+Fth@0>SA1ZWN~f_>^%$(}^$IXv8FkJkvjUpLwMr#8UDd)hnIZbU zdf+N;0~nE)WSCN$S7>H@I;+n^0UbyS0U7bakQ^tC%qI)c37br28jStpiR!#B?2scI z>Sr32fnN=>VU=KTJb=m7psW5=HQRECuKf(PiRQJ*r)donQu|WzAPvJO1*hwl|Z>0qbQSb@PuPJ_a({7+VfsWH(^+Dpr zQw6C9yH4w+S1OEH^ohY;^AZ)EY?c$#8Pi1Cc?{oj>U~o3-OJx{shX2f>rkT9Ie~gj ztvT)Z+cfQI!7s&?62$)fYZ=B3z4L#uAy@hG1~6J->+E_10A{sVeOfiz6g0tDigpV! zb{0HEHPH)PiTcy~6}VocOPX@tC{5U1-h5*|5DPi<>L&xjG?d+en;ja zfQH?bx9mwc^Dw75vlkVcY!o`E_I=zc3x!A-rEo>wj^^$r&u(@^M2-Df(pwkVhsTX{ z^K*gXyCg{&FqZ!|0Ny9|rQ9c!D%N-^kbw_RMR`&M#3;T3-N{OoN!Ga8(T4S|B(c5^ zcp!T+LHUmwwA5;qB52C(X>}m%#m<6-XH7&EL#Q z3ylvW+El9W+U3Sn$Va&j*Ps>l#40>XL5t3euo-^-Ve!4o!3aryF@b)&VFkRLDW~iA zL{VrO=5JY3!N;&O}->3ad#y)bWN4 zdL(NWznm7MmZA=lj408RK*Tc}M;Vk}Y0bpTVRvWHE407u>V@7HbUtNuMb;Pizp^yw z>JQPxF>xv#fds(GGm2@+qi?Z>1I#C4A$cPmyA&4+X5N%^_^;Ov#ZcKU$+?Vh+#XP8 zsz{VUx2Xi}URt6oksE0%XL8nn znRIu5u>z`qv_iT`;jzB5=5JUfTa#a4G=%m)5z^D0zq%#SnKyy|LpfXvW1d=iZjO*l z+7K^4eRwZy5k&N4H)&@6VBu8AC;+DuQ~|ZieV|(E6XN)A@&qm`z(7qFQUn*koPCZ| zfb&{iF*)OBTTINVm{lMf)g|f@5{A8WO4sh=KX)d&9MGXYRv?Q}voE89KVM7k|InYe z;c;&$ng&Q|RV%`SV7WKbbY`XMv@AAQENv-~qZtZ{i_dc&wrAQh`nG(Fg}rMOjED7m zVgjaEF7IbISms-kpPfY!urY6iFhnzPR*3^j<=Nr}<%gL>Tj{SDxyEdN3$a*3N4tX{S5k(bW zQMQ^cD=MmVbt3-B-9Qt&HZz%384foJovmfRz>%}^n+3g?O3+;PCDoc4S~K-}#@Tk) zy1W6n8H+LHtcjGZgw3GsUSnq-cg*7fd+jiVN6AoKDzN+k3qOwe5PZ!4LRDPW;*N4a z&s4!HbHN72C=1D;Zym#;-BL)Jcg9fb7n+n>`+T)*@D9`hcxptokH8%>wtn01lB0*9 zV+{JBH^@&mw$sFWCsma;d5of7A$;Xc220mQ(VaM)9T9EBW-NqDC?GJSgc-CF0c|kc zgZEZ6(b3*lxs4{sYA8um{cRyK$$y$8$ZHcDz$kHxc?v&oL3O#keKx+lzf;H>Q-v68 z)mv}A#KI(E&|UNb;GQ16u$xZRQ^7#g1W`v%A}dY~Pa?~B%ehU3W#~Tdt^ocENdmU` zBm-&8sU~r;1lyQp1_()RiBXa~)q>QKaSEp37M6OIa2X@c2Pst+;u-N&WobGTY!1JZ z$x_q$oWg*9+H=pGZ@a)ng9l6xdQoe#k+x#Mx6|f}-po;wef{%0pBIisj?IjB#_EqK z8TK^({)-QoF)ZmP@n7%XR1zlSrk%lEND)WGGY)R|qUfv_d2xS4V+er3VweX&+ToL= zHx?ULX>es9oWR){uY75Hj;QEZHNHaD(j1;gaFs;= zv$X)515hveA3{y*N4YI4>00k;@DC;mst+U=UW&tcUWGHt1tQ2Pt`xlFhLGi@80V`3l>O{nFJl){g5KB!FcyAPyWt~<3{$sk=OJ(I^8j@ zM{-W%xYffNS|V2Fnst6AJ*=}}Nshx6FY%yk`&ucAjXB$nVq#H4#cTS?_0K*D`y>}i zI1pWFFbbo1hUrmnQcSMVQRG7S09vi1@Z|SPDkEzdN+u+v@ z_AsY9Rso8uqag8Q6Co0TX&5pkd8tHB`)u4n!tLs=L}X+M9#FZZtE(nQ*`fp#39ShQ zyj))NI=G0qN9Kl`%dLE!Xn?Y|t@hCLm`hHnjrL2b4`vBEdhv2p~iK=ifY1;;$|x%oDn-e zF(FdXL|Xew7;wV1jFw`5+={AKF<0B}tfbV1KXO)8%Bbn!k^SL=|H_TsK1PN#p#V!Q z@xVXSd%wMvGI5PH%<{_VBnKQV7d9VM{m+Y$3*#O%8p(+7JfjAV9k@ZIWs#MV5uNYJ zr#)qh8tBQt#Gx?PaLIbhNJ5Q&O-@tB9pm9*ss1hqTtuqr(yFj!mw9i&HA?f(syjrW zPb|(^Sc?teqd#mvfq-xS=;?}rWIC(CcK|@N&$T?nL(Y89Lu&QjkM?3bVxhnBjh}k> z^L>c@zerU1qxx!4VB98zMOdYGxU4G+G4W(n&2bsUpFWrRDOY8&d^O!$JLlN=;a~Fdt z+W7`{&VqePZd3ngl#65rC$r`}1gtCgsDo&7&@B1l9B_xO#kI6wj1Y+17zzCn+4WW0 z<<^;tVTiYJ`nU%Ai*9jN1-MzVdM-Wc(29Q)WRzBfvCgo0nC(E;#Y4c}C}k2(85};x zr8V=2e-p>`O5dA2K#plO+2MIdY?qO;T%Y=)PZOn(J2*^k4CiuzbH3y_NT>O=E^=xX zUHcCT!^^7*TXk6vD^N7+LZb1nkWOtV-Ja%I+wx_wIs8bf8GuL~z;u`tcMCkw##d+Tgok4RM!(Q&=VQDcjpKYa*bnyz(im z0p=ClsjQ0M3*2Lt`~su?3lx}G2j)HB`O}XX5bDIIdfPX@`u<<;Hwwbqak6Wof!s*{ zg1O|P_2LiM_20(-L^R+F|qP}(gq)C(n@iR4ygbS zyM}T1SOs?QNXXy#h31>>Guno4UdJL~Bc!j}-EkJUa>by6g)7C>4`+Fu z3;ke>Qvbv^(qAYc57G%2Ils7S7k&GAU*Vgo=A3vS1tqiB)H06<#^7+F?`Sob@GPn*BWW^yv^@-rUg#EM-miaS-wz7? zk{=9g0_H5V#62E#0K=Lh9b3t|v4x6T`dOWrs2GpJ9T&_1O7UHWNw*U!9#QQhmMXvq zL@AJ1MEWC@^Ax=LSc`Ph@X~pPzOe3vN$mT1R_)0FK1%Xerc+iAJX#lrQ*__*T9~o= z5g>yH9Bg;Z6lBX2c?;vonfm$%M?HRgc&K31vqd~t5)21X19~Kb+y^m(u$r=LFl_t2 z0n#AXrIG(Ab+2`8F|UuSkl* zh^ElU?UkDMa4t_BITR&aRFTS}+%Pog1C3UQHaVx(Ev!pu--VEvBjWn9IK5r?i?lf{ zc%>H|#13&^y||Rj>5&+anIUP^PK;*0EeGjMD+}+TXA)=BgTCmldtg%jC(a{Mg%Bd?1cZdpaXtZTi|}1ezcAvgWqf zTL#KKNy#;rT#r22o>V5i6UzV?vc3jct&g@ja?!q?=l6;eT!z@+Y{7d33YTCQssD_^ zLD`|Jp~{`G4NoK+VrBLC+;HBvu9xY8qi;PuDUm0tx-WoGzp0?876)*-hS?aCEHoeD zwcb@A{<5)YF5!I+e^jWTZjJw&r!s6W7BjqG>^!lOV6!I=L=DK(8pK>u?4^qM3;TGT zP%%NXmAcRnYF^8>>9y6!&zJ>5z_+a~dK=tFEeo>VXJ zN`h#D16rK1EaWei<*zcl6w&fWGkL{D)=rtZvqdWq;0+nJic|!&n3c?@db-bWqzbxr z$8C|da{=3keR?g=1Ljjdcv4M85x&%h;pA$b8E0DRK(8elf~%yaZJ3vW2Po;k`7HII zs6ETdyBnIj-eLVugn;HA$y^SaVS4>h*sVB0he5HH1__+ zfJjt29$%zlj*KOd66ggW18qTpNmAj!xiJt?l7kMgxz)WGbdUS49;JPF{tJSv5Rd-jUE8t#PXcXzf_lo>5J3e=!x5=#5s_oI4f@pTC^@JPO z7-8*&Tt_SXo|MOqPjQr7-f6_4b_MtgWdaO^ew`~MWk`fw$9glo8wX4*OvX#Qijynp zyL#;QA&yC5SJJ&2rn9dDgcE$RXWVu|$Ad@j8h}MzRIlxMQA!N}ao~U|ZZ*qhEI+E6 zTfwJ>0K?(iwD%#{tB<1G2GDzhiMyqGCwB-aI#>F8Z74Yd*iO-n<=`){^ADL(6X(^;2tGDfLSVl21_ovAjX<*R{(t1{R9huNS* zQF#GwBTy`m_yAEEs|K<`K1?Q5O53Ag5-m7fh}?=FWyi*-{PCZLI9uxg#NmS3_%80s6+~Yez3s6TiS1~1tM@485AiVb z>$$O|*!hU-935`v3YWzV*^Hf1^E+hV*X)Bi9ssm&ypPR`tgs=)>kDt#e4`zp6Vgcp zB8$NMhuMy{M_7*K>>rsee-WMXS|TOn4q7-(_E+NN&*fL}D2}{MlF`?1I4RLXby>}k zbSw&)7y%S-a+wJcl!4CN1YNF3_|9Gu@)rQo&V0iC+vdAkA6d@n;Cvc@nNZLI7=yY) z!d3BsuTZuenJb;ZF4k;+M>~=Xg+m9b?P}*ERgDxNe?{@XzE0F%j%;sszlcS)v|kem z-{H_&aEMQg?gx~{!IV@9U}nUmumEWn>!d!BA>>-`yMK@&f}MWehOBZfc1_3cnT7SX zVx_CJldj}1OrKX2VwiKEJ?6awKGzJ1b$2J^q@BWDs5H#RsvNqX6Zf>7V%;F;pPH{y zT`M_$>q9&%g;2E3_x5DNlBXETcT?UN-Iye*y6n}q=TmjAl_ans6byi@MMN_AD*utP za((wbBUZUC#Uxbfkxx5JaI1YYdIGrI`wC8eu^NdQT>RfzBBshyd=+BI`SFT-e2HvT z7Tsubj_9^&Gx~*SWgkR;%jMc{sLZ{0UG7evBeMHAc)57<^OVr7^Q1j8kQ3V&+)y$Q z&jm87BJ-{PlQ?n;%3meD|0I0lw?2(wq&cU8i8^7ohm*SLd_K~8J4OeDczfA4CCsil zdl#%RK7EjPc~qwkB&KH5fB&IOhC-`nV_;^EyGP>t%G10ZUhQK{q+*7w>o{5rAxoQ; z;s~h%)JJvHHv}RuB0>PbyZ423;ugA;8~De65;hKhQZ3h+-2+m47ENI=(L6%)GLn0N+E`5U(izZT+$eQ_LSr;xRrO}(Xrv^9k9rs^`hQ={*xR&g|roeR+-$#?ty z{g9Fnkt5@LVo|yYSKb^aVWQG_6mVnR)g}+qg(emGeREEAwR&re` zwS~)R718zqfW8;EUcSTsls{47ul3~zVXY*I12rbeb;Zb@`$VE>ly$G1*AvFAh~>;gIM%R^S4 zO~eXZp1{K?$rOr3y8~yV62jhb&67Xl0xnIeaB0yu>N(?jRhf8!^bii)A8&DYlff6t zteRFE?O4Q5xWO6SwruWey`6~wixpo8p1@ZfuYbpJeU_G=UI0=I@|z9+b+7!Rbh z4b-o)1?vK2g!cb@ofN_k4Vrw@=uut-ZFml_TSYFCZ482BmgMP=W9($Ih8}GD#+dL$ zg5a{=h>G2=$da;+Qx3r}t2DfFokUF_97%O^x2og*Y}sBM1JSQ0@o9voH|7I@dL7Nk zx^dLMmB|MoWZ{8PBg`57VAyw1Z2e$Im;JX8NJTNBY+;6#1I-bF&H3{t=j zjqabx(e8Dt!1#0FR-bHB6`;x{Ma+&hfZ-E(C;y;8Fe(@^9`oPG$0`tlOJ$JOhRKcM zT_TvJdffGW8F<#GFP#J+`IB)~2w&hI@Ql40)!8@>HiZNTPoGB-w=@IHD_iw&Z2~RWK^<=-gJh`o&u&O` zf&wIUUl|m8~Unp&Re|YM{`^vt+21yUP%WMmp}vSaz5eyuVCt2dNGs{ z&-&xEf8l#(C)a zLI3=7jYmUSB5#_udMp=GnN#fSpkf4Xo^N+p$_Z228|Iqe&8X}ICK2mks45U_Up@Ef zb&af}93ddLqt8*Fy!GCXY9AB=z~<$8<{hia!wS@Quclq7LixSk(MepbWXU;SrR4-L zLn5GpFpP&pW@$?pt)nn(U5Zhc-~N(%o6;{K^1qyqoxdKX(SPV$T?4U%sMOYHr|cHJ z1yKQgchO%Gsmdm#_2V3-!;X`%mq-6h9VV4DrM0Ee342mHAys+pe=X_$sD5N+ zRQ0Jox0kQQ`f?c~*o>oMLe)(`!Kasb?vpHodY`~sbd8x$h6WQAE8Njlh=>_U`O^XK z=bm{GnTDcnM6T#EE)b0Z_PsOw9W?^7Gg144tb}^*_0Dh5L2Kv-XpugsCyBZqV=?uY z8AC5342h5`!Z&we@o`xM$*fnoPHU;bT})&`+N^+;vXoQ2a40F?M1xKKg~}IuaQICH z5Je;t49`oUdE<(tYp(fsaD%wYS!air!3m`F`=h3bY20i#P3)M&!1P}U)v>Pca03!i zUtTR;^SGiPf|uDHTAIu8!BAzwSw@mANp{L8r$X_imQZ;>h)Pe6>u^TlR$m zgTGNL@g3wCfmsMH$ZHqLVPRr2?9!TYF=jxj>WjZ|lJxZeG)Sy6UAr*#%&q5`tEjMKRFBRqRo!1Y{ zgm+>8N=qqMargt+Cji?uW;9V>J9;eG{?dr8Z{u#pQ^#wqNV1PdNX-HS;a##OYNP+RDr1JMHirDK+kEV+|@m{{(_PGA9m~75o?l4rd_6| zv8POmiiyu+h?~e|3R%8T78sB~d z;7r=Y_ROWB^lFti!wyzKYcm#h-NU3r0B$iRQHHs1Fbt$0s}Ww@#1=uo_5*4R$l#wB zp&v?gJLtO?o@;%vd8HkI6~I{L{BsGl1FPmXqy%G#-6|liBpMzqqv#|W-#M-`yeAx$ z(O!(kE;d{Vx(HC*Gc1{tRPfe${=?q>CZlhCXN~&O%=A2e4etW;uuEz^X$r$B<=*vU zDkDg_9B47bgkjwJXX`R&K?>_W7ZQT-9e0;YE&z<2aEfyW6jXXDPOioL`U3P2-+jeh zO$Oo=2<}Oz+#E%f#Un%`HW6IqE^cfU1Cn98K2 z#EH_DphS$fSoj=M|KD=Fph`=Nn-#+{fYJPm@}EsxlX{wcT*E)b>$aeNMb;90ec@8F z^@+Z`kqkw*jk#7s-cSeY$4si=>%xlH#D*||NEK>XfEL`-OVOOp_#(qJc?X!hUOo++ z^R6o(4+Xq|{AI=GElcd}#P6VvNyq*-3S(dB(yMg=7SeB84 zUeNz#lpz7YV72n8wI<4^?@m@JZ_%BQs8`opo=+5@Aopa+x&NXtE9C?#g4lRb2lpgZ zdF7k&MHNNZpe7F>-K#ysT@dfD?SI0{#AeV@?F@UVn*iXp5UX@i7kFoG3a;&BJ~HY9 zyr`@DN`|9$67BzF0l4&br(StdOmfVgPut31UNRW$GR8~{U^v?5H!6NK!0lV93MV=Q z(o7++Dbjgw&PuC1t)0U3(&(&l%|V@^{>9gO4U$|7++iRz z{Vja0B0=1dkhZsQN==gv%7m2sul-qvr)s5az)|?o89`??qg6xm`+?VFk z1C6=J_}|y>_+o_q8-{N41CE#V(Nl2K0W08L_AVcAn04MiODIUlVa6kBi4To6+)TSD ztY{}gX^I-IJeT&#l}L7|PAYoc(Th`BlgA8f=5&$+mL^32U^Aih!h4{E(=|8Td_dzA z`w0bUQVP0r0?3X^jzVGlX{;|3br!4264->bU0)|=2*ibsu{0%+4pjKdl~>ol!po}< zhhJL*RiH}$v2%nh6Bj-Iu|%+0(r`m~Vup9FcZTZ^r=M)p z=vpoWFxZS|tZ)O(6%Xlh%sJP)AFygANQQtkOHS)TNI!97JFb85b0%s(y_v$Q^lORA zVB*s%p=9jlEWLm<=Xw==5D;ZIe2}M%Z1@eNAS8jZ3(;XE#zyl`b|ziqp>aBn9#ois zZiT&?w7)+0!b?9M;q3?^0$LKXIO(ASRsKf8;-Xq4*i0NV6nMcW8&_HEgs%8Eg#~En zA0Vo218NoU*2JB|AkCL{_gMBcRQ9Of%@wLo5 z-o+528G$@qL|vu*-P zJ_>-2u+8{lPjmR+@cA4)Io7UKwn_7~>xU=Q*zS1Gd-A)YXG}_^hgIr~N@cY1@LAcOb|>iW(CUt{vu-loxK# zxGQYS+_iRC699ZB{Ue`1y*zIFh^xYaBJ|QG5OW=utcM$Cmgraba&B02?Far(n{L{2 zhK?^{7_2?M*dD~m3?-7Ynj6zLUtv90ZeqnvX7G!_aej_6O}^JEI#yMk*~EwiS@En^RMlVyv0TPkX zC`UwWR?6;n1mI}yk2;3>!22g;KpMEhPFBv8lJ&shx}l`q(7&5tWX0?@;;IzVF@wU46XPf~#DR$rhL*lt;&0D}r;nsE?#LMpfJiO`A zsciZ_ldj77%~4=*3a81vB+zMKAFJ(ppCp}+)sUp#(9l||>ksd{tKG;VEX>b+2}UW` z$3fU!B>O^z{34e@J8|0O8Y~uXa=40-Y?a=Aea#%y z`}a3Ro-cbpQ|vD?dEi}_s&NM)Ud#?4Aq^e3;jkxT(_GPpmLWIAeeqLQGAMMLUeNtq z8>Bdmn5XaB<29S1Qh@vfur-DByGsjGe3lZmU^YN9oA2bSYuC7G+!GWfBV*c2pHc<==zjENs zlPdh~OS}FYawTd@Vvg*<+Nl2v65p4aeL~G^>j~>ZU_39{Ny-q2E`q-2|5RG&PxEZX zG+wbfAo6ox)#u~T1}mi1YPVVpuHyJ6F}X!p|HA+c-ibU z<#pW97ljH~>95E%MhL$t{y&7hRX~(c+cv7wodXEcT}nuobW05lLx~{W9nzhW(%sz+ zLrNpvFd!h^9slFE_kXnC@7*UHal)`>t*h?q9`g=3gbCwo^5o?-fRA|aGK5n1PmGf| zW!AE1A|m}oKM#e<0RdgA4nzD!$tOJ(9NY)8@ed+EC?$*X@L_87355_lJWe$PZ>8bftD3y3}%ycqxr59i;Z z%>+V(&9+_0%*+4gzY!vee(axU3)(}J=iOgNuQ}RbrArxJ!o#MewNpyIRf1 zuU_sN7;K%J%JnDLY0}S|&zEo3S-R|b5z^a^zJF}0I-5}c&x6-+z?f}K`?W8uWQ6Ll zoemoxSc?Mn0CN}RdiLQ}(UWDj?{fIdDRsYJ#h+sw06qvbUMPO>lZ3|^tcB+vQr=2Nmuz{$F)zzPLYr=U(5hmakma?MPhtRhF{}Td7Es?c zF12nacpn05x%XEk)+#SH7uQe`(fkhd71*mI&j#dgqXPr0?|g6$sxQ1E(qfA2fH;Q2 zXCB*p+`}o>`U@-Yrx~9{-j`J69Qoo&O>bq6{wBHti{aZdkpw0u5N^omvUV{=Dh!%I zsn^L9ZizK8bEfEE8XR z4y_shpf)990p;3Dh@9`6$x$o3^g5SYaJ%@YOWnY}_tZ?^5M{NU$}@_siZ>4gc!`5H zQOKQQgv2ktW0VSbsp#njjzS>-zU>w{r+()xeC|5sF5q5)6f)6dsoIYc&s6+Ig1*;I zPBM!BCP6`^s?xoKPW~}RIcK(u=&yw#(BWY{<1@)6;L@V2-$a()!S}r-$oJvDCvD4Y zUj!iS>3+J(B2=oSu_|OSFap<^t99|&Zg(0U^8N@t6G54kpa&FzGl{0+<5*MlT|GQN zY1<0AN|qeN(YHrSZ5U^;3H>A~PB;G%Joi5%^?#f(ioX?00Uo%HL6_KWC@KG%R<62g)qu?BdYE7gCf?M{EZ2)v)F$n zVoN4k7nfFvnt0+Ywbo5l7Rq{K%^D=k&*fDEM2^WA!0N;|1U>8r$T3->S}VL>)N~tr z9p4{Z9DzEIa6mtB%h8i(EuOXzjxHU{YaK@N@HuoWG3Lz4br8>=q*sfTIpfL0&DC#B)y9>&=PCSE*|a|GGJogoz4A_1%}I@vjoY< zQLsXftaxUY^4%G3&T5ypA(}EGR6knd5>|muB^zKb+u zS0L|Ql{rsTgjM>uDVI0)SJF7;KbYQeL>X38J^-WRZVC0eu2_eDc^(<1qU|%>II|%t zORlIL)AN%8HZkFa@2*w@kV7GXKTbFz@CcO5v@lzM$X|cBbhNye&{4GXh~0~QJM+}Wi$h!q)k zdv8NUAHE}@E}u~3JhK3KMXLJIcR2-wINJ6&HR?P#2FIa&P_MpxtZoqpvI(J`({3X& z*Q^i4g9r<)AE5M32ytQZGUJ&NpJhL2>f)<6mJMP)w>6g{^e3{ifVUGaDY#tWr+!5M zD{Eh!#KxQ=>j8T5yUf2r)Y7|9kcSO0CA3j1?wa$%qW{a^paf~Byr`%o!J`aHp&uKlGdeGypsw|_riG&^UP zqRSZo-W}7Yf05NvT)8=l*ISnW0_t1~;RLF9?rgG_T(GYpz|K40fZ}a?8q+9hR#%`` z3EaaGnhx{XPMW7~;zr~fbB&vFAP$R?#!+{K&q)m7EdXNN6h+FDSHQ$=5u@iRn>`O2 z_od9l5ogqF!+K10Y46a%NAc+)(|XLs>~eOD68BZ)u(W`Pmw1iAGjm+P(YC)w45Oma zS@5jrq29}A9X|o|A;1STt^6jdJ~-U)exFza$QjpE5V2;sn;#8p{O}9D27l%*u^5&# z73V9;p)pmWWV`QJ+C_SPFINKmjS`>^hC2JBJr5hO??-dhh#sqaRVx|%;5-x%7*D)` z9BEd_Q9+-xm5z`_nosfzAXIe?h-m)jz%SMbIiRsA`G z7pmeJ)p8)=xNLDVX&oFEu1gR1SZEo!OnLQm6r8%>_F;hS)N3HyY{r<^zKSrmT4QeU z;gh5{Mkz_@)Ko@*-zIWBdiy8UC-rs~{x|b0-gXlLud3dtwX?8G+AX3;B&|t$so>() z3gD25U`%AcUGN-(E+wiG70#|Zo}%bWxj{K_>k8x4XF^tflYPO*q~tThm0kRiJ`k(T zRtzDL&{<=EaTejkHKTTgDglFxIE}}afDITz5;FiekKGPXqYD?v_oDhYa`_APU_83Z zUUhOBt#`Au>U)9V72rGjSX?Gx%2O>rn-OYojeoZ8QDXeC$pl#``iW8@oSSMI-Al-S z`ci$9sc3EexAj`dg|!$F(K@n#TQIN(sm@=w#IZn?Wit9ONsK$VzfkQtMq}pnk=AX6+g4}efN~5KJNgj z8$2n{$%FmDtI_>;K+6*gdKOc*2|K!V9c5=p743>eD&~3DRfUw%F&l=!grrf222Nb9 z-%LBkm*i@lSW}~@9d`%mjC#V{N~+L%A>~4VL5tbI-9lp4)Z_?8s; z$7GMC30xG%3gryO#t3a>Hq;7ESd1Lj30Ql1roZ21;MtfTO$5m-v3jjh8BaHD;MFjD zWpN3*vm;q1^EKaALO(c=#4$d|{1W*DS;QRPPf}UtMX9ku9?MvTI!^~j3o~v%u|j30 zrk2As-05}r|Cn1H1m!niMICvYAMfE+ZnFEZ0_$V()@~w;jEJFx51S4`YrJ*Q~Nyw)39)dDGG%jUrX6gqIV6Kc`pft!jQT&7^^2Id>f<8us` zli_8rM=%$5jp9w*Y)-_!sN>~WXWxt}&4AhY)YPEGCw_Le-+?uM-#9Tss@Q zXI7-_R`omC$r)QBZs|zB)C-EIvY>H|IV8-FQMG+}Ez36&`q@D8%P_I=Z=SgLrik=f z(uBE+Qwy{t4Hbe7gRzHuHx<7J{#EAZ&2|9nsW&6poJnAI4T;}Mq}$a%pJx%P;Mr@*cHbZh zKpJbRa^ewhzjm=HR8RWmVz1evDjAHUtUIf?WvK_!+90oI{i3yGsDy|qP9y(pvkY`3 zM=gQk^smx|ewz_3mI;{m=|kTA5e5oVW$oix-{tzCknOJT6A=Njfi`Tad!UInxZ=>a zbGNAxg5UiXo#~MNPqrIm8;r##_vS(!HZ{OzbUvog^T7(CCaWTMnS`f zxq0d*Gh2G8fde)^-N=$VD}~XoCT_Vzs{yz&0)L=&954COka_G6`|Hyouj z7Yu}~lvOZnltuCu@Y#%WD!mU|iP%=0T!J!fEL)AgW=nCf&^2EL45)3<$yKg&eA#`l zI!f(>mWn7G(QRz>(wfo?3MNMOmNKwW|=hfSQv}p%r#$G~!k#BHQ z$sPG^{`O1oZTUJj(G9^h#FEWh7^Pz{&&`k>$}`BNi0F>n!x~_t=Q|lx#y_lsbyYmg zG;>jK9Z&!sa+B*9kpm6iO=o=7`)$5iCGB8z95 zkd-_lcvR@^&=z)cUzOEQvXg6|f?^UF(Je|~l}xgt+VVLH%53#y0jW>$R;xRJOM$pP zL@H5mcnTluF!k}vDo3P(S+?&rM(KSPRU@!aBq1>T7-b&nO(W+VJ6jTCWu$7_`p8bF zQcX-W5wCm7)He3=bvL#^eR~8$S>#KUpSB3YSI$WR8qo%~H>r{&p$e;bb3Q=IL|10q z;FHl6d?~RsMf_E6M->hp=bhGi_`tEzE0;h^2j@Y;A82QL#Mn8VrpR|7d70r=QL6!V zVC@JM`$L5tBqmn7oq3cj{^B!E>bZ(m7oHa12On1TYB?+;Egb}buH6DuI&I*1Wnek? z55@p@S#JUA1?8T0G_0nVW(7_I`)6}Re!59|=Sxh)Z42&yJXsw#1OicGQ=`9!;GC}9w zFev|`-yX&<<+St`w|1S9;|gfZM6&bf_@&0QfY`~OAts)vkW*f;_w?B`NUqXN5ZZO{ zgAmQmtHW>JXgO4FRmx@&x35+dJ$g3VmxFA!V?6W+5k>X&dnK$e+;!=nqpu2tVpOJX z;Da30@*DQ;UkA_nRTHOlFL{QVPf8d^5IAV5N_OGs;487WZbba;2ct9ZQ^rMQH-ANV zE4eH)zWhmN>K*FAcCppBPl}#=7W}AF3(1k4eFN=fZzTRO`)VebGg~){8pcS`>Rj!6q2tVjoS_JI_)@$7v1$R~5;KoahWCY>hDZ{(HR0avfvy z**Dad1Vj+`$YX8h(2&f$!U=>i>MHhD?8wDgqEVKwhQ^J^YIXfudgDF*Y(MG>_DC(n z`mKKGg_nMeTIX^3sX`3;R&So^*5N&jns zF^y*tmOrpy2>tp>*G)0j(oO)I7k@N8P*1kqfpBsPCsCA1C47KRi6U)xw)#EsG<|9s zWwW8zVAgv@fL?ut>sUn=PAE%_aKW-+G{HD1=k(<(Ca2qROXz%#Zm8_CgwdaOKbQZQ z|78@DO~W!KCOh8_%U%))wVISF9R0Vy1?qk(dh{I*bsH;gsxksUHOa1W(VV(MJ!FL4 zIEek8fHgW}q;9l5^pW>;YS8-*jjK3m z(|=1TF7}CJt@EMkzuaBMz}>~)SG4X`?Q;4i3RV3nq;xJI%B-Xov9I8iAA+wJBL3{W zu&ckdMGEsD?7D=JhTum0lq1X9AZS92~zzXGtzd+@sXtmk7(X9!~P( zBiw1d$*1lte(M%~-YLy+;2B!$!#z;^jxAW?3|V|6rl$P`{oo-pML&#iT%ND>UT127 zJMf+Wq3YYW!&vbZ_2B(u9)=`c>bzMZc3il?*#jzt{3wPR0^_v$SemvEf;Y%_9JUEO z^ORkxl;wkO(!B|RP7<7?&lh@`Z0^DcCL{>x<y7(}uR0>g!pYIpu`7T`rh zHRxRvhL&RJ>C#IGxMyFoKJa32JZAa;174yFud++z^g1#h_5WLu=uZ*qOG`+l{=PFyEm3nusDa@|yOCxQHFa$`dHL3ij-1?4_K&HM`Sa~`OAoa25#J-n!d zww&?{j@VFUUt=26@(hJeQuZpp2z+7^sh@}_soSxZ}faLxvO z&J|iyL*ifY^vUY@!N_PC!y8R$ir+dsTDwu(Hu~>ak=C+n|K=}}^bCZpEoon$wuT?C z`oVlUe@Kh56{$PykaEJ1-2Qfd#2^oD<+21(Y)jcyCC{oizO&oSqezbsMm1PW;X9=iZM)z5R3 z3huF>nE_E~j9)<6t5618;IdBj+r8=r%4oHYkjfaQ9!2F41Z+%Oq4TOis^!WWe$~2) ziQPsvBJ^J4sBcU(WA!;AV8I$+c%-OAjmM|ywaz70V-ddOk?oNxNq13U>F1rrMt4e$ zET9bykWLC)hm33MUXJRTeCa11dEj0UaqNB$qu1azVdGQlQMAIZ6*qX=y9;}DXG(5$l5xRB;M*lqcsRlbdwSh-#=?uD)Lvp>w zzqQvv9WBDUc{)QX@Ia}hqo`RJI@AUnp#ZIvLQFo13|fYx%TF2);xzRDCxd&QbvG#P-#=Soix5>c&D;a?tuD`2JUg*NfhCL@YFP17}Z$O)7?xh~|`ymQ^ zPFf;%l6J?U?R0iAksmG)ER?mrRVR}Z&-hU>Q4B$MLb`Fw?n+N@MCa&2YTK9q|iJ?4wfXJ zu|&v%csA7BLu>=kykKvie zMrGG@U~#z9x88ptBB~hN*5l^BdE-VKYTS$4&^u5}#xbxF54v9O?0dNJ(JKb7s@@qr z6h!HR$={1%(BZcd`G5KwUb<}lPEAWmz$d%r@Bv1u;e98L3G6SO2bY5yv=-F8c_`Kp0WzcSw~d`@;h#)`_Ehro zY^gAN9gR{TSA$ELJfGJ(pdm`fybpW9d1^d|WbP&=^tfmvsYI#8qGjzQusIbOuxgMN zB>X4Y2YlBwiaLEXc4z~Eo-39xQ;GjCP>-`KHZ!-_&jq9w=dmFM2q1sl#;>rS@}r-s<-M9S#plD4p^LRsibV66|_ zCCg8fhd!JT+o$U0pTTiwOioyh*?C2zSF8a;@3lXfLxlwcV$PsuNY_=|f!c(}w*SB& z8UYK6|1UHvHHfZ0Nsk()M_1d~cqzZntj+E}Cf3Llvi<^4D{YMPg8cwmH9a8_z2d!% zv}+#iH~w*_?h1CmC)rBS3!nlF%VgTjN~2?5B$H*?&TkX(*eS?8F-HQb{e+ADvUosK zGJvKGU(9Zuh(5H_$HsDn!0vIta%C#Zpa2)iR|Gt8c5d&&^MJjsm1c$j)>{qN`iOa( zS2+QfD@r&tkO5GOz>cO$x0fln!J^KE6^tI3&YQxW3pd~q6ggbsX~f8B@eUo~w1%VI z`*|w4e2F&`wMU(&Pojd00YA60Igd?3r!K)mM5TX@+8+-T5h_p!+M`5Q5gL8v8JWn^ z`MA0MV)Q}jt%_!LIw4cSK_8@uzo~ppQYqRJhy)&Vt2Zd;JT!pq_h%$=( zjp<0x4mP#coCi+#@xbUrRE2+ql`ssyfy$o)WItqVqBw(=fO>yUnjJ6f9rR!B(nCyZ zqS~u(bp9M^K@N~mdGv3ZJw z&L*nZ*3BlKkN><8{VBTe_AEI|4$Se-;B*zU$avAa;$6!U;2SoyI~-#RR2comw@4LB zl<5hKwA{sIsyuK-Jz1u0_vImcHIsJ9V&C(&F~5HG);h`MI+)gqLSASTt=Wtl)=@cqIPR`;VEF8*}?9tlBSUQqxVXpHp9 z{O@5%d6`l(;u7$1g_k5^D_Ha9nr*TV-$%x>OiL!*3X2_ZVe5Iu$b;gjgz~vsv-NaB z<30Fb9CU#feDvi%s=1*a-_X`K5Aef3sP^9lhLg*I^a_Iw< zQ{asTeK=c=e+GGy2Q;75#oIlkf|}8j%=F5{+=_JIr0eC1%BS)_DnET#&B`UlUUXQ@ zX*CP{m(bB9(moS98OvEoLsp=W@zQ!w^rT-JMH;(4vH@Y+cmZS)@PhJr_k+mjD*>! zT;FB_H8e(|bPNgWEap-V(n-_iKr6VX6WKlLqpFpL&}Ui>Xq{vg=Va(H znno7Fq+4ilM7pPgd;VBim9jkGOKs{JZLFND8*F7qBpeLlp(Bs)*Kau)<}yuOp18gy z!Ln1{i`{&}%g+!pw;{*3(e9APs(QVt+HW3p+WKX*>cPZq3L}>iY1>uDL7Q4CH^6T5 z-Y5%)^0%Zz9&30(90NfzWlJ@lZSLUat%rsddC)0oXL|1kv3`*`AFqtPoO0KeZxrdt zNOIqHymFBRd;uA>uv4|v@T4e54$nw++@wew&^7!#HwfCrZZ=6>So8)xhgcvIiC>6V zNxg5MV!HJDCKCTsv#dX`YzW{@lIkz){M!BnvtYiEb76+ejv6dWs?R1RvRnNCq@onqFB(F z$c(H@$h?tH;0@C4ehukd^z-bd^McM}C$@fv4$IESds6TxC%}s0%R4C zPK(808vX(LX4y`Y9)E=+mU)_q%n3Hk_m2n|NYR4L>jJ}FAoM*4)R&1bRp~afp3JmJ zf24fLm2wP$+a(7&XPr8N&!Vywc0mH&)MU(mBb@t!e4RY&l4o*$OPRdQPoP(<;#G{Bfvv840?e z7hjiQMI1nz5=uh(Ylv&n1{b$(6O;c{{5eyh9MIe-rK|$$3(bZSZmIJMiNf4FfL62t zP9B8IEOc)Iy3SB`gNddRGUDBSRPPp!FbQ5)O|9WjHidFS)kvVkHNzvvdLUki?(Qew zLq#u-1HeQ>LS^_Q-F_qWeNCq-vcgNmz>BTN+~Scd{m(}x*#Vfjv)v=H=kp5)ilDe?6HYD(*QUA;nhT$%QRX>XB+M6Pj38giCf|uZ@-a!nK1k$5)d>y) zYT7h#OrGbJ2tT3L$qibN($D7>5&fo1w7aWP|mc16IJ+-Kz5rew`br7?+ZLRpdeu@ED3q3FSA zM=w@L2pI*_6}sds^By^liM7DHi{)|bs1$0+(vVO@)=fbRYK8ou@5C7G@4GN!e(TyX zcfP)fPlK*Ex&4$4S3olErv`2!BbQZ@C%kXw*R|z_5{cboVl=;c%#~HH%ZWpjQpooIn_56?ndBFx`nrUcuf#NWEHPSG_02y#Di&nBX3Uiqc1&dyXj)jnK_Ai%Sfyvl&zkq~8F6;BI;6-8+_&&e}U;Ooh1H zG0AZT4}uGpv7HvJm%yWhUJ)`Wcx{O%xZLK}v`O&3WFUu=_*E?DS0~{Ko{6{2b$E3q zX@gNncXxD4{0r1h^Kmw>gERN_h`j(G?4oCG?3X8AXWT>R#EP`kR1RBF=*WFw^Qe*x zGp}g0-BIF<&BoK9Z`Xgf?=P3vCn-n+nw?*f3OP7og-!m>@^9ysmiQ>Rk+!dp!lq~} z)=w)KdM}$IvL$+%Wz=o)3FbSnh3||o#KlXfw~K-Z+_S|kBL%2Qys;GQ;y#YNOh409 z^f)7KM_J#i^LDNc00t58^%%n=&gA_7WP*};Jb_z9!s?#PVMId(()HcqS2>$wF*a*X zu?5;)VjDy0;-^G6OlQR(*bR{v%MMe5>nopsiAafEdm0H-a&Ngx6g)@A-U3M{{ysoK z?tD8DgxYHZS+w_=aR_RC7H>IQyEb)Na`))Jn&6O}(BvX1*9i>6w>sv`f$A}SOj#T| zO$Z&-qtM>|i+||0P>m1o7@|$2#hAbdD)qp1@!Bm2w~e_NF}o=#ydnQhT(5wXhywb2 zQGKBoz-+J%XQbb#qQ!+It1ECnFwItbiEBN*Bj^q-d*n|3rXHd*wCYR9zy9)TS>)_Yed#C_5-lw0WCiA zo*;;$CfAERwZBN_gICOUyOPZ4b3g=WZPV81Pdl=HMBK!0D6rMVBjsZc_ev_*-shIC z9kOdyBHHq;YGr7bBZ#r=j;IeV!iY#G%JEy@a4HH0GhlTNl<}l{al4BJDQ)YvV*;V7 z_3eXfGrnO-^v1g?0wy0PuXR*X0}Bx#S(EbV{B#lDYDJ48w0n!Sz2)wiz z86YwD{qAJFPi9dTHVmaP`1-Z_ zlAB6*ez?II+u81k94NR(q({PSoa2bYs;<&2j%nDI5(rlPUUE_vFh(wc@%==?Ri?L; zwjaY)J&(rzX@_{zExypM=l3VVeW8`LchQU_vj+*dZKT{_IPnfHahf&3zgtZ=d6S!2 zRP;LhfMn2i5@~j}Lz)O=`D1@jc+$Af$40DkFo2mbwl!<#Nh$MA!ERMpp)z;KRg)%} zp*aam9(Ox;ckswQ1}A{!a1jOWiN{!=Yd;lS{%%HcMZEh@5=G4U#@{`Sp_MqOHgC%7 zZrej`N4RG6AV>-2fyMd`eox^HqyaXh&j|2#tO1T6W2QyUo%t)*Ad{^In%(H#EP0TS zmkr7F`Cvj!Sw3n6rJ#o}2GF2ny0D?e)6YT`i&eCv)vC-eyB90{YVG=sPxFfI<3r+`_fYB09`rhw&7h6BxJ zWuuv!JFj(BSI8q&(MV#NRz`Uw$28gUc}HVF%T}TA|aZ zkuV>BNWE&g;T5@6?<&JHeP`S=?-k*~muJ+$M@s-IqMU>;dvUfm&%g4HNJ`Oi6o2`` zPji&PP@*s8v57*ZCfv=u9XRj3P}~PcCkWpUpqhP8ny+1wF2Bfpy-j=HD3t)eDlR(9 z?Jyi2r|%Kj9bB=MvZH*WGEl}9IIQNr z9$ZSTR`{v_w!=HUyEAQL>>d89=e=&wk;@-1YW0=pXmAfM(*h9Wvv=n{z&O`Yo6Ml?(pGe3ba!w)XXG1)bqGJq)C5g8+f@5q`~ImY$tq}|{Xusi!po*` z_|;7{*fy~G8DW~ic2BJ3BNpG-v5XCebouscvHg#m+8$^cf8}z-s4smtTsFEkUAnWf zac3@ABBqa0s?F%>b$?@l;W*s&3-fz!(VPc zuQ^1t*8ZUY9Y6dA?MndGb|k)#d?(_GgYwjMP+)yhdJFgyE#5xU>73Gu+YcAqy)d}bbv_X)ON zq0RhkM6*IX_=1kN$sUnlaC=eyye0YU?3S<+X#2;yPo`dF%`AMA)@-yg(Ac~kKE4rx zKhJWp6j+__3cwiuie*%#w{DwtaO*>yK=?vTZ|4MRDNNDyh+W`Z1_XM1P-wX<1v99M z4v_(^e5h(=vlih8!_Oroii3T>`Z_G*MIu60z}rtf^|k61V7z(Nb4IUMTJ56mA2-HZ zKZbM{+@e~(_Z+X2L%`%D&@5vQDQ&*a7I*7ZWBgd0k8n+91)v=FfBvl&YtWAyCjTuh z*Z^Z~cudeq9sRozGLh%<_@*HipO8x^Fr4a%7SoNP#j9|3AN~M+sJ;>M6$B!X1-CuH zvV`k+OyioqY@1tte;CLFSiAde;c`%bBG+_@3~>1HHBCNujbjBu*08P}W4m8bs-_{n zC(4cZOJtj$$fixVsX5}xcStNn0D;QSh#na zrZX5B6LaA#J7v*p0O7SMZquj|XC(zzy6lD`go3LJD3`j+jW~Vcp_4zlf38C9s>W%xv$E=t6isDf$uJ1D_cRH4JiE z*Kup2_)ja_gOdAs43j-UbAOYK;vUh&>a~;qZx#SJgMKY`mT?ZLngP``XpMg3r6TEQ zmA!SBbZcPF64>i-{w$Oea=*?RF{f*Jm35Br$6?yO!jsd$*Nv}jj@d?jARG$LZ<1aU z#oOv4wc+br7r?Gw}!Z}gZAabQ zJJ`%Hf~=@BJEFtT$|0~$6nP1v?~ROQVanZ5d$MSVCDe6A%4_Gn!$^~|M%QReL7_b{ zD3>-fS4FRm)~m}pf5#T4ID=}nYG!05&{HP+G4SR~+P%Un!>poA5~fs`t{?2N`Xu*V z!Ksm9!S|@;(&|oWnV}`X-C^0+F=eonm+%SzJu;p2FupLcsC_643a*BxY zFGg4+N#dRnL-E!@@`xvZzV}7g)I%5Gc}c` z1w(g^nd&j5#os?BJ)bvi{g+S?5Qyx0^u~fin_#bfM3?uhT;O-;y$pui4_1g<$c20P z*>=j*g^^5EpanR!0HW7)`{`#rr~aG*Bmj5`At4cLm6G$D+Ae6X8vwhI{S%~&lX!d4 z{BOM2Z+`#bVC^piRTLlX(T@Fe1q)zPb&M&3S+KNCNDe)6^h@B-Oc#al!3P;;z?eY- zf&mgLSFLt!(f&+y>W6lVxw$?#xQlF6PqDw+rhYF*Bt`ptY`_p>A@M7gWYoZ)e^15b z8zK)XH{K39;r>S&W^8`Wf3IGO_5~U$YgJG|^JHu-qR-l;lV4PWN@}mS{Q8lrP61xm zdoZalQFusI_J!0m*Zt$rK=UOfC|ZT;U7G4`igb%P%3{F?vb>&O-3bSoz?eM>tn=4~ zuUhGz5dEu5uO!Bl!=Au5LL){g0t!9-w(_^nMbLZlTphuXdu~R#FK3~po^N8}1)%O7 z=)DW_lc-N&^k8#DNPtT9`$HzZB< zMwiIe=Z!AW5Bv05h57>#Vg+Cz%m$=LEX&E=3|}a4r!OS;NRzVjs?<}yhPI)`&BFp1 z;@ICH#NK;`;#(rm=MXq7jVUj0h0HyRZC-KsL|dlO1z8#^@>UHZD+z<<9ai&`*!O@;J;Hy-=`Z=AirqnHjBPRGN)X={7Kj>tX7zs z=A$Kb^D{6xaok;ZNkGV)@@X^H6$2Amq1NM^DX{_Z`l0F5jM8-6&$FTK@-OC&P0ub7 zJwvKqVOnhaRzkh^4Jy-oTtXYh%K~Y0`(od8^2k5eR87ECwf~?R=$Cu}o?H>^#A^ZE zIuWY6TX?>Lhasj#(D4a!@4kpj%NG^u)SX1~4DSkPeU9Q9?c?fLQA-E8@m~g|5QbtM zNryEuF+3$VV#G3Az&H6`Ff9nABfaYM^k1KAm%2^*m9-w}l^ddfG+UIX?h+TepF`$- zQZU4B&X6NBKX(tiXQEN(ggwZxE=buQ`JX<4%oAP3*FJ1b(0wE{r0`Q<=WK!_Qh2Mg z{jRV^z2cIi0`a3t6@m4|U^D4C_FS#Yfp&_Mka7!(RJEjyj&!7zY11DBjaFeCSOA?z z*6d=192kEU0aDtH!C2}hEa`+m8opg4=og(;#xYSDlNx%f$b5-c3HYy2@-+ZZ_ClV2 zs0g~G6V5qFHh(5m*5gFAmxiN(!zm`Imv}0s6n?h8_%9DCTZyq-Kd#UPoq6g<$=OM9 zd?yl$4n@K7A^AXA_e9&LvA|N8dheqO4X|uhNZG5J){BodH3P zGl`&jT=jT%d;qP3{e}|MZYAD9gVed)%6rcH-<0e93*$?>Jx0odti*6dsQ8bBRL{p_ zHBJe_7Hx6T>?3c>#q$Y|FB0A)NleYo2R|FJ-v`si-pH%_OEMF(XoX8^3(5O0fSym_ zDN)RzX6aBM-8SAS;I`k|XGwLOh5QQnqU z26RlA3~KXsLi|MVh#an4Bvhw)!;+$f->Y55gx*y@C?Mke!UrB_>LM#?-cD-xzIVO- zwn#gej*~S+8XD@w(b7UZUDWE;Ur?_AY1L%%_zNZkh$6U{QWH^tK4;8UQ!@1koo4hJTD*wD7+dwsnfy&NZt>Va<2~ zQacVc`9Peawi6fZa!09e5x!9P09;{IVniA*aWu0Ua-h}c*y|+w5-}Q5;NGE%zu*q! zS`I!)V+Clxf9fhe*^+{tN=OA|TVqPI$)DPxX=N=7gfa^w%f8?WLPBPA&rThsD}En= zL%q5iH}jEr^{+VCLagaqI5R`U%5!AF=p`tsy3Tg@4+D~qdMN)%zz8L`qg3rD_gxS6 z8h=+SYcdlKv7Cu3>JH!cLbg}B~0edrm^Wu!i^Wx3hzV^N10d@WIt3%L1 znvh!v+Jtmh2%s5kUIU5gqR`JG;#NCvb5++VsqTPnfl9F&)giE-ARttrmrq25ljEEJ zS}0&_k1Q5-8p?C9Sm>?E4M(~^LbneSzw!Fm4MH%2qMm}i;GT}KkjrlcPgE^#P( z-no)2SDqGpxv|#kW1fl$`-kI~6o8Nt%e(fZz?(G*iD6+v5jl%Fm3hHmmLjczTZdcc zAzIBJwzw#O+*SK;nhHbmsc*J8*cVAv0YSa*2)V{1$aX_C!KXjNk0)@y>%dPo7=l3J z)gJ7qG2M)Prtc}M98e0briq&J z)ASIjHVTSo3@Th|>@56{zqG|4(j9#fGSUmuf+5z;Tx4i3Cb+pVA)7zh z!a80bTv`fl(&XF$K-gM^K1R$$6OLFnL}i*cg6T|fKd2$j`TEn6T7ZuGN7N40W>!ps;kM^}uWOZO_2KLLG0U82wi%IOB@Ql)XWU>}VJ3ZB~% zEP$>UC5`Y;2xkoRl zGz(=tf#~fOj9clGo>^NgV8@T)l`)RScm(kJAkv?(zQ+S5CSmGBIOJ86)WG%EBeFvT z&`V@RL2-#;q&~B(b0+MhPn1bfr{M6l9H~o89*0yhVG79@yJcFz@h`#q1KRjtYpRY7 zWcI%&*!VA)RlQ0Z`&}c<(tsVXF;yokSp9Aj1xt_=s{G7X1G``YcE3kNpaa~X02n=v z?isZKIz;5%?!JP2;z&Ye)_{~P4o5_cvKFwa;x(Ob^*xq`3N&~%8F>%_5ebRRwcc!w z#>RJjQxyxx>t=m^Gt)pc&>=ni6P3=Rdcw3xVZXV6fO$qWsHQd3_!X9QaNr3S;`*sQ z&6k+GavOA5BU!yu1jW&axSGKmVvkd6T`eY2<>#Rp-Z#5F1Vjw*_i7-DrB{hLRvH4U3@lR}{X zhp?}Tifiqb4Fq?0x8Ux<-Mz5@!67)oJxJs35Q4iyg1bxbV8LnJ-R-V@&$v%#|Nmw5 z6Hg86Ti>i%vu2eamk$8ZSx_pDjqAaIDM307)<0^X9}MoMhb%I#G+--GObTAVBN7VY zQL{G?2e-Y!%v_eJQ67kcK5-~4zgJt^i9in^`R`hYte3io6&1stIYVsS$<7kq+v;SyhitS zJ<|8fJL9ZIk7vEYPUygr5<;X;RC@HC9Fvf={{R}JR1}8%5I~RoqZ$x=`Xs6oQ0t9K z$0nyY5b8>@a}zbpv@ZE|?W0s-dzk7rhY{Q{Qce@%la4JwnrxebV+Sx!g%A7e3r>NC zU-u?d!Q7bme91CcC@;v5yy+VY%)luHs|$YF!;>7FXB5yYZ>N&y7P`ko!Julu0=&#L zJ<7*Zq-m6|3JVzDJHx*1Q+vXkTy2@;BPtpg5A_~OpI*egk*xrt47ksUOb&jupzEtQ zuS-)H$Na$r^+GXaGts41U|EMja^0MHTeD_L$R@0wjH&RKkc4pzS{AZH57my2Py&!`g13&`0PbyfCZufj zmy@Bg*xLvJIi1=$BgT`S2p}(RZxpzsa zRIt=9kEzX=MW-TaGN1f4xvRpa`|a0*aqIgpn4TrPiqw zT?zoulWx9eh1C5KsAj;CqdgG91$rvt z-#5b^UlC!@an<%Cy|;y3XSX6g&aoBK;v7&0X@t~27NjkR)tbX-Q$h%T1)moR7w(W# zv|Xno;}S|+J&Qc8%(UWah2yFHWskai)WZR>QB-*9@u#BROV|Gbld`6<=k;Dca0C5Z zE=zmYZUIzh%cMx0->H2c8L)xGw%0eqxVWX%X*^_aEe!pnQxHB$vIES>PYJ#=0&7vs zq4+}69QNQP6Y9dIBPyURTTyW6raM9+qcsRsxu0yt_axMZ@-W7`#6U}MKacf`Iqzrh zryZgc5g@A@neJWB^TghRkF)mRms#v%Jmw$+6G*V>VlPqhD<%B-K#o6n>Owl3k<61;X*D)FB>CwGz_Q=K>6ILFv_P0g4PqnPyCS&NDa z;&i~ZZ2U_Uo_edM7ntn)}lnIKvbW6Ai`*zN2{^K_|Y1gUyduMFFXC0N%}3EAmHJs=YHO+ChYqUTF~U9FiLmo=c6C?t zXpuJ`=nto5T?^oX4o}aC;+tjO46QvLK%}#kOyX_=eOi%>g{CGyj&Z2X`b)&WuIg-tYJZk zUg73Q+#d8hNOYRDS_sdf2MKFO>$+s|HkT^atiLy+mc^Sm^LV)I?V#AyoNZkJ^BGso-N z(g0@0b(gvoP4S=WVvZC23U|&ZDQ)3RF5NqZ2*!xbYWzv^RY%p@ixXNIS5 z6NJ#f^fBGy9{1*KQYw}rbi!A~A59^?;f8VmEb3RnYOqHFeVx>i69L@N=oE8S+)6#m zW?Pq}(qqOyY6@VGnH49;_WbR5rb(zFztan8^*tvF!{OA&#gO7g6Qev0{Wf5RXh>su z*2DLeICf1*LQlhxPr)R}Q1&>rNQ<2TjGDxB%`Dqon$K2Qm0fh6<#fs&((und_tQG@ zxJy1*zuve$DsK(}a32e?{X*PQv|O6XEJj5vRpIpV@|q_4|D935OI4keCN)T|(1kTO zpi?m{_gkhAYSLpX=SpyfENLTVK4MekxDPBIx>SrdvaO?xSs*k5}Su&Gu`Mc$JIv-F7 z^qGt;MPsZ^nLG(=!5jC6G<$V4;gZ|QCs!k^tCHFyWS65&YOMMj^6*N9#!U^%n!Q$& z27Gdou%&y%O1R9FGSe73be z@DnlIYsulT!qTnuxDxwEGUC_J+xBuKb8&;cCBSa%fXc^!@up#mB7;%fu zx>Efi)a;z^Ch}D3AN!`Z_FbHdRt-E@1|!j)b_no$%eGsNY`6}5Oo5_lMr06p9b4+#X?!)s_{JkXg>bCLhEU11gSp54Z)xtc0>QYdHCTiZK&}VivC%%<(#8=U_4IhUZ$5LG6qnT7S+=oIRN<=0kY6g5=QSME#OoMQB18TI{jM8UhI=2ZSRL$FWB zw|buXlQu=%Z!2>O1_ zJ>m+ugQT2QL4}djCHrtbC0WX4kUAyN+^f3gJEH2qPeqYU;lFidl`{D!wqc!D6lOwg zH;5N~sv)s|gvP3doKGK_7*h62Ck@^DUZX}4frW^}xFRI|-!2RAPEW4{zP$qt%#Mw4N$05~ctoz<);LZh;tn1l6-1Vqh z)cR155WZeBpnoO^E8M1``9MoeNhwaJ9U=|xrJg0_d#UN`mV}pGb>C_}L(4*3hy4@M zQ9CO1F3wb#W_C>qB#Q#bP6r%K4dNR$q(- zD`lgKtQlu7RL#p&b9+VeOF=;W7rx#@)tjYyx!4IjuVEy46+Sy~7ODR!e&8Vs7)@LYouyUhe#lk`6o!_yb| z$;cB->CkE$vr=9BF#JK!?{q zr~z&YL4v5jQ8)UOQtC9@YzUIgm%}~GTc82$N1Yh7a#7u3;(UyKzWiYAV-T2d0aID+ zWo$Wz#qvH415^UPd@Na?Eh%aY@7nGGX-#7@4`Cah9m4ws6)%?M zWZYbUJlciuab4`8JHl)e@(q$&H2544;90(zeOKQcYkMB!8#fhlXL_OyilC{0WOhnQ zUHW*f{&-32CsNt0zZWLRV8kWYNX1x?ID=rfpm8TF)qzUyO|1>P667x4w5!<@Z^++6 z()aqi5@@B%=}7?z`a4D3e>pRK>;atX(&fPZ*_(`h4_MmDh@MR#3}LsghgnA$s{;F7c*~m)Mcgo(xuqzH#nd%J&^r6T3C0F2@sIwpe@E zJ3pNrjwLTvNcB-xGNM5+9&j#Xj^C>IcjLn4pJ*l{Y^e9){3Lb-^9Otq7`mu9ANZtb zUP90N*Ds%Ckz4@?#ldRS`Jtghz zN;FtTBGdWmN2%x?U|FF6SHm3a<(xq93yc!8Z2z6nuq)yZ)Grc#Tb-I~=Q``nC0*06 z7N((?@;K+%d^GsE^q_DSPZ4Px_T3LCv9m=u16g=c^U2QE82R*Kl7no766z znV}iuHno?avXGWxNzd&0A&u_^Pl={nM1zvZy!p@k^c8S#d)&{_?j&^W2p~z2gsjAn zkU|)#Az5l6Iuc5C%5#*fe*3rY8s$^BE2sszhU{@bNY}i0Gwv6v!WjgHn|XTs2`MkX z4__5OV1BQQ{gxi*gs6|dU?;CY$45fv{KrJWV93kaP-lbe8O|S*2_YI2yDjotDUT<( zv&Sz-dc`>tZ%=?K0R7M#y_Jk}RZ;;v4)mwUyUTX#j9BuBvBthFt7<{-WsQ7Xox=ud zw?Cz%*^-Zb{tKFO#_wU~Olg&o@Oux=khq-JlmAxY=s<*1N0>+4Io3_9JHhehwGscfwy)hrD zl1}`+J4DQpE`>5G-j@RYJrBr*FjbOh&j$$0X{*v^)_@{N1MsbX19FLjLK89fcVBUT zn`HEEVskLee<3=6bXcTiTfKO{Ew#1@FOD(#@~9?& zxPwb)-8{h^!7)!k_lD7mlsmmuP#L!-jMXP@ZO$uS(?g1qnzLEClQ{FXQ~UVG>}3Y_ z;LLmBi`41m$$oqu#{OiHJl+~xH9{W8E0vT8IBq7XN5}3uASE*tqV2y zx2lPyFwJWRbHw@r(ahyu0;n>PQRJsq&%f35TEnGBl9dq_(d zIJhncAH1Uc2{K%nIAP~_vI3q_^Gsd#g=xKvfjH|kLL+~=BVLuyei1IF-|-z#hQA-< zJEB7(cMz)o#`Mg1=@;`%d4Ez;HLRJcq`_@VIDqb&$?e!;*O8$T{Lhi@Ld=H!7Gc)Fpl(uwt2V|Y zmTRG3xknA;B|&$+T67?iAk_@KeA`Kif(wyIA|y54x!~((fx6eT4WfHIzEkChqdTMz z<3`=XzhoyEei}L3f8L1BT4UQyzW)dsoXWJHA8_^8ELZc_{0=xaB`c&=um8sWu*|nR zg;+Q7A(=Z~^4BSGj(Ya*1=APwC|k*ex5%CNXFe<<)d>11pz>5DGB&>k{|me(*qz*N zlfyj|ef`LZWCa+@M@@y$HiuP?h9H)k=IWz*pAtS|`m1;Ket_U-m^!cDp;j8~7O{&1 z=tCg>*w}mq*~|rt%t(H^`}&lgb%mrm0#`ze#juBPP0m{~q8X|AyA@Lkh z|JMX1I|`E>NR>`~XFrQ4RKl0O;Q+O$nN(eK-le{pS%O=E%;t=8sHFQ2cC=+gmb0AN z^&NO?{+Dpc>W{exjl{C6w-U=I-;!x?>L5Z6kDtQ~b5Tixj*UsJ5s|xW*>5_c6(NpR z?JB)Mf9AS^EYz&V^wd4?f;_vlD*V%mV?nvx< z)xo@g^d)mu4(#_=>P7zfZx2DcSdPl zZ2sw@tg%Cp7uZ5jP6xYm=L5p!dO9kbB)Ic0rfWVaWlS888JUa;pq)%@O=2V~xY#rT9Se)c) zIZ@<;H)fQM){J`QxRY{a zG`xO9r{Y_+wd8{twtk$1!LcUP)WpZ(edH$d+%T26W8Zb^d2PG7^Qxyy9N800HmtYm-lLjm)a#aQuNGSElXLFaS z?hPn6dQxJ?(5Cfm2}UX5vx1*Ow6np=#du0v+)g4kd@5mQLE=+rBsZ^!@T>maP-)~& zizimrt&aF{ADtH6KKxp_m9K*&r$J5l{1~)2L$1dP(O^*VBI@qmB5+-e1x^h{Z1^OZ z``?Iy?BzW2X6!UG?v41Wu#lxAdfPj3w@PUPi7a{E zmAa-~_1K5RKOxGL1>bqq-=LTz{+q;+^azT+2GYJp1TGCUJ#-J?^watnJil2fol_}X zca;_B*w2|iV;QeC8~TeVpnuLV)FT6pIT3wB>7JDU?(7?YME37rqp6KVA@R%TU(tM? z5tQR{oECp*F!dK4xm&l{iY;s*T(35mY~;Q7L$}{=B@c{!f+BJI^R4)|1BvTj%3Z66 z9|cCDJrvd-l}zvY8185|zmrU#(-SI_y3tpkipxynVAU^RW;_FALqOoCsaF17>5He# zpo|+^25q&O5$BY#uTm*kUp)&Rr40Kn)M!EB2|@C0^$wpaS9Ne1OL%vZQPm~7yv)$- zy!^hAbpg?L2RtS@)i(VuJ7+8!^SR{&kK?PDUBorD98x8*K-#a?Yn$o6UmQaJTpYJA zU6j0LB$Uo(PUxB4h6{+gE8qLwK3-UhQVt*~ROPlDu!C(IvFmMurJ#i~#PZ~@4snpm z>*G`K%BKaMbW^C#$pPy#WE|JvXWQwZLZsFNzqNdFOApxr4&~k%FFcPdOJ_rpno80- zq7;qrhULo2K8i9b4j))~0muF=;)nFaw&-8aungK$YA+E1v&_drRu-4AKgfT?Jz75F zyI}x^C9xUi2mr_6{BX;(=ru+~@2)%_v7Hi=-`)s6ryQrYJQFe6`T<~@q|8TAgd}zc zE@BlQwh9lB_YJjx`2bOQQBak}fJw?2B{t`TyS&~`vR4iNI^|;XWH*y5RKiG<+(+Q%^odVund+^PEp{-N~Xp&*%=TNq~q5`PrO zf86?B*5EGuFO#gMkmzA2v8=E=B%DCG$sY34^rORd2f6duofXhB1=>cy1ArB-Wqi%r zKPxUZ)}0~E99Mb7El&O^dNi3X4-Ycu?gHQ3wf+lpzw$&7AtB56{ zaG10raAgm!%FU6-SwNhJ=EzuFXhaMLI5bk$`%GU$IAcB|;5`A(hTh!$M;)y(i$3j` zKGywLe%_;2`~3T@>afufb4-igD1BV!1U=3Lx<0=(VE;Gk(#JlQGvblJsJ-w?nw{t3 zbp0c+VY#p}A(s&~@q=7tZa=&NRXkN9!6!5wMvQ^Acd{kT03T!ROF7>v}IMof6( zSxA$x6eVr}?_6uytCC5X9#2X%wu>q!6XOJ!u>t|HN1-80Tt5 zVAHLBl?$EfD%A>-i`ZB(OR>I)DMvS(E7fG55J{v4L)Qfek_k30-<4RKBj?N$3^R zQ|hG~`#8_4HG2zi>j(n0*qpdD0*;6g0u|vZe!!{;t@8=6qS%U4)*C+Gp@&IU>MjYI z%fn+rD=S3wis`pP&r&PIe~fNr1&2hw4;^2$nxX-|%{hg=%1Lxz8)*wyLO#I191l2WPRraH#C*k-w2U@Vd=ln<;MJ(G->2Y!l?xHF@zI*RJiXm|qN`D0?&y8lQ%GPNt#`sT|3 z@-_6Cp>bnHyihSqZK`GLudub|MU#T$FM@UGO9^CD{u0zH zSoYtfOB#<=Hd`jKHxMOsAtyQjXQ*&LS0PC)3fJa~DfPI-C=SH&@@#z6HpQ5dNk}d^ z_c7KCRU>{e55#0uqD|_4M1O$ofOx&v;8ayO>P*x5hT~;XQyuIJ)k;wqsrtn`DjMb%2B$&_`*F9IGioGJ*LoPx>k%k6{0XR!COEYu<{GQ}FMLS=*7uH2S;lI-kR5yg#o+sU_-Le4}J zugLY)+wIa_x75|Y z{`!@-rH81WBTHQ~hjt1p!yfhLo6$RYT+!je$l!_PJfOMN&jtuBtB=>uO??0eRgp6> zEm6whC#@dKK;VE(>$ZDvYCSCf4L5AY`3b*}c)RJaE6%?|9_UeqCsB@q`Pm1%#Vvx~ z)>;B2$;U{Xomc+~jEfl$Th%qLupV%!3F?!DU?|N$w4app{3b<}3=DVRBgc zp2&Cc#bGrkwWelS9Wf}M zfr~LkuMiu0IULHmz-`3VFaC?xnn2u?gs^N(3JofC5*b4-07?5k`eN1{aM4#DOFnH8 zMJo@QTC$?lgmO)-OjE1{1U5$#UbNuqwy}kuq4q7d<3F0_&}f%hAl*D@fFm#F06xlS zv-tgq8B%O#6wr}l?eT;~_o~;8>(G~-%6?I1EC0Sc^;(HhHAx-+Hibt9mT4xcfeP-n z=ik14&zVj*9X)DQ zpSy`DlApweSSD@q=7gmEGj6Vw5tgy1Zsz(w~l30dFya5 zc(GZB$$RWP{}t!%2h3_JhrRAN5Pa{7KfuDZ z1QENF{jR;kIrFLvpRDR0^waZoha&6wgAhq5X}5&IiS(ENT8T?;7w<2QqoVqPl6SF% z5J?K;anV0h!Ecgr(|3Lhsc7uuj0vQHRp?ZM2_FB2l!#L54uA>~ujphMpjH{7jgZmM zPhBKYNJJ3RfIP$e#5`we!pEOO?#G(KRXzdy`$tc3z&D?B_-44yBn`L`0-DgQ_%cjY z^OHgKIn-C`k|n2Y^C5hRfnuPN{^0^9KqgysxA-D)&0~l_ah;ux&h8YtMzz?`bHvPC z`VNF5MkTKZzzo&&{0+cuI#nGl4Am?zgj3kd&ATc&$!^#WYq?>sT&3H<<7S$-Rj)iL zuOy6^G!V0#=D%bLRnz4OpUET>vM!VTGJ$L>VNFSzZd@n@^1`?6tq=)WSrj$RS{()``)od*|Mx1fut-B0ul zqf>FuWHNEPEoZIkED6mn2Ak}4Np)NPujNtkdbc=)17^dFnSeh%3=&hAy81#vBBM7j z-e;-qtJn3x(t{hgIn^##ouHp1r>PsZK@ZkuP#IQ0>rj?Attl@Kra{hNbXK}4O=R1@ z$u|3bfD@^t9%V0Ud;Zh%W{_S3Or=O~D&66`BKQ$>Lw-0p^~$3Kcv-UqCo1({%$#l3 zs>8=dxTI%2{MR`V6-a6Pg-#mwhl{GY#yb$Z8d5(lkZrs2{aeFPQ02T6vNu~83=C1z z#@#uB-#?-bgz(pI8_gaF5dpzdA+S<3s=%E5T^a1^aM`|?yy5#%qC<7H)u76H74u{v zY4-ycpombl6`~)2gTsFlfCFY>jyvd_S5J8+i~QH^Y??Ls+_gj9ghS*Y$e|EPrX&C9D3TE=jG!PcQ@1bpau= z!?MmsXU1n8%zyaki-Hb`OGANx@&?_!=tQY=ma?GvSgeoCKZ^U8#=`w#C~Mlu=f>mC z&(&E3v$Z!(bXX4cm(-s(ijo;6u;vH!I|GZZqJ^~0uF^is;a)!{>#?y$UA1m;L*3;P zhI~kv!Anj|LTGnX zex5jl-EE8SI*UTj***rA5}DP#DDD$=24<_v{<<5?&p&|rI@*?y$j1=tj97P|1?K!P z;X&e6^a5GQ`3(cS-mn+n^};&#@+$-Lys;JFrZqqTzKZ4XreKG@RH=wiRKy@MJ`K89 zKE^ZK3Qaotg#1V342ab@{8yZ^{9O-7$m2zndXd%?hxI<+=C@5i_SD9|>#p~?_dhk` zzwZ(lEd!D?y4B5g=tM@KfajJR^iCdb-T~PO%@et%HqKO}2hh;@o)SM0ir3{}Bs@bQ zW;n(hu}8H>LgDCm070c>EptV~npm;Xm%ai5iqOGZ zI;~j`>NZz`I>My$i1fg!AsE*6gT4r+NppQ5wMvZ?zKA!A`zU3|1K@V>9nj?JfXPv< zCrSU8tF+5|h7rg$5A8_rs0Ers4><9maei)a8pK4SG*s;T2InI8^FbBPHudqyI#rc0G(Ep7K~bAs7-h-IhmQODfwD z5LCPuH+A`l*!sF`Ow#xdobINQe$V?CepAB}1}bGKymU_1^+ZofxH+_xkx5ENkNPw) z-G;bdXPK&F0+ZI>$a4`pH1^bWwrQ@QHXlei`WddEC+>7ye*c5H@1vc5){(6g9eU(e z0J!iN^THRPhiz-WW~V_%pMsSmz}qn6N%o9o|AgShm*Jq6Uq^Unh}CI+ViB8tVKtPX z(G40*RG3Gqe)Xjip=96X0v;s= zK;izSH7m9D3~4L@d%iM~7``~rAN`WF>9g;jGmy255y-C?$1wU58$N0)=hz-IpXTn# zaR|=ViLkb|6`Kymmt!N5bUox2lBBQ7Cm*z&+_}i&K1rY&5Qx%g_OyMMX5KOMO-Kfd zkUk^mkQ#+mIE5-G5J&RSd})xhM2`VXk2TDO5UWYYzRL$A^+rb)Ag#7y<*eekxzT}u z{N&7F8{h40P#M63=+vCprEedxgb4$z7cN&BNAS9`B zP^$Zrq3+CURy#O{#dQ$8^4%Kqc-dB!fO#} zlOm@MCP(uZpwXefA&=A&mt4=w+xx7D`)hKw94FeZRe7;yohnXQSV13_)RqY?$F8sc zx@LVVhw0zgLzF9cU%s*+2XoCT*wv{L;s+X>coMNMxOlfoz;1S^V)v(J_<(O#i?a99 zeiCxMR{h0YlHQxl3N}W$c?CqOj|JzZV|Z~gO6ou!Dug%&!=MQL4av|mg)G=M4{aqX zma=~E-5lG*=EI`$b*$&+<{zP1-ll?I#poH*)Ief7s_lZfLF?*=qKGTLWGN)g3Uz}9 zLTq4WX&P@XJ_A)GMIu^Kjp#+gBmuOPY_mgWMCWMPl;j)A8gl%=^dzRBr2HDc_z1z*{j*>0lg^uiOuB;O zy)4#*lowZkGEK%tL>|5%{CB#H(+YFev!&Bfr-q)ykb(rlk1)!Uvl$nG56a%oDj+k{ z6W&NM2GI3yt;qIz4!x&@Pq+H*+VZ%{s^(NOidNLE*`WNNAF0x52`JmzJA+=*62f%7xKYNmp9@Ca z$EWP4ttwGRb?-jKNw>&YdVKzU^&wAo&ruFH8I3Zm5DAM^E>~>?V>wRS5dkw&PMxI) zu|er#;eE>e?^h&&>#Q~EzksIY<}P{f`waz+c-!y=^dBvMXN@p=2HaX$q^_JF|OO<@2930QIAZ|*n2#l-{I>4Bb! z8|$Y|f+lY)d`#T*qFzX`1NrPtX5MuMriQ*7rhXM_%?z~@s}Ra^R&aAlaUgNo(?+}p zhO_dJ`t31^{^zBQ>EG5u-bO+56WV}?P*TA`R49nS!W3nfcT1zN+45uTCxDdvI%q%i zB_m&49=E<+5|okWSFBkqua*KMkCyyRi~-&C*~1Xuc&{$n$Ed>T+AtVd9xsm^6XQi* z0hjWEe3P&d4u~OKaZOL8dQYoeYAZ8aMliU`W}rWT?Lm6*4v_l2I?t2{!_}SADk`G{6LKYV<{T zf@p#swtVF>84?n^+<;IZA+;-9i-Qo%#aL(h&Z42C)P|xi|2;Z6Pu|uS#HH4)em7?s z^#xFfPELs51g3%N8hX;bA4L8A#6zZ>-MnN^feZa{bIb}I-!@NZK`8?v_y%^ktW;8C zf~(&O1qhdvIA!~3O-5+Cj;N<-x+>SK2S5j;Q+~E^TkhZ^_aw+;bi@{Us;y-ymgzBLh>(HDAxKj7v9#F(8lmo{C5N}~Iyn5#%1^oRS5inDVp;?_7 z8M6=|tVU^p>~=GxU1n;lJlshAx%hLuZrzjaYN(d@kQ67_TesZ!-$q;yK&4Z}P1efu z*+g_@6G@0m&U9LOE>hCW%|uf0bwc-N(p zOI@n~Z&W0^spUlA!G#XdPlN+_*-+IHPPl0FH#_hJ9+`@|o?d5#yjz+F z1X>rbA<1m}E(>-;#=uA>4xnqxnFPMfM{#kU6ab^qcTK073hzfSH6aiDtgB@4Sg<2- zG`IxcnNpY{r8q)~Z-2eW1FAW!A;|-@t8)ZBY3p8}{z5+~rAOI*i+11%mn$LXF~&b% z0xMy+1?`Q*ZY)2nPs#_j)<~|=WO6$u2?gwn&sqKi`&EBcCb{ClG^`05e2wxH^oF7BBBVr;}u- zi^w0|aQPou`UEy&(%l$541WHIzae+s$~MPP;GfcnX;iABsDnh{;O)}^+C9v4{jNa} z2m(8&%KzAbxp##IFqjr@fcO@W7wF-RSU9gL9af#CLaq zgK-P17G`p)={&AjD`p)d`35?8S4^KQ6ed@N? zAFmmrl{-J`3S(=Mb{*#-XYH)XS|QmRuRmvB%(M=$ujRgidn|VNWV)EBIb2`lHWIqT z^`54o#*-8j2J*1KYru}6_{3_$hEZw7Z|AC{QOF0`2+NhK{ld#iibAU*FUPl)0F8u;Z*?JM~&G%RP&oaGLpL|KFpROS+djmpI;#$e3S9 ztq}p6WkT@fXA~KMA+U*5`v%ATyZ}$Rfz`}v5%bi^1gxhl*{h7cPc|2ah5}_z@!wY} z^mLC(ConM|e=zrhor}u)xu2#HxS6s?9Q3WRHFkT9x~0(@KW8f>BGK4{CN{zxIZ@m? z87Iu4g_O%VD|JE>(u}u(-w?ggj0-bR9nPbRTOS%TyDY;@8`Gs zG3owdmWUy*LVT6nT$^|3L^=5_1&F9W^oAXs#ex0{M(eP&QYFIHaLYGL=_f%4u6T-eFg$JFnI3=+D#{wR6zJVs=DDs^zJm zs86b!6-`J!xrS9*CVZiOa;edE7_*Y_T_p3j=xja`XuCE{*n-vcE!Et~ngjf&l+RS6~3noNBwc)F}Uz)>q}&#*2c%n|M}}CxfQQK7o8Hzq^rut2-5KY%vAuL$TGb8qZeu7Y<4-atq^!C=fi@& z0n3m(&MuuSAg#LpfNS5dJIyo(%=V2u>1d%`K$*c0s|)`O;V!$~mJxMZ$A*yr?E;_N zsGgX~4u*}s{`4aa{0}xi^#%Kg{^Flb46~u2U2$D2(h!S5C_(x5Y?|hR0RR}xiwzRaLtiz6&k+##7dbXvDT6`T{=!!(@&b)DYW7=FgZJxl zbv^xG34r-p;h59$aZ_QWEU^acoV{8-EUi+!nm86%5FE6PxI|W@v(n5*3y%1x!c|Wu z^+JfnzW?!hmH3VhH?J3htCD#${0lsO7^zJ8jgfi3f%AJ1EG=g|jH#y{CPQ@1?MQ!2 z6d(M6K+Hz#3;%IPF$T#;rg<+kJzB0|hVNq97yQ7U7DkF--0-$^hC)JCTllYMuR`3h zQCqBRV7@Z!aUPKynd%X)_!;+zpSpVP9g?kWywP4erN*9r=>P5ILrQ_WBG&tfWv=!f~`9s$IQ4UdsRPjy8M&?4YPVL>fG{aUOrw+ zd{2z;X^!vtK=>sJD2owP$zmpF9rfx5c`7-%cLxUYrMY=~z(w>#qfz>%!hnVE(3yBt zsA8S#3WtR*SF9%WP5VKvrYo5dXH!hp%>bY!;~6M4^y@USxUI=kC;mVdi!oFAW3Gb` zakNqM+N)*9TmTdq;YNrHtUe7nJCn|G1tzzD3HiX%&E$(pMtQb@UsnEQL{Ch7fFjbS zBEje=>i$u2*hVy>F)wQWdwbMrkCRptHw8<;yH3n4)3*Z7qL4)T(oD$&X`H{}EK(%2 zEfU$PX<6$fD!|m8q_}~@yO~mfL__|=dS(?OE;l@ies11Eh##Pg@~bpbz!kOCR@@B4 zVw{zLMa0&+5Wj?x#|daEa58(PE|Yl4)~}>U0OU++>MTsM?lue(up^{CaeM%|w$Jz5 z%;G~%QqP~ql$r5Cp18<4*ft4x zb!xrU32=R#HH~PwNw1U@__9Qe&2CLjgBfow#y5>lKo8vw6>Q1yo`lzC6@$qfHeBI8 z_bega*{ETniL|7jh;1W#0hpixE&50Jnp%ebLRE@3R~U;1HuXO%;MPgaiO zP-fk=B)|u{3p1gcCHv6M2Mwu8SDXOrY z&^vz6-tjZ;Ian#cMMS{Kd10Nf(lfVl#lJX{SMJFH7?rAVG1m_@yqlPl4`~dEga+mihMB z?Ur_b*m61U=!otfF2}2qAd1diX-@OI%USF1DiuIY7~a^!>>{m=y+>N@4f30g|6c+F z%tg1@CF!<1Ne_z-1%MW0@Z#`h&Oqyi?EK~lk~J-T;7V3gU7}wWUI3tkBFs|0Tm100 zjN(F%=!O8m12&$~mHjCdw}cvK`&xjDVyJ?et4b!itN88c`!mq5RQJzFl4nG3y9#nM zdwLfFQkSGTwJ|ll96r(2L)ZlCA4DZ^D|(U}_nPkbSKDNv6rc=fehce2xyOce9IS=fIKHZ z2PvZOh|rH!x9VkiRJRIg!7&64rkIlQ(}FN&>=7E8BZbAuxL1 zj%t0fEqSQsNgAhua74xFeFR2Uy&ImGvdq#^zQC@6Ppcwjf29gjDd)`!o75}2WR4Au zLhz1HFu`Cdk(k49Yn0`m(;bzw7qgJQLSc5~=q1>YlES|s{n$~iBd_u|6Cm8*UxPYM zA!$$A)s?ex!T-*%E6$IK+4a=EOLQHoz@6H;vqUBwo_Wk+O?i*`tp_2L=+(xiR@Wz2 z+5j|RwZvRlIw^T)RP#%apcELej;=`I zIgp4g%C%SK9El6$?-6t$nqLA3KL(HfFCFcb1IR+M7TNH)k$iX6SM&MWWp*F)R^ks! zI{iu+!-{TW+9WDq<$wjTm9hzo0{G(4=u3rK--&JC^<)w9Z-#VrPQ`Wi0q}(@Ie#ZT z95Rpfjcq&37^vP*vRLDz)F;Y6>*8C@AYrY1O0HX0j+bx=0`DXHvGB=35QnIWZ=VXI z%6g}VpN#VYpZM^m8wfy?0g7q98Xdj{!pi3J>=`@-%NdCCv;suyX_-vyMUbR&@ zbSdS%-^~!lsU-M9yyJI1@UJ?ucN#A-o#%&vBI;)bJvB%4!22jshl)PPucae-PdoPg zRpg|(4pR1k+KdvLPn!MUaV!DZdkfMUikbOY*YP7;JKrnzK1g8_L)}HVgZyq06QGM( znkntN-zgIWL1*wPzA6}f5$YA)WNH6GdJdZQUYx4vJ4y~Y_yeaSTQRB>Jt7?1C4W&^ zF;iJ)D4LP779TotCO+4!Z7 z5#a!~NwU0SZTfZE6nBGUbUSaJAe&eqmhRxU80}Z&)o+ut<@q90KQG%CK{ew#N8(n@ zLj6axDYfm)xU*JDdMH7fvS)c-q9XTguasu2Cq1>}{iwD>SL=*nU>jvz!Y6P!c-;?F zgq9$#DvwWqWmti8xhCDO)p^~E1zRrdcV_T(P`Xmh#*XFKq(t3jH!4N&uby_M^KQ6f zXvvH@ET=KBcXsKDky2@42v$3F7v{0hh?vgp8{mP9fT)xV^aP&^84|Z&zh{U%+`Fl1 zQVvRYkl(mO-PaXpeDY3cCGJC&iIQKPy9TV%_(gC%_6bOEN~%i|5X=SK;Ph@qB#5{-}AYmAT2rLLQ5voQy{U9GM|}={=TOs(lw)F(V_)Ql4Z> z8o)tlOuZ+ta&o27;>Go)^kgL#@uH3+R!OOv2EY*>QTpXMfKCRHo*LaJdr5~g)+*U-&`O`ARlzrjyy=b zEIlbSEkTZ+h;7PvY>K6*jB9{}GJ(4{;Yfw4Af|tVw^G3Cotb-0Wb*OVsO$}8i9t0` z&nd^cru@@sjjqBqN44}b4?m>-5R^+=I2&hnD;XkaWn+JOH`)$CV45p(Z_<=vT^@H*dyy`>wJ1Oi6{blKF zb{mp|q#`Ig7P-RWmnL=7lxmx`8AT8?eVhS9QGoJji$wn2&;-&&CC`GxchCDJT#Io* z1hGffnnB3^6E`;#_%v^0W+>pJ&%*1|k76(nLSCE;0ZjAKG4|5so~5`p_D%>$WYJSw zkv8A{Xz|`f@)?P931f)au!RIQeW>lA?t$#{GsDe+g7xFP=(`v)mO<9qUm}>-#s&WO zvD>TN#%8|9)Xe|^T$7c@R^PzNC$ef#ikL6MSI8YWx@n(z^QbIyXlHu#4AkQSRkdgC zLKKL2i_pfX0W`FTI-#(rk-+m+mff!dWu+!jl(aMJ+X+ZyrFrSrfTFt^QTFU(_|#m& z;fyo5t=L!`v9QJnYL0S0>gP0wo{!cZ&s}P5FE2H&p#< z?Odx5oSD~eaQssCt%5m4;o<$lOeoZyRZU?~ay>VEm7QDnp^A#GvK!UPOZ{?#38@{q zy`z&c+}k~vK)L%P8S4%^_H3j6OtLQz%AU+MWe+i@i`P7#fI+D)K`P_~UOl(lp{MgS z_yV6e_gBWdg#-MPIIHjeKr>P$mXz(sX>#?sBhW3s%oflyAM4ogPezEb=}F#4$thRY ztNECt0|>4*$!s)#z+Dgqj-}ec~0u%+UuVNYA7#VM)xC4TB zbG4CMS23A~w}`Z0fYQe8+TIHPdi~-B0aOHSqVNlP;~vOz?fVS@!_f~O?ckeINfj&5 z$bk1kew68LYI&sa*DFTaT&3K#oTzv?EaY5ohwfKtkou2BF`r-eqtu~=6u|?^xBdIy zHZO}t)kNqnl^g@XG4bc_`-lI8n&tW}K5`It%JLD(SGvZtc%` zHJ%c8+sU|68yDRs#hR&Ud#cB=vDVOV3rrZ?z8C#wTHVXd$;YQf8~i~?mDNY;OYmJ zvTbQO^&J>5q-hYcQzwbker$$Kx+Wdx6So_XGh@K$hX_P~(iJV0DlKXBNVzLoneu@`V~T$^xqtGUqm%1r0^-8 z==+W~P<-OSXFxfDUwJITL+>FwQQ$|N^32*T*5)0h^S{Y5?#5(gmX;UQ5?=OrZ>veV z1doZx>!OnM#$wxAHLb-jSj*5W=awoVyc{Du#GWdDm{uzOt=#W>Ac+(%_xiK{#1kHc_v?K8?0x2yKO zc|kw6HQk>Z6A-i7W{8)N6ZYNB)z~R3Hz-=$E5PT8)QgSoWhO45bs~pxc!j z+N}to7#eja7tlPd=S%4szC3i->`gkW`O)#1k$NJBzVnz?O^|qS1y~eth;wN^$o0RS zW*hFSvP!h@Z`K)Ns@LKHqfKE1Vb80|>1R{C6b}fk-BjZwh-bKpvy~ZsPjkD5Mnn^p zcp@_45h&@pY$b1l=Z}E}!hu|>2wB^%k)wG4Ci`EMA~~K2IW!vNAoKsCCGM={;OAhv zvCM)iDB@^P+)QoGRsT&%4rF{9^>Y9ezWHd-y$oJj(KPlUIpV0{QI*bRj>a!fS8^Mngn z>m6{N(~Z>+y4nYfV5IE&rUP@R2RwcfdCfG@R^o#N>+4^CyULD`2HBM0l?kiaHAGVK zsn;+UbhkhJeuo1IjL8~Z-AYcU&srpxX`Pa0e}*hy4i8lGDH|BeBiwDlDso29;KR&+ zV2Irx80EeHm`7hiLe|jX9zCOaL3h9tpsKB+ZlevB4k7a_)k)|h!nAm;4PUD03<|?h zc`xj>!1u}X4sqL;?{#m^?t;@}rR&}7Mo@0T3GQ0+tT`wK7F$gxi5Ynv<-I|#{e+3? z^%PehZUd_l3W_#jE*HpN)AIX)joqqSE%>6_u?Y3*w1{6}_I`$?O22mz${!JN|0{nr z`(uxuj|FNl3Z!@4ic2C|X5*}q7^Ta^vtt>YVSvdGET+4D+_(NMX!QE4daWWuJble` zwQ|Zk>bF?F1D2CvGH24kQIh*Wq3kC-D(~ARva&!ODg|Xuk9TXd+Z6Ut8=`cWh?3;6 z7`JS&XqaRCOFBldB1?rMS&@Gh90{!3af=a2>b2|!V2C;PHZgCyP)g%1#aO?pIxhH5 z9Y~k`OcE{g=54ZUec`(szih`AEmMECFQca+!?iL~UOP3@vpkNT|B=4UluraNz|Vzi zu0P$juF}u&2G1F|OTVa@TQOTYYA2c+3=W=fGBAqferucuqAx)woDJ@z)o3kTNIXlVvJ8@7&{rKVYsr`*!YsH z0Tp2IEN%BE!GY?KW(W~=*7%-hT{65Lpu{_BeapbxeNeCu{sH=CM{M23q6UTBjMC!^rcF;u%u?ulZ~G=Sol5 zf;a3>pKH`4)q&8_Xlj^xD#G5nGYc)=bOw%I`-j^^NHE7LPWC^ zHQw5x_w*|9@aeXS>UG&D1kq@eFpmnj2H5qum3W}+`biHJ?El7qQn?o1+Stp&TJr1T zIyW-FQlI?5r1h>6-(S<-{ASWWP~^S>YrY6<%GPw%Y)UfPRx#vT#i`NFhk{-Vff2QX z@&?QQ5@`*H22XxI@QkFlD3L|%h((wel03T+H~vwtS^pXCx(tQspxB3r?dOLFZt0K%k8i0>cg)TG-tR#H(cm`QLvg_H`6}RWemYCg@lJQ zsdS=jIwFQ&czgHIz%lVR8gFQg59lKX)-3KZLi-%eja2ryX!?e>xjMgk&P1hUZElr1-kEIUA0{xv%_fnU` zdG$-dgEZ3R020GdJ~kxFs9=cFQmhOg`fR9CV>+LbP=DskupQD82rDxp=Y`ZOAtHGV z{v?XB8^9eR57qa+Nnwx$yKi}eN)b4LayyBryRkfywYj+ogCc&j9ac)p3MaB~=x1ZH~2mexO+R+1sM6eAg(T~4m<_iR*lx)gfKo3+#OAA8?a;WFSm_KxVip>yv4b0;yM#KnyvI{X{KG=o3; z3%hdRTg75VGu~ah18nqi@*$2Lf@E1T5#7>>E}iAHBX=nFm*biIo|yMu*{+ZN8Mv)w zR#w_+7(4Tm3MuBXs2wPdp?wcWe2W|ZgEg0s7ZP{Ff6qsA<@h%ly<~L^RGRqrfX6LI zq1irL#McNkjk@#bt3cE$b0n@1^3=jNpFoV5q)4-NZ(L6j-KubTZ%f7NNBELB{h0A9rY9L5e79@jCn81S6$a@qQOu_pnftl81>FFhawD`B z#nTT;f-f09Lxn&dWXZX{?=~fteX9%^d9#LyOyn$M-A|x-<9Nc_Gmtu7vm${X+y|5-KXKvvN$nFI@IiDzGPhayW#HSq4;L=gXgp0Xz6KgJ>qFM?1|`95 z9r-Sm(+s=>2I^Vg_|2d9>QB)t3chG_la_Pf9JewUX=_d*wvG8w<7GnM-05Ci{IB>NZl7d|8tTTz{-I?+Y|Un zl~Z@)^R885&3dnuF^A%o?(&`IR;RH+Mhx5L23Ut{z=>4(53`yfNLK2MZ<0Lt;?)73 zK!M`OPdY^338(Rw+OZ0A1NWrknoTBkXe*Stehy)YqaRwTPX|`4kYH|~HzI3i_8rR< zo32+r6`W=mhEv*=%X66@fvH8{w`Sc zT39+!uAA63{#Q1mqpVksZPX?RZ4JZq3R^HU6MAg`!B=*a$TgbmO)04*L6v_Eqhvm#Hh>?D58 z)Z6vo_6&>h@@Nb7VIXbmLD2RxUvAqWZNk)i3{6*Ad5?tOQZZ|+gbW-Z?$yB4z&cZ~ z3Mn>Gt}KPCL2r#;Q0SM!hacrsu#Z*NGy8@`+%gV6U?>ag4R0uEKqSB;aZ|XEU_AQ) zA*D6ZPUD@tJN2}kMn7cy(=h>$W9F7Rlyl-NHs!u`cV7xp0m{a%l0>giSfUf~0@=0v zc!H_*QvJ08dB5K`sTM)@4D~Wat{o)?*xCK!v7*;-UK|Zd52CX9@SkUWEc9-)Xdbr9 zK6*Lvn3arZ*GXSOV4kccmpA-RJtTL3N>?Ny55%o06Ig2VZ`T%+;ql0GJ4#lq-yJ}a z=$AI<7MGokvTMx^e2=2@jdJ0GJIHvf;qO^e_&{kKqs{%PzWGI&@bsv#8Te4r#tA7t zJ=eAtnR{sF&ub#>0AKhD)I{@DbceF#31Qd@)smMZvF$50mw{g`nt%1)84<<4Kpv9O zQFmBXjq66Tcvto1@Up=w>l;K#Un4j{7IEqx<$=wvWj+C+$KB%UBTN)~i7bV7%DIWU z=Q2FD5R2Gv`;ffQqc4&Ymm@tpC%0t6e=acyle`|qIg1eJmOj2Mb8BG*bC&B~WhLSM zw-$KH#f^sQNVQEIEzH=@o1_yP%SbDF636}@ejjmUFzQD3X` zT3z1AD*D<9)nwlBA{?GuNk$5akrIMKE%vEfewYQM=Z!dhYMF+@Kb z>UaUVrj0*#Q7e)C!&V#S08G-OTIEKzut8E!&}qn{7wuf|8NkZ(kKU%a+NM3c0l2Bm9Y4`e8gf#u4+vuYjL^uC#3`QE!my=Y>7gOYci0adJ(v!1L77XV8ifhs_cELro!NlU-qB$F379@>fV{; zm$~(JkwyeRG2i|mK>Kr>j~v&0p>c@qqJQm|Qx{?*^dPlIY92zsiQ%FMY0>)LOr!h^ z7ZKUPX=9lqR=M2KSfxlNJX3EOQzSM>>IM=T&43$3}%Dj z*Vom4f74+%Gxd;K!5n_N0^14x5kSnV^Qb}jJTUS|5XRJ150c!H;r)i-t_;IG-jHtG zI%6}wsXJYL03d6B?{Q~!@4r=n5c7c&`9E|Bx3{Djv+eZB4Sys zB+ZvwntVpoj`GS?Q<9dkH7Fug563tb@TS~}Tt)r)?%6u`rBzf4XMwf`LRecfx<%wT zd;XNKQN^zZD&obFf2Dwvy(eDqrh~w^PmnZA=63ZWj)Y`l*Yz>Qw1iAZUx#+q0N}_< z3oD0e9MgDii{Ua2INZTZNd#Vr4!`dN->&Of)E74H6Io!hiaV#Vh?S2UIgiP#_XfiF zL(7v2A9hzuVsT)+<~n9@RuN!j^<~6225qQJihf;u>}xMU)0M8%)`MGCy}d!oE_0ye zl|SZmz1NGHl>Wy2Gwy-p@inXB%0jG-JS+2Ip=OH9G;WuzGEoR|B2UT6&2!EJm1sQi-bX8n-N%5 z)_h98C^nP$6&hG<5yvi^`XuXLn}#6Cf*^|x)h!~pK}cJRnX6dY-kNFM%dh=?4=B&c zy2p^@!FT(R?EYU{FKX7$*o<~>OiJ@}7NSIGeM5>MD`uxpJF3m*_vZuu2mwIAxdwsJ zHt&j)jO3H-6Q38!-0AH9vVV&A(pT^s7s#Z1pN`T`z0ee`FyZijxlH_+ew(%Wsr7cpFs2|j66e(AU*2@IKU z9N+u{%Y~??-kC)x;#VfA{xfKN{h<6Ah~IeAS1^&xA=yXQWV%yDRFmU@{eE z;nAzNV9wKa=7QhY(;q=65DCmI3YF`iMWk|J6v~&59VKnjqDaPvvDu7d)f>07f!JW` z5jX@hZ7e;RjzBJ*nbOwG8iahi~>%*Be;T; zt!KEu!m{C`cf-Gm*`hre)O4rrSite*sJCym;&*ivcc3jX88%%bRbWquNZlhUti^@pgzM80V9G-h@Uux)CA z{=B=569uicw{gX?96lGj>>jVEYl4ki9!t zo*s#c601M8DcCb6Y-N0#UsX)pryn@L?-##1Xa9FF&x z;sVvxHIK=;2^-1?U@8M*49Y3wLEUpGF`d;lvBS4R(uyfOdrSJm5B$nQ+ zMG?yHVS`%?DT1lJfj7S8d|EMc(jZd62McJqP6^R1tEAOU6-tkTdUucuZ#y^ew!9YQKQ< zuHCFgZZtmmV8QUeQYTbYHwhm$o{(nW2TSL@2sv5v^k!4X$VDIiuK63v7M+?^w01AUOvA= zpYWZ1@_U6=b$$dv(=E2MjK|C+9~sZRW#LolkstlPl$LHOn4c3AK@)%)$JkV8>)LfC zdP2W<*@!IAo6UzoXPwe`3H2-TA-FIqFu+rC-6L57p!nd-gwtqRTCV5dky7)bSOVYt zH%st`dDB*55di)rBIzs<_)b-{zY~nlJy%|MNO(sr;NXuZY3qgC*yv0|3Px>!mr>Q> zIwJQt%(V#ml0{2qgr8Q${5vzOoM{E1afh6}!ny*6mg1`z_3W_AN=air1@TQDnl5#% zG}6Ks?tf>q!;kX#|K#w~_KLu|6tysbTp1mrtS3srcFGn_WAZMJIattuI%G#wAr*vg zYY+m*`b~W;QmuwN*%BxrAmYuZQXyta&W0?o)Ce%TXTYx?gS1b*H$JA-d?vi6cx6fp zKtPj18rznpqctt=-!Mn*pj+7;JuC2A;j)KRb+(HaL`@cIiDlwLcEU(NW8 zaTF1KS;#;hjqNFQic2=J4=i463B51U!}>Y~h^C>f#ElA$wQP1o+hJ2fYs7s{y|KMt zglm^g8d;pvO;~GPnIL=81+8qPL=5M4cI|P8Gjg?pg2}oPQLA&t5xqJqb?bcFk_9m6 z&i(m`lLd7s%I@K(q|&FgI$9Mz5#hGDBBI2%r#+8Zych!`ZrkRqj89ldv}i7dT~bzE zdD|i5AdeQBK-wwr)+dN2q{UE1Ccm#y! zmJzo-sH-hSMD8BYZI2F6B1)UfouXAAv%GnbjZJ8LbC8DAy-GtWbYmCmCOsT?zLxr5 zF92Y=`7?OOX-R3#Y84nbY%F=q6aiSL;78ApYPCkVHZ)3E+b>``j2YfYKYCqR(K%m4 zMW^WqhVpgS!oDVO1>ArUF?07<$agt%zSiPgE1=at?z8`zX7J^H@(s`ck(EBd9{=iH zP5sM>&tFrwDaytAMt{ikRp!)T=2@3?8Nm6Tz7BiEf461TH#|d?aWS)~AwaFM-<@ zsj~q(Z-T(ipb@aBBcylR*gB&F7!&w*z2>^wfv(y#@up+#9wtW$Zax+FW{3-sKfq0| z;4mLifvqw8DkTgDpZa`F5N`Tg`CbNF`lHWz-IW_Wx!(SfX8r!Fu46(@4aE@$ zMxlhSRPmo!D7$hgd59Fcj+sxcL+G&xP&8>a2c~A}8hGx~iTq{)PLp)rheO3O3Sh}1 z72nW)XH$}q?zKKnf5u_Yp-3#o=5@I=7|B~N8w1|ArbJ~UYIg~;EDMWSk)yS#c8cqo zPu%ZmeAVsLIsT#hl~<~Mf$5@STlQQz$oAxwNw!&k-a!9BS@7fkdYfmOo#{0H2*O`LtxC6 z%B^0LRNd#E!u|P0RaERAujKLE=A@1rjmaMJkg9n#i@C&^Wb^V~{$8Zu#S`Vibyu-n zPyK?{GBX(NcaCbCcva=Ecb(7LyII}_8NYv8+xe&jcVjYy``aD1gJvzg*DTQ(A#T@) zZ7-_Yg|zK&x6c%ehyLhi>bXAtC&7%i+qX#r*npwyE4RZ|rV+HPvUy)Ya zWkC@$KmF}m7h>K&_Y^LBb6`&4kUa}GpXKX|eF+f!P?oak1>u`-&q#CRVk15a9n9bV zdiW%EhmeKi1#%JvxYUn0O&L-Mm2%C@Q9V6&5qv0}h*B)Mutli#KXk=aip0eTyH$K1 zSWGf&dEGIyR&O%8yZ&tZhDem_uSL*EH5E*>kk1+h@TIp5v{as*ZVXJdr75s<#0UB77l zDINXD+`W0X30Of?&LRbwc|B<*i*MUGJ^!#0iY*hg78}*il{{HT(X^MjjYkrV*!RD$a9*X#9D_j;v zG>|7|v-)MvtJ2z{luv&YzWL7&?kOMxKnJ`oosAgsrJ|iHtqYLhGW}U}h0AT9ySY5b zKm!BWs}n4Ih#_Q}6MU>>4* zCdPx4kh(0<=~r=b_>@pL5H}ocw2_TAu0%6=L~p8(>-ItPOTgN`f~!m6S8rf^R->(( zLcC@4v;~T6`bjaC%z9dAB;>-`czY|PZVz53vhvFxzt@+%b!Tfr7dK! zQJXIhoEu8`+T7K95N!5eK6_P6=4DPrtHiok{HOVM%|Y(O^DG{P!H}%TYWT!xY(gHn zhirm!;DYFC1B0?=yJ!GR)0O8D86Q1&Evv_?iu3!&*I18#+}x6FDjxH`QGijgn@RLK zb!Slq0>LaqtpNYlo)L3Z7nRDZlMTP6m?eB$!o(=l2)~L=AobxV++^cFcU)<#nrVa* z9_6tCNvc>gjhQ7Z{kg7MUI0Eq=FzCZK56>X%D2%bG8)JJ4uT(VSrM4+z~{S*XK zpI>f78cOWR5ueVw|1E)?79r<-W&;WxUfGs9Y(9LXCg8`ow)87bS%yLL;m8X8fq6Wq z%?i&~f+(^y;n%hXGonAH`Sri z>S#Lyc6@Sf5%Lh$+oO)fLo1J=Os&5t94sSuozStAFhIz8)aV*wM#=8}oyIVwNrmGf z@CmiDXG0>2DlG<>(ZH$_gMe2ET@JauEp~iQYMP{F`elLbVCBP;%tPQ-9O z8l=qW)GVuMAyAt2N5N}#Gzx2E=WgdH$u9d(;ym(S^H*JQ?beD>_p@!HC(%1tPJ0LWs zNPHhc+k;tf1P4;f%Ne@!nGIGSDy84XPANO)ykL9xu~*hf#;)e;MQw`WbN2WAG?y?V{LXWxAzPK+%kIxyx0gx1 z=yxY3gYRyP`;Nxn1dBZ3&}#I65$%o851*Rmq|w*LeV4kglwFLcT7-)>Wq1O7h>#br6L-wI2z zxEk(%%DC&5Uf3diTXctv+s;+RX@_Nw|6Okb{cVX7r_jLhJ6XyW+m~#Oet+-+niyZ_OJ*QK^PcRt6$jj9XmJ<{n8#=bAt5T+y2b z9y80xid!tT-Ho31)($G=l+^WX=>V_<=ucWgR?s)SICok^08` zbzPy0*ZnJ9A%e7wc}l;-2}*Zb<9`kZi2Qh=sO3%v!!WV7?>9`ZN-U65lwl#Aje<9r6295imWr15rlB$!6m#@m%OH3z z74c=5jRd@re7;&6Gp3a8^Uon~U%VXLQsv={9wu7O|K^?rcU?RVIV0|fNd1IebCuX)Yg};IJoWBm0SGP{2|vxok55`w3XqfRCO! zd2?<4AbZwvblM=|a1yUbBv)adfvy>P7bMTvTytt38H7|s)t)-s_4$Jx*d#joEt%Kp z*3>fmm@`*OLgmjooVY*NhHhlrt2CkudW%XeZpw~CLY6H$b0`!MG(=J zFjW|VNTavK)3SU$0J{d4G;74*;@&|;MQ!xD*I2Qx96 zsx@SfMEwlyBC!U)XwK&D#1$w3yVlLAH^3N&w3FaCH+J}2}_(OQS*>?lL=p;DQ! zF0VXo#vrZ3MKmR^^^RKkp9J{xmjIVf2XB^XQn(TsQBGY^1SrbK_LI1DwljCQr!Gq+ zEVo_8G&}dy)vfie8A=2O-ZgBuT_iikYI+mY)xG?GFgNoZm(sVaC`Pmi2iS5t+7-VcV*Wpr6r=YC@&wB(oa*qt$C zK6esVFe7yIoqy=TjS)5x>g@Y&PQ64Q6x*5bD5TyhU}xdB$2(Tv8xuzM{52((kea$M zh1o8;M{pdo7A`VkavVm#rX@xV8?B07GMCTeMiSvSe?tmfPbO@B)J7Y`*%088WlIp8 z&b|Oj_5(xB6R}ai&q}KT69aboC_AWvTBpQsD=(Wq-X=p~(`j zIp6Poihz*wdNKJ&6jGZHA<0sBZdnB>xy)7L#ow?$)0Sa^E;LyjG?9V!v&8^+&47iE zEce@3OJ)Qe%HCMf7z7B^;Qe0zsdM zh}%#U+~D%AzSbA+=h`Z;A1Vw*VuR7wKGh+Hd9~fjD0y#lUTpN%L`2ei-DDM zQ{^b9=9Cn67$_&x3rb7KfIS!ZW?6rNLdZL$IR~^I7OB8!!Qu!zp$~p(X8F2QY44s& z{9$?u(`J3)cqsBy1ipTLzURaklouQ#W?72HZ($HdM=eb4e1(?=W)$h>l*ZbJu!-BP z{U)^ac%d(S=h2iV1K83E`Wn7*XIx@-d#Y4|xHKnPGr~z~9-GpUn+?z1jf}ftb&k5> zkA$SK1C_$&>XF}4$l0!}O29`_)|7rSa(RIuL3c|k((HYMKj~Ctsn^7NaxPc6|EcN` zEQ$eKA1D#+jot4B+i%ZsKy@POoT1>LlZEw{_(9W%a3x4q-oo*|qiZmgkW%8bD)L0d za>Y5qAgAknFSemOp$o4u$%!tV1x2$er=FAR6#;k~_y}c!LTX2NjqX&0n(dqL7;KZh z6AzFjR(9?kYyRS9_SZ%^3>HV`v9!f$ks|D4(di7O8$aSo`V;JS@s)qHlOx6ERdhWG zAed}8@^K>SqXSx8g!M+7DaCDpnH?;>a!y!YO*5SKKE!Wi+DQLRTn7tx9w`4!zK}%5 zeg1GBO#eUGhqQI3@{y6>8J`9l`hv~N90 z`iYq^PdErJ7^e`JWTfzW)dvVf8=-3L&~AXcE#;vAMm7}50tKJC&nTy%T_4KioKc|3 zVOBn!SG@?XcAg7qNkB-xae55p6*Ha`e1yrjLRdqJ6Cx9S_!#EU^B7DwZm_?Msdbn{ zQ9NEv${#EBtv1#>EieW1K14!}On-r{L9^mq9m24&8h zm!NTc*(5Q>@sFmqY8TzX`%JRV#HJXSuVDIl$N(Dj+z0V(nNuy?ti%48()=f@M&@1( zAa@tYQZHzhH00yXaSHH{U!Q||iZu$$Z}O~iN3YPlh{KX3v%@hvMWZ_@aUC=)W6qK4W6WGy{;>-+h7#Ecw0pQb$k%^>mcTy*+md5~FBZ!Y zeZRJPnwPai$qV=K=))a9+`Z=ucj$ZcSA6<;Db-2JyXy$P$Xk@(AJQnz7E6)xPz_K< zbGp*UgGJK3VA(Jn@Iy?158&2k)<7AQ8A!`-^nI?PW`t-W-2S_cF&=AQi^z7^XJnTs!oQKd)?&n;NUMb z+N;#8^tnvMZb<%Wy|_A5PLb9sL2OQZlM*`7T};BB$^vOD-T(Aj#Tw zCxd~ltEX7=_S}GIgki0a^Ma6yPdtw0W@XZ-b$r{2Y_t4gOvcL8f#o=jR^muO(F!|C zI3qBSFB6<8uOnQ`1u}ybtrbm z`W5$6#FwROPnG3|-zRkOoe2OM5d<`KbKgo9{nTL*2&UKgPO(fs+$Db~;5?Tby3#OJ zw`(<3tA@b*6&C;F#I12O|WJDK>(>{_7Dfe}mh$mQhqhq1WZ;MT$Y=|5}H`qnIU zG@nnO`%Ne-9d{ziw1Cra^x#LDWuIzX)C(B&i9tx|yW>^_$QBq>0O(U>FbwV&b_CG$ zZeo!NmqmG7S_bitCg>Xl4kgk&AU53kVHhLz2+-pLOX){AM2q!-xR;2){ghe9$k@4b zH*KD--s^Eazzf7~-H*#jcE^i-ooY|9r184%#j^Op+510cNit*^3RAwSfA0P4-AY6# zLSk>UO5TH)gr=i_Y0=9OYqx1#sOiJMM2G+9f_SlT!(b8H$;zG=fm&EqX1{qkfL7@( z`ob#b4jF7=M-mq95C5|(;*nn<%fz75J}Tuxc>byp5$2-#H9T-tbvm*lJn{yhi0cr6 zsvC%GQ|Hs1sl@vSW;pH#*C&tV!P<@4{Dx_UR&7rGB&4gDK2t^=p$nT%8t-S&0ibUi zn;Eq;&}2fwnp;nTQakVl;bq9aU4pj7EH)=Do3^XD z4bvlzIFph@V@D&J_KAHH`R3gvJb%Y)mP~v8snt}SW@99IP1h@#LFR+49pf$+8L>^{ znz!C}o~H!gE;8DKCYWyY@2<4hcx|K$M{7Ea4p2C_-6q1v-E{YRQih{TPPbw7OF}Gj zN-&kBgF_)e^2wxU61sq0b9`W`oTxlQgZAbXQX%+quoN+gf-B;@vYiocrSi-6fau@V zO(-{$W=D*ABDeH5XpIj6u;n!gVI zt}LON%DQBc$X-}*ORQ#@OUyhs2maQF*H69N)6l%fKY~9PBr-i+J!1R(=l>D*R#8<( zZM(2acP_fSL8QADjf8YcNw;)K!=e#si3P|4N$Kux=}rOZ?)V?S@$aMW-S2jAqQfJd z&z$#trMA*S7qh$F{yRrI3057D|Bk zw%C8I05WjU&$XI~8BI}{w_eDV$KSd76>Mg+Z`l+ASULge95W2HCmfgcxYH~U=^wG! zy^93MR^J2w`hoOE6a_&vKnf&hcHJNlfp&`O9r07_0+9F-KAfXo$Ej8ULa9UHJ9t2^ zyAk{#AQDp4E0`^5HpasZ=}XiTVXJ!=nlR7r+3n9=!?+{rHn0Vf7oMr%CI5H(8DD z*IoqagNv9EX)5!eUzmJBcBaIqc*=e{=9#v*PIu z2=8r_Kvdb_zEe(qux>2EW@c%^vOW7B$lm=Ca#>x+DE9}i)U=NJY51UITXk>jsBd}l z?2eL}sD)VQo2QLdm7sP#YqW(r&in!zE*jYfnYYt8Z9c>CN2wZj?%X4~A9&~5pVO2fcN~bFWF1$hf_hVZEC$h|R z`2qnp@>%1r4@J(gwE-!en{-!nuNZw)umzgn`O|xEKx#5+*PI{kytnLTcu6EFvCU>S zWd(5fEMre@_*!C;rhndTCu7hES^hH%rEOIDAz$A#*kO%>NMD(u*`@ zT0z+dx9hNmHcqa$PbdHV)Kp)*0EoVmOZN%6NQgqgtzMkm1fy338;yVmB6DLmQ|Z3M z)f2j=XEW`|>f75?{Vn@_?Zf!RS4+9>m6s-PZtb;PH%3T!C+_n*cX)L^rN05&z5c+N z9tN#bh8EXV;WUJIp1h6%^DU{1h`K^)LqZ;%Hh_&Oc+-?FzQN&5K`#C!ArV%L&)gCn zYpH@9Yf{YYm`W~T?+u98^>Na%r-p0(eIh6^Eu)Brrh z3`p?Te(04q2e>k<{U0sB==;Q1F}=E!UQ~7>fJ1jcDDpN&kQqqZiG}#5NlW0Pgs4$s{j69*wGdPQ z2*^K&p#ltsO3B1Gmd|z)z#0pv$t}MNXWSi9Voero0IJkYfl;^24u=z$9v{gNBu;Zx90zyB(>eCIPa_6s(pKx zbHnjE`V{$|DjYug23aXh+IE%e*N{P?HYjRu=xc+XZLCsyxByu*u}7y}A(`o3BS~NO zf$4rN!jEi&%29vOx~3<1xEn35OML{|w>2?A54LB|wtLM_k!8o?Kmq1&c57ik9TVx` z*cDa44%mz<20)EV>*^NhIU4ley6Su212z*a&|X~MrGJu)53)qUHo}byeZ&lLSdmpla|Q7+95Ft4^W8eRt=sXER;g>i# zf2zW3yhGd!=dH~<;JK32?<4~9w}3ut%-8Ca1-cuDF9dUbyFCG;UA=*r0j5qkWc87- z)OI9!D3ras{sir@ zo*LW0lm1nKn6UzVYv4}ukZ>t=E|^6h_-v-Rg`OY&%gzjNGPl$18y$du$;(5Hf!XjZ zI}G5RPEnsjzrcXCn^;<39qacn8n)5S>$NV?h9n2%emc>4Ima(oM>!TGVQmL2L`@E% z>HU0Z(QjRs(BbOcHFCL5Z`Fx!w9ad@hgIhfTTl%QdCbDbS<)UV`r_7k=keMokf8jV z@`sOcUp{MRej-Xxu9BwxaM;8MMlC7kT3TYR zxAKJ{MU0E4e#3rFM2l3&1oR8UVdnBS+Go;JK#!(QB{Tf7Oz{Zfm|$bRA3BZF>n5is^;|H=Wo{xe@lsF5My z{Rb3hLXkAXdL1`j`ET|UT;OaY4bj*HfC4ZuK19bvr%Re$w`3(R+jtvoa_``zFa@9` z<^awVoYYnz*W+xF6o7CPA3YGay^FS}s>0%;G^Azw{vT={qVKnG9&(gsb8nlfo=6Bq zf2{l1;k23N;NXkL@0Iq;mkodwzfpFvzVE31D9rK6v3C%FZ7CZ8*cP_4g|ydL8l1R9 zV1L6C^sR_^WVya;!k@OTsXQqA0L%4qMH`40o%Pgz=VjhYG!mPUvZ+tE;(=DI)F%?cZ?mkB zBMUMQ^PQbZ5}1)SZzOO-fiMYXZK6c$k8==*ItY(sEk&{{wN*rtqN%mq6w4HQjOSX! z;HpP@N##=qT>2YH{z*>&2?waWe~MnoDktDR0&4GE022{VHHM0!=Z37372&xT+(Lcg z^B@W+*&?4FB2Vdnc!9X+4`*%ENE)SZn#^enhUrO%U6s8GWtPDx_XZ===H1WayBcoj21YC#f}Bw&7% z@-}9!zli^rQvmDr(SlXlChewg6TGVmqzh4V==*yhy-B7*&0~rawGa)25J~xLgeHFg zgiEwEcl-cA7Ys{|cctmMmVE73{06%{wHbtSTdlXHs%B!4U8i1Ow8&vyphBGyzRxe% zYJ#TxR(aS09T*KA^W0QXsF#kukq{`p%{w9azokKO0N#z57Y>9V@(2n*Vv;Iw!uNX4 z0Ih-enb>r2N}j1DdZZ~+-bpA9Mk0KRpSb~G`eYyK)+MG9byuEI5b3lU0CiY1g?-CN zW%uwKg6wcE*R`0kayqp~svS-vK7j{%X+rekeeke6N zIE@;y7t3AM#q7XZ{)ecmwF97j8g@trYar7EcFVpluS7X3a*qQjaNUeMIS;=J#JP~U zY9z5(fWu`=sU|xZ3?NN>DS<@bJ^0D#bf${!$^dXS`edTvP;ZZKG*T1n}k#kwEZL zjfc%wd^HrxsPcm0u~&xhz$MlR!Eg#VbfQ2_p~j1(Ss3^52bOkOY90^0jLY;)e zQ%MoV$qjZO44#Jj4`C?1hHWn=GUOq2{k9(XI&e-Bv))D|G}JecUl<$a0Qsvv@uUH0 zzuH1<9Sz}DI~gx&-{gw}us0gvjMaE zz(v60Z*0s2P3kt2luf_P>i=6pIw@$Kv%T+aqOxeNZ3rp9mCL(LTIlb-M0Mln zUwk^r9+VQU(Y%ktqt5JBq+v_J{eAgow~2tL zGk*fP{4N~mCTO<`Ii^MuA#Mxb851ekX_t}M7B;-f?kl!)>UrCm48qWirv8Kaz>#)j zlL{2m%9iKKKpZmi;1PV{L*YwYDur$(R&NI5Kk4RRG1!g}e0nYWxuGv5d6+Hs@BqVV@xu*W=JNHsQ|I4h-2bCgcLw_J*7!ARLLHu`^_ZU^|M3&@+}T~Xca(3A1<8*r(TT#9@VcJ zVQ-gv)t=-Oqj~ia4<|*vaITL24zL}|$^3rfC%x9S5J;iZvg17I54d~ffM)ZqpbTx( zUk`17047n2oHwt_%%sRL#g=!k@2>c#lXIs(>YV@X8Q``{S#hzj%ebycPj_olCGHuC zNntbim@>i^BG5bXKfl-v>MW`(*iwJKAN@Rjc{$Rw*6PV*+4z3uQkc^4;!oqOk2ceX z;z;uJ#GK9F{=N|u5(JH56QKarr3Yj`ve_CiOisV;`-G2Cwgq#{0BK0*cM^1c75jB_ zffl?OAZsy1=n^7Ef5QGtsZLF|6{2_zj8&g%VtaBuk2(5uoXjk{;VRZ-%xvflG=plc zE}?baxL~bedDdkaO%~z)G|COaJA^izoDG~uiW`x7=RePAi3O%^i8;GmG4prMRZ{(R zgc;i3p>INUTuysX!QDTkC7~O-{&Fk)S`@CuoAKc<+0pnfrFw1xNy(joo-NN?^+4H% zy^5ij!1%1s!yRIa)Xl=f=P%pKqT9)i&`Mh^WR@h|Gm?eF#!IP2!?VOEzYb$hrow4X z=nrp5>kX~-5s8fS1JTfaNj~42U&G!ytds^-BB_#(!*` z(e@>c0gak}d3Xv31vk#cwh~h(R4;)h#&U@3QY$2=Ug)xAI#hx>c7Fp#_LT*{ch4(3 zIPL~z@8Nr>O~Mbf9LIWeG8@qWg@dUkhiGgk=;(ib&Zyd)Y@IP>*RcP%zap{994tr zO%g#NEKbhKTqd>BVnio*3Xj5}?R>Yfgb&%eh{x?cOHAUh1-m1svOFu~YtxyWuAM!x zknl+l!oZPaj}3+;6IFkMj)@gY)}^pi7Zbp(a-a8oJw}hv77B9Dc_BYdC?FutM3c6- z7^rBXNM|9WG|32GyHyJ0`=Z~3IKevs37RB9kJHKZg;BUWbTbtjiItcQvaHG~9t-za zK8L1#HoiCmYeG&*5(}0o!M*Z68^Vc@MD>>OfB;rpuGbV~azG5f`(Rh{3LQ%0tFV~`N<^TJr0e{j%d1_PuX$=YNhRZQp zK3m3FiVzd_B5A>@82YWy9$TAGSt-}t=*jS2mti-XwiAQsHVO2s){R;FF>Jz8r zLAb7UzGTP0`5elX=S=s04+2dQ?` z3r5C0zrVz+g*r8WL_-|*NI1a#GF(18D_o5p#LbkBTm3o9RS#o$A6U6R$M-`UEAV+8 z;F!vdKkfF>$Erq--hwrC0OAWBD0yx;X{F!ixm5`;RyeEOEWm2w6P>8r5B_0Ul)&1c zn`gi5r;GIavp}ps*^9$yfBhTqN|jH7(3x%$a|u?_j(o}bgJ9YC4RaLe(d%)3QG3On zy;aIlFwi`^%$qbIkrMmcIgWy0(tLtJ9epS=hYtR)LDnUU@e8_WRjHD7W>8@*E6j-$ zd?P^`&M?m_lo?cY2am4&3HXW-zQs;4m3ar@@`Zh~JIt6DOQPpS#Y)g>i9YBmYgkMb?XzrlOs7evQB%;i2uCeYICV>5@Iq=B_=xHlZ?d`A z4O(_K=^R^a4~VZ|{a?4*zr%NiW^8&w2jNVloFO;})~{&JJcz zChcw|=&J9Jt$y$-2US{xbF#bJk9>JxB2+1u#hy0#BbgV8&?;lzUzg4KEFoN`nt5v< zrpOJmFicV-C-B}~Hm*jP!i0@(C<}64mxzqyoVyF^GUF8!K zxmZZl9ARb68Fs$gp!NR#$Aj-U{L{k+yK1_38gx3Lj7J-ZCw2mBSz+IXiIm5&C>245 zuszXamU~lIM{GVqM(2&VWVOyPNbbC6yW=w(!|uDPhNQ5$0~D`noQTv4jkmly zp=S$ZBc&&s=U>&lKnF6^*eb3w;J9-lAWtDfQ_ z^;0%82nS62lZvd8e?28nvsG_ZRGswknN8g+T%8%qQ$If4L@xt%f)uN5FZCy9?)1pP zRR85m9F3gWapXJ|m}0j&p%{u=*&PreyA(Q)f z$mPWZgf4)>ui>EFTZgs84UO$)6>C7(^y|%cH;H;J?7z`$4f-a<_2aMjqvrh&qQYWH zVPq~cw$1FD2BirTL;WN!?6dNY)sn^)qPG2HlkWmCrhdj(HBoo>y?@1bon!8>i$Y-h z@X?D8_h|};$l$zZb4R6R(X)59*+5skA@;Ak4v(@Bv|t=WPo4;~wvh%uy@4#~d)Z29 z55~!R$Pf5L=QhBJoUL`nGTH$q5>{M(x?;0e_lJ*{hd%L9pcSc7wRd(A5QR+nr1dC} zUmFAzE2q)xG{v-iL0DUozu}4y_}#E%J&=`<_4e6|rB7WSLAWik`_*BEO7voS|1Z(R z8XS@rl(#lHiD{#D{9?#Kz?nW(VD)0PK+C2`G^q+d4;QStzBK*(3wJ77;qd7~;^Yyd zMs-DQSWSea*-mY3lD0&`R-a+MmMh}dJvdQTeSs^wY4)wh_s>9v&}6a3TUvXQCt3{a zlOrkr2bch21u-+si+*3Ck$Nosq%?=(Bb7G>UsHnrfVCIixZ2t!t`G$! z|L~23i6XV5;)$@%cDIT+G+0`9r88>FutbHTyrY)Q3eH<&PBhN@Gq?+1)AC+wE>pbX z)z??_X^1RUb1Ypvw>&X$US_=tz;yQ|o0GJT_fp)QPFtX_c+<87@pxyyBVUs;5hI0Z zzd7bv&}pQ+$JCJ-?Q3-}Q92CgFM@-pD9k2Z%D9)*gF@Jgq9%^@hR|ha2!Eu}*;%<{ z-3F6kH~gcUDH%sS;c15z-0Mjs`GIA*_kWvU;V{Q+Nu{}0vW!0~n@K}%ar z>uQ7F4~D!z^_gXpSm^SCu_`bU(Ln92TJx94#hWAF6t2@-EbLalG{2O~mja!`UywbX zdaVK^U5{0v$I=7%^cqjVM$Q5$G082l(Wg^7-H!iLONGw9BDvD=jwON<>axweC`UUf zm=#gihFJ6Y2HNI;u65|Y1y#|SLMK^_n0RLxonC0cR^Io~gBc_LgXP|zxv`CdJ3FO$ zD--?Zfz=C?>${u0>UQ#0=}~)qnG&${Ls|o03CS*4NYQfZO~Cz~Nn8KixBqbUAqU^W zwMA>5O{E5cT}HXjSxu7nQ9tjzNzyfq5KXgY`_ZaT+e!(u8FAmz&ib_weF7N0e zty>1N_=b4OHq*Z)Wu!jtBB*Cnpq&+~9i$S9s~m!#d*X?^xXReGcb|=~Mfs@{wG#D1 zuu21NX*US`2Pu{1vwwrv861!33!+LzdsM${P*Et%B|I8rzh=1ZrC%CxD#W_|d0Aph z0w0mVjjJ^w?CzT;wN8w(W^Q#mTrK<8!{u4*)JC|936%y><4(bPLEXlf?jBR@@N0iF zFHl(FFwt1!Smc~n*qLnvu*H?@eV zVK3PS74V@IcV>ozN~*7IG*P*S9R(WdD}%m~>C9C?2CXTAYNbj9I5fy8 zpG8#5*QF2wpInNAPa;mfDv>@40E@+j27*EARj*6KvVQQvme#UQ9mh6=@wIOPI8e%B zh*PRme()i31lrntAB%A9Jpzq!urug?E1(_EpIN25<{#cx_;cW-T28y3+*Xz|*KG&$ z-s;Vya7x5+&?g>G3fvOvVmFTrV^fAzR<939l%-H(Sd#wYU$x zW=6kSACp-;*mO^LVf@%d<7)3IZ@iO2SJlk-grOK6`q&-(mGM>O54gKJS=%~L{11yP zyyW9+pfKR}{GuKBKnMzJFaC|>%fHywnG=ngMn4@m*M+62Ei^=i$B9jQ>_T%7a5R>V za8@iJxg_RZsia-4@{~8O?xB~?)api&Aj6dPzj#7oj56$zc`piyil%tQ@DD_wEK4^A zMPls@MJ`kk42KiS+>JASnD|TPylbb__({R-_XSh4-Y_~|5w;0QwORy?3`6y0oS42& z_{(t_Q&&OcsbL&oT9F)Aqa|6AQ!~7H!|a`j3|Z-tUgI@vY=7gMt-T?DZXWSk0p?86 zyYTbfzr8m8(U_XX8$-~N6=q8T{-8?U6dpY(ZXB8TS45ee!OVLF>EfV%QuHKv#F12n zFN3CZ6<*z*bjdz0R9hi#eQBP+t-xIm>UhqEs9it@nSRfDt4Xw}9>hVheXuS@%JBmj ze63CjUq7u!Iuv+k=Ar_w^*kJ}3$f1n0$cQh zz47|alzYPir3ArMls_hAV)6yS0{s$`WsbSZMKbIN*gslUE$vHieIHEc18%Tel?W3i zEkk6k+X%51px*m$d_HC8I?;eyrQNNM_N@ZNnfJxLy5v9)jdqoo7o5<_Uj!p!b3C81 zcyk-=USS;NLw7>vT2Hsm%w6b1Firv~Eo z=eeBr|8g+`FzE`9n{vrKHVCcIeHdn+B@ON-Q=A_!bXS7e>qk7nn z4YUEb;AXv9Z=$B@EJpznxSN1lav%({rGcQDcl+~R{D;=*Zi5s==KU2$*ryW_YV)GQen^5xPS4@ zKY*kv_edQr9-M$1ax}EG0>EM1*1Cv}!nR zN)MK%101;NG`~7YijO>)_JpJNaja^Tmt{{h;Sm`jlkX-t9D7oy*{FYdp}C|ZC4i5C zWe+5vg92bJUA@g04O>;1Ymp9gpV}qB=2$}EsFVEUaoLSXM1~&ShfSm@^^PCU zue3Ddzf0>!fS@F!*v3vY8Z5UdjM}IB@zd{>EN*mZ>*q)o?75p3NQBwIwg{@ZUK#}v zq+>{zGNdr6-**YvbEqI!b=_U#I*RD^ zUaa#+j?T+CE@U)3-(JoCp6UNVxdK;~rZ>?4yhLT+Zk00`9X+s>q?AeTTTzxccN8-e z;Q1N7D9^X@_2_qLrivWGVpcu+X8Stum5RBQ_@a;SWKSJ$86GfWiqkVX-r`mzBH67s)8|@ zX?>A_x!xHb41u1KNPN^OYy{nK7UZC=x7pEfB+g269ldn!^I+y^TP*2+Yp@`5D5`@h zm{0N03c*@Ld~^pslQQ?n{|$p=(FR!sL|AZY5&5iahl!#Fd=P_%NN{ZK#YYmd zRk*i*f`5f!SsTstarc{gOLW?$gI7e^X3!0dqqsp2dAy~_wJ*vG%$?4njHccd{@YQQ zH5sbp*1YI+Tw|{3@7G4ryIiMTC=PDB2@4KkTpr~C-@+5liZ|WKWufIE(I7ujX7UvI zlNuS4%uqfwnd!`~)YfbDJdR~<-cXs&HLOhJe<);EhJ!a~Nbow_NLd5#FQ~q{7R-xG zsP(1<9b7AK9RF^SQFKB)o#8jjFU47$#7E+Pti*A9{K4`6?6n1`#xJIaTueQv`Q}kA_sLU%Qo#lym-q_KTPvM{Ypi#_e252!oUvfy&>TVEJC>sGgn$A&P2hD zTgauDVW`bNrvw81DF{!>*LSMtyeL|tVAG=1J;`(I(fXLof>0#?Zj3a8p{`W}@xy?Y zh=o`s>vX~R^9?s9@`g~zv#&J~y3CFISf1uvrUKLe{~{0>75#}Q_rg_2MWAt>hIV^o zQWHoWOJj{MoX>-dL-R8J^fJmv{b_Pxj@cr*sm?`{S2g+s>^_ALY{d&}G5L88@_tSM z&wu9rJErn@JM|)woxsco?6vVV!JY#gE3$ek&;;h&QA-Yu)69M?6*rnrXkI>+k@Uq=@fCfm%=jAg?c|2mqk<4nrtIbS!%6b#q;Y za4tys&uoWDr=pAZNQ=R4I_5NLr0fq`bbg?k3`cH#u<_ zD^oE!*xL>S5eiON@+SXFjwx?jE$P}^2sxD z)G0Sx)i!?JMUR^Oz7u#x&&D%;JKt?0 z9r>tJL#+o2A=;Vgoo*L}TG+`y=0t^?u>`M`w&-VV$>E_XLQ9Efd1TVQpv1 z=rP}*R+T91-{D}^X_j*jBpR-3KrPoh++P7QJ{xWFW$SbP?-vM!$5?FVdB@|s?L-m# zZQt@3#|BOMBx-l!87kW9gogG+%tf90WO4J+^G2HuThjk090hrEe5+X=lq2?{YC&*B zTl>*ux#9iL-Itn2e_#ZFC?=dY=_SvM1H2L@$i5+0ZAmD6He0L)OEb@u3)S*zE^*B+ zzSNPlzG(+(Ai;^y)TUMX-H()St$cIVM2b{WL zf^pEVF#(IZ6-mRdObT%Ew%P}BJb!&@=zIbAF< zw{xx^j|DhpowX6s4F^}a$Ik~|1T{bfu;*#~bIe4K33kpMt*at`FYmxlL9cz8ISE!- zE7VgnQDo8w)vCr9WIJKi%JV*~4`>QR*=({e*1Y#}wv#JskRR8k)S?B1j)1T5RZtb> zf}fPvZ(*4tm%&Z)Bv-8Y8&f>+j1tU-LR!f)9-GxCB4hq+QDziL)n$-<4gU=;Wn1~< zkb7cim!0DILdvk>e`dsT`aOYcMRI0u%EW{x_2q^*1@o`ZK#-8|;hnn$LA#VO0wG($ zOJ9Yxp@h~Hn{9@b`r2yrPLTcQF%g-YF7W3u6RF{3(hLTpNs*)A{iZ< z6+?&R!P&ked-mng$-Xi+g_6ox%}{`ajd@Hq-Ok7SU?Ms{G-AqG9sYd;RlALW>te>L zeJV6Bo+ak#n^&(_{ zO8PzDpOKoFqMSgU5^Gn2s1rpg@GSZoBhma8)dahS88k77C}Je6SOtYgDOr=CN~s$m zX`Gt?ksnybdBP0`cZh^198oM72WVSR{qEo1nggKzLR8UAiap&MJZ& zMOs<2PCW`n%w?M|vLy)tDbG7K#&F4@nv;ka7arDnpQDmdMVD4-i-U`7=8e+33Vq$Y zwwu3vNwW-PZ2z?TD|#Xn3t8c|t1eJZb6-_{cum^0@Nz+`>Y%dRoy_6Mfhe7$y$!aK6>aClT2lql5Qrv3?{c`mJb}-brhy9D`?S9*;~D1Mk5Y};QlN;?k0O2Z7a+d z7Cd#64XqN+&`@DP{e~ncW-}ALE<9_e<_|=-bPjuqod)bZjjh>b;M2tdZ{R5WQ3dn_B$BcMx3x9s(eMQ|LF^8jau$ zt;V@nq-I?35bre4cy4(l1ETuVlqq3Shxb z&>}{u>S|Z?c~)=3bhNSoW&uQwqLM9^CFAi4>?mAM%t9QU>nyk6j0D;dY5b2&!U&>k zQxg{{8iMG4(;pA>0Y`=dk&m6kngJ-hZHNnH-7E~yIN*OI{}K5PM-h4+%BXYdA2Ce~ zu}y+a||)Px;X$NxvN=nZf`dY?3gP@u`QR9q27304~G?qhC?W=W|Tu z-=!T4#507KCV$UBevG|WSN*WW4cXs8nXYp9U?sk0+I~sQvZlokE&$=$v>+2#q z$jF;hR%RVP%HVs1r~vwp_hBISKM?QqZy>eUfsRbUW6U}b5fgPAx!ZYi#&gQPMA5-% zOR3K6D?hR-t1(8B38LF=v*>^_;T;a zB8DbbGtJK}Zf>Ehgc*nU9zG>_ZPI8KG!8m}9#{v9CIZ3hjLK{NF2O+IW#q=Ve$)7M zif81TF2`=(ZPctc+{&-#T4}<;?TmoA~F8L*;z2rW9jRdu%BE9;~&g7Ja zJBa`I!_#kvkj}y%hriofR9booUf;(~ZIV3hwl5mFm{(dY7H27=vX;2B89+uLSK!5- zDKpW;@J>6ChL4@BViX{GjYxwgL=O6&TT;NVz;I!UhheBNgZ&G+g3%>Lt2-Up!?AOS zD~TC3U25qA3Aw7JxN$1B+s-;$ez`~-guMTB03&(Zuq(3SYhF@0yLnEP>)No zl$c@ZMBQ-;F6+o*UYDH&dWMWyZ?SY^Fr(Tj4HZeG7l4aDXW?4Z z?A`VJAr*@|;bid=pcXct+Z5qOwMsDJ?iV|u=i^K?xQ2|fJd~!Y8IB$ZeOlmsBzZmg z;I&>2m%5|`_2?P0M87_Ka%pP(!ir_QxiiHN+?&0|)o7kCMqc5LK;J!v)aD#cMrCiE zFO-9hZ!0AExNDa1>)5Vnb06mXmV-yD!^T!Toz{N_m(%?ii#G#lsUO;DME;;zs8g;V zw?{N*8~htbn6h>BSqnR4!bzdFO35Z_JNDZWTaUDb&kc@-fy{cahx6|?`9u@zBqCIk)r7(o{K zr&!3PwodZrJ7^s%R;`05Q}GV&fI&~eQ_TFOiOh^bKre~DP{ib0-SGWYsvh1332mD< zymBd3H--9Hd`KX1dbNAoBA0Hz=*eHmXrb8X-F%G zQ?h3##GMIaG9%4H|A`IKg)i=$Hi2UZAmO@Hj{wHm8qse(dp;$d^9FMAAlX&@i7O2d zFV%e;Di^u{!dAxzsnSYxt&VhS%S4~f1KI3vdo-o9Bnu9nlk+){v1fooh{>z*z$r$s zLylX+%~_d2st5(b8hB9gBB&EFfhD-@JH_7OHN*##efT}Kq%(0aqY9urz>rEyKm!G; z|HQq}xhi>4D_Q?Wv;WD#tljS=Nq3SK9xEH_a@DC+H;WO<;8<1bL{*=qLR_)7Zr0m| z%?c<%tL%=+n;EXx$=eX(6I4Xd{6dOeSIm3h7@I~TLwtM1b{%@G$f?9G*f+VcfHTWs zPHw7Du?{*%tTrPXYmu`!x00zuiFx|+#hQ7AhRY-8d%qaa4VLrYF&VFyvp{N^ zKa96>fgRNyM*k=rM^}@k`rzRkllA+rb6$JRVR8XW0Ib$W(cW>i`zU)Y7QDGi&1?k+ zo|&>fKE$piW&O!KzZ%sM5zpQ7vK}#)nMjl|BDbbX{V5f%s_rQ4?;O9nh?jPO7BEs0 zK))Cjkl2S@tz%oq{_ITMz_}wcbuo=pi2;8$Ll@S@rjQfq>6NgWzfJGzFd%PQMdiX& z!+sND&_s}pPfS(NM`FXyuQo#-{o_~`KrCtKoph!%|E-)~oQt8gcGxT3y|CjOIs1@z zenYVv#s$$4VNEn)QrUpk50&G?@~4BA?7S#e8x8I-rKAkq`VTE7JSZi<&G~lCyddG+ z%5dL4ZdL#VN(3X1mmiOgNa-VBU}kN*4uux~(j6)e40ataD3q`fjx zdn}g3a>${&u^6J|;qQRz!pP@_^*5{;z%&5t5Am0xhs-|wyxwwafhB) zMIEUSX^I!S-tbW*_H+MCu2SV!Jro>CIXWTd4GHyWGsE%ejtg9AnYqT?Qdaa)QC@(( zm-%!St~rx%_eZTnSI%w@yD36RZH4knnh&E_D)E*=A_oPbB2DjwnZNqQS?H4=rw-EG zyP8mC05pPBzhx1?D;|+mh%rj$K7+MV(J zb_!lB@Tqj!h>p};9zZ3HFF>XM<2}JI#p}eR8(NyLfuVAz6pkX^vC*C>V9SBK?t^K7 z6ImLovb#Zecp_aso5yu~xMNs4K`a;7>j!x}Ww*DzV)YPtrXUiQ-(`uSJFmgKt}d(j zGfujA6E#P)h=u&OYs3bAmXNW>r9w1dG_H!dZ`2=Sj-nM{oONi3w}pILs&Cf*8;2IH zSyg+%>D5Nq%H-(Zwtvg;Ns&uPE6C;A%P|kRTFGWF`%+GE7%ald-BoD8 zJ1^^uB1!y-TV;Moc>{MZ63G8WwGrta&BbtOkr9`THT_en{>4!YDGF~HGD-8QsvQLVEjdhsR4`c2fFStZj;@ev@lCs3fh$1m%TktnwsWdOhqw;-n zwGg1~m!q?I3Qo8k2i~e!w0c6Uig6Tbd0itSVGot}3f$PFNFL?aIz{o}b1|oLnSz+n z7rd3JW9oBt5oLu2krZ;~Q?%K0!c%T(doIeQ&SW^nl)tM!^_<;4AI;x{$Bz~=UyG@l zn?JPs|97?M=uSn17IJsxX9~PpB!c((n>*F%TM6?+cDONQh&`v7zZrHBP5*MUII@}e zSHAIFK>e5gY9bid7e{f4K4WH4LWEcCO_Vd*HE%B@`|03Z z^|kdLvz*EW5qESQ_WzI`;+-pjlz{V~`|nOL_8Vo)KPWbcy;jVW>R4S(~6*rD&!>(HJcy(qg}X4tKXA(=*}fi|*fd0`lfQ4d2Eb zB(gHg9V!xpYfAq=zTP@2%Jy9wRs^Mc07-|`p&RLD5Kv-Aq5^OE(N;A+jwRX-7nPz~PKFW)u0m{HgqiGs(N8)ye}1rWX4{s?>9Zxe(#+ z-dWFbItfN_Ib2>S;|T#OlrtUTa5C@Tkld;6pVOEdx4SMcH!%!@%fmiIu**;`Q!PC( zNWmIxj9SVYHm>No+p8g_@wDwpfhrijp6W=zaP65ikuwV=LO1iNFZ@QPt}9OnZ~`12 zbs{IQ_-;U&Fs9(P3)=))wbZ{0Z^A4Rv5Pa9Xn2ymCHV z?#a1ujwlPPFd^|ahVZ=G=s@7M8Mp0igUih?MqWSMkT*v}52~hz#@DlcX#E_b4nEts z>|P#7faJRZ9DRjIV^U$~R4yl485k15{6@Dvu=ifZ#^af-sI7*vRA^L}1b|@#2Aqr> zU|)XpF`mm6>Rw-IIJxxa58i3)%o|zQ6xKwbZAzf&7iGXTew>#RbSy9+8{P{RbY&~& z8=_L{WENWFCIXzzmK$K;Ev1=5Rk~1xtB}>xm-C)qaYsh!Fne3&On07mVlphnY_M|8 zuWx4&{|x%JpZDU}m1~51NEpWy|A;-ViSdMO*wJ~4lvieu$La_x{H$i;WuXSkNO;*zE!F#&J+O%Gt)pfp4|Fq1B^?6l8WWbAo`)L9%rBz<5DLq7mZ3n8H5Weh`|*UE zRZe#IqZdPz#2QXm_ph{o#I<4*E}2RG7ssr#{X21|U>`O*z6UoGe>tiA#ZMm3(zwB?e}$0A4J9)Hblx(SZES zP|ik4;CtGvhHfpy_I0jSfQ;!N_W}NG*!6F*h7TTCb(C!KU%RIBL%Vwr7JSihkl~YX z2tJqWO(x96_x0w49~0~#l^84dalB@Z`MmdYcugdPgp1udCs4`5d0A7+9KTW` z58Py!KmiUoIE@fYtC0yV(@87S;)2ss3g8dZ7HZF^ERum?Vf}tPRG&EhpTkf<0d15+&fkl~*R&8__ zypfZw+f@E8Bm@bB16y^Zxn05HbRul1PCgh3lJCW`Ouv?1RQVUkN$aH9P6>{d6kYQ5 z-%i=W5ydBkd<0ZKVEJg``*9vz5fzy++}Jwu=P>ca zSz&gS)T2|s!{^&)a{Ak#!|RW>a{q|Vyow*rN1hy@q$%G-o-Xxg;*|?3T4#jo^1rEQ zNGKyH@&xH3UPLqz(d}yiH~pT7U;)JcrVjupC=pq`r2vrP5E}6Gp*k#CJkaOD;%r6@ z7U-HG$WX8~`R;NxtBY?jf(#s@|yBynkCDUi}v!5V>5W@p@2` z7;v#u9p^teYdjh`FM*A*z6~C~0x*W9m7c@pk#C`qlr3k$(+FpcK%G!*fEJKS_JC?) zHOG7iseJaPL`2ocnTmY7vY8KIN2Jr6+Ni$lYZose%!yW!ryDX$3{9>!vBdSt#r@)c zG3)gcv)$NB6!{t2IZ|L$8eX9WaNM;=8a#1|-%wb#_Cu+RWh*7Rhi=}nQ=IDuGvY%* z)5wFxcK_q^{}+wU1aG-)ZXhYMnY>kl2gTg<)mX9#c&TB$p(eI@l(F-YOB*WOLojj{ zIg8~#J~wnraKlI#XVetd8P3?Ed)_~PIO2~(q z#lIb`>Xg4NALkk~t*MtT*?{&C-p)TpgDld~%pn&*wL1;y;L?fB5#?+K6|v=U5UwYU zVV`l&E0tu?p5%8A9KqAh!;6GT{(U?LKSN@^ke>Ly>1I}!$v2^TajR?-)Mo;&Z}f+|#i__d)d{$L1N(sKv1` zxoDluf+ETKL#6r=csA6%+iS82;M!~cRU42dMo6JyY2_XT&Wjb%uU|+tJ@p@dVWTzN zSOWA%F~aMnJ~pID!=bXhjTNMb8aiUlxZh@?SSG@Y72@$h6(*Ulz~9I}$sf)g$5j}S z%BJ?(c{L$xUMrUpTX0rj#!qqfmG5sh=UD>##s9bQsh)d0AUSo8KcC3&%zDJAbm2#rbvNCNIJ6p`tY4GQ-&PuhW|}HXZY?Xcdzd zGqmE)X^{X-oP zXTUleb>Zn&7L;Wi^0<;#7OeX;LolEM!x}w8u2gF=$S(PFq;~Mx2=M* zwwy~QmW-qjfB@`C1+o!t3ZSr`KHwCVH=WceW~`jWrf0coNXQFT`L<=x`6~B)NRf)Q z_YDE{$Q$W7Eu22d*~<8oRr72zN2Fo@?P#;PV^tP6rYPQWP$XrOF;L)2V)^}225cCY zw}hL2xP`MU-oK#m%PX+n z*#u7{}y5eDl#feLHeB8f(Tlll1f{Ak)sveIHEprgSNhi?N_f@s*dl z6f4~MmozE++EIvaD&aUivzZKf)LH^PeZf>Ld+n)@h=V*v08pq12Eb>^7FL>Ve>L4+ zfwL%q7_5jAz@DiQ4p}JDV}fMIA_D(@~&(6Kr~gRlak zTONmGwda|>ra1|uy#@^cee^E6P< zcGN+s{F@2a^w?EF>Q_7ju#hTMy$SCF-b0;0n~%7I7>V+q5MBc|@lZ3moagyC{hn}< zDwi+~q(oYE)lXO7;a+7;gjNu>;kbYcz#wCj-ocUBXkOB9WM5y&U3}i|jvPAH^b_a& zNtsA(SbD%QPFc%v2Uo;K3sKZEye|&A-*x4JzqR{Ejgji;Zf1s1@*^}++n-nmuGe9gz#bPbc%M#+EOn#0OUs_zq$=qP z=9FBcC}>P&TzPecCgO9P`Lj=KK(@MpqLV)+{Fp6Kud}ZFa6dq1r;UHC32`@}gV5$1g^-GJ3AzOG$8~@>XT+rykr$Qhh==F zvWdVj97jIJHa5$QJoNp;iZft{ro~$ho4g8QeqphJDcDfC{I&P8yI*Hqz*)?IhUmCp z4X1+d5uo=9dyC7Z1pP~H5~}kNh(1hpzi4sF*25h6d=g9czsWzf2maz18(3GvZ>uCxLhi~+ZYt!htCZ!F9s4?#7 zxfsE?G}cVz@!IzKUrNeP6M*s~U@*4xPxN+*e(tB9itpIPbV;Z*k;vsQT)GSG5w~xI z4-b#!d@nW;!fCuz)D?1iyW%VS^#D;6eGQQOX9tO>F<^k2MII~js)Gefa^0TeUK+h5 zNSS-rovTG^ry3Ip8VY6Xon9VsU0!dH2M_7!ZInbkBUqGrBR*EWOY#YmlC@!{a~rx- z{yMUW)R?`ymngwi?i0*Rs>67W`zI%$Az$Q{DvbCxZ3p`mR;E>|@<}ou9qS#h*!c&C zOA}D8;@&IN9$8%ae$6+$km@I<=*2i9_HeOD?Gp0A-2P0KEB9Q^nuQj zfC**IEvx*6?R_&BQ`ISckloNhsjf*r9B4=SUmE`+;e>lQgM;v}fSm)f$s#`zo|}6H zJ-U9WuP454j)3NeC8DK)rcNGHXoF}RkOJf3w(zZL*9pJ zPhySeLg?R0S?@0(QhiS1Z}g#4Pb0U8xZciNT{otp!BgMtlmH?j@Lm~!&psw?-~ga) zQ27^9e7^~^ts*=;DZk{ZvYZO)lh#I67iwTUDQCmy70kyuCkT(xH>0I|O}kFO!?otH zQd;TN$a6trICDI~yXRZ=a)4TAu-v4-WTAOR)H9^jgMKD}z5B;B&L+LR^y^==va7;N zTn52&t6v(Nt#E(@zq};+2!J_5{}NeLI@6PoB2f1YJY2{~3PXLM!|hB^o|v&JKN=D| zbX!{qZ2CLx4J@GkMtJl+syiMckl#djm&_0wN&3FHYpaWDxM_Ih=F}^_Rfw~Ps1as1 zFx8LvNBL5>$Q6(3Lf{sxehLi~SId)uB|_a8PXDQFF)5$lRlmZzOL%{|46E!nEJumH zD!WM49ebwCWLUcNbHEHMMjRn`r;E*O&bcdl;#vFp|58e1eLGKpsLo|uj~)^6_13!) zwI@PE6&3>9fDGocenbvzp6ENy_P|!T`Iw*n=1NS@?}YBh7DTS1PDb40PQjlfj049nqeHYv*pI{NJ=DqW`W@zk2ExccST<{zGsSf z(L5&XF&T56ey(i~Rvx=YRn1=bpV|i;tr0ypk>si)8+lfhgbI_vVNm0)@s8<+<+h+m z56XXf2Zt{%;RKW%p0YK?Q9dsrhBkOz|`ztd>8CjXNV@Aq+X|!O;#6l zyakqJUaE@_|7FoOQUdA;PrAP8zZ5uRqUP+kF)E}$fH5O}w-L%xyfTYF+&C1jpYo5` z?#h!dr0HqOKwkYkRlZhJnmE>yML4o z8}CVDZ_kz(ZXaqCOEJFOfAI1Tx5g~b$D=y)&mXRsijGN1^&OT>Y$A$!6+JcIVps54 zT)>kVQGNKGwS@;I0)5>WMh!>kXn8@f8ld(?I)r=@h;Jd4*Ar)B)x64ZYhWzx%3rQn zwxRs;X+i<=xPo>W{>%^^w;K|79)HN3uEN z+o0D~Tid&2a?_aNz@+4-<^{4K%^cajdAH~#Ds;x1k1UE_!V{7Plty1Bf^O&0TOts3 z-nJmydo!VBn$ua+bXZQ@G%gQ=35j+BBxh{myER|gS6kOya+J(QWyQq`nz2N9_}L%jmAVbiJ9BHYyrT36cb= zz>Y9A-M=Zwr^oy}AG-Wcs6GX{x1M#h^>fwirXaZ<{qgvkqs)hjvgJC#FK=O106Zxtiqhg3)WMS&)?GdK`#`MHCJ&O z+)h+z7<0!Umxf;~3?(}oV7qTr}T+B0<3F>(gnl0-qPt+Xv)bomi)g2U|drMl0fA&e&sZd7@N z8J(~VmE`6V(xj#gWU~oti!2$e7q@pDbCR8I8tDCsDs)Il%otzgKZnh0xwNgn3>Q2}mKa9%Mk9Ht$Jiz5N;#l3zB zA2X97_+X-s=V!Q`-Hxk00f&PXJ%wPLQiYhhrizuIblEaqww8EYt$`9uT4sB2BFE#h z;-a9ZyEV1UJ!TSr3_!W+4{>)V%|F4iF0=`3w!sxb^zoxEHrs02QRLCqmlF2D-(GT3`+@vcVbx-;7(GrV!#I(FrC&mwx%@DYGENfs@>$8 z8nO(e>2YQkFO6%Xi?b+e)ZvhwPcUa$z(G=S_4;8Tl=ZAx$yG*8a{R~-tNbp7T~=Pm zz_Whg+u^N6opE(U2qQD?p+eb5-yB@O&A^Be+lvx#C+;{H&i*#qY3nJ(1ZpkU?hYy) zWrthmeN_nYwnPQ}hmCB0gH)>{>O3(Ts*$$n z;Ik_;V%A6{ddSQwY7{iSVy9cP#i;E`+e_X4p#h7fgL8t?ak*T#)lqUvUew&-MAfr* zSYCPsChzz(c7|?|$yAPLkkBrs(~)3wte^=O3jKj^lVOG;)Q~|?Qg6WX<3@vE0qPYo za2PwWj};CKrnJ#32nQS`^5lJ4wB#&RC7KKQsup+uaq^~B%wL%#^kk^3Jd+@8ZNM8s z9-Up0de&F`=n}45o~#mx$~ViSmIY+DTj3A zfEs@#lLcu^CRHqxl9l0z6aK(Qzu1L7Y1!k~#ps35 zn{u_01?xH2SX-Q*>YccDq0w6}se?hBK-Y?c!#!}E6oIc9FWbfrheuL% z+qtpJW#_sltUzGQs4Y^yw?_PM2gV%rC0W1NBUupXQ5?lH&8jZ-0>)nF*F*G}5ZhV# zV&^yTA1lGqg*mu5icr&BQFp^c$paZlg|j1yiwFd6y({+xV} zK&T^fdV^tAJT>0BMMBedzvOA;K$>P9vu44wEl!JKoZK)M3^FT|kX7LD8&(*T$|Pdo z#*MnW^^}ee=a!#-!e|eB9@2w+CJufOAMPKvxPzRK;F`&JiG|br*j%|rLeVoh?>KkM zdRg}=MM9fGE3Zl3@MeXE4$V3lJ4zja$)&#m|7gu*VJujaz|)(Xy4jXb;muJ}fR^>G zZ>a<8R+S1}m7?-y9r4dmu`ZJD`qUA|1?JwBEQ&r)F+ijP)>7?Av;eq2;W+M$-mTw1 z`f4@~0vdV;AB!=e%P?f_$f1)Hdu_5y#RvEi<*s29S9$pF*%3KdV$@?>)f3@Rl@Asn z_I3#QV$~`i4$V65j--t8nQABS&$AJwt-XS*Z(UjEm)`vY>DGalSKO?$Awh&~755;RfWuJ8sHM_sPvmtFKLg(Cl_o8r&p zYB2y5D*6ZwhgQmF7Q;Z#-LM zd&zK{j=zyNKW91%ejA9IW?Ima{>WZ2IIBOw>vJK!~l@?-!>6U|_96klQ$s@TS z0@B<#X*nmIr^t?AOx89N1C!dtWQw=NvwpyhFl@Og2dQ>Z{h?wc>+E5^ zEE0x}Qx8qos!mC)S)Eqzr`la0=C2tML+F|5S7P;DrxY*seT4t??jc4|{c%7ZwymR2 z2Tn}cOJ7?fKSvSHWQaYO8_$TV>7@y$>8^Sq_#mzR5^Q5Z#W>9dhDaJ;XGs05_4!=q z^is&4K-yE4ao%^F$Kx+=RE8I|pAwyHsHD%>*B>!0b@XYb4(%k-wD^+@_zxpFttZ{s znh57(>E*tT6$c<~A8Goc7`1Efc|stJfd7)9%;<{!ovbfOLa$gtAW@wWNnUx$>Ij7r z=E+xzMA`#!Swp*P{D)gqM6#f)(&xdBcDiwjQx*M>nY!*gc?$O+Y`6c6{Mu;Bwu zi$d5x>;O1f7wjMnN#p;wZwq`@M#%~V*bTg^)WbyUDda|2hPVXlGkmov6B;kWFO#wr zj*&5%6RCaaIPT7*?=~0C^@tyqZQinKGpOtN@U;q;#a#p*`W2!%;Biavc?bV{mtCx}23k$ZR&fs)#znfRpM zyIEl>QNXy9jz&>1XhzEhk>2V|!pkHcmzEdxNhg4%&cB%PDajJ%wGQzJj%p%abw*pyDu?b{(Wj0xZ$ErROq)*j%g{zSrh4;J2rN`y8sZOmZXzcGjyxUj~wJ!ckq zPZpFX)G6hg*5qW|**v+QOJ+{|g*-61hblyY&F6t##!|< zfKNMMPJZy^1e3-o=!$L={cG1p9H-9rG*2$g`Czxv$A{thD)oi z1t~oG!0V-oTS;-&r-w8*l@1kTKM4Vmk)jVsJ#I;+J<$!GopZ?{hewQ~4K2W)OG$)d zg}1S9nb*`~f;f18Et0PK4#7W~H7GsuZLfQXw6)OvtuEC(-B0Wxm%ZZS5Q9lqh^cR` zU&#WL`=fkl^fa3DQx;&enCi_}GwioSZ~# z*23pC_s+mx0i&BRoHi=&gcjk z7$PT(?1(EJ$+W#KJ16-c{g`@Z8g4*gsLjxkJK3n)<}NjLu@|JH4#DUWwqXL%-#yiB zxgswdkqQNq#pL|>cneuGpEE1Lg+u?~lxTm0ls@b3Gkc`}VHP=j%Rg!XjX7&#;1qRI zVhX*Zlh2E%OR4h>>7P64|xrR$~v7N zK6?vJe1ZD}f)9saz#pJfgY_IGpzsAaT(LeIhsml}7feJfo%~6+P zoVr@pVZw^_ak7QGC)0(4W4K>`)ACZ4#!Q1lnfn{}POp>@Ekg67bXwI9Kl^s%lJlc& zj)9g!MQFWwZ+g#3bl#W0W?D|Sa;4?$w}P+KWj^k!n!k-thQx|;HPX~7tu3*YH|1o> z)aINNfaYU!f?KXtXt$v@SzRIMEPZwISV%i`6nQguK&P9!IPm_GTsj>h_`q#^CFy^UCnO{iFD)s6 zruC6vsYO)UxL|1>9FE(~6Y^gnoDDVJGkPQ=)CV-2IWEmZmHSnAiv$a?W8*{?!#~M% z_gu*7A3g=*Nb#)B1;Qcp&4A;s$8}{N8%;?Ik!iuXOvB~7PVTpCjMEiLA0lXEg`+~P zG}$;Jt9y5N>{JiJ-CO;d_i5^FpaqM{t7f%GbN78m-i95If8`6rGuDRX#-Hb#{~ zje-=4g1u3Ir*AqT!u_?AsjZ{`%0%;UR>ohQe|})6iuZNG-zvO#HZHDPguxX)l)L}E zX|t||VwM|~6GRJ?Em{v_&W`P}f2>eLRC!I^jC}WvO)|1VM3|{as;k*aJ!0fmrYyr2 zmSRU6)G>Q8|Jhw5w38YhlCjt=)=0J<^2_{F`^&z|)Z(dU^fdaW8=d7d9;O23S}j#? z)gH5syo_8;&<6~BDh5E$k`^2a7bpQHcXUhCNz?*w`f3SO?9T?H7yP6OT z$_%aY-PPb2?|W78=m1w$$r^^+wR%e&w}gG((56fJ=RrTQ0UTi-V)Y0vk-La)LI=q^ zO^X7}C0McC0lz<6=-|~(beT^-n9~mO$s-nF^7C0~*d7A0Y_v@KQ-g-C@>vU$VNDfJ zDH%nGTThUiL)CLM7GP7I0G0*oFfWZwL5q*67_?VM=I|-1u*sDWiS5Gm13nlSlHJxG z$4xQv1!#wXwAp4E9b+E}?e9kuG`|B2^%8Bbkdn|gJ_V13hrK@Q?lXD~oq0+A`x_lE z;A-|`@W-G>LjO4E)`QReCBL{MuLeEudk2ghmv~HWXJ2(LR3h~h5 zJ@4`)N?{1 zCx_W|Ve~c68?O*mxJV&t>*KcsINlQzZPnh1pjNkNuKia!7eR0ydi8ewxBTfBusigrF8>6-nBF9@_MRo}OtB{c(!wkC_J ztS9vx(mOT(sagDpjRS44!=TdEEo`z0R-OF*#Od8T@WgOl$y46pdT^hu#b*z{$zhAH zS)3FIk5H?5-4JFjY1k*>Tv9n=QpyMW1GNWX&Ip|oanJtYppmPm2a#Dg?Wg?9G#l7i z4Jil8RKXt!B$leH1hspFHI}h$Zoy@W`J@WhSd;L$+`mz;tod3=?Q5sCt4q*A%)#?p zHm*ZFFFG)e8B3R|i(d*^)yvIx`p={aJsDH(#E$&^u@c3J9UVPhZUYJujtY76-ijmE z0jFqGF`3pn=5Y2@^{_rr#Zw29Wk?=cDxB2l)G_lkWs`q}xQSp`vFPsU=BNk5?D?-q z_tx{SwtjjM-+H`^Cp*1MhoL-d+mEt95DcCD}6ehtcbYmuMI&8-XckzZxY+v^U^VKoE{jkJq_ekzpq*4vH^D7Yuko z2jtqSNgt!l=nz{;@hDbKd(|!wfLa1~cB>~)0I>uO69@XG{4R3uIim4bpu$dEz3PZd z(OunmbgqivzXMBV#8(3NOb=SeZxe*GC2VwW8f*Z62@Ogi!zBQeiU51O}dLbBEO}W~qvMZ`0}a z5?Ly)@coCo?|C)@ZJjqFfHpb%TU|xvBC|<6Z*_Z zpt?1i$xomXzr(zW5zmL{Lsf`y1fU%F>wqxfy&k5H0-h0 zt`I$}68aracdg7q^HR2p4Cwlg?Izux=zA=NYcIHGdlflUjF zk03fw1)Nq*1(zJ$OFamHguRF$gi{595~-2JOGw(te*+^$MT4>+H~4mlF2IKu!g2A_ z4!-6r4sA2FZ3Io54BqSE%VD%NJ85BxhjgXht% zT6*;IfzAk%?v_7kq;^)P@3bqBstKzNYo-;fYO_W<+;+hih&@?(Lyj)8=?*4$j3lMA z?w?_q&XdMQOi#@JHU;X^N|Ki_vVui^gGg|;iD|3ofZEyYpPX;(jxnr4WPW$#r`z;S zOxw#5*}Si~>s!|$X3c)ntw};#`*2J-aHhtGqV6re{Cwu?187zE4U|Tekf&e${Av?G z&~`SogMsx)m6@6vSnT<>3jJ7=20ka(gjdoh3m>Tlx#=LM>@k_%e1( zxV&`KlNR%JQ-w9+LA?4<3u`7-qPmWgXY7OcUwh|A>zr{W%U^g(YG1HfZ?qFxynCB- zoh<;0inAr-15VYFma}>9qftE_tbl*Pv2PAs{P%Q8^8if3ktlql=pyzmT|g$E9c;yeK=GW~w*fDJ4wTrN zqST*(h~8=$3JoYwn^;r02Zz~L%|5&Q82P|+$$dqQry z>pI!q3Qs-W>9@@?1o`XMoncdyij@1UWA=$4|6Rs@TdYc4QYha{sl#tF@P zKCAA!arX_W_OHFX=5aM6O#iZB9&R8se>+Z0QB7~)&efk;8a@-hV1mVdBQ$5GY;OTd zqN*vR7j2#h$}R>sS(YarY~nt(CLD>zDBEw@v}cjV)#)Y!rAOJ~@6Zo3hH zDc5I}XH-E4@EVb}Ip9PF<~Y-7w<26NXmYO6z5u*e7OnSTOtIhpdUU;60!Peo3iXs#Txj7z@J^UsXKRMgXIApy@BuM}y+01kGQ_Mt=2tJ8 z^}Cx0b;cqQx}Lk8&Cz{%Dv+KP@}6T?7-fpU^{9!{W;}$*o7vxkH<&>jQDq9GljkGf zC3|^}fdNGptpLK79M&YiMtzc6031+Pf zCnp{COM7(?k^P*LcG@XGep*XCjus0V8-HUFajY=-p%J5~SIT}x1{q2Qe0SvB(`H4aLzk0FVb#nIA^klH2)K zFRy=zhX4Mh+rmooIgm6c7_NKe?e6yV+PB-%&D`oJd)e&pS3S)=ReT{j@M znvsoXB8(ss7iH|&Uk|e41RCtN%g!Xj5;K*Swp{RkOlN-lfhJ3CJit_ZErD!fBFg#E zp<3I?UB;(xljl&;x+%#_DaV@G=h=^kW<(wz@y~7$bxGNaF;4Y^MR^}=lj?v4TpnVO z6?MAaIyZ!P^jpUkZdTQB0XYorAk7RLgZVf}6hTC}(K)jpqmHY(=0~-iBew|_dzKH> zs2-iqXy`VTOQi?tTYSn&6e`LQ8szysjZbzYW*2LXa7GVxYXSD6JtI5%o+;Iq^~MkTh&$U4**WOK}IarVh|_L45NM2SoLI^VAU z6+#C}D{FpR#bv`QzN%=En)T?aX-Y2bGSO5l52KVd04q}21dy3jjLjb!e9(h|0BuPp zrim*MkAf89Icvs9hnG2dnMNt{B!+k<$_SASlYP#yqEy>PL}a&HX5Miu>sTIrTh5dX zPs;jpCw+JwwPVngW9!WyW@_dzT${;PE3H{}x$-mmS#{@}WG#06njM=*-QvztNJ7W# zX284t@494sjMc>Q(TxNK%sDd0@`CwSP&xygp`M&~t0KEE`*Ty_0su&x`&BQ58a~LR zG0BJvAhH?@uQ0HAQIjGRwW&}sLY(JNYZ-_!G~0}cx_%)j$;dt1Xy0%4eDxVpRV2EK zpW8H|+LwFnX+~END741zN8ifiQ{5VfoR6_yvbYjNk9NEqF1F#HGV8W8Rc=+{p79Me zE%4CIVf9!s=&aiP&TCN#ubE)hZzg*$RPV=H%Qip$OJN%Wt$z1bYEnYHJpWIsko~nP^O%Co8J7SBuGQRcjBEPBK#n*6hzZ10{`^FA)sX8^V@30Y* zXA2Y1g5fABR6E1!!ldCU4!20aSW{m94;n++k`z7g@*?<3>ULXDMIBC%PyG?50N|vL zT0)EV#n(An!!FB7Z5v{KsW_r}J$?}-*WaX`UH<^k*H6@%jQ~<@ zshaGkU5kI|XiW&v`0}A`*Q0ehqO@&u7PLpM=bgXMpaGz?t91UOPV{2HLnqn8LNl1Z+xv{klzFW2YhQcI#j;I)B zCiurdAoYqfRZLrZ67smbya=s6h+7*3=pY8iky^=u|0rhw)&yT)izs+u%j~m`9Dt2> zPe{8C;@SjZ-T-+?dNe{S5P%^R`X%ison5bmZ$)ry5;q> z=-Rt$fKkTL8KD*77DI+tkD&IoD$Jh1dLxpI>PjHwq@_FwLM&e0;uU|wYN+EkAd^~a zS7kL>oOm_D@%v7}>o|zM;P139=w4;DG;6oA$$Wjp@5lLV##OnSuRurD#u>5sTO9}%BB`eCCBWuM!pR!4omj-{T4wpe-Iv!%a0CwraI7;3?`zcg@YFq=9n za>Ybg?83hocOIMd$zot*f4Qq*uEFzC$*|>v%JpTrnZ#}K#-3fpd2ORqiEDzZM0Q4X zdb43Lb*R63d&2qK1uZLoO}igfYc0bAmuT14$YaWV>;5K0$#nT@==K+v(<{C7=J%Lv zTj-FV>CP_nHIe|d)?1X zy*{x2+9av*Nlk6+N>}3XEN{SQ%zd7_lhg8MxWSg>=CsDVi1URgAzfqfkgzz-(<7(G z;b0})`9}%hw41BADRR9=o%j^tuTiV|ZC-q;)1xCYF&4h>W~(KNC055bPBsGGG-r7n zXD)IYezHQf8johK{yO$>-r6xb9em|FT-Yx_r(j}2(!JJHO=!q(Z1pZCihU;Q*7WUL zBQE#kVSc)=NPYH2i57GW+r80$pn@c03CA;Xp!0pHJy1Bb|Gw>ioMrL9_-}dn6NCPL zVT&Xr8YEQcXa8Lo0epsF$btU5D(0Wh3a0s}E&LN(weU zeovuVn)B_|X_4Qnk$j_OcQ6MB{#AisnMB-ZGPAEb4?z5^POkA zb5-WOxI6QW35#_9`L*~U3F^IN2K90A@qs-(@;&|iOe`!42s;1WnFg0UZwb$XXO8m? z@%y^x`-?hhw+?f43T67WrWO{#UdQXp8^Ar%kt*yu?)$%^Pq(L;z~F~8LiRkri%i7U zUjA8MM`s7Vz)`oKt0P!w_E3tZ7Bsc8dLk?=Y}n>|S!I$S{wAZe-SP(ohfxzb@a5qn z)4zYyOG-+{eu&EQzf$&-YHe-h^**r{aF``eguuIw{`_#+nkZIk#r)5g@K*dsgn-7q zxW2a7nW?g6Y6E^1TmJdZ&Q1~iddKJ_PJ>*9NQz!UFO&6eaU%^)O)Ce>-Ip<^-9%ET z#rr*vcK(=(wkuqzy9*0FL;c2;y}cN-Ze)(tNaohvO{x#aL!8^YR}H4$KCv`7FUz*A z4vfUa#CY!3PDh}u2mInPhH2L@|2DL?wicHeS{r8hBPmhOSs|uA;NJgqA?~=uxb?~c4^AuL z4XYK6-;Xk^$CUrKlji0Ec9ffK(H~RnPQu-K@@clk|4*XM1oHm!cthnTy@n*d^5fv7 z90p+I&jsFe;b>@Rpm76ZW8XA7Ek6sywP^&Kh4%m1TWCgUm+7~u_h!ok!(|<4&+;{cU^+Z*_jk8nMgH)) zo^HW8bStG7LJtlO`kU%fQuNx?6@Z^w1vDS$ll`pyUg zkH}0}{5vW|9QDY802kKj3^O4^$3^eO(1~>o4-=Z1nOXYQS*pyYZZ3yzZf^EBxhJry z`2*5Q=p;@tE2AAV3yZ|mu{XJ<+uN0%aG;#h{rVOMxQ_PUbPNgTZ#V+dcD*Nd^M^a& z5}t!=vk#txw6wGUmSo&#W#IlgT_g~2wWq>|78Vu^+gGuqXyUuOyMyCnIY-Am3yBIP zm$d;B)lBh5RawxFFWgFinLqtk5YA=1Wd+*V+Y>S%rUi}{y;+^DwF6!tHrB?D^yR)r zo?;kylC1Lg2PgN`%iFv)-w>#ba;2Y zzk1$&FOe$jWV~jG^Vt5^R|R;~#l>puWFtPEC=7w;zBBXCz`&s8P-ltm^<5_q4!`qD;ncXE7Z4tJU=;DtdA%+ph&vPO!EsVHM8GG*p> z-tG4D?DqHj`{R9&_jvuWkG=P?aNqZJUFZ3k&YOl^TeG+qRAa2^mywaImmG7R8_rzb z3wltLV)!(FyuX^3H$2(+E{KL@r2Isd#Y?{(dv1)pjyCsB+Y^XgU6{xupI~Y1?nVPN zICm*HLyg-K&M%3OA5RzYHBMq=W%1j41G(NI)AAeJpaQ)L;_@L)KcKnbvG8@9prD}Z z)|EpQTn;rWIhF0q{Q~50tcxKXFvX)n0=_JWrtrU8UE`iJ_sPx9Li|s@CV4Z8D#6 zTOZ}IJFt_UElcA4VynG(W(_p`h6?7leHG69NZF)AV@E#V5_oED`zd+-7ZWZ9T0hFL zs1G4u@yB0|!m`XgYl;(m)!Isb@ZiByx2BW({S!i1nfFF5A(hr*ZsbkFu;!I8=q#6@ z5v>?&zdmr{GA&XK0CSOfgs@tImh1Y;0g$lMR{wFDn$e`pp3r`}$owUva`aCDrwG6> zO=Z*OTdRhpHyz`!ZK-nkeHE&b%0#FV=WIdQ(*#&_{LZ|^dnv}zHcq~gV*G|*E$g|DC!cRaq*Yyr{i zJVl8nzAEk)JFV9qws(IxqxL$}b7`7vahK-UVcH)vzFX{fcQKwjbGxt4X!vT@31z** zBRuTi_0ea@GA!AEzQ|5~HSrW7_hd+AT)%!DU%xZ&DbJE2*2&-B|M~m(=L60iK8-2V z3ZW~a-R-XS$YNz~lw?v?RN}3w4m-f^wR808FrQlcfvN`%5wZ%q<<%A$y5=vGSOnOV zUYbk@#P$@Nzq_?Qu3%F{Ir;#~O1f0%POFX#Ww-H^TN*Im5`XMf5Tl`xapy;sm2%63IDf0*fbws74?*VE+uw8#`b@ngxv(Ss54|*wZ-ju96V_BWwlWHyq^yZ zaZ#eSJq1BUT%4R{lez(T`(IFXe)N8Hbo9!Y8sA-jka@mo^6hRpfw=J%Iy4Dk6Z-fE%ycf)`T?9#9E3R~;WXe-f0O+~cRA^l6ZG{M2pn7vTD zO1<2T04CJ$+uiqCT=R#DAM2mwXyLl2&3A7G%jkyYB=O0n+R$-uzS(DBsHWN~%+*$gW=nWs=)D-QDWXM*6`#`na2`}C}=ZYt*7 zNpqi-D|w3lB76(A<9V>G(s!;uO_O#dzg_{tkx3_1HQT^`K*48SsW&nrLfDn`vb&pL zS3Wf##BhjAW{Slb8&_?vPOV66@g3+aG?Ap)xpV0Ai@W6>i)2S1$0@l97;oTs{Nzb! zib${7vzvBEGpTds!=qSO7NBk87o%7Oa$f9Q38Nf{?)6i`8hFjOO4{H_x@W3c3#j!I zb?Z}PZsAXjL%+s5n|Vy|0cY4%QBlEX)(hoOFHfKEe}STWc%E)fHc9(}m$b^!lZ+D+ z6U$H(LPaebWL>;>^T)z7VV^(_X!!gtM$Y8oew^NA%UWo@0e&A1~`tjB{382xZ-^ zFDitm%we#t%*q;KV5?D+>>gi-yA90=+1i5R>Z`9fKR=RvOzaS9P<3S zdgT!L?VFWTGBWwjy~Xt|vP&PGC*^i?uP=1z1jw5YD553pKk6=G>p+@fa^N=p}&B3u8hL&RkPCewOg|9F4) zF(tIq_1$h?d3LY3!|wmuoxdMo`0ZXZ&qCeummfcx0$>=|iYwDqwub#2ot#{dn(yPa za?8uhD=&g)Nu!2wye*}9X${KK*);j^FRy}NfCuUUb)K z(jzjvc4KA3J~ji(%>c+5K)o+}H^H>hWp^m6(95lj!L5Vi)vJ^FeI=Hv!Hq%($oEe< zV&MDmP0tkntRwA}{H)~T^jxuJy7kqbOCc$+{+yhg*Sg7s^!d2sfq3;Fb8|02$gtn5 zg&f4MJ%ve?_6D#-k4j4kLTah!NJD^bbZaH)2}bA7!}d(CTP(itEXR*o+_t9r| zA#8$VbD*m7%b&LoSHTbCgno@>GJwDH8ZtZFsPJ^=@SkmYAU{wl<(VzXF%DxSu(GaDjN)Nekjh+Oz*o;2qum> zN9%!K?bgPOjrIdU!hX7^F;Tkpp&~WcWN*5-xYR6VGpneN&mE7Ck6)pt@65OiyS>&! z?t)%=2uMS$bOho=S8o34yFLsjdfVF0?hp*I8OGdU-HlTdjI(M@1fFtaaBYVY+T3@; zH68Y^)%#js1$n@^UcKhEJ{yWt51gExl>pO(&8tRo7Gh)WpOCv+!8qQYW>~CTt@E#C zh=*l}I(>(7IjVIk!QAJ(otr`tOc?H42zShT_ZDia#khv6U+u>) z1+;maqU+Pm?K|G&_;`3o%ddSqDL%8<{tkr)K9UtgsV@T$ImX-$nKLn&a)LSUR7QF<=eNtTwGj03CVSI{C_@{ zg%3+OMYNQZ6v-f$0ja%~;=8RAc)E9R#!)`g($c;z3pOt{tF{;yF{?5P;9RI+{;8&^ zDR{HSUjPA$V;TXWqs0K==3=pLUe7*Ati)0pqE7qyT;IJ7WWD@h z&Cf4iyx0c&uy#^jjr5!n7qEA?AQ1Eo@}ky-3a1_UhQ$q@Gu630-XLsUbZ{u9X567} z^y1Sexj}b`iHn!obnAZ!0OrrudoNyS&Rc*?4)oUsu54vG47;$HOs5}9A_?42N*b5R zNw)p))Q&)fV^seNZ!lP)l?DcIJS0zIbJR3%b(E*jA_Kv2MPsfFLt#9QO43 z;MPVOoj;2*^={_m<94nYkqVo$k;~2In=vAN7=^X9wf*kjL3<<_my#WeXpR>Y6yV>c ze_m7@rLAbpiBnrR9waNd+t6jIhrXw$#|;SGJc07IH@>1XMm)nKWn9R5ozOpFv{ z`E$SEMhzd}$w=$B*)MweH4{PVbIPrOqmP~L;IY>}mX{=!IgK_kf4Ff!rq$V+3%c>% z`wt!*6r{b+U>(5I&2@R$oSLC?Oi5x`TTuDyFm!AgX_v1L`yE-Xt7F)wm^Y6@dHe~y z`32Cb?g~lU9<4&baoESVPwO3~g5eFiK>EXbJ7A|^KHy_KtgNg7el$6@W!E|s zcj$~%X}zLlE)u9j`8M? zA~nm@Tt3U`bY|B-Rf-Rmw52ITLK7f47wTp1Bop#;{HU4FMK!VLzd!ww1rdPBZ9g8} zWS{d{`}w`wU9FoAYU?#6MGPVqh*Y+N0ApbLx}q60m?dn*P!@HAFSC4&{cJZhW0VaxY)<+Zyeq5kecpIlwQ31c5o`hXLjgF2E z<@$SlIn9b1L;$1XpK~{0{uzBE*fa=V9yN1^5`EN;_D>&#=#$iR7(aU~ntT9Jo&Z7N z?+?SVIps7$D`EeUBr%$8jB|0J%x-i>X)quP_|(^KrqnA4+_i~jW@DpcWMqVmOr)b0>YzN%}hXgogSuuUQ}^e_1@~8=u{fg6-j0FiKoqYeDautyA3X#340+kd*RQ zvHlmcz7vxTt<}_&dSVR!*gP1IpZ`PK!{KTEjc{Bqia{YRN$LQz3z64G!)b1OZ+4+zA%9wkorGy3)XJ852 z@oQHuBOtImGbs?ukS{uhjTxGiXJ@w9|2e|{)f(HSTmLd(kLbncRDjC;?*8?a`A%um zC#shBpZg*;r;(F<{QDi@B%VVuH|s{;+;beN+np@$ZCvei9)O$h*!gCVes1aR`XL@)o!5hZ@G2c8 zIO@=r0yj6-@&~>GSHI#&i+oSun?c68TmI{EJidnicxos)dIV{8e(Geb)=86}+&az& zpI+q~nc1}>qqvzGRV(<%ZSDNE@T8BI{!qo6w*UYCzwbJs$>r|zM~cA9P#Xqv2IiCW z^kA(yYl6y-*WQ5Yp3V+zfvj4!1is|!KX?c%|3`o9WnOvk=z#tcUcGuXY#831Z^(P% z1oN$#0ijUMOlm|H2Z=h*v({-;18N)^BxH~NTxA@t*6|NpQqNu2UJ?BmDx@vzQaH6D~nHl32_8HaaqLu_^ZGQQ- zk)B&3DsxJyZ@F<5IjeAQ_Nay1ZO5JJtS4ma|lE)oiz%P z_*F9EkMtXsu?d(<{eE-&7NU{>j0c17!esP=2f@6m5ug9EJ~OG2d&zkGXCZ*=If0*T zRMo=d{8ti>wU z6Z4w$4?dJRe{5nGe)t-Dsiy&QVCJ29lwmw;<=~)Z6>%09AhK%O~l8Sh{?;18U zrM*|hV(#5Tv9X0jMKJ+-OeimsR{)!N+qP|eRqoE|QMdh3K!9&AEVz`W78i?*wWmcw z_qYVEB`6uPtRiM%L?Z3wD_79$PEp)vY;3SlISBdt9`Gymga-%f!L5)yERRh@ay#th(7l(|JAsSM!@|B>L~P}KN3?X8w5JW-+)my6-k(j4f!$LZ z{;!2jUC~w6*JlQM!v5oeFZiKvfhk%D9zSMU&V-2Ajy2)o^vwJA&9_E3p+GHsAv05D znQZtGY|J}!E-bFHyG6yUJL^sv`Z1ZAnJs_Kj0`cI0+}~KT7hS(HAQB>x!0_6x_i6a z632kgn%yyzrvvOyBrgP0; zH8?pdJu%#Mm9A5GL9_v|_t#gmsFk~Nw7dIvw9kVb0egx-K??+PdBuPTFmzIr=fPy_XdXZ z;(%~exR15AH?a@)yh#X&~0ai+giaPvoy z!hxBjk7+zgfg~ID&N19{dVvF*PqgdFlP5J7H+V1^SNHt;WHtj+X4>4C@y*x0V^?0? z`F9ooZycq))EV~v$<=%tI_4sQuh4YK%>LFyL}D+cMA0$pM-LU24V(xRKAapC7Z>Lc z4mM%F&7Re9+jpdGTwH02jWM77DC^6sQ^n!Vd>2aqVtLJjW`EghWi)}T9GF}jr5jA4 ziKb(9GRtx1yUx>?Fg&rozK$2))5YzN|9o7o%rBkpykUQ#+UQ;bBo6R`IgcZ~J+9~I z)wX2OHbms57Vb2|Dco{@3LfO2_xbt$DmIqe?ugdi?fNN~z_}p15|8rp^LI<*()hOp`Z;T< z^X;^Lk>0MOruKTt=LLwMnNb?39j|sWTfk^i&bR^{VI z!{q7au0KKJ=!=v4$&VgCRvHN(kq=+JC$?PhnM{V<$4!?=B^p3_o`&wxD| z1@MQ^X@Yoc7;ro*<`;B=91C-?_4~(HR>*|9hK4cE+KZ%&^G~cm-#A8zz~_TFpxZ5T zc_3|bf#1l)gjZ6s?DcR%UEP7+*r|IV9F?FvAt`}UwxdTmFz90gUh~@GTc2(X63{po z@Fd*a+&&|MMGffA%gi$mXkql}$ZQAvf53cRBB})U(N;2wVXwK9Z8Cis0VA8C+U&rhj+>qMGZn1qgRvG{H zEzPzwIQrx**>QziS8u&9BUL?)ZofL#A~;j+IbCt9_d$x(;F3Ei5%C`aa1VL=?QkDr zjJAeCMa&Wv`b}c<83;I|FLxQ`?~hfY#E3R*%5hrOb4> z<%GCnF@Ktu)4iG9R0=|h=wEktT8`ALTc7OQ_CNyeK9Gfyh+9Et}sxuU?qt&5K9eRRN=5eEZE>w1UCL~bqOO+met;UJ20@Hu`Ie%r+{ z41U|M3ww9Bl7X<7a3b?Gby>l6~~<6t*V4M%v5+30%0k} zr8eT)RNPqeg2zo*>*DI4O=vcTQ=j24QO`9?%HSR0@xUuKw!9Ljo?a$ljAL;h!W-(= z4)VkdrGjGqUCgTGzE=T=p!9)Q%tPi&VMBcow@UjEjpK_9m*^+GK*b#&N?xw$K4+5c z+$NRVvAFF=7wl!D6+q1}#iOFtJE9KdQU03wdNH5_?y^R?&O8An{vx-UEC#HJ;e6Nyrp0agn zBudFi0Auz9ObyBY%}iQ?|FvL!4im?Ebk{^~TB=Eo?D~&a^bx9D-ePhfMyymVuP;Ds z>0cN6Kp5``D#JLIwqC`TLUrDKG){BN9)!J0__@x@4?o5pHR$wN`<`Hx;@aaiVCvi& z#~`=xcHuQ|WLEG#{+_Cyqq)g3@kSQGogY!G0)~v~A#SWF8tay|nc6g;m1gstw2g09 zt*0x-&#H2|U!E{3)U5}-RTD89Uv`#UNx1OzjV;Q~-LZJm#L817%2)!ds zpO&`)k?cZ-7n#V!hp!G^P44*Wjq4^3t(VUzKu9jzQab=Ul*(#yy`*z?*;MR^F=b)0 zTTtPdTX7pWnhPWMbR<^UsC+#Bb2+*I;f2aRo}fQ?;&Nr-QEKLrREU7ZNi1iIEBo^Y zGIFKf-PW<0d2M?qur#sjeUCbA6<`VUNtd3!x6-sNs<7I;AOtxZJA2ELew%!Pzc{DI z*YuEwDsukV5F0eToe@2!>?y;K0*uKYU3)KN55onfdQ9d~h9hL+BOFTVStkH|UH{=d z2@G0#x_r13T)u>{`<4-u?@vGEd~m3(elfpo*_xUB>$p%&p1BZ+wMz5;$ze=9hjOT1 zJm&!oKS|CELL;UV7Xim-KScp|B2>=Qtm#9G)r>m=r6L7joyh30-k~qBWAm=d~WUh2K0Ji!6`%}#-a@2iPG-g>jaDok#`?B+N>!Esfiuan{GiPrE#pc39P~NQ?ay13Nz}jYjajU3Ke zKK4-jY&_Oy8@qz}Q}4%v5v? z!JZ03L|!a48uharkbBbN%C^tBf85b>y5$?bgqCf=wA#2mk%L>COWBqkm6lMxu!M&K zlF-OMdSrMNWk$+ZvM>|lIrZ*jR7~|#jLRq58hrbX=PhUc`yBU?iBU=&sl!1LBsIquJN9RRrkn-JZM?Bg zU7t;UVdu$q*{;vh@bUsYNgz#dnit3Yg==eBwcoj2j=kCkUthlQ^Me5d61$>RInS?p zL)^{DHtHqdA9Jz|iWiF@?VE|>+7C|f1&P8G$$PH>DA`GZ7G7{r#b=NRZnjjyd8-E; z$B*KJu>DW%l4go4=~P9>5^akp0Lycc8m4{!_@zYK#fdI{!*YSP$R-SgKhnmkXwTv5 zqn@-$3l=_lNf%yoOK;l<7!Iv>4p3R0{cl4{(ya#xmAikW4~^Ci~c?3+f5X(&>M9ezk2_B$|}cxnr}p!#^Kr+p>j{#beeq^QAH=^?hd|Iz z7VxBZ_AqJ^p}d{olJ;G^X6X^k-5SNC>weXng zp`Y%KU*}bq(I0Dd0#;;Qgz4}4bVs*dONB&zduzvkR*H#y{|$~b1au$o{ zgC`EVPQE*O$n#st1kieiU`;A2g-f#=JTr$-z;m5OB@Qy%zf1|LCD)H6QuD>3D8RZ&j zC`7PG4Yq^eM)pK$uUV2WTi~SwftT=+L!OFW4#XM8S-HRJyPIcaZ*j3Q@8VRf-Fl4}stJ_Wf=jZBqr4N&S@mT3RF zl;;a4m6Xs1xo5S(GWTWwv^Tr!o_|vS{_H)~25! zYcdhYZm(ADvAC*N%+)>x!JoGFsq`SuMEiM_heNQgItdqUp65hLj=l5tzkb*8?TTp7 z4>Tb~@4DLR;B)UOG)YRE^i&o!Z^`fF!x4E(K@1bcz8kj4$ce7uzrDy+eueB)(g zwH8?`QS2ySe}ggIQ+$9}#$Xor^x$8B>peb9w zqL*ypEh+`DG}^8K044Wee!*i6V_-%GNRzq7)20B_&G|fAn(Ggb5FuCq20Tb-=JXsK|z zm$Ku|HEj!`eGywL$)D;rbPE{il~5Ql$%cx4lT8JG;=FBP zsRpki%j`*c!ID(kF_v-Fx1XWjKN#~sD66qeUbe=#avx8>6$MAaq#DAT48FQ6?}?gW zCnIUUxvi6qB6=wn&_&ywH@{s~XzpD@BG@T2JO5g`i(@@Q=^=fmeV4xkY5JCMCAABK?Moe1J zQslH=Mkr*(pzE62yE31l`@1IGj_-o2yPD=L@g3-Kw)QB3;SdDu5Y~IbYx&1QuENGq zA<*?#)&X2?yAxg`EUyH>(fwDajnNc-@WJCF@b<3c z{g?b{&n-;#id4ffuRym(jsh7^vQH0jf|Pv=TIN4B$@pw&5Z2;}SDVy$OHwUtrd#$) zZ)5+1gZQs)=_wS!j@0jtoUxuA~pdilMAHuB&S?E6fZsd{luLy)Y@pbTCVT(*U}eL7i%Py5N|(^I&*pu`xW6d#zShqTMDY5m4> zR1X76uaPkQ;P<~xx5!+7XP{&Ea|$qYs>H_|uPBY2o|Mnn6=6_zqCZ@JXF$Rr0^r1* zU7Tv5fR8a6H!rZp$+4Q=crn3ACO+i{+*0(r^--PPV>7FPMzn%@m6Zl|hvaF1a8}hn zkXP0_ZW_z_(3v^ zSxhq4u>P*vE#!J7G-$Q(K_Q8_@g#>D3b4=IS{M|uZn-ZSUh@-%h}1!KFp~zlljvFq zup z2N&GF1WW)aZEY_#Q$*kT@Q_zd?3o3E+vOM3&&FXN4?_r_xH1YCPt zT1xpAC~)Jbv^UFp>*k3z$HG@?(nDyKfX2&wf=xOBAmDY{DEOi|kg^1s&ma+9$ZfQ)L>zE89bBAx`r0+Td0yKx~te^PHAY$J@Tk4R|ko+9_FXX|M*& zPHkz>*Eh45s6CIAO4q3#q3;mivu+jd)e1fKSS``D=e%ZbDE(UB{Y}t0<0NOA=-1>8BTG30wu`0@6jdtHZ=P%loNG;l(%fa{j&k> z9o|I?W|9a>cjaI9qUZAc=0Q3h91;e(#V;l zuw7HA6z|g>QVJm{Y^?+8#xe-oU7t+{fno6wb5lLAhrAa$RyZxI_XtsRkviXb>`6;Z zJP;eNf@`lj@gxlO>HNZ{#@6)kL_IUpOnx`m&01DQ0#Z}AT)ka^V#4-^gWzD_9b}BT zapUuyU1P0VeK#U*AmcC2M2o`G9&)+a^(b>_DfDgKwZ2;}s}s2iZG#8~fCx;A;J&)5 z`UbDCzRRFv%sc-`kMApwB(o@&TO$25X;M#p7@&f7()Gvc%0|4?JY*bRq4w0RZi1oq zlXiK}`fAYnjDx>Fb@pnmj_EJOE}mUkSSQ zLEm4nsWFU}z;Y>$Hj2aPHBT3a8oD_AHvz_dEWFb~)Q9PVnKbb(MlK!7U5K~{nn=?6 z-VDWhXn5yQJ;Bd$Uc#6@{pMTr1TbGjgHDG$$I&=u=&R9$W}Hy38tR0@M>GF37T-&( zxh&t2^rUdQ^1VCRuSeNePUKkkpp(AorDTwVAA#hV3w7~C`@U^~_XQ5m;s>;{qZOr+aWM_;hjia`b$ z_k4dPVf1Z%PLe$$7q)Prbr3~v-8A!x3dJaRW#}YY=yC>G%~g%(<-XGX0nhmoD0-DEV@dP#kyN-aIQ|N|)bO*QJUPRMOLKhKRC;Bc%NM#a~;ZFYn=s0D6dIg(5V z)z8hktxqj-xEn+J7K*a|=h1}P^(&R|NgMf@@*q;ttYrX}0V2IF(3D4QxI{B7UV+@0 znjgd>q?S>sQuvb#rHhQ>=>vnx*$tUDc-TgG$>0#a4!Rs;JY(>Z*PR`#ug8@~Lugyy z(cOV3tLz_wQPZR0!)O@@l2Ag>5g0AXy)qt+_S-rA}dmcsXu*F zewG*undpk^%OSDN%{7aR4>o$@H{C<#F>d+;bVpR+4gU;UVv=}NyM*Fl$4|>z^=yOC zG7^{ejRRUJ%pUJHB4KdKNR(qtf*bWSxLx}9gVSEq!xCac>3@*in35X03lEbUfwdX; z_Z9I;Ebt1T?)Z}~GNF&IF3qGV(bp4i?nbE)Tjxktdh)*bc3M63P|L}7tx)00YnvO= zQw8_7Vrt`QIdFX8fMP1&Wqbj_9eXH}{u|WmXP7Efp(NYM8=s%cnxozk#~*(QWFIR{ z2xU^Is2?4RIIT`$v3`Bd#E#%ti?YeP*>p5FHbPZAa?Ud^yK)hy8HmkrZ3GcIS{jDV zRPjd3-Nim}Jzz9+N+BRG2~g$RGab^|>AK2Q4$6EHrxg0baJsqc^DOC!Aoa*?fH;(D zRjqd()9)W^dzOSDKgJ~`0y9id6z{0a@+eZIk+l#~u8+<6EnZMjc_}D(kT7-T{i?R% z`9+mBi8gejyqh+@pa{R|X0ds1otvUD-Ui}cg{$gywS-78cd$WxHiQPE_QH=2RjyH1 zHsw;{wGGtw(>B2&`${%x6>+w~q$9d!dYI|_s>D~I4aN&YO;brz^{2K_k~emV9b5zb z^qiyFx=gC7V;iUEx9IJ>^ufcUOKSjM@f?wpJ4VO90f?G-a5dH1rLaRIQ#QFXCOri3 zo2*aLmV1?BZpAC$d-%K9`oVa0uqB2KGx?8K0Fn}TOF0c!7-S#M;>zWTtM zVW1gqcn&rLr+?4`(mc;dug{>?vZ%e)<5c zaK%WB>5Fu)R|?d$;T6!6oJ#|_cmZC;G<*ZTv9hXNJ>#e|dp(Jcz(P1Z^x!)%z6!rL zjNQplbv>KzVoQ3KW$|f-!qeyfdk>{&0D(A}w^>9}7eTZIjiidMUjZBSAK2 zNkgEu6qU~y+0q=wT<>D~FCFfMCIDbXw(Qk4dvq{FtwzJwe$nnsseU8SocF9G_r*r^ zFezUN0@|ezL?6g-Xtlb>s5Lv&ogbl}8?&!bbq(zEGP@kDjFm{rENy_YmC}wh zsZyOFA%i5-m_j3>} zw&epy#@RK*q6ofI*6{W<4Ll!_?%?PWyPZ;#WWCZmB#ft4=<&|%q zeXt670=BB0|B&8h+gaUuD3kF@=#mOkGuL!cy=@q3MhMU6^<9pn->|qRBatK7e=QR( zKsrmR8w;jV9LHRDSV6dP<7}N~PL{3r;bh7v{VMh77z$MTc zQxOuXG9G;K3?N5KpyJJFu_o;q-Fo0-_rc4)AkDe;37;P`sawCBKl$xQwRkqrNQ8|4 zl8AZ-0Tv|gec*rQ?#^roe8?hVllAB4chHTnfRF;#vA<-HyzjduXp;qEP9v{(7N0*v zHUcpv0Q_LeR)Kk~+kzHS4jHC*hb8Sq{OMP;`}ohc)Ov!a+y&0Ce#x|Wj}dQK%r%m}Dy5is z)xcj3{vV-eI5e=_;Q{LyojdSA6o>^z( zt9$5kh+XP6ji{^INl9bymvG)a0f3q-HJ}AG??Tw|IGcgW^US zg4!V%z>-0y=xl7`Pf{xZR1qf;o{3iTr)#)^RT$Q?R5s#n0M9u3!|iu-Ajk3}?AX1?GD7NzVXpvgN7&qP zB?{HbE3VDA7qcU1`RZITEc(e@> zX1!vNDX`cl>xV{Bh(C8DQW&_@xt&OBsl53;QL-oj0w1#GcvAsIhLSHF-&LN%4TV%> zSUhKt`4*K=k7Fm2IDSC!870#p1YDjUyB8uLh{NQh9GsEzn!~vz`W0uX#3v=$$os{l z*k7D~5x+~x4Eh`e?6SC?{e%+`*r_WGogbFMD~tn%6WC=I;+&z;fDrxm@Ns?n*HJtb zG0H2+yEtx~wl_y@3ovphJg#YgB!$;2h)X%^D@&8zQ!?!YO~CO#56t?oriYX#*udLO zn$nZzLim&~egTQYb&~^k@rb+u64~hjp)%<%{p|XXlo#Uuwj2~X6LMTN3{)B&gB8p` z5WJ#+$58BOtv&u7@uKqLmI&%)1t?j9iUPB#ENR8Grm?$JGT<+CNW4ds5^%Yads)VR zpTW1~T;g~XG)070GvHwE^H`bBeOY&>&8dyPcM-KMkvHj3ip1NvDyt{063qlQ8#@}+ zfV&tkJ-G}aRe#J=kjX>1Py3@(ATH8snqcarZhR$^_z1HTTApKGQ1|aueh67)M#NeM=lmNPQj)p{)<}g>k~%^CrojAia%U)oa-w zCksK2)I@kGn<{Qk^xTxHc*La5K_J*p(nyBt&fNp3oxhR*l^Np76dreAPMrwJ{h%M) zeo#pBEbu_n5}uc6dcyEEEqn~|troZk*s%y*Ez3f+#3}IGH4yQ{dVpYfL0k^h3vmUV zSy_yi?!dX61EE4sjTi>%oWpOj*Uvz6*;ucnRmICdtN=R(LxLCX+THM3dNxR)&>c;6 zz+VnNty9Ga22JywhomY!|C>$Q*=M(uXcUH=(L>IxJP+sQF=42!Ekcmh?*$+&WCmeF zn)Y=V4+B_j@pa^~+Yj6=#dMZOq8E{CLnc|nOEZbJLoC=P+* zV{iKqPV1~39EkgT38dX(H*J5kJ-EIL00ncwWyk@o{dkZEeOp$kwe>OHoP; z501DobxW#*9njO`!T23T^g-iG0cdR7Cm@7QeVL}$3${SDYPl3VcTrh1gHQdVQbFOl zw-3E=qk)0c+e>k}hhI|9a#(I+a0Z(NL)FFT+tx)!IM}Y8HBiHetHI6GA5UmA>Tfh&X~($D8xYN6vald~)eBb zJva|?<>!sSM0YZZwj_#GH|W!y6Oh`5dcyrZBY5zZ4Tq_h(UV zXHhtJ1Zb>Q_A82q*W$of}ts?#-6exn2u9#cV-2K1Jy2O?A`*+Mm){LR7O4x zM9)GuJ3Mo64=>m%BVuv9zz_Bv!$sF!pa9ptSGce(}yVBb3Q1T)Ye}s z9Ys)kE5VQu#8T?EWB>=tKSSw;w3`u^PASTcI@gu*>SpNwe#obX!7%^`8oA!Pii#lG z>_MGCLUzs6kK4uxdSn&PAvlR9YCwQ13i1U z8|cWzDPd;UfRmmKqQflDUZ^`6Oo!fYdgBa3Kg*IUoJK-{B=%UHcilLTaaimwrbOmD zcihH0^m)xpFg&{lnrr`6{2v8_KT=5;anKMZH{U6{T79bM^X(b{K4WX z-2rnq5B~~E+RR=ct7z%8(!bZznN4K`jnX$F(@&XVV*Pr-)ZE`}s1kJ(R8)86u=2B2 zjB=howGdD2$yiAH>@E7|ziV7e3+$)gegM^vTD8Av(*JX>{`U|3zZv^qARYiCy27qA z19HGY#J9xu{t6Lr)-U-l5B&Abx{StRcx2La0er|@u#xx=Ik$*TkTN5h6n;exj+0eq z<#=i&>z0C+IsZ;lfW`H9`au)kYSHHF?g3_K+mBj5apYHI%Kz`*gON}f5;;4}Pj%XP zdGoK||1K0F7BF4%cp)K2@1-Y1356UFQhnwZ`1KnzItgCIe|_*i%J?uIW^tn+vzF@u z=spL6YBhYq+o;z4>yc|i4e}3p{&i%ZhrPw5hrsKO4yWAgx1NA$rwgDVY<4pzP*M53 z99mQIiX_hLo2~vko`HlR{;v^}?Z6HnPXE74r&Q7r5dY*?5CBp^gP!n87H;}O(qa(A z%I32V$08AlUkR8eGlR9hY+!b59->-j`cL?Ul%%VCy$;DwOoW|mQ-j3R%D^zhq|~AJ zdM5%f(fr6pKxS1^L0VY- zlnr=HfI@pM*d(*57OutRCA?E4bp!EQ@(EPW8F~I2rllhkK-{2<4`0%$A(#z3uB@(5 zFB|+gSPoFdeHS`Z_YkOl-2FR|viPt_5v`mZ0_;m%sHBd00)+Lmh%zz>;`0+#B$U7f zLmCUtJeFKfk?As6;l07nbgyKU5ko3fdu8RXijcq#?}4Q?@-=^h#5#Rkd(i z3cP~R$J?Oz;7KbjB+t=_a4ZCy{fc6iN-kEO;zZsJ;hyN6*{RZU(776bM}>u|(k8fh zIq=H7(W%;>{kDk57H%flCNeFu`OLKHDFo{f*HIhdXl(=qws~(Qw4(wL>$3=8GrJ{Q z?8f?!^nmWjE~{W10lAYEDS;dB^i;FK?#~4q zuWTrpR<;UqZ4;34IE!?GRY-;=F-U)XNP%n2McfudES>;athu)eyt_^aj@g(^fzzQT z=dtkmj6YbrQt(@NDE>Yx4VGe|h6-SzplU0DFDb3wSo?m9+S0{NVBo7$JX-Em(Oe}5WsNawS9J;a*lJ?6ihOp(FIFcu!07V+VdJ~-0@zNf; zV6R@?dU%^<9Ku#+#-XF>AdZ}mef@lhC6c_jTfFPy*gsa5fuI$sfrf?iKwL}fE`#+@N&<++#@1( zo^Si@G~wSm(?ia8t|SW&JegL{+v1ny2RWWp-@NSjCN#nvE;yRuFB@G=an)d7XLqP_ zT!kHG=GX@A>^(%SwtmR~ELqFguC%)o6MF1~wk~(k{uf9Hp}?YumI0R?I8=o;G!+%9 z{F)ISD24>_0sGdvATH)3C4=+`*x6-6i6}DB)8^|slGi~d8wx3%8Y|uc3akXtjBfP` zp!P@3Cf^586-}9I64Y_7Mk2=u6BX}8p_M5#+wM#K_o&0r3Um!sV}Q+F!;uQ9`Mg!| ztXkPRCM_Wb0pU({w6kiQKdsU+s07*CYd|uj4bRe|#1LhqAJIP>$3cyD0mBVK`4|o+ zJE^98EN)LY=~M@(HXrSIedK@kSytFJDDDx$li5&b!X_m!kd8b65Z}BX42mxE&A9~R zsAfaxU11j*sIIh1@{{M(dq%Kmy#U@+1ALbN_FAlAF_B7zvim6FhCEk?l-HbirlOiZ zACjdoeUowODnx&^An$mgUQP^&?Y6>eGMm>qLaws6k0UA1ne#2E8D)xS@C^-7L)j#x z2c1vjqVh5REz12hm(u4I8NyhS$C-WyPEz@K%R%p@R(&3z}BAMzI2Dat1JMx^$h#JVh;eakFsFjr@`ji}7HHdiTo5gfByqCTcV=|pnI4Y>DQNX4a#IV?Vb%q{NzXK+yytx{nKG8-a>(q*WlZQ(c63fIEK z6_!8W1yk(7PZ)7=sX7O;@;*p2iNdkDB^$h7s77gM;~$oVY1R#pPi zZ^C9Z9F{DodSzp_yvLXbY{=>GYP&CL$yS|j2IEonv9Dx1BdpX;W z7+)!zgpuh9 zBLgtpUFvK@hG9U{F|+qqbQZ!QhSCcCfv~PZ;WayNr*ZzbvRnaM3WEy>B4JS9`7JDK zq=rGDZ;nH$gtK*jc7^Ja(k|Gq7aQ5PUJK{i`9r8NlER48PL-7k+DC`Ne1$RSnqF8Q zxnGHyhj$q?kieh)CA}78Wxr zbT#~SsU;5YflIYJx45|x`;Xe!MHQLz)nXAZ_cVC6!8m|wyZh%fGKI=HW@s&#nq#B` z61C^y(Bx3g>w}PVvb@5CdP|Eh2(8s%yfpKSmg&IPQCRviUF_(jpP+<{SPeqi#Pg^y zG>!=38`SC-r2FQvrYM70Uv+9=5!75!q~#J5QN=fjv#pntG`@*zbT&}M+1Fv&)3ZUz z%&mDY)|LV*m$J^5Bb+Q#m*S}(nx|%Ya=5#Rq#Gi;i$;>81)iM#L?ekecHZNNdDA_A z(opu)49DuK7*mjSW5VAsMBln9=BoL#k(hq>6g@}a20ruH!!SV!C}q75(Jx-ztq^#9 zXI&3OVeCbGIQ?QygWa|kJRn1hqMK@%2k9Flm%A`!TC3*^^L1Ko5-$-OZO_KGdGz20 z^|R}m=Z*m+hez$CM*1ev?#XaxCS(Qc&gUR&NOs5~G|0@ivt&$PeO# zi1${iR-2XhJwZ>d!C;s1OMDb;R$1*%2;YrC$_=u$^Z5^<7ks6h--t}90l{0-)+=7g zBwmhTvR4gIVH%~c$;-l#I@miGJtk3)#GIO52ji0)3jq&#YU zapgtyt;j~Hf;xZy6)x|Y{td9WKHrt;I5BzAtS86VFR{ck+2hkeTJ3y*Vkw0#+v&#FhfPZYgNq~hoR$G z2ezMm5aF+#X0~=+$dNv*;IoODu?ga(LHHv3WHX<2<`1i)Rq3FR^uMSFPduF#>72F$luU)oT7xyy0J(#w26V z)Y!y41yp%OWPM=9NT|Uq#_Kx)4wOmak(6xZEzL&;esOss=n#s+u#FdQG zgmZ*t%~1DX=_4qaYrct_wlH{SOFbKlrsGdd4R!@+%Y=+y<9piGVA@K<(x;ZloCwkD zXM$=j-gxyppz#+et{EkOG}%N`h>Bgx4nTgTeOYNp(AQ!eslz+Tyg?Z4`}Vzeqd*Pika+>4$U*`qa{_MwRr%Ug zz`{V8yfKx$ew^IUiVN3$TG!-5mCNTm$3y03ocxhsfnKx!X4C zTU;QxuOGjcW3*R6DYfMCb_g$f&JiX_8(s|NQjw1V{u+yqJW~`-a`qqTY4r{LGjyy&L!`3iY&M|o z`c1+TcQ2_p%cE+JHc>z-YI7X*os?T{62_2?k#>3mBg{GYSqnUCA*whleYoJOR4=}< zE>T}?#{U{VRT+nwJ$R2NI(o93!?i4ZcQrm!`%f)2%J(A> z?(~d*o{O}&S7BgizPV1;S(lq7$b6NTS6YA`3Oy;Yc$(f9&D6DEwbj%#4{_TNag^hP zS4TF(iD`Mv2O>0yAw{fOa^5Rmpa(Y>lrtY$t^SLRYn~I62!Kua=dMoI%qHG)FhG>) zWZQI<1<$ht+cA<^9RAEs&dCsThr0-aN$bC$_>*mec*5F1>p$qMM)Dsb`Y$#F>vMlH zq-2v5`BbU+m^;594YbKH^klU-iSY?+T)49@w{cRN%TwY)sDp+< za&Z>brJ~xT`JeP&T8C5&zDP25nYfGy)j-Pjf@co!2anXkRt3gVpxUI;9OE1tC+uWg zC=YncIgWVyWP5P+t(~EiPkkfRl>58b+dzf(ywfLuY0Q#}4;i?;By9KTrqPaVr8a_* z4~SOx*nRIP%tPQ>d1Rf~AsT}*pyh=88>-iz8q8E`(tP`(_NCBt^f}I;%I7!fz6*h_ zQ}Eio`xp$EFuzfhd*Xylf^wWasX3#pCVu4XM?VcZHa=~pj4avunkc&2fpk)nZN22Yenix%G(l;FYle)2bpKjB;O7n@%oeA zPWoHY&k_+q2N6YQ4_!8p33R=r=te0{oCU@0n>VU=v2m=})(D>j};RA~Z$6|_7Nm#*I z%13C?lnhPDAPi{SMdL1n!5vQK#T$puM!egvE>y>4rG z!_W``*$dwALttDy5H4`E`xN8i`}JxKj>Z2yb^^!8|NRU%I2Pvqzdr97$NTH^H^BMb z2MRoQzvsVKFckbA2roEuM)~X+F2X;@T;LlZFaAA$_RJZs7yo?Y&JGy=i+{dR27H9) z-(%a|p9PP;nC5i|L*6GZvw`5h_i#&q@rhD&v zJCz=CQ{$4rzC@_IqGs%)QUSzG-C8*M@4b5Gq)y(EJIJSR93B06?~zCPf5yroUc?+e z?N2|lqBWyA5iyZQz% zac6X;A-z3fym)r)@Bw<+NO}M3iSB1*a?G8go$4yd-odrz)qXmC`@smCap&Sj^?UlY zfXsV75>DkiWY=Ex2v6JBtB*#?=uuO}tx)RH)C)0#WU}fgevKatyFzkZUj)Ak(R|&tZ zpUmf>`3FlP+73Icee)?-Dus0FcbKd-MUFA~Adnkv;<~US%E!&+s4R3ZC3Fc`C;+PtKuUI2F;h>4@Po1YhmWNsBL7B6>P=c89w=?bGyik6LF;qTmwy zX5??_4+d8&->+ON)!X^x#yQXpVJasjBIO&9w z#!?kdot>JM~eOpxV1o@JZDdVz?qxCwFfi ztqVh~O4#Vaj&=GH$TR06J*KV5NO{Ous5Y%v#LR!Jnl~jjCiam8+eFpyB@7tPE7rXt$Hr67W@X_Nm<6IXF8)3-MhU!snv}Qr%Fkx^5gV&; zgU5*uW_ir0_9smRrchlp_ z7W+sWiRie!b8&knihmF)lN$6yZtFnTOSsh&f2V{g1PY@|l|^#FW#zguu^(u>NwLw^ zTPaXM4RtN)Q+FPxHwY_V(K?=fj4M0Fz)LI>x)1Z(@T#G_T(ub!ON~@%+23 zI85XG*{TICrCW_l2WqnK6Y`14pDl!@C@;nsf3&?@Pl6Cz3=%dApt70?;tb&u-h&WG ziq{Z?SWH+TJeanRq*4VnP5I(CpY53Fw2UTfJg!FxwXl%P>$M~-O5c!dG#*wF#H~ja zhaQDWK&7DqqRW$Sc<;tWW7W(>jNNic*HJ!;`Bgd&p)MdH&iL&Xh z?Tz_Zt}!;F{B5-v#E|b8J)L3FVK8Hr%JJd8T4>ePfnCR7^p=>f{Ren6>4(AC%3eT- zb+`odZ&WTVo-N)#2Z#IuH;T5PQW~%e$_wqIDj0*Mq2tlFuv~wHeIK&tR@cj3SEYK$ zW%l6UA}9ULp_eMG>l;sxZZvCIN1-sMsbLn?GEfbuC{&yh=FTLfJxZ3sn`{{!H^MiA zDPVr3+V=Q%)_?rONUkN|lcVm1odSub_8LIc*mw!((XOuaC0m-w_2JAqcKfJaF!eX6 z#P=sfR36ckUY20H0i&AiSiZ{NJgnVCgZ+-R8{~}_kQMTfN6(XnpXrBKZ8`ZlXUdbY%}ulUQ&yi5Yh%m~-(%6} zZ`2lZz9KY8{Lyw`K+~Du+$1hhxh>Nd%kHjy(yfd!5Nc65*s)alU3@f{{q0-ANvnQ@ zj7sLDrUq4At}7dMNjZ|b3Z;w(cxepqCh^8lvF`Thnk4Kc)r?7dj#>Rh>Jhshguyxr zrVl&0R7I7BN?=w{tnjd_{_q#wB-t{kTS2XApYK>}){TwDbEUC~XzgQ>GGV$9$gt-w zx^*OM_U`oUaqn3C7&CQ0PfHi^5bmD6PWb$KHt?{y+7#_kQ~RiVctGhRBmJiHcS^4Z z^d^c83L9a&YVEhxxZv?4WfYfsy*VyR*<+LBD7lR|cRL1J-IC96G_>9z=8E-us$(xJ z1y2lEs^(2j0w|o$T{st{VGn;%=O}DLTZ97m&5% zLfm~>fGFF3V5oz_oC``5kZHZa-K6Loyy!lS36sZu?~~9>2o@~Lxzmr69F6BuiKm7k zr`a?c_)D1)xx}uK?1Wh2G7cW=?n^*xDi0#=${Ez7hFV#?PtZm%ZA(txG4`~2^9=QE zDgSb6I8EznAHsQb*h1?}5_!2SOB*aUm#UdO7T#5e4a^tp%uVlP*(S#rMm2L~N#SENrlv5^qoGP7534c-P~=PU(b?*7ktBir zP(hKaCHcMxsi~E`TEYois6qRYALS8DKl{$;_Bv^crD@UCLmIjl4O?TL|)G)w+j(HAxg zO|_AeixaUFMD|WrkZOmn4&4rekHrhfgnoKL15qmPZ_dH3#KBL(qq~1E023~ricOw2 zaLN_c(vl4&QS82RknxkLKQLXNED4m27T;d}$7Rn9xouPjdZmtQCO#V#*^Tk3iOiV5 z;k1}tK6P%9|SUyrXJmG_5;J$G}Ct= z+q%if7WLt%o=f8GdqJmOJG4$)H-vfhku&Nwv`$Dx^7(+Ur)@wVqd}?Rs>C z8e>44Hd(3eM(6k4Ih#2-w7b^!QKP#jaL|1{v5s9uOBcB0G8MANo*z2>vF-(5((O!C zjSBVAHI-DgeTqB+kgbWAAKkqG{zlhG0&`_^?!EG@kB5GrVeQ!-Ytg5PLK(@>2 zBupFB8<3rIIxV>1lV7jgD;x8fTOlya7j9Oc_DqmgXOv6fw{GyDR;t|lFa=9JX)_-6 zM%*wUhrIMe@B&=nkAp82O&ge+QYBl34=TU#4Zr{CxkI&_Y7PYQpn1X)mc!k} ztmk4#2Z`Z_K=`^8^6}vXJFS{g_&m~|%eG_HXffsJA|W1?1#_7u57h!ndz)^J+W!10 zOOBZ~E!rx6&f8<M#n@6b@D3;1GK?$`MDQvKs0PZ>zT-ttw&2&V23f zHtyH#ZiYYjR8^SKOEa=aKQzH!s)R~o>p+0!)*>|Vt zwz={ADRzn+JDn~!Ii{_6vvkTC=xct=2{NW#BKRq&n4yN+ctZ{oSzy%6ntTLR*u z*}3ai70u<{vt#gnS7}!A2glxseYUv{kCcZVqMXbZvpGx_ukvEm+poS&`{5OskF@*5LWgEz|&tXd# z-BK#5`Cq58y_;+r)=m^1p4@u=j4PCEa=ke7ZX{Xdx^8A&xW2(D*Yq<)h^6LVlUo^$TZbq? zXw3Dn4!p%q)6MTgZ;=b10)_QqN3lJ$a~TS;-4?VPn1wv8i&R%F=A@KLGByl4`~@eI zek?rgae`@5$LbL!MtUt!OP_X8*zzq@+RH5R`@(xV&My3uu2xr?`iH&z4&39fS$-(mUiph|}Y~H7_ z@PD#-cKs#t={cb21zQuMZqM*Fv(g?U2Xrb}v@&lPS@Exlu1!{!A$?;E^ieC``Jznx zkac2MLr<1S(W>bEM5J|Au$0wx)IpTU(P}ZMQd#AC+U=f~Wc{88aT*F-@H#oYEb9+O zs&F=@6{-*cKaaUdeFWlsVCJW`fymQC${$~zU?=-^TThDlrrC<54Y<`D025_@l@HFt z=8Z@52VI!TX^`F=3QW z>aK3RRydDu+p*sL1O#ebcL^udEquE3nML|xGK|RdKv5>%_d#qK+kh%nw&*fPbP}3T)sYByiqBByJ8~~PBKw(~&~mHJ8qswo*hgj7?^DY!yQgZ_vB;;Z8TJZmj(_{-h>0zw zZJ(Eb9XGljbE;SKJ0-Hp?gw>oTOKOUL9%V5bat2G_6b`Ro+UINaA-cfSl7Yo#8+kB z#l>9iH;g!jhF^0(=u}DSCF9CmUHK<^_7Pk3`B{{R*>i3HCb%IIZimh;6~(Ljw+d5z@A^}wu-x_v-Z@r=XH3gF7awI0=50IkL4DYnFM@{ z1%M(e^6cjf$_W>dX#1WUNFkc(WE!U&xSKal9gjv|mbtei_%mQEl-ux>O*-N-HxS#f zGnRZ!ZZRn8aexy|=kmdb!?=ybn>-L0gqZJAuFTF zW8>0N23FhrepY>B+|ES9+*+6LeqUMlxsBd32=RqQW$vVAXvS4y@WI=oq}I!?Qv zsUCS97K6A0^vIhDAsJO~1kW^YoZzf53XJW1vrHxVvOJ`FNGjB%Hcu~-3ahX-&7vAz zK`4lR?!AHYc1}!X0w0bEj~*)zaMCxNBa!N&VvJT2vtfkryzBP@d?`Ne>pejGr*R70 z;u3MoSq%o-ON5c1N$RCi_~jCJOg z(8=`j|t`n>nas`7b-tz+7opOm0OfQeyJVHPf7V~1@X#3Fsg zr4ufGy}3g)&APIjD)VH@R#oz3ukb(oZjQ%NBJu z=b5M!v4@?+Vyy~@$sH=i9nm%XO8}|vx+cW_RrRbc3M2|I2QDwGeKHleeu&?(tL|9L z(|tp$-wu}{n)WeR^@sHR;rLqt%f|iTQwM-x9x&jx@b*s$_c5MHP)Fr!C&nfqiyS`( zr}j~_XtxV&!!J8rInQVV==LAm(+iEc$gR5)((N;fnM&C&nKgxSCYd<2xFCBCQK*N8 z#d$S&s^8eg_io>3xARcNhGlR7c=3W04hOE_d9_`^n3Ba9iLja1(*}#54L9 z`secEe;2kaNwZN+>#ZJRep<2WY3i&k>k8BVP&lfk13O>h(YzYv2XgXEY@#H)rmFfG zU6$(<8!(&Q#O;1C17eX_CWcmZn+)Z?#6K@`&|bRnd;}Uo*iyA6 z(b6KbA%^A#Y4rg(z8BLX%`5&+Vl@HTuLzDE4r?JD38!wk?_uA1o}A*;Y98JW;-eu~8p^twM=O>L~&2@l_DEe5W)fvo$)mdM7nvsJ5XC2wYV8LEX|?vK1ODGjyTu4JBo%!9SJeqm{AD$9)EJ3{yyRAWRB-neycZ z&Y6@Sn_SyzJ@kHcz%VOhJ}bzugM~$RFux)kJx_Q1PBWttTKDD4^z>^JhnH7o0wcsLI(=(dig5)0?dTkNtnSz8#OgoTSplej3ra7yOQH$ z6MAPurxvCMl|-F5@BfOkDXhuE=pr7&BWBMCYb(psf^M3N{L51*7z#C4c0|_og>`yM z!cWSXlbYKf3hMEuTQFYiI29{Z^k7*)wx^o}QLYYk1^zIls(V|!tj`+bhRtf={nNg$ zTn+h2Ys|@VCGYAJ*7Rmyc=oy>tOT1=SY^|?@wO%*^0cq)=&rv%5*)1;EG>JMR%_n?l1l7Fx@xWMtesDt@+t;Pe-$ zxri7-nrn4rWnR7r)50n&$HogBOqIfHiE0F2IPQKXbIM$_sR&z{9Ti$~&bKhb$Uw_H zg;GP#8p>(q+@tPbLrO?Iz&^S*FK9%u{+~nE_6ECB#P^uKDW*ju^0WMA* zTo0ZIMNrJTf6wQ=ht>vUXDbiKxSwTLvE?`l zBWF->I{C^1`VvgHN~A>D9bUWQp81)?9_OZn>Xs+ zjjB7oX`ighC=mQGK`QZ@!rf!7ljIl+p;3xusSv*hH|qYw=SfBe2aXY zCs?T+mZHs}r%J0_e|PFTSGZ_4pEbcTodY%ZUpD%=V1=vh_i4Nd=h76S(PeTN0w^Zw zmYnp}zpNUU>u=fhf;y$y5zvMOVwnzG33pV*N?_+h+Splgs`jsK$;XFAez(_eOD)qPOxof!Eo573uXOac3 z0H$?~G&31Wb^*nigO-&Ax%QUEs}m_ElW7%K=2A$-1Q|R8Z-lBh!YTA5e!Z!^Uj{1X zd8DJ8%KI3tw{)RxRP{cB3;q(0Nl3$iY6qaSt&NN}cBdwhPQ(21G5mR>C(G}@UV!dx zcn|Aeom-krJssk`?~sTZC{-c93fNK-(AVKsRLd`@hp3J#E3SYz#OMpPccDmUEH^>` z$q7aFB=yN_6?yR$Vv$9jwiQkeU$9j(A#)wSsNwc%YTMXcQ?Y$cxRgd7K#gOtNw71g(+gnX^u$D`L{7LwAjIP^?t`=^OuJ zXK`Jv8eCS_>&|G>l&xKY`bP8^@TcmHp4OUT!h8`P>R=`d!q6J`AvA&6$ z)+=#nw=e`;19sDYFg8taS!LL_b^68!N?BHN31T>V$%5t}A3b}f&8!k=hf|& z#Vax2n~^<$_1JSMGUH=ff4=F9IMdPp$j0-MvnKXJ2ji)cxoV37Tt4>SHK8hr!2HR3 zkN0tYOc|(=ddtGY@46peu6hRaZvyZA=a~>fT?qMd&x4pOqYrs{nzC>M1V1N(dIx?h zdr=E0NJ`Au+1^hqlR%>;)LLG(I!sqt#B1{Q&zs@5^CeXuOtOI2eF3J14Z|d$^|3mM zHVKO2WhTt!rS}D4%KH^ny=kkzH#5*yuVKg~b~l)}UG|f$Oc1!ttxLAfk<|iz9%rpU zh(4HbxMuQxfdRa$v;<+Trf4Fc_4I3j2o)xALs2$Mh~G(mO zOF8poM*dd5L=h45(rx_wt=V%p-?+tY8ZUu2Irib9b2nlx#WX5@?8?VJ>M6P1BRARW zGm*uNd>yF{e0bMtoMso@Uk7T*+3+9pZ9Dg7K;>VXhbw9Y3qJ^#a380cG#HJKf?8+b zK3S+t&mN)-5kjc7Oy{)@2(pfAIhPNL%!EDy(iP4nhe?c3*E>c}HbNC-WA3f1@p;j| zuxU#KNJ&@79u{vb`UIK1fjZJ04i%mnv9+#D>EKN?`C!yxaH^=XHH0%X;1FXnWQ=dN z*ocCMxTo20W9AHqQMuSB9a|Hs|7OuP29ygb4CS@sQZ)TZiMh4a?%kL0bBd?gqIHFA z1CNxW#JW$TV=g0(f~s0qvhus46IM_`P|pa%;|YvrggxcK*v-1@TS7@a#mWUVv37+> zX%&XAIM2L_{THhB8>76u6PU7&M%qW?g^9D1@QChis`cQmUaqXFC7xsPaMu&#}W&Q{1y`yy;+S%>NhBfDMi zv#v++k0%Yb_qO>AKhxW3PjY&sRF2heZ(F7z&5u*=;^t-9Nk&HPj;cdZZl#;^d1oWz zZbJ-fQ8{kk-OFgk3Y9Ny7{HrPFe&PDy*7wCV{|=hbtNzUfY-e`WYP6tukk|OQu{K+ z4zCZVccCrDx~?Vq!o4Z9va%LJBq28b+>6{DxkQb(I8~7AnDH zSZST*wDp~Qt!DMff=!fxNB>&`7bFL``(@mX;=U}_*1s*it5qdeQV>mV8*B3JCjwLW zY_(V?%?N+SqB7Ovaz0uL`v}9&(oj-#8AlE0@iY7IXY`JQ$GLxNnlnbtC+ye@eNf9JJ0;35h2bB?VSxWcxGv7+*cWwDWERaEb-z9;w87UiT0x@(!F;S|C9t$L@KL48PLv!6` zjZhO8ie!)Qou!lof>-W)A{JOgPd80(HlKU__Ck+I$W5W)J=Yir8PHb~1IoH-on3fR zmbdP^{+pgdCiIqx7*7{-86!TpVpNWRrQT6GA&W03m9E2fu0Bzw=cY|NgRVaME2g|J zr3hT6?(2D;(J1&)rRR7e1r0wAKbO5D*UH+Sg2o+~N$8LIHj_gr8Lhh$Ghhgm@Kw@e89oQ7=)Sl&&8(q1;gtU80NYyfhrkZ@9Ek4DAiXAcif%v z%Td6-pxAMclV6pqpmxwhJ$NUp*HpHgtK3L7LcYvoaT#5PO#@PU*Tc+Kdd1%t`YDRj z5nUzL;PuE76x?)6kW5N0=|aSqoU~_$iU_DTqD?GK^IG({4fPH5uTZ5zKZQc2HI|U3 zbI`L;DbG8ZL*bx9Nmicjp!f$y8a4NrB$c#$&;1byvU&s67r6q&iDi?zmd@&)SQ5k{ z9N%3d1y!pEO4!tNU;mbNn{GJwh{R|MEi);~_{_CiPMqT*)&&La6mkXg_k#wQQr;fRgQuV0GD{I?YT3bIX1EL=HnD~EsVxM$ zW>ge8sLU&Yr@hd3%`*LcGIJudCX=mj_it?(5dMvzp+O{8Fprgj(Btn*r9R;b-QE{P zcEMPMaqDsGn5d zfIx(rpqjf2O!}$vp~7PR&QP5FfQpFZ#@9CBG}2TBOTDAe$dk)T7~k z-TrSi+XdfQoocGRzy-gz1xQa`9{=*PN9pL=m)|L|3Cn)jp2)5@up?N{L3?X;hUpsU z8khlHHnjvNVtHoBrF|-)O1({!&~p^rnEffsq=gv45d`5z%nlaVF|s7`IW3foYx53LNvqWUwVz*m8;O(NMoB z4leG>Dj1Y+X>OAVq?vHS5qeznvEpTp)IYf#wA}GCpt7RTlk{1SVNzY>+!0dCMeBGY zUxRvGeZBfi^%p^78jR>-X<%Jr^f2$lHKS9C|4&Z#4MwQA*4MY z6p`YwX+>K|>YvDwKN@e#D8I2OSFZt5-Ff{k&bu}0ghJu~P z_F=?20?=|{rZj2|0d47@f!4(Ku9$Qg4d*e87ATHQUI*~8aV8l?<8sC$Z=LYBc|uha zdWn@i=SZaZ*hB#t4V^7H4TY|}C3PG5n_)Tx-h}+TWQwguNo$xk&4?iIUmIu63$k#| zZ;|Ih=x1@z>0%t#)vMPIoG0o`<9GD@rG)j%;`1h7>>8qKh%^B#q zpA%7Zg&U~8R6svQ=w)f+XXPz>5(T6~b-1!uQhss)(@q2Qv-KtX@I4~buHsU39jkaJ z8wOmdszM-s%4k)Ep7yD)lCw^I&=gjNAz)~%2W#Ca<_bd5yLT~FH>sEy02~#!ztzU4 zYl}*qo`9CDIqFlv!tr~;@GEsc(iSb>XXz4JQ0*P6uq)Q_G}+38^e;3R(Q7Q6(@!I4 ziM#|(+(_2b)iw_e-@{y>yMH1jN_6P<2RWWa!Bv&d=HF0E18#kg@(w|zI46@I&NdQ0 z6Bh6R*r){baes7(;dRiiB`YriTrD72$=Am>peH~D(!w>y7+1M+^Rf5`#mA*>u--(n zv-}ZX9;_^3 zvW_jE%k3?xg33%i0}Bu|vdPs0Q0O_qvx)|#D(VkHquAdbS2G(UNJf|Wk|i)1sD~O8 zPZ}MrrWU4vmNtY8XfO(mF^EB>eHPYTLiT=&>^^p{$B(pObdVz1LbJD^S;${106kCs zxb^}@5sn!9YGC8$bkFhpZYLQLGpae)i`)GPiCSJNkc-irQQp5zbuu+iz!!t@LxVC~9k_ z!9$ys>an$1w?|q+o6~H*pFJ4Nc>4Y_1QOzu4k`tZnp@vXTxkVwv5DbxWxd54^OXns zZ@n=MXZCp&c~53UEH%%q1k*PLPvMfB*E^p*h-43zJ4VeEl>4xYZ?vVkR?fZkVrGQ= z_;apmrm(WGdi(OrR}nuiN@FJruT?CG>U1#5A~;JyW-(yX$wI5cRlc#^;fg=Z44}F2f$I>{{qgFr(=c6t2K(%a8y)fe+H1oeS_)k+NhhMmD%A(?bP;jv7x(tB-{%@zYE?S?&o}r(G^X>ij&)dN zgn(bytQzK1IwBQ1Mi>!itbOzwBN*)89VG3j`}?oXTRqNYEtlF`?@&#ATb>l6bcYrbf8%#z_k0J=s1s|SQY|)eG z8@18j@WnuSu>JeH+iu~^yL+T=(g_g4Orb+LxP2Wvn;om12`+fG9P~)=V4%%DToc1zs%z6#K>DP-J_ABp&6d`@@+pvhi!U( z#0s0GL_C!##-Fh5_oYWx#tDh5m3o<))8CIjb(rAATbXI(+<$`h@!xFD+%()k>K!HX zfSzm&wuLj9xl?+=R%F-G{Lp{Ys`$sK^v>FI$Wjfvn&~Mk?C5Knv|eC{re7t!o{V`n>;58t%(wk+S5DlDS^6sAi8L9Ze5XB!WSe1BX@%~^y-4mI5ank=Wd zPV7?tTXytrgl*R$n69NGpvr!ExcCSq7;h)f(k+s=NWN$K9z5D^>4FwwoJuRiYQfJ+ z>TZwfY>#^Og4;lG1k6LpSC0#x{+n6ceGmUW&)l*AP(+q4>t*8DmHjhQ0v~QSN~%A< z(`h&tI+Qtd?o9f=8`txFajf))9vkPa(isMBV{UHK87*JInMm)~*jYB;>2`9C+FD6! z+xNyed^;h(Bw5S&s0eZM#-O=3G6iAUZa5m@~o!&q&ff2O?KxN7|RWS zEFRBqUva2c<5@)R4kWTqqpOPwJE$Cg;@)!ljs^}PRUP+IniG7h55A@%wGe(kxB+s4Z?7efay?ca zWnR5+C+$8c*8NOXa|cP_kPm2SJS868v99plk4N&G0d*%qns!-yDxn+H z?_E9uZqLl~(Z?$7DbL@8txUUemc|t?8baA&f`L~M9??a z25>Qh+!hG=(2Rhn%~5IJFHt5WXRx~?`h$Z%#PE2NE^a-=XT4@LL9>`BFGpDerg}3F^1sSYwZi%M)m-UUuo>ysu{4ue)`r)uMQbWC?72FGC{t_6&sN+jSuWQ{mx}+NdDP123KvzbOz@;#(Ba z?(Z=t;n5~GXJH|$AStg#umqZx8H;}lo0o1F%kw`q`Y+}Hz6#nng^qV6EMwf$F#KBv zQlaiMEYt_N@K_{hI!a=*kcyU=i(&O2Ex7?t@uhFAT3>IT=`z=;&L|H(fWoOWj4y@_ zb<9X_{WNfxl_pL~{}%(KIn>S-{+(2(lmLjDtSt z0+x~vy+)nF8pgCFnQLn>gLk=1?%ZK+V|lQ~PYxByN8f^`oA<^Hk!U+$BW1|xjd&rM zRC3_YmvLrk-(QwbPVcBgAf#5D8_(X&_y5nu4tAF`>9&seebRz}<;ll)5G0mUdSKol z@9q2`%_K?2_G)?DFNE!g+Gf3#9SOLtun6vIz}i})&bG1Rs3wDB)_>-2PUd6Ts-R5_dl9%?-FEXxuQ| z{f!O<0B^g)iz}}hKb6!gnxYVk?BzynjyrFUD@n{ot-i_hzB@7y(2-H~4Dr!5PEze! z*i_Ekij}#R>Ht{3`_`+`_iz>vyCy9zNG3lMe+p_DarF_Uj-Jbq%=&>$L%q$A5 z^!BzVWD_?;qW1dFUv%vo$Wi@^!BOnsqz-^GnS$bKw~l-*bnLH5XZg>)TWV2^Q?FT! zpL-8Qav}h@iSHs=GrQ|AB6IS6#mAOp#lw=i2^XgGnpv~O+e7S{a>r4EfmCW0U~^G5 zrked>GXu7?@uS+!4g%NOM9)2x(gy|Y z#Xna!8>F}WG}%ubd_0Q))-p#P$|c<7VMVRQMcvGF4D7+oz2Qx`xL+e%iw;(!0?+0e zV47Nhd96`;MZ2Hv0$a72?K^;FeeA=q|CpKd`scWb=TU=!y+RW z#M-O$*SM|q=3uo0U=F*W3eP_~O@d-jh_>AV!j_}7O@W{f+Lik_(r*2|((B9^(gZkV zf4(_tq+-q&L1j2b(7eELQn=UQ`?vZ?Xq}f5@sH zZ0|-gPGY6;yGy!(v9rZ6*KYzzxNoS#$UHRi%jLsDhn*u9$JWZDHp)jzyUe^YwYs7; zjRz;*2>l^HKdy9_yCe#?88PewJOI+T;*G(xeVRuGl-4R>kBZ2jE;iF0WZB z2-torp(^QpA^PMv32Z^(`~h|olC6``ruMT*A%#s-<~a174SI)$(p~wk_@(bQ z^z|N%%<*vPwc0&>9^&dg&#R&uC4)=Zuxm$q9!!BIOHsnz$o9727EA7?J4FW1e^EOW z$=tl+(Ug`xnWxEe9=OLOB@h#xJH-{}>^xpX0*O@4KZnfpL7GQ3R5G^aM^rL7CL1SZ zbKKo(1Y5ie2TblG%7?CwGed)?2imnf$jeRCNvFw$qc#p_ed41-79{~d1t-X zVKgZ6=?R%pjHsPvU;2zA6WjZ!a{fI{ zt3w0$zdsG>U^~=|M_+Rl`7e2QWO|yKwPv-ARpj>2Zl*d9lFzYt)(Vq#IBN0mzM9d?#!oT|gX#o<0{(;h5Gu$Q~ceT^5t7LM;G7jdxN}`O}#P6Txrsw{ru?TRfj<7 z-Sm;UT27X&c`9kv5WbGwWz=7JEa^#pi*3HRHyN3x{OZnVdp1YD(16rm!6#n|Pk7)Rr?Eecrw1XRLfG%zp%4OF44qkXVybUTqe+M)fFLAibH0*EiUq+)W2?3-?Ce_WOjl$HH-Melb_JB2-2p z1+n(x8KJ_ja1u>a6Lr-hgipsQ@_bq;^pmEVVao4MS}2ZO|i z*1wjwYwU(Yvj)wkND5>|?Q1|x&TXo6Am2p31p-D$(K`Q#RLJmMYk3VofBPpXM06f1 z5$u-8%?Pp&uiiBxz^V+6+YQ`mvkzJAj+H^)v|9rqqw%L~C4vWT&jo{(y_@Q8fr~kH zFvpVEtHB1@dhyU!;~3}if2=4rMsO@Qaf-|Yk|#@ON%86vX4K9`!-1%^h7pkNhWw^- zp6&My@9*!^NYq;W21mn7FSR$%1hi{-wEF_!`;ZjCs*(Wrq5>9CD5AI;qe-CjK$v+o$w(Z5-~L9PE**AN5bU zk+PA@hu^1ERh&@{j2E>v`fd&iwu*1MQ(#gDilLJ^FRSz~lN~T^szylWnx;P|lahcGo{g0cYc_HrVJ~V$ifp8$xwD z-WT}tXTUFa%5^<#;wq--NfBQEE z#=a*k`?@b=PGP2I9`YtdtWKFng{^hxYWIMKZLyx+6i9N$amKyx=OfLT2Jn+eD@gOX zLIIg6P96ggh%ALkptoaRO(mD@hDwmo+V#CM|46VBdG`;r*+oKQPFmqpcpegPCKhgT zu~9mz4<}oU2J*c2$Cf>J)6-(kol`&OD%N*|AkmX0jBgO4r#(=wKeJOM!@>)Si%3_C{g;3^i{{4ODEc9b0Oeic-iby Jp}tGZ{{coo3BCXT diff --git a/test/fixtures/app/doc/screenshots/chrome/macos/index.png b/test/fixtures/app/doc/screenshots/chrome/macos/index.png index 50a2bf9a42f37289f7faf645bac04beb4cc3d8ea..49f9b999c8170f6bd69df11a923ceeae63916ce8 100644 GIT binary patch literal 161454 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 z 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�^81^U#qse#-z)t=|Zp9cZe=yhJ+w*ib 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 OF+XE-y2|uI{Qm`B%(^cC literal 0 HcmV?d00001 diff --git a/test/fixtures/app/doc/screenshots/firefox/macos/index_with_skip_area_as_array_of_css.png b/test/fixtures/app/doc/screenshots/firefox/macos/index_with_skip_area_as_array_of_css.png new file mode 100644 index 0000000000000000000000000000000000000000..c82ddf1154762baaddeb9b7733465d45ed782725 GIT binary patch literal 20195 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 z Date: Tue, 2 Jan 2024 22:07:27 +0100 Subject: [PATCH 228/312] Correct macos ficture screenshot size --- .../screenshots/chrome/macos/index-vips.webp | Bin 161454 -> 20043 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/test/fixtures/app/doc/screenshots/chrome/macos/index-vips.webp b/test/fixtures/app/doc/screenshots/chrome/macos/index-vips.webp index 49f9b999c8170f6bd69df11a923ceeae63916ce8..3926ac6b8cb9e3b8207d5da252e35597e1f7efc1 100644 GIT binary patch literal 20043 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 l29sMZSyHXE7Ti~q8s*cf4E zZsH`F1td?F$fEM)r>v;$^@e>>s|_Qd+zt6p<~-l)7vA6Br<`xT9eCdzrMVyM|JksessPQ? z1l?Xe9JA*L%Q>J~u|cE%X4en{)Lo%f#IuH9cjv1KlcXbzkTZ%7xwPuBca z!3|o z-7YYz1I^HhoL5zb7s*Z^4FL*@Dctocs$Ri%Xck4AZA)7s7cNxN(SN#8{*AdG#qJIM zW65^9vnbb#WQVI?qJXpUP8VEsE-`A_p$(yW9d8d~)U%at9tRg7p_?oHetwu|Rl1u? zUHzfyoM>h+yZTJ_#Aemj*F;?D$1VBLt^fQJ1I!-@OMag7nUk2w>4*GD5i66HQDLjy zxw<`IU|XVRrv#E*aojPV`}s&qmJ$3o(gxCercg+3lAFf>1R_gm0_g47*OSR*JE3w% zWcBK9x&KPA5=GCCw3!7$V@_J(Gk6{na3(fxVxdtsst+e$j0W<&_UEP}Z_~44?(Gx5 zW-HdVMIg}=C5-P7;tfZjUVmk$N{59PZbk7yhAUa(tpc95`@>3`CBal>G+p$ zsnp)a0lpo*ae0R(eusf`gS?akbQtn$hq^;P>})pL_kS<{?@ay|5dX`D|3Sh3;PHR8 m;eUnkf2`pDHcFJfEqmEH=fbhJnOq3?XMEA(LZP8s%>M&!!1#Xv literal 161454 zcmeFYg;N{d`!|dgcL?sZ1ww&BOK~VcD^OArptwVEDei8?D$o{(7D8}$Cy?S$+}+)s zcl(ohpYMG??|<;_%#y>-nVrn$+H*d3MX0GNkq|NvVqjp9yik^Zi-Ca;$H2gSj*kmm zDZSYv!N9=ee=jGe_TIz<1H(PpC$8yLn;Lb9%q!Vp{>;oExek6Sof4U1(n_nr5;(%{ zJwxR9Xq@7Qy-n7I?T6Lj0~4qh4wR0Lv^Zn#L&QAF4T(ut4M(INd(z>28R0qUe@>>Y zewhx(zWMl@?BSQT#|5cv=W$zW!pDvI*Gr7F>MC^>xqi8lnqgasDhJ-Y%X$8c>;`z= z8)B*F4-L16*C8=v zBTV^~U8@aNYAPq6r%C6B-VAC@)HbEJfaMpRZ&$(J8;4PbUOo98Y41o*H;hZbU6wzd zP8bk>QJMUu_IVX}fCLW8@0>9(h^YRam>55j>41ynW?C=IU%UWg-~<2QVo+jYV_*WK zzb6Ccz5n{u0LF~}Gu8*j-2XEN3m8*j{lD|yhvEF!d~@LX-$NNV|K8_+KY<@H4i5td zxbj#?@G)lme~&SNJ7A>$&vn7ak1^B#`;K>a7#LXT|9wX|@a3@oXZ-wcEdWRVqcLv` z3^t4x^0F}ZV-#@=OT5P<-3;)Nlu6f(p z*s$8q&@f>)19~RNk-_Zwg`a$jn-rSWhTPSk* zQq2AFz1z7m*uQP-cRyR8t>_)Izf~W}+qi2VK9(uBedBX`C4lD#i^Z;;W2EVPDt!@k z-Z!_e-PCVvz?I$JsB)v?W3ZbuJ?F-H8@%V|9maYq85--y(7v^IC3sp$Cih3+@&4vL zebtk6`%=aRD(9E=343Jqz8TUvMGGPgbRJVt(1V+UGoNqg17W|(1mG$@-VqynVeOUK z`)zOb4sLQ-QKx}Z$gybjIQueQSH8@L;aW&;!HEQ=8)uj4qSo8I7{1jbNUzDu(y&`k* z@xDH$^1a^R^u1jnxxGE(xn5%Zym^plkbRKYRNwZ-?=qa#_ga=|D{X(_N@l68Gwncs zxb93Q>gJZHPe52L|m|e(>1ClWp;9QD++){8~ok^u|5% z@hq@A$QiCkOEy^JzTGhVPUMRFBoXs7ndjgVL|Hn^#=peO@p+b$`;xhyzcEN>UniOD zN9bCJ=3-qDdCDbW{BQMrlC<_0d(dt1*{G8`mS)Ezm2t5-|Ay`{>zh8jaX)kNS=w0+ z@CEbRqtH0L>8Ou^Minv(1b!VM)lF>oSGjQHeJRttVxRba9`~vx+j5-=yUA7^x2eaK zNL0X@*W6JgEZ&UJ(zc0N(d)Kb zh(t^>lrhy&YR((}5L7i!YUP__(pN~>2Uq$VM37|WJbgxw5A_f;TKXI9BXVVoqG~*?bn(|#_zS4cTzs< zKtf|ZWmtI$eyv&2Jf2G*8l&>K*uGt8%JWf4A-tlel9ZQ;!Kl2H{^6ptxwWa+CHKCw@jKO(KY)(4_}%iXnQw=}sUbbQ)5->bvweb*q7 zopbZ}DN{^Nzxsej4t2C`FCxDwVzDa>EwBZ-{c87f%_YitGCGT;A0>P)&pfxe<2F)B zn#|nnSOh)cHYl3*)X8rn85cLuT$?Zt(iq*6Fs!L$UbUVyf5}qy)!o3rin-nK_tF!Z z&iCsB!60Migl?B&WDDd7-1DTMo%Lha{vL1P{2cL1i%l8g?){V(_g0hO#sMA=XtXtq zO3wS4ByarYzx8Ut0dLo?qU0XQ`q3$DI&5GXpY9GBNYt+`?6T zVyk<`l+i!rA*c5jpBS(|yAkI9rOL^%!3Sx#sBfE{*ByAOdZn`TWsVo9Qi$QObud?B zN67iuK7L9w#hHVtpS?RRz zJ>D+OC@iTiuiKv#clT*g6j1_H&jvvn5~Yd zSz)Z9LmY@x@rVrQGtWgHNu2o=FCX90ocI-QZ#T8HAITWfijw8=qa9G*`2;%tB=J$j z!mb3T_XRrRiRF?TZHTM9sgk=zLcJR4A>E^FRVz4P9f6EuBre78e#d8q)P+i33*{^P z`OD(D6}1mz@~A5NMCPk6NJnd>n^&>>i|=e?B;|4(*mr|OHRqx({nOWZm|XTymnp`4 zqi(I70b)b?sx-u*z}?6vgWj+`GTDMeQDH-Jv+zUv?vp=V3n)A zwi7fb(~&z*VS$lj>g7n~*iJp~=zK?yMxv6^DGnZ3jDdULYyr61qB z)gaI3l;95p#N}f;Z-Ub)6^8PSjhIW3e|zg=I(DD^YLn&uQ}Nb3G}e`RbnydovC%Mr z0J(h*t;;_386M)ku1iuyyCcJ0G1f{42UY|)EAN|3xIOyYN1D{Jmo6w#*IXmg_X!+PLnZc9W7_;wk#XdE$z0 zicChc^Fyl_&Mid|Mf^3UBR#823OHMO3&vh2s#W+$98M=u(Ts-9p4&GI)pzLJeXN!odCpI!443ejktZa|28?~KOl{_o>HH#cQ^V+It?N@ng_b4sC{Go1*O&>Dx(k9{B&&kp zTBguwltu-zJ7oJU``9S#I(uUC*^FmZ#ED7He=e4pb5kM&@Q*6jfmtk^qPtRrO=tr7 zoO(s?RUMZs>4z$LFXx40qJ8IYTDV@vjGtrN zq1_fwf(fl{q|S-+s^*{>cs}Wn7>78K4qFk+*h49?Q(4yp(N)1mz82JpLznTXb2$)@ z6V40WP$stnTukU5YEB06DI-#DEv(qFe=UQsMyf`y=7wt4M3nWIki|HyA5S&+0Hh>U zUP2kxceZ5H9CtqBcz=0T?xlhxrIj07ei!N5VGj&ptdoqXo0*8DU>&_ZvVeei`}%?g zFD@QCrja?PU06wmS8yl!-_xQm#qW#nF6K45M`}U0bZqt{xmUO|!bY8`_bKXocLF}2 z+jHGs()$Sp@~`_yaP%2ED5?_2i?31%70`wuORG9oOz7;JH^oO`Ok2r(4o9K~hoB|9+hMGkXY9ZzHq7~OmHHFU%RK_)xD$x^K5BfS2g5Ed` zH!$8(_=KzOC^@O7iE>Gy!CywAx_`}Z7y1VOSS1~Hqt3Whe2lc)le=K1)vakDK#4qC zaH=C3`k@y$R89Y0MJIlwl<{6c4s?bhXmV7DT5|>h(U9Tz)IsrGlDn|NLb=D6qt7D| zL2H#%vZ#$8na~o+HC}yH=t>f?W&RLWqRPt)6(Tpzs>@z>wB(c%AMp~>W$z3^lLtqr z6KRM(%Z>ZZF;UZ&PwDscRv;MsC=X6&R>O3|-sy{Yu8?Q9tX#LbZ?xqd{SQ)=IX6*7 z0DpZ8>TKw67;< z1DJG(*)`a@EjXd{xC(Tg*1oH{=qr zC-VarvLJFXT2X?z{W1I~zo2h0dS4ITz6lA(UHye`7BbIvyzo1FMJymV+K5boP*M^w zj9uc4A0oBEY7;CWL)M*82V2I{sb_2zW?!|t(F|Vl!{h9=eWVf5s_6GKp+A!B zEE~W3PmWqGf0dCphl&VA?s3%B)7QYGxe>MezE>=S-DybM2d1uVPks_f#7Jw%Qq{x? zX&F_>ZYdiz-2SL8EX*ShVR~0Oc~U4EdbK$j7b{fGS!b_hyROE}`x;f!waavPZl(;u zec1Sfr_+y4|2qK;y(VONV1_WxRVlbk9i3T1UP{%B9$uDd<=peS4D-FDxzmmK50<|! z@)rOKAeY(+_MqpA^$_frAMWe<;wf_1v~ARATYvHU zIVxa}gGK)ucg)9=h&>DMw6l?zzL)3|JJM@IpAaYV-HbM3qJ(&-_{S5ZEH1_}iTwm~ ziy45eC1$XTh_dkCBrCq2^csn0f4WQ3hZnsxFUCjC-bP&)duG%fz@IYAS~7BDt>LTQR-mG=etqtpQt6CiY2+qot2GhA`PEXT~6l zeh3X1zeM8wy=RJiL3;BLIxp|A6^oM@aARAfvlB7e?MVwE@7#q0zJB-##j6s&(dRyz zuJxjE<{uk!L&uYh!?WH!+~*TkG9A&ruTjJK>nEuoz0`hDTM87zETmQzns74>ag-Dic%_PG-fE7 zme22rWgE$b)o$37Xc*WQYjIkoJQI?YDQuZtd8iSwXD7Cg!&R?1&v;5Bn<&k}wi(1Q z=QwVwc8|mK43~b=VU{~zWrJ^VCIGPH)FR__S0Vs3#Kt*fn7EfI%W5AM|_n93X~uk zWPt+F^I!VY2{CObI(e{pOJ9X-6EAugXLxWsbYr$D-c+uo*@DlX*!UcJ!VIe#PS1F94>VREue%o+C#2*~^KM=@RjhCMNA4kaxxCg_ zsl%cIrM4TrYR@^6Xc0=ak<^cwd5zWHE;59ZG3k|0C^aRB1}CAhwFw#}GgFJ-(%PX9hYOxaDWrZzay3WkeDH zJIt^%u|92%Bl|8D$0y%b)VU1%`B3aW!BzN?ti3~zHF4dW;})|ys{9FdC7$WG3->&* z-?3`N$r4WRHEYYvn&^eqmfV@8w|Ylw9M;evt8pa`q^6=%z{JJAYuMXjBe7KaRH92~ zFQr(-MS^X^>fmR%z}8yqdA0Lhklre3t3s7-vUkVY>P`dcQ~OJt0S%>a>Io0xcPR0= zdm?<>CgqL+{T)=Tdx=A`<5GRV#!^5g6*smUxo@RZ4f>X+N|ltE*uri}&?8CPx_%9z ztBX*2w?@-Ezb#3ZnwC=w*V=@D7&$8rSnED(8ov1i6cZhCPVCcr!ZU9PdCeNOhTHq4 zNUAuE56q7ALHN-=_hRFC9P3T2@*}s)**d=_lY9>V^atQ&;X{QF^&63NZVKqhsx8 z8?hxBWJgIg%SK1XOziwIV+#2A7a8>1`b()X7u`6{r>6L3by{0XsW-zebgN%)Bu&!{7gZ~SND8U41aMaJaA zl;*xA0T{mWoG=QKAIpTzf&I{lsf(kVp+_XInKil_9!B`?@M2mG1&IPbszgF(_=vZc zwXKY(eGsiqGcGP9PhhhDAe)z!8HBM=cYXJuIJ${ni~Rt^x4==j!!IJ*a~yKRy6PuI zI5JqfPOAg8^bQhAZ~8k4J-M|7R?A@holYj!L-N-9-KP05E+5P&=ZbFv)8tP;j)T-> zRv=cXNn7X)*+{Q1{q#U9lL+j2t19i{fW1G`%{TL?QaUa-K{K8Y#RF7U~RmI+1HE#uSv$I%Lh$Go9GdYI3hf zir8?o5+`(RHR_VIV|T8lRVn693nvj_HvW}c$&YUFIg)}jhjGb0fuL{Y9Y^&CsZs{j zjPeIG3c?l2wbMc2Ki}hYdIuY{<5lA|p$PT}990$Dm#W=wa9a}fIi;P+Cs2B5@UEin z>NlFl_}`iv|M-kM?dNXxuq*kA+SKOOwaf|riEdFASv7g6wlIwK2d-)H(pNQ9f7!EZ zZo(m1T$u@CzVL)vL-MVOw5dNwnFB_yhY1)K4;2l*KD0m=Sv^;Dd1{M~&~}S(tapKfzlgDw%+g1@ z_0Qjyy{f)SS9U?hEh&9+T2}sch97>3lU7W&PwWwO6j0rQPSVj>=?Q3&L!${(Lzqd5?bHG|98Q81Vs7q1dJV)+Q>=0rVv>=<%>kNSl?U=i7 z_8KP__~cW#bmC82OyN-sTpUGiN5agT;#;iO2mc=;an_PdUI_(&>X*FZw!QbIAjW=g z^}yF0jbSA+*mvG<*77y|y5HMQ<0E!ZT`VLgSlf ziVtzEP)oVrZr>FbN^Fac!LoLfR>Q=faDhy%+B}EY88neOd98x02gTKqydB~N%X1ZR zVZ`>jnw&3nVwuy6b;B@_e~q* zRX3iRU(|9Ah9^C-7K>nn_9MORH-J^s)8P>_BIj1&}S>+-*ZofTu9!H zWi$$O<}ry%;P(&k$lvd>qi!&+>qkx2lUol9oVwveOi(HRW|q?!^k*RWWS|$(9*KdI zSlyg8K$s(tw4jwh5EE`9^T{YMtJXy{-ZnEDlc(6J|F0664iztp9 z;clv7O^Ll3@DN}g>Fq@ecs;C?3I!B^@Rzs2=%0J2MxS=nIoYDN4_DtpxmKIz;@)Sg zxlaPIQA)u3tS6m~^6XLtHEeo*YN6Pf9PIE%tF;s273iRh^Q=bVA-FuIz%r$s4#}&@ zh%~Dt+4Q>PXPxx4X3t0@hLiuF<`TtCVdD#gvHP|F*bv~@MYR!o^p`Y^3#@Q1jI%fq z(TyjCiqOAOgSFf2SoHaMJ!eQo;}euPuoh*IiRF*jO?K}GGnJ)V!J{-bD`@-&!dQm! z$@G-vT(gSj?pLl13j}4{=p`n$m(x#3ubyLf=aN&7QH7B7QH8=9o^kO(K$Tqt+@PJd7+uQ9moJ{pFSTnnD5t$J|X%OoE zX&QZS_iU$D%}D|c%|IHh-Wusd$YPmVh&%t-oNj)TFJHlNij@3sm$`It_;DUT9lPM? z@O}oxm%DMEA78U5m=0AF3ZT^#R1aQ#fl0~xsyv_sU(XxV>qno9CL09LG_KJO|uC4~3KkL#m1C59t&u$J3HOC8EI$G->n-@}KInJ003>m7@vbXH<{3 zOdEWk0W4PaQPt-e@MiINDJ~HoSa434@j{Rh8J7Y^u6+QOIhd*P3bMLy@}Fk!CGF+I zjL4RFnOsupKCd)H3@FE&%R$dlkvuJt4a=3>&PmkW>lLE zdYI?3K;U8G2PgWdA>4v~G2CTN7d7@Uui~ttkib^kBBFxX$|htR%-#)&fyHGIfcmP% zb5=jppTCSVw)@^kpozXo$cWVI^a9peYRo|)w#R`VuQ8VmHWVF4uyu3mVh%eLsYRAK z8XjWMc0bEgC9L~QTq5mFzl}}XHtELxsGhdD$6C6lVXbY_9#aEQL04aO7YmFiyXXPJ zL$F`&S9fZ-@vqddFH@Y2u8f7{_cAiF@P$=U&^)`c-m5tL9dFu1u1NqTZehMg7LYOW z6g8N{Ww>V=4(;_XQ%wU)g1yU`5 z@PPRSL4Bo?g4{yIWX%9V9ZnI^62NGwr&1`d&ImE%)$t=!$&0w+eu#Y3Euqo05c=ON zfVrlXT~=`+4#C&ieO~<>Mc?fg`T@3%xZ{*%Ogbhc!$-^!yfCz}LF6+^g;D(j&m4Dy zTNUYDke@`VZK(fSo%T^1h(?14*2>K45G(fkRLMDZ6E@w1pthj(j+XphBA>f3`;k@Q{ z<2;5(r9)WML_HOxAR)DqflTci+guf9;%x?_t zwSjCbYi1MoR6aYgiEPys5o(7S)T(t%f7;~xNc}9}Fl3=+ z<4o9+INL1X&A`I0ZhS=ro{oPv9JIKpgRm)7bacjA%u{VHYbFRAiY^hh6B|`})UsKO z(xR%w*=kKRG+BOI;@b^K85k0j8it9)>g`3%qu*AHcM|eQSqp&zD}wN3C&hx@YzfoDAZBJTWb1CkLcaEvv18^4w9*(5!A0LU@nYkaUI9OTHOo#5&z!GrxL?fl zkPgDuO3p;*$&ab6LEkJ&w>{d0)wcVvxnp_nnTO}pI!g|#HKxK*z8My>^sd2guTEq?(eq zxd0*9F6+`t?1!B~M&=RmqE*#=kC}A|4K7%IfxKKTTE65ksi^DObE0%~94dQ#WxR09 zkUa?82Ym(q?SSeF28n)pPn<@n^YfW~$4FR?{Oh0-?|EvlR=H5z(&+-_=5N?WwrB6a< z5a5%=ua!ZhDY_X*$!pOGLo?2VUOEi~(svv>*YeW>wXt5OajgjfO~oG1|9r#Rx|o(( zoXM=Rb7HxbFY9ITz;1@Oy=?8h`!rR|Dqc?9@H+7vr8OW~x1^eKRzJ*F6S+ORPrqRJ zgCNF2d+|ez@buyKyq;-nI&VyPzN5TN5W*AhuSlG)oxqoArO8p_%k@&HP3@0%OxI9|6E8I4nQG>I2Wxbr?v5}9u5h4wyPJ2^9Q1wl}^h3>)`E01CQ` z$=U%6=x1C&WJ8WV(m#Y4o7I94hf>k*0Rg-%TH6UJv-6k zW%>aNUj()mLeup;*@jVZgLTEQ9=@E_@AK_`4eBVOkz9^Pw_=1{;?TLt;L$A?fY|I@ zU94}YbQ~qJTY5P$<@Pcz_@Nkb_>+)!psPP09Ujl%bCveaL+AYmc=^K%rz6IZ4dF!- zLBky>+|`ZrD3LMF9Fqz{4f&Bt&dL^+Tt4f#sai6#0zrf&Qt8Er`p>mkHV#L^-IlCz zziiED?f5LPsl`1Vy>Z!?l{lk>k-{?=EkS4RBtA`^SeB;w){$CB4Flc~A(0rRsqNHS z0O8CznGdi#J~jQF9s*>1M!w6(&`r42(sKFWE>JxSM=a~>^7{rKcHj9!PU3<>nK= z!%>2&W@;E{{R{*F5c_+#xp71CzTp5U=(ENCPYKLu+mq_I&YB_MNM6>=^lKicm!9$` zNI`JTFFj)^FN&{E35tk{9QU^$KMUWQRAox~%JinJ&}X$aZY;V{4)rz(Nb8KcArL7f z@SY9b3|4|eGeoPro9%DIkb^Fbf9@r>_Zr_LT8;kjjr=n1|D7o6;QHJJ5hoit!&R;p zLac>Ox)F*?#{%_Ds<>O9G~HDQQVCV3@2MH3GyY<;zDU+SRru`?Lae%82VJ+WYzyJ{ z&LGmD+YAC3eDS@H9)o~38%7Fh)fDhF?3;LFa%e5C!yMUtF}{bqarkvgW2G}WI5g?e{WBaYO=N+%__k>0`er50!&5B9z}jG?2jxCEKNFWp(;FBp~7 zj;Z@DWAnB=W@4^3wH~=}LK}(UXbjXe1uIz8NJoSUYsf8sAhAA%WLugH`?vKQeS?2- zU~BIrHPn1;vGXo0Ba#ovDJw&o!V0(xu1q_jK)PdFbTkN1Y>SP~UX=<`G{`(JwRT54veg&@NHVuYUewgyI{!8p&%~# zS|dVKKhL#)I|Te0of`M8X6%&2n`e~vf0a9fe&ikgX)_5?H~G=Js_WqV9Zl*7rOcZQ zJg354+1I^_!Eo^fNQe|fA>@k~N9GXydzVh=1WQz2N{D5Re#GjQS+y${)f>>u>SB0knm+~E}sS(&(43D`?g75>e$bjKj~`m z43?o|!MB}GrdYn!N}c(EQ_8ehK_=AL?stFpF4bw0JtCex4=_-y**c@vyMg%N$oEza z0CBtJ#}%1{cbLsdB_Ddkpnn3Sb5r5{3FjB#VfLm2N+2=N(lktpH$+_W%!a_`x`H2M zzAFSX`Usyr)!M6Lu=deF8iu4Kialybi0Xe77{NexnBsn|8p8Y6`{nr%&%o|v!1D(5;k}hL1PbsyexI0+t@=M#$if*QFL&uaIq64Kcn9sbyY0t%XF)(hCcF| z)#Qpp|AzW}atvBe_ML4e&v5#@SXw;xOhAY@W)`LoCNlYBTM`e-^GYbQ^K^`shcoTo zGG5a{K$lR$(sBpX8av?#bF*q508;Fj!dsH}LmHP|N3_UiL~;L!{R*V9da4{%o69fZ zjE)B^X_p0r7nvlamLg#vhyGp_bix5-n=(>;luqu(nw_NFj=Rlw)Ou4vrBg`` zE2rkvuG@pN)-e#XZqV?vs;t@tQY52&W=R1>)vjJg+ZsjnT`O}+|5?_~Z~dopGC{R{ z_y-q~)EX{qS^M`EpKwv6p3}@4{SjRh%Wvh~a-F@i0)W9;#P@;rAFkhWRhi0WM31w$ zk5hP;-BvtwnyxS_Bj?JPJ?y@bM^~H-xvd@i+?tMKLX$_VKTt7Xg zGxvbvb3x(4pNLW-%}qw=ICapM&>8&P;?BWGoHifzaqF5x9-nDrP@SQQ9Ylh&5=lnS z^I;DpG(M}ZMA>c+jrL3k?`GR75jXRou@m3$7KWZTb zM+*Kp%Mv-2-FflW`0N-Uy-C-wQhUJ)9-Q_4kK-=y?`l=OA zq_udw+X_!TI1@X9|D@3v~HpB`Hc}llWz%U$GXr194wgO zQrr}Ij92tR@fA5~@(yk1Ef!G4QB6{9**8Lx&aBpzb5Q0NOwYPY9;a+NX1U+(U-;rE zs&KMz3G*i&M=aUNIjRdeX_InR`U+1I^)CD<#!}6QGFo`T+ObOnSP#U{QnMZQD?_uY z_%x8E(Abz+jpEa%p(Rrgx>_GR^*06Ts2{}-#%b*R%W7!QHabx`a(IG5tFd)tQEIRY zH5)%Biikh>QE7^>Lu$%0rFd@->Vxlp!e3tm1IbZ^8-M?GH$dk6sB*;;>9QUC)$Vnq zG>m=hrK?8#SpSefEgT50-Hf1P0S_hZE3szyR!?)|yAaPyT;KEmTO6Y7fK^*0Sk>jp zoY|ZS+}dqAttMCCF0twQqxY~(A~W$aiLZx=fsCr`EKFlbhKa$V_NC=Wy5d7iX3X;E zD2`VJ<&H!Ku6dT{aD;KTjSQJ?kFVmEX$F}_4|8uiYd@QPW>P^7@*YWhW4B2>GrOrs zj86_Lpi5zXa<>zCI;LO}e1_=OjhWB~Bb02c1==YR6n14?xzDJ$a_zQGl z)(^-_KkZIC&CoFf*l2F|Y~P#}ZLw6zHywX=P0QyH5Tg|n;X}@g!!LxG^1te3EvFgX z^}e-3V|@XZ{dP%abkFlKl~sxJ1}sZ7f7JSyft#}9Y!n|} z>f*qKQAwITES-Jjkld+zH@!Lo17(|vwsBP$`1%z{PAgjC$( zgQpq`gzucL!-5hYY@@QihOxh%rfnUUW4v3St0(V+b{C7F$Y&Ks(RR))4YXVb^#WK0 zDR4CRwxatYBaT9olHstIF1a;rl60=Pul$2IocB+$1NnU*K#B!NzF{N;%#u6!5SiDN z3}C_uy4+pL=*3#Afm($3sFYcyG$STQq1=x4A1m`m(S(*ybJfWHwWk!>Ga!rg-SlRf z6I&uDR0*nv@Ak)H)72iNZ9zcVXE-|#D*)t@^!xB(1&yg?s=CVNYFRz~jYnc+O#tCU z07Pao>%|xE!aePSEygKeUt1T)r&|vMO`cUe5A&9yLdMAk3ELLyPG!Wj`2HaQ;tzO9 zWV3)T!-XHd4$-}Q0+=BX=n6LUjblwYt%sQ&cTrPJ_9?i0<`JqwM{~flfpjEVBu;%O zEI9v#{QU++) z(&vG+3~trDER*C|4rBiTG5=L6qJ-&Ca$U&@J%q=*>YA$-5c#$27n#Po1RU-Ek?8`6 zR4CsAd$&F$|L`6w!`MKMKbk|-6UKDKT`%yljniFsyPLc3oNVb^C&p=-M}$w#70OMi z-HU3UBoQ-|!10k3cfOs1iW2zcloW;fPUPo_XX7;1{_u<_!<9M=V5=}%ts&3ejZ)x) z#+tLdGF)wZJ^U6_``8tTC+>L^6Y2T`B~;Ao2pECiII4RvC-~|HJY_J(_Dr+#v*q$P z{0U#32RBh&9jG$3dC5Qg{i%Ph^~nc@-IhQ5wdXXu>_rakKIDB~K+J8lYOB_}XG4R% z=p8*y>6nY`cdDUx(mA}5^|uL|ieu>gkN~~5wHEe&(T-n#X@}E}Fko|L*v)UfVm!;( zdp(%ZVXoCr0Jm(3bk*vqk(D~jzMVc`JnX0-ez7hGdX-=C$%Ll-fcdcF!{=JTf<4y^ zR?f_(jE0`oCUWG!$TUAK(hF4t0quZo*d(5#4NeB^y4<{fWZC z=RG{_W~v-wRjlt6V%5}qiB?W*5s1C#&=sGbtE8OZ3t_CRoCOMTf~s@^_$;lGgPa zFQF;fu02+#Rk2bjs#ImTHJy8^7YbfJK<~FtSBw=kNpcCvv-N-eGb#Z_040I3%brzD zE)zQbk>bAj8K-m|W63+ca8oyK|4BmF|3+S zhA^$z&DeIXjq6$pE3;8kk0(&Tr>NEvNDh!+iG@D7{k*6fV=}jqsMWO9xLKXas(EBq z1&9#Z>q@L~1A$T`WhOS}g)Q28g8$43%=H5K;CiNOs7rdW)|B9rSvkPQ6SEo8pIWbd ziyjK&F_!}|mx<(R>V@Ri*9f#xA1dA@C*1%smwNVsTJ`Z!*?|+FjYEvGjFnAzkNuM~5NP9A9(pPX z(O;+@Lu{@)jN8Iyrq2jdp1ZeNw`X??f>_%vWFq$bAX?XF_^-~nQ=2sX>b{6a4~%Q> zH=Yx&VQ~Ro&Rd_m@Tp=#+-=Fx=-#U|!x_>7=a6X&4`M)4Lo5xu2~JSyMiCixdVjq;gNL;Y|Cj9mlQKJE8Q55VoVi}Ll}$}ev-kTBK_MFmmubfq3a!?>v9YRdB180LT|IHO6=~3 z0w@l2HBFf3V!L^sQaRhYiv7l6-bP0CBBpg~5$8HfpPkK$LE1>@vEZ)`qvUTr>_Yw>FO#H5cmZBrv1_N#xP5JI zU)!`=NaOH0nIpex`14SLW%ti~i{mk#Xnv-p@NPOqyNxH*W0mYp{CF?EHikcv2#j0w z!RHeXKJO|+)Y62;Oue(*Kq&Z5Fayg-lAlb%HHt*pAtWMih)zJ6zgq&hVj!p_QA( z>01u$a-dMK{~*FnTc8q&0^&@M$`LfNBU;=q@9}oc8|jsenTyNf2Tag;-Fe>RlQhbrPWZfWXNetDZ`|$j zUQ9LFeDD}PP(pd6AfSl_$m3d!*WdBDvUp{LfCD>#9wuSqq1pamF#kjEK!as3cRg>i zxqUMHhzklM0vUFW4Lo5Qd5xd$EUD+5tyJ<4ZvC6r-HiP@V3t60oe9uss8i73+hF$m zxxrz@S5el=zOfP@&0QVdzb7_AQk5<%|B#F`E1gkc#FqPg{l{%jKY4g9NAZUTl7zPN zaLd?mBnfwuBYsLOmcx=ScvIV2P1i-;dry$Ew3a;ahA#JBRUA|!r00j_Pmx`v*E8Vr zFItNZp#-iE@|#b!_+TX)L#5vhLzoCk`60B0_TbrDz9gkf6zp+#WS|`rkd`K3&-G6Hh)0^$jY>S_ZM_b4RvVGGRSYB zL5};Livh6O|ErFDOW!Z`g6}|x5J?0tzg9#TS29NWF8B0|e-{w{`A9SCdHI%gh)-E< z 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 Date: Tue, 9 Jan 2024 10:21:50 +0100 Subject: [PATCH 229/312] docs: adds details about screenshot format settings --- README.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/README.md b/README.md index 3df4c683..63cdec01 100644 --- a/README.md +++ b/README.md @@ -576,6 +576,14 @@ def screenshot(name, **options) end ``` +### Screenshot Format + +You can specify the format of the screenshots taken by setting the `screenshot_format` option. By default, the format is set to `"png"`. However, you can change this to any format supported by your image processing driver. For example, to set the format to `"webp"`, you can do the following: + +```ruby +Capybara::Screenshot.screenshot_format = "webp" +``` + ## Development After checking out the repo, run `bin/setup` to install dependencies. From 690af73c217c4e37bf89c2ea064e33653f73b711 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 22 Jan 2024 14:59:37 +0000 Subject: [PATCH 230/312] Bump actions/cache from 3 to 4 Bumps [actions/cache](https://github.com/actions/cache) from 3 to 4. - [Release notes](https://github.com/actions/cache/releases) - [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md) - [Commits](https://github.com/actions/cache/compare/v3...v4) --- updated-dependencies: - dependency-name: actions/cache dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 3769e59e..81504e2b 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -205,7 +205,7 @@ jobs: version: tests-v1 - name: Cache Selenium - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: ~/.cache/selenium key: ${{ runner.os }}-selenium-${{ matrix.capybara-driver }} From 018023e170c31d5fa68595659393a069a558b178 Mon Sep 17 00:00:00 2001 From: Paul Keen <125715+pftg@users.noreply.github.com> Date: Sun, 28 Jan 2024 16:07:17 +0100 Subject: [PATCH 231/312] fix: prevent nomethod error for case when skip area is outside crop area (#103) --- .../screenshot/diff/area_calculator.rb | 56 ++++++++++++++++++ lib/capybara/screenshot/diff/drivers.rb | 2 +- .../screenshot/diff/drivers/vips_driver.rb | 2 + lib/capybara/screenshot/diff/region.rb | 28 +++++++++ .../screenshot/diff/screenshot_matcher.rb | 48 +++------------ lib/capybara/screenshot/diff/stabilization.rb | 0 .../screenshot/diff/area_calculator.rbs | 23 +++++++ .../screenshot/diff/drivers/base_driver.rbs | 4 +- sig/capybara/screenshot/diff/region.rbs | 6 ++ .../screenshot/diff/screenshot_matcher.rbs | 18 +++--- .../screenshot/diff/area_calculator_test.rb | 24 ++++++++ test/capybara/screenshot/diff/region_test.rb | 10 ++++ .../chrome/macos/index-cropped.png | Bin 33963 -> 3330 bytes .../doc/screenshots/chrome/macos/index.png | Bin 161454 -> 20235 bytes test/support/setup_capybara_drivers.rb | 4 +- test/system_test_case.rb | 2 +- test/test_helper.rb | 3 +- 17 files changed, 172 insertions(+), 58 deletions(-) create mode 100644 lib/capybara/screenshot/diff/area_calculator.rb delete mode 100644 lib/capybara/screenshot/diff/stabilization.rb create mode 100644 sig/capybara/screenshot/diff/area_calculator.rbs create mode 100644 test/capybara/screenshot/diff/area_calculator_test.rb diff --git a/lib/capybara/screenshot/diff/area_calculator.rb b/lib/capybara/screenshot/diff/area_calculator.rb new file mode 100644 index 00000000..a9e2d79e --- /dev/null +++ b/lib/capybara/screenshot/diff/area_calculator.rb @@ -0,0 +1,56 @@ +# frozen_string_literal: true + +module Capybara + module Screenshot + module Diff + class AreaCalculator + def initialize(crop_coordinates, skip_area) + @crop_coordinates = crop_coordinates + @skip_area = skip_area + end + + def calculate_crop + return @_calculated_crop if defined?(@_calculated_crop) + return @_calculated_crop = nil unless @crop_coordinates + + # TODO: Move out from this class, this should be done on before screenshot and should not depend on Browser + @crop_coordinates = BrowserHelpers.bounds_for_css(@crop_coordinates).first if @crop_coordinates.is_a?(String) + @_calculated_crop = Region.from_edge_coordinates(*@crop_coordinates) + end + + # Cast skip areas params into Region + # and if there is crop then makes absolute coordinates to eb relative to crop top left corner + def calculate_skip_area + return nil unless @skip_area + + crop_region = calculate_crop + skip_area = Array(@skip_area) + + css_selectors, coords_list = skip_area.compact.partition { |region| region.is_a? String } + regions, coords_list = coords_list.partition { |region| region.is_a? Region } + + regions.concat(build_regions_for(BrowserHelpers.bounds_for_css(*css_selectors))) unless css_selectors.empty? + regions.concat(build_regions_for(coords_list.flatten.each_slice(4))) unless coords_list.empty? + + regions.compact! + + if crop_region + regions + .map! { |region| crop_region.find_relative_intersect(region) } + .filter! { |region| region&.present? } + end + + regions + end + + private + + def build_regions_for(coordinates) + coordinates + .map { |entry| Region.from_edge_coordinates(*entry) } + .tap { |it| it.compact! } + end + end + end + end +end diff --git a/lib/capybara/screenshot/diff/drivers.rb b/lib/capybara/screenshot/diff/drivers.rb index 4fedb3e1..70097466 100644 --- a/lib/capybara/screenshot/diff/drivers.rb +++ b/lib/capybara/screenshot/diff/drivers.rb @@ -5,7 +5,7 @@ module Screenshot module Diff module Drivers def self.for(driver_options = {}) - driver_option = driver_options.fetch(:driver, :chunky_png) + driver_option = driver_options.is_a?(Hash) ? driver_options.fetch(:driver, :chunky_png) : driver_options return driver_option unless driver_option.is_a?(Symbol) Utils.find_driver_class_for(driver_option).new diff --git a/lib/capybara/screenshot/diff/drivers/vips_driver.rb b/lib/capybara/screenshot/diff/drivers/vips_driver.rb index 04a16d09..b166b611 100644 --- a/lib/capybara/screenshot/diff/drivers/vips_driver.rb +++ b/lib/capybara/screenshot/diff/drivers/vips_driver.rb @@ -50,6 +50,8 @@ def filter_image_with_median(image, median_filter_window_size) end def add_black_box(memo, region) + return memo unless region + memo.draw_rect([0, 0, 0, 0], *region.to_top_left_corner_coordinates, fill: true) end diff --git a/lib/capybara/screenshot/diff/region.rb b/lib/capybara/screenshot/diff/region.rb index 6130ef35..ad3f3e0f 100644 --- a/lib/capybara/screenshot/diff/region.rb +++ b/lib/capybara/screenshot/diff/region.rb @@ -83,4 +83,32 @@ def find_relative_intersect(region) def cover?(x, y) left <= x && x <= right && top <= y && y <= bottom end + + def empty? + width.zero? || height.zero? + end + + def blank? + empty? + end + + def present? + !empty? + end + + def inspect + "Region(x: #{x}, y: #{y}, width: #{width}, height: #{height})" + end + + # need to add this method to make it work with assert_equal + def ==(other) + case other + when Region + x == other.x && y == other.y && width == other.width && height == other.height + when Array + to_a == other + else + false + end + end end diff --git a/lib/capybara/screenshot/diff/screenshot_matcher.rb b/lib/capybara/screenshot/diff/screenshot_matcher.rb index 740cc174..c19ae376 100644 --- a/lib/capybara/screenshot/diff/screenshot_matcher.rb +++ b/lib/capybara/screenshot/diff/screenshot_matcher.rb @@ -4,6 +4,7 @@ require_relative "stable_screenshoter" require_relative "browser_helpers" require_relative "vcs" +require_relative "area_calculator" module Capybara module Screenshot @@ -27,22 +28,21 @@ def build_screenshot_matches_job # Stability Screenshoter Options # TODO: Move this into screenshot stage, in order to re-evaluate coordinates after page updates - crop = calculate_crop_region(driver_options) + area_calculator = AreaCalculator.new(driver_options.delete(:crop), driver_options[:skip_area]) + driver_options[:crop] = area_calculator.calculate_crop - # Allow nil or single or multiple areas # TODO: Move this into screenshot stage, in order to re-evaluate coordinates after page updates - if driver_options[:skip_area] - # Cast skip area args to Region and makes relative to crop - driver_options[:skip_area] = calculate_skip_area(driver_options[:skip_area], crop) - end - driver_options[:driver] = Drivers.for(driver_options) + # Allow nil or single or multiple areas + driver_options[:skip_area] = area_calculator.calculate_skip_area + + driver_options[:driver] = Drivers.for(driver_options[:driver]) create_output_directory_for(screenshot_path) unless screenshot_path.exist? checkout_base_screenshot capture_options = { - crop: crop, + crop: driver_options.delete(:crop), stability_time_limit: driver_options.delete(:stability_time_limit), wait: driver_options.delete(:wait), screenshot_format: driver_options[:screenshot_format] @@ -69,14 +69,6 @@ def checkout_base_screenshot Vcs.checkout_vcs(screenshot_path, base_screenshot_path) end - def calculate_crop_region(driver_options) - crop_coordinates = driver_options.delete(:crop) - return nil unless crop_coordinates - - crop_coordinates = BrowserHelpers.bounds_for_css(crop_coordinates).first if crop_coordinates.is_a?(String) - Region.from_edge_coordinates(*crop_coordinates) - end - def create_output_directory_for(screenshot_path) screenshot_path.dirname.mkpath end @@ -96,30 +88,6 @@ def build_screenshoter_for(capture_options, comparison_options = {}) Diff.screenshoter.new(capture_options, comparison_options[:driver]) end end - - # Cast skip areas params into Region - # and if there is crop then makes absolute coordinates to eb relative to crop top left corner - def calculate_skip_area(skip_area, crop) - crop_region = crop && Region.new(*crop) - skip_area = Array(skip_area) - - css_selectors, regions = skip_area.compact.partition { |region| region.is_a? String } - - result = [] - unless css_selectors.empty? - result.concat(build_regions_for(BrowserHelpers.bounds_for_css(*css_selectors))) - end - result.concat(build_regions_for(regions.flatten.each_slice(4))) unless regions.empty? - result.compact! - - result.map! { |region| crop_region.find_relative_intersect(region) } if crop_region - - result - end - - def build_regions_for(coordinates) - coordinates.map { |coordinates_entity| Region.from_edge_coordinates(*coordinates_entity) } - end end end end diff --git a/lib/capybara/screenshot/diff/stabilization.rb b/lib/capybara/screenshot/diff/stabilization.rb deleted file mode 100644 index e69de29b..00000000 diff --git a/sig/capybara/screenshot/diff/area_calculator.rbs b/sig/capybara/screenshot/diff/area_calculator.rbs new file mode 100644 index 00000000..5cfc90ae --- /dev/null +++ b/sig/capybara/screenshot/diff/area_calculator.rbs @@ -0,0 +1,23 @@ +module Capybara + module Screenshot + module Diff + class AreaCalculator + type area_entity = String | Region | Region::raw_region_entity + type flex_skip_area_entity = area_entity | Array[area_entity] + + @_calculated_crop: Region? + @crop_coordinates: area_entity? + @skip_area: area_entity? + + def initialize: (area_entity?, flex_skip_area_entity?) -> void + + def build_regions_for: ((Enumerable[Region::raw_region_entity]) coordinates) -> Array[Region] + + def calculate_crop: -> Region? + + def calculate_skip_area: -> Array[Region]? + + end + end + end +end diff --git a/sig/capybara/screenshot/diff/drivers/base_driver.rbs b/sig/capybara/screenshot/diff/drivers/base_driver.rbs index b403f473..6fe0f05b 100644 --- a/sig/capybara/screenshot/diff/drivers/base_driver.rbs +++ b/sig/capybara/screenshot/diff/drivers/base_driver.rbs @@ -28,7 +28,7 @@ module Capybara def filter_image_with_median: (ImageEntity image, Numeric median_filter_window_size) -> ImageEntity - def add_black_box: (ImageEntity memo, Region region) -> void + def add_black_box: (ImageEntity memo, Region? region) -> void def difference_level: (ImageEntity diff_mask, ImageEntity old_img, Region _region) -> Float @@ -54,7 +54,7 @@ module Capybara def same_pixels?: () -> boolish end - def self.for: (ScreenshotMatcher::input_options) -> (VipsDriver | ChunkyPNGDriver) + def self.for: (ScreenshotMatcher::input_options | top) -> (VipsDriver | ChunkyPNGDriver) end end end diff --git a/sig/capybara/screenshot/diff/region.rbs b/sig/capybara/screenshot/diff/region.rbs index 9fd61f26..c342f9e9 100644 --- a/sig/capybara/screenshot/diff/region.rbs +++ b/sig/capybara/screenshot/diff/region.rbs @@ -15,6 +15,12 @@ class Region def self.from_edge_coordinates: (Numeric left, Numeric `top`, Numeric right, Numeric bottom) -> Region? + def empty?: -> bool + + def blank?: -> bool + + def present?: -> bool + def to_edge_coordinates: () -> ::Array[Numeric] def to_top_left_corner_coordinates: () -> ::Array[Numeric] diff --git a/sig/capybara/screenshot/diff/screenshot_matcher.rbs b/sig/capybara/screenshot/diff/screenshot_matcher.rbs index 9f80c61b..1968ee9c 100644 --- a/sig/capybara/screenshot/diff/screenshot_matcher.rbs +++ b/sig/capybara/screenshot/diff/screenshot_matcher.rbs @@ -13,6 +13,7 @@ module Capybara attr_reader screenshot_path: Pathname def build_screenshot_matches_job: -> job_entity? + def cleanup: -> void def self.base_image_path_from: (TestMethods::path_entity) -> Pathname @@ -23,16 +24,15 @@ module Capybara def checkout_base_screenshot: -> void - def take_comparison_screenshot: (capture_options_entity capture_options, Drivers::BaseDriver::options_entity driver_options, TestMethods::path_entity screenshot_path) -> void + def take_comparison_screenshot: + ( + capture_options_entity capture_options, + Drivers::BaseDriver::options_entity driver_options, + TestMethods::path_entity screenshot_path + ) -> void def create_output_directory_for: (Pathname file_name) -> void - type skip_area_entity = String | Region::raw_region_entity - type flex_skip_area_entity = (skip_area_entity | Array[skip_area_entity]) - type flex_crop_entity = (nil | String | Region | Region::raw_region_entity) - - def calculate_skip_area: (flex_skip_area_entity skip_area, flex_crop_entity crop) -> Array[Region] - type input_region = (Region::raw_region_entity | String | Region) type input_options = { @@ -47,15 +47,11 @@ module Capybara wait: Numeric? } - def calculate_crop_region: (input_options driver_options) -> Region? - type capture_options_entity = { stability_time_limit: Numeric?, wait: Numeric?, crop: Region? } - - def build_regions_for: ((Enumerable[Region::raw_region_entity]) coordinates) -> Array[Region?] end end end diff --git a/test/capybara/screenshot/diff/area_calculator_test.rb b/test/capybara/screenshot/diff/area_calculator_test.rb new file mode 100644 index 00000000..4257ca17 --- /dev/null +++ b/test/capybara/screenshot/diff/area_calculator_test.rb @@ -0,0 +1,24 @@ +# frozen_string_literal: true + +require "test_helper" +require "capybara/screenshot/diff/area_calculator" + +module Capybara::Screenshot::Diff + class AreaCalculatorTest < ActiveSupport::TestCase + test "skips non intersected skip areas and crop area" do + skip_area = [[0, 0, 100, 100], [200, 200, 100, 100]] + crop_area = [100, 100, 100, 100] + calculator = AreaCalculator.new(crop_area, skip_area) + + assert_equal [], calculator.calculate_skip_area + end + + test "skip area accepts region" do + skip_area = [Region.new(0, 0, 100, 100)] + crop_area = Region.new(0, 0, 200, 200) + calculator = AreaCalculator.new(crop_area, skip_area) + + assert_equal [Region.new(0, 0, 100, 100)], calculator.calculate_skip_area + end + end +end diff --git a/test/capybara/screenshot/diff/region_test.rb b/test/capybara/screenshot/diff/region_test.rb index 594ce287..1ff4c926 100644 --- a/test/capybara/screenshot/diff/region_test.rb +++ b/test/capybara/screenshot/diff/region_test.rb @@ -58,5 +58,15 @@ class RegionTest < ActiveSupport::TestCase assert_nil Region.from_top_left_corner_coordinates(10, 10, -1, 11) assert_nil Region.from_top_left_corner_coordinates(10, 10, 11, -1) end + + test "#== can compare with Region" do + assert_equal Region.new(10, 10, 10, 10), Region.new(10, 10, 10, 10) + assert_not_equal Region.new(10, 10, 10, 10), Region.new(10, 10, 10, 11) + end + + test "#== can compare with Array of coordinates" do + assert_equal Region.new(10, 10, 10, 10), [10, 10, 10, 10] + assert_not_equal Region.new(10, 10, 10, 10), [10, 10, 10, 11] + end end end diff --git a/test/fixtures/app/doc/screenshots/chrome/macos/index-cropped.png b/test/fixtures/app/doc/screenshots/chrome/macos/index-cropped.png index 1e492ec467d3aa64856e176520da60293c495a59..21090013c0f180e79c2d925a1d32d2d9909e69e1 100644 GIT binary patch delta 3143 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 literal 33963 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