#<ActionDispatch::Request::Session:0x0055f779d0d470 @by=#<ActionDispatch::Session::CookieStore:0x0055f779293710 @app=#<ActionDispatch::ContentSecurityPolicy::Middleware:0x0055f779293738 @app=#<Rack::Head:0x0055f779293788 @app=#<Rack::ConditionalGet:0x0055f7792937b0 @app=#<Rack::ETag:0x0055f779293968 @app=#<Rack::TempfileReaper:0x0055f779293990 @app=#<Warden::Manager:0x0055f779298260 @config={:default_scope=>:user, :scope_defaults=>{}, :default_strategies=>{:user=>[:rememberable, :database_authenticatable], :admin_user=>[:rememberable, :database_authenticatable]}, :intercept_401=>false, :failure_app=>#<Devise::Delegator:0x0055f77b826e28>}, @app=#<ActionDispatch::Routing::RouteSet:0x0055f77caff018>>>, @cache_control="max-age=0, private, must-revalidate", @no_cache_control="no-cache">>>>, @default_options={:path=>"/", :domain=>nil, :expire_after=>nil, :secure=>true, :httponly=>true, :defer=>false, :renew=>false}, @key="_samuel_heath_production_session", @cookie_only=true>, @req=#<ActionDispatch::Request:0x0055f779d0d498 @env={"REMOTE_ADDR"=>"127.0.0.1", "REQUEST_METHOD"=>"GET", "REQUEST_PATH"=>"/users/sign_in", "PATH_INFO"=>"/users/sign_in", "REQUEST_URI"=>"/users/sign_in", "SERVER_PROTOCOL"=>"HTTP/1.0", "HTTP_VERSION"=>"HTTP/1.0", "HTTP_X_FORWARDED_FOR"=>"54.152.77.92, 46.101.21.117", "HTTP_HOST"=>"www.samuel-heath.com", "HTTP_X_FORWARDED_PROTO"=>"https", "HTTP_CONNECTION"=>"close", "HTTP_X_REAL_IP"=>"54.152.77.92", "HTTP_ACCEPT"=>"*/*", "HTTP_USER_AGENT"=>"claudebot", "rack.url_scheme"=>"https", "SERVER_NAME"=>"www.samuel-heath.com", "SERVER_PORT"=>"443", "QUERY_STRING"=>"", "rack.input"=>#<StringIO:0x0055f7763ef468>, "unicorn.socket"=>#<Kgio::Socket:fd 7>, "rack.hijack"=>#<Unicorn::HttpParser:0x0055f77676cc58>, "rack.errors"=>#<File:/home/deployer/apps/samuel-heath/shared/log/unicorn.log>, "rack.multiprocess"=>true, "rack.multithread"=>false, "rack.run_once"=>false, "rack.version"=>[1, 2], "rack.hijack?"=>true, "SCRIPT_NAME"=>"", "SERVER_SOFTWARE"=>"Unicorn 5.5.1", "rack.logger"=>#<Logger:0x0055f77644f9f8 @level=0, @progname=nil, @default_formatter=#<Logger::Formatter:0x0055f77644f958 @datetime_format=nil>, @formatter=nil, @logdev=#<Logger::LogDevice:0x0055f77644f908 @shift_period_suffix=nil, @shift_size=nil, @shift_age=nil, @filename=nil, @dev=#<File:/home/deployer/apps/samuel-heath/shared/log/unicorn.log>, @mon_owner=nil, @mon_count=0, @mon_mutex=#<Thread::Mutex:0x0055f77644f890>>>, "action_dispatch.parameter_filter"=>[:password], "action_dispatch.redirect_filter"=>[], "action_dispatch.secret_token"=>nil, "action_dispatch.secret_key_base"=>"eph1piug6Coo6nooveikahnei2lilahphieXohv5eequeu6lie0AhghohYojucieY1Shu9xohpeizod8Aup8ahG5ung6Eey3nahk4pomah7eegeidoh4Taichu5zaebe", "action_dispatch.show_exceptions"=>true, "action_dispatch.show_detailed_exceptions"=>false, "action_dispatch.logger"=>#<ActiveSupport::Logger:0x0055f778772188 @level=0, @progname=nil, @default_formatter=#<Logger::Formatter:0x0055f778771e90 @datetime_format=nil>, @formatter=#<Logger::Formatter:0x0055f77cb184a0 @datetime_format=nil, @thread_key="activesupport_tagged_logging_tags:47260718645840">, @logdev=#<Logger::LogDevice:0x0055f778771d00 @shift_period_suffix=nil, @shift_size=nil, @shift_age=nil, @filename=nil, @dev=#<File:/home/deployer/apps/samuel-heath/releases/20231204081128/log/production.log>, @mon_owner=nil, @mon_count=0, @mon_mutex=#<Thread::Mutex:0x0055f778771ad0>>, @local_levels=#<Concurrent::Map:0x0055f7787717b0 entries=0 default_proc=nil>>, "action_dispatch.backtrace_cleaner"=>#<Rails::BacktraceCleaner:0x0055f77dabaed0 @filters=[#<Proc:0x0055f77dabadb8@/home/deployer/apps/samuel-heath/shared/bundle/ruby/2.4.0/gems/railties-5.2.3/lib/rails/backtrace_cleaner.rb:16>, #<Proc:0x0055f77dabad90@/home/deployer/apps/samuel-heath/shared/bundle/ruby/2.4.0/gems/railties-5.2.3/lib/rails/backtrace_cleaner.rb:17>, #<Proc:0x0055f77dabad68@/home/deployer/apps/samuel-heath/shared/bundle/ruby/2.4.0/gems/railties-5.2.3/lib/rails/backtrace_cleaner.rb:18>, #<Proc:0x0055f77daba5c0@/home/deployer/apps/samuel-heath/shared/bundle/ruby/2.4.0/gems/railties-5.2.3/lib/rails/backtrace_cleaner.rb:31>], @silencers=[#<Proc:0x0055f77daba598@/home/deployer/apps/samuel-heath/shared/bundle/ruby/2.4.0/gems/railties-5.2.3/lib/rails/backtrace_cleaner.rb:21>], @root="/home/deployer/apps/samuel-heath/releases/20231204081128/">, "action_dispatch.key_generator"=>#<ActiveSupport::CachingKeyGenerator:0x0055f77d6b2720 @key_generator=#<ActiveSupport::KeyGenerator:0x0055f77d6b2748 @secret="eph1piug6Coo6nooveikahnei2lilahphieXohv5eequeu6lie0AhghohYojucieY1Shu9xohpeizod8Aup8ahG5ung6Eey3nahk4pomah7eegeidoh4Taichu5zaebe", @iterations=1000>, @cache_keys=#<Concurrent::Map:0x0055f77d6b26f8 entries=5 default_proc=nil>>, "action_dispatch.http_auth_salt"=>"http authentication", "action_dispatch.signed_cookie_salt"=>"signed cookie", "action_dispatch.encrypted_cookie_salt"=>"encrypted cookie", "action_dispatch.encrypted_signed_cookie_salt"=>"signed encrypted cookie", "action_dispatch.authenticated_encrypted_cookie_salt"=>"authenticated encrypted cookie", "action_dispatch.use_authenticated_cookie_encryption"=>false, "action_dispatch.encrypted_cookie_cipher"=>nil, "action_dispatch.signed_cookie_digest"=>nil, "action_dispatch.cookies_serializer"=>:marshal, "action_dispatch.cookies_digest"=>nil, "action_dispatch.cookies_rotations"=>#<ActiveSupport::Messages::RotationConfiguration:0x0055f7766c7398 @signed=[], @encrypted=[]>, "action_dispatch.content_security_policy"=>nil, "action_dispatch.content_security_policy_report_only"=>false, "action_dispatch.content_security_policy_nonce_generator"=>nil, "action_dispatch.routes"=>#<ActionDispatch::Routing::RouteSet:0x0055f77caff018>, "ROUTES_47260718594060_SCRIPT_NAME"=>"", "ORIGINAL_FULLPATH"=>"/users/sign_in", "ORIGINAL_SCRIPT_NAME"=>"", "action_dispatch.request_id"=>"fdd7dac8-5580-482d-bec5-aec7b530d4e1", "action_dispatch.remote_ip"=>#<ActionDispatch::RemoteIp::GetIp:0x0055f779d12740 @req=#<ActionDispatch::Request:0x0055f779d12768 @env={...}, @filtered_parameters=nil, @filtered_env=nil, @filtered_path=nil, @protocol=nil, @port=nil, @method=nil, @request_method=nil, @remote_ip=nil, @original_fullpath=nil, @fullpath=nil, @ip=nil>, @check_ip=true, @proxies=[#<IPAddr: IPv4:127.0.0.1/255.255.255.255>, #<IPAddr: IPv6:0000:0000:0000:0000:0000:0000:0000:0001/ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff>, #<IPAddr: IPv6:fc00:0000:0000:0000:0000:0000:0000:0000/fe00:0000:0000:0000:0000:0000:0000:0000>, #<IPAddr: IPv4:10.0.0.0/255.0.0.0>, #<IPAddr: IPv4:172.16.0.0/255.240.0.0>, #<IPAddr: IPv4:192.168.0.0/255.255.0.0>], @ip="46.101.21.117">, "rollbar.scope"=>{:request=>#<Proc:0x0055f779d0f478@/home/deployer/apps/samuel-heath/shared/bundle/ruby/2.4.0/gems/rollbar-2.22.1/lib/rollbar/middleware/rails/rollbar.rb:46>, :person=>#<Proc:0x0055f779d0f400@/home/deployer/apps/samuel-heath/shared/bundle/ruby/2.4.0/gems/rollbar-2.22.1/lib/rollbar/middleware/rails/rollbar.rb:68>, :context=>#<Proc:0x0055f779d0f3d8@/home/deployer/apps/samuel-heath/shared/bundle/ruby/2.4.0/gems/rollbar-2.22.1/lib/rollbar/middleware/rails/rollbar.rb:48>}, "rack.session"=>#<ActionDispatch::Request::Session:0x0055f779d0d470 ...>, "rack.session.options"=>#<ActionDispatch::Request::Session::Options:0x0055f779d0d420 @by=#<ActionDispatch::Session::CookieStore:0x0055f779293710 @app=#<ActionDispatch::ContentSecurityPolicy::Middleware:0x0055f779293738 @app=#<Rack::Head:0x0055f779293788 @app=#<Rack::ConditionalGet:0x0055f7792937b0 @app=#<Rack::ETag:0x0055f779293968 @app=#<Rack::TempfileReaper:0x0055f779293990 @app=#<Warden::Manager:0x0055f779298260 @config={:default_scope=>:user, :scope_defaults=>{}, :default_strategies=>{:user=>[:rememberable, :database_authenticatable], :admin_user=>[:rememberable, :database_authenticatable]}, :intercept_401=>false, :failure_app=>#<Devise::Delegator:0x0055f77b826e28>}, @app=#<ActionDispatch::Routing::RouteSet:0x0055f77caff018>>>, @cache_control="max-age=0, private, must-revalidate", @no_cache_control="no-cache">>>>, @default_options={:path=>"/", :domain=>nil, :expire_after=>nil, :secure=>true, :httponly=>true, :defer=>false, :renew=>false}, @key="_samuel_heath_production_session", @cookie_only=true>, @delegate={:path=>"/", :domain=>nil, :expire_after=>nil, :secure=>true, :httponly=>true, :defer=>false, :renew=>false, :id=>"9ba7fe94a9e78d2e841321335f0628ba"}>, "rack.tempfiles"=>[], "warden"=>Warden::Proxy:47260694505900 @config={:default_scope=>:user, :scope_defaults=>{}, :default_strategies=>{:user=>[:rememberable, :database_authenticatable], :admin_user=>[:rememberable, :database_authenticatable]}, :intercept_401=>false, :failure_app=>#<Devise::Delegator:0x0055f77b826e28>}, "action_dispatch.request.path_parameters"=>{:controller=>"devise/sessions", :action=>"new"}, "devise.mapping"=>#<Devise::Mapping:0x0055f77d672fa8 @scoped_path="users", @singular=:user, @class_name="User", @klass=#<Devise::Getter:0x0055f77d672c10 @name="User">, @path="users", @path_prefix=nil, @sign_out_via=:delete, @format=nil, @router_name=nil, @failure_app=Devise::FailureApp, @controllers={:registrations=>"users/registrations", :sessions=>"devise/sessions", :passwords=>"devise/passwords"}, @path_names={:registration=>"", :new=>"new", :edit=>"edit", :sign_in=>"sign_in", :sign_out=>"sign_out", :password=>"password", :sign_up=>"sign_up", :cancel=>"cancel"}, @modules=[:database_authenticatable, :rememberable, :recoverable, :registerable, :validatable, :trackable], @routes=[:session, :password, :registration], @used_routes=[:session, :password, :registration], @used_helpers=[:session, :password, :registration], @strategies=[:rememberable, :database_authenticatable]>, "action_controller.instance"=>#<Devise::SessionsController:0x0055f77a9c7c10 @_action_has_layout=true, @_routes=nil, @_request=#<ActionDispatch::Request:0x0055f779d0d060 @env={...}, @filtered_parameters={"controller"=>"devise/sessions", "action"=>"new"}, @filtered_env=nil, @filtered_path=nil, @protocol="https://", @port=443, @method=nil, @request_method="GET", @remote_ip="46.101.21.117", @original_fullpath=nil, @fullpath="/users/sign_in", @ip=nil, @headers=#<ActionDispatch::Http::Headers:0x0055f77a9c6ab8 @req=#<ActionDispatch::Request:0x0055f779d0d060 ...>>, @variant=[]>, @_response=#<ActionDispatch::Response:0x0055f77a9c7e40 @mon_owner=nil, @mon_count=0, @mon_mutex=#<Thread::Mutex:0x0055f77a9c7df0>, @header={"X-Frame-Options"=>"SAMEORIGIN", "X-XSS-Protection"=>"1; mode=block", "X-Content-Type-Options"=>"nosniff", "X-Download-Options"=>"noopen", "X-Permitted-Cross-Domain-Policies"=>"none", "Referrer-Policy"=>"strict-origin-when-cross-origin"}, @stream=#<ActionDispatch::Response::Buffer:0x0055f77a9c7da0 @response=#<ActionDispatch::Response:0x0055f77a9c7e40 ...>, @buf=[], @closed=false, @str_body=nil>, @status=200, @cv=#<MonitorMixin::ConditionVariable:0x0055f77a9c7d78 @monitor=#<ActionDispatch::Response:0x0055f77a9c7e40 ...>, @cond=#<Thread::ConditionVariable:0x0055f77a9c7d50>>, @committed=false, @sending=false, @sent=false, @cache_control={}, @request=#<ActionDispatch::Request:0x0055f779d0d060 @env={...}, @filtered_parameters={"controller"=>"devise/sessions", "action"=>"new"}, @filtered_env=nil, @filtered_path=nil, @protocol="https://", @port=443, @method=nil, @request_method="GET", @remote_ip="46.101.21.117", @original_fullpath=nil, @fullpath="/users/sign_in", @ip=nil, @headers=#<ActionDispatch::Http::Headers:0x0055f77a9c6ab8 @req=#<ActionDispatch::Request:0x0055f779d0d060 ...>>, @variant=[]>>, @_prefixes=["devise/sessions", "devise", "application"], @_lookup_context=#<ActionView::LookupContext:0x0055f77a9c7af8 @details_key=#<Concurrent::Map:0x0055f77d2b1a68 entries=0 default_proc=nil>, @cache=true, @prefixes=["devise/sessions", "devise", "application"], @rendered_format=:html, @details={:locale=>[:en], :formats=>[:html], :variants=>[], :handlers=>[:raw, :erb, :html, :builder, :ruby, :coffee, :jbuilder, :haml]}, @view_paths=#<ActionView::PathSet:0x0055f77a9c79e0 @paths=[#<ActionView::OptimizedFileSystemResolver:0x0055f77c7bae48 @pattern=":prefix/:action{.:locale,}{.:formats,}{+:variants,}{.:handlers,}", @cache=#<ActionView::Resolver::Cache:0x55f77c7bae20 keys=4 queries=0>, @path="/home/deployer/apps/samuel-heath/releases/20231204081128/app/views">, #<ActionView::OptimizedFileSystemResolver:0x0055f77c7bb898 @pattern=":prefix/:action{.:locale,}{.:formats,}{+:variants,}{.:handlers,}", @cache=#<ActionView::Resolver::Cache:0x55f77c7bb820 keys=4 queries=0>, @path="/home/deployer/apps/samuel-heath/shared/bundle/ruby/2.4.0/gems/devise-4.7.1/app/views">, #<ActionView::OptimizedFileSystemResolver:0x0055f77c7d00b8 @pattern=":prefix/:action{.:locale,}{.:formats,}{+:variants,}{.:handlers,}", @cache=#<ActionView::Resolver::Cache:0x55f77c7d0068 keys=4 queries=0>, @path="/home/deployer/apps/samuel-heath/shared/bundle/ruby/2.4.0/gems/administrate-0.15.0/app/views">, #<ActionView::OptimizedFileSystemResolver:0x0055f77c7d0630 @pattern=":prefix/:action{.:locale,}{.:formats,}{+:variants,}{.:handlers,}", @cache=#<ActionView::Resolver::Cache:0x55f77c7d0608 keys=4 queries=0>, @path="/home/deployer/apps/samuel-heath/shared/bundle/ruby/2.4.0/gems/kaminari-core-1.2.1/app/views">]>>, @_action_name="new", @_response_body=nil, @devise_mapping=#<Devise::Mapping:0x0055f77d672fa8 @scoped_path="users", @singular=:user, @class_name="User", @klass=#<Devise::Getter:0x0055f77d672c10 @name="User">, @path="users", @path_prefix=nil, @sign_out_via=:delete, @format=nil, @router_name=nil, @failure_app=Devise::FailureApp, @controllers={:registrations=>"users/registrations", :sessions=>"devise/sessions", :passwords=>"devise/passwords"}, @path_names={:registration=>"", :new=>"new", :edit=>"edit", :sign_in=>"sign_in", :sign_out=>"sign_out", :password=>"password", :sign_up=>"sign_up", :cancel=>"cancel"}, @modules=[:database_authenticatable, :rememberable, :recoverable, :registerable, :validatable, :trackable], @routes=[:session, :password, :registration], @used_routes=[:session, :password, :registration], @used_helpers=[:session, :password, :registration], @strategies=[:rememberable, :database_authenticatable]>, @request_format="*/*", @marked_for_same_origin_verification=true, @_config={}, @__react_component_helper=#<React::Rails::ComponentMount:0x0055f77a9c47b8 @cache_ids=[], @controller=#<Devise::SessionsController:0x0055f77a9c7c10 ...>>, @_params=<ActionController::Parameters {"controller"=>"devise/sessions", "action"=>"new"} permitted: false>, @devise_parameter_sanitizer=#<Devise::ParameterSanitizer:0x0055f77a9c4498 @auth_keys=[:email], @params=<ActionController::Parameters {"controller"=>"devise/sessions", "action"=>"new"} permitted: false>, @resource_name=:user, @permitted={:sign_in=>[:email, :password, :remember_me], :sign_up=>[:email, :password, :password_confirmation, :name, :company_name, :email, :password, :password_confirmation, :remember_me], :account_update=>[:email, :password, :password_confirmation, :current_password, :name, :company_name, :email, :password, :password_confirmation, :remember_me]}>, @_db_runtime=0, @_view_context_class=#<Class:0x0055f77d2b4bc8>, @_view_renderer=#<ActionView::Renderer:0x0055f77a513d68 @lookup_context=#<ActionView::LookupContext:0x0055f77a9c7af8 @details_key=#<Concurrent::Map:0x0055f77d2b1a68 entries=0 default_proc=nil>, @cache=true, @prefixes=["devise/sessions", "devise", "application"], @rendered_format=:html, @details={:locale=>[:en], :formats=>[:html], :variants=>[], :handlers=>[:raw, :erb, :html, :builder, :ruby, :coffee, :jbuilder, :haml]}, @view_paths=#<ActionView::PathSet:0x0055f77a9c79e0 @paths=[#<ActionView::OptimizedFileSystemResolver:0x0055f77c7bae48 @pattern=":prefix/:action{.:locale,}{.:formats,}{+:variants,}{.:handlers,}", @cache=#<ActionView::Resolver::Cache:0x55f77c7bae20 keys=4 queries=0>, @path="/home/deployer/apps/samuel-heath/releases/20231204081128/app/views">, #<ActionView::OptimizedFileSystemResolver:0x0055f77c7bb898 @pattern=":prefix/:action{.:locale,}{.:formats,}{+:variants,}{.:handlers,}", @cache=#<ActionView::Resolver::Cache:0x55f77c7bb820 keys=4 queries=0>, @path="/home/deployer/apps/samuel-heath/shared/bundle/ruby/2.4.0/gems/devise-4.7.1/app/views">, #<ActionView::OptimizedFileSystemResolver:0x0055f77c7d00b8 @pattern=":prefix/:action{.:locale,}{.:formats,}{+:variants,}{.:handlers,}", @cache=#<ActionView::Resolver::Cache:0x55f77c7d0068 keys=4 queries=0>, @path="/home/deployer/apps/samuel-heath/shared/bundle/ruby/2.4.0/gems/administrate-0.15.0/app/views">, #<ActionView::OptimizedFileSystemResolver:0x0055f77c7d0630 @pattern=":prefix/:action{.:locale,}{.:formats,}{+:variants,}{.:handlers,}", @cache=#<ActionView::Resolver::Cache:0x55f77c7d0608 keys=4 queries=0>, @path="/home/deployer/apps/samuel-heath/shared/bundle/ruby/2.4.0/gems/kaminari-core-1.2.1/app/views">]>>>, @_url_options={:host=>"www.samuel-heath.com", :port=>nil, :protocol=>"https://", :_recall=>{:controller=>"devise/sessions", :action=>"new"}}, @user=#<User id: nil, email: "", created_at: nil, updated_at: nil, username: nil, approved: false, company_name: nil, name: nil>>, "action_dispatch.request.content_type"=>nil, "action_dispatch.request.request_parameters"=>{}, "rack.request.query_string"=>"", "rack.request.query_hash"=>{}, "action_dispatch.request.query_parameters"=>{}, "action_dispatch.request.parameters"=>{"controller"=>"devise/sessions", "action"=>"new"}, "action_dispatch.request.accepts"=>[#<Mime::Type:0x0055f77a9c6838 @synonyms=[], @symbol=nil, @string="*/*", @hash=2314343355505995050>], "action_dispatch.request.formats"=>[#<Mime::Type:0x0055f77a9c6838 @synonyms=[], @symbol=nil, @string="*/*", @hash=2314343355505995050>], "rack.request.cookie_hash"=>{}, "action_dispatch.cookies"=>#<ActionDispatch::Cookies::CookieJar:0x0055f77a9c55f0 @set_cookies={}, @delete_cookies={}, @request=#<ActionDispatch::Request:0x0055f779d0d498 ...>, @cookies={}, @committed=false, @encrypted=#<ActionDispatch::Cookies::EncryptedKeyRotatingCookieJar:0x0055f77a9c5528 @parent_jar=#<ActionDispatch::Cookies::CookieJar:0x0055f77a9c55f0 ...>, @encryptor=#<ActiveSupport::MessageEncryptor:0x0055f77a9c5398 @secret="\x1A\xFE,\x80\x01H\xA6\xF2\xFBK\xF2.!\xC4\xCB\x98\xED\xA8\xEE\nE\xA9;\xD8\x8C\xE5\x18F'\x97\xD9\xE9", @sign_secret="s\x84\xE0\x0Ftk\x80x\x9A\xEAJ \xD9|2\x9F\xD6\xC7\xA6\e\x95\xEAwt\x89}\x8A\xC6\xB2\x0E\xAD\x1C\xC5\x98\x87\xB0\xBE\xA1n\x7F=\xEBG\x04\x7F\xCFNi\xEF\xC6\x06\x94\x88E\x0FU\x9F\x8ERKA\xD0\xA6O", @cipher="aes-256-cbc", @aead_mode=false, @digest="SHA1", @verifier=#<ActiveSupport::MessageVerifier:0x0055f77a9c5168 @secret="s\x84\xE0\x0Ftk\x80x\x9A\xEAJ \xD9|2\x9F\xD6\xC7\xA6\e\x95\xEAwt\x89}\x8A\xC6\xB2\x0E\xAD\x1C\xC5\x98\x87\xB0\xBE\xA1n\x7F=\xEBG\x04\x7F\xCFNi\xEF\xC6\x06\x94\x88E\x0FU\x9F\x8ERKA\xD0\xA6O", @digest="SHA1", @serializer=ActiveSupport::MessageEncryptor::NullSerializer, @options={:digest=>"SHA1", :serializer=>ActiveSupport::MessageEncryptor::NullSerializer}, @rotations=[]>, @serializer=ActiveSupport::MessageEncryptor::NullSerializer, @options={:cipher=>"aes-256-cbc", :serializer=>ActiveSupport::MessageEncryptor::NullSerializer}, @rotations=[]>>, @signed_or_encrypted=#<ActionDispatch::Cookies::EncryptedKeyRotatingCookieJar:0x0055f77a9c5528 @parent_jar=#<ActionDispatch::Cookies::CookieJar:0x0055f77a9c55f0 ...>, @encryptor=#<ActiveSupport::MessageEncryptor:0x0055f77a9c5398 @secret="\x1A\xFE,\x80\x01H\xA6\xF2\xFBK\xF2.!\xC4\xCB\x98\xED\xA8\xEE\nE\xA9;\xD8\x8C\xE5\x18F'\x97\xD9\xE9", @sign_secret="s\x84\xE0\x0Ftk\x80x\x9A\xEAJ \xD9|2\x9F\xD6\xC7\xA6\e\x95\xEAwt\x89}\x8A\xC6\xB2\x0E\xAD\x1C\xC5\x98\x87\xB0\xBE\xA1n\x7F=\xEBG\x04\x7F\xCFNi\xEF\xC6\x06\x94\x88E\x0FU\x9F\x8ERKA\xD0\xA6O", @cipher="aes-256-cbc", @aead_mode=false, @digest="SHA1", @verifier=#<ActiveSupport::MessageVerifier:0x0055f77a9c5168 @secret="s\x84\xE0\x0Ftk\x80x\x9A\xEAJ \xD9|2\x9F\xD6\xC7\xA6\e\x95\xEAwt\x89}\x8A\xC6\xB2\x0E\xAD\x1C\xC5\x98\x87\xB0\xBE\xA1n\x7F=\xEBG\x04\x7F\xCFNi\xEF\xC6\x06\x94\x88E\x0FU\x9F\x8ERKA\xD0\xA6O", @digest="SHA1", @serializer=ActiveSupport::MessageEncryptor::NullSerializer, @options={:digest=>"SHA1", :serializer=>ActiveSupport::MessageEncryptor::NullSerializer}, @rotations=[]>, @serializer=ActiveSupport::MessageEncryptor::NullSerializer, @options={:cipher=>"aes-256-cbc", :serializer=>ActiveSupport::MessageEncryptor::NullSerializer}, @rotations=[]>>, @signed=#<ActionDispatch::Cookies::SignedKeyRotatingCookieJar:0x0055f77a9c4d30 @parent_jar=#<ActionDispatch::Cookies::CookieJar:0x0055f77a9c55f0 ...>, @verifier=#<ActiveSupport::MessageVerifier:0x0055f77a9c4c68 @secret="\xA9\ewLQ\xFC\x03N\x8F\x87i\xF5\xB4\x80iz\x11\xAD\v\x90\x9B,\xCB\xCBi\x01\xC7C\xCF&$$m\xB5\x9A\xE1\xA9\xE8\xA2d5e\x1Ei\x98\xB2\xFD\xD0\xEE\e\xEE\x1C\v\x05!\x1Dt\x89nX\x92\xD6\xB9\x82", @digest="SHA1", @serializer=ActiveSupport::MessageEncryptor::NullSerializer, @options={:digest=>"SHA1", :serializer=>ActiveSupport::MessageEncryptor::NullSerializer}, @rotations=[]>>>, "action_dispatch.request.unsigned_session_cookie"=>{"session_id"=>"9ba7fe94a9e78d2e841321335f0628ba"}}, @filtered_parameters=nil, @filtered_env=nil, @filtered_path=nil, @protocol=nil, @port=nil, @method=nil, @request_method=nil, @remote_ip=nil, @original_fullpath=nil, @fullpath=nil, @ip=nil>, @delegate={"session_id"=>"9ba7fe94a9e78d2e841321335f0628ba", "_csrf_token"=>"7e+8ath5QudZVucdTA8Jl/6MurE7N1ExPZYFu8KmT2o="}, @loaded=true, @exists=nil> #<ActionDispatch::Cookies::EncryptedKeyRotatingCookieJar:0x0055f77a9c5528 @parent_jar=#<ActionDispatch::Cookies::CookieJar:0x0055f77a9c55f0 @set_cookies={}, @delete_cookies={}, @request=#<ActionDispatch::Request:0x0055f779d0d498 @env={"REMOTE_ADDR"=>"127.0.0.1", "REQUEST_METHOD"=>"GET", "REQUEST_PATH"=>"/users/sign_in", "PATH_INFO"=>"/users/sign_in", "REQUEST_URI"=>"/users/sign_in", "SERVER_PROTOCOL"=>"HTTP/1.0", "HTTP_VERSION"=>"HTTP/1.0", "HTTP_X_FORWARDED_FOR"=>"54.152.77.92, 46.101.21.117", "HTTP_HOST"=>"www.samuel-heath.com", "HTTP_X_FORWARDED_PROTO"=>"https", "HTTP_CONNECTION"=>"close", "HTTP_X_REAL_IP"=>"54.152.77.92", "HTTP_ACCEPT"=>"*/*", "HTTP_USER_AGENT"=>"claudebot", "rack.url_scheme"=>"https", "SERVER_NAME"=>"www.samuel-heath.com", "SERVER_PORT"=>"443", "QUERY_STRING"=>"", "rack.input"=>#<StringIO:0x0055f7763ef468>, "unicorn.socket"=>#<Kgio::Socket:fd 7>, "rack.hijack"=>#<Unicorn::HttpParser:0x0055f77676cc58>, "rack.errors"=>#<File:/home/deployer/apps/samuel-heath/shared/log/unicorn.log>, "rack.multiprocess"=>true, "rack.multithread"=>false, "rack.run_once"=>false, "rack.version"=>[1, 2], "rack.hijack?"=>true, "SCRIPT_NAME"=>"", "SERVER_SOFTWARE"=>"Unicorn 5.5.1", "rack.logger"=>#<Logger:0x0055f77644f9f8 @level=0, @progname=nil, @default_formatter=#<Logger::Formatter:0x0055f77644f958 @datetime_format=nil>, @formatter=nil, @logdev=#<Logger::LogDevice:0x0055f77644f908 @shift_period_suffix=nil, @shift_size=nil, @shift_age=nil, @filename=nil, @dev=#<File:/home/deployer/apps/samuel-heath/shared/log/unicorn.log>, @mon_owner=nil, @mon_count=0, @mon_mutex=#<Thread::Mutex:0x0055f77644f890>>>, "action_dispatch.parameter_filter"=>[:password], "action_dispatch.redirect_filter"=>[], "action_dispatch.secret_token"=>nil, "action_dispatch.secret_key_base"=>"eph1piug6Coo6nooveikahnei2lilahphieXohv5eequeu6lie0AhghohYojucieY1Shu9xohpeizod8Aup8ahG5ung6Eey3nahk4pomah7eegeidoh4Taichu5zaebe", "action_dispatch.show_exceptions"=>true, "action_dispatch.show_detailed_exceptions"=>false, "action_dispatch.logger"=>#<ActiveSupport::Logger:0x0055f778772188 @level=0, @progname=nil, @default_formatter=#<Logger::Formatter:0x0055f778771e90 @datetime_format=nil>, @formatter=#<Logger::Formatter:0x0055f77cb184a0 @datetime_format=nil, @thread_key="activesupport_tagged_logging_tags:47260718645840">, @logdev=#<Logger::LogDevice:0x0055f778771d00 @shift_period_suffix=nil, @shift_size=nil, @shift_age=nil, @filename=nil, @dev=#<File:/home/deployer/apps/samuel-heath/releases/20231204081128/log/production.log>, @mon_owner=nil, @mon_count=0, @mon_mutex=#<Thread::Mutex:0x0055f778771ad0>>, @local_levels=#<Concurrent::Map:0x0055f7787717b0 entries=0 default_proc=nil>>, "action_dispatch.backtrace_cleaner"=>#<Rails::BacktraceCleaner:0x0055f77dabaed0 @filters=[#<Proc:0x0055f77dabadb8@/home/deployer/apps/samuel-heath/shared/bundle/ruby/2.4.0/gems/railties-5.2.3/lib/rails/backtrace_cleaner.rb:16>, #<Proc:0x0055f77dabad90@/home/deployer/apps/samuel-heath/shared/bundle/ruby/2.4.0/gems/railties-5.2.3/lib/rails/backtrace_cleaner.rb:17>, #<Proc:0x0055f77dabad68@/home/deployer/apps/samuel-heath/shared/bundle/ruby/2.4.0/gems/railties-5.2.3/lib/rails/backtrace_cleaner.rb:18>, #<Proc:0x0055f77daba5c0@/home/deployer/apps/samuel-heath/shared/bundle/ruby/2.4.0/gems/railties-5.2.3/lib/rails/backtrace_cleaner.rb:31>], @silencers=[#<Proc:0x0055f77daba598@/home/deployer/apps/samuel-heath/shared/bundle/ruby/2.4.0/gems/railties-5.2.3/lib/rails/backtrace_cleaner.rb:21>], @root="/home/deployer/apps/samuel-heath/releases/20231204081128/">, "action_dispatch.key_generator"=>#<ActiveSupport::CachingKeyGenerator:0x0055f77d6b2720 @key_generator=#<ActiveSupport::KeyGenerator:0x0055f77d6b2748 @secret="eph1piug6Coo6nooveikahnei2lilahphieXohv5eequeu6lie0AhghohYojucieY1Shu9xohpeizod8Aup8ahG5ung6Eey3nahk4pomah7eegeidoh4Taichu5zaebe", @iterations=1000>, @cache_keys=#<Concurrent::Map:0x0055f77d6b26f8 entries=5 default_proc=nil>>, "action_dispatch.http_auth_salt"=>"http authentication", "action_dispatch.signed_cookie_salt"=>"signed cookie", "action_dispatch.encrypted_cookie_salt"=>"encrypted cookie", "action_dispatch.encrypted_signed_cookie_salt"=>"signed encrypted cookie", "action_dispatch.authenticated_encrypted_cookie_salt"=>"authenticated encrypted cookie", "action_dispatch.use_authenticated_cookie_encryption"=>false, "action_dispatch.encrypted_cookie_cipher"=>nil, "action_dispatch.signed_cookie_digest"=>nil, "action_dispatch.cookies_serializer"=>:marshal, "action_dispatch.cookies_digest"=>nil, "action_dispatch.cookies_rotations"=>#<ActiveSupport::Messages::RotationConfiguration:0x0055f7766c7398 @signed=[], @encrypted=[]>, "action_dispatch.content_security_policy"=>nil, "action_dispatch.content_security_policy_report_only"=>false, "action_dispatch.content_security_policy_nonce_generator"=>nil, "action_dispatch.routes"=>#<ActionDispatch::Routing::RouteSet:0x0055f77caff018>, "ROUTES_47260718594060_SCRIPT_NAME"=>"", "ORIGINAL_FULLPATH"=>"/users/sign_in", "ORIGINAL_SCRIPT_NAME"=>"", "action_dispatch.request_id"=>"fdd7dac8-5580-482d-bec5-aec7b530d4e1", "action_dispatch.remote_ip"=>#<ActionDispatch::RemoteIp::GetIp:0x0055f779d12740 @req=#<ActionDispatch::Request:0x0055f779d12768 @env={...}, @filtered_parameters=nil, @filtered_env=nil, @filtered_path=nil, @protocol=nil, @port=nil, @method=nil, @request_method=nil, @remote_ip=nil, @original_fullpath=nil, @fullpath=nil, @ip=nil>, @check_ip=true, @proxies=[#<IPAddr: IPv4:127.0.0.1/255.255.255.255>, #<IPAddr: IPv6:0000:0000:0000:0000:0000:0000:0000:0001/ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff>, #<IPAddr: IPv6:fc00:0000:0000:0000:0000:0000:0000:0000/fe00:0000:0000:0000:0000:0000:0000:0000>, #<IPAddr: IPv4:10.0.0.0/255.0.0.0>, #<IPAddr: IPv4:172.16.0.0/255.240.0.0>, #<IPAddr: IPv4:192.168.0.0/255.255.0.0>], @ip="46.101.21.117">, "rollbar.scope"=>{:request=>#<Proc:0x0055f779d0f478@/home/deployer/apps/samuel-heath/shared/bundle/ruby/2.4.0/gems/rollbar-2.22.1/lib/rollbar/middleware/rails/rollbar.rb:46>, :person=>#<Proc:0x0055f779d0f400@/home/deployer/apps/samuel-heath/shared/bundle/ruby/2.4.0/gems/rollbar-2.22.1/lib/rollbar/middleware/rails/rollbar.rb:68>, :context=>#<Proc:0x0055f779d0f3d8@/home/deployer/apps/samuel-heath/shared/bundle/ruby/2.4.0/gems/rollbar-2.22.1/lib/rollbar/middleware/rails/rollbar.rb:48>}, "rack.session"=>#<ActionDispatch::Request::Session:0x0055f779d0d470 @by=#<ActionDispatch::Session::CookieStore:0x0055f779293710 @app=#<ActionDispatch::ContentSecurityPolicy::Middleware:0x0055f779293738 @app=#<Rack::Head:0x0055f779293788 @app=#<Rack::ConditionalGet:0x0055f7792937b0 @app=#<Rack::ETag:0x0055f779293968 @app=#<Rack::TempfileReaper:0x0055f779293990 @app=#<Warden::Manager:0x0055f779298260 @config={:default_scope=>:user, :scope_defaults=>{}, :default_strategies=>{:user=>[:rememberable, :database_authenticatable], :admin_user=>[:rememberable, :database_authenticatable]}, :intercept_401=>false, :failure_app=>#<Devise::Delegator:0x0055f77b826e28>}, @app=#<ActionDispatch::Routing::RouteSet:0x0055f77caff018>>>, @cache_control="max-age=0, private, must-revalidate", @no_cache_control="no-cache">>>>, @default_options={:path=>"/", :domain=>nil, :expire_after=>nil, :secure=>true, :httponly=>true, :defer=>false, :renew=>false}, @key="_samuel_heath_production_session", @cookie_only=true>, @req=#<ActionDispatch::Request:0x0055f779d0d498 ...>, @delegate={"session_id"=>"9ba7fe94a9e78d2e841321335f0628ba", "_csrf_token"=>"7e+8ath5QudZVucdTA8Jl/6MurE7N1ExPZYFu8KmT2o="}, @loaded=true, @exists=nil>, "rack.session.options"=>#<ActionDispatch::Request::Session::Options:0x0055f779d0d420 @by=#<ActionDispatch::Session::CookieStore:0x0055f779293710 @app=#<ActionDispatch::ContentSecurityPolicy::Middleware:0x0055f779293738 @app=#<Rack::Head:0x0055f779293788 @app=#<Rack::ConditionalGet:0x0055f7792937b0 @app=#<Rack::ETag:0x0055f779293968 @app=#<Rack::TempfileReaper:0x0055f779293990 @app=#<Warden::Manager:0x0055f779298260 @config={:default_scope=>:user, :scope_defaults=>{}, :default_strategies=>{:user=>[:rememberable, :database_authenticatable], :admin_user=>[:rememberable, :database_authenticatable]}, :intercept_401=>false, :failure_app=>#<Devise::Delegator:0x0055f77b826e28>}, @app=#<ActionDispatch::Routing::RouteSet:0x0055f77caff018>>>, @cache_control="max-age=0, private, must-revalidate", @no_cache_control="no-cache">>>>, @default_options={:path=>"/", :domain=>nil, :expire_after=>nil, :secure=>true, :httponly=>true, :defer=>false, :renew=>false}, @key="_samuel_heath_production_session", @cookie_only=true>, @delegate={:path=>"/", :domain=>nil, :expire_after=>nil, :secure=>true, :httponly=>true, :defer=>false, :renew=>false, :id=>"9ba7fe94a9e78d2e841321335f0628ba"}>, "rack.tempfiles"=>[], "warden"=>Warden::Proxy:47260694505900 @config={:default_scope=>:user, :scope_defaults=>{}, :default_strategies=>{:user=>[:rememberable, :database_authenticatable], :admin_user=>[:rememberable, :database_authenticatable]}, :intercept_401=>false, :failure_app=>#<Devise::Delegator:0x0055f77b826e28>}, "action_dispatch.request.path_parameters"=>{:controller=>"devise/sessions", :action=>"new"}, "devise.mapping"=>#<Devise::Mapping:0x0055f77d672fa8 @scoped_path="users", @singular=:user, @class_name="User", @klass=#<Devise::Getter:0x0055f77d672c10 @name="User">, @path="users", @path_prefix=nil, @sign_out_via=:delete, @format=nil, @router_name=nil, @failure_app=Devise::FailureApp, @controllers={:registrations=>"users/registrations", :sessions=>"devise/sessions", :passwords=>"devise/passwords"}, @path_names={:registration=>"", :new=>"new", :edit=>"edit", :sign_in=>"sign_in", :sign_out=>"sign_out", :password=>"password", :sign_up=>"sign_up", :cancel=>"cancel"}, @modules=[:database_authenticatable, :rememberable, :recoverable, :registerable, :validatable, :trackable], @routes=[:session, :password, :registration], @used_routes=[:session, :password, :registration], @used_helpers=[:session, :password, :registration], @strategies=[:rememberable, :database_authenticatable]>, "action_controller.instance"=>#<Devise::SessionsController:0x0055f77a9c7c10 @_action_has_layout=true, @_routes=nil, @_request=#<ActionDispatch::Request:0x0055f779d0d060 @env={...}, @filtered_parameters={"controller"=>"devise/sessions", "action"=>"new"}, @filtered_env=nil, @filtered_path=nil, @protocol="https://", @port=443, @method=nil, @request_method="GET", @remote_ip="46.101.21.117", @original_fullpath=nil, @fullpath="/users/sign_in", @ip=nil, @headers=#<ActionDispatch::Http::Headers:0x0055f77a9c6ab8 @req=#<ActionDispatch::Request:0x0055f779d0d060 ...>>, @variant=[]>, @_response=#<ActionDispatch::Response:0x0055f77a9c7e40 @mon_owner=nil, @mon_count=0, @mon_mutex=#<Thread::Mutex:0x0055f77a9c7df0>, @header={"X-Frame-Options"=>"SAMEORIGIN", "X-XSS-Protection"=>"1; mode=block", "X-Content-Type-Options"=>"nosniff", "X-Download-Options"=>"noopen", "X-Permitted-Cross-Domain-Policies"=>"none", "Referrer-Policy"=>"strict-origin-when-cross-origin"}, @stream=#<ActionDispatch::Response::Buffer:0x0055f77a9c7da0 @response=#<ActionDispatch::Response:0x0055f77a9c7e40 ...>, @buf=[], @closed=false, @str_body=nil>, @status=200, @cv=#<MonitorMixin::ConditionVariable:0x0055f77a9c7d78 @monitor=#<ActionDispatch::Response:0x0055f77a9c7e40 ...>, @cond=#<Thread::ConditionVariable:0x0055f77a9c7d50>>, @committed=false, @sending=false, @sent=false, @cache_control={}, @request=#<ActionDispatch::Request:0x0055f779d0d060 @env={...}, @filtered_parameters={"controller"=>"devise/sessions", "action"=>"new"}, @filtered_env=nil, @filtered_path=nil, @protocol="https://", @port=443, @method=nil, @request_method="GET", @remote_ip="46.101.21.117", @original_fullpath=nil, @fullpath="/users/sign_in", @ip=nil, @headers=#<ActionDispatch::Http::Headers:0x0055f77a9c6ab8 @req=#<ActionDispatch::Request:0x0055f779d0d060 ...>>, @variant=[]>>, @_prefixes=["devise/sessions", "devise", "application"], @_lookup_context=#<ActionView::LookupContext:0x0055f77a9c7af8 @details_key=#<Concurrent::Map:0x0055f77d2b1a68 entries=0 default_proc=nil>, @cache=true, @prefixes=["devise/sessions", "devise", "application"], @rendered_format=:html, @details={:locale=>[:en], :formats=>[:html], :variants=>[], :handlers=>[:raw, :erb, :html, :builder, :ruby, :coffee, :jbuilder, :haml]}, @view_paths=#<ActionView::PathSet:0x0055f77a9c79e0 @paths=[#<ActionView::OptimizedFileSystemResolver:0x0055f77c7bae48 @pattern=":prefix/:action{.:locale,}{.:formats,}{+:variants,}{.:handlers,}", @cache=#<ActionView::Resolver::Cache:0x55f77c7bae20 keys=4 queries=0>, @path="/home/deployer/apps/samuel-heath/releases/20231204081128/app/views">, #<ActionView::OptimizedFileSystemResolver:0x0055f77c7bb898 @pattern=":prefix/:action{.:locale,}{.:formats,}{+:variants,}{.:handlers,}", @cache=#<ActionView::Resolver::Cache:0x55f77c7bb820 keys=4 queries=0>, @path="/home/deployer/apps/samuel-heath/shared/bundle/ruby/2.4.0/gems/devise-4.7.1/app/views">, #<ActionView::OptimizedFileSystemResolver:0x0055f77c7d00b8 @pattern=":prefix/:action{.:locale,}{.:formats,}{+:variants,}{.:handlers,}", @cache=#<ActionView::Resolver::Cache:0x55f77c7d0068 keys=4 queries=0>, @path="/home/deployer/apps/samuel-heath/shared/bundle/ruby/2.4.0/gems/administrate-0.15.0/app/views">, #<ActionView::OptimizedFileSystemResolver:0x0055f77c7d0630 @pattern=":prefix/:action{.:locale,}{.:formats,}{+:variants,}{.:handlers,}", @cache=#<ActionView::Resolver::Cache:0x55f77c7d0608 keys=4 queries=0>, @path="/home/deployer/apps/samuel-heath/shared/bundle/ruby/2.4.0/gems/kaminari-core-1.2.1/app/views">]>>, @_action_name="new", @_response_body=nil, @devise_mapping=#<Devise::Mapping:0x0055f77d672fa8 @scoped_path="users", @singular=:user, @class_name="User", @klass=#<Devise::Getter:0x0055f77d672c10 @name="User">, @path="users", @path_prefix=nil, @sign_out_via=:delete, @format=nil, @router_name=nil, @failure_app=Devise::FailureApp, @controllers={:registrations=>"users/registrations", :sessions=>"devise/sessions", :passwords=>"devise/passwords"}, @path_names={:registration=>"", :new=>"new", :edit=>"edit", :sign_in=>"sign_in", :sign_out=>"sign_out", :password=>"password", :sign_up=>"sign_up", :cancel=>"cancel"}, @modules=[:database_authenticatable, :rememberable, :recoverable, :registerable, :validatable, :trackable], @routes=[:session, :password, :registration], @used_routes=[:session, :password, :registration], @used_helpers=[:session, :password, :registration], @strategies=[:rememberable, :database_authenticatable]>, @request_format="*/*", @marked_for_same_origin_verification=true, @_config={}, @__react_component_helper=#<React::Rails::ComponentMount:0x0055f77a9c47b8 @cache_ids=[], @controller=#<Devise::SessionsController:0x0055f77a9c7c10 ...>>, @_params=<ActionController::Parameters {"controller"=>"devise/sessions", "action"=>"new"} permitted: false>, @devise_parameter_sanitizer=#<Devise::ParameterSanitizer:0x0055f77a9c4498 @auth_keys=[:email], @params=<ActionController::Parameters {"controller"=>"devise/sessions", "action"=>"new"} permitted: false>, @resource_name=:user, @permitted={:sign_in=>[:email, :password, :remember_me], :sign_up=>[:email, :password, :password_confirmation, :name, :company_name, :email, :password, :password_confirmation, :remember_me], :account_update=>[:email, :password, :password_confirmation, :current_password, :name, :company_name, :email, :password, :password_confirmation, :remember_me]}>, @_db_runtime=0, @_view_context_class=#<Class:0x0055f77d2b4bc8>, @_view_renderer=#<ActionView::Renderer:0x0055f77a513d68 @lookup_context=#<ActionView::LookupContext:0x0055f77a9c7af8 @details_key=#<Concurrent::Map:0x0055f77d2b1a68 entries=0 default_proc=nil>, @cache=true, @prefixes=["devise/sessions", "devise", "application"], @rendered_format=:html, @details={:locale=>[:en], :formats=>[:html], :variants=>[], :handlers=>[:raw, :erb, :html, :builder, :ruby, :coffee, :jbuilder, :haml]}, @view_paths=#<ActionView::PathSet:0x0055f77a9c79e0 @paths=[#<ActionView::OptimizedFileSystemResolver:0x0055f77c7bae48 @pattern=":prefix/:action{.:locale,}{.:formats,}{+:variants,}{.:handlers,}", @cache=#<ActionView::Resolver::Cache:0x55f77c7bae20 keys=4 queries=0>, @path="/home/deployer/apps/samuel-heath/releases/20231204081128/app/views">, #<ActionView::OptimizedFileSystemResolver:0x0055f77c7bb898 @pattern=":prefix/:action{.:locale,}{.:formats,}{+:variants,}{.:handlers,}", @cache=#<ActionView::Resolver::Cache:0x55f77c7bb820 keys=4 queries=0>, @path="/home/deployer/apps/samuel-heath/shared/bundle/ruby/2.4.0/gems/devise-4.7.1/app/views">, #<ActionView::OptimizedFileSystemResolver:0x0055f77c7d00b8 @pattern=":prefix/:action{.:locale,}{.:formats,}{+:variants,}{.:handlers,}", @cache=#<ActionView::Resolver::Cache:0x55f77c7d0068 keys=4 queries=0>, @path="/home/deployer/apps/samuel-heath/shared/bundle/ruby/2.4.0/gems/administrate-0.15.0/app/views">, #<ActionView::OptimizedFileSystemResolver:0x0055f77c7d0630 @pattern=":prefix/:action{.:locale,}{.:formats,}{+:variants,}{.:handlers,}", @cache=#<ActionView::Resolver::Cache:0x55f77c7d0608 keys=4 queries=0>, @path="/home/deployer/apps/samuel-heath/shared/bundle/ruby/2.4.0/gems/kaminari-core-1.2.1/app/views">]>>>, @_url_options={:host=>"www.samuel-heath.com", :port=>nil, :protocol=>"https://", :_recall=>{:controller=>"devise/sessions", :action=>"new"}}, @user=#<User id: nil, email: "", created_at: nil, updated_at: nil, username: nil, approved: false, company_name: nil, name: nil>>, "action_dispatch.request.content_type"=>nil, "action_dispatch.request.request_parameters"=>{}, "rack.request.query_string"=>"", "rack.request.query_hash"=>{}, "action_dispatch.request.query_parameters"=>{}, "action_dispatch.request.parameters"=>{"controller"=>"devise/sessions", "action"=>"new"}, "action_dispatch.request.accepts"=>[#<Mime::Type:0x0055f77a9c6838 @synonyms=[], @symbol=nil, @string="*/*", @hash=2314343355505995050>], "action_dispatch.request.formats"=>[#<Mime::Type:0x0055f77a9c6838 @synonyms=[], @symbol=nil, @string="*/*", @hash=2314343355505995050>], "rack.request.cookie_hash"=>{}, "action_dispatch.cookies"=>#<ActionDispatch::Cookies::CookieJar:0x0055f77a9c55f0 ...>, "action_dispatch.request.unsigned_session_cookie"=>{"session_id"=>"9ba7fe94a9e78d2e841321335f0628ba"}}, @filtered_parameters=nil, @filtered_env=nil, @filtered_path=nil, @protocol=nil, @port=nil, @method=nil, @request_method=nil, @remote_ip=nil, @original_fullpath=nil, @fullpath=nil, @ip=nil>, @cookies={}, @committed=false, @encrypted=#<ActionDispatch::Cookies::EncryptedKeyRotatingCookieJar:0x0055f77a9c5528 ...>, @signed_or_encrypted=#<ActionDispatch::Cookies::EncryptedKeyRotatingCookieJar:0x0055f77a9c5528 ...>, @signed=#<ActionDispatch::Cookies::SignedKeyRotatingCookieJar:0x0055f77a9c4d30 @parent_jar=#<ActionDispatch::Cookies::CookieJar:0x0055f77a9c55f0 ...>, @verifier=#<ActiveSupport::MessageVerifier:0x0055f77a9c4c68 @secret="\xA9\ewLQ\xFC\x03N\x8F\x87i\xF5\xB4\x80iz\x11\xAD\v\x90\x9B,\xCB\xCBi\x01\xC7C\xCF&$$m\xB5\x9A\xE1\xA9\xE8\xA2d5e\x1Ei\x98\xB2\xFD\xD0\xEE\e\xEE\x1C\v\x05!\x1Dt\x89nX\x92\xD6\xB9\x82", @digest="SHA1", @serializer=ActiveSupport::MessageEncryptor::NullSerializer, @options={:digest=>"SHA1", :serializer=>ActiveSupport::MessageEncryptor::NullSerializer}, @rotations=[]>>>, @encryptor=#<ActiveSupport::MessageEncryptor:0x0055f77a9c5398 @secret="\x1A\xFE,\x80\x01H\xA6\xF2\xFBK\xF2.!\xC4\xCB\x98\xED\xA8\xEE\nE\xA9;\xD8\x8C\xE5\x18F'\x97\xD9\xE9", @sign_secret="s\x84\xE0\x0Ftk\x80x\x9A\xEAJ \xD9|2\x9F\xD6\xC7\xA6\e\x95\xEAwt\x89}\x8A\xC6\xB2\x0E\xAD\x1C\xC5\x98\x87\xB0\xBE\xA1n\x7F=\xEBG\x04\x7F\xCFNi\xEF\xC6\x06\x94\x88E\x0FU\x9F\x8ERKA\xD0\xA6O", @cipher="aes-256-cbc", @aead_mode=false, @digest="SHA1", @verifier=#<ActiveSupport::MessageVerifier:0x0055f77a9c5168 @secret="s\x84\xE0\x0Ftk\x80x\x9A\xEAJ \xD9|2\x9F\xD6\xC7\xA6\e\x95\xEAwt\x89}\x8A\xC6\xB2\x0E\xAD\x1C\xC5\x98\x87\xB0\xBE\xA1n\x7F=\xEBG\x04\x7F\xCFNi\xEF\xC6\x06\x94\x88E\x0FU\x9F\x8ERKA\xD0\xA6O", @digest="SHA1", @serializer=ActiveSupport::MessageEncryptor::NullSerializer, @options={:digest=>"SHA1", :serializer=>ActiveSupport::MessageEncryptor::NullSerializer}, @rotations=[]>, @serializer=ActiveSupport::MessageEncryptor::NullSerializer, @options={:cipher=>"aes-256-cbc", :serializer=>ActiveSupport::MessageEncryptor::NullSerializer}, @rotations=[]>>
UK | US

Exclusive access

We think that you are in the
UK

Please choose your preferred location.
This is important because product specifications can be different in each location.

US UK