| // chrome/common/importer/profile_import.mojom.h is auto generated by mojom_bindings_generator.py, do not edit |
| |
| // Copyright 2013 The Chromium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef CHROME_COMMON_IMPORTER_PROFILE_IMPORT_MOJOM_H_ |
| #define CHROME_COMMON_IMPORTER_PROFILE_IMPORT_MOJOM_H_ |
| |
| #include <stdint.h> |
| |
| #include <limits> |
| #include <optional> |
| #include <type_traits> |
| #include <utility> |
| |
| #include "base/types/cxx23_to_underlying.h" |
| #include "mojo/public/cpp/bindings/clone_traits.h" |
| #include "mojo/public/cpp/bindings/equals_traits.h" |
| #include "mojo/public/cpp/bindings/lib/serialization.h" |
| #include "mojo/public/cpp/bindings/struct_ptr.h" |
| #include "mojo/public/cpp/bindings/struct_traits.h" |
| #include "mojo/public/cpp/bindings/union_traits.h" |
| |
| #include "third_party/perfetto/include/perfetto/tracing/traced_value_forward.h" |
| |
| #include "chrome/common/importer/profile_import.mojom-features.h" |
| #include "chrome/common/importer/profile_import.mojom-shared.h" |
| #include "chrome/common/importer/profile_import.mojom-forward.h" |
| #include "mojo/public/mojom/base/string16.mojom.h" |
| #include "sandbox/policy/mojom/sandbox.mojom-forward.h" |
| #include "url/mojom/url.mojom.h" |
| #include <string> |
| #include <vector> |
| |
| #include "mojo/public/cpp/bindings/lib/control_message_handler.h" |
| #include "mojo/public/cpp/bindings/lib/message_size_estimator.h" |
| #include "mojo/public/cpp/bindings/raw_ptr_impl_ref_traits.h" |
| |
| |
| #include "mojo/public/cpp/bindings/lib/native_enum_serialization.h" |
| #include "mojo/public/cpp/bindings/lib/native_struct_serialization.h" |
| #include "chrome/common/importer/imported_bookmark_entry.h" |
| #include "chrome/common/importer/importer_autofill_form_data_entry.h" |
| #include "chrome/common/importer/importer_data_types.h" |
| #include "chrome/common/importer/importer_url_row.h" |
| #include "components/favicon_base/favicon_usage_data.h" |
| |
| #ifdef KYTHE_IS_RUNNING |
| #pragma kythe_inline_metadata "Metadata comment" |
| #endif |
| |
| |
| namespace chrome::mojom { |
| |
| class ProfileImportObserverProxy; |
| |
| template <typename ImplRefTraits> |
| class ProfileImportObserverStub; |
| |
| class ProfileImportObserverRequestValidator; |
| |
| |
| // @generated_from: chrome.mojom.ProfileImportObserver |
| class ProfileImportObserver |
| : public ProfileImportObserverInterfaceBase { |
| public: |
| using IPCStableHashFunction = uint32_t(*)(); |
| |
| static const char Name_[]; |
| static IPCStableHashFunction MessageToMethodInfo_(mojo::Message& message); |
| static const char* MessageToMethodName_(mojo::Message& message); |
| static constexpr uint32_t Version_ = 0; |
| static constexpr bool PassesAssociatedKinds_ = false; |
| static constexpr bool HasUninterruptableMethods_ = false; |
| |
| using Base_ = ProfileImportObserverInterfaceBase; |
| using Proxy_ = ProfileImportObserverProxy; |
| |
| template <typename ImplRefTraits> |
| using Stub_ = ProfileImportObserverStub<ImplRefTraits>; |
| |
| using RequestValidator_ = ProfileImportObserverRequestValidator; |
| using ResponseValidator_ = mojo::PassThroughFilter; |
| enum MethodMinVersions : uint32_t { |
| kOnImportStartMinVersion = 0, |
| kOnImportFinishedMinVersion = 0, |
| kOnImportItemStartMinVersion = 0, |
| kOnImportItemFinishedMinVersion = 0, |
| kOnHistoryImportStartMinVersion = 0, |
| kOnHistoryImportGroupMinVersion = 0, |
| kOnHomePageImportReadyMinVersion = 0, |
| kOnBookmarksImportStartMinVersion = 0, |
| kOnBookmarksImportGroupMinVersion = 0, |
| kOnFaviconsImportStartMinVersion = 0, |
| kOnFaviconsImportGroupMinVersion = 0, |
| kOnPasswordFormImportReadyMinVersion = 0, |
| kOnKeywordsImportReadyMinVersion = 0, |
| kOnAutofillFormDataImportStartMinVersion = 0, |
| kOnAutofillFormDataImportGroupMinVersion = 0, |
| }; |
| |
| // crbug.com/1340245 - this causes binary size bloat on Fuchsia, and we're OK |
| // with not having this data in traces there. |
| #if !BUILDFLAG(IS_FUCHSIA) |
| struct OnImportStart_Sym { |
| NOINLINE static uint32_t IPCStableHash(); |
| }; |
| struct OnImportFinished_Sym { |
| NOINLINE static uint32_t IPCStableHash(); |
| }; |
| struct OnImportItemStart_Sym { |
| NOINLINE static uint32_t IPCStableHash(); |
| }; |
| struct OnImportItemFinished_Sym { |
| NOINLINE static uint32_t IPCStableHash(); |
| }; |
| struct OnHistoryImportStart_Sym { |
| NOINLINE static uint32_t IPCStableHash(); |
| }; |
| struct OnHistoryImportGroup_Sym { |
| NOINLINE static uint32_t IPCStableHash(); |
| }; |
| struct OnHomePageImportReady_Sym { |
| NOINLINE static uint32_t IPCStableHash(); |
| }; |
| struct OnBookmarksImportStart_Sym { |
| NOINLINE static uint32_t IPCStableHash(); |
| }; |
| struct OnBookmarksImportGroup_Sym { |
| NOINLINE static uint32_t IPCStableHash(); |
| }; |
| struct OnFaviconsImportStart_Sym { |
| NOINLINE static uint32_t IPCStableHash(); |
| }; |
| struct OnFaviconsImportGroup_Sym { |
| NOINLINE static uint32_t IPCStableHash(); |
| }; |
| struct OnPasswordFormImportReady_Sym { |
| NOINLINE static uint32_t IPCStableHash(); |
| }; |
| struct OnKeywordsImportReady_Sym { |
| NOINLINE static uint32_t IPCStableHash(); |
| }; |
| struct OnAutofillFormDataImportStart_Sym { |
| NOINLINE static uint32_t IPCStableHash(); |
| }; |
| struct OnAutofillFormDataImportGroup_Sym { |
| NOINLINE static uint32_t IPCStableHash(); |
| }; |
| #endif // !BUILDFLAG(IS_FUCHSIA) |
| virtual ~ProfileImportObserver() = default; |
| |
| |
| // @generated_from: chrome.mojom.ProfileImportObserver.OnImportStart |
| virtual void OnImportStart() = 0; |
| |
| |
| // @generated_from: chrome.mojom.ProfileImportObserver.OnImportFinished |
| virtual void OnImportFinished(bool succeeded, const std::string& error_msg) = 0; |
| |
| |
| // @generated_from: chrome.mojom.ProfileImportObserver.OnImportItemStart |
| virtual void OnImportItemStart(::importer::ImportItem item) = 0; |
| |
| |
| // @generated_from: chrome.mojom.ProfileImportObserver.OnImportItemFinished |
| virtual void OnImportItemFinished(::importer::ImportItem item) = 0; |
| |
| |
| // @generated_from: chrome.mojom.ProfileImportObserver.OnHistoryImportStart |
| virtual void OnHistoryImportStart(uint32_t total_history_rows_count) = 0; |
| |
| |
| // @generated_from: chrome.mojom.ProfileImportObserver.OnHistoryImportGroup |
| virtual void OnHistoryImportGroup(const std::vector<::ImporterURLRow>& history_rows_group, int32_t visit_source) = 0; |
| |
| |
| // @generated_from: chrome.mojom.ProfileImportObserver.OnHomePageImportReady |
| virtual void OnHomePageImportReady(const ::GURL& home_page) = 0; |
| |
| |
| // @generated_from: chrome.mojom.ProfileImportObserver.OnBookmarksImportStart |
| virtual void OnBookmarksImportStart(const ::std::u16string& first_folder_name, uint32_t total_bookmarks_count) = 0; |
| |
| |
| // @generated_from: chrome.mojom.ProfileImportObserver.OnBookmarksImportGroup |
| virtual void OnBookmarksImportGroup(const std::vector<::ImportedBookmarkEntry>& bookmarks_group) = 0; |
| |
| |
| // @generated_from: chrome.mojom.ProfileImportObserver.OnFaviconsImportStart |
| virtual void OnFaviconsImportStart(uint32_t total_favicons_count) = 0; |
| |
| |
| // @generated_from: chrome.mojom.ProfileImportObserver.OnFaviconsImportGroup |
| virtual void OnFaviconsImportGroup(const ::favicon_base::FaviconUsageDataList& favicons_group) = 0; |
| |
| |
| // @generated_from: chrome.mojom.ProfileImportObserver.OnPasswordFormImportReady |
| virtual void OnPasswordFormImportReady(const ::importer::ImportedPasswordForm& form) = 0; |
| |
| |
| // @generated_from: chrome.mojom.ProfileImportObserver.OnKeywordsImportReady |
| virtual void OnKeywordsImportReady(const std::vector<::importer::SearchEngineInfo>& search_engines, bool unique_on_host_and_path) = 0; |
| |
| |
| // @generated_from: chrome.mojom.ProfileImportObserver.OnAutofillFormDataImportStart |
| virtual void OnAutofillFormDataImportStart(uint32_t total_autofill_form_data_entry_count) = 0; |
| |
| |
| // @generated_from: chrome.mojom.ProfileImportObserver.OnAutofillFormDataImportGroup |
| virtual void OnAutofillFormDataImportGroup(const std::vector<::ImporterAutofillFormDataEntry>& autofill_form_data_entry_group) = 0; |
| }; |
| |
| class ProfileImportProxy; |
| |
| template <typename ImplRefTraits> |
| class ProfileImportStub; |
| |
| class ProfileImportRequestValidator; |
| |
| |
| // @generated_from: chrome.mojom.ProfileImport |
| class ProfileImport |
| : public ProfileImportInterfaceBase { |
| public: |
| using IPCStableHashFunction = uint32_t(*)(); |
| |
| static const char Name_[]; |
| static IPCStableHashFunction MessageToMethodInfo_(mojo::Message& message); |
| static const char* MessageToMethodName_(mojo::Message& message); |
| static constexpr auto kServiceSandbox = sandbox::mojom::Sandbox::kNoSandbox; |
| static constexpr uint32_t Version_ = 0; |
| static constexpr bool PassesAssociatedKinds_ = false; |
| static constexpr bool HasUninterruptableMethods_ = false; |
| |
| using Base_ = ProfileImportInterfaceBase; |
| using Proxy_ = ProfileImportProxy; |
| |
| template <typename ImplRefTraits> |
| using Stub_ = ProfileImportStub<ImplRefTraits>; |
| |
| using RequestValidator_ = ProfileImportRequestValidator; |
| using ResponseValidator_ = mojo::PassThroughFilter; |
| enum MethodMinVersions : uint32_t { |
| kStartImportMinVersion = 0, |
| kCancelImportMinVersion = 0, |
| kReportImportItemFinishedMinVersion = 0, |
| }; |
| |
| // crbug.com/1340245 - this causes binary size bloat on Fuchsia, and we're OK |
| // with not having this data in traces there. |
| #if !BUILDFLAG(IS_FUCHSIA) |
| struct StartImport_Sym { |
| NOINLINE static uint32_t IPCStableHash(); |
| }; |
| struct CancelImport_Sym { |
| NOINLINE static uint32_t IPCStableHash(); |
| }; |
| struct ReportImportItemFinished_Sym { |
| NOINLINE static uint32_t IPCStableHash(); |
| }; |
| #endif // !BUILDFLAG(IS_FUCHSIA) |
| virtual ~ProfileImport() = default; |
| |
| |
| // @generated_from: chrome.mojom.ProfileImport.StartImport |
| virtual void StartImport(const ::importer::SourceProfile& source_profile, uint16_t items, const base::flat_map<uint32_t, std::string>& localized_strings, ::mojo::PendingRemote<ProfileImportObserver> observer) = 0; |
| |
| |
| // @generated_from: chrome.mojom.ProfileImport.CancelImport |
| virtual void CancelImport() = 0; |
| |
| |
| // @generated_from: chrome.mojom.ProfileImport.ReportImportItemFinished |
| virtual void ReportImportItemFinished(::importer::ImportItem item) = 0; |
| }; |
| |
| |
| |
| // @generated_from: chrome.mojom.ProfileImportObserver |
| class ProfileImportObserverProxy |
| : public ProfileImportObserver { |
| public: |
| using InterfaceType = ProfileImportObserver; |
| |
| explicit ProfileImportObserverProxy(mojo::MessageReceiverWithResponder* receiver); |
| |
| // @generated_from: chrome.mojom.ProfileImportObserver.OnImportStart |
| void OnImportStart() final; |
| |
| // @generated_from: chrome.mojom.ProfileImportObserver.OnImportFinished |
| void OnImportFinished(bool succeeded, const std::string& error_msg) final; |
| |
| // @generated_from: chrome.mojom.ProfileImportObserver.OnImportItemStart |
| void OnImportItemStart(::importer::ImportItem item) final; |
| |
| // @generated_from: chrome.mojom.ProfileImportObserver.OnImportItemFinished |
| void OnImportItemFinished(::importer::ImportItem item) final; |
| |
| // @generated_from: chrome.mojom.ProfileImportObserver.OnHistoryImportStart |
| void OnHistoryImportStart(uint32_t total_history_rows_count) final; |
| |
| // @generated_from: chrome.mojom.ProfileImportObserver.OnHistoryImportGroup |
| void OnHistoryImportGroup(const std::vector<::ImporterURLRow>& history_rows_group, int32_t visit_source) final; |
| |
| // @generated_from: chrome.mojom.ProfileImportObserver.OnHomePageImportReady |
| void OnHomePageImportReady(const ::GURL& home_page) final; |
| |
| // @generated_from: chrome.mojom.ProfileImportObserver.OnBookmarksImportStart |
| void OnBookmarksImportStart(const ::std::u16string& first_folder_name, uint32_t total_bookmarks_count) final; |
| |
| // @generated_from: chrome.mojom.ProfileImportObserver.OnBookmarksImportGroup |
| void OnBookmarksImportGroup(const std::vector<::ImportedBookmarkEntry>& bookmarks_group) final; |
| |
| // @generated_from: chrome.mojom.ProfileImportObserver.OnFaviconsImportStart |
| void OnFaviconsImportStart(uint32_t total_favicons_count) final; |
| |
| // @generated_from: chrome.mojom.ProfileImportObserver.OnFaviconsImportGroup |
| void OnFaviconsImportGroup(const ::favicon_base::FaviconUsageDataList& favicons_group) final; |
| |
| // @generated_from: chrome.mojom.ProfileImportObserver.OnPasswordFormImportReady |
| void OnPasswordFormImportReady(const ::importer::ImportedPasswordForm& form) final; |
| |
| // @generated_from: chrome.mojom.ProfileImportObserver.OnKeywordsImportReady |
| void OnKeywordsImportReady(const std::vector<::importer::SearchEngineInfo>& search_engines, bool unique_on_host_and_path) final; |
| |
| // @generated_from: chrome.mojom.ProfileImportObserver.OnAutofillFormDataImportStart |
| void OnAutofillFormDataImportStart(uint32_t total_autofill_form_data_entry_count) final; |
| |
| // @generated_from: chrome.mojom.ProfileImportObserver.OnAutofillFormDataImportGroup |
| void OnAutofillFormDataImportGroup(const std::vector<::ImporterAutofillFormDataEntry>& autofill_form_data_entry_group) final; |
| |
| private: |
| mojo::MessageReceiverWithResponder* receiver_; |
| }; |
| |
| |
| |
| // @generated_from: chrome.mojom.ProfileImport |
| class ProfileImportProxy |
| : public ProfileImport { |
| public: |
| using InterfaceType = ProfileImport; |
| |
| explicit ProfileImportProxy(mojo::MessageReceiverWithResponder* receiver); |
| |
| // @generated_from: chrome.mojom.ProfileImport.StartImport |
| void StartImport(const ::importer::SourceProfile& source_profile, uint16_t items, const base::flat_map<uint32_t, std::string>& localized_strings, ::mojo::PendingRemote<ProfileImportObserver> observer) final; |
| |
| // @generated_from: chrome.mojom.ProfileImport.CancelImport |
| void CancelImport() final; |
| |
| // @generated_from: chrome.mojom.ProfileImport.ReportImportItemFinished |
| void ReportImportItemFinished(::importer::ImportItem item) final; |
| |
| private: |
| mojo::MessageReceiverWithResponder* receiver_; |
| }; |
| class ProfileImportObserverStubDispatch { |
| public: |
| static bool Accept(ProfileImportObserver* impl, mojo::Message* message); |
| static bool AcceptWithResponder( |
| ProfileImportObserver* impl, |
| mojo::Message* message, |
| std::unique_ptr<mojo::MessageReceiverWithStatus> responder); |
| }; |
| |
| template <typename ImplRefTraits = |
| mojo::RawPtrImplRefTraits<ProfileImportObserver>> |
| class ProfileImportObserverStub |
| : public mojo::MessageReceiverWithResponderStatus { |
| public: |
| using ImplPointerType = typename ImplRefTraits::PointerType; |
| |
| ProfileImportObserverStub() = default; |
| ~ProfileImportObserverStub() override = default; |
| |
| void set_sink(ImplPointerType sink) { sink_ = std::move(sink); } |
| ImplPointerType& sink() { return sink_; } |
| |
| bool Accept(mojo::Message* message) override { |
| if (ImplRefTraits::IsNull(sink_)) |
| return false; |
| return ProfileImportObserverStubDispatch::Accept( |
| ImplRefTraits::GetRawPointer(&sink_), message); |
| } |
| |
| bool AcceptWithResponder( |
| mojo::Message* message, |
| std::unique_ptr<mojo::MessageReceiverWithStatus> responder) override { |
| if (ImplRefTraits::IsNull(sink_)) |
| return false; |
| return ProfileImportObserverStubDispatch::AcceptWithResponder( |
| ImplRefTraits::GetRawPointer(&sink_), message, std::move(responder)); |
| } |
| |
| private: |
| ImplPointerType sink_; |
| }; |
| class ProfileImportStubDispatch { |
| public: |
| static bool Accept(ProfileImport* impl, mojo::Message* message); |
| static bool AcceptWithResponder( |
| ProfileImport* impl, |
| mojo::Message* message, |
| std::unique_ptr<mojo::MessageReceiverWithStatus> responder); |
| }; |
| |
| template <typename ImplRefTraits = |
| mojo::RawPtrImplRefTraits<ProfileImport>> |
| class ProfileImportStub |
| : public mojo::MessageReceiverWithResponderStatus { |
| public: |
| using ImplPointerType = typename ImplRefTraits::PointerType; |
| |
| ProfileImportStub() = default; |
| ~ProfileImportStub() override = default; |
| |
| void set_sink(ImplPointerType sink) { sink_ = std::move(sink); } |
| ImplPointerType& sink() { return sink_; } |
| |
| bool Accept(mojo::Message* message) override { |
| if (ImplRefTraits::IsNull(sink_)) |
| return false; |
| return ProfileImportStubDispatch::Accept( |
| ImplRefTraits::GetRawPointer(&sink_), message); |
| } |
| |
| bool AcceptWithResponder( |
| mojo::Message* message, |
| std::unique_ptr<mojo::MessageReceiverWithStatus> responder) override { |
| if (ImplRefTraits::IsNull(sink_)) |
| return false; |
| return ProfileImportStubDispatch::AcceptWithResponder( |
| ImplRefTraits::GetRawPointer(&sink_), message, std::move(responder)); |
| } |
| |
| private: |
| ImplPointerType sink_; |
| }; |
| class ProfileImportObserverRequestValidator : public mojo::MessageReceiver { |
| public: |
| bool Accept(mojo::Message* message) override; |
| }; |
| class ProfileImportRequestValidator : public mojo::MessageReceiver { |
| public: |
| bool Accept(mojo::Message* message) override; |
| }; |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| // @generated_from: chrome.mojom.ImportedPasswordForm |
| class ImportedPasswordForm { |
| public: |
| template <typename T> |
| using EnableIfSame = std::enable_if_t<std::is_same<ImportedPasswordForm, T>::value>; |
| using DataView = ImportedPasswordFormDataView; |
| using Data_ = internal::ImportedPasswordForm_Data; |
| // @generated_from: chrome.mojom.ImportedPasswordForm.Scheme |
| using Scheme = ImportedPasswordForm_Scheme; |
| |
| template <typename... Args> |
| static ImportedPasswordFormPtr New(Args&&... args) { |
| return ImportedPasswordFormPtr( |
| std::in_place, std::forward<Args>(args)...); |
| } |
| |
| template <typename U> |
| static ImportedPasswordFormPtr From(const U& u) { |
| return mojo::TypeConverter<ImportedPasswordFormPtr, U>::Convert(u); |
| } |
| |
| template <typename U> |
| U To() const { |
| return mojo::TypeConverter<U, ImportedPasswordForm>::Convert(*this); |
| } |
| |
| |
| ImportedPasswordForm(); |
| |
| ImportedPasswordForm( |
| ImportedPasswordForm::Scheme scheme, |
| const std::string& signon_realm, |
| const ::GURL& url, |
| const ::GURL& action, |
| const ::std::u16string& username_element, |
| const ::std::u16string& username_value, |
| const ::std::u16string& password_element, |
| const ::std::u16string& password_value, |
| bool blocked_by_user); |
| |
| |
| ~ImportedPasswordForm(); |
| |
| // Clone() is a template so it is only instantiated if it is used. Thus, the |
| // bindings generator does not need to know whether Clone() or copy |
| // constructor/assignment are available for members. |
| template <typename StructPtrType = ImportedPasswordFormPtr> |
| ImportedPasswordFormPtr Clone() const; |
| |
| // Equals() is a template so it is only instantiated if it is used. Thus, the |
| // bindings generator does not need to know whether Equals() or == operator |
| // are available for members. |
| template <typename T, ImportedPasswordForm::EnableIfSame<T>* = nullptr> |
| bool Equals(const T& other) const; |
| |
| template <typename T, ImportedPasswordForm::EnableIfSame<T>* = nullptr> |
| bool operator==(const T& rhs) const { return Equals(rhs); } |
| |
| template <typename T, ImportedPasswordForm::EnableIfSame<T>* = nullptr> |
| bool operator!=(const T& rhs) const { return !operator==(rhs); } |
| template <typename UserType> |
| static std::vector<uint8_t> Serialize(UserType* input) { |
| return mojo::internal::SerializeImpl< |
| ImportedPasswordForm::DataView, std::vector<uint8_t>>(input); |
| } |
| |
| template <typename UserType> |
| static mojo::Message SerializeAsMessage(UserType* input) { |
| return mojo::internal::SerializeAsMessageImpl< |
| ImportedPasswordForm::DataView>(input); |
| } |
| |
| // The returned Message is serialized only if the message is moved |
| // cross-process or cross-language. Otherwise if the message is Deserialized |
| // as the same UserType |input| will just be moved to |output| in |
| // DeserializeFromMessage. |
| template <typename UserType> |
| static mojo::Message WrapAsMessage(UserType input) { |
| return mojo::Message(std::make_unique< |
| internal::ImportedPasswordForm_UnserializedMessageContext< |
| UserType, ImportedPasswordForm::DataView>>(0, 0, std::move(input)), |
| MOJO_CREATE_MESSAGE_FLAG_NONE); |
| } |
| |
| template <typename UserType> |
| static bool Deserialize(const void* data, |
| size_t data_num_bytes, |
| UserType* output) { |
| mojo::Message message; |
| return mojo::internal::DeserializeImpl<ImportedPasswordForm::DataView>( |
| message, data, data_num_bytes, output, Validate); |
| } |
| |
| template <typename UserType> |
| static bool Deserialize(const std::vector<uint8_t>& input, |
| UserType* output) { |
| return ImportedPasswordForm::Deserialize( |
| input.size() == 0 ? nullptr : &input.front(), input.size(), output); |
| } |
| |
| template <typename UserType> |
| static bool DeserializeFromMessage(mojo::Message input, |
| UserType* output) { |
| auto context = input.TakeUnserializedContext< |
| internal::ImportedPasswordForm_UnserializedMessageContext< |
| UserType, ImportedPasswordForm::DataView>>(); |
| if (context) { |
| *output = std::move(context->TakeData()); |
| return true; |
| } |
| input.SerializeIfNecessary(); |
| return mojo::internal::DeserializeImpl<ImportedPasswordForm::DataView>( |
| input, input.payload(), input.payload_num_bytes(), output, Validate); |
| } |
| |
| |
| // @generated_from: chrome.mojom.ImportedPasswordForm.scheme |
| ImportedPasswordForm::Scheme scheme; |
| |
| // @generated_from: chrome.mojom.ImportedPasswordForm.signon_realm |
| std::string signon_realm; |
| |
| // @generated_from: chrome.mojom.ImportedPasswordForm.url |
| ::GURL url; |
| |
| // @generated_from: chrome.mojom.ImportedPasswordForm.action |
| ::GURL action; |
| |
| // @generated_from: chrome.mojom.ImportedPasswordForm.username_element |
| ::std::u16string username_element; |
| |
| // @generated_from: chrome.mojom.ImportedPasswordForm.username_value |
| ::std::u16string username_value; |
| |
| // @generated_from: chrome.mojom.ImportedPasswordForm.password_element |
| ::std::u16string password_element; |
| |
| // @generated_from: chrome.mojom.ImportedPasswordForm.password_value |
| ::std::u16string password_value; |
| |
| // @generated_from: chrome.mojom.ImportedPasswordForm.blocked_by_user |
| bool blocked_by_user; |
| |
| // Serialise this struct into a trace. |
| void WriteIntoTrace(perfetto::TracedValue traced_context) const; |
| |
| private: |
| static bool Validate(const void* data, |
| mojo::internal::ValidationContext* validation_context); |
| }; |
| |
| // The comparison operators are templates, so they are only instantiated if they |
| // are used. Thus, the bindings generator does not need to know whether |
| // comparison operators are available for members. |
| template <typename T, ImportedPasswordForm::EnableIfSame<T>* = nullptr> |
| bool operator<(const T& lhs, const T& rhs); |
| |
| template <typename T, ImportedPasswordForm::EnableIfSame<T>* = nullptr> |
| bool operator<=(const T& lhs, const T& rhs) { |
| return !(rhs < lhs); |
| } |
| |
| template <typename T, ImportedPasswordForm::EnableIfSame<T>* = nullptr> |
| bool operator>(const T& lhs, const T& rhs) { |
| return rhs < lhs; |
| } |
| |
| template <typename T, ImportedPasswordForm::EnableIfSame<T>* = nullptr> |
| bool operator>=(const T& lhs, const T& rhs) { |
| return !(lhs < rhs); |
| } |
| |
| template <typename StructPtrType> |
| ImportedPasswordFormPtr ImportedPasswordForm::Clone() const { |
| return New( |
| mojo::Clone(scheme), |
| mojo::Clone(signon_realm), |
| mojo::Clone(url), |
| mojo::Clone(action), |
| mojo::Clone(username_element), |
| mojo::Clone(username_value), |
| mojo::Clone(password_element), |
| mojo::Clone(password_value), |
| mojo::Clone(blocked_by_user) |
| ); |
| } |
| |
| template <typename T, ImportedPasswordForm::EnableIfSame<T>*> |
| bool ImportedPasswordForm::Equals(const T& other_struct) const { |
| if (!mojo::Equals(this->scheme, other_struct.scheme)) |
| return false; |
| if (!mojo::Equals(this->signon_realm, other_struct.signon_realm)) |
| return false; |
| if (!mojo::Equals(this->url, other_struct.url)) |
| return false; |
| if (!mojo::Equals(this->action, other_struct.action)) |
| return false; |
| if (!mojo::Equals(this->username_element, other_struct.username_element)) |
| return false; |
| if (!mojo::Equals(this->username_value, other_struct.username_value)) |
| return false; |
| if (!mojo::Equals(this->password_element, other_struct.password_element)) |
| return false; |
| if (!mojo::Equals(this->password_value, other_struct.password_value)) |
| return false; |
| if (!mojo::Equals(this->blocked_by_user, other_struct.blocked_by_user)) |
| return false; |
| return true; |
| } |
| |
| template <typename T, ImportedPasswordForm::EnableIfSame<T>*> |
| bool operator<(const T& lhs, const T& rhs) { |
| if (lhs.scheme < rhs.scheme) |
| return true; |
| if (rhs.scheme < lhs.scheme) |
| return false; |
| if (lhs.signon_realm < rhs.signon_realm) |
| return true; |
| if (rhs.signon_realm < lhs.signon_realm) |
| return false; |
| if (lhs.url < rhs.url) |
| return true; |
| if (rhs.url < lhs.url) |
| return false; |
| if (lhs.action < rhs.action) |
| return true; |
| if (rhs.action < lhs.action) |
| return false; |
| if (lhs.username_element < rhs.username_element) |
| return true; |
| if (rhs.username_element < lhs.username_element) |
| return false; |
| if (lhs.username_value < rhs.username_value) |
| return true; |
| if (rhs.username_value < lhs.username_value) |
| return false; |
| if (lhs.password_element < rhs.password_element) |
| return true; |
| if (rhs.password_element < lhs.password_element) |
| return false; |
| if (lhs.password_value < rhs.password_value) |
| return true; |
| if (rhs.password_value < lhs.password_value) |
| return false; |
| if (lhs.blocked_by_user < rhs.blocked_by_user) |
| return true; |
| if (rhs.blocked_by_user < lhs.blocked_by_user) |
| return false; |
| return false; |
| } |
| |
| |
| } // chrome::mojom |
| |
| namespace mojo { |
| |
| |
| template <> |
| struct StructTraits<::chrome::mojom::ImportedPasswordForm::DataView, |
| ::chrome::mojom::ImportedPasswordFormPtr> { |
| static bool IsNull(const ::chrome::mojom::ImportedPasswordFormPtr& input) { return !input; } |
| static void SetToNull(::chrome::mojom::ImportedPasswordFormPtr* output) { output->reset(); } |
| |
| static decltype(::chrome::mojom::ImportedPasswordForm::scheme) scheme( |
| const ::chrome::mojom::ImportedPasswordFormPtr& input) { |
| return input->scheme; |
| } |
| |
| static const decltype(::chrome::mojom::ImportedPasswordForm::signon_realm)& signon_realm( |
| const ::chrome::mojom::ImportedPasswordFormPtr& input) { |
| return input->signon_realm; |
| } |
| |
| static const decltype(::chrome::mojom::ImportedPasswordForm::url)& url( |
| const ::chrome::mojom::ImportedPasswordFormPtr& input) { |
| return input->url; |
| } |
| |
| static const decltype(::chrome::mojom::ImportedPasswordForm::action)& action( |
| const ::chrome::mojom::ImportedPasswordFormPtr& input) { |
| return input->action; |
| } |
| |
| static const decltype(::chrome::mojom::ImportedPasswordForm::username_element)& username_element( |
| const ::chrome::mojom::ImportedPasswordFormPtr& input) { |
| return input->username_element; |
| } |
| |
| static const decltype(::chrome::mojom::ImportedPasswordForm::username_value)& username_value( |
| const ::chrome::mojom::ImportedPasswordFormPtr& input) { |
| return input->username_value; |
| } |
| |
| static const decltype(::chrome::mojom::ImportedPasswordForm::password_element)& password_element( |
| const ::chrome::mojom::ImportedPasswordFormPtr& input) { |
| return input->password_element; |
| } |
| |
| static const decltype(::chrome::mojom::ImportedPasswordForm::password_value)& password_value( |
| const ::chrome::mojom::ImportedPasswordFormPtr& input) { |
| return input->password_value; |
| } |
| |
| static decltype(::chrome::mojom::ImportedPasswordForm::blocked_by_user) blocked_by_user( |
| const ::chrome::mojom::ImportedPasswordFormPtr& input) { |
| return input->blocked_by_user; |
| } |
| |
| static bool Read(::chrome::mojom::ImportedPasswordForm::DataView input, ::chrome::mojom::ImportedPasswordFormPtr* output); |
| }; |
| |
| } // namespace mojo |
| |
| #endif // CHROME_COMMON_IMPORTER_PROFILE_IMPORT_MOJOM_H_
|
|
|
| /* Metadata comment
|
| eyJ0eXBlIjogImt5dGhlMCIsICJtZXRhIjogW3sidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJi
|
| ZWdpbiI6IDIyMjcsICJlbmQiOiAyMjQ4LCAidm5hbWUiOiB7Imxhbmd1YWdlIjogIm1vam9tIiwg
|
| ImNvcnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2NvZGVzZWFyY2gvY2hyb21pdW0v
|
| c3JjLy9tYWluIiwgInNpZ25hdHVyZSI6ICJjaHJvbWUubW9qb20uUHJvZmlsZUltcG9ydE9ic2Vy
|
| dmVyIn0sICJlZGdlIjogIiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMifSwgeyJ0eXBlIjogImFuY2hv
|
| cl9kZWZpbmVzIiwgImJlZ2luIjogNTMxOCwgImVuZCI6IDUzMzEsICJ2bmFtZSI6IHsibGFuZ3Vh
|
| Z2UiOiAibW9qb20iLCAiY29ycHVzIjogImNocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY29kZXNl
|
| YXJjaC9jaHJvbWl1bS9zcmMvL21haW4iLCAic2lnbmF0dXJlIjogImNocm9tZS5tb2pvbS5Qcm9m
|
| aWxlSW1wb3J0T2JzZXJ2ZXIuT25JbXBvcnRTdGFydCJ9LCAiZWRnZSI6ICIlL2t5dGhlL2VkZ2Uv
|
| Z2VuZXJhdGVzIn0sIHsidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJiZWdpbiI6IDU0MzAsICJl
|
| bmQiOiA1NDQ2LCAidm5hbWUiOiB7Imxhbmd1YWdlIjogIm1vam9tIiwgImNvcnB1cyI6ICJjaHJv
|
| bWl1bS5nb29nbGVzb3VyY2UuY29tL2NvZGVzZWFyY2gvY2hyb21pdW0vc3JjLy9tYWluIiwgInNp
|
| Z25hdHVyZSI6ICJjaHJvbWUubW9qb20uUHJvZmlsZUltcG9ydE9ic2VydmVyLk9uSW1wb3J0Rmlu
|
| aXNoZWQifSwgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyJ9LCB7InR5cGUiOiAiYW5j
|
| aG9yX2RlZmluZXMiLCAiYmVnaW4iOiA1NTkwLCAiZW5kIjogNTYwNywgInZuYW1lIjogeyJsYW5n
|
| dWFnZSI6ICJtb2pvbSIsICJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jb2Rl
|
| c2VhcmNoL2Nocm9taXVtL3NyYy8vbWFpbiIsICJzaWduYXR1cmUiOiAiY2hyb21lLm1vam9tLlBy
|
| b2ZpbGVJbXBvcnRPYnNlcnZlci5PbkltcG9ydEl0ZW1TdGFydCJ9LCAiZWRnZSI6ICIlL2t5dGhl
|
| L2VkZ2UvZ2VuZXJhdGVzIn0sIHsidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJiZWdpbiI6IDU3
|
| MzcsICJlbmQiOiA1NzU3LCAidm5hbWUiOiB7Imxhbmd1YWdlIjogIm1vam9tIiwgImNvcnB1cyI6
|
| ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2NvZGVzZWFyY2gvY2hyb21pdW0vc3JjLy9tYWlu
|
| IiwgInNpZ25hdHVyZSI6ICJjaHJvbWUubW9qb20uUHJvZmlsZUltcG9ydE9ic2VydmVyLk9uSW1w
|
| b3J0SXRlbUZpbmlzaGVkIn0sICJlZGdlIjogIiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMifSwgeyJ0
|
| eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgImJlZ2luIjogNTg4NywgImVuZCI6IDU5MDcsICJ2bmFt
|
| ZSI6IHsibGFuZ3VhZ2UiOiAibW9qb20iLCAiY29ycHVzIjogImNocm9taXVtLmdvb2dsZXNvdXJj
|
| ZS5jb20vY29kZXNlYXJjaC9jaHJvbWl1bS9zcmMvL21haW4iLCAic2lnbmF0dXJlIjogImNocm9t
|
| ZS5tb2pvbS5Qcm9maWxlSW1wb3J0T2JzZXJ2ZXIuT25IaXN0b3J5SW1wb3J0U3RhcnQifSwgImVk
|
| Z2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyJ9LCB7InR5cGUiOiAiYW5jaG9yX2RlZmluZXMi
|
| LCAiYmVnaW4iOiA2MDQzLCAiZW5kIjogNjA2MywgInZuYW1lIjogeyJsYW5ndWFnZSI6ICJtb2pv
|
| bSIsICJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jb2Rlc2VhcmNoL2Nocm9t
|
| aXVtL3NyYy8vbWFpbiIsICJzaWduYXR1cmUiOiAiY2hyb21lLm1vam9tLlByb2ZpbGVJbXBvcnRP
|
| YnNlcnZlci5Pbkhpc3RvcnlJbXBvcnRHcm91cCJ9LCAiZWRnZSI6ICIlL2t5dGhlL2VkZ2UvZ2Vu
|
| ZXJhdGVzIn0sIHsidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJiZWdpbiI6IDYyNDQsICJlbmQi
|
| OiA2MjY1LCAidm5hbWUiOiB7Imxhbmd1YWdlIjogIm1vam9tIiwgImNvcnB1cyI6ICJjaHJvbWl1
|
| bS5nb29nbGVzb3VyY2UuY29tL2NvZGVzZWFyY2gvY2hyb21pdW0vc3JjLy9tYWluIiwgInNpZ25h
|
| dHVyZSI6ICJjaHJvbWUubW9qb20uUHJvZmlsZUltcG9ydE9ic2VydmVyLk9uSG9tZVBhZ2VJbXBv
|
| cnRSZWFkeSJ9LCAiZWRnZSI6ICIlL2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIn0sIHsidHlwZSI6ICJh
|
| bmNob3JfZGVmaW5lcyIsICJiZWdpbiI6IDYzOTMsICJlbmQiOiA2NDE1LCAidm5hbWUiOiB7Imxh
|
| bmd1YWdlIjogIm1vam9tIiwgImNvcnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2Nv
|
| ZGVzZWFyY2gvY2hyb21pdW0vc3JjLy9tYWluIiwgInNpZ25hdHVyZSI6ICJjaHJvbWUubW9qb20u
|
| UHJvZmlsZUltcG9ydE9ic2VydmVyLk9uQm9va21hcmtzSW1wb3J0U3RhcnQifSwgImVkZ2UiOiAi
|
| JS9reXRoZS9lZGdlL2dlbmVyYXRlcyJ9LCB7InR5cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAiYmVn
|
| aW4iOiA2NTkzLCAiZW5kIjogNjYxNSwgInZuYW1lIjogeyJsYW5ndWFnZSI6ICJtb2pvbSIsICJj
|
| b3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jb2Rlc2VhcmNoL2Nocm9taXVtL3Ny
|
| Yy8vbWFpbiIsICJzaWduYXR1cmUiOiAiY2hyb21lLm1vam9tLlByb2ZpbGVJbXBvcnRPYnNlcnZl
|
| ci5PbkJvb2ttYXJrc0ltcG9ydEdyb3VwIn0sICJlZGdlIjogIiUva3l0aGUvZWRnZS9nZW5lcmF0
|
| ZXMifSwgeyJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgImJlZ2luIjogNjc3OCwgImVuZCI6IDY3
|
| OTksICJ2bmFtZSI6IHsibGFuZ3VhZ2UiOiAibW9qb20iLCAiY29ycHVzIjogImNocm9taXVtLmdv
|
| b2dsZXNvdXJjZS5jb20vY29kZXNlYXJjaC9jaHJvbWl1bS9zcmMvL21haW4iLCAic2lnbmF0dXJl
|
| IjogImNocm9tZS5tb2pvbS5Qcm9maWxlSW1wb3J0T2JzZXJ2ZXIuT25GYXZpY29uc0ltcG9ydFN0
|
| YXJ0In0sICJlZGdlIjogIiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMifSwgeyJ0eXBlIjogImFuY2hv
|
| cl9kZWZpbmVzIiwgImJlZ2luIjogNjkzMiwgImVuZCI6IDY5NTMsICJ2bmFtZSI6IHsibGFuZ3Vh
|
| Z2UiOiAibW9qb20iLCAiY29ycHVzIjogImNocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY29kZXNl
|
| YXJjaC9jaHJvbWl1bS9zcmMvL21haW4iLCAic2lnbmF0dXJlIjogImNocm9tZS5tb2pvbS5Qcm9m
|
| aWxlSW1wb3J0T2JzZXJ2ZXIuT25GYXZpY29uc0ltcG9ydEdyb3VwIn0sICJlZGdlIjogIiUva3l0
|
| aGUvZWRnZS9nZW5lcmF0ZXMifSwgeyJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgImJlZ2luIjog
|
| NzExOSwgImVuZCI6IDcxNDQsICJ2bmFtZSI6IHsibGFuZ3VhZ2UiOiAibW9qb20iLCAiY29ycHVz
|
| IjogImNocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY29kZXNlYXJjaC9jaHJvbWl1bS9zcmMvL21h
|
| aW4iLCAic2lnbmF0dXJlIjogImNocm9tZS5tb2pvbS5Qcm9maWxlSW1wb3J0T2JzZXJ2ZXIuT25Q
|
| YXNzd29yZEZvcm1JbXBvcnRSZWFkeSJ9LCAiZWRnZSI6ICIlL2t5dGhlL2VkZ2UvZ2VuZXJhdGVz
|
| In0sIHsidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJiZWdpbiI6IDcyOTIsICJlbmQiOiA3MzEz
|
| LCAidm5hbWUiOiB7Imxhbmd1YWdlIjogIm1vam9tIiwgImNvcnB1cyI6ICJjaHJvbWl1bS5nb29n
|
| bGVzb3VyY2UuY29tL2NvZGVzZWFyY2gvY2hyb21pdW0vc3JjLy9tYWluIiwgInNpZ25hdHVyZSI6
|
| ICJjaHJvbWUubW9qb20uUHJvZmlsZUltcG9ydE9ic2VydmVyLk9uS2V5d29yZHNJbXBvcnRSZWFk
|
| eSJ9LCAiZWRnZSI6ICIlL2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIn0sIHsidHlwZSI6ICJhbmNob3Jf
|
| ZGVmaW5lcyIsICJiZWdpbiI6IDc1MTgsICJlbmQiOiA3NTQ3LCAidm5hbWUiOiB7Imxhbmd1YWdl
|
| IjogIm1vam9tIiwgImNvcnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2NvZGVzZWFy
|
| Y2gvY2hyb21pdW0vc3JjLy9tYWluIiwgInNpZ25hdHVyZSI6ICJjaHJvbWUubW9qb20uUHJvZmls
|
| ZUltcG9ydE9ic2VydmVyLk9uQXV0b2ZpbGxGb3JtRGF0YUltcG9ydFN0YXJ0In0sICJlZGdlIjog
|
| IiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMifSwgeyJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgImJl
|
| Z2luIjogNzcwNCwgImVuZCI6IDc3MzMsICJ2bmFtZSI6IHsibGFuZ3VhZ2UiOiAibW9qb20iLCAi
|
| Y29ycHVzIjogImNocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY29kZXNlYXJjaC9jaHJvbWl1bS9z
|
| cmMvL21haW4iLCAic2lnbmF0dXJlIjogImNocm9tZS5tb2pvbS5Qcm9maWxlSW1wb3J0T2JzZXJ2
|
| ZXIuT25BdXRvZmlsbEZvcm1EYXRhSW1wb3J0R3JvdXAifSwgImVkZ2UiOiAiJS9reXRoZS9lZGdl
|
| L2dlbmVyYXRlcyJ9LCB7InR5cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAiYmVnaW4iOiA4MDA2LCAi
|
| ZW5kIjogODAxOSwgInZuYW1lIjogeyJsYW5ndWFnZSI6ICJtb2pvbSIsICJjb3JwdXMiOiAiY2hy
|
| b21pdW0uZ29vZ2xlc291cmNlLmNvbS9jb2Rlc2VhcmNoL2Nocm9taXVtL3NyYy8vbWFpbiIsICJz
|
| aWduYXR1cmUiOiAiY2hyb21lLm1vam9tLlByb2ZpbGVJbXBvcnQifSwgImVkZ2UiOiAiJS9reXRo
|
| ZS9lZGdlL2dlbmVyYXRlcyJ9LCB7InR5cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAiYmVnaW4iOiA5
|
| NTE0LCAiZW5kIjogOTUyNSwgInZuYW1lIjogeyJsYW5ndWFnZSI6ICJtb2pvbSIsICJjb3JwdXMi
|
| OiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jb2Rlc2VhcmNoL2Nocm9taXVtL3NyYy8vbWFp
|
| biIsICJzaWduYXR1cmUiOiAiY2hyb21lLm1vam9tLlByb2ZpbGVJbXBvcnQuU3RhcnRJbXBvcnQi
|
| fSwgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyJ9LCB7InR5cGUiOiAiYW5jaG9yX2Rl
|
| ZmluZXMiLCAiYmVnaW4iOiA5Nzk0LCAiZW5kIjogOTgwNiwgInZuYW1lIjogeyJsYW5ndWFnZSI6
|
| ICJtb2pvbSIsICJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jb2Rlc2VhcmNo
|
| L2Nocm9taXVtL3NyYy8vbWFpbiIsICJzaWduYXR1cmUiOiAiY2hyb21lLm1vam9tLlByb2ZpbGVJ
|
| bXBvcnQuQ2FuY2VsSW1wb3J0In0sICJlZGdlIjogIiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMifSwg
|
| eyJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgImJlZ2luIjogOTkwNSwgImVuZCI6IDk5MjksICJ2
|
| bmFtZSI6IHsibGFuZ3VhZ2UiOiAibW9qb20iLCAiY29ycHVzIjogImNocm9taXVtLmdvb2dsZXNv
|
| dXJjZS5jb20vY29kZXNlYXJjaC9jaHJvbWl1bS9zcmMvL21haW4iLCAic2lnbmF0dXJlIjogImNo
|
| cm9tZS5tb2pvbS5Qcm9maWxlSW1wb3J0LlJlcG9ydEltcG9ydEl0ZW1GaW5pc2hlZCJ9LCAiZWRn
|
| ZSI6ICIlL2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIn0sIHsidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIs
|
| ICJiZWdpbiI6IDEwMzE3LCAiZW5kIjogMTAzMzAsICJ2bmFtZSI6IHsibGFuZ3VhZ2UiOiAibW9q
|
| b20iLCAiY29ycHVzIjogImNocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY29kZXNlYXJjaC9jaHJv
|
| bWl1bS9zcmMvL21haW4iLCAic2lnbmF0dXJlIjogImNocm9tZS5tb2pvbS5Qcm9maWxlSW1wb3J0
|
| T2JzZXJ2ZXIuT25JbXBvcnRTdGFydCJ9LCAiZWRnZSI6ICIlL2t5dGhlL2VkZ2UvZ2VuZXJhdGVz
|
| In0sIHsidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJiZWdpbiI6IDEwNDIyLCAiZW5kIjogMTA0
|
| MzgsICJ2bmFtZSI6IHsibGFuZ3VhZ2UiOiAibW9qb20iLCAiY29ycHVzIjogImNocm9taXVtLmdv
|
| b2dsZXNvdXJjZS5jb20vY29kZXNlYXJjaC9jaHJvbWl1bS9zcmMvL21haW4iLCAic2lnbmF0dXJl
|
| IjogImNocm9tZS5tb2pvbS5Qcm9maWxlSW1wb3J0T2JzZXJ2ZXIuT25JbXBvcnRGaW5pc2hlZCJ9
|
| LCAiZWRnZSI6ICIlL2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIn0sIHsidHlwZSI6ICJhbmNob3JfZGVm
|
| aW5lcyIsICJiZWdpbiI6IDEwNTc1LCAiZW5kIjogMTA1OTIsICJ2bmFtZSI6IHsibGFuZ3VhZ2Ui
|
| OiAibW9qb20iLCAiY29ycHVzIjogImNocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY29kZXNlYXJj
|
| aC9jaHJvbWl1bS9zcmMvL21haW4iLCAic2lnbmF0dXJlIjogImNocm9tZS5tb2pvbS5Qcm9maWxl
|
| SW1wb3J0T2JzZXJ2ZXIuT25JbXBvcnRJdGVtU3RhcnQifSwgImVkZ2UiOiAiJS9reXRoZS9lZGdl
|
| L2dlbmVyYXRlcyJ9LCB7InR5cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAiYmVnaW4iOiAxMDcxNSwg
|
| ImVuZCI6IDEwNzM1LCAidm5hbWUiOiB7Imxhbmd1YWdlIjogIm1vam9tIiwgImNvcnB1cyI6ICJj
|
| aHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2NvZGVzZWFyY2gvY2hyb21pdW0vc3JjLy9tYWluIiwg
|
| InNpZ25hdHVyZSI6ICJjaHJvbWUubW9qb20uUHJvZmlsZUltcG9ydE9ic2VydmVyLk9uSW1wb3J0
|
| SXRlbUZpbmlzaGVkIn0sICJlZGdlIjogIiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMifSwgeyJ0eXBl
|
| IjogImFuY2hvcl9kZWZpbmVzIiwgImJlZ2luIjogMTA4NTgsICJlbmQiOiAxMDg3OCwgInZuYW1l
|
| IjogeyJsYW5ndWFnZSI6ICJtb2pvbSIsICJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNl
|
| LmNvbS9jb2Rlc2VhcmNoL2Nocm9taXVtL3NyYy8vbWFpbiIsICJzaWduYXR1cmUiOiAiY2hyb21l
|
| Lm1vam9tLlByb2ZpbGVJbXBvcnRPYnNlcnZlci5Pbkhpc3RvcnlJbXBvcnRTdGFydCJ9LCAiZWRn
|
| ZSI6ICIlL2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIn0sIHsidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIs
|
| ICJiZWdpbiI6IDExMDA3LCAiZW5kIjogMTEwMjcsICJ2bmFtZSI6IHsibGFuZ3VhZ2UiOiAibW9q
|
| b20iLCAiY29ycHVzIjogImNocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY29kZXNlYXJjaC9jaHJv
|
| bWl1bS9zcmMvL21haW4iLCAic2lnbmF0dXJlIjogImNocm9tZS5tb2pvbS5Qcm9maWxlSW1wb3J0
|
| T2JzZXJ2ZXIuT25IaXN0b3J5SW1wb3J0R3JvdXAifSwgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dl
|
| bmVyYXRlcyJ9LCB7InR5cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAiYmVnaW4iOiAxMTIwMSwgImVu
|
| ZCI6IDExMjIyLCAidm5hbWUiOiB7Imxhbmd1YWdlIjogIm1vam9tIiwgImNvcnB1cyI6ICJjaHJv
|
| bWl1bS5nb29nbGVzb3VyY2UuY29tL2NvZGVzZWFyY2gvY2hyb21pdW0vc3JjLy9tYWluIiwgInNp
|
| Z25hdHVyZSI6ICJjaHJvbWUubW9qb20uUHJvZmlsZUltcG9ydE9ic2VydmVyLk9uSG9tZVBhZ2VJ
|
| bXBvcnRSZWFkeSJ9LCAiZWRnZSI6ICIlL2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIn0sIHsidHlwZSI6
|
| ICJhbmNob3JfZGVmaW5lcyIsICJiZWdpbiI6IDExMzQzLCAiZW5kIjogMTEzNjUsICJ2bmFtZSI6
|
| IHsibGFuZ3VhZ2UiOiAibW9qb20iLCAiY29ycHVzIjogImNocm9taXVtLmdvb2dsZXNvdXJjZS5j
|
| b20vY29kZXNlYXJjaC9jaHJvbWl1bS9zcmMvL21haW4iLCAic2lnbmF0dXJlIjogImNocm9tZS5t
|
| b2pvbS5Qcm9maWxlSW1wb3J0T2JzZXJ2ZXIuT25Cb29rbWFya3NJbXBvcnRTdGFydCJ9LCAiZWRn
|
| ZSI6ICIlL2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIn0sIHsidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIs
|
| ICJiZWdpbiI6IDExNTM2LCAiZW5kIjogMTE1NTgsICJ2bmFtZSI6IHsibGFuZ3VhZ2UiOiAibW9q
|
| b20iLCAiY29ycHVzIjogImNocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY29kZXNlYXJjaC9jaHJv
|
| bWl1bS9zcmMvL21haW4iLCAic2lnbmF0dXJlIjogImNocm9tZS5tb2pvbS5Qcm9maWxlSW1wb3J0
|
| T2JzZXJ2ZXIuT25Cb29rbWFya3NJbXBvcnRHcm91cCJ9LCAiZWRnZSI6ICIlL2t5dGhlL2VkZ2Uv
|
| Z2VuZXJhdGVzIn0sIHsidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJiZWdpbiI6IDExNzE0LCAi
|
| ZW5kIjogMTE3MzUsICJ2bmFtZSI6IHsibGFuZ3VhZ2UiOiAibW9qb20iLCAiY29ycHVzIjogImNo
|
| cm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY29kZXNlYXJjaC9jaHJvbWl1bS9zcmMvL21haW4iLCAi
|
| c2lnbmF0dXJlIjogImNocm9tZS5tb2pvbS5Qcm9maWxlSW1wb3J0T2JzZXJ2ZXIuT25GYXZpY29u
|
| c0ltcG9ydFN0YXJ0In0sICJlZGdlIjogIiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMifSwgeyJ0eXBl
|
| IjogImFuY2hvcl9kZWZpbmVzIiwgImJlZ2luIjogMTE4NjEsICJlbmQiOiAxMTg4MiwgInZuYW1l
|
| IjogeyJsYW5ndWFnZSI6ICJtb2pvbSIsICJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNl
|
| LmNvbS9jb2Rlc2VhcmNoL2Nocm9taXVtL3NyYy8vbWFpbiIsICJzaWduYXR1cmUiOiAiY2hyb21l
|
| Lm1vam9tLlByb2ZpbGVJbXBvcnRPYnNlcnZlci5PbkZhdmljb25zSW1wb3J0R3JvdXAifSwgImVk
|
| Z2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyJ9LCB7InR5cGUiOiAiYW5jaG9yX2RlZmluZXMi
|
| LCAiYmVnaW4iOiAxMjA0MSwgImVuZCI6IDEyMDY2LCAidm5hbWUiOiB7Imxhbmd1YWdlIjogIm1v
|
| am9tIiwgImNvcnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2NvZGVzZWFyY2gvY2hy
|
| b21pdW0vc3JjLy9tYWluIiwgInNpZ25hdHVyZSI6ICJjaHJvbWUubW9qb20uUHJvZmlsZUltcG9y
|
| dE9ic2VydmVyLk9uUGFzc3dvcmRGb3JtSW1wb3J0UmVhZHkifSwgImVkZ2UiOiAiJS9reXRoZS9l
|
| ZGdlL2dlbmVyYXRlcyJ9LCB7InR5cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAiYmVnaW4iOiAxMjIw
|
| NywgImVuZCI6IDEyMjI4LCAidm5hbWUiOiB7Imxhbmd1YWdlIjogIm1vam9tIiwgImNvcnB1cyI6
|
| ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2NvZGVzZWFyY2gvY2hyb21pdW0vc3JjLy9tYWlu
|
| IiwgInNpZ25hdHVyZSI6ICJjaHJvbWUubW9qb20uUHJvZmlsZUltcG9ydE9ic2VydmVyLk9uS2V5
|
| d29yZHNJbXBvcnRSZWFkeSJ9LCAiZWRnZSI6ICIlL2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIn0sIHsi
|
| dHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJiZWdpbiI6IDEyNDI2LCAiZW5kIjogMTI0NTUsICJ2
|
| bmFtZSI6IHsibGFuZ3VhZ2UiOiAibW9qb20iLCAiY29ycHVzIjogImNocm9taXVtLmdvb2dsZXNv
|
| dXJjZS5jb20vY29kZXNlYXJjaC9jaHJvbWl1bS9zcmMvL21haW4iLCAic2lnbmF0dXJlIjogImNo
|
| cm9tZS5tb2pvbS5Qcm9maWxlSW1wb3J0T2JzZXJ2ZXIuT25BdXRvZmlsbEZvcm1EYXRhSW1wb3J0
|
| U3RhcnQifSwgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyJ9LCB7InR5cGUiOiAiYW5j
|
| aG9yX2RlZmluZXMiLCAiYmVnaW4iOiAxMjYwNSwgImVuZCI6IDEyNjM0LCAidm5hbWUiOiB7Imxh
|
| bmd1YWdlIjogIm1vam9tIiwgImNvcnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2Nv
|
| ZGVzZWFyY2gvY2hyb21pdW0vc3JjLy9tYWluIiwgInNpZ25hdHVyZSI6ICJjaHJvbWUubW9qb20u
|
| UHJvZmlsZUltcG9ydE9ic2VydmVyLk9uQXV0b2ZpbGxGb3JtRGF0YUltcG9ydEdyb3VwIn0sICJl
|
| ZGdlIjogIiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMifSwgeyJ0eXBlIjogImFuY2hvcl9kZWZpbmVz
|
| IiwgImJlZ2luIjogMTMwODksICJlbmQiOiAxMzEwMCwgInZuYW1lIjogeyJsYW5ndWFnZSI6ICJt
|
| b2pvbSIsICJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jb2Rlc2VhcmNoL2No
|
| cm9taXVtL3NyYy8vbWFpbiIsICJzaWduYXR1cmUiOiAiY2hyb21lLm1vam9tLlByb2ZpbGVJbXBv
|
| cnQuU3RhcnRJbXBvcnQifSwgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyJ9LCB7InR5
|
| cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAiYmVnaW4iOiAxMzM2MiwgImVuZCI6IDEzMzc0LCAidm5h
|
| bWUiOiB7Imxhbmd1YWdlIjogIm1vam9tIiwgImNvcnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3Vy
|
| Y2UuY29tL2NvZGVzZWFyY2gvY2hyb21pdW0vc3JjLy9tYWluIiwgInNpZ25hdHVyZSI6ICJjaHJv
|
| bWUubW9qb20uUHJvZmlsZUltcG9ydC5DYW5jZWxJbXBvcnQifSwgImVkZ2UiOiAiJS9reXRoZS9l
|
| ZGdlL2dlbmVyYXRlcyJ9LCB7InR5cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAiYmVnaW4iOiAxMzQ2
|
| NiwgImVuZCI6IDEzNDkwLCAidm5hbWUiOiB7Imxhbmd1YWdlIjogIm1vam9tIiwgImNvcnB1cyI6
|
| ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2NvZGVzZWFyY2gvY2hyb21pdW0vc3JjLy9tYWlu
|
| IiwgInNpZ25hdHVyZSI6ICJjaHJvbWUubW9qb20uUHJvZmlsZUltcG9ydC5SZXBvcnRJbXBvcnRJ
|
| dGVtRmluaXNoZWQifSwgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyJ9LCB7InR5cGUi
|
| OiAiYW5jaG9yX2RlZmluZXMiLCAiYmVnaW4iOiAxNjYwMSwgImVuZCI6IDE2NjIxLCAidm5hbWUi
|
| OiB7Imxhbmd1YWdlIjogIm1vam9tIiwgImNvcnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3VyY2Uu
|
| Y29tL2NvZGVzZWFyY2gvY2hyb21pdW0vc3JjLy9tYWluIiwgInNpZ25hdHVyZSI6ICJjaHJvbWUu
|
| bW9qb20uSW1wb3J0ZWRQYXNzd29yZEZvcm0ifSwgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVy
|
| YXRlcyJ9LCB7InR5cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAiYmVnaW4iOiAxNjkxNSwgImVuZCI6
|
| IDE2OTIxLCAidm5hbWUiOiB7Imxhbmd1YWdlIjogIm1vam9tIiwgImNvcnB1cyI6ICJjaHJvbWl1
|
| bS5nb29nbGVzb3VyY2UuY29tL2NvZGVzZWFyY2gvY2hyb21pdW0vc3JjLy9tYWluIiwgInNpZ25h
|
| dHVyZSI6ICJjaHJvbWUubW9qb20uSW1wb3J0ZWRQYXNzd29yZEZvcm0uU2NoZW1lIn0sICJlZGdl
|
| IjogIiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMifSwgeyJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwg
|
| ImJlZ2luIjogMjA5OTIsICJlbmQiOiAyMDk5OCwgInZuYW1lIjogeyJsYW5ndWFnZSI6ICJtb2pv
|
| bSIsICJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jb2Rlc2VhcmNoL2Nocm9t
|
| aXVtL3NyYy8vbWFpbiIsICJzaWduYXR1cmUiOiAiY2hyb21lLm1vam9tLkltcG9ydGVkUGFzc3dv
|
| cmRGb3JtLnNjaGVtZSJ9LCAiZWRnZSI6ICIlL2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIn0sIHsidHlw
|
| ZSI6ICJhbmNob3JfZGVmaW5lcyIsICJiZWdpbiI6IDIxMDkxLCAiZW5kIjogMjExMDMsICJ2bmFt
|
| ZSI6IHsibGFuZ3VhZ2UiOiAibW9qb20iLCAiY29ycHVzIjogImNocm9taXVtLmdvb2dsZXNvdXJj
|
| ZS5jb20vY29kZXNlYXJjaC9jaHJvbWl1bS9zcmMvL21haW4iLCAic2lnbmF0dXJlIjogImNocm9t
|
| ZS5tb2pvbS5JbXBvcnRlZFBhc3N3b3JkRm9ybS5zaWdub25fcmVhbG0ifSwgImVkZ2UiOiAiJS9r
|
| eXRoZS9lZGdlL2dlbmVyYXRlcyJ9LCB7InR5cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAiYmVnaW4i
|
| OiAyMTE3NSwgImVuZCI6IDIxMTc4LCAidm5hbWUiOiB7Imxhbmd1YWdlIjogIm1vam9tIiwgImNv
|
| cnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2NvZGVzZWFyY2gvY2hyb21pdW0vc3Jj
|
| Ly9tYWluIiwgInNpZ25hdHVyZSI6ICJjaHJvbWUubW9qb20uSW1wb3J0ZWRQYXNzd29yZEZvcm0u
|
| dXJsIn0sICJlZGdlIjogIiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMifSwgeyJ0eXBlIjogImFuY2hv
|
| cl9kZWZpbmVzIiwgImJlZ2luIjogMjEyNTMsICJlbmQiOiAyMTI1OSwgInZuYW1lIjogeyJsYW5n
|
| dWFnZSI6ICJtb2pvbSIsICJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jb2Rl
|
| c2VhcmNoL2Nocm9taXVtL3NyYy8vbWFpbiIsICJzaWduYXR1cmUiOiAiY2hyb21lLm1vam9tLklt
|
| cG9ydGVkUGFzc3dvcmRGb3JtLmFjdGlvbiJ9LCAiZWRnZSI6ICIlL2t5dGhlL2VkZ2UvZ2VuZXJh
|
| dGVzIn0sIHsidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJiZWdpbiI6IDIxMzU0LCAiZW5kIjog
|
| MjEzNzAsICJ2bmFtZSI6IHsibGFuZ3VhZ2UiOiAibW9qb20iLCAiY29ycHVzIjogImNocm9taXVt
|
| Lmdvb2dsZXNvdXJjZS5jb20vY29kZXNlYXJjaC9jaHJvbWl1bS9zcmMvL21haW4iLCAic2lnbmF0
|
| dXJlIjogImNocm9tZS5tb2pvbS5JbXBvcnRlZFBhc3N3b3JkRm9ybS51c2VybmFtZV9lbGVtZW50
|
| In0sICJlZGdlIjogIiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMifSwgeyJ0eXBlIjogImFuY2hvcl9k
|
| ZWZpbmVzIiwgImJlZ2luIjogMjE0NjMsICJlbmQiOiAyMTQ3NywgInZuYW1lIjogeyJsYW5ndWFn
|
| ZSI6ICJtb2pvbSIsICJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jb2Rlc2Vh
|
| cmNoL2Nocm9taXVtL3NyYy8vbWFpbiIsICJzaWduYXR1cmUiOiAiY2hyb21lLm1vam9tLkltcG9y
|
| dGVkUGFzc3dvcmRGb3JtLnVzZXJuYW1lX3ZhbHVlIn0sICJlZGdlIjogIiUva3l0aGUvZWRnZS9n
|
| ZW5lcmF0ZXMifSwgeyJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgImJlZ2luIjogMjE1NzIsICJl
|
| bmQiOiAyMTU4OCwgInZuYW1lIjogeyJsYW5ndWFnZSI6ICJtb2pvbSIsICJjb3JwdXMiOiAiY2hy
|
| b21pdW0uZ29vZ2xlc291cmNlLmNvbS9jb2Rlc2VhcmNoL2Nocm9taXVtL3NyYy8vbWFpbiIsICJz
|
| aWduYXR1cmUiOiAiY2hyb21lLm1vam9tLkltcG9ydGVkUGFzc3dvcmRGb3JtLnBhc3N3b3JkX2Vs
|
| ZW1lbnQifSwgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyJ9LCB7InR5cGUiOiAiYW5j
|
| aG9yX2RlZmluZXMiLCAiYmVnaW4iOiAyMTY4MSwgImVuZCI6IDIxNjk1LCAidm5hbWUiOiB7Imxh
|
| bmd1YWdlIjogIm1vam9tIiwgImNvcnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2Nv
|
| ZGVzZWFyY2gvY2hyb21pdW0vc3JjLy9tYWluIiwgInNpZ25hdHVyZSI6ICJjaHJvbWUubW9qb20u
|
| SW1wb3J0ZWRQYXNzd29yZEZvcm0ucGFzc3dvcmRfdmFsdWUifSwgImVkZ2UiOiAiJS9reXRoZS9l
|
| ZGdlL2dlbmVyYXRlcyJ9LCB7InR5cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAiYmVnaW4iOiAyMTc3
|
| NywgImVuZCI6IDIxNzkyLCAidm5hbWUiOiB7Imxhbmd1YWdlIjogIm1vam9tIiwgImNvcnB1cyI6
|
| ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2NvZGVzZWFyY2gvY2hyb21pdW0vc3JjLy9tYWlu
|
| IiwgInNpZ25hdHVyZSI6ICJjaHJvbWUubW9qb20uSW1wb3J0ZWRQYXNzd29yZEZvcm0uYmxvY2tl
|
| ZF9ieV91c2VyIn0sICJlZGdlIjogIiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMifV19
|
| */ |