From d4c5192a1e9ea6ef648d98fbb68e049f7f72aab7 Mon Sep 17 00:00:00 2001 From: khenson-oddball <145150351+khenson-oddball@users.noreply.github.com> Date: Fri, 26 Apr 2024 14:43:17 -0600 Subject: [PATCH] Facilities API v2 config, model, and services (#16463) * Add v2 routes for Facilities API * Add Facilities API v2 model * Add Facilities API v2 config and services * Fix codeowners and linting issues * Linting fixes * Fix linting * More linting fixes --- .github/CODEOWNERS | 1 + config/initializers/statsd.rb | 11 + .../facilities_api/v2/lighthouse/facility.rb | 55 +++ .../facilities_api/v2/lighthouse/client.rb | 56 +++ .../v2/lighthouse/configuration.rb | 41 ++ .../v2/lighthouse/middleware/errors.rb | 31 ++ .../facilities_api/v2/lighthouse/response.rb | 60 +++ modules/facilities_api/config/routes.rb | 5 + .../v2/lighthouse/facility_spec.rb | 63 +++ .../v2/lighthouse/client_spec.rb | 228 +++++++++ .../facilities/va/lighthouse.yml | 431 +++++++++++++++++- .../lighthouse/facilities_401.yml | 48 +- 12 files changed, 1027 insertions(+), 3 deletions(-) create mode 100644 modules/facilities_api/app/models/facilities_api/v2/lighthouse/facility.rb create mode 100644 modules/facilities_api/app/services/facilities_api/v2/lighthouse/client.rb create mode 100644 modules/facilities_api/app/services/facilities_api/v2/lighthouse/configuration.rb create mode 100644 modules/facilities_api/app/services/facilities_api/v2/lighthouse/middleware/errors.rb create mode 100644 modules/facilities_api/app/services/facilities_api/v2/lighthouse/response.rb create mode 100644 modules/facilities_api/spec/models/facilities_api/v2/lighthouse/facility_spec.rb create mode 100644 modules/facilities_api/spec/services/facilities_api/v2/lighthouse/client_spec.rb diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 9b83ea08576..1a80f8218b7 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1884,6 +1884,7 @@ spec/support/vcr_cassettes/lighthouse/benefits_intake/200_lighthouse_intake_bulk spec/support/vcr_cassettes/lighthouse/benefits_intake/200_lighthouse_intake_bulk_status_report_success.yml @department-of-veterans-affairs/platform-va-product-forms @department-of-veterans-affairs/Disability-Experience @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group spec/support/vcr_cassettes/lighthouse/claims/200_response.yml @department-of-veterans-affairs/Disability-Experience @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group @department-of-veterans-affairs/dbex-trex spec/support/vcr_cassettes/lighthouse/direct_deposit @department-of-veterans-affairs/vfs-authenticated-experience-backend @department-of-veterans-affairs/dbex-trex @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group +spec/support/vcr_cassettes/lighthouse/facilities_401.yml @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group @department-of-veterans-affairs/vfs-facilities-frontend spec/support/vcr_cassettes/lighthouse/veteran_verification @department-of-veterans-affairs/benefits-management-tools-be @department-of-veterans-affairs/dbex-trex @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group spec/support/vcr_cassettes/mail_automation @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group spec/support/vcr_cassettes/map @department-of-veterans-affairs/octo-identity diff --git a/config/initializers/statsd.rb b/config/initializers/statsd.rb index de7eaab70d6..0e2f5ba9130 100644 --- a/config/initializers/statsd.rb +++ b/config/initializers/statsd.rb @@ -96,6 +96,17 @@ StatsD.measure('facilities.lighthouse', duration, tags: ['facilities.lighthouse']) end + ActiveSupport::Notifications.subscribe( + 'lighthouse.facilities.v2.request.faraday' + ) do |_, start_time, end_time, _, payload| + payload_statuses = ["http_status:#{payload.status}"] + StatsD.increment('facilities.lighthouse.v2.response.failures', tags: payload_statuses) unless payload.success? + StatsD.increment('facilities.lighthouse.v2.response.total', tags: payload_statuses) + + duration = end_time - start_time + StatsD.measure('facilities.lighthouse.v2', duration, tags: ['facilities.lighthouse']) + end + # IAM SSOe session metrics StatsD.set('iam_ssoe_oauth.users', 0) diff --git a/modules/facilities_api/app/models/facilities_api/v2/lighthouse/facility.rb b/modules/facilities_api/app/models/facilities_api/v2/lighthouse/facility.rb new file mode 100644 index 00000000000..fb4ddd4fb9e --- /dev/null +++ b/modules/facilities_api/app/models/facilities_api/v2/lighthouse/facility.rb @@ -0,0 +1,55 @@ +# frozen_string_literal: true + +require 'common/models/base' + +module FacilitiesApi + class V2::Lighthouse::Facility < Common::Base + include ActiveModel::Serializers::JSON + + attribute :access, Object + attribute :active_status, String + attribute :address, Object + attribute :classification, String + attribute :detailed_services, Object + attribute :distance, Float + attribute :facility_type, String + attribute :facility_type_prefix, String + attribute :feedback, Object + attribute :hours, Object + attribute :id, String + attribute :lat, Float + attribute :long, Float + attribute :mobile, Boolean + attribute :name, String + attribute :operating_status, Object + attribute :operational_hours_special_instructions, String + attribute :parent, Object + attribute :phone, Object + attribute :services, Object + attribute :time_zone, String + attribute :type, String + attribute :unique_id, String + attribute :visn, String + attribute :website, String + attribute :tmp_covid_online_scheduling, Boolean + + def initialize(fac) + super(fac) + set_attributes(fac) + + self.id = fac['id'] + self.access = fac['attributes']['wait_times'] + self.facility_type_prefix, self.unique_id = fac['id'].split('_') + self.feedback = fac['attributes']['satisfaction'] + self.type = fac['type'] + end + + private + + def set_attributes(fac) + fac['attributes'].each_key do |key| + self[key.underscore] = fac['attributes'][key] if attributes.include?(key.underscore.to_sym) + end + end + end +end diff --git a/modules/facilities_api/app/services/facilities_api/v2/lighthouse/client.rb b/modules/facilities_api/app/services/facilities_api/v2/lighthouse/client.rb new file mode 100644 index 00000000000..b1447b8bfb0 --- /dev/null +++ b/modules/facilities_api/app/services/facilities_api/v2/lighthouse/client.rb @@ -0,0 +1,56 @@ +# frozen_string_literal: true + +require 'common/client/base' +require_relative 'response' +require_relative 'configuration' + +module FacilitiesApi + module V2 + module Lighthouse + # Documentation located at: + # https://developer.va.gov/explore/api/va-facilities/docs + class Client < Common::Client::Base + configuration V2::Lighthouse::Configuration + + ## + # Request a single facility + # @param id [String] the id of the facility created by combining the type of facility and station number + # @example client.get_by_id(vha_358) + # @return [V2::Lighthouse::Facility] + # + def get_by_id(id) + response = perform(:get, "/services/va_facilities/v1/facilities/#{id}", nil) + V2::Lighthouse::Response.new(response.body, response.status).facility + end + + ## + # Request a list of all facilities or only facilities matching the params provided + # @param params [Hash] a hash of parameter objects + # see https://developer.va.gov/explore/api/va-facilities/docs for more options + # @example client.get_facilities(bbox: [60.99, 10.54, 180.00, 20.55]) + # @example client.get_facilities(facilityIds: 'vha_358,vba_358') + # @example client.get_facilities(lat: 10.54, long: 180.00, per_page: 50, page: 2) + # @return [Array] + # + def get_facilities(params) + filtered_params = params.slice(:facilityIds, :mobile, :page, :per_page, :services, :type, :visn) + + if params.key?(:bbox) + filtered_params.merge!(params.slice(:bbox)) + elsif params.key?(:lat) && params.key?(:long) + filtered_params.merge!(params.slice(:lat, :long, :radius)) + elsif params.key?(:state) + filtered_params.merge!(params.slice(:state)) + elsif params.key?(:zip) + filtered_params.merge!(params.slice(:zip)) + elsif params.key?(:facilityIds) + filtered_params.merge!(params.slice(:facilityIds)) + end + + response = perform(:get, '/services/va_facilities/v1/facilities', filtered_params) + V2::Lighthouse::Response.new(response.body, response.status).facilities + end + end + end + end +end diff --git a/modules/facilities_api/app/services/facilities_api/v2/lighthouse/configuration.rb b/modules/facilities_api/app/services/facilities_api/v2/lighthouse/configuration.rb new file mode 100644 index 00000000000..462cd342970 --- /dev/null +++ b/modules/facilities_api/app/services/facilities_api/v2/lighthouse/configuration.rb @@ -0,0 +1,41 @@ +# frozen_string_literal: true + +require 'common/client/configuration/rest' +require 'common/client/middleware/response/raise_error' +require_relative 'middleware/errors' + +module FacilitiesApi + module V2 + module Lighthouse + class Configuration < Common::Client::Configuration::REST + def base_path + Settings.lighthouse.facilities.url + end + + def service_name + 'Lighthouse_Facilities' + end + + def self.base_request_headers + super.merge('apiKey' => Settings.lighthouse.facilities.api_key) + end + + def connection + Faraday.new(base_path, headers: base_request_headers, request: request_options) do |conn| + conn.use :breakers + conn.request :instrumentation, name: 'lighthouse.facilities.v2.request.faraday' + + # Uncomment this if you want curl command equivalent or response output to log + # conn.request(:curl, ::Logger.new(STDOUT), :warn) unless Rails.env.production? + # conn.response(:logger, ::Logger.new(STDOUT), bodies: true) unless Rails.env.production? + + conn.response :raise_error, error_prefix: service_name + conn.response :lighthouse_facilities_errors + + conn.adapter Faraday.default_adapter + end + end + end + end + end +end diff --git a/modules/facilities_api/app/services/facilities_api/v2/lighthouse/middleware/errors.rb b/modules/facilities_api/app/services/facilities_api/v2/lighthouse/middleware/errors.rb new file mode 100644 index 00000000000..b675a7284e8 --- /dev/null +++ b/modules/facilities_api/app/services/facilities_api/v2/lighthouse/middleware/errors.rb @@ -0,0 +1,31 @@ +# frozen_string_literal: true + +module FacilitiesApi + module V2 + module Lighthouse + module Middleware + class Errors < Faraday::Middleware + def on_complete(env) + return if env.success? + + env.body = parse_body(env) + end + + private + + def parse_body(env) + body = JSON.parse(env.body) + message = body['message'] + + body['detail'] = message + body['code'] = env.status + body['source'] = 'Lighthouse Facilities' + + body + end + end + end + end + end +end +Faraday::Response.register_middleware lighthouse_facilities_errors: FacilitiesApi::V2::Lighthouse::Middleware::Errors diff --git a/modules/facilities_api/app/services/facilities_api/v2/lighthouse/response.rb b/modules/facilities_api/app/services/facilities_api/v2/lighthouse/response.rb new file mode 100644 index 00000000000..abd35bff1eb --- /dev/null +++ b/modules/facilities_api/app/services/facilities_api/v2/lighthouse/response.rb @@ -0,0 +1,60 @@ +# frozen_string_literal: true + +require 'common/models/base' + +module FacilitiesApi + module V2 + module Lighthouse + class Response < Common::Base + attribute :body, String + attribute :current_page, Integer + attribute :data, Object + attribute :links, Object + attribute :meta, Object + attribute :per_page, Integer + attribute :status, Integer + attribute :total_entries, Integer + + def initialize(body, status) + super() + self.body = body + self.status = status + parsed_body = JSON.parse(body) + self.data = parsed_body['data'] + self.meta = parsed_body['meta'] + self.links = parsed_body['links'] + set_metadata(meta) if meta + end + + def facilities + facilities = data.each_with_index.map do |facility, index| + fac = V2::Lighthouse::Facility.new(facility) + fac.distance = meta['distances'][index]['distance'] if meta['distances'] + fac + end + + paginate_response(facilities) + end + + def facility + V2::Lighthouse::Facility.new(data) + end + + private + + def set_metadata(meta) + self.current_page = meta['pagination']['currentPage'] + self.per_page = meta['pagination']['perPage'] + self.total_entries = meta['pagination']['totalEntries'] + end + + def paginate_response(facilities) + WillPaginate::Collection.create(current_page, per_page) do |pager| + pager.replace(facilities) + pager.total_entries = total_entries + end + end + end + end + end +end diff --git a/modules/facilities_api/config/routes.rb b/modules/facilities_api/config/routes.rb index 63fb54e89d5..60bf3eeb212 100644 --- a/modules/facilities_api/config/routes.rb +++ b/modules/facilities_api/config/routes.rb @@ -14,5 +14,10 @@ resources :va, only: %i[index show] end + namespace :v2, defaults: { format: 'json' } do + resources :va, only: :show + post 'va', to: 'va#search' + end + resources :apidocs, only: [:index] end diff --git a/modules/facilities_api/spec/models/facilities_api/v2/lighthouse/facility_spec.rb b/modules/facilities_api/spec/models/facilities_api/v2/lighthouse/facility_spec.rb new file mode 100644 index 00000000000..6a4e81eb573 --- /dev/null +++ b/modules/facilities_api/spec/models/facilities_api/v2/lighthouse/facility_spec.rb @@ -0,0 +1,63 @@ +# frozen_string_literal: true + +require 'rails_helper' + +describe FacilitiesApi::V2::Lighthouse::Facility, team: :facilities, type: :model do + context 'Creating' do + let(:attributes) do + { + 'attributes' => { + 'satisfaction' => { + health: { + primary_care_urgent: 0.8700000047683716, + primary_care_routine: 0.8700000047683716 + }, + effective_date: '2024-02-08' + } + }, + 'id' => 'abc_123', + 'type' => 'va_facilities' + } + end + + it 'has object defaults' do + facility = FacilitiesApi::V2::Lighthouse::Facility.new(attributes) + expect(facility.attributes).to match( + { + access: nil, + active_status: nil, + address: nil, + classification: nil, + detailed_services: nil, + distance: nil, + facility_type: nil, + facility_type_prefix: 'abc', + feedback: { + health: { + primary_care_urgent: 0.8700000047683716, + primary_care_routine: 0.8700000047683716 + }, + effective_date: '2024-02-08' + }, + hours: nil, + id: 'abc_123', + lat: nil, + long: nil, + mobile: nil, + name: nil, + operating_status: nil, + operational_hours_special_instructions: nil, + parent: nil, + phone: nil, + services: nil, + time_zone: nil, + type: 'va_facilities', + unique_id: '123', + visn: nil, + website: nil, + tmp_covid_online_scheduling: nil + } + ) + end + end +end diff --git a/modules/facilities_api/spec/services/facilities_api/v2/lighthouse/client_spec.rb b/modules/facilities_api/spec/services/facilities_api/v2/lighthouse/client_spec.rb new file mode 100644 index 00000000000..bdc8f87a0cc --- /dev/null +++ b/modules/facilities_api/spec/services/facilities_api/v2/lighthouse/client_spec.rb @@ -0,0 +1,228 @@ +# frozen_string_literal: true + +require 'rails_helper' + +vcr_options = { + cassette_name: '/facilities/va/lighthouse', + match_requests_on: %i[path query], + allow_playback_repeats: true, + record: :new_episodes +} + +RSpec.describe FacilitiesApi::V2::Lighthouse::Client, team: :facilities, vcr: vcr_options do + let(:facilities_client) { described_class.new } + + let(:params) do + { + bbox: [60.99, 10.54, 180.00, 20.55] # includes the Phillipines and Guam + } + end + + let(:vha_358_attributes) do + { + id: 'vha_358', + type: 'va_facilities', + name: 'Manila VA Clinic', + facility_type: 'va_health_facility', + classification: 'Other Outpatient Services (OOS)', + parent: { + id: 'vha_358', + link: 'https://sandbox-api.va.gov/services/va_facilities/v1/facilities/vha_358' + }, + lat: 14.54408, + long: 120.99139, + time_zone: 'Asia/Manila', + address: { + physical: { + zip: '01302', + city: 'Pasay City', + state: 'PH', + address1: '1501 Roxas Boulevard', + address2: 'NOX3 Seafront Compound' + } + }, + phone: { + main: '808-433-5254', + pharmacy: '808-433-5254', + patientAdvocate: '808-433-5254', + enrollmentCoordinator: '808-433-5254' + }, + hours: { + monday: '730AM-430PM', + tuesday: '730AM-430PM', + wednesday: '730AM-430PM', + thursday: '730AM-430PM', + friday: '730AM-430PM', + saturday: 'Closed', + sunday: 'Closed' + }, + services: { + health: [ + { + name: 'Audiology', + serviceId: 'audiology', + link: 'https://sandbox-api.va.gov/services/va_facilities/v1/facilities/vha_358/services/audiology' + }, + { + name: 'Cardiology', + serviceId: 'cardiology', + link: 'https://sandbox-api.va.gov/services/va_facilities/v1/facilities/vha_358/services/cardiology' + }, + { + name: 'Dermatology', + serviceId: 'dermatology', + link: 'https://sandbox-api.va.gov/services/va_facilities/v1/facilities/vha_358/services/dermatology' + }, + { + name: 'Gastroenterology', + serviceId: 'gastroenterology', + link: 'https://sandbox-api.va.gov/services/va_facilities/v1/facilities/vha_358/services/gastroenterology' + }, + { + name: 'MentalHealth', + serviceId: 'mentalHealth', + link: 'https://sandbox-api.va.gov/services/va_facilities/v1/facilities/vha_358/services/mentalHealth' + }, + { + name: 'Ophthalmology', + serviceId: 'ophthalmology', + link: 'https://sandbox-api.va.gov/services/va_facilities/v1/facilities/vha_358/services/ophthalmology' + } + ], + link: 'https://sandbox-api.va.gov/services/va_facilities/v1/facilities/vha_358/services', + lastUpdated: '2024-04-17' + }, + feedback: { + health: { + specialtyCareUrgent: 0.0, + specialtyCareRoutine: 0.8399999737739563 + }, + effectiveDate: '2024-02-08' + }, + mobile: false, + operating_status: { + code: 'NORMAL' + }, + visn: '21' + }.with_indifferent_access + end + + context 'with an http timeout' do + it 'logs an error and raise GatewayTimeout' do + allow_any_instance_of(Faraday::Connection).to receive(:get).and_raise(Faraday::TimeoutError) + expect do + facilities_client.get_facilities(params) + end.to raise_error(Common::Exceptions::GatewayTimeout) + end + end + + context 'with a bad API key', vcr: vcr_options.merge(cassette_name: '/lighthouse/facilities_401') do + it 'returns a 401 error' do + expect { facilities_client.get_by_id('vha_358') } + .to raise_error do |e| + expect(e).to be_a(Common::Exceptions::BackendServiceException) + expect(e.status_code).to eq(401) + expect(e.errors.first[:detail]).to eq('Invalid authentication credentials') + expect(e.errors.first[:code]).to eq('LIGHTHOUSE_FACILITIES401') + end + end + end + + context 'StatsD notifications' do + context 'Lighthouse responds successfully' do + it "sends a 'facilities.lighthouse.request.faraday' notification to any subscribers listening" do + allow(StatsD).to receive(:increment) + + expect(StatsD).to receive(:increment).with( + 'facilities.lighthouse.v2.response.total', + hash_including( + tags: [ + 'http_status:200' + ] + ) + ) + + expect do + FacilitiesApi::V2::Lighthouse::Client.new.get_facilities(params) + end.to instrument('lighthouse.facilities.v2.request.faraday') + end + end + + context 'Lighthouse responds with a failure', vcr: vcr_options.merge(cassette_name: '/lighthouse/facilities_401') do + it "sends a 'facilities.lighthouse.request.faraday' notification to any subscribers listening" do + allow(StatsD).to receive(:measure) + allow(StatsD).to receive(:increment) + + expect(StatsD).to receive(:increment).with( + 'facilities.lighthouse.v2.response.total', + hash_including( + tags: [ + 'http_status:401' + ] + ) + ) + expect(StatsD).to receive(:increment).with( + 'facilities.lighthouse.v2.response.failures', + hash_including( + tags: [ + 'http_status:401' + ] + ) + ) + + expect do + FacilitiesApi::V2::Lighthouse::Client.new.get_by_id('vha_358') + end.to raise_error( + Common::Exceptions::BackendServiceException + ).and instrument('lighthouse.facilities.v2.request.faraday') + end + end + end + + describe '#get_by_id' do + it 'returns a facility' do + r = facilities_client.get_by_id('vha_358') + expect(r).to be_a(FacilitiesApi::V2::Lighthouse::Facility) + expect(r).to have_attributes(vha_358_attributes) + end + + it 'has operational_hours_special_instructions' do + r = facilities_client.get_by_id('vc_0617V') + instructions = ['More hours are available for some services. To learn more, call our main phone number.', + 'If you need to talk to someone or get advice right away, call the Vet Center anytime at ' \ + '1-877-WAR-VETS (1-877-927-8387).'] + expect(r[:operational_hours_special_instructions]).to eql(instructions) + end + + it 'returns a 404 error' do + expect { facilities_client.get_by_id('bha_358') } + .to raise_error do |e| + expect(e).to be_a(Common::Exceptions::BackendServiceException) + expect(e.status_code).to eq(404) + expect(e.errors.first[:detail]).to eq('Record not found') + expect(e.errors.first[:code]).to eq('LIGHTHOUSE_FACILITIES404') + end + end + end + + describe '#get_facilities' do + it 'returns matching facilities for bbox request' do + r = facilities_client.get_facilities(params) + expect(r.length).to be 9 + expect(r[1]).to have_attributes(vha_358_attributes) + end + + it 'returns matching facilities for lat and long request with distance' do + r = facilities_client.get_facilities(lat: 13.54, long: 121.00) + expect(r.length).to be 10 + expect(r[1]).to have_attributes(vha_358_attributes) + expect(r[1].distance).to eq(69.38) + end + + it 'returns all facilities when a bad param is supplied' do + r = facilities_client.get_facilities({ taco: true }) + expect(r.length).to be 10 + expect(r[0]).to be_a(FacilitiesApi::V2::Lighthouse::Facility) + end + end +end diff --git a/spec/support/vcr_cassettes/facilities/va/lighthouse.yml b/spec/support/vcr_cassettes/facilities/va/lighthouse.yml index f5f0b5d5e67..72e70198cf3 100644 --- a/spec/support/vcr_cassettes/facilities/va/lighthouse.yml +++ b/spec/support/vcr_cassettes/facilities/va/lighthouse.yml @@ -1665,4 +1665,433 @@ http_interactions: hours are available for some services. To learn more, call our main phone number. |","services":{"other":[],"health":["Audiology","DentalServices","Dermatology","MentalHealthCare","Ophthalmology","Optometry","Podiatry","PrimaryCare","SpecialtyCare"],"last_updated":"2022-01-23"},"satisfaction":{"health":{"primary_care_urgent":0.7699999809265137,"primary_care_routine":0.8500000238418579},"effective_date":"2021-03-05"},"wait_times":{"health":[{"service":"Audiology","new":55.086206,"established":37.246987},{"service":"Dermatology","new":17.560975,"established":20.969072},{"service":"MentalHealthCare","new":14.517241,"established":2.246827},{"service":"Ophthalmology","new":0.0,"established":4.738461},{"service":"Optometry","new":50.153846,"established":35.526462},{"service":"PrimaryCare","new":27.194029,"established":6.768304},{"service":"SpecialtyCare","new":34.296774,"established":29.446508}],"effective_date":"2022-01-23"},"mobile":false,"active_status":"A","operating_status":{"code":"NORMAL"},"detailed_services":null,"visn":"20"}}}' recorded_at: Mon, 31 Jan 2022 17:49:51 GMT -recorded_with: VCR 6.0.0 +- request: + method: get + uri: https://sandbox-api.va.gov/services/va_facilities/v1/facilities/bha_358 + body: + encoding: US-ASCII + string: '' + headers: + Accept: + - application/json + Content-Type: + - application/json + User-Agent: + - Vets.gov Agent + Apikey: + - "" + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + response: + status: + code: 404 + message: '' + headers: + Date: + - Fri, 19 Apr 2024 21:22:04 GMT + Content-Type: + - application/json + Connection: + - keep-alive + X-Ratelimit-Remaining-Minute: + - '59' + X-Ratelimit-Limit-Minute: + - '60' + Ratelimit-Remaining: + - '59' + Ratelimit-Limit: + - '60' + Ratelimit-Reset: + - '56' + Strict-Transport-Security: + - max-age=16000000; includeSubDomains; preload; + - max-age=31536000; includeSubDomains; preload + Access-Control-Allow-Origin: + - "*" + Cache-Control: + - '' + X-Frame-Options: + - SAMEORIGIN + Transfer-Encoding: + - chunked + body: + encoding: ASCII-8BIT + string: '{"errors":[{"title":"Record not found","detail":"The record identified + by bha_358 could not be found","code":"404","status":"404"}]}' + recorded_at: Fri, 19 Apr 2024 21:22:04 GMT +- request: + method: get + uri: https://sandbox-api.va.gov/services/va_facilities/v1/facilities/vha_358 + body: + encoding: US-ASCII + string: '' + headers: + Accept: + - application/json + Content-Type: + - application/json + User-Agent: + - Vets.gov Agent + Apikey: + - "" + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + response: + status: + code: 200 + message: '' + headers: + Date: + - Fri, 19 Apr 2024 21:22:04 GMT + Content-Type: + - application/json + Connection: + - keep-alive + X-Ratelimit-Limit-Minute: + - '60' + Ratelimit-Remaining: + - '58' + Ratelimit-Reset: + - '56' + Ratelimit-Limit: + - '60' + X-Ratelimit-Remaining-Minute: + - '58' + Strict-Transport-Security: + - max-age=16000000; includeSubDomains; preload; + - max-age=31536000; includeSubDomains; preload + Access-Control-Allow-Origin: + - "*" + Cache-Control: + - '' + - no-cache, no-store + X-Frame-Options: + - SAMEORIGIN + Pragma: + - no-cache + Transfer-Encoding: + - chunked + body: + encoding: ASCII-8BIT + string: '{"data":{"id":"vha_358","type":"va_facilities","attributes":{"name":"Manila + VA Clinic","facilityType":"va_health_facility","classification":"Other Outpatient + Services (OOS)","parent":{"id":"vha_358","link":"https://sandbox-api.va.gov/services/va_facilities/v1/facilities/vha_358"},"lat":14.54408,"long":120.99139,"timeZone":"Asia/Manila","address":{"physical":{"zip":"01302","city":"Pasay + City","state":"PH","address1":"1501 Roxas Boulevard","address2":"NOX3 Seafront + Compound"}},"phone":{"main":"808-433-5254","pharmacy":"808-433-5254","patientAdvocate":"808-433-5254","enrollmentCoordinator":"808-433-5254"},"hours":{"monday":"730AM-430PM","tuesday":"730AM-430PM","wednesday":"730AM-430PM","thursday":"730AM-430PM","friday":"730AM-430PM","saturday":"Closed","sunday":"Closed"},"services":{"health":[{"name":"Audiology","serviceId":"audiology","link":"https://sandbox-api.va.gov/services/va_facilities/v1/facilities/vha_358/services/audiology"},{"name":"Cardiology","serviceId":"cardiology","link":"https://sandbox-api.va.gov/services/va_facilities/v1/facilities/vha_358/services/cardiology"},{"name":"Dermatology","serviceId":"dermatology","link":"https://sandbox-api.va.gov/services/va_facilities/v1/facilities/vha_358/services/dermatology"},{"name":"Gastroenterology","serviceId":"gastroenterology","link":"https://sandbox-api.va.gov/services/va_facilities/v1/facilities/vha_358/services/gastroenterology"},{"name":"MentalHealth","serviceId":"mentalHealth","link":"https://sandbox-api.va.gov/services/va_facilities/v1/facilities/vha_358/services/mentalHealth"},{"name":"Ophthalmology","serviceId":"ophthalmology","link":"https://sandbox-api.va.gov/services/va_facilities/v1/facilities/vha_358/services/ophthalmology"}],"link":"https://sandbox-api.va.gov/services/va_facilities/v1/facilities/vha_358/services","lastUpdated":"2024-04-17"},"satisfaction":{"health":{"specialtyCareUrgent":0.0,"specialtyCareRoutine":0.8399999737739563},"effectiveDate":"2024-02-08"},"mobile":false,"operatingStatus":{"code":"NORMAL"},"visn":"21"}}}' + recorded_at: Fri, 19 Apr 2024 21:22:04 GMT +- request: + method: get + uri: https://sandbox-api.va.gov/services/va_facilities/v1/facilities/vc_0617V + body: + encoding: US-ASCII + string: '' + headers: + Accept: + - application/json + Content-Type: + - application/json + User-Agent: + - Vets.gov Agent + Apikey: + - "" + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + response: + status: + code: 200 + message: '' + headers: + Date: + - Fri, 19 Apr 2024 21:22:05 GMT + Content-Type: + - application/json + Connection: + - keep-alive + X-Ratelimit-Remaining-Minute: + - '57' + X-Ratelimit-Limit-Minute: + - '60' + Ratelimit-Remaining: + - '57' + Ratelimit-Limit: + - '60' + Ratelimit-Reset: + - '55' + Strict-Transport-Security: + - max-age=16000000; includeSubDomains; preload; + - max-age=31536000; includeSubDomains; preload + Access-Control-Allow-Origin: + - "*" + Cache-Control: + - '' + - no-cache, no-store + X-Frame-Options: + - SAMEORIGIN + Pragma: + - no-cache + Transfer-Encoding: + - chunked + body: + encoding: ASCII-8BIT + string: '{"data":{"id":"vc_0617V","type":"va_facilities","attributes":{"name":"Portland, + OR Vet Center","facilityType":"vet_center","parent":{"id":"vc_648","link":"https://sandbox-api.va.gov/services/va_facilities/v1/facilities/vc_648"},"website":"https://www.va.gov/portland-or-vet-center/","lat":45.534159,"long":-122.53765748,"timeZone":"America/Los_Angeles","address":{"physical":{"zip":"97230","city":"Portland","state":"OR","address1":"1505 + NE 122nd Avenue"}},"phone":{"fax":"503-688-5364","main":"503-688-5361"},"hours":{"monday":"800AM-430PM","tuesday":"800AM-430PM","wednesday":"800AM-430PM","thursday":"800AM-430PM","friday":"800AM-430PM","saturday":"Closed","sunday":"Closed"},"operationalHoursSpecialInstructions":["More + hours are available for some services. To learn more, call our main phone + number.","If you need to talk to someone or get advice right away, call the + Vet Center anytime at 1-877-WAR-VETS (1-877-927-8387)."],"services":{"health":[{"name":"Addiction + and substance use care","serviceId":"addiction","link":"https://sandbox-api.va.gov/services/va_facilities/v1/facilities/vc_0617V/services/addiction"},{"name":"Community + engagement","serviceId":"communityEngagement","link":"https://sandbox-api.va.gov/services/va_facilities/v1/facilities/vc_0617V/services/communityEngagement"},{"name":"Intimate + partner violence support","serviceId":"domesticAbuseSupport","link":"https://sandbox-api.va.gov/services/va_facilities/v1/facilities/vc_0617V/services/domesticAbuseSupport"},{"name":"Couples + and family counseling","serviceId":"familyCounseling","link":"https://sandbox-api.va.gov/services/va_facilities/v1/facilities/vc_0617V/services/familyCounseling"},{"name":"Grief + and bereavement counseling","serviceId":"griefCounseling","link":"https://sandbox-api.va.gov/services/va_facilities/v1/facilities/vc_0617V/services/griefCounseling"},{"name":"Homeless + Veteran care","serviceId":"homeless","link":"https://sandbox-api.va.gov/services/va_facilities/v1/facilities/vc_0617V/services/homeless"},{"name":"LGBTQ+ + Veteran care","serviceId":"lgbtq","link":"https://sandbox-api.va.gov/services/va_facilities/v1/facilities/vc_0617V/services/lgbtq"},{"name":"Military + sexual trauma care","serviceId":"militarySexualTrauma","link":"https://sandbox-api.va.gov/services/va_facilities/v1/facilities/vc_0617V/services/militarySexualTrauma"},{"name":"Minority + Veteran care","serviceId":"minorityCare","link":"https://sandbox-api.va.gov/services/va_facilities/v1/facilities/vc_0617V/services/minorityCare"},{"name":"PTSD + care","serviceId":"ptsd","link":"https://sandbox-api.va.gov/services/va_facilities/v1/facilities/vc_0617V/services/ptsd"},{"name":"Suicide + prevention","serviceId":"suicidePrevention","link":"https://sandbox-api.va.gov/services/va_facilities/v1/facilities/vc_0617V/services/suicidePrevention"},{"name":"Telehealth","serviceId":"telehealth","link":"https://sandbox-api.va.gov/services/va_facilities/v1/facilities/vc_0617V/services/telehealth"},{"name":"Returning + service member care","serviceId":"transitionCounseling","link":"https://sandbox-api.va.gov/services/va_facilities/v1/facilities/vc_0617V/services/transitionCounseling"},{"name":"Veteran + connections","serviceId":"veteranConnections","link":"https://sandbox-api.va.gov/services/va_facilities/v1/facilities/vc_0617V/services/veteranConnections"},{"name":"Women + Veteran care","serviceId":"womensHealth","link":"https://sandbox-api.va.gov/services/va_facilities/v1/facilities/vc_0617V/services/womensHealth"}],"link":"https://sandbox-api.va.gov/services/va_facilities/v1/facilities/vc_0617V/services"},"mobile":false,"operatingStatus":{"code":"NORMAL"},"visn":"20"}}}' + recorded_at: Fri, 19 Apr 2024 21:22:05 GMT +- request: + method: get + uri: https://sandbox-api.va.gov/services/va_facilities/v1/facilities + body: + encoding: US-ASCII + string: '' + headers: + Accept: + - application/json + Content-Type: + - application/json + User-Agent: + - Vets.gov Agent + Apikey: + - "" + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + response: + status: + code: 200 + message: '' + headers: + Date: + - Fri, 19 Apr 2024 21:22:06 GMT + Content-Type: + - application/json + Connection: + - keep-alive + X-Ratelimit-Remaining-Minute: + - '56' + X-Ratelimit-Limit-Minute: + - '60' + Ratelimit-Remaining: + - '56' + Ratelimit-Limit: + - '60' + Ratelimit-Reset: + - '54' + Strict-Transport-Security: + - max-age=16000000; includeSubDomains; preload; + - max-age=31536000; includeSubDomains; preload + Access-Control-Allow-Origin: + - "*" + Cache-Control: + - '' + - no-cache, no-store + X-Frame-Options: + - SAMEORIGIN + Pragma: + - no-cache + Transfer-Encoding: + - chunked + body: + encoding: ASCII-8BIT + string: '{"data":[{"id":"nca_042","type":"va_facilities","attributes":{"name":"Baxter + Springs City Soldiers'' Lot","facilityType":"va_cemetery","classification":"Soldiers + Lot","website":"https://www.cem.va.gov/cems/lots/BaxterSprings.asp","lat":37.03205750,"long":-94.77066050,"timeZone":"America/Chicago","address":{"mailing":{"zip":"66713","city":"Leavenworth","state":"KS","address1":"150 + Muncie Rd"},"physical":{"zip":"66713","city":"Baxter Springs","state":"KS","address1":"Baxter + Springs City Cemetery"}},"phone":{"fax":"9137584136","main":"9137584105"},"hours":{"monday":"Sunrise + - Sundown","tuesday":"Sunrise - Sundown","wednesday":"Sunrise - Sundown","thursday":"Sunrise + - Sundown","friday":"Sunrise - Sundown","saturday":"Sunrise - Sundown","sunday":"Sunrise + - Sundown"},"operatingStatus":{"code":"NORMAL"}}},{"id":"nca_054","type":"va_facilities","attributes":{"name":"Congressional + Cemetery Government Lots","facilityType":"va_cemetery","classification":"Government + Lots","website":"https://www.cem.va.gov/cems/lots/Congressional.asp","lat":38.88277970,"long":-76.97901110,"timeZone":"America/New_York","address":{"mailing":{"zip":"21228","city":"Baltimore","state":"MD","address1":"5501 + Frederick Avenue"},"physical":{"zip":"20003","city":"Washington","state":"DC","address1":"1801 + E Street, SE"}},"phone":{"fax":"4106441563","main":"4106449696"},"hours":{"monday":"Sunrise + - Sundown","tuesday":"Sunrise - Sundown","wednesday":"Sunrise - Sundown","thursday":"Sunrise + - Sundown","friday":"Sunrise - Sundown","saturday":"Sunrise - Sundown","sunday":"Sunrise + - Sundown"},"operatingStatus":{"code":"NORMAL"}}},{"id":"nca_055","type":"va_facilities","attributes":{"name":"Evergreen + Cemetery Soldiers'' Lot","facilityType":"va_cemetery","classification":"Soldiers + Lot","website":"https://www.cem.va.gov/cems/lots/Evergreen.asp","lat":39.06965130,"long":-84.46885410,"timeZone":"America/New_York","address":{"mailing":{"zip":"40356","city":"Nicholasville","state":"KY","address1":"6980 + Danville Rd"},"physical":{"zip":"41071","city":"Southgate","state":"KY","address1":"25 + South Alexandria Pike"}},"phone":{"fax":"859-887-4860","main":"859-885-5727"},"hours":{"monday":"Sunrise + - Sundown","tuesday":"Sunrise - Sundown","wednesday":"Sunrise - Sundown","thursday":"Sunrise + - Sundown","friday":"Sunrise - Sundown","saturday":"Sunrise - Sundown","sunday":"Sunrise + - Sundown"},"operatingStatus":{"code":"NORMAL"}}},{"id":"nca_058","type":"va_facilities","attributes":{"name":"Forest + Lawn Cemetery Soldiers'' Lot","facilityType":"va_cemetery","classification":"Soldiers + Lot","website":"https://www.cem.va.gov/cems/lots/ForestLawn.asp","lat":41.33124280,"long":-95.99361190,"timeZone":"America/Chicago","address":{"mailing":{"zip":"66048","city":"Leavenworth","state":"KS","address1":"150 + Muncie Rd"},"physical":{"zip":"68112","city":"Omaha","state":"NE","address1":"7909 + Mormon Bridge Rd"}},"phone":{"fax":"9137584136","main":"9137584105"},"hours":{"monday":"Sunrise + - Sundown","tuesday":"Sunrise - Sundown","wednesday":"Sunrise - Sundown","thursday":"Sunrise + - Sundown","friday":"Sunrise - Sundown","saturday":"Sunrise - Sundown","sunday":"Sunrise + - Sundown"},"operatingStatus":{"code":"NORMAL"}}},{"id":"nca_059","type":"va_facilities","attributes":{"name":"Fort + Crawford Cemetery Soldiers'' Lot","facilityType":"va_cemetery","classification":"Soldiers + Lot","website":"https://www.cem.va.gov/cems/lots/Fort_Crawford.asp","lat":43.04707820,"long":-91.14648480,"timeZone":"America/Chicago","address":{"mailing":{"zip":"53295-4000","city":"Milwaukee","state":"WI","address1":"5000 + W. National Ave, Bldg. 1301"},"physical":{"zip":"53821","city":"Prairie du + Chien","state":"WI","address1":"413 S. Beaumont Rd"}},"phone":{"fax":"4143825321","main":"4143825300"},"hours":{"monday":"Sunrise + - Sundown","tuesday":"Sunrise - Sundown","wednesday":"Sunrise - Sundown","thursday":"Sunrise + - Sundown","friday":"Sunrise - Sundown","saturday":"Sunrise - Sundown","sunday":"Sunrise + - Sundown"},"operatingStatus":{"code":"NORMAL"}}},{"id":"nca_061","type":"va_facilities","attributes":{"name":"Green + Mount Cemetery Soldiers'' Lot","facilityType":"va_cemetery","classification":"Soldiers + Lot","website":"https://www.cem.va.gov/cems/lots/Green_Mount.asp","lat":44.25730710,"long":-72.59974600,"timeZone":"America/New_York","address":{"mailing":{"zip":"02532","city":"Bourne","state":"MA","address1":"Off + Connery Ave."},"physical":{"zip":"05602","city":"Montpelier","state":"VT","address1":"250 + State Street"}},"phone":{"fax":"5085649946","main":"5085637113"},"hours":{"monday":"Sunrise + - Sundown","tuesday":"Sunrise - Sundown","wednesday":"Sunrise - Sundown","thursday":"Sunrise + - Sundown","friday":"Sunrise - Sundown","saturday":"Sunrise - Sundown","sunday":"Sunrise + - Sundown"},"operatingStatus":{"code":"NORMAL"}}},{"id":"nca_062","type":"va_facilities","attributes":{"name":"Lakeside + Cemetery Soldiers'' Lot","facilityType":"va_cemetery","classification":"Soldiers + Lot","website":"https://www.cem.va.gov/cems/lots/Lakeside.asp","lat":43.01735370,"long":-82.43269330,"timeZone":"America/Detroit","address":{"mailing":{"zip":"48442","city":"Holly","state":"MI","address1":"4200 + Belford Rd"},"physical":{"zip":"48060","city":"Port Huron","state":"MI","address1":"3781 + Gratiot St"}},"phone":{"fax":"2483280612","main":"2483280386"},"hours":{"monday":"Sunrise + - Sundown","tuesday":"Sunrise - Sundown","wednesday":"Sunrise - Sundown","thursday":"Sunrise + - Sundown","friday":"Sunrise - Sundown","saturday":"Sunrise - Sundown","sunday":"Sunrise + - Sundown"},"operatingStatus":{"code":"NORMAL"}}},{"id":"nca_063","type":"va_facilities","attributes":{"name":"Mound + Cemetery Soldiers'' Lot","facilityType":"va_cemetery","classification":"Soldiers + Lot","website":"https://www.cem.va.gov/cems/lots/Mound.asp","lat":42.71931550,"long":-87.81609560,"timeZone":"America/Chicago","address":{"mailing":{"zip":"53295-4000","city":"Milwaukee","state":"WI","address1":"5000 + W. National Ave, Bldg. 1301"},"physical":{"zip":"53405","city":"Racine","state":"WI","address1":"1147 + West Blvd"}},"phone":{"fax":"4143825321","main":"4143825300"},"hours":{"monday":"Sunrise + - Sundown","tuesday":"Sunrise - Sundown","wednesday":"Sunrise - Sundown","thursday":"Sunrise + - Sundown","friday":"Sunrise - Sundown","saturday":"Sunrise - Sundown","sunday":"Sunrise + - Sundown"},"operatingStatus":{"code":"NORMAL"}}},{"id":"nca_064","type":"va_facilities","attributes":{"name":"Mound + City Cemetery Soldiers'' Lot","facilityType":"va_cemetery","classification":"Soldiers + Lot","website":"https://www.cem.va.gov/cems/lots/MoundCity.asp","lat":38.14555200,"long":-94.81322820,"timeZone":"America/Chicago","address":{"mailing":{"zip":"66506","city":"Leavenworth","state":"KS","address1":"150 + Muncie Rd"},"physical":{"zip":"66506","city":"Mound City","state":"KS","address1":"Woodland + Cemetery"}},"phone":{"fax":"9137584136","main":"9137584105"},"hours":{"monday":"Sunrise + - Sundown","tuesday":"Sunrise - Sundown","wednesday":"Sunrise - Sundown","thursday":"Sunrise + - Sundown","friday":"Sunrise - Sundown","saturday":"Sunrise - Sundown","sunday":"Sunrise + - Sundown"},"operatingStatus":{"code":"NORMAL"}}},{"id":"nca_065","type":"va_facilities","attributes":{"name":"Mount + Moriah Cemetery Soldiers'' Lot","facilityType":"va_cemetery","classification":"Soldiers + Lot","website":"https://www.cem.va.gov/cems/lots/MountMoriah.asp","lat":39.93245530,"long":-75.23679670,"timeZone":"America/New_York","address":{"mailing":{"zip":"08010","city":"Beverly","state":"NJ","address1":"916 + Bridgeboro Road"},"physical":{"zip":"19142","city":"Philadelphia","state":"PA","address1":"62nd + Street and Kingsessing Avenue"}},"phone":{"fax":"6098714691","main":"6098775460"},"hours":{"monday":"Sunrise + - Sundown","tuesday":"Sunrise - Sundown","wednesday":"Sunrise - Sundown","thursday":"Sunrise + - Sundown","friday":"Sunrise - Sundown","saturday":"Sunrise - Sundown","sunday":"Sunrise + - Sundown"},"operatingStatus":{"code":"NORMAL"}}}],"links":{"self":"https://sandbox-api.va.gov/services/va_facilities/v1/facilities?page=1&per_page=10","first":"https://sandbox-api.va.gov/services/va_facilities/v1/facilities?page=1&per_page=10","next":"https://sandbox-api.va.gov/services/va_facilities/v1/facilities?page=2&per_page=10","last":"https://sandbox-api.va.gov/services/va_facilities/v1/facilities?page=256&per_page=10"},"meta":{"pagination":{"currentPage":1,"perPage":10,"totalPages":256,"totalEntries":2560}}}' + recorded_at: Fri, 19 Apr 2024 21:22:06 GMT +- request: + method: get + uri: https://sandbox-api.va.gov/services/va_facilities/v1/facilities?lat=13.54&long=121.0 + body: + encoding: US-ASCII + string: '' + headers: + Accept: + - application/json + Content-Type: + - application/json + User-Agent: + - Vets.gov Agent + Apikey: + - "" + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + response: + status: + code: 200 + message: '' + headers: + Date: + - Fri, 19 Apr 2024 21:22:06 GMT + Content-Type: + - application/json + Connection: + - keep-alive + X-Ratelimit-Remaining-Minute: + - '55' + X-Ratelimit-Limit-Minute: + - '60' + Ratelimit-Remaining: + - '55' + Ratelimit-Limit: + - '60' + Ratelimit-Reset: + - '54' + Strict-Transport-Security: + - max-age=16000000; includeSubDomains; preload; + - max-age=31536000; includeSubDomains; preload + Access-Control-Allow-Origin: + - "*" + Cache-Control: + - '' + - no-cache, no-store + X-Frame-Options: + - SAMEORIGIN + Pragma: + - no-cache + Transfer-Encoding: + - chunked + body: + encoding: ASCII-8BIT + string: !binary |- + eyJkYXRhIjpbeyJpZCI6InZiYV8zNTgiLCJ0eXBlIjoidmFfZmFjaWxpdGllcyIsImF0dHJpYnV0ZXMiOnsibmFtZSI6IlZBIFJlZ2lvbmFsIEJlbmVmaXQgT2ZmaWNlIGF0IFUuUy4gRW1iYXNzeSBpbiBNYW5pbGEiLCJmYWNpbGl0eVR5cGUiOiJ2YV9iZW5lZml0c19mYWNpbGl0eSIsImNsYXNzaWZpY2F0aW9uIjoiUmVnaW9uYWwgQmVuZWZpdCBPZmZpY2UiLCJ3ZWJzaXRlIjoiaHR0cHM6Ly93d3cuYmVuZWZpdHMudmEuZ292L21hbmlsYS8iLCJsYXQiOjE0LjU0NDA4LCJsb25nIjoxMjAuOTkxMzksInRpbWVab25lIjoiQXNpYS9NYW5pbGEiLCJhZGRyZXNzIjp7InBoeXNpY2FsIjp7InppcCI6IjAxMzAyIiwiY2l0eSI6IlBhc2F5IENpdHkiLCJzdGF0ZSI6IlBIIiwiYWRkcmVzczEiOiIxNTAxIFJveGFzIEJvdWxldmFyZCJ9fSwicGhvbmUiOnsibWFpbiI6IjgwMC0xODg4LTUyNTIifSwiaG91cnMiOnsibW9uZGF5IjoiODowMCBhLm0uIC0gNDowMCBwLm0uIiwidHVlc2RheSI6Ijg6MDAgYS5tLiAtIDQ6MDAgcC5tLiIsIndlZG5lc2RheSI6Ijg6MDAgYS5tLiAtIDQ6MDAgcC5tLiIsInRodXJzZGF5IjoiODowMCBhLm0uIC0gNDowMCBwLm0uIiwiZnJpZGF5IjoiODowMCBhLm0uIC0gNDowMCBwLm0uIiwic2F0dXJkYXkiOiJDbG9zZWQiLCJzdW5kYXkiOiJDbG9zZWQifSwic2VydmljZXMiOnsiYmVuZWZpdHMiOlt7Im5hbWUiOiJBcHBseWluZ0ZvckJlbmVmaXRzIiwic2VydmljZUlkIjoiYXBwbHlpbmdGb3JCZW5lZml0cyIsImxpbmsiOiJodHRwczovL3NhbmRib3gtYXBpLnZhLmdvdi9zZXJ2aWNlcy92YV9mYWNpbGl0aWVzL3YxL2ZhY2lsaXRpZXMvdmJhXzM1OC9zZXJ2aWNlcy9hcHBseWluZ0ZvckJlbmVmaXRzIn0seyJuYW1lIjoiQnVyaWFsQ2xhaW1Bc3Npc3RhbmNlIiwic2VydmljZUlkIjoiYnVyaWFsQ2xhaW1Bc3Npc3RhbmNlIiwibGluayI6Imh0dHBzOi8vc2FuZGJveC1hcGkudmEuZ292L3NlcnZpY2VzL3ZhX2ZhY2lsaXRpZXMvdjEvZmFjaWxpdGllcy92YmFfMzU4L3NlcnZpY2VzL2J1cmlhbENsYWltQXNzaXN0YW5jZSJ9LHsibmFtZSI6IkRpc2FiaWxpdHlDbGFpbUFzc2lzdGFuY2UiLCJzZXJ2aWNlSWQiOiJkaXNhYmlsaXR5Q2xhaW1Bc3Npc3RhbmNlIiwibGluayI6Imh0dHBzOi8vc2FuZGJveC1hcGkudmEuZ292L3NlcnZpY2VzL3ZhX2ZhY2lsaXRpZXMvdjEvZmFjaWxpdGllcy92YmFfMzU4L3NlcnZpY2VzL2Rpc2FiaWxpdHlDbGFpbUFzc2lzdGFuY2UifSx7Im5hbWUiOiJlQmVuZWZpdHNSZWdpc3RyYXRpb25Bc3Npc3RhbmNlIiwic2VydmljZUlkIjoiZUJlbmVmaXRzUmVnaXN0cmF0aW9uQXNzaXN0YW5jZSIsImxpbmsiOiJodHRwczovL3NhbmRib3gtYXBpLnZhLmdvdi9zZXJ2aWNlcy92YV9mYWNpbGl0aWVzL3YxL2ZhY2lsaXRpZXMvdmJhXzM1OC9zZXJ2aWNlcy9lQmVuZWZpdHNSZWdpc3RyYXRpb25Bc3Npc3RhbmNlIn0seyJuYW1lIjoiRWR1Y2F0aW9uQW5kQ2FyZWVyQ291bnNlbGluZyIsInNlcnZpY2VJZCI6ImVkdWNhdGlvbkFuZENhcmVlckNvdW5zZWxpbmciLCJsaW5rIjoiaHR0cHM6Ly9zYW5kYm94LWFwaS52YS5nb3Yvc2VydmljZXMvdmFfZmFjaWxpdGllcy92MS9mYWNpbGl0aWVzL3ZiYV8zNTgvc2VydmljZXMvZWR1Y2F0aW9uQW5kQ2FyZWVyQ291bnNlbGluZyJ9LHsibmFtZSI6IkVkdWNhdGlvbkNsYWltQXNzaXN0YW5jZSIsInNlcnZpY2VJZCI6ImVkdWNhdGlvbkNsYWltQXNzaXN0YW5jZSIsImxpbmsiOiJodHRwczovL3NhbmRib3gtYXBpLnZhLmdvdi9zZXJ2aWNlcy92YV9mYWNpbGl0aWVzL3YxL2ZhY2lsaXRpZXMvdmJhXzM1OC9zZXJ2aWNlcy9lZHVjYXRpb25DbGFpbUFzc2lzdGFuY2UifSx7Im5hbWUiOiJGYW1pbHlNZW1iZXJDbGFpbUFzc2lzdGFuY2UiLCJzZXJ2aWNlSWQiOiJmYW1pbHlNZW1iZXJDbGFpbUFzc2lzdGFuY2UiLCJsaW5rIjoiaHR0cHM6Ly9zYW5kYm94LWFwaS52YS5nb3Yvc2VydmljZXMvdmFfZmFjaWxpdGllcy92MS9mYWNpbGl0aWVzL3ZiYV8zNTgvc2VydmljZXMvZmFtaWx5TWVtYmVyQ2xhaW1Bc3Npc3RhbmNlIn0seyJuYW1lIjoiSG9tZWxlc3NBc3Npc3RhbmNlIiwic2VydmljZUlkIjoiaG9tZWxlc3NBc3Npc3RhbmNlIiwibGluayI6Imh0dHBzOi8vc2FuZGJveC1hcGkudmEuZ292L3NlcnZpY2VzL3ZhX2ZhY2lsaXRpZXMvdjEvZmFjaWxpdGllcy92YmFfMzU4L3NlcnZpY2VzL2hvbWVsZXNzQXNzaXN0YW5jZSJ9LHsibmFtZSI6IlRyYW5zaXRpb25Bc3Npc3RhbmNlIiwic2VydmljZUlkIjoidHJhbnNpdGlvbkFzc2lzdGFuY2UiLCJsaW5rIjoiaHR0cHM6Ly9zYW5kYm94LWFwaS52YS5nb3Yvc2VydmljZXMvdmFfZmFjaWxpdGllcy92MS9mYWNpbGl0aWVzL3ZiYV8zNTgvc2VydmljZXMvdHJhbnNpdGlvbkFzc2lzdGFuY2UifSx7Im5hbWUiOiJVcGRhdGluZ0RpcmVjdERlcG9zaXRJbmZvcm1hdGlvbiIsInNlcnZpY2VJZCI6InVwZGF0aW5nRGlyZWN0RGVwb3NpdEluZm9ybWF0aW9uIiwibGluayI6Imh0dHBzOi8vc2FuZGJveC1hcGkudmEuZ292L3NlcnZpY2VzL3ZhX2ZhY2lsaXRpZXMvdjEvZmFjaWxpdGllcy92YmFfMzU4L3NlcnZpY2VzL3VwZGF0aW5nRGlyZWN0RGVwb3NpdEluZm9ybWF0aW9uIn0seyJuYW1lIjoiVm9jYXRpb25hbFJlaGFiaWxpdGF0aW9uQW5kRW1wbG95bWVudEFzc2lzdGFuY2UiLCJzZXJ2aWNlSWQiOiJ2b2NhdGlvbmFsUmVoYWJpbGl0YXRpb25BbmRFbXBsb3ltZW50QXNzaXN0YW5jZSIsImxpbmsiOiJodHRwczovL3NhbmRib3gtYXBpLnZhLmdvdi9zZXJ2aWNlcy92YV9mYWNpbGl0aWVzL3YxL2ZhY2lsaXRpZXMvdmJhXzM1OC9zZXJ2aWNlcy92b2NhdGlvbmFsUmVoYWJpbGl0YXRpb25BbmRFbXBsb3ltZW50QXNzaXN0YW5jZSJ9XSwibGluayI6Imh0dHBzOi8vc2FuZGJveC1hcGkudmEuZ292L3NlcnZpY2VzL3ZhX2ZhY2lsaXRpZXMvdjEvZmFjaWxpdGllcy92YmFfMzU4L3NlcnZpY2VzIn0sIm9wZXJhdGluZ1N0YXR1cyI6eyJjb2RlIjoiTElNSVRFRCIsImFkZGl0aW9uYWxJbmZvIjoiV2XigJlyZSBvcGVuIGZvciBsaW1pdGVkIGluLXBlcnNvbiBzZXJ2aWNlcyBieSBhcHBvaW50bWVudCBvbmx5LiBUbyBzY2hlZHVsZSBhbiBhcHBvaW50bWVudCBwbGVhc2UgY2FsbCA4MDAtODI3LTEwMDAgdG9sbC1mcmVlLiJ9fX0seyJpZCI6InZoYV8zNTgiLCJ0eXBlIjoidmFfZmFjaWxpdGllcyIsImF0dHJpYnV0ZXMiOnsibmFtZSI6Ik1hbmlsYSBWQSBDbGluaWMiLCJmYWNpbGl0eVR5cGUiOiJ2YV9oZWFsdGhfZmFjaWxpdHkiLCJjbGFzc2lmaWNhdGlvbiI6Ik90aGVyIE91dHBhdGllbnQgU2VydmljZXMgKE9PUykiLCJwYXJlbnQiOnsiaWQiOiJ2aGFfMzU4IiwibGluayI6Imh0dHBzOi8vc2FuZGJveC1hcGkudmEuZ292L3NlcnZpY2VzL3ZhX2ZhY2lsaXRpZXMvdjEvZmFjaWxpdGllcy92aGFfMzU4In0sImxhdCI6MTQuNTQ0MDgsImxvbmciOjEyMC45OTEzOSwidGltZVpvbmUiOiJBc2lhL01hbmlsYSIsImFkZHJlc3MiOnsicGh5c2ljYWwiOnsiemlwIjoiMDEzMDIiLCJjaXR5IjoiUGFzYXkgQ2l0eSIsInN0YXRlIjoiUEgiLCJhZGRyZXNzMSI6IjE1MDEgUm94YXMgQm91bGV2YXJkIiwiYWRkcmVzczIiOiJOT1gzIFNlYWZyb250IENvbXBvdW5kIn19LCJwaG9uZSI6eyJtYWluIjoiODA4LTQzMy01MjU0IiwicGhhcm1hY3kiOiI4MDgtNDMzLTUyNTQiLCJwYXRpZW50QWR2b2NhdGUiOiI4MDgtNDMzLTUyNTQiLCJlbnJvbGxtZW50Q29vcmRpbmF0b3IiOiI4MDgtNDMzLTUyNTQifSwiaG91cnMiOnsibW9uZGF5IjoiNzMwQU0tNDMwUE0iLCJ0dWVzZGF5IjoiNzMwQU0tNDMwUE0iLCJ3ZWRuZXNkYXkiOiI3MzBBTS00MzBQTSIsInRodXJzZGF5IjoiNzMwQU0tNDMwUE0iLCJmcmlkYXkiOiI3MzBBTS00MzBQTSIsInNhdHVyZGF5IjoiQ2xvc2VkIiwic3VuZGF5IjoiQ2xvc2VkIn0sInNlcnZpY2VzIjp7ImhlYWx0aCI6W3sibmFtZSI6IkF1ZGlvbG9neSIsInNlcnZpY2VJZCI6ImF1ZGlvbG9neSIsImxpbmsiOiJodHRwczovL3NhbmRib3gtYXBpLnZhLmdvdi9zZXJ2aWNlcy92YV9mYWNpbGl0aWVzL3YxL2ZhY2lsaXRpZXMvdmhhXzM1OC9zZXJ2aWNlcy9hdWRpb2xvZ3kifSx7Im5hbWUiOiJDYXJkaW9sb2d5Iiwic2VydmljZUlkIjoiY2FyZGlvbG9neSIsImxpbmsiOiJodHRwczovL3NhbmRib3gtYXBpLnZhLmdvdi9zZXJ2aWNlcy92YV9mYWNpbGl0aWVzL3YxL2ZhY2lsaXRpZXMvdmhhXzM1OC9zZXJ2aWNlcy9jYXJkaW9sb2d5In0seyJuYW1lIjoiRGVybWF0b2xvZ3kiLCJzZXJ2aWNlSWQiOiJkZXJtYXRvbG9neSIsImxpbmsiOiJodHRwczovL3NhbmRib3gtYXBpLnZhLmdvdi9zZXJ2aWNlcy92YV9mYWNpbGl0aWVzL3YxL2ZhY2lsaXRpZXMvdmhhXzM1OC9zZXJ2aWNlcy9kZXJtYXRvbG9neSJ9LHsibmFtZSI6Ikdhc3Ryb2VudGVyb2xvZ3kiLCJzZXJ2aWNlSWQiOiJnYXN0cm9lbnRlcm9sb2d5IiwibGluayI6Imh0dHBzOi8vc2FuZGJveC1hcGkudmEuZ292L3NlcnZpY2VzL3ZhX2ZhY2lsaXRpZXMvdjEvZmFjaWxpdGllcy92aGFfMzU4L3NlcnZpY2VzL2dhc3Ryb2VudGVyb2xvZ3kifSx7Im5hbWUiOiJNZW50YWxIZWFsdGgiLCJzZXJ2aWNlSWQiOiJtZW50YWxIZWFsdGgiLCJsaW5rIjoiaHR0cHM6Ly9zYW5kYm94LWFwaS52YS5nb3Yvc2VydmljZXMvdmFfZmFjaWxpdGllcy92MS9mYWNpbGl0aWVzL3ZoYV8zNTgvc2VydmljZXMvbWVudGFsSGVhbHRoIn0seyJuYW1lIjoiT3BodGhhbG1vbG9neSIsInNlcnZpY2VJZCI6Im9waHRoYWxtb2xvZ3kiLCJsaW5rIjoiaHR0cHM6Ly9zYW5kYm94LWFwaS52YS5nb3Yvc2VydmljZXMvdmFfZmFjaWxpdGllcy92MS9mYWNpbGl0aWVzL3ZoYV8zNTgvc2VydmljZXMvb3BodGhhbG1vbG9neSJ9XSwibGluayI6Imh0dHBzOi8vc2FuZGJveC1hcGkudmEuZ292L3NlcnZpY2VzL3ZhX2ZhY2lsaXRpZXMvdjEvZmFjaWxpdGllcy92aGFfMzU4L3NlcnZpY2VzIiwibGFzdFVwZGF0ZWQiOiIyMDI0LTA0LTE3In0sInNhdGlzZmFjdGlvbiI6eyJoZWFsdGgiOnsic3BlY2lhbHR5Q2FyZVVyZ2VudCI6MC4wLCJzcGVjaWFsdHlDYXJlUm91dGluZSI6MC44Mzk5OTk5NzM3NzM5NTYzfSwiZWZmZWN0aXZlRGF0ZSI6IjIwMjQtMDItMDgifSwibW9iaWxlIjpmYWxzZSwib3BlcmF0aW5nU3RhdHVzIjp7ImNvZGUiOiJOT1JNQUwifSwidmlzbiI6IjIxIn19LHsiaWQiOiJuY2FfczExMzkiLCJ0eXBlIjoidmFfZmFjaWxpdGllcyIsImF0dHJpYnV0ZXMiOnsibmFtZSI6Ikd1YW0gVmV0ZXJhbnMgQ2VtZXRlcnkiLCJmYWNpbGl0eVR5cGUiOiJ2YV9jZW1ldGVyeSIsImNsYXNzaWZpY2F0aW9uIjoiU3RhdGUgQ2VtZXRlcnkiLCJ3ZWJzaXRlIjoiaHR0cDovL3ZldGVyYW5zY2VtZXRlcnkuZ3VhbS5nb3YvIiwibGF0IjoxMy40NTc5ODM5ODMyMjczLCJsb25nIjoxNDQuNjkxMDQ2NDc2MzY0LCJ0aW1lWm9uZSI6IlBhY2lmaWMvR3VhbSIsImFkZHJlc3MiOnsicGh5c2ljYWwiOnsiemlwIjoiOTY5MTAiLCJjaXR5IjoiUGl0aSIsInN0YXRlIjoiR1UiLCJhZGRyZXNzMSI6IjE1MCBTcHJ1YW5jZSBEcml2ZSJ9fSwicGhvbmUiOnsiZmF4IjoiNjcxLTQ3NS04Mzk2IiwibWFpbiI6IjY3MS00NzUtODM4OCJ9LCJob3VycyI6eyJtb25kYXkiOiJTdW5yaXNlIC0gU3Vuc2V0IiwidHVlc2RheSI6IlN1bnJpc2UgLSBTdW5zZXQiLCJ3ZWRuZXNkYXkiOiJTdW5yaXNlIC0gU3Vuc2V0IiwidGh1cnNkYXkiOiJTdW5yaXNlIC0gU3Vuc2V0IiwiZnJpZGF5IjoiU3VucmlzZSAtIFN1bnNldCIsInNhdHVyZGF5IjoiU3VucmlzZSAtIFN1bnNldCIsInN1bmRheSI6IlN1bnJpc2UgLSBTdW5zZXQifSwib3BlcmF0aW5nU3RhdHVzIjp7ImNvZGUiOiJOT1JNQUwifX19LHsiaWQiOiJ2aGFfNDU5R0UiLCJ0eXBlIjoidmFfZmFjaWxpdGllcyIsImF0dHJpYnV0ZXMiOnsibmFtZSI6Ikd1YW0gVkEgQ2xpbmljIiwiZmFjaWxpdHlUeXBlIjoidmFfaGVhbHRoX2ZhY2lsaXR5IiwiY2xhc3NpZmljYXRpb24iOiJQcmltYXJ5IENhcmUgQ0JPQyIsInBhcmVudCI6eyJpZCI6InZoYV80NTkiLCJsaW5rIjoiaHR0cHM6Ly9zYW5kYm94LWFwaS52YS5nb3Yvc2VydmljZXMvdmFfZmFjaWxpdGllcy92MS9mYWNpbGl0aWVzL3ZoYV80NTkifSwid2Vic2l0ZSI6Imh0dHBzOi8vd3d3LnZhLmdvdi9wYWNpZmljLWlzbGFuZHMtaGVhbHRoLWNhcmUvbG9jYXRpb25zL2d1YW0tdmEtY2xpbmljLyIsImxhdCI6MTMuNDcxODc0MzUsImxvbmciOjE0NC43NDAzOTAzLCJ0aW1lWm9uZSI6IlBhY2lmaWMvR3VhbSIsImFkZHJlc3MiOnsicGh5c2ljYWwiOnsiemlwIjoiOTY5MTAtNjQyNyIsImNpdHkiOiJBZ2FuYSBIZWlnaHRzIiwic3RhdGUiOiJHVSIsImFkZHJlc3MxIjoiNDk4IENoYWxhbiBQYWxhc3lvIn19LCJwaG9uZSI6eyJmYXgiOiI2NzEtNDc1LTU4NTUiLCJtYWluIjoiODAwLTIxNC0xMzA2IiwicGhhcm1hY3kiOiI4MDAtNDY1LTgzODciLCJhZnRlckhvdXJzIjoiODAwLTIxNC0xMzA2IiwicGF0aWVudEFkdm9jYXRlIjoiODA4LTQzMy0wMTI2IiwibWVudGFsSGVhbHRoQ2xpbmljIjoiODA4LTQzMy0wNjYwIiwiZW5yb2xsbWVudENvb3JkaW5hdG9yIjoiODA4LTQzMy03NjAwIn0sImhvdXJzIjp7Im1vbmRheSI6IjczMEFNLTQwMFBNIiwidHVlc2RheSI6IjczMEFNLTQwMFBNIiwid2VkbmVzZGF5IjoiNzMwQU0tNDAwUE0iLCJ0aHVyc2RheSI6IjczMEFNLTQwMFBNIiwiZnJpZGF5IjoiNzMwQU0tNDAwUE0iLCJzYXR1cmRheSI6IkNsb3NlZCIsInN1bmRheSI6IkNsb3NlZCJ9LCJzZXJ2aWNlcyI6eyJoZWFsdGgiOlt7Im5hbWUiOiJEZXJtYXRvbG9neSIsInNlcnZpY2VJZCI6ImRlcm1hdG9sb2d5IiwibGluayI6Imh0dHBzOi8vc2FuZGJveC1hcGkudmEuZ292L3NlcnZpY2VzL3ZhX2ZhY2lsaXRpZXMvdjEvZmFjaWxpdGllcy92aGFfNDU5R0Uvc2VydmljZXMvZGVybWF0b2xvZ3kifSx7Im5hbWUiOiJHYXN0cm9lbnRlcm9sb2d5Iiwic2VydmljZUlkIjoiZ2FzdHJvZW50ZXJvbG9neSIsImxpbmsiOiJodHRwczovL3NhbmRib3gtYXBpLnZhLmdvdi9zZXJ2aWNlcy92YV9mYWNpbGl0aWVzL3YxL2ZhY2lsaXRpZXMvdmhhXzQ1OUdFL3NlcnZpY2VzL2dhc3Ryb2VudGVyb2xvZ3kifSx7Im5hbWUiOiJHZXJpYXRyaWNzIiwic2VydmljZUlkIjoiZ2VyaWF0cmljcyIsImxpbmsiOiJodHRwczovL3NhbmRib3gtYXBpLnZhLmdvdi9zZXJ2aWNlcy92YV9mYWNpbGl0aWVzL3YxL2ZhY2lsaXRpZXMvdmhhXzQ1OUdFL3NlcnZpY2VzL2dlcmlhdHJpY3MifSx7Im5hbWUiOiJMR0JUUSsgVmV0ZXJhbiBjYXJlIiwic2VydmljZUlkIjoibGdidHEiLCJsaW5rIjoiaHR0cHM6Ly9zYW5kYm94LWFwaS52YS5nb3Yvc2VydmljZXMvdmFfZmFjaWxpdGllcy92MS9mYWNpbGl0aWVzL3ZoYV80NTlHRS9zZXJ2aWNlcy9sZ2J0cSJ9LHsibmFtZSI6Ik1lbnRhbEhlYWx0aCIsInNlcnZpY2VJZCI6Im1lbnRhbEhlYWx0aCIsImxpbmsiOiJodHRwczovL3NhbmRib3gtYXBpLnZhLmdvdi9zZXJ2aWNlcy92YV9mYWNpbGl0aWVzL3YxL2ZhY2lsaXRpZXMvdmhhXzQ1OUdFL3NlcnZpY2VzL21lbnRhbEhlYWx0aCJ9LHsibmFtZSI6Ik15IEhlYWx0aGVWZXQgY29vcmRpbmF0b3IiLCJzZXJ2aWNlSWQiOiJteUhlYWx0aGVWZXRDb29yZGluYXRvciIsImxpbmsiOiJodHRwczovL3NhbmRib3gtYXBpLnZhLmdvdi9zZXJ2aWNlcy92YV9mYWNpbGl0aWVzL3YxL2ZhY2lsaXRpZXMvdmhhXzQ1OUdFL3NlcnZpY2VzL215SGVhbHRoZVZldENvb3JkaW5hdG9yIn0seyJuYW1lIjoiUGF0aWVudCBhZHZvY2F0ZXMiLCJzZXJ2aWNlSWQiOiJwYXRpZW50QWR2b2NhdGVzIiwibGluayI6Imh0dHBzOi8vc2FuZGJveC1hcGkudmEuZ292L3NlcnZpY2VzL3ZhX2ZhY2lsaXRpZXMvdjEvZmFjaWxpdGllcy92aGFfNDU5R0Uvc2VydmljZXMvcGF0aWVudEFkdm9jYXRlcyJ9LHsibmFtZSI6IlBvZGlhdHJ5Iiwic2VydmljZUlkIjoicG9kaWF0cnkiLCJsaW5rIjoiaHR0cHM6Ly9zYW5kYm94LWFwaS52YS5nb3Yvc2VydmljZXMvdmFfZmFjaWxpdGllcy92MS9mYWNpbGl0aWVzL3ZoYV80NTlHRS9zZXJ2aWNlcy9wb2RpYXRyeSJ9LHsibmFtZSI6IlByaW1hcnkgY2FyZSIsInNlcnZpY2VJZCI6InByaW1hcnlDYXJlIiwibGluayI6Imh0dHBzOi8vc2FuZGJveC1hcGkudmEuZ292L3NlcnZpY2VzL3ZhX2ZhY2lsaXRpZXMvdjEvZmFjaWxpdGllcy92aGFfNDU5R0Uvc2VydmljZXMvcHJpbWFyeUNhcmUifSx7Im5hbWUiOiJUZWxlaGVhbHRoIiwic2VydmljZUlkIjoidGVsZWhlYWx0aCIsImxpbmsiOiJodHRwczovL3NhbmRib3gtYXBpLnZhLmdvdi9zZXJ2aWNlcy92YV9mYWNpbGl0aWVzL3YxL2ZhY2lsaXRpZXMvdmhhXzQ1OUdFL3NlcnZpY2VzL3RlbGVoZWFsdGgifSx7Im5hbWUiOiJXb21lbiBWZXRlcmFuIGNhcmUiLCJzZXJ2aWNlSWQiOiJ3b21lbnNIZWFsdGgiLCJsaW5rIjoiaHR0cHM6Ly9zYW5kYm94LWFwaS52YS5nb3Yvc2VydmljZXMvdmFfZmFjaWxpdGllcy92MS9mYWNpbGl0aWVzL3ZoYV80NTlHRS9zZXJ2aWNlcy93b21lbnNIZWFsdGgifV0sImxpbmsiOiJodHRwczovL3NhbmRib3gtYXBpLnZhLmdvdi9zZXJ2aWNlcy92YV9mYWNpbGl0aWVzL3YxL2ZhY2lsaXRpZXMvdmhhXzQ1OUdFL3NlcnZpY2VzIiwibGFzdFVwZGF0ZWQiOiIyMDI0LTA0LTE3In0sInNhdGlzZmFjdGlvbiI6eyJoZWFsdGgiOnsicHJpbWFyeUNhcmVVcmdlbnQiOjAuMCwicHJpbWFyeUNhcmVSb3V0aW5lIjowLjY4MDAwMDAwNzE1MjU1NzR9LCJlZmZlY3RpdmVEYXRlIjoiMjAyNC0wMi0wOCJ9LCJtb2JpbGUiOmZhbHNlLCJvcGVyYXRpbmdTdGF0dXMiOnsiY29kZSI6Ik5PUk1BTCJ9LCJ2aXNuIjoiMjEifX0seyJpZCI6InZjXzA2NDhWIiwidHlwZSI6InZhX2ZhY2lsaXRpZXMiLCJhdHRyaWJ1dGVzIjp7Im5hbWUiOiJHdWFtIFZldCBDZW50ZXIiLCJmYWNpbGl0eVR5cGUiOiJ2ZXRfY2VudGVyIiwicGFyZW50Ijp7ImlkIjoidmNfNDU5IiwibGluayI6Imh0dHBzOi8vc2FuZGJveC1hcGkudmEuZ292L3NlcnZpY2VzL3ZhX2ZhY2lsaXRpZXMvdjEvZmFjaWxpdGllcy92Y180NTkifSwid2Vic2l0ZSI6Imh0dHBzOi8vd3d3LnZhLmdvdi9ndWFtLXZldC1jZW50ZXIvIiwibGF0IjoxMy40NzYxOTU4NiwibG9uZyI6MTQ0Ljc2MjkzNjUsInRpbWVab25lIjoiUGFjaWZpYy9HdWFtIiwiYWRkcmVzcyI6eyJwaHlzaWNhbCI6eyJ6aXAiOiI5NjkxMC01MTcyIiwiY2l0eSI6Ik1haXRlIiwic3RhdGUiOiJHVSIsImFkZHJlc3MxIjoiNDAwIFJvdXRlIDgiLCJhZGRyZXNzMiI6IlN1aXRlIDMwMSJ9fSwicGhvbmUiOnsiZmF4IjoiNjcxLTQ3Mi03MTYyIiwibWFpbiI6IjY3MS00NzItNzE2MSJ9LCJob3VycyI6eyJtb25kYXkiOiI4MDBBTS00MzBQTSIsInR1ZXNkYXkiOiI4MDBBTS00MzBQTSIsIndlZG5lc2RheSI6IjgwMEFNLTQzMFBNIiwidGh1cnNkYXkiOiI4MDBBTS00MzBQTSIsImZyaWRheSI6IjgwMEFNLTQzMFBNIiwic2F0dXJkYXkiOiJDbG9zZWQiLCJzdW5kYXkiOiJDbG9zZWQifSwib3BlcmF0aW9uYWxIb3Vyc1NwZWNpYWxJbnN0cnVjdGlvbnMiOlsiSWYgeW91IG5lZWQgdG8gdGFsayB0byBzb21lb25lIG9yIGdldCBhZHZpY2UgcmlnaHQgYXdheSwgY2FsbCB0aGUgVmV0IENlbnRlciBhbnl0aW1lIGF0IDEtODc3LVdBUi1WRVRTICgxLTg3Ny05MjctODM4NykuIl0sInNlcnZpY2VzIjp7ImhlYWx0aCI6W3sibmFtZSI6IkFkZGljdGlvbiBhbmQgc3Vic3RhbmNlIHVzZSBjYXJlIiwic2VydmljZUlkIjoiYWRkaWN0aW9uIiwibGluayI6Imh0dHBzOi8vc2FuZGJveC1hcGkudmEuZ292L3NlcnZpY2VzL3ZhX2ZhY2lsaXRpZXMvdjEvZmFjaWxpdGllcy92Y18wNjQ4Vi9zZXJ2aWNlcy9hZGRpY3Rpb24ifSx7Im5hbWUiOiJDb21tdW5pdHkgZW5nYWdlbWVudCIsInNlcnZpY2VJZCI6ImNvbW11bml0eUVuZ2FnZW1lbnQiLCJsaW5rIjoiaHR0cHM6Ly9zYW5kYm94LWFwaS52YS5nb3Yvc2VydmljZXMvdmFfZmFjaWxpdGllcy92MS9mYWNpbGl0aWVzL3ZjXzA2NDhWL3NlcnZpY2VzL2NvbW11bml0eUVuZ2FnZW1lbnQifSx7Im5hbWUiOiJDb3VwbGVzIGFuZCBmYW1pbHkgY291bnNlbGluZyIsInNlcnZpY2VJZCI6ImZhbWlseUNvdW5zZWxpbmciLCJsaW5rIjoiaHR0cHM6Ly9zYW5kYm94LWFwaS52YS5nb3Yvc2VydmljZXMvdmFfZmFjaWxpdGllcy92MS9mYWNpbGl0aWVzL3ZjXzA2NDhWL3NlcnZpY2VzL2ZhbWlseUNvdW5zZWxpbmcifSx7Im5hbWUiOiJHcmllZiBhbmQgYmVyZWF2ZW1lbnQgY291bnNlbGluZyIsInNlcnZpY2VJZCI6ImdyaWVmQ291bnNlbGluZyIsImxpbmsiOiJodHRwczovL3NhbmRib3gtYXBpLnZhLmdvdi9zZXJ2aWNlcy92YV9mYWNpbGl0aWVzL3YxL2ZhY2lsaXRpZXMvdmNfMDY0OFYvc2VydmljZXMvZ3JpZWZDb3Vuc2VsaW5nIn0seyJuYW1lIjoiSG9tZWxlc3MgVmV0ZXJhbiBjYXJlIiwic2VydmljZUlkIjoiaG9tZWxlc3MiLCJsaW5rIjoiaHR0cHM6Ly9zYW5kYm94LWFwaS52YS5nb3Yvc2VydmljZXMvdmFfZmFjaWxpdGllcy92MS9mYWNpbGl0aWVzL3ZjXzA2NDhWL3NlcnZpY2VzL2hvbWVsZXNzIn0seyJuYW1lIjoiTWlsaXRhcnkgc2V4dWFsIHRyYXVtYSBjYXJlIiwic2VydmljZUlkIjoibWlsaXRhcnlTZXh1YWxUcmF1bWEiLCJsaW5rIjoiaHR0cHM6Ly9zYW5kYm94LWFwaS52YS5nb3Yvc2VydmljZXMvdmFfZmFjaWxpdGllcy92MS9mYWNpbGl0aWVzL3ZjXzA2NDhWL3NlcnZpY2VzL21pbGl0YXJ5U2V4dWFsVHJhdW1hIn0seyJuYW1lIjoiUFRTRCBjYXJlIiwic2VydmljZUlkIjoicHRzZCIsImxpbmsiOiJodHRwczovL3NhbmRib3gtYXBpLnZhLmdvdi9zZXJ2aWNlcy92YV9mYWNpbGl0aWVzL3YxL2ZhY2lsaXRpZXMvdmNfMDY0OFYvc2VydmljZXMvcHRzZCJ9LHsibmFtZSI6IlN1aWNpZGUgcHJldmVudGlvbiIsInNlcnZpY2VJZCI6InN1aWNpZGVQcmV2ZW50aW9uIiwibGluayI6Imh0dHBzOi8vc2FuZGJveC1hcGkudmEuZ292L3NlcnZpY2VzL3ZhX2ZhY2lsaXRpZXMvdjEvZmFjaWxpdGllcy92Y18wNjQ4Vi9zZXJ2aWNlcy9zdWljaWRlUHJldmVudGlvbiJ9LHsibmFtZSI6IlJldHVybmluZyBzZXJ2aWNlIG1lbWJlciBjYXJlIiwic2VydmljZUlkIjoidHJhbnNpdGlvbkNvdW5zZWxpbmciLCJsaW5rIjoiaHR0cHM6Ly9zYW5kYm94LWFwaS52YS5nb3Yvc2VydmljZXMvdmFfZmFjaWxpdGllcy92MS9mYWNpbGl0aWVzL3ZjXzA2NDhWL3NlcnZpY2VzL3RyYW5zaXRpb25Db3Vuc2VsaW5nIn0seyJuYW1lIjoiVmV0ZXJhbiBjb25uZWN0aW9ucyIsInNlcnZpY2VJZCI6InZldGVyYW5Db25uZWN0aW9ucyIsImxpbmsiOiJodHRwczovL3NhbmRib3gtYXBpLnZhLmdvdi9zZXJ2aWNlcy92YV9mYWNpbGl0aWVzL3YxL2ZhY2lsaXRpZXMvdmNfMDY0OFYvc2VydmljZXMvdmV0ZXJhbkNvbm5lY3Rpb25zIn0seyJuYW1lIjoiV2hvbGUgaGVhbHRoIiwic2VydmljZUlkIjoid2hvbGVIZWFsdGgiLCJsaW5rIjoiaHR0cHM6Ly9zYW5kYm94LWFwaS52YS5nb3Yvc2VydmljZXMvdmFfZmFjaWxpdGllcy92MS9mYWNpbGl0aWVzL3ZjXzA2NDhWL3NlcnZpY2VzL3dob2xlSGVhbHRoIn1dLCJsaW5rIjoiaHR0cHM6Ly9zYW5kYm94LWFwaS52YS5nb3Yvc2VydmljZXMvdmFfZmFjaWxpdGllcy92MS9mYWNpbGl0aWVzL3ZjXzA2NDhWL3NlcnZpY2VzIn0sIm1vYmlsZSI6ZmFsc2UsIm9wZXJhdGluZ1N0YXR1cyI6eyJjb2RlIjoiTk9STUFMIn0sInZpc24iOiIyMSJ9fSx7ImlkIjoidmJhXzQ1OWgiLCJ0eXBlIjoidmFfZmFjaWxpdGllcyIsImF0dHJpYnV0ZXMiOnsibmFtZSI6IlZBIFJlZ2lvbmFsIEJlbmVmaXQgU2F0ZWxsaXRlIE9mZmljZSBhdCBHdWFtIiwiZmFjaWxpdHlUeXBlIjoidmFfYmVuZWZpdHNfZmFjaWxpdHkiLCJjbGFzc2lmaWNhdGlvbiI6IlNhdGVsbGl0ZSBPZmZpY2UiLCJ3ZWJzaXRlIjoiaHR0cHM6Ly93d3cuYmVuZWZpdHMudmEuZ292L2hvbm9sdWx1LyIsImxhdCI6MTMuNDg3NTE2MywibG9uZyI6MTQ0Ljc5NjAxMiwidGltZVpvbmUiOiJQYWNpZmljL0d1YW0iLCJhZGRyZXNzIjp7InBoeXNpY2FsIjp7InppcCI6Ijk2OTEzIiwiY2l0eSI6IlRhbXVuaW5nIiwic3RhdGUiOiJHVSIsImFkZHJlc3MxIjoiNzcwIEVhc3QgU3Vuc2V0IEJsdmQuIiwiYWRkcmVzczIiOiJTdWl0ZSAxNjUifX0sInBob25lIjp7Im1haW4iOiI2NzEtNjQ4LTAwOTAifSwiaG91cnMiOnsibW9uZGF5IjoiODowMCBhLm0uIC0gNDowMCBwLm0uIiwidHVlc2RheSI6Ijg6MDAgYS5tLiAtIDQ6MDAgcC5tLiIsIndlZG5lc2RheSI6Ijg6MDAgYS5tLiAtIDQ6MDAgcC5tLiIsInRodXJzZGF5IjoiODowMCBhLm0uIC0gNDowMCBwLm0uIiwiZnJpZGF5IjoiODowMCBhLm0uIC0gNDowMCBwLm0uIiwic2F0dXJkYXkiOiJDbG9zZWQiLCJzdW5kYXkiOiJDbG9zZWQifSwic2VydmljZXMiOnsiYmVuZWZpdHMiOlt7Im5hbWUiOiJBcHBseWluZ0ZvckJlbmVmaXRzIiwic2VydmljZUlkIjoiYXBwbHlpbmdGb3JCZW5lZml0cyIsImxpbmsiOiJodHRwczovL3NhbmRib3gtYXBpLnZhLmdvdi9zZXJ2aWNlcy92YV9mYWNpbGl0aWVzL3YxL2ZhY2lsaXRpZXMvdmJhXzQ1OWgvc2VydmljZXMvYXBwbHlpbmdGb3JCZW5lZml0cyJ9LHsibmFtZSI6IkJ1cmlhbENsYWltQXNzaXN0YW5jZSIsInNlcnZpY2VJZCI6ImJ1cmlhbENsYWltQXNzaXN0YW5jZSIsImxpbmsiOiJodHRwczovL3NhbmRib3gtYXBpLnZhLmdvdi9zZXJ2aWNlcy92YV9mYWNpbGl0aWVzL3YxL2ZhY2lsaXRpZXMvdmJhXzQ1OWgvc2VydmljZXMvYnVyaWFsQ2xhaW1Bc3Npc3RhbmNlIn0seyJuYW1lIjoiRGlzYWJpbGl0eUNsYWltQXNzaXN0YW5jZSIsInNlcnZpY2VJZCI6ImRpc2FiaWxpdHlDbGFpbUFzc2lzdGFuY2UiLCJsaW5rIjoiaHR0cHM6Ly9zYW5kYm94LWFwaS52YS5nb3Yvc2VydmljZXMvdmFfZmFjaWxpdGllcy92MS9mYWNpbGl0aWVzL3ZiYV80NTloL3NlcnZpY2VzL2Rpc2FiaWxpdHlDbGFpbUFzc2lzdGFuY2UifSx7Im5hbWUiOiJlQmVuZWZpdHNSZWdpc3RyYXRpb25Bc3Npc3RhbmNlIiwic2VydmljZUlkIjoiZUJlbmVmaXRzUmVnaXN0cmF0aW9uQXNzaXN0YW5jZSIsImxpbmsiOiJodHRwczovL3NhbmRib3gtYXBpLnZhLmdvdi9zZXJ2aWNlcy92YV9mYWNpbGl0aWVzL3YxL2ZhY2lsaXRpZXMvdmJhXzQ1OWgvc2VydmljZXMvZUJlbmVmaXRzUmVnaXN0cmF0aW9uQXNzaXN0YW5jZSJ9LHsibmFtZSI6IkVkdWNhdGlvbkFuZENhcmVlckNvdW5zZWxpbmciLCJzZXJ2aWNlSWQiOiJlZHVjYXRpb25BbmRDYXJlZXJDb3Vuc2VsaW5nIiwibGluayI6Imh0dHBzOi8vc2FuZGJveC1hcGkudmEuZ292L3NlcnZpY2VzL3ZhX2ZhY2lsaXRpZXMvdjEvZmFjaWxpdGllcy92YmFfNDU5aC9zZXJ2aWNlcy9lZHVjYXRpb25BbmRDYXJlZXJDb3Vuc2VsaW5nIn0seyJuYW1lIjoiRWR1Y2F0aW9uQ2xhaW1Bc3Npc3RhbmNlIiwic2VydmljZUlkIjoiZWR1Y2F0aW9uQ2xhaW1Bc3Npc3RhbmNlIiwibGluayI6Imh0dHBzOi8vc2FuZGJveC1hcGkudmEuZ292L3NlcnZpY2VzL3ZhX2ZhY2lsaXRpZXMvdjEvZmFjaWxpdGllcy92YmFfNDU5aC9zZXJ2aWNlcy9lZHVjYXRpb25DbGFpbUFzc2lzdGFuY2UifSx7Im5hbWUiOiJGYW1pbHlNZW1iZXJDbGFpbUFzc2lzdGFuY2UiLCJzZXJ2aWNlSWQiOiJmYW1pbHlNZW1iZXJDbGFpbUFzc2lzdGFuY2UiLCJsaW5rIjoiaHR0cHM6Ly9zYW5kYm94LWFwaS52YS5nb3Yvc2VydmljZXMvdmFfZmFjaWxpdGllcy92MS9mYWNpbGl0aWVzL3ZiYV80NTloL3NlcnZpY2VzL2ZhbWlseU1lbWJlckNsYWltQXNzaXN0YW5jZSJ9LHsibmFtZSI6IkhvbWVsZXNzQXNzaXN0YW5jZSIsInNlcnZpY2VJZCI6ImhvbWVsZXNzQXNzaXN0YW5jZSIsImxpbmsiOiJodHRwczovL3NhbmRib3gtYXBpLnZhLmdvdi9zZXJ2aWNlcy92YV9mYWNpbGl0aWVzL3YxL2ZhY2lsaXRpZXMvdmJhXzQ1OWgvc2VydmljZXMvaG9tZWxlc3NBc3Npc3RhbmNlIn0seyJuYW1lIjoiVkFIb21lTG9hbkFzc2lzdGFuY2UiLCJzZXJ2aWNlSWQiOiJ2YUhvbWVMb2FuQXNzaXN0YW5jZSIsImxpbmsiOiJodHRwczovL3NhbmRib3gtYXBpLnZhLmdvdi9zZXJ2aWNlcy92YV9mYWNpbGl0aWVzL3YxL2ZhY2lsaXRpZXMvdmJhXzQ1OWgvc2VydmljZXMvdmFIb21lTG9hbkFzc2lzdGFuY2UifSx7Im5hbWUiOiJJbnN1cmFuY2VDbGFpbUFzc2lzdGFuY2VBbmRGaW5hbmNpYWxDb3Vuc2VsaW5nIiwic2VydmljZUlkIjoiaW5zdXJhbmNlQ2xhaW1Bc3Npc3RhbmNlQW5kRmluYW5jaWFsQ291bnNlbGluZyIsImxpbmsiOiJodHRwczovL3NhbmRib3gtYXBpLnZhLmdvdi9zZXJ2aWNlcy92YV9mYWNpbGl0aWVzL3YxL2ZhY2lsaXRpZXMvdmJhXzQ1OWgvc2VydmljZXMvaW5zdXJhbmNlQ2xhaW1Bc3Npc3RhbmNlQW5kRmluYW5jaWFsQ291bnNlbGluZyJ9LHsibmFtZSI6IlByZURpc2NoYXJnZUNsYWltQXNzaXN0YW5jZSIsInNlcnZpY2VJZCI6InByZURpc2NoYXJnZUNsYWltQXNzaXN0YW5jZSIsImxpbmsiOiJodHRwczovL3NhbmRib3gtYXBpLnZhLmdvdi9zZXJ2aWNlcy92YV9mYWNpbGl0aWVzL3YxL2ZhY2lsaXRpZXMvdmJhXzQ1OWgvc2VydmljZXMvcHJlRGlzY2hhcmdlQ2xhaW1Bc3Npc3RhbmNlIn0seyJuYW1lIjoiVHJhbnNpdGlvbkFzc2lzdGFuY2UiLCJzZXJ2aWNlSWQiOiJ0cmFuc2l0aW9uQXNzaXN0YW5jZSIsImxpbmsiOiJodHRwczovL3NhbmRib3gtYXBpLnZhLmdvdi9zZXJ2aWNlcy92YV9mYWNpbGl0aWVzL3YxL2ZhY2lsaXRpZXMvdmJhXzQ1OWgvc2VydmljZXMvdHJhbnNpdGlvbkFzc2lzdGFuY2UifSx7Im5hbWUiOiJVcGRhdGluZ0RpcmVjdERlcG9zaXRJbmZvcm1hdGlvbiIsInNlcnZpY2VJZCI6InVwZGF0aW5nRGlyZWN0RGVwb3NpdEluZm9ybWF0aW9uIiwibGluayI6Imh0dHBzOi8vc2FuZGJveC1hcGkudmEuZ292L3NlcnZpY2VzL3ZhX2ZhY2lsaXRpZXMvdjEvZmFjaWxpdGllcy92YmFfNDU5aC9zZXJ2aWNlcy91cGRhdGluZ0RpcmVjdERlcG9zaXRJbmZvcm1hdGlvbiJ9LHsibmFtZSI6IlZvY2F0aW9uYWxSZWhhYmlsaXRhdGlvbkFuZEVtcGxveW1lbnRBc3Npc3RhbmNlIiwic2VydmljZUlkIjoidm9jYXRpb25hbFJlaGFiaWxpdGF0aW9uQW5kRW1wbG95bWVudEFzc2lzdGFuY2UiLCJsaW5rIjoiaHR0cHM6Ly9zYW5kYm94LWFwaS52YS5nb3Yvc2VydmljZXMvdmFfZmFjaWxpdGllcy92MS9mYWNpbGl0aWVzL3ZiYV80NTloL3NlcnZpY2VzL3ZvY2F0aW9uYWxSZWhhYmlsaXRhdGlvbkFuZEVtcGxveW1lbnRBc3Npc3RhbmNlIn1dLCJsaW5rIjoiaHR0cHM6Ly9zYW5kYm94LWFwaS52YS5nb3Yvc2VydmljZXMvdmFfZmFjaWxpdGllcy92MS9mYWNpbGl0aWVzL3ZiYV80NTloL3NlcnZpY2VzIn0sIm9wZXJhdGluZ1N0YXR1cyI6eyJjb2RlIjoiTk9STUFMIn19fSx7ImlkIjoidmhhXzQ1OUdIIiwidHlwZSI6InZhX2ZhY2lsaXRpZXMiLCJhdHRyaWJ1dGVzIjp7Im5hbWUiOiJTYWlwYW4gVkEgQ2xpbmljIiwiZmFjaWxpdHlUeXBlIjoidmFfaGVhbHRoX2ZhY2lsaXR5IiwiY2xhc3NpZmljYXRpb24iOiJPdGhlciBPdXRwYXRpZW50IFNlcnZpY2VzIChPT1MpIiwicGFyZW50Ijp7ImlkIjoidmhhXzQ1OSIsImxpbmsiOiJodHRwczovL3NhbmRib3gtYXBpLnZhLmdvdi9zZXJ2aWNlcy92YV9mYWNpbGl0aWVzL3YxL2ZhY2lsaXRpZXMvdmhhXzQ1OSJ9LCJ3ZWJzaXRlIjoiaHR0cHM6Ly93d3cudmEuZ292L3BhY2lmaWMtaXNsYW5kcy1oZWFsdGgtY2FyZS9sb2NhdGlvbnMvc2FpcGFuLXZhLWNsaW5pYy8iLCJsYXQiOjE1LjIxNjc5NCwibG9uZyI6MTQ1LjcyOTM4NSwidGltZVpvbmUiOiJQYWNpZmljL1NhaXBhbiIsImFkZHJlc3MiOnsicGh5c2ljYWwiOnsiemlwIjoiOTY5NTAtOTk5OCIsImNpdHkiOiJTYWlwYW4iLCJzdGF0ZSI6Ik1QIiwiYWRkcmVzczEiOiJNYXJpbmEgSGVpZ2h0cyBCdXNpbmVzcyBQYXJrIC0gR2FyYXBhbiIsImFkZHJlc3MyIjoiTWVkaWNhbCBBc3NvY2lhdGVzIG9mIHRoZSBQYWNpZmljIiwiYWRkcmVzczMiOiJNSC1JSSBCdWlsZGluZyBTdWl0ZSAxMDAgYW5kIDIwNiJ9fSwicGhvbmUiOnsiZmF4IjoiNjcwLTMyMi0wMDM4IiwibWFpbiI6IjgwMC0yMTQtMTMwNiIsInBoYXJtYWN5IjoiODAwLTQ2NS04Mzg3IiwiYWZ0ZXJIb3VycyI6IjgwMC0yMTQtMTMwNiIsInBhdGllbnRBZHZvY2F0ZSI6IjY3MC0zMjItMDAzNSIsImVucm9sbG1lbnRDb29yZGluYXRvciI6IjgwOC00MzMtNzYwMCJ9LCJob3VycyI6eyJtb25kYXkiOiJDbG9zZWQiLCJ0dWVzZGF5IjoiODMwQU0tNDAwUE0iLCJ3ZWRuZXNkYXkiOiJDbG9zZWQiLCJ0aHVyc2RheSI6IjgzMEFNLTQwMFBNIiwiZnJpZGF5IjoiQ2xvc2VkIiwic2F0dXJkYXkiOiJDbG9zZWQiLCJzdW5kYXkiOiJDbG9zZWQifSwic2VydmljZXMiOnsiaGVhbHRoIjpbeyJuYW1lIjoiQWR2aWNlIG51cnNlIiwic2VydmljZUlkIjoiYWR2aWNlTnVyc2UiLCJsaW5rIjoiaHR0cHM6Ly9zYW5kYm94LWFwaS52YS5nb3Yvc2VydmljZXMvdmFfZmFjaWxpdGllcy92MS9mYWNpbGl0aWVzL3ZoYV80NTlHSC9zZXJ2aWNlcy9hZHZpY2VOdXJzZSJ9LHsibmFtZSI6Ik1lbnRhbEhlYWx0aCIsInNlcnZpY2VJZCI6Im1lbnRhbEhlYWx0aCIsImxpbmsiOiJodHRwczovL3NhbmRib3gtYXBpLnZhLmdvdi9zZXJ2aWNlcy92YV9mYWNpbGl0aWVzL3YxL2ZhY2lsaXRpZXMvdmhhXzQ1OUdIL3NlcnZpY2VzL21lbnRhbEhlYWx0aCJ9LHsibmFtZSI6Ik9ydGhvcGVkaWNzIiwic2VydmljZUlkIjoib3J0aG9wZWRpY3MiLCJsaW5rIjoiaHR0cHM6Ly9zYW5kYm94LWFwaS52YS5nb3Yvc2VydmljZXMvdmFfZmFjaWxpdGllcy92MS9mYWNpbGl0aWVzL3ZoYV80NTlHSC9zZXJ2aWNlcy9vcnRob3BlZGljcyJ9LHsibmFtZSI6IlBvZGlhdHJ5Iiwic2VydmljZUlkIjoicG9kaWF0cnkiLCJsaW5rIjoiaHR0cHM6Ly9zYW5kYm94LWFwaS52YS5nb3Yvc2VydmljZXMvdmFfZmFjaWxpdGllcy92MS9mYWNpbGl0aWVzL3ZoYV80NTlHSC9zZXJ2aWNlcy9wb2RpYXRyeSJ9LHsibmFtZSI6IlByaW1hcnkgY2FyZSIsInNlcnZpY2VJZCI6InByaW1hcnlDYXJlIiwibGluayI6Imh0dHBzOi8vc2FuZGJveC1hcGkudmEuZ292L3NlcnZpY2VzL3ZhX2ZhY2lsaXRpZXMvdjEvZmFjaWxpdGllcy92aGFfNDU5R0gvc2VydmljZXMvcHJpbWFyeUNhcmUifSx7Im5hbWUiOiJUZWxlaGVhbHRoIiwic2VydmljZUlkIjoidGVsZWhlYWx0aCIsImxpbmsiOiJodHRwczovL3NhbmRib3gtYXBpLnZhLmdvdi9zZXJ2aWNlcy92YV9mYWNpbGl0aWVzL3YxL2ZhY2lsaXRpZXMvdmhhXzQ1OUdIL3NlcnZpY2VzL3RlbGVoZWFsdGgifSx7Im5hbWUiOiJXb21lbiBWZXRlcmFuIGNhcmUiLCJzZXJ2aWNlSWQiOiJ3b21lbnNIZWFsdGgiLCJsaW5rIjoiaHR0cHM6Ly9zYW5kYm94LWFwaS52YS5nb3Yvc2VydmljZXMvdmFfZmFjaWxpdGllcy92MS9mYWNpbGl0aWVzL3ZoYV80NTlHSC9zZXJ2aWNlcy93b21lbnNIZWFsdGgifV0sImxpbmsiOiJodHRwczovL3NhbmRib3gtYXBpLnZhLmdvdi9zZXJ2aWNlcy92YV9mYWNpbGl0aWVzL3YxL2ZhY2lsaXRpZXMvdmhhXzQ1OUdIL3NlcnZpY2VzIiwibGFzdFVwZGF0ZWQiOiIyMDI0LTA0LTE3In0sIm1vYmlsZSI6ZmFsc2UsIm9wZXJhdGluZ1N0YXR1cyI6eyJjb2RlIjoiTk9STUFMIn0sInZpc24iOiIyMSJ9fSx7ImlkIjoidmJhXzQ1OWsiLCJ0eXBlIjoidmFfZmFjaWxpdGllcyIsImF0dHJpYnV0ZXMiOnsibmFtZSI6IlZBIFJlZ2lvbmFsIEJlbmVmaXQgU2F0ZWxsaXRlIE9mZmljZSBhdCBDb21tb253ZWFsdGggb2YgdGhlIE5vcnRoZXJuIE1hcmlhbmEgSXNsYW5kcyBPZmZpY2Ugb2YgVmV0ZXJhbnMgU2VydmljZXMiLCJmYWNpbGl0eVR5cGUiOiJ2YV9iZW5lZml0c19mYWNpbGl0eSIsImNsYXNzaWZpY2F0aW9uIjoiU2F0ZWxsaXRlIE9mZmljZSIsImxhdCI6MTUuMjE2NDI4MDM5Mzg2OTI2LCJsb25nIjoxNDUuNzUzMzMzNTM4NjI2MDQsInRpbWVab25lIjoiUGFjaWZpYy9TYWlwYW4iLCJhZGRyZXNzIjp7InBoeXNpY2FsIjp7InppcCI6Ijk2OTUwIiwiY2l0eSI6IlNhaXBhbiIsInN0YXRlIjoiTVAiLCJhZGRyZXNzMSI6IjEzNjQgQW5hdGFoYW4gRHJpdmUiLCJhZGRyZXNzMiI6IkNhcGl0b2wgSGlsbCJ9fSwicGhvbmUiOnsibWFpbiI6IjY3MC02NjQtMjY1MCJ9LCJob3VycyI6eyJtb25kYXkiOiI4OjAwIGEubS4gLSA0OjAwIHAubS4iLCJ0dWVzZGF5IjoiODowMCBhLm0uIC0gNDowMCBwLm0uIiwid2VkbmVzZGF5IjoiODowMCBhLm0uIC0gNDowMCBwLm0uIiwidGh1cnNkYXkiOiI4OjAwIGEubS4gLSA0OjAwIHAubS4iLCJmcmlkYXkiOiI4OjAwIGEubS4gLSA0OjAwIHAubS4iLCJzYXR1cmRheSI6IkNsb3NlZCIsInN1bmRheSI6IkNsb3NlZCJ9LCJzZXJ2aWNlcyI6eyJiZW5lZml0cyI6W3sibmFtZSI6IkFwcGx5aW5nRm9yQmVuZWZpdHMiLCJzZXJ2aWNlSWQiOiJhcHBseWluZ0ZvckJlbmVmaXRzIiwibGluayI6Imh0dHBzOi8vc2FuZGJveC1hcGkudmEuZ292L3NlcnZpY2VzL3ZhX2ZhY2lsaXRpZXMvdjEvZmFjaWxpdGllcy92YmFfNDU5ay9zZXJ2aWNlcy9hcHBseWluZ0ZvckJlbmVmaXRzIn0seyJuYW1lIjoiQnVyaWFsQ2xhaW1Bc3Npc3RhbmNlIiwic2VydmljZUlkIjoiYnVyaWFsQ2xhaW1Bc3Npc3RhbmNlIiwibGluayI6Imh0dHBzOi8vc2FuZGJveC1hcGkudmEuZ292L3NlcnZpY2VzL3ZhX2ZhY2lsaXRpZXMvdjEvZmFjaWxpdGllcy92YmFfNDU5ay9zZXJ2aWNlcy9idXJpYWxDbGFpbUFzc2lzdGFuY2UifSx7Im5hbWUiOiJEaXNhYmlsaXR5Q2xhaW1Bc3Npc3RhbmNlIiwic2VydmljZUlkIjoiZGlzYWJpbGl0eUNsYWltQXNzaXN0YW5jZSIsImxpbmsiOiJodHRwczovL3NhbmRib3gtYXBpLnZhLmdvdi9zZXJ2aWNlcy92YV9mYWNpbGl0aWVzL3YxL2ZhY2lsaXRpZXMvdmJhXzQ1OWsvc2VydmljZXMvZGlzYWJpbGl0eUNsYWltQXNzaXN0YW5jZSJ9LHsibmFtZSI6ImVCZW5lZml0c1JlZ2lzdHJhdGlvbkFzc2lzdGFuY2UiLCJzZXJ2aWNlSWQiOiJlQmVuZWZpdHNSZWdpc3RyYXRpb25Bc3Npc3RhbmNlIiwibGluayI6Imh0dHBzOi8vc2FuZGJveC1hcGkudmEuZ292L3NlcnZpY2VzL3ZhX2ZhY2lsaXRpZXMvdjEvZmFjaWxpdGllcy92YmFfNDU5ay9zZXJ2aWNlcy9lQmVuZWZpdHNSZWdpc3RyYXRpb25Bc3Npc3RhbmNlIn0seyJuYW1lIjoiRWR1Y2F0aW9uQW5kQ2FyZWVyQ291bnNlbGluZyIsInNlcnZpY2VJZCI6ImVkdWNhdGlvbkFuZENhcmVlckNvdW5zZWxpbmciLCJsaW5rIjoiaHR0cHM6Ly9zYW5kYm94LWFwaS52YS5nb3Yvc2VydmljZXMvdmFfZmFjaWxpdGllcy92MS9mYWNpbGl0aWVzL3ZiYV80NTlrL3NlcnZpY2VzL2VkdWNhdGlvbkFuZENhcmVlckNvdW5zZWxpbmcifSx7Im5hbWUiOiJFZHVjYXRpb25DbGFpbUFzc2lzdGFuY2UiLCJzZXJ2aWNlSWQiOiJlZHVjYXRpb25DbGFpbUFzc2lzdGFuY2UiLCJsaW5rIjoiaHR0cHM6Ly9zYW5kYm94LWFwaS52YS5nb3Yvc2VydmljZXMvdmFfZmFjaWxpdGllcy92MS9mYWNpbGl0aWVzL3ZiYV80NTlrL3NlcnZpY2VzL2VkdWNhdGlvbkNsYWltQXNzaXN0YW5jZSJ9LHsibmFtZSI6IkZhbWlseU1lbWJlckNsYWltQXNzaXN0YW5jZSIsInNlcnZpY2VJZCI6ImZhbWlseU1lbWJlckNsYWltQXNzaXN0YW5jZSIsImxpbmsiOiJodHRwczovL3NhbmRib3gtYXBpLnZhLmdvdi9zZXJ2aWNlcy92YV9mYWNpbGl0aWVzL3YxL2ZhY2lsaXRpZXMvdmJhXzQ1OWsvc2VydmljZXMvZmFtaWx5TWVtYmVyQ2xhaW1Bc3Npc3RhbmNlIn0seyJuYW1lIjoiSG9tZWxlc3NBc3Npc3RhbmNlIiwic2VydmljZUlkIjoiaG9tZWxlc3NBc3Npc3RhbmNlIiwibGluayI6Imh0dHBzOi8vc2FuZGJveC1hcGkudmEuZ292L3NlcnZpY2VzL3ZhX2ZhY2lsaXRpZXMvdjEvZmFjaWxpdGllcy92YmFfNDU5ay9zZXJ2aWNlcy9ob21lbGVzc0Fzc2lzdGFuY2UifSx7Im5hbWUiOiJWQUhvbWVMb2FuQXNzaXN0YW5jZSIsInNlcnZpY2VJZCI6InZhSG9tZUxvYW5Bc3Npc3RhbmNlIiwibGluayI6Imh0dHBzOi8vc2FuZGJveC1hcGkudmEuZ292L3NlcnZpY2VzL3ZhX2ZhY2lsaXRpZXMvdjEvZmFjaWxpdGllcy92YmFfNDU5ay9zZXJ2aWNlcy92YUhvbWVMb2FuQXNzaXN0YW5jZSJ9LHsibmFtZSI6Ikluc3VyYW5jZUNsYWltQXNzaXN0YW5jZUFuZEZpbmFuY2lhbENvdW5zZWxpbmciLCJzZXJ2aWNlSWQiOiJpbnN1cmFuY2VDbGFpbUFzc2lzdGFuY2VBbmRGaW5hbmNpYWxDb3Vuc2VsaW5nIiwibGluayI6Imh0dHBzOi8vc2FuZGJveC1hcGkudmEuZ292L3NlcnZpY2VzL3ZhX2ZhY2lsaXRpZXMvdjEvZmFjaWxpdGllcy92YmFfNDU5ay9zZXJ2aWNlcy9pbnN1cmFuY2VDbGFpbUFzc2lzdGFuY2VBbmRGaW5hbmNpYWxDb3Vuc2VsaW5nIn0seyJuYW1lIjoiUHJlRGlzY2hhcmdlQ2xhaW1Bc3Npc3RhbmNlIiwic2VydmljZUlkIjoicHJlRGlzY2hhcmdlQ2xhaW1Bc3Npc3RhbmNlIiwibGluayI6Imh0dHBzOi8vc2FuZGJveC1hcGkudmEuZ292L3NlcnZpY2VzL3ZhX2ZhY2lsaXRpZXMvdjEvZmFjaWxpdGllcy92YmFfNDU5ay9zZXJ2aWNlcy9wcmVEaXNjaGFyZ2VDbGFpbUFzc2lzdGFuY2UifSx7Im5hbWUiOiJUcmFuc2l0aW9uQXNzaXN0YW5jZSIsInNlcnZpY2VJZCI6InRyYW5zaXRpb25Bc3Npc3RhbmNlIiwibGluayI6Imh0dHBzOi8vc2FuZGJveC1hcGkudmEuZ292L3NlcnZpY2VzL3ZhX2ZhY2lsaXRpZXMvdjEvZmFjaWxpdGllcy92YmFfNDU5ay9zZXJ2aWNlcy90cmFuc2l0aW9uQXNzaXN0YW5jZSJ9LHsibmFtZSI6IlVwZGF0aW5nRGlyZWN0RGVwb3NpdEluZm9ybWF0aW9uIiwic2VydmljZUlkIjoidXBkYXRpbmdEaXJlY3REZXBvc2l0SW5mb3JtYXRpb24iLCJsaW5rIjoiaHR0cHM6Ly9zYW5kYm94LWFwaS52YS5nb3Yvc2VydmljZXMvdmFfZmFjaWxpdGllcy92MS9mYWNpbGl0aWVzL3ZiYV80NTlrL3NlcnZpY2VzL3VwZGF0aW5nRGlyZWN0RGVwb3NpdEluZm9ybWF0aW9uIn1dLCJsaW5rIjoiaHR0cHM6Ly9zYW5kYm94LWFwaS52YS5nb3Yvc2VydmljZXMvdmFfZmFjaWxpdGllcy92MS9mYWNpbGl0aWVzL3ZiYV80NTlrL3NlcnZpY2VzIn0sIm9wZXJhdGluZ1N0YXR1cyI6eyJjb2RlIjoiTk9STUFMIn19fSx7ImlkIjoidmJhXzMxMWEiLCJ0eXBlIjoidmFfZmFjaWxpdGllcyIsImF0dHJpYnV0ZXMiOnsibmFtZSI6IlByZS1EaXNjaGFyZ2UgU2l0ZSBhdCBVLlMuIEFybXkgR2Fycmlzb24gSHVtcGhyZXlzIiwiZmFjaWxpdHlUeXBlIjoidmFfYmVuZWZpdHNfZmFjaWxpdHkiLCJjbGFzc2lmaWNhdGlvbiI6IlByZS1EaXNjaGFyZ2UgU2l0ZSIsImxhdCI6MzYuOTc3NDg4MzEsImxvbmciOjEyNi45OTMyMjI1LCJ0aW1lWm9uZSI6IkFzaWEvU2VvdWwiLCJhZGRyZXNzIjp7InBoeXNpY2FsIjp7InppcCI6Ijk2MjcxLTUyMjgiLCJjaXR5IjoiU291dGggS29yZWEiLCJhZGRyZXNzMSI6IjgzLTIgRG9kdS1yaSwgUGFlbmdzZW9uZy1ldXAsIFB5ZW9uZ3RhZWstc2ksIEd5ZW9uZ2dpLWRvLCBTb3V0aCBLb3JlYSIsImFkZHJlc3MyIjoiVmV0ZXJhbnMgQWZmYWlycyBPZmZpY2UvQkREIFVTQUcgQ2FtcCBIdW1waHJleXMgVW5pdCAjMTUyMjggQXR0ZW50aW9uOiBCdWlsZGluZyBQLTY0MDAgQVBPLCBBUCA5NjI3MS01MjI4In19LCJwaG9uZSI6eyJtYWluIjoiRFNOLTc1Ny0yOTE0In0sImhvdXJzIjp7Im1vbmRheSI6Ijg6MDAgYS5tLiAtMTI6MDAgcC5tLjsgMTowMCBwLm0uLSA0OjAwIHAubS4iLCJ0dWVzZGF5IjoiODowMCBhLm0uIC0xMjowMCBwLm0uOyAxOjAwIHAubS4tIDQ6MDAgcC5tLiIsIndlZG5lc2RheSI6Ijg6MDAgYS5tLiAtMTI6MDAgcC5tLjsgMTowMCBwLm0uLSA0OjAwIHAubS4iLCJ0aHVyc2RheSI6Ijg6MDAgYS5tLiAtMTI6MDAgcC5tLjsgMTowMCBwLm0uLSA0OjAwIHAubS4iLCJmcmlkYXkiOiI4OjAwIGEubS4gLTEyOjAwIHAubS47IDE6MDAgcC5tLi0gNDowMCBwLm0uIiwic2F0dXJkYXkiOiJDbG9zZWQiLCJzdW5kYXkiOiJDbG9zZWQifSwic2VydmljZXMiOnsiYmVuZWZpdHMiOlt7Im5hbWUiOiJBcHBseWluZ0ZvckJlbmVmaXRzIiwic2VydmljZUlkIjoiYXBwbHlpbmdGb3JCZW5lZml0cyIsImxpbmsiOiJodHRwczovL3NhbmRib3gtYXBpLnZhLmdvdi9zZXJ2aWNlcy92YV9mYWNpbGl0aWVzL3YxL2ZhY2lsaXRpZXMvdmJhXzMxMWEvc2VydmljZXMvYXBwbHlpbmdGb3JCZW5lZml0cyJ9LHsibmFtZSI6IkJ1cmlhbENsYWltQXNzaXN0YW5jZSIsInNlcnZpY2VJZCI6ImJ1cmlhbENsYWltQXNzaXN0YW5jZSIsImxpbmsiOiJodHRwczovL3NhbmRib3gtYXBpLnZhLmdvdi9zZXJ2aWNlcy92YV9mYWNpbGl0aWVzL3YxL2ZhY2lsaXRpZXMvdmJhXzMxMWEvc2VydmljZXMvYnVyaWFsQ2xhaW1Bc3Npc3RhbmNlIn0seyJuYW1lIjoiRGlzYWJpbGl0eUNsYWltQXNzaXN0YW5jZSIsInNlcnZpY2VJZCI6ImRpc2FiaWxpdHlDbGFpbUFzc2lzdGFuY2UiLCJsaW5rIjoiaHR0cHM6Ly9zYW5kYm94LWFwaS52YS5nb3Yvc2VydmljZXMvdmFfZmFjaWxpdGllcy92MS9mYWNpbGl0aWVzL3ZiYV8zMTFhL3NlcnZpY2VzL2Rpc2FiaWxpdHlDbGFpbUFzc2lzdGFuY2UifSx7Im5hbWUiOiJlQmVuZWZpdHNSZWdpc3RyYXRpb25Bc3Npc3RhbmNlIiwic2VydmljZUlkIjoiZUJlbmVmaXRzUmVnaXN0cmF0aW9uQXNzaXN0YW5jZSIsImxpbmsiOiJodHRwczovL3NhbmRib3gtYXBpLnZhLmdvdi9zZXJ2aWNlcy92YV9mYWNpbGl0aWVzL3YxL2ZhY2lsaXRpZXMvdmJhXzMxMWEvc2VydmljZXMvZUJlbmVmaXRzUmVnaXN0cmF0aW9uQXNzaXN0YW5jZSJ9LHsibmFtZSI6IkZhbWlseU1lbWJlckNsYWltQXNzaXN0YW5jZSIsInNlcnZpY2VJZCI6ImZhbWlseU1lbWJlckNsYWltQXNzaXN0YW5jZSIsImxpbmsiOiJodHRwczovL3NhbmRib3gtYXBpLnZhLmdvdi9zZXJ2aWNlcy92YV9mYWNpbGl0aWVzL3YxL2ZhY2lsaXRpZXMvdmJhXzMxMWEvc2VydmljZXMvZmFtaWx5TWVtYmVyQ2xhaW1Bc3Npc3RhbmNlIn0seyJuYW1lIjoiSG9tZWxlc3NBc3Npc3RhbmNlIiwic2VydmljZUlkIjoiaG9tZWxlc3NBc3Npc3RhbmNlIiwibGluayI6Imh0dHBzOi8vc2FuZGJveC1hcGkudmEuZ292L3NlcnZpY2VzL3ZhX2ZhY2lsaXRpZXMvdjEvZmFjaWxpdGllcy92YmFfMzExYS9zZXJ2aWNlcy9ob21lbGVzc0Fzc2lzdGFuY2UifSx7Im5hbWUiOiJQcmVEaXNjaGFyZ2VDbGFpbUFzc2lzdGFuY2UiLCJzZXJ2aWNlSWQiOiJwcmVEaXNjaGFyZ2VDbGFpbUFzc2lzdGFuY2UiLCJsaW5rIjoiaHR0cHM6Ly9zYW5kYm94LWFwaS52YS5nb3Yvc2VydmljZXMvdmFfZmFjaWxpdGllcy92MS9mYWNpbGl0aWVzL3ZiYV8zMTFhL3NlcnZpY2VzL3ByZURpc2NoYXJnZUNsYWltQXNzaXN0YW5jZSJ9LHsibmFtZSI6IlRyYW5zaXRpb25Bc3Npc3RhbmNlIiwic2VydmljZUlkIjoidHJhbnNpdGlvbkFzc2lzdGFuY2UiLCJsaW5rIjoiaHR0cHM6Ly9zYW5kYm94LWFwaS52YS5nb3Yvc2VydmljZXMvdmFfZmFjaWxpdGllcy92MS9mYWNpbGl0aWVzL3ZiYV8zMTFhL3NlcnZpY2VzL3RyYW5zaXRpb25Bc3Npc3RhbmNlIn0seyJuYW1lIjoiVXBkYXRpbmdEaXJlY3REZXBvc2l0SW5mb3JtYXRpb24iLCJzZXJ2aWNlSWQiOiJ1cGRhdGluZ0RpcmVjdERlcG9zaXRJbmZvcm1hdGlvbiIsImxpbmsiOiJodHRwczovL3NhbmRib3gtYXBpLnZhLmdvdi9zZXJ2aWNlcy92YV9mYWNpbGl0aWVzL3YxL2ZhY2lsaXRpZXMvdmJhXzMxMWEvc2VydmljZXMvdXBkYXRpbmdEaXJlY3REZXBvc2l0SW5mb3JtYXRpb24ifV0sImxpbmsiOiJodHRwczovL3NhbmRib3gtYXBpLnZhLmdvdi9zZXJ2aWNlcy92YV9mYWNpbGl0aWVzL3YxL2ZhY2lsaXRpZXMvdmJhXzMxMWEvc2VydmljZXMifSwib3BlcmF0aW5nU3RhdHVzIjp7ImNvZGUiOiJOT1JNQUwifX19LHsiaWQiOiJuY2FfczExNDAiLCJ0eXBlIjoidmFfZmFjaWxpdGllcyIsImF0dHJpYnV0ZXMiOnsibmFtZSI6IkNvbW1vbndlYWx0aCBvZiB0aGUgTm9ydGhlcm4gTWFyaWFuYSBJc2xhbmRzIFZldGVyYW5zIENlbWV0ZXJ5IiwiZmFjaWxpdHlUeXBlIjoidmFfY2VtZXRlcnkiLCJjbGFzc2lmaWNhdGlvbiI6IlN0YXRlIENlbWV0ZXJ5IiwibGF0IjoxNS4yODYwODkzODc1NjcxLCJsb25nIjoxNDUuODEwNzcyMTgwNTU3LCJ0aW1lWm9uZSI6IlBhY2lmaWMvU2FpcGFuIiwiYWRkcmVzcyI6eyJwaHlzaWNhbCI6eyJ6aXAiOiI5Njk1MCIsImNpdHkiOiJTYWlwYW4iLCJzdGF0ZSI6Ik1QIiwiYWRkcmVzczEiOiJCYW56YWkgQ2xpZmYgUmQifX0sInBob25lIjp7Im1haW4iOiI2NzAtNjY0LTI2NTAifSwiaG91cnMiOnsibW9uZGF5IjoiU3VucmlzZSAtIFN1bnNldCIsInR1ZXNkYXkiOiJTdW5yaXNlIC0gU3Vuc2V0Iiwid2VkbmVzZGF5IjoiU3VucmlzZSAtIFN1bnNldCIsInRodXJzZGF5IjoiU3VucmlzZSAtIFN1bnNldCIsImZyaWRheSI6IlN1bnJpc2UgLSBTdW5zZXQiLCJzYXR1cmRheSI6IlN1bnJpc2UgLSBTdW5zZXQiLCJzdW5kYXkiOiJTdW5yaXNlIC0gU3Vuc2V0In0sIm9wZXJhdGluZ1N0YXR1cyI6eyJjb2RlIjoiTk9STUFMIn19fV0sImxpbmtzIjp7InNlbGYiOiJodHRwczovL3NhbmRib3gtYXBpLnZhLmdvdi9zZXJ2aWNlcy92YV9mYWNpbGl0aWVzL3YxL2ZhY2lsaXRpZXM/bGF0PTEzLjU0Jmxvbmc9MTIxLjAmcGFnZT0xJnBlcl9wYWdlPTEwIiwiZmlyc3QiOiJodHRwczovL3NhbmRib3gtYXBpLnZhLmdvdi9zZXJ2aWNlcy92YV9mYWNpbGl0aWVzL3YxL2ZhY2lsaXRpZXM/bGF0PTEzLjU0Jmxvbmc9MTIxLjAmcGFnZT0xJnBlcl9wYWdlPTEwIiwibmV4dCI6Imh0dHBzOi8vc2FuZGJveC1hcGkudmEuZ292L3NlcnZpY2VzL3ZhX2ZhY2lsaXRpZXMvdjEvZmFjaWxpdGllcz9sYXQ9MTMuNTQmbG9uZz0xMjEuMCZwYWdlPTImcGVyX3BhZ2U9MTAiLCJsYXN0IjoiaHR0cHM6Ly9zYW5kYm94LWFwaS52YS5nb3Yvc2VydmljZXMvdmFfZmFjaWxpdGllcy92MS9mYWNpbGl0aWVzP2xhdD0xMy41NCZsb25nPTEyMS4wJnBhZ2U9MjU2JnBlcl9wYWdlPTEwIn0sIm1ldGEiOnsicGFnaW5hdGlvbiI6eyJjdXJyZW50UGFnZSI6MSwicGVyUGFnZSI6MTAsInRvdGFsUGFnZXMiOjI1NiwidG90YWxFbnRyaWVzIjoyNTYwfSwiZGlzdGFuY2VzIjpbeyJpZCI6InZiYV8zNTgiLCJkaXN0YW5jZSI6NjkuMzh9LHsiaWQiOiJ2aGFfMzU4IiwiZGlzdGFuY2UiOjY5LjM4fSx7ImlkIjoibmNhX3MxMTM5IiwiZGlzdGFuY2UiOjE1OTEuMDd9LHsiaWQiOiJ2aGFfNDU5R0UiLCJkaXN0YW5jZSI6MTU5NC4zM30seyJpZCI6InZjXzA2NDhWIiwiZGlzdGFuY2UiOjE1OTUuODN9LHsiaWQiOiJ2YmFfNDU5aCIsImRpc3RhbmNlIjoxNTk4LjAxfSx7ImlkIjoidmhhXzQ1OUdIIiwiZGlzdGFuY2UiOjE2NTguMzF9LHsiaWQiOiJ2YmFfNDU5ayIsImRpc3RhbmNlIjoxNjU5LjkxfSx7ImlkIjoidmJhXzMxMWEiLCJkaXN0YW5jZSI6MTY2MS4xNH0seyJpZCI6Im5jYV9zMTE0MCIsImRpc3RhbmNlIjoxNjYzLjgxfV19fQ== + recorded_at: Fri, 19 Apr 2024 21:22:07 GMT +- request: + method: get + uri: https://sandbox-api.va.gov/services/va_facilities/v1/facilities?bbox%5B%5D=10.54&bbox%5B%5D=180.0&bbox%5B%5D=20.55&bbox%5B%5D=60.99 + body: + encoding: US-ASCII + string: '' + headers: + Accept: + - application/json + Content-Type: + - application/json + User-Agent: + - Vets.gov Agent + Apikey: + - "" + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + response: + status: + code: 200 + message: '' + headers: + Date: + - Fri, 19 Apr 2024 21:22:07 GMT + Content-Type: + - application/json + Connection: + - keep-alive + X-Ratelimit-Remaining-Minute: + - '54' + X-Ratelimit-Limit-Minute: + - '60' + Ratelimit-Remaining: + - '54' + Ratelimit-Limit: + - '60' + Ratelimit-Reset: + - '53' + Strict-Transport-Security: + - max-age=16000000; includeSubDomains; preload; + - max-age=31536000; includeSubDomains; preload + Access-Control-Allow-Origin: + - "*" + Cache-Control: + - '' + - no-cache, no-store + X-Frame-Options: + - SAMEORIGIN + Pragma: + - no-cache + Transfer-Encoding: + - chunked + body: + encoding: ASCII-8BIT + string: !binary |- + eyJkYXRhIjpbeyJpZCI6InZiYV8zNTgiLCJ0eXBlIjoidmFfZmFjaWxpdGllcyIsImF0dHJpYnV0ZXMiOnsibmFtZSI6IlZBIFJlZ2lvbmFsIEJlbmVmaXQgT2ZmaWNlIGF0IFUuUy4gRW1iYXNzeSBpbiBNYW5pbGEiLCJmYWNpbGl0eVR5cGUiOiJ2YV9iZW5lZml0c19mYWNpbGl0eSIsImNsYXNzaWZpY2F0aW9uIjoiUmVnaW9uYWwgQmVuZWZpdCBPZmZpY2UiLCJ3ZWJzaXRlIjoiaHR0cHM6Ly93d3cuYmVuZWZpdHMudmEuZ292L21hbmlsYS8iLCJsYXQiOjE0LjU0NDA4LCJsb25nIjoxMjAuOTkxMzksInRpbWVab25lIjoiQXNpYS9NYW5pbGEiLCJhZGRyZXNzIjp7InBoeXNpY2FsIjp7InppcCI6IjAxMzAyIiwiY2l0eSI6IlBhc2F5IENpdHkiLCJzdGF0ZSI6IlBIIiwiYWRkcmVzczEiOiIxNTAxIFJveGFzIEJvdWxldmFyZCJ9fSwicGhvbmUiOnsibWFpbiI6IjgwMC0xODg4LTUyNTIifSwiaG91cnMiOnsibW9uZGF5IjoiODowMCBhLm0uIC0gNDowMCBwLm0uIiwidHVlc2RheSI6Ijg6MDAgYS5tLiAtIDQ6MDAgcC5tLiIsIndlZG5lc2RheSI6Ijg6MDAgYS5tLiAtIDQ6MDAgcC5tLiIsInRodXJzZGF5IjoiODowMCBhLm0uIC0gNDowMCBwLm0uIiwiZnJpZGF5IjoiODowMCBhLm0uIC0gNDowMCBwLm0uIiwic2F0dXJkYXkiOiJDbG9zZWQiLCJzdW5kYXkiOiJDbG9zZWQifSwic2VydmljZXMiOnsiYmVuZWZpdHMiOlt7Im5hbWUiOiJBcHBseWluZ0ZvckJlbmVmaXRzIiwic2VydmljZUlkIjoiYXBwbHlpbmdGb3JCZW5lZml0cyIsImxpbmsiOiJodHRwczovL3NhbmRib3gtYXBpLnZhLmdvdi9zZXJ2aWNlcy92YV9mYWNpbGl0aWVzL3YxL2ZhY2lsaXRpZXMvdmJhXzM1OC9zZXJ2aWNlcy9hcHBseWluZ0ZvckJlbmVmaXRzIn0seyJuYW1lIjoiQnVyaWFsQ2xhaW1Bc3Npc3RhbmNlIiwic2VydmljZUlkIjoiYnVyaWFsQ2xhaW1Bc3Npc3RhbmNlIiwibGluayI6Imh0dHBzOi8vc2FuZGJveC1hcGkudmEuZ292L3NlcnZpY2VzL3ZhX2ZhY2lsaXRpZXMvdjEvZmFjaWxpdGllcy92YmFfMzU4L3NlcnZpY2VzL2J1cmlhbENsYWltQXNzaXN0YW5jZSJ9LHsibmFtZSI6IkRpc2FiaWxpdHlDbGFpbUFzc2lzdGFuY2UiLCJzZXJ2aWNlSWQiOiJkaXNhYmlsaXR5Q2xhaW1Bc3Npc3RhbmNlIiwibGluayI6Imh0dHBzOi8vc2FuZGJveC1hcGkudmEuZ292L3NlcnZpY2VzL3ZhX2ZhY2lsaXRpZXMvdjEvZmFjaWxpdGllcy92YmFfMzU4L3NlcnZpY2VzL2Rpc2FiaWxpdHlDbGFpbUFzc2lzdGFuY2UifSx7Im5hbWUiOiJlQmVuZWZpdHNSZWdpc3RyYXRpb25Bc3Npc3RhbmNlIiwic2VydmljZUlkIjoiZUJlbmVmaXRzUmVnaXN0cmF0aW9uQXNzaXN0YW5jZSIsImxpbmsiOiJodHRwczovL3NhbmRib3gtYXBpLnZhLmdvdi9zZXJ2aWNlcy92YV9mYWNpbGl0aWVzL3YxL2ZhY2lsaXRpZXMvdmJhXzM1OC9zZXJ2aWNlcy9lQmVuZWZpdHNSZWdpc3RyYXRpb25Bc3Npc3RhbmNlIn0seyJuYW1lIjoiRWR1Y2F0aW9uQW5kQ2FyZWVyQ291bnNlbGluZyIsInNlcnZpY2VJZCI6ImVkdWNhdGlvbkFuZENhcmVlckNvdW5zZWxpbmciLCJsaW5rIjoiaHR0cHM6Ly9zYW5kYm94LWFwaS52YS5nb3Yvc2VydmljZXMvdmFfZmFjaWxpdGllcy92MS9mYWNpbGl0aWVzL3ZiYV8zNTgvc2VydmljZXMvZWR1Y2F0aW9uQW5kQ2FyZWVyQ291bnNlbGluZyJ9LHsibmFtZSI6IkVkdWNhdGlvbkNsYWltQXNzaXN0YW5jZSIsInNlcnZpY2VJZCI6ImVkdWNhdGlvbkNsYWltQXNzaXN0YW5jZSIsImxpbmsiOiJodHRwczovL3NhbmRib3gtYXBpLnZhLmdvdi9zZXJ2aWNlcy92YV9mYWNpbGl0aWVzL3YxL2ZhY2lsaXRpZXMvdmJhXzM1OC9zZXJ2aWNlcy9lZHVjYXRpb25DbGFpbUFzc2lzdGFuY2UifSx7Im5hbWUiOiJGYW1pbHlNZW1iZXJDbGFpbUFzc2lzdGFuY2UiLCJzZXJ2aWNlSWQiOiJmYW1pbHlNZW1iZXJDbGFpbUFzc2lzdGFuY2UiLCJsaW5rIjoiaHR0cHM6Ly9zYW5kYm94LWFwaS52YS5nb3Yvc2VydmljZXMvdmFfZmFjaWxpdGllcy92MS9mYWNpbGl0aWVzL3ZiYV8zNTgvc2VydmljZXMvZmFtaWx5TWVtYmVyQ2xhaW1Bc3Npc3RhbmNlIn0seyJuYW1lIjoiSG9tZWxlc3NBc3Npc3RhbmNlIiwic2VydmljZUlkIjoiaG9tZWxlc3NBc3Npc3RhbmNlIiwibGluayI6Imh0dHBzOi8vc2FuZGJveC1hcGkudmEuZ292L3NlcnZpY2VzL3ZhX2ZhY2lsaXRpZXMvdjEvZmFjaWxpdGllcy92YmFfMzU4L3NlcnZpY2VzL2hvbWVsZXNzQXNzaXN0YW5jZSJ9LHsibmFtZSI6IlRyYW5zaXRpb25Bc3Npc3RhbmNlIiwic2VydmljZUlkIjoidHJhbnNpdGlvbkFzc2lzdGFuY2UiLCJsaW5rIjoiaHR0cHM6Ly9zYW5kYm94LWFwaS52YS5nb3Yvc2VydmljZXMvdmFfZmFjaWxpdGllcy92MS9mYWNpbGl0aWVzL3ZiYV8zNTgvc2VydmljZXMvdHJhbnNpdGlvbkFzc2lzdGFuY2UifSx7Im5hbWUiOiJVcGRhdGluZ0RpcmVjdERlcG9zaXRJbmZvcm1hdGlvbiIsInNlcnZpY2VJZCI6InVwZGF0aW5nRGlyZWN0RGVwb3NpdEluZm9ybWF0aW9uIiwibGluayI6Imh0dHBzOi8vc2FuZGJveC1hcGkudmEuZ292L3NlcnZpY2VzL3ZhX2ZhY2lsaXRpZXMvdjEvZmFjaWxpdGllcy92YmFfMzU4L3NlcnZpY2VzL3VwZGF0aW5nRGlyZWN0RGVwb3NpdEluZm9ybWF0aW9uIn0seyJuYW1lIjoiVm9jYXRpb25hbFJlaGFiaWxpdGF0aW9uQW5kRW1wbG95bWVudEFzc2lzdGFuY2UiLCJzZXJ2aWNlSWQiOiJ2b2NhdGlvbmFsUmVoYWJpbGl0YXRpb25BbmRFbXBsb3ltZW50QXNzaXN0YW5jZSIsImxpbmsiOiJodHRwczovL3NhbmRib3gtYXBpLnZhLmdvdi9zZXJ2aWNlcy92YV9mYWNpbGl0aWVzL3YxL2ZhY2lsaXRpZXMvdmJhXzM1OC9zZXJ2aWNlcy92b2NhdGlvbmFsUmVoYWJpbGl0YXRpb25BbmRFbXBsb3ltZW50QXNzaXN0YW5jZSJ9XSwibGluayI6Imh0dHBzOi8vc2FuZGJveC1hcGkudmEuZ292L3NlcnZpY2VzL3ZhX2ZhY2lsaXRpZXMvdjEvZmFjaWxpdGllcy92YmFfMzU4L3NlcnZpY2VzIn0sIm9wZXJhdGluZ1N0YXR1cyI6eyJjb2RlIjoiTElNSVRFRCIsImFkZGl0aW9uYWxJbmZvIjoiV2XigJlyZSBvcGVuIGZvciBsaW1pdGVkIGluLXBlcnNvbiBzZXJ2aWNlcyBieSBhcHBvaW50bWVudCBvbmx5LiBUbyBzY2hlZHVsZSBhbiBhcHBvaW50bWVudCBwbGVhc2UgY2FsbCA4MDAtODI3LTEwMDAgdG9sbC1mcmVlLiJ9fX0seyJpZCI6InZoYV8zNTgiLCJ0eXBlIjoidmFfZmFjaWxpdGllcyIsImF0dHJpYnV0ZXMiOnsibmFtZSI6Ik1hbmlsYSBWQSBDbGluaWMiLCJmYWNpbGl0eVR5cGUiOiJ2YV9oZWFsdGhfZmFjaWxpdHkiLCJjbGFzc2lmaWNhdGlvbiI6Ik90aGVyIE91dHBhdGllbnQgU2VydmljZXMgKE9PUykiLCJwYXJlbnQiOnsiaWQiOiJ2aGFfMzU4IiwibGluayI6Imh0dHBzOi8vc2FuZGJveC1hcGkudmEuZ292L3NlcnZpY2VzL3ZhX2ZhY2lsaXRpZXMvdjEvZmFjaWxpdGllcy92aGFfMzU4In0sImxhdCI6MTQuNTQ0MDgsImxvbmciOjEyMC45OTEzOSwidGltZVpvbmUiOiJBc2lhL01hbmlsYSIsImFkZHJlc3MiOnsicGh5c2ljYWwiOnsiemlwIjoiMDEzMDIiLCJjaXR5IjoiUGFzYXkgQ2l0eSIsInN0YXRlIjoiUEgiLCJhZGRyZXNzMSI6IjE1MDEgUm94YXMgQm91bGV2YXJkIiwiYWRkcmVzczIiOiJOT1gzIFNlYWZyb250IENvbXBvdW5kIn19LCJwaG9uZSI6eyJtYWluIjoiODA4LTQzMy01MjU0IiwicGhhcm1hY3kiOiI4MDgtNDMzLTUyNTQiLCJwYXRpZW50QWR2b2NhdGUiOiI4MDgtNDMzLTUyNTQiLCJlbnJvbGxtZW50Q29vcmRpbmF0b3IiOiI4MDgtNDMzLTUyNTQifSwiaG91cnMiOnsibW9uZGF5IjoiNzMwQU0tNDMwUE0iLCJ0dWVzZGF5IjoiNzMwQU0tNDMwUE0iLCJ3ZWRuZXNkYXkiOiI3MzBBTS00MzBQTSIsInRodXJzZGF5IjoiNzMwQU0tNDMwUE0iLCJmcmlkYXkiOiI3MzBBTS00MzBQTSIsInNhdHVyZGF5IjoiQ2xvc2VkIiwic3VuZGF5IjoiQ2xvc2VkIn0sInNlcnZpY2VzIjp7ImhlYWx0aCI6W3sibmFtZSI6IkF1ZGlvbG9neSIsInNlcnZpY2VJZCI6ImF1ZGlvbG9neSIsImxpbmsiOiJodHRwczovL3NhbmRib3gtYXBpLnZhLmdvdi9zZXJ2aWNlcy92YV9mYWNpbGl0aWVzL3YxL2ZhY2lsaXRpZXMvdmhhXzM1OC9zZXJ2aWNlcy9hdWRpb2xvZ3kifSx7Im5hbWUiOiJDYXJkaW9sb2d5Iiwic2VydmljZUlkIjoiY2FyZGlvbG9neSIsImxpbmsiOiJodHRwczovL3NhbmRib3gtYXBpLnZhLmdvdi9zZXJ2aWNlcy92YV9mYWNpbGl0aWVzL3YxL2ZhY2lsaXRpZXMvdmhhXzM1OC9zZXJ2aWNlcy9jYXJkaW9sb2d5In0seyJuYW1lIjoiRGVybWF0b2xvZ3kiLCJzZXJ2aWNlSWQiOiJkZXJtYXRvbG9neSIsImxpbmsiOiJodHRwczovL3NhbmRib3gtYXBpLnZhLmdvdi9zZXJ2aWNlcy92YV9mYWNpbGl0aWVzL3YxL2ZhY2lsaXRpZXMvdmhhXzM1OC9zZXJ2aWNlcy9kZXJtYXRvbG9neSJ9LHsibmFtZSI6Ikdhc3Ryb2VudGVyb2xvZ3kiLCJzZXJ2aWNlSWQiOiJnYXN0cm9lbnRlcm9sb2d5IiwibGluayI6Imh0dHBzOi8vc2FuZGJveC1hcGkudmEuZ292L3NlcnZpY2VzL3ZhX2ZhY2lsaXRpZXMvdjEvZmFjaWxpdGllcy92aGFfMzU4L3NlcnZpY2VzL2dhc3Ryb2VudGVyb2xvZ3kifSx7Im5hbWUiOiJNZW50YWxIZWFsdGgiLCJzZXJ2aWNlSWQiOiJtZW50YWxIZWFsdGgiLCJsaW5rIjoiaHR0cHM6Ly9zYW5kYm94LWFwaS52YS5nb3Yvc2VydmljZXMvdmFfZmFjaWxpdGllcy92MS9mYWNpbGl0aWVzL3ZoYV8zNTgvc2VydmljZXMvbWVudGFsSGVhbHRoIn0seyJuYW1lIjoiT3BodGhhbG1vbG9neSIsInNlcnZpY2VJZCI6Im9waHRoYWxtb2xvZ3kiLCJsaW5rIjoiaHR0cHM6Ly9zYW5kYm94LWFwaS52YS5nb3Yvc2VydmljZXMvdmFfZmFjaWxpdGllcy92MS9mYWNpbGl0aWVzL3ZoYV8zNTgvc2VydmljZXMvb3BodGhhbG1vbG9neSJ9XSwibGluayI6Imh0dHBzOi8vc2FuZGJveC1hcGkudmEuZ292L3NlcnZpY2VzL3ZhX2ZhY2lsaXRpZXMvdjEvZmFjaWxpdGllcy92aGFfMzU4L3NlcnZpY2VzIiwibGFzdFVwZGF0ZWQiOiIyMDI0LTA0LTE3In0sInNhdGlzZmFjdGlvbiI6eyJoZWFsdGgiOnsic3BlY2lhbHR5Q2FyZVVyZ2VudCI6MC4wLCJzcGVjaWFsdHlDYXJlUm91dGluZSI6MC44Mzk5OTk5NzM3NzM5NTYzfSwiZWZmZWN0aXZlRGF0ZSI6IjIwMjQtMDItMDgifSwibW9iaWxlIjpmYWxzZSwib3BlcmF0aW5nU3RhdHVzIjp7ImNvZGUiOiJOT1JNQUwifSwidmlzbiI6IjIxIn19LHsiaWQiOiJuY2FfczExMzkiLCJ0eXBlIjoidmFfZmFjaWxpdGllcyIsImF0dHJpYnV0ZXMiOnsibmFtZSI6Ikd1YW0gVmV0ZXJhbnMgQ2VtZXRlcnkiLCJmYWNpbGl0eVR5cGUiOiJ2YV9jZW1ldGVyeSIsImNsYXNzaWZpY2F0aW9uIjoiU3RhdGUgQ2VtZXRlcnkiLCJ3ZWJzaXRlIjoiaHR0cDovL3ZldGVyYW5zY2VtZXRlcnkuZ3VhbS5nb3YvIiwibGF0IjoxMy40NTc5ODM5ODMyMjczLCJsb25nIjoxNDQuNjkxMDQ2NDc2MzY0LCJ0aW1lWm9uZSI6IlBhY2lmaWMvR3VhbSIsImFkZHJlc3MiOnsicGh5c2ljYWwiOnsiemlwIjoiOTY5MTAiLCJjaXR5IjoiUGl0aSIsInN0YXRlIjoiR1UiLCJhZGRyZXNzMSI6IjE1MCBTcHJ1YW5jZSBEcml2ZSJ9fSwicGhvbmUiOnsiZmF4IjoiNjcxLTQ3NS04Mzk2IiwibWFpbiI6IjY3MS00NzUtODM4OCJ9LCJob3VycyI6eyJtb25kYXkiOiJTdW5yaXNlIC0gU3Vuc2V0IiwidHVlc2RheSI6IlN1bnJpc2UgLSBTdW5zZXQiLCJ3ZWRuZXNkYXkiOiJTdW5yaXNlIC0gU3Vuc2V0IiwidGh1cnNkYXkiOiJTdW5yaXNlIC0gU3Vuc2V0IiwiZnJpZGF5IjoiU3VucmlzZSAtIFN1bnNldCIsInNhdHVyZGF5IjoiU3VucmlzZSAtIFN1bnNldCIsInN1bmRheSI6IlN1bnJpc2UgLSBTdW5zZXQifSwib3BlcmF0aW5nU3RhdHVzIjp7ImNvZGUiOiJOT1JNQUwifX19LHsiaWQiOiJ2aGFfNDU5R0UiLCJ0eXBlIjoidmFfZmFjaWxpdGllcyIsImF0dHJpYnV0ZXMiOnsibmFtZSI6Ikd1YW0gVkEgQ2xpbmljIiwiZmFjaWxpdHlUeXBlIjoidmFfaGVhbHRoX2ZhY2lsaXR5IiwiY2xhc3NpZmljYXRpb24iOiJQcmltYXJ5IENhcmUgQ0JPQyIsInBhcmVudCI6eyJpZCI6InZoYV80NTkiLCJsaW5rIjoiaHR0cHM6Ly9zYW5kYm94LWFwaS52YS5nb3Yvc2VydmljZXMvdmFfZmFjaWxpdGllcy92MS9mYWNpbGl0aWVzL3ZoYV80NTkifSwid2Vic2l0ZSI6Imh0dHBzOi8vd3d3LnZhLmdvdi9wYWNpZmljLWlzbGFuZHMtaGVhbHRoLWNhcmUvbG9jYXRpb25zL2d1YW0tdmEtY2xpbmljLyIsImxhdCI6MTMuNDcxODc0MzUsImxvbmciOjE0NC43NDAzOTAzLCJ0aW1lWm9uZSI6IlBhY2lmaWMvR3VhbSIsImFkZHJlc3MiOnsicGh5c2ljYWwiOnsiemlwIjoiOTY5MTAtNjQyNyIsImNpdHkiOiJBZ2FuYSBIZWlnaHRzIiwic3RhdGUiOiJHVSIsImFkZHJlc3MxIjoiNDk4IENoYWxhbiBQYWxhc3lvIn19LCJwaG9uZSI6eyJmYXgiOiI2NzEtNDc1LTU4NTUiLCJtYWluIjoiODAwLTIxNC0xMzA2IiwicGhhcm1hY3kiOiI4MDAtNDY1LTgzODciLCJhZnRlckhvdXJzIjoiODAwLTIxNC0xMzA2IiwicGF0aWVudEFkdm9jYXRlIjoiODA4LTQzMy0wMTI2IiwibWVudGFsSGVhbHRoQ2xpbmljIjoiODA4LTQzMy0wNjYwIiwiZW5yb2xsbWVudENvb3JkaW5hdG9yIjoiODA4LTQzMy03NjAwIn0sImhvdXJzIjp7Im1vbmRheSI6IjczMEFNLTQwMFBNIiwidHVlc2RheSI6IjczMEFNLTQwMFBNIiwid2VkbmVzZGF5IjoiNzMwQU0tNDAwUE0iLCJ0aHVyc2RheSI6IjczMEFNLTQwMFBNIiwiZnJpZGF5IjoiNzMwQU0tNDAwUE0iLCJzYXR1cmRheSI6IkNsb3NlZCIsInN1bmRheSI6IkNsb3NlZCJ9LCJzZXJ2aWNlcyI6eyJoZWFsdGgiOlt7Im5hbWUiOiJEZXJtYXRvbG9neSIsInNlcnZpY2VJZCI6ImRlcm1hdG9sb2d5IiwibGluayI6Imh0dHBzOi8vc2FuZGJveC1hcGkudmEuZ292L3NlcnZpY2VzL3ZhX2ZhY2lsaXRpZXMvdjEvZmFjaWxpdGllcy92aGFfNDU5R0Uvc2VydmljZXMvZGVybWF0b2xvZ3kifSx7Im5hbWUiOiJHYXN0cm9lbnRlcm9sb2d5Iiwic2VydmljZUlkIjoiZ2FzdHJvZW50ZXJvbG9neSIsImxpbmsiOiJodHRwczovL3NhbmRib3gtYXBpLnZhLmdvdi9zZXJ2aWNlcy92YV9mYWNpbGl0aWVzL3YxL2ZhY2lsaXRpZXMvdmhhXzQ1OUdFL3NlcnZpY2VzL2dhc3Ryb2VudGVyb2xvZ3kifSx7Im5hbWUiOiJHZXJpYXRyaWNzIiwic2VydmljZUlkIjoiZ2VyaWF0cmljcyIsImxpbmsiOiJodHRwczovL3NhbmRib3gtYXBpLnZhLmdvdi9zZXJ2aWNlcy92YV9mYWNpbGl0aWVzL3YxL2ZhY2lsaXRpZXMvdmhhXzQ1OUdFL3NlcnZpY2VzL2dlcmlhdHJpY3MifSx7Im5hbWUiOiJMR0JUUSsgVmV0ZXJhbiBjYXJlIiwic2VydmljZUlkIjoibGdidHEiLCJsaW5rIjoiaHR0cHM6Ly9zYW5kYm94LWFwaS52YS5nb3Yvc2VydmljZXMvdmFfZmFjaWxpdGllcy92MS9mYWNpbGl0aWVzL3ZoYV80NTlHRS9zZXJ2aWNlcy9sZ2J0cSJ9LHsibmFtZSI6Ik1lbnRhbEhlYWx0aCIsInNlcnZpY2VJZCI6Im1lbnRhbEhlYWx0aCIsImxpbmsiOiJodHRwczovL3NhbmRib3gtYXBpLnZhLmdvdi9zZXJ2aWNlcy92YV9mYWNpbGl0aWVzL3YxL2ZhY2lsaXRpZXMvdmhhXzQ1OUdFL3NlcnZpY2VzL21lbnRhbEhlYWx0aCJ9LHsibmFtZSI6Ik15IEhlYWx0aGVWZXQgY29vcmRpbmF0b3IiLCJzZXJ2aWNlSWQiOiJteUhlYWx0aGVWZXRDb29yZGluYXRvciIsImxpbmsiOiJodHRwczovL3NhbmRib3gtYXBpLnZhLmdvdi9zZXJ2aWNlcy92YV9mYWNpbGl0aWVzL3YxL2ZhY2lsaXRpZXMvdmhhXzQ1OUdFL3NlcnZpY2VzL215SGVhbHRoZVZldENvb3JkaW5hdG9yIn0seyJuYW1lIjoiUGF0aWVudCBhZHZvY2F0ZXMiLCJzZXJ2aWNlSWQiOiJwYXRpZW50QWR2b2NhdGVzIiwibGluayI6Imh0dHBzOi8vc2FuZGJveC1hcGkudmEuZ292L3NlcnZpY2VzL3ZhX2ZhY2lsaXRpZXMvdjEvZmFjaWxpdGllcy92aGFfNDU5R0Uvc2VydmljZXMvcGF0aWVudEFkdm9jYXRlcyJ9LHsibmFtZSI6IlBvZGlhdHJ5Iiwic2VydmljZUlkIjoicG9kaWF0cnkiLCJsaW5rIjoiaHR0cHM6Ly9zYW5kYm94LWFwaS52YS5nb3Yvc2VydmljZXMvdmFfZmFjaWxpdGllcy92MS9mYWNpbGl0aWVzL3ZoYV80NTlHRS9zZXJ2aWNlcy9wb2RpYXRyeSJ9LHsibmFtZSI6IlByaW1hcnkgY2FyZSIsInNlcnZpY2VJZCI6InByaW1hcnlDYXJlIiwibGluayI6Imh0dHBzOi8vc2FuZGJveC1hcGkudmEuZ292L3NlcnZpY2VzL3ZhX2ZhY2lsaXRpZXMvdjEvZmFjaWxpdGllcy92aGFfNDU5R0Uvc2VydmljZXMvcHJpbWFyeUNhcmUifSx7Im5hbWUiOiJUZWxlaGVhbHRoIiwic2VydmljZUlkIjoidGVsZWhlYWx0aCIsImxpbmsiOiJodHRwczovL3NhbmRib3gtYXBpLnZhLmdvdi9zZXJ2aWNlcy92YV9mYWNpbGl0aWVzL3YxL2ZhY2lsaXRpZXMvdmhhXzQ1OUdFL3NlcnZpY2VzL3RlbGVoZWFsdGgifSx7Im5hbWUiOiJXb21lbiBWZXRlcmFuIGNhcmUiLCJzZXJ2aWNlSWQiOiJ3b21lbnNIZWFsdGgiLCJsaW5rIjoiaHR0cHM6Ly9zYW5kYm94LWFwaS52YS5nb3Yvc2VydmljZXMvdmFfZmFjaWxpdGllcy92MS9mYWNpbGl0aWVzL3ZoYV80NTlHRS9zZXJ2aWNlcy93b21lbnNIZWFsdGgifV0sImxpbmsiOiJodHRwczovL3NhbmRib3gtYXBpLnZhLmdvdi9zZXJ2aWNlcy92YV9mYWNpbGl0aWVzL3YxL2ZhY2lsaXRpZXMvdmhhXzQ1OUdFL3NlcnZpY2VzIiwibGFzdFVwZGF0ZWQiOiIyMDI0LTA0LTE3In0sInNhdGlzZmFjdGlvbiI6eyJoZWFsdGgiOnsicHJpbWFyeUNhcmVVcmdlbnQiOjAuMCwicHJpbWFyeUNhcmVSb3V0aW5lIjowLjY4MDAwMDAwNzE1MjU1NzR9LCJlZmZlY3RpdmVEYXRlIjoiMjAyNC0wMi0wOCJ9LCJtb2JpbGUiOmZhbHNlLCJvcGVyYXRpbmdTdGF0dXMiOnsiY29kZSI6Ik5PUk1BTCJ9LCJ2aXNuIjoiMjEifX0seyJpZCI6InZjXzA2NDhWIiwidHlwZSI6InZhX2ZhY2lsaXRpZXMiLCJhdHRyaWJ1dGVzIjp7Im5hbWUiOiJHdWFtIFZldCBDZW50ZXIiLCJmYWNpbGl0eVR5cGUiOiJ2ZXRfY2VudGVyIiwicGFyZW50Ijp7ImlkIjoidmNfNDU5IiwibGluayI6Imh0dHBzOi8vc2FuZGJveC1hcGkudmEuZ292L3NlcnZpY2VzL3ZhX2ZhY2lsaXRpZXMvdjEvZmFjaWxpdGllcy92Y180NTkifSwid2Vic2l0ZSI6Imh0dHBzOi8vd3d3LnZhLmdvdi9ndWFtLXZldC1jZW50ZXIvIiwibGF0IjoxMy40NzYxOTU4NiwibG9uZyI6MTQ0Ljc2MjkzNjUsInRpbWVab25lIjoiUGFjaWZpYy9HdWFtIiwiYWRkcmVzcyI6eyJwaHlzaWNhbCI6eyJ6aXAiOiI5NjkxMC01MTcyIiwiY2l0eSI6Ik1haXRlIiwic3RhdGUiOiJHVSIsImFkZHJlc3MxIjoiNDAwIFJvdXRlIDgiLCJhZGRyZXNzMiI6IlN1aXRlIDMwMSJ9fSwicGhvbmUiOnsiZmF4IjoiNjcxLTQ3Mi03MTYyIiwibWFpbiI6IjY3MS00NzItNzE2MSJ9LCJob3VycyI6eyJtb25kYXkiOiI4MDBBTS00MzBQTSIsInR1ZXNkYXkiOiI4MDBBTS00MzBQTSIsIndlZG5lc2RheSI6IjgwMEFNLTQzMFBNIiwidGh1cnNkYXkiOiI4MDBBTS00MzBQTSIsImZyaWRheSI6IjgwMEFNLTQzMFBNIiwic2F0dXJkYXkiOiJDbG9zZWQiLCJzdW5kYXkiOiJDbG9zZWQifSwib3BlcmF0aW9uYWxIb3Vyc1NwZWNpYWxJbnN0cnVjdGlvbnMiOlsiSWYgeW91IG5lZWQgdG8gdGFsayB0byBzb21lb25lIG9yIGdldCBhZHZpY2UgcmlnaHQgYXdheSwgY2FsbCB0aGUgVmV0IENlbnRlciBhbnl0aW1lIGF0IDEtODc3LVdBUi1WRVRTICgxLTg3Ny05MjctODM4NykuIl0sInNlcnZpY2VzIjp7ImhlYWx0aCI6W3sibmFtZSI6IkFkZGljdGlvbiBhbmQgc3Vic3RhbmNlIHVzZSBjYXJlIiwic2VydmljZUlkIjoiYWRkaWN0aW9uIiwibGluayI6Imh0dHBzOi8vc2FuZGJveC1hcGkudmEuZ292L3NlcnZpY2VzL3ZhX2ZhY2lsaXRpZXMvdjEvZmFjaWxpdGllcy92Y18wNjQ4Vi9zZXJ2aWNlcy9hZGRpY3Rpb24ifSx7Im5hbWUiOiJDb21tdW5pdHkgZW5nYWdlbWVudCIsInNlcnZpY2VJZCI6ImNvbW11bml0eUVuZ2FnZW1lbnQiLCJsaW5rIjoiaHR0cHM6Ly9zYW5kYm94LWFwaS52YS5nb3Yvc2VydmljZXMvdmFfZmFjaWxpdGllcy92MS9mYWNpbGl0aWVzL3ZjXzA2NDhWL3NlcnZpY2VzL2NvbW11bml0eUVuZ2FnZW1lbnQifSx7Im5hbWUiOiJDb3VwbGVzIGFuZCBmYW1pbHkgY291bnNlbGluZyIsInNlcnZpY2VJZCI6ImZhbWlseUNvdW5zZWxpbmciLCJsaW5rIjoiaHR0cHM6Ly9zYW5kYm94LWFwaS52YS5nb3Yvc2VydmljZXMvdmFfZmFjaWxpdGllcy92MS9mYWNpbGl0aWVzL3ZjXzA2NDhWL3NlcnZpY2VzL2ZhbWlseUNvdW5zZWxpbmcifSx7Im5hbWUiOiJHcmllZiBhbmQgYmVyZWF2ZW1lbnQgY291bnNlbGluZyIsInNlcnZpY2VJZCI6ImdyaWVmQ291bnNlbGluZyIsImxpbmsiOiJodHRwczovL3NhbmRib3gtYXBpLnZhLmdvdi9zZXJ2aWNlcy92YV9mYWNpbGl0aWVzL3YxL2ZhY2lsaXRpZXMvdmNfMDY0OFYvc2VydmljZXMvZ3JpZWZDb3Vuc2VsaW5nIn0seyJuYW1lIjoiSG9tZWxlc3MgVmV0ZXJhbiBjYXJlIiwic2VydmljZUlkIjoiaG9tZWxlc3MiLCJsaW5rIjoiaHR0cHM6Ly9zYW5kYm94LWFwaS52YS5nb3Yvc2VydmljZXMvdmFfZmFjaWxpdGllcy92MS9mYWNpbGl0aWVzL3ZjXzA2NDhWL3NlcnZpY2VzL2hvbWVsZXNzIn0seyJuYW1lIjoiTWlsaXRhcnkgc2V4dWFsIHRyYXVtYSBjYXJlIiwic2VydmljZUlkIjoibWlsaXRhcnlTZXh1YWxUcmF1bWEiLCJsaW5rIjoiaHR0cHM6Ly9zYW5kYm94LWFwaS52YS5nb3Yvc2VydmljZXMvdmFfZmFjaWxpdGllcy92MS9mYWNpbGl0aWVzL3ZjXzA2NDhWL3NlcnZpY2VzL21pbGl0YXJ5U2V4dWFsVHJhdW1hIn0seyJuYW1lIjoiUFRTRCBjYXJlIiwic2VydmljZUlkIjoicHRzZCIsImxpbmsiOiJodHRwczovL3NhbmRib3gtYXBpLnZhLmdvdi9zZXJ2aWNlcy92YV9mYWNpbGl0aWVzL3YxL2ZhY2lsaXRpZXMvdmNfMDY0OFYvc2VydmljZXMvcHRzZCJ9LHsibmFtZSI6IlN1aWNpZGUgcHJldmVudGlvbiIsInNlcnZpY2VJZCI6InN1aWNpZGVQcmV2ZW50aW9uIiwibGluayI6Imh0dHBzOi8vc2FuZGJveC1hcGkudmEuZ292L3NlcnZpY2VzL3ZhX2ZhY2lsaXRpZXMvdjEvZmFjaWxpdGllcy92Y18wNjQ4Vi9zZXJ2aWNlcy9zdWljaWRlUHJldmVudGlvbiJ9LHsibmFtZSI6IlJldHVybmluZyBzZXJ2aWNlIG1lbWJlciBjYXJlIiwic2VydmljZUlkIjoidHJhbnNpdGlvbkNvdW5zZWxpbmciLCJsaW5rIjoiaHR0cHM6Ly9zYW5kYm94LWFwaS52YS5nb3Yvc2VydmljZXMvdmFfZmFjaWxpdGllcy92MS9mYWNpbGl0aWVzL3ZjXzA2NDhWL3NlcnZpY2VzL3RyYW5zaXRpb25Db3Vuc2VsaW5nIn0seyJuYW1lIjoiVmV0ZXJhbiBjb25uZWN0aW9ucyIsInNlcnZpY2VJZCI6InZldGVyYW5Db25uZWN0aW9ucyIsImxpbmsiOiJodHRwczovL3NhbmRib3gtYXBpLnZhLmdvdi9zZXJ2aWNlcy92YV9mYWNpbGl0aWVzL3YxL2ZhY2lsaXRpZXMvdmNfMDY0OFYvc2VydmljZXMvdmV0ZXJhbkNvbm5lY3Rpb25zIn0seyJuYW1lIjoiV2hvbGUgaGVhbHRoIiwic2VydmljZUlkIjoid2hvbGVIZWFsdGgiLCJsaW5rIjoiaHR0cHM6Ly9zYW5kYm94LWFwaS52YS5nb3Yvc2VydmljZXMvdmFfZmFjaWxpdGllcy92MS9mYWNpbGl0aWVzL3ZjXzA2NDhWL3NlcnZpY2VzL3dob2xlSGVhbHRoIn1dLCJsaW5rIjoiaHR0cHM6Ly9zYW5kYm94LWFwaS52YS5nb3Yvc2VydmljZXMvdmFfZmFjaWxpdGllcy92MS9mYWNpbGl0aWVzL3ZjXzA2NDhWL3NlcnZpY2VzIn0sIm1vYmlsZSI6ZmFsc2UsIm9wZXJhdGluZ1N0YXR1cyI6eyJjb2RlIjoiTk9STUFMIn0sInZpc24iOiIyMSJ9fSx7ImlkIjoidmJhXzQ1OWgiLCJ0eXBlIjoidmFfZmFjaWxpdGllcyIsImF0dHJpYnV0ZXMiOnsibmFtZSI6IlZBIFJlZ2lvbmFsIEJlbmVmaXQgU2F0ZWxsaXRlIE9mZmljZSBhdCBHdWFtIiwiZmFjaWxpdHlUeXBlIjoidmFfYmVuZWZpdHNfZmFjaWxpdHkiLCJjbGFzc2lmaWNhdGlvbiI6IlNhdGVsbGl0ZSBPZmZpY2UiLCJ3ZWJzaXRlIjoiaHR0cHM6Ly93d3cuYmVuZWZpdHMudmEuZ292L2hvbm9sdWx1LyIsImxhdCI6MTMuNDg3NTE2MywibG9uZyI6MTQ0Ljc5NjAxMiwidGltZVpvbmUiOiJQYWNpZmljL0d1YW0iLCJhZGRyZXNzIjp7InBoeXNpY2FsIjp7InppcCI6Ijk2OTEzIiwiY2l0eSI6IlRhbXVuaW5nIiwic3RhdGUiOiJHVSIsImFkZHJlc3MxIjoiNzcwIEVhc3QgU3Vuc2V0IEJsdmQuIiwiYWRkcmVzczIiOiJTdWl0ZSAxNjUifX0sInBob25lIjp7Im1haW4iOiI2NzEtNjQ4LTAwOTAifSwiaG91cnMiOnsibW9uZGF5IjoiODowMCBhLm0uIC0gNDowMCBwLm0uIiwidHVlc2RheSI6Ijg6MDAgYS5tLiAtIDQ6MDAgcC5tLiIsIndlZG5lc2RheSI6Ijg6MDAgYS5tLiAtIDQ6MDAgcC5tLiIsInRodXJzZGF5IjoiODowMCBhLm0uIC0gNDowMCBwLm0uIiwiZnJpZGF5IjoiODowMCBhLm0uIC0gNDowMCBwLm0uIiwic2F0dXJkYXkiOiJDbG9zZWQiLCJzdW5kYXkiOiJDbG9zZWQifSwic2VydmljZXMiOnsiYmVuZWZpdHMiOlt7Im5hbWUiOiJBcHBseWluZ0ZvckJlbmVmaXRzIiwic2VydmljZUlkIjoiYXBwbHlpbmdGb3JCZW5lZml0cyIsImxpbmsiOiJodHRwczovL3NhbmRib3gtYXBpLnZhLmdvdi9zZXJ2aWNlcy92YV9mYWNpbGl0aWVzL3YxL2ZhY2lsaXRpZXMvdmJhXzQ1OWgvc2VydmljZXMvYXBwbHlpbmdGb3JCZW5lZml0cyJ9LHsibmFtZSI6IkJ1cmlhbENsYWltQXNzaXN0YW5jZSIsInNlcnZpY2VJZCI6ImJ1cmlhbENsYWltQXNzaXN0YW5jZSIsImxpbmsiOiJodHRwczovL3NhbmRib3gtYXBpLnZhLmdvdi9zZXJ2aWNlcy92YV9mYWNpbGl0aWVzL3YxL2ZhY2lsaXRpZXMvdmJhXzQ1OWgvc2VydmljZXMvYnVyaWFsQ2xhaW1Bc3Npc3RhbmNlIn0seyJuYW1lIjoiRGlzYWJpbGl0eUNsYWltQXNzaXN0YW5jZSIsInNlcnZpY2VJZCI6ImRpc2FiaWxpdHlDbGFpbUFzc2lzdGFuY2UiLCJsaW5rIjoiaHR0cHM6Ly9zYW5kYm94LWFwaS52YS5nb3Yvc2VydmljZXMvdmFfZmFjaWxpdGllcy92MS9mYWNpbGl0aWVzL3ZiYV80NTloL3NlcnZpY2VzL2Rpc2FiaWxpdHlDbGFpbUFzc2lzdGFuY2UifSx7Im5hbWUiOiJlQmVuZWZpdHNSZWdpc3RyYXRpb25Bc3Npc3RhbmNlIiwic2VydmljZUlkIjoiZUJlbmVmaXRzUmVnaXN0cmF0aW9uQXNzaXN0YW5jZSIsImxpbmsiOiJodHRwczovL3NhbmRib3gtYXBpLnZhLmdvdi9zZXJ2aWNlcy92YV9mYWNpbGl0aWVzL3YxL2ZhY2lsaXRpZXMvdmJhXzQ1OWgvc2VydmljZXMvZUJlbmVmaXRzUmVnaXN0cmF0aW9uQXNzaXN0YW5jZSJ9LHsibmFtZSI6IkVkdWNhdGlvbkFuZENhcmVlckNvdW5zZWxpbmciLCJzZXJ2aWNlSWQiOiJlZHVjYXRpb25BbmRDYXJlZXJDb3Vuc2VsaW5nIiwibGluayI6Imh0dHBzOi8vc2FuZGJveC1hcGkudmEuZ292L3NlcnZpY2VzL3ZhX2ZhY2lsaXRpZXMvdjEvZmFjaWxpdGllcy92YmFfNDU5aC9zZXJ2aWNlcy9lZHVjYXRpb25BbmRDYXJlZXJDb3Vuc2VsaW5nIn0seyJuYW1lIjoiRWR1Y2F0aW9uQ2xhaW1Bc3Npc3RhbmNlIiwic2VydmljZUlkIjoiZWR1Y2F0aW9uQ2xhaW1Bc3Npc3RhbmNlIiwibGluayI6Imh0dHBzOi8vc2FuZGJveC1hcGkudmEuZ292L3NlcnZpY2VzL3ZhX2ZhY2lsaXRpZXMvdjEvZmFjaWxpdGllcy92YmFfNDU5aC9zZXJ2aWNlcy9lZHVjYXRpb25DbGFpbUFzc2lzdGFuY2UifSx7Im5hbWUiOiJGYW1pbHlNZW1iZXJDbGFpbUFzc2lzdGFuY2UiLCJzZXJ2aWNlSWQiOiJmYW1pbHlNZW1iZXJDbGFpbUFzc2lzdGFuY2UiLCJsaW5rIjoiaHR0cHM6Ly9zYW5kYm94LWFwaS52YS5nb3Yvc2VydmljZXMvdmFfZmFjaWxpdGllcy92MS9mYWNpbGl0aWVzL3ZiYV80NTloL3NlcnZpY2VzL2ZhbWlseU1lbWJlckNsYWltQXNzaXN0YW5jZSJ9LHsibmFtZSI6IkhvbWVsZXNzQXNzaXN0YW5jZSIsInNlcnZpY2VJZCI6ImhvbWVsZXNzQXNzaXN0YW5jZSIsImxpbmsiOiJodHRwczovL3NhbmRib3gtYXBpLnZhLmdvdi9zZXJ2aWNlcy92YV9mYWNpbGl0aWVzL3YxL2ZhY2lsaXRpZXMvdmJhXzQ1OWgvc2VydmljZXMvaG9tZWxlc3NBc3Npc3RhbmNlIn0seyJuYW1lIjoiVkFIb21lTG9hbkFzc2lzdGFuY2UiLCJzZXJ2aWNlSWQiOiJ2YUhvbWVMb2FuQXNzaXN0YW5jZSIsImxpbmsiOiJodHRwczovL3NhbmRib3gtYXBpLnZhLmdvdi9zZXJ2aWNlcy92YV9mYWNpbGl0aWVzL3YxL2ZhY2lsaXRpZXMvdmJhXzQ1OWgvc2VydmljZXMvdmFIb21lTG9hbkFzc2lzdGFuY2UifSx7Im5hbWUiOiJJbnN1cmFuY2VDbGFpbUFzc2lzdGFuY2VBbmRGaW5hbmNpYWxDb3Vuc2VsaW5nIiwic2VydmljZUlkIjoiaW5zdXJhbmNlQ2xhaW1Bc3Npc3RhbmNlQW5kRmluYW5jaWFsQ291bnNlbGluZyIsImxpbmsiOiJodHRwczovL3NhbmRib3gtYXBpLnZhLmdvdi9zZXJ2aWNlcy92YV9mYWNpbGl0aWVzL3YxL2ZhY2lsaXRpZXMvdmJhXzQ1OWgvc2VydmljZXMvaW5zdXJhbmNlQ2xhaW1Bc3Npc3RhbmNlQW5kRmluYW5jaWFsQ291bnNlbGluZyJ9LHsibmFtZSI6IlByZURpc2NoYXJnZUNsYWltQXNzaXN0YW5jZSIsInNlcnZpY2VJZCI6InByZURpc2NoYXJnZUNsYWltQXNzaXN0YW5jZSIsImxpbmsiOiJodHRwczovL3NhbmRib3gtYXBpLnZhLmdvdi9zZXJ2aWNlcy92YV9mYWNpbGl0aWVzL3YxL2ZhY2lsaXRpZXMvdmJhXzQ1OWgvc2VydmljZXMvcHJlRGlzY2hhcmdlQ2xhaW1Bc3Npc3RhbmNlIn0seyJuYW1lIjoiVHJhbnNpdGlvbkFzc2lzdGFuY2UiLCJzZXJ2aWNlSWQiOiJ0cmFuc2l0aW9uQXNzaXN0YW5jZSIsImxpbmsiOiJodHRwczovL3NhbmRib3gtYXBpLnZhLmdvdi9zZXJ2aWNlcy92YV9mYWNpbGl0aWVzL3YxL2ZhY2lsaXRpZXMvdmJhXzQ1OWgvc2VydmljZXMvdHJhbnNpdGlvbkFzc2lzdGFuY2UifSx7Im5hbWUiOiJVcGRhdGluZ0RpcmVjdERlcG9zaXRJbmZvcm1hdGlvbiIsInNlcnZpY2VJZCI6InVwZGF0aW5nRGlyZWN0RGVwb3NpdEluZm9ybWF0aW9uIiwibGluayI6Imh0dHBzOi8vc2FuZGJveC1hcGkudmEuZ292L3NlcnZpY2VzL3ZhX2ZhY2lsaXRpZXMvdjEvZmFjaWxpdGllcy92YmFfNDU5aC9zZXJ2aWNlcy91cGRhdGluZ0RpcmVjdERlcG9zaXRJbmZvcm1hdGlvbiJ9LHsibmFtZSI6IlZvY2F0aW9uYWxSZWhhYmlsaXRhdGlvbkFuZEVtcGxveW1lbnRBc3Npc3RhbmNlIiwic2VydmljZUlkIjoidm9jYXRpb25hbFJlaGFiaWxpdGF0aW9uQW5kRW1wbG95bWVudEFzc2lzdGFuY2UiLCJsaW5rIjoiaHR0cHM6Ly9zYW5kYm94LWFwaS52YS5nb3Yvc2VydmljZXMvdmFfZmFjaWxpdGllcy92MS9mYWNpbGl0aWVzL3ZiYV80NTloL3NlcnZpY2VzL3ZvY2F0aW9uYWxSZWhhYmlsaXRhdGlvbkFuZEVtcGxveW1lbnRBc3Npc3RhbmNlIn1dLCJsaW5rIjoiaHR0cHM6Ly9zYW5kYm94LWFwaS52YS5nb3Yvc2VydmljZXMvdmFfZmFjaWxpdGllcy92MS9mYWNpbGl0aWVzL3ZiYV80NTloL3NlcnZpY2VzIn0sIm9wZXJhdGluZ1N0YXR1cyI6eyJjb2RlIjoiTk9STUFMIn19fSx7ImlkIjoidmhhXzQ1OUdIIiwidHlwZSI6InZhX2ZhY2lsaXRpZXMiLCJhdHRyaWJ1dGVzIjp7Im5hbWUiOiJTYWlwYW4gVkEgQ2xpbmljIiwiZmFjaWxpdHlUeXBlIjoidmFfaGVhbHRoX2ZhY2lsaXR5IiwiY2xhc3NpZmljYXRpb24iOiJPdGhlciBPdXRwYXRpZW50IFNlcnZpY2VzIChPT1MpIiwicGFyZW50Ijp7ImlkIjoidmhhXzQ1OSIsImxpbmsiOiJodHRwczovL3NhbmRib3gtYXBpLnZhLmdvdi9zZXJ2aWNlcy92YV9mYWNpbGl0aWVzL3YxL2ZhY2lsaXRpZXMvdmhhXzQ1OSJ9LCJ3ZWJzaXRlIjoiaHR0cHM6Ly93d3cudmEuZ292L3BhY2lmaWMtaXNsYW5kcy1oZWFsdGgtY2FyZS9sb2NhdGlvbnMvc2FpcGFuLXZhLWNsaW5pYy8iLCJsYXQiOjE1LjIxNjc5NCwibG9uZyI6MTQ1LjcyOTM4NSwidGltZVpvbmUiOiJQYWNpZmljL1NhaXBhbiIsImFkZHJlc3MiOnsicGh5c2ljYWwiOnsiemlwIjoiOTY5NTAtOTk5OCIsImNpdHkiOiJTYWlwYW4iLCJzdGF0ZSI6Ik1QIiwiYWRkcmVzczEiOiJNYXJpbmEgSGVpZ2h0cyBCdXNpbmVzcyBQYXJrIC0gR2FyYXBhbiIsImFkZHJlc3MyIjoiTWVkaWNhbCBBc3NvY2lhdGVzIG9mIHRoZSBQYWNpZmljIiwiYWRkcmVzczMiOiJNSC1JSSBCdWlsZGluZyBTdWl0ZSAxMDAgYW5kIDIwNiJ9fSwicGhvbmUiOnsiZmF4IjoiNjcwLTMyMi0wMDM4IiwibWFpbiI6IjgwMC0yMTQtMTMwNiIsInBoYXJtYWN5IjoiODAwLTQ2NS04Mzg3IiwiYWZ0ZXJIb3VycyI6IjgwMC0yMTQtMTMwNiIsInBhdGllbnRBZHZvY2F0ZSI6IjY3MC0zMjItMDAzNSIsImVucm9sbG1lbnRDb29yZGluYXRvciI6IjgwOC00MzMtNzYwMCJ9LCJob3VycyI6eyJtb25kYXkiOiJDbG9zZWQiLCJ0dWVzZGF5IjoiODMwQU0tNDAwUE0iLCJ3ZWRuZXNkYXkiOiJDbG9zZWQiLCJ0aHVyc2RheSI6IjgzMEFNLTQwMFBNIiwiZnJpZGF5IjoiQ2xvc2VkIiwic2F0dXJkYXkiOiJDbG9zZWQiLCJzdW5kYXkiOiJDbG9zZWQifSwic2VydmljZXMiOnsiaGVhbHRoIjpbeyJuYW1lIjoiQWR2aWNlIG51cnNlIiwic2VydmljZUlkIjoiYWR2aWNlTnVyc2UiLCJsaW5rIjoiaHR0cHM6Ly9zYW5kYm94LWFwaS52YS5nb3Yvc2VydmljZXMvdmFfZmFjaWxpdGllcy92MS9mYWNpbGl0aWVzL3ZoYV80NTlHSC9zZXJ2aWNlcy9hZHZpY2VOdXJzZSJ9LHsibmFtZSI6Ik1lbnRhbEhlYWx0aCIsInNlcnZpY2VJZCI6Im1lbnRhbEhlYWx0aCIsImxpbmsiOiJodHRwczovL3NhbmRib3gtYXBpLnZhLmdvdi9zZXJ2aWNlcy92YV9mYWNpbGl0aWVzL3YxL2ZhY2lsaXRpZXMvdmhhXzQ1OUdIL3NlcnZpY2VzL21lbnRhbEhlYWx0aCJ9LHsibmFtZSI6Ik9ydGhvcGVkaWNzIiwic2VydmljZUlkIjoib3J0aG9wZWRpY3MiLCJsaW5rIjoiaHR0cHM6Ly9zYW5kYm94LWFwaS52YS5nb3Yvc2VydmljZXMvdmFfZmFjaWxpdGllcy92MS9mYWNpbGl0aWVzL3ZoYV80NTlHSC9zZXJ2aWNlcy9vcnRob3BlZGljcyJ9LHsibmFtZSI6IlBvZGlhdHJ5Iiwic2VydmljZUlkIjoicG9kaWF0cnkiLCJsaW5rIjoiaHR0cHM6Ly9zYW5kYm94LWFwaS52YS5nb3Yvc2VydmljZXMvdmFfZmFjaWxpdGllcy92MS9mYWNpbGl0aWVzL3ZoYV80NTlHSC9zZXJ2aWNlcy9wb2RpYXRyeSJ9LHsibmFtZSI6IlByaW1hcnkgY2FyZSIsInNlcnZpY2VJZCI6InByaW1hcnlDYXJlIiwibGluayI6Imh0dHBzOi8vc2FuZGJveC1hcGkudmEuZ292L3NlcnZpY2VzL3ZhX2ZhY2lsaXRpZXMvdjEvZmFjaWxpdGllcy92aGFfNDU5R0gvc2VydmljZXMvcHJpbWFyeUNhcmUifSx7Im5hbWUiOiJUZWxlaGVhbHRoIiwic2VydmljZUlkIjoidGVsZWhlYWx0aCIsImxpbmsiOiJodHRwczovL3NhbmRib3gtYXBpLnZhLmdvdi9zZXJ2aWNlcy92YV9mYWNpbGl0aWVzL3YxL2ZhY2lsaXRpZXMvdmhhXzQ1OUdIL3NlcnZpY2VzL3RlbGVoZWFsdGgifSx7Im5hbWUiOiJXb21lbiBWZXRlcmFuIGNhcmUiLCJzZXJ2aWNlSWQiOiJ3b21lbnNIZWFsdGgiLCJsaW5rIjoiaHR0cHM6Ly9zYW5kYm94LWFwaS52YS5nb3Yvc2VydmljZXMvdmFfZmFjaWxpdGllcy92MS9mYWNpbGl0aWVzL3ZoYV80NTlHSC9zZXJ2aWNlcy93b21lbnNIZWFsdGgifV0sImxpbmsiOiJodHRwczovL3NhbmRib3gtYXBpLnZhLmdvdi9zZXJ2aWNlcy92YV9mYWNpbGl0aWVzL3YxL2ZhY2lsaXRpZXMvdmhhXzQ1OUdIL3NlcnZpY2VzIiwibGFzdFVwZGF0ZWQiOiIyMDI0LTA0LTE3In0sIm1vYmlsZSI6ZmFsc2UsIm9wZXJhdGluZ1N0YXR1cyI6eyJjb2RlIjoiTk9STUFMIn0sInZpc24iOiIyMSJ9fSx7ImlkIjoidmJhXzQ1OWsiLCJ0eXBlIjoidmFfZmFjaWxpdGllcyIsImF0dHJpYnV0ZXMiOnsibmFtZSI6IlZBIFJlZ2lvbmFsIEJlbmVmaXQgU2F0ZWxsaXRlIE9mZmljZSBhdCBDb21tb253ZWFsdGggb2YgdGhlIE5vcnRoZXJuIE1hcmlhbmEgSXNsYW5kcyBPZmZpY2Ugb2YgVmV0ZXJhbnMgU2VydmljZXMiLCJmYWNpbGl0eVR5cGUiOiJ2YV9iZW5lZml0c19mYWNpbGl0eSIsImNsYXNzaWZpY2F0aW9uIjoiU2F0ZWxsaXRlIE9mZmljZSIsImxhdCI6MTUuMjE2NDI4MDM5Mzg2OTI2LCJsb25nIjoxNDUuNzUzMzMzNTM4NjI2MDQsInRpbWVab25lIjoiUGFjaWZpYy9TYWlwYW4iLCJhZGRyZXNzIjp7InBoeXNpY2FsIjp7InppcCI6Ijk2OTUwIiwiY2l0eSI6IlNhaXBhbiIsInN0YXRlIjoiTVAiLCJhZGRyZXNzMSI6IjEzNjQgQW5hdGFoYW4gRHJpdmUiLCJhZGRyZXNzMiI6IkNhcGl0b2wgSGlsbCJ9fSwicGhvbmUiOnsibWFpbiI6IjY3MC02NjQtMjY1MCJ9LCJob3VycyI6eyJtb25kYXkiOiI4OjAwIGEubS4gLSA0OjAwIHAubS4iLCJ0dWVzZGF5IjoiODowMCBhLm0uIC0gNDowMCBwLm0uIiwid2VkbmVzZGF5IjoiODowMCBhLm0uIC0gNDowMCBwLm0uIiwidGh1cnNkYXkiOiI4OjAwIGEubS4gLSA0OjAwIHAubS4iLCJmcmlkYXkiOiI4OjAwIGEubS4gLSA0OjAwIHAubS4iLCJzYXR1cmRheSI6IkNsb3NlZCIsInN1bmRheSI6IkNsb3NlZCJ9LCJzZXJ2aWNlcyI6eyJiZW5lZml0cyI6W3sibmFtZSI6IkFwcGx5aW5nRm9yQmVuZWZpdHMiLCJzZXJ2aWNlSWQiOiJhcHBseWluZ0ZvckJlbmVmaXRzIiwibGluayI6Imh0dHBzOi8vc2FuZGJveC1hcGkudmEuZ292L3NlcnZpY2VzL3ZhX2ZhY2lsaXRpZXMvdjEvZmFjaWxpdGllcy92YmFfNDU5ay9zZXJ2aWNlcy9hcHBseWluZ0ZvckJlbmVmaXRzIn0seyJuYW1lIjoiQnVyaWFsQ2xhaW1Bc3Npc3RhbmNlIiwic2VydmljZUlkIjoiYnVyaWFsQ2xhaW1Bc3Npc3RhbmNlIiwibGluayI6Imh0dHBzOi8vc2FuZGJveC1hcGkudmEuZ292L3NlcnZpY2VzL3ZhX2ZhY2lsaXRpZXMvdjEvZmFjaWxpdGllcy92YmFfNDU5ay9zZXJ2aWNlcy9idXJpYWxDbGFpbUFzc2lzdGFuY2UifSx7Im5hbWUiOiJEaXNhYmlsaXR5Q2xhaW1Bc3Npc3RhbmNlIiwic2VydmljZUlkIjoiZGlzYWJpbGl0eUNsYWltQXNzaXN0YW5jZSIsImxpbmsiOiJodHRwczovL3NhbmRib3gtYXBpLnZhLmdvdi9zZXJ2aWNlcy92YV9mYWNpbGl0aWVzL3YxL2ZhY2lsaXRpZXMvdmJhXzQ1OWsvc2VydmljZXMvZGlzYWJpbGl0eUNsYWltQXNzaXN0YW5jZSJ9LHsibmFtZSI6ImVCZW5lZml0c1JlZ2lzdHJhdGlvbkFzc2lzdGFuY2UiLCJzZXJ2aWNlSWQiOiJlQmVuZWZpdHNSZWdpc3RyYXRpb25Bc3Npc3RhbmNlIiwibGluayI6Imh0dHBzOi8vc2FuZGJveC1hcGkudmEuZ292L3NlcnZpY2VzL3ZhX2ZhY2lsaXRpZXMvdjEvZmFjaWxpdGllcy92YmFfNDU5ay9zZXJ2aWNlcy9lQmVuZWZpdHNSZWdpc3RyYXRpb25Bc3Npc3RhbmNlIn0seyJuYW1lIjoiRWR1Y2F0aW9uQW5kQ2FyZWVyQ291bnNlbGluZyIsInNlcnZpY2VJZCI6ImVkdWNhdGlvbkFuZENhcmVlckNvdW5zZWxpbmciLCJsaW5rIjoiaHR0cHM6Ly9zYW5kYm94LWFwaS52YS5nb3Yvc2VydmljZXMvdmFfZmFjaWxpdGllcy92MS9mYWNpbGl0aWVzL3ZiYV80NTlrL3NlcnZpY2VzL2VkdWNhdGlvbkFuZENhcmVlckNvdW5zZWxpbmcifSx7Im5hbWUiOiJFZHVjYXRpb25DbGFpbUFzc2lzdGFuY2UiLCJzZXJ2aWNlSWQiOiJlZHVjYXRpb25DbGFpbUFzc2lzdGFuY2UiLCJsaW5rIjoiaHR0cHM6Ly9zYW5kYm94LWFwaS52YS5nb3Yvc2VydmljZXMvdmFfZmFjaWxpdGllcy92MS9mYWNpbGl0aWVzL3ZiYV80NTlrL3NlcnZpY2VzL2VkdWNhdGlvbkNsYWltQXNzaXN0YW5jZSJ9LHsibmFtZSI6IkZhbWlseU1lbWJlckNsYWltQXNzaXN0YW5jZSIsInNlcnZpY2VJZCI6ImZhbWlseU1lbWJlckNsYWltQXNzaXN0YW5jZSIsImxpbmsiOiJodHRwczovL3NhbmRib3gtYXBpLnZhLmdvdi9zZXJ2aWNlcy92YV9mYWNpbGl0aWVzL3YxL2ZhY2lsaXRpZXMvdmJhXzQ1OWsvc2VydmljZXMvZmFtaWx5TWVtYmVyQ2xhaW1Bc3Npc3RhbmNlIn0seyJuYW1lIjoiSG9tZWxlc3NBc3Npc3RhbmNlIiwic2VydmljZUlkIjoiaG9tZWxlc3NBc3Npc3RhbmNlIiwibGluayI6Imh0dHBzOi8vc2FuZGJveC1hcGkudmEuZ292L3NlcnZpY2VzL3ZhX2ZhY2lsaXRpZXMvdjEvZmFjaWxpdGllcy92YmFfNDU5ay9zZXJ2aWNlcy9ob21lbGVzc0Fzc2lzdGFuY2UifSx7Im5hbWUiOiJWQUhvbWVMb2FuQXNzaXN0YW5jZSIsInNlcnZpY2VJZCI6InZhSG9tZUxvYW5Bc3Npc3RhbmNlIiwibGluayI6Imh0dHBzOi8vc2FuZGJveC1hcGkudmEuZ292L3NlcnZpY2VzL3ZhX2ZhY2lsaXRpZXMvdjEvZmFjaWxpdGllcy92YmFfNDU5ay9zZXJ2aWNlcy92YUhvbWVMb2FuQXNzaXN0YW5jZSJ9LHsibmFtZSI6Ikluc3VyYW5jZUNsYWltQXNzaXN0YW5jZUFuZEZpbmFuY2lhbENvdW5zZWxpbmciLCJzZXJ2aWNlSWQiOiJpbnN1cmFuY2VDbGFpbUFzc2lzdGFuY2VBbmRGaW5hbmNpYWxDb3Vuc2VsaW5nIiwibGluayI6Imh0dHBzOi8vc2FuZGJveC1hcGkudmEuZ292L3NlcnZpY2VzL3ZhX2ZhY2lsaXRpZXMvdjEvZmFjaWxpdGllcy92YmFfNDU5ay9zZXJ2aWNlcy9pbnN1cmFuY2VDbGFpbUFzc2lzdGFuY2VBbmRGaW5hbmNpYWxDb3Vuc2VsaW5nIn0seyJuYW1lIjoiUHJlRGlzY2hhcmdlQ2xhaW1Bc3Npc3RhbmNlIiwic2VydmljZUlkIjoicHJlRGlzY2hhcmdlQ2xhaW1Bc3Npc3RhbmNlIiwibGluayI6Imh0dHBzOi8vc2FuZGJveC1hcGkudmEuZ292L3NlcnZpY2VzL3ZhX2ZhY2lsaXRpZXMvdjEvZmFjaWxpdGllcy92YmFfNDU5ay9zZXJ2aWNlcy9wcmVEaXNjaGFyZ2VDbGFpbUFzc2lzdGFuY2UifSx7Im5hbWUiOiJUcmFuc2l0aW9uQXNzaXN0YW5jZSIsInNlcnZpY2VJZCI6InRyYW5zaXRpb25Bc3Npc3RhbmNlIiwibGluayI6Imh0dHBzOi8vc2FuZGJveC1hcGkudmEuZ292L3NlcnZpY2VzL3ZhX2ZhY2lsaXRpZXMvdjEvZmFjaWxpdGllcy92YmFfNDU5ay9zZXJ2aWNlcy90cmFuc2l0aW9uQXNzaXN0YW5jZSJ9LHsibmFtZSI6IlVwZGF0aW5nRGlyZWN0RGVwb3NpdEluZm9ybWF0aW9uIiwic2VydmljZUlkIjoidXBkYXRpbmdEaXJlY3REZXBvc2l0SW5mb3JtYXRpb24iLCJsaW5rIjoiaHR0cHM6Ly9zYW5kYm94LWFwaS52YS5nb3Yvc2VydmljZXMvdmFfZmFjaWxpdGllcy92MS9mYWNpbGl0aWVzL3ZiYV80NTlrL3NlcnZpY2VzL3VwZGF0aW5nRGlyZWN0RGVwb3NpdEluZm9ybWF0aW9uIn1dLCJsaW5rIjoiaHR0cHM6Ly9zYW5kYm94LWFwaS52YS5nb3Yvc2VydmljZXMvdmFfZmFjaWxpdGllcy92MS9mYWNpbGl0aWVzL3ZiYV80NTlrL3NlcnZpY2VzIn0sIm9wZXJhdGluZ1N0YXR1cyI6eyJjb2RlIjoiTk9STUFMIn19fSx7ImlkIjoibmNhX3MxMTQwIiwidHlwZSI6InZhX2ZhY2lsaXRpZXMiLCJhdHRyaWJ1dGVzIjp7Im5hbWUiOiJDb21tb253ZWFsdGggb2YgdGhlIE5vcnRoZXJuIE1hcmlhbmEgSXNsYW5kcyBWZXRlcmFucyBDZW1ldGVyeSIsImZhY2lsaXR5VHlwZSI6InZhX2NlbWV0ZXJ5IiwiY2xhc3NpZmljYXRpb24iOiJTdGF0ZSBDZW1ldGVyeSIsImxhdCI6MTUuMjg2MDg5Mzg3NTY3MSwibG9uZyI6MTQ1LjgxMDc3MjE4MDU1NywidGltZVpvbmUiOiJQYWNpZmljL1NhaXBhbiIsImFkZHJlc3MiOnsicGh5c2ljYWwiOnsiemlwIjoiOTY5NTAiLCJjaXR5IjoiU2FpcGFuIiwic3RhdGUiOiJNUCIsImFkZHJlc3MxIjoiQmFuemFpIENsaWZmIFJkIn19LCJwaG9uZSI6eyJtYWluIjoiNjcwLTY2NC0yNjUwIn0sImhvdXJzIjp7Im1vbmRheSI6IlN1bnJpc2UgLSBTdW5zZXQiLCJ0dWVzZGF5IjoiU3VucmlzZSAtIFN1bnNldCIsIndlZG5lc2RheSI6IlN1bnJpc2UgLSBTdW5zZXQiLCJ0aHVyc2RheSI6IlN1bnJpc2UgLSBTdW5zZXQiLCJmcmlkYXkiOiJTdW5yaXNlIC0gU3Vuc2V0Iiwic2F0dXJkYXkiOiJTdW5yaXNlIC0gU3Vuc2V0Iiwic3VuZGF5IjoiU3VucmlzZSAtIFN1bnNldCJ9LCJvcGVyYXRpbmdTdGF0dXMiOnsiY29kZSI6Ik5PUk1BTCJ9fX1dLCJsaW5rcyI6eyJzZWxmIjoiaHR0cHM6Ly9zYW5kYm94LWFwaS52YS5nb3Yvc2VydmljZXMvdmFfZmFjaWxpdGllcy92MS9mYWNpbGl0aWVzP2Jib3glNUIlNUQ9NjAuOTkmYmJveCU1QiU1RD0xMC41NCZiYm94JTVCJTVEPTE4MC4wJmJib3glNUIlNUQ9MjAuNTUmcGFnZT0xJnBlcl9wYWdlPTEwIiwiZmlyc3QiOiJodHRwczovL3NhbmRib3gtYXBpLnZhLmdvdi9zZXJ2aWNlcy92YV9mYWNpbGl0aWVzL3YxL2ZhY2lsaXRpZXM/YmJveCU1QiU1RD02MC45OSZiYm94JTVCJTVEPTEwLjU0JmJib3glNUIlNUQ9MTgwLjAmYmJveCU1QiU1RD0yMC41NSZwYWdlPTEmcGVyX3BhZ2U9MTAiLCJsYXN0IjoiaHR0cHM6Ly9zYW5kYm94LWFwaS52YS5nb3Yvc2VydmljZXMvdmFfZmFjaWxpdGllcy92MS9mYWNpbGl0aWVzP2Jib3glNUIlNUQ9NjAuOTkmYmJveCU1QiU1RD0xMC41NCZiYm94JTVCJTVEPTE4MC4wJmJib3glNUIlNUQ9MjAuNTUmcGFnZT0xJnBlcl9wYWdlPTEwIn0sIm1ldGEiOnsicGFnaW5hdGlvbiI6eyJjdXJyZW50UGFnZSI6MSwicGVyUGFnZSI6MTAsInRvdGFsUGFnZXMiOjEsInRvdGFsRW50cmllcyI6OX19fQ== + recorded_at: Fri, 19 Apr 2024 21:22:07 GMT +recorded_with: VCR 6.2.0 diff --git a/spec/support/vcr_cassettes/lighthouse/facilities_401.yml b/spec/support/vcr_cassettes/lighthouse/facilities_401.yml index 378102a8a2d..24e668fa18c 100644 --- a/spec/support/vcr_cassettes/lighthouse/facilities_401.yml +++ b/spec/support/vcr_cassettes/lighthouse/facilities_401.yml @@ -42,6 +42,50 @@ http_interactions: body: encoding: UTF-8 string: '{"message":"Invalid authentication credentials"}' - http_version: null recorded_at: Tue, 14 Apr 2020 17:55:43 GMT -recorded_with: VCR 5.1.0 +- request: + method: get + uri: https://sandbox-api.va.gov/services/va_facilities/v1/facilities/vha_358 + body: + encoding: US-ASCII + string: '' + headers: + Accept: + - application/json + Content-Type: + - application/json + User-Agent: + - Vets.gov Agent + Apikey: + - "" + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + response: + status: + code: 401 + message: Unauthorized + headers: + Date: + - Fri, 19 Apr 2024 21:12:37 GMT + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '52' + Connection: + - keep-alive + Access-Control-Allow-Origin: + - "*" + Cache-Control: + - '' + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + X-Frame-Options: + - SAMEORIGIN + body: + encoding: UTF-8 + string: |- + { + "message":"Invalid authentication credentials" + } + recorded_at: Fri, 19 Apr 2024 21:12:37 GMT +recorded_with: VCR 6.2.0