| // mojo/public/cpp/bindings/tests/flush_async_unittest.test-mojom.h is auto generated by mojom_bindings_generator.py, do not edit |
| |
| // Copyright 2013 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef MOJO_PUBLIC_CPP_BINDINGS_TESTS_FLUSH_ASYNC_UNITTEST_TEST_MOJOM_H_ |
| #define MOJO_PUBLIC_CPP_BINDINGS_TESTS_FLUSH_ASYNC_UNITTEST_TEST_MOJOM_H_ |
| |
| #include <stdint.h> |
| |
| #include <limits> |
| #include <type_traits> |
| #include <utility> |
| |
| #include "third_party/abseil-cpp/absl/types/optional.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 "mojo/public/cpp/bindings/tests/flush_async_unittest.test-mojom-shared.h" |
| #include "mojo/public/cpp/bindings/tests/flush_async_unittest.test-mojom-forward.h" |
| #include <string> |
| #include <vector> |
| |
| #include "mojo/public/cpp/bindings/lib/control_message_handler.h" |
| #include "mojo/public/cpp/bindings/raw_ptr_impl_ref_traits.h" |
| |
| |
| |
| #ifdef KYTHE_IS_RUNNING |
| #pragma kythe_inline_metadata "Metadata comment" |
| #endif |
| |
| |
| namespace mojo { |
| namespace test { |
| namespace flush_async_unittest { |
| namespace mojom { |
| |
| class WriterProxy; |
| |
| template <typename ImplRefTraits> |
| class WriterStub; |
| |
| class WriterRequestValidator; |
| |
| |
| // @generated_from: mojo.test.flush_async_unittest.mojom.Writer |
| class Writer |
| : public WriterInterfaceBase { |
| public: |
| static const char Name_[]; |
| static std::pair<uint32_t, const void*> 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 HasSyncMethods_ = false; |
| static constexpr bool HasUninterruptableMethods_ = false; |
| |
| using Base_ = WriterInterfaceBase; |
| using Proxy_ = WriterProxy; |
| |
| template <typename ImplRefTraits> |
| using Stub_ = WriterStub<ImplRefTraits>; |
| |
| using RequestValidator_ = WriterRequestValidator; |
| using ResponseValidator_ = mojo::PassThroughFilter; |
| enum MethodMinVersions : uint32_t { |
| kPutMinVersion = 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 Put_Sym { |
| NOINLINE static void IPCSymbol(); |
| }; |
| #endif // !BUILDFLAG(IS_FUCHSIA) |
| virtual ~Writer() = default; |
| |
| |
| // @generated_from: mojo.test.flush_async_unittest.mojom.Writer.Put |
| virtual void Put(const std::string& key, const std::string& value) = 0; |
| }; |
| |
| class KeyValueStoreClientProxy; |
| |
| template <typename ImplRefTraits> |
| class KeyValueStoreClientStub; |
| |
| class KeyValueStoreClientRequestValidator; |
| |
| |
| // @generated_from: mojo.test.flush_async_unittest.mojom.KeyValueStoreClient |
| class KeyValueStoreClient |
| : public KeyValueStoreClientInterfaceBase { |
| public: |
| static const char Name_[]; |
| static std::pair<uint32_t, const void*> 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 HasSyncMethods_ = false; |
| static constexpr bool HasUninterruptableMethods_ = false; |
| |
| using Base_ = KeyValueStoreClientInterfaceBase; |
| using Proxy_ = KeyValueStoreClientProxy; |
| |
| template <typename ImplRefTraits> |
| using Stub_ = KeyValueStoreClientStub<ImplRefTraits>; |
| |
| using RequestValidator_ = KeyValueStoreClientRequestValidator; |
| using ResponseValidator_ = mojo::PassThroughFilter; |
| enum MethodMinVersions : uint32_t { |
| kOnSnapshotTakenMinVersion = 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 OnSnapshotTaken_Sym { |
| NOINLINE static void IPCSymbol(); |
| }; |
| #endif // !BUILDFLAG(IS_FUCHSIA) |
| virtual ~KeyValueStoreClient() = default; |
| |
| |
| // @generated_from: mojo.test.flush_async_unittest.mojom.KeyValueStoreClient.OnSnapshotTaken |
| virtual void OnSnapshotTaken() = 0; |
| }; |
| |
| class KeyValueStoreProxy; |
| |
| template <typename ImplRefTraits> |
| class KeyValueStoreStub; |
| |
| class KeyValueStoreRequestValidator; |
| class KeyValueStoreResponseValidator; |
| |
| |
| // @generated_from: mojo.test.flush_async_unittest.mojom.KeyValueStore |
| class KeyValueStore |
| : public KeyValueStoreInterfaceBase { |
| public: |
| static const char Name_[]; |
| static std::pair<uint32_t, const void*> 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 HasSyncMethods_ = false; |
| static constexpr bool HasUninterruptableMethods_ = false; |
| |
| using Base_ = KeyValueStoreInterfaceBase; |
| using Proxy_ = KeyValueStoreProxy; |
| |
| template <typename ImplRefTraits> |
| using Stub_ = KeyValueStoreStub<ImplRefTraits>; |
| |
| using RequestValidator_ = KeyValueStoreRequestValidator; |
| using ResponseValidator_ = KeyValueStoreResponseValidator; |
| enum MethodMinVersions : uint32_t { |
| kSetClientMinVersion = 0, |
| kBindWriterMinVersion = 0, |
| kGetSnapshotMinVersion = 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 SetClient_Sym { |
| NOINLINE static void IPCSymbol(); |
| }; |
| struct BindWriter_Sym { |
| NOINLINE static void IPCSymbol(); |
| }; |
| struct GetSnapshot_Sym { |
| NOINLINE static void IPCSymbol(); |
| }; |
| #endif // !BUILDFLAG(IS_FUCHSIA) |
| virtual ~KeyValueStore() = default; |
| |
| |
| // @generated_from: mojo.test.flush_async_unittest.mojom.KeyValueStore.SetClient |
| virtual void SetClient(::mojo::PendingRemote<KeyValueStoreClient> client) = 0; |
| |
| |
| // @generated_from: mojo.test.flush_async_unittest.mojom.KeyValueStore.BindWriter |
| virtual void BindWriter(::mojo::PendingReceiver<Writer> receiver) = 0; |
| |
| |
| using GetSnapshotCallback = base::OnceCallback<void(const base::flat_map<std::string, std::string>&)>; |
| |
| // @generated_from: mojo.test.flush_async_unittest.mojom.KeyValueStore.GetSnapshot |
| virtual void GetSnapshot(GetSnapshotCallback callback) = 0; |
| }; |
| |
| class PingerProxy; |
| |
| template <typename ImplRefTraits> |
| class PingerStub; |
| |
| class PingerRequestValidator; |
| class PingerResponseValidator; |
| |
| |
| // @generated_from: mojo.test.flush_async_unittest.mojom.Pinger |
| class Pinger |
| : public PingerInterfaceBase { |
| public: |
| static const char Name_[]; |
| static std::pair<uint32_t, const void*> 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 HasSyncMethods_ = false; |
| static constexpr bool HasUninterruptableMethods_ = false; |
| |
| using Base_ = PingerInterfaceBase; |
| using Proxy_ = PingerProxy; |
| |
| template <typename ImplRefTraits> |
| using Stub_ = PingerStub<ImplRefTraits>; |
| |
| using RequestValidator_ = PingerRequestValidator; |
| using ResponseValidator_ = PingerResponseValidator; |
| enum MethodMinVersions : uint32_t { |
| kPingMinVersion = 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 Ping_Sym { |
| NOINLINE static void IPCSymbol(); |
| }; |
| #endif // !BUILDFLAG(IS_FUCHSIA) |
| virtual ~Pinger() = default; |
| |
| |
| using PingCallback = base::OnceCallback<void()>; |
| |
| // @generated_from: mojo.test.flush_async_unittest.mojom.Pinger.Ping |
| virtual void Ping(PingCallback callback) = 0; |
| }; |
| |
| |
| |
| // @generated_from: mojo.test.flush_async_unittest.mojom.Writer |
| class WriterProxy |
| : public Writer { |
| public: |
| using InterfaceType = Writer; |
| |
| explicit WriterProxy(mojo::MessageReceiverWithResponder* receiver); |
| |
| // @generated_from: mojo.test.flush_async_unittest.mojom.Writer.Put |
| void Put(const std::string& key, const std::string& value) final; |
| |
| private: |
| mojo::MessageReceiverWithResponder* receiver_; |
| }; |
| |
| |
| |
| // @generated_from: mojo.test.flush_async_unittest.mojom.KeyValueStoreClient |
| class KeyValueStoreClientProxy |
| : public KeyValueStoreClient { |
| public: |
| using InterfaceType = KeyValueStoreClient; |
| |
| explicit KeyValueStoreClientProxy(mojo::MessageReceiverWithResponder* receiver); |
| |
| // @generated_from: mojo.test.flush_async_unittest.mojom.KeyValueStoreClient.OnSnapshotTaken |
| void OnSnapshotTaken() final; |
| |
| private: |
| mojo::MessageReceiverWithResponder* receiver_; |
| }; |
| |
| |
| |
| // @generated_from: mojo.test.flush_async_unittest.mojom.KeyValueStore |
| class KeyValueStoreProxy |
| : public KeyValueStore { |
| public: |
| using InterfaceType = KeyValueStore; |
| |
| explicit KeyValueStoreProxy(mojo::MessageReceiverWithResponder* receiver); |
| |
| // @generated_from: mojo.test.flush_async_unittest.mojom.KeyValueStore.SetClient |
| void SetClient(::mojo::PendingRemote<KeyValueStoreClient> client) final; |
| |
| // @generated_from: mojo.test.flush_async_unittest.mojom.KeyValueStore.BindWriter |
| void BindWriter(::mojo::PendingReceiver<Writer> receiver) final; |
| |
| // @generated_from: mojo.test.flush_async_unittest.mojom.KeyValueStore.GetSnapshot |
| void GetSnapshot(GetSnapshotCallback callback) final; |
| |
| private: |
| mojo::MessageReceiverWithResponder* receiver_; |
| }; |
| |
| |
| |
| // @generated_from: mojo.test.flush_async_unittest.mojom.Pinger |
| class PingerProxy |
| : public Pinger { |
| public: |
| using InterfaceType = Pinger; |
| |
| explicit PingerProxy(mojo::MessageReceiverWithResponder* receiver); |
| |
| // @generated_from: mojo.test.flush_async_unittest.mojom.Pinger.Ping |
| void Ping(PingCallback callback) final; |
| |
| private: |
| mojo::MessageReceiverWithResponder* receiver_; |
| }; |
| class WriterStubDispatch { |
| public: |
| static bool Accept(Writer* impl, mojo::Message* message); |
| static bool AcceptWithResponder( |
| Writer* impl, |
| mojo::Message* message, |
| std::unique_ptr<mojo::MessageReceiverWithStatus> responder); |
| }; |
| |
| template <typename ImplRefTraits = |
| mojo::RawPtrImplRefTraits<Writer>> |
| class WriterStub |
| : public mojo::MessageReceiverWithResponderStatus { |
| public: |
| using ImplPointerType = typename ImplRefTraits::PointerType; |
| |
| WriterStub() = default; |
| ~WriterStub() 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 WriterStubDispatch::Accept( |
| ImplRefTraits::GetRawPointer(&sink_), message); |
| } |
| |
| bool AcceptWithResponder( |
| mojo::Message* message, |
| std::unique_ptr<mojo::MessageReceiverWithStatus> responder) override { |
| if (ImplRefTraits::IsNull(sink_)) |
| return false; |
| return WriterStubDispatch::AcceptWithResponder( |
| ImplRefTraits::GetRawPointer(&sink_), message, std::move(responder)); |
| } |
| |
| private: |
| ImplPointerType sink_; |
| }; |
| class KeyValueStoreClientStubDispatch { |
| public: |
| static bool Accept(KeyValueStoreClient* impl, mojo::Message* message); |
| static bool AcceptWithResponder( |
| KeyValueStoreClient* impl, |
| mojo::Message* message, |
| std::unique_ptr<mojo::MessageReceiverWithStatus> responder); |
| }; |
| |
| template <typename ImplRefTraits = |
| mojo::RawPtrImplRefTraits<KeyValueStoreClient>> |
| class KeyValueStoreClientStub |
| : public mojo::MessageReceiverWithResponderStatus { |
| public: |
| using ImplPointerType = typename ImplRefTraits::PointerType; |
| |
| KeyValueStoreClientStub() = default; |
| ~KeyValueStoreClientStub() 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 KeyValueStoreClientStubDispatch::Accept( |
| ImplRefTraits::GetRawPointer(&sink_), message); |
| } |
| |
| bool AcceptWithResponder( |
| mojo::Message* message, |
| std::unique_ptr<mojo::MessageReceiverWithStatus> responder) override { |
| if (ImplRefTraits::IsNull(sink_)) |
| return false; |
| return KeyValueStoreClientStubDispatch::AcceptWithResponder( |
| ImplRefTraits::GetRawPointer(&sink_), message, std::move(responder)); |
| } |
| |
| private: |
| ImplPointerType sink_; |
| }; |
| class KeyValueStoreStubDispatch { |
| public: |
| static bool Accept(KeyValueStore* impl, mojo::Message* message); |
| static bool AcceptWithResponder( |
| KeyValueStore* impl, |
| mojo::Message* message, |
| std::unique_ptr<mojo::MessageReceiverWithStatus> responder); |
| }; |
| |
| template <typename ImplRefTraits = |
| mojo::RawPtrImplRefTraits<KeyValueStore>> |
| class KeyValueStoreStub |
| : public mojo::MessageReceiverWithResponderStatus { |
| public: |
| using ImplPointerType = typename ImplRefTraits::PointerType; |
| |
| KeyValueStoreStub() = default; |
| ~KeyValueStoreStub() 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 KeyValueStoreStubDispatch::Accept( |
| ImplRefTraits::GetRawPointer(&sink_), message); |
| } |
| |
| bool AcceptWithResponder( |
| mojo::Message* message, |
| std::unique_ptr<mojo::MessageReceiverWithStatus> responder) override { |
| if (ImplRefTraits::IsNull(sink_)) |
| return false; |
| return KeyValueStoreStubDispatch::AcceptWithResponder( |
| ImplRefTraits::GetRawPointer(&sink_), message, std::move(responder)); |
| } |
| |
| private: |
| ImplPointerType sink_; |
| }; |
| class PingerStubDispatch { |
| public: |
| static bool Accept(Pinger* impl, mojo::Message* message); |
| static bool AcceptWithResponder( |
| Pinger* impl, |
| mojo::Message* message, |
| std::unique_ptr<mojo::MessageReceiverWithStatus> responder); |
| }; |
| |
| template <typename ImplRefTraits = |
| mojo::RawPtrImplRefTraits<Pinger>> |
| class PingerStub |
| : public mojo::MessageReceiverWithResponderStatus { |
| public: |
| using ImplPointerType = typename ImplRefTraits::PointerType; |
| |
| PingerStub() = default; |
| ~PingerStub() 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 PingerStubDispatch::Accept( |
| ImplRefTraits::GetRawPointer(&sink_), message); |
| } |
| |
| bool AcceptWithResponder( |
| mojo::Message* message, |
| std::unique_ptr<mojo::MessageReceiverWithStatus> responder) override { |
| if (ImplRefTraits::IsNull(sink_)) |
| return false; |
| return PingerStubDispatch::AcceptWithResponder( |
| ImplRefTraits::GetRawPointer(&sink_), message, std::move(responder)); |
| } |
| |
| private: |
| ImplPointerType sink_; |
| }; |
| class WriterRequestValidator : public mojo::MessageReceiver { |
| public: |
| bool Accept(mojo::Message* message) override; |
| }; |
| class KeyValueStoreClientRequestValidator : public mojo::MessageReceiver { |
| public: |
| bool Accept(mojo::Message* message) override; |
| }; |
| class KeyValueStoreRequestValidator : public mojo::MessageReceiver { |
| public: |
| bool Accept(mojo::Message* message) override; |
| }; |
| class PingerRequestValidator : public mojo::MessageReceiver { |
| public: |
| bool Accept(mojo::Message* message) override; |
| }; |
| class KeyValueStoreResponseValidator : public mojo::MessageReceiver { |
| public: |
| bool Accept(mojo::Message* message) override; |
| }; |
| class PingerResponseValidator : public mojo::MessageReceiver { |
| public: |
| bool Accept(mojo::Message* message) override; |
| }; |
| |
| |
| |
| |
| |
| } // namespace mojom |
| } // namespace flush_async_unittest |
| } // namespace test |
| } // namespace mojo |
| |
| namespace mojo { |
| |
| } // namespace mojo |
| |
| #endif // MOJO_PUBLIC_CPP_BINDINGS_TESTS_FLUSH_ASYNC_UNITTEST_TEST_MOJOM_H_ |
| |
| /* Metadata comment |
| eyJtZXRhIjogW3siZW5kIjogMTY2MiwgImJlZ2luIjogMTY1NiwgImVkZ2UiOiAiJS9reXRoZS9l |
| ZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJjb3Jw |
| dXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2Ui |
| OiAibW9qb20iLCAic2lnbmF0dXJlIjogIm1vam8udGVzdC5mbHVzaF9hc3luY191bml0dGVzdC5t |
| b2pvbS5Xcml0ZXIifX0sIHsiZW5kIjogMjc4OCwgImJlZ2luIjogMjc4NSwgImVkZ2UiOiAiJS9r |
| eXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjog |
| eyJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFu |
| Z3VhZ2UiOiAibW9qb20iLCAic2lnbmF0dXJlIjogIm1vam8udGVzdC5mbHVzaF9hc3luY191bml0 |
| dGVzdC5tb2pvbS5Xcml0ZXIuUHV0In19LCB7ImVuZCI6IDMwOTUsICJiZWdpbiI6IDMwNzYsICJl |
| ZGdlIjogIiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMiLCAidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIs |
| ICJ2bmFtZSI6IHsiY29ycHVzIjogImNocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0v |
| c3JjIiwgImxhbmd1YWdlIjogIm1vam9tIiwgInNpZ25hdHVyZSI6ICJtb2pvLnRlc3QuZmx1c2hf |
| YXN5bmNfdW5pdHRlc3QubW9qb20uS2V5VmFsdWVTdG9yZUNsaWVudCJ9fSwgeyJlbmQiOiA0MzYw |
| LCAiYmVnaW4iOiA0MzQ1LCAiZWRnZSI6ICIlL2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIiwgInR5cGUi |
| OiAiYW5jaG9yX2RlZmluZXMiLCAidm5hbWUiOiB7ImNvcnB1cyI6ICJjaHJvbWl1bS5nb29nbGVz |
| b3VyY2UuY29tL2Nocm9taXVtL3NyYyIsICJsYW5ndWFnZSI6ICJtb2pvbSIsICJzaWduYXR1cmUi |
| OiAibW9qby50ZXN0LmZsdXNoX2FzeW5jX3VuaXR0ZXN0Lm1vam9tLktleVZhbHVlU3RvcmVDbGll |
| bnQuT25TbmFwc2hvdFRha2VuIn19LCB7ImVuZCI6IDQ2MjcsICJiZWdpbiI6IDQ2MTQsICJlZGdl |
| IjogIiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMiLCAidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJ2 |
| bmFtZSI6IHsiY29ycHVzIjogImNocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3Jj |
| IiwgImxhbmd1YWdlIjogIm1vam9tIiwgInNpZ25hdHVyZSI6ICJtb2pvLnRlc3QuZmx1c2hfYXN5 |
| bmNfdW5pdHRlc3QubW9qb20uS2V5VmFsdWVTdG9yZSJ9fSwgeyJlbmQiOiA2MDM1LCAiYmVnaW4i |
| OiA2MDI2LCAiZWRnZSI6ICIlL2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIiwgInR5cGUiOiAiYW5jaG9y |
| X2RlZmluZXMiLCAidm5hbWUiOiB7ImNvcnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29t |
| L2Nocm9taXVtL3NyYyIsICJsYW5ndWFnZSI6ICJtb2pvbSIsICJzaWduYXR1cmUiOiAibW9qby50 |
| ZXN0LmZsdXNoX2FzeW5jX3VuaXR0ZXN0Lm1vam9tLktleVZhbHVlU3RvcmUuU2V0Q2xpZW50In19 |
| LCB7ImVuZCI6IDYyMDMsICJiZWdpbiI6IDYxOTMsICJlZGdlIjogIiUva3l0aGUvZWRnZS9nZW5l |
| cmF0ZXMiLCAidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJ2bmFtZSI6IHsiY29ycHVzIjogImNo |
| cm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3JjIiwgImxhbmd1YWdlIjogIm1vam9t |
| IiwgInNpZ25hdHVyZSI6ICJtb2pvLnRlc3QuZmx1c2hfYXN5bmNfdW5pdHRlc3QubW9qb20uS2V5 |
| VmFsdWVTdG9yZS5CaW5kV3JpdGVyIn19LCB7ImVuZCI6IDY0NzAsICJiZWdpbiI6IDY0NTksICJl |
| ZGdlIjogIiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMiLCAidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIs |
| ICJ2bmFtZSI6IHsiY29ycHVzIjogImNocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0v |
| c3JjIiwgImxhbmd1YWdlIjogIm1vam9tIiwgInNpZ25hdHVyZSI6ICJtb2pvLnRlc3QuZmx1c2hf |
| YXN5bmNfdW5pdHRlc3QubW9qb20uS2V5VmFsdWVTdG9yZS5HZXRTbmFwc2hvdCJ9fSwgeyJlbmQi |
| OiA2NzIzLCAiYmVnaW4iOiA2NzE3LCAiZWRnZSI6ICIlL2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIiwg |
| InR5cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAidm5hbWUiOiB7ImNvcnB1cyI6ICJjaHJvbWl1bS5n |
| b29nbGVzb3VyY2UuY29tL2Nocm9taXVtL3NyYyIsICJsYW5ndWFnZSI6ICJtb2pvbSIsICJzaWdu |
| YXR1cmUiOiAibW9qby50ZXN0LmZsdXNoX2FzeW5jX3VuaXR0ZXN0Lm1vam9tLlBpbmdlciJ9fSwg |
| eyJlbmQiOiA3OTA1LCAiYmVnaW4iOiA3OTAxLCAiZWRnZSI6ICIlL2t5dGhlL2VkZ2UvZ2VuZXJh |
| dGVzIiwgInR5cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAidm5hbWUiOiB7ImNvcnB1cyI6ICJjaHJv |
| bWl1bS5nb29nbGVzb3VyY2UuY29tL2Nocm9taXVtL3NyYyIsICJsYW5ndWFnZSI6ICJtb2pvbSIs |
| ICJzaWduYXR1cmUiOiAibW9qby50ZXN0LmZsdXNoX2FzeW5jX3VuaXR0ZXN0Lm1vam9tLlBpbmdl |
| ci5QaW5nIn19LCB7ImVuZCI6IDgyMzgsICJiZWdpbiI6IDgyMzUsICJlZGdlIjogIiUva3l0aGUv |
| ZWRnZS9nZW5lcmF0ZXMiLCAidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJ2bmFtZSI6IHsiY29y |
| cHVzIjogImNocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3JjIiwgImxhbmd1YWdl |
| IjogIm1vam9tIiwgInNpZ25hdHVyZSI6ICJtb2pvLnRlc3QuZmx1c2hfYXN5bmNfdW5pdHRlc3Qu |
| bW9qb20uV3JpdGVyLlB1dCJ9fSwgeyJlbmQiOiA4NzYyLCAiYmVnaW4iOiA4NzQ3LCAiZWRnZSI6 |
| ICIlL2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIiwgInR5cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAidm5h |
| bWUiOiB7ImNvcnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2Nocm9taXVtL3NyYyIs |
| ICJsYW5ndWFnZSI6ICJtb2pvbSIsICJzaWduYXR1cmUiOiAibW9qby50ZXN0LmZsdXNoX2FzeW5j |
| X3VuaXR0ZXN0Lm1vam9tLktleVZhbHVlU3RvcmVDbGllbnQuT25TbmFwc2hvdFRha2VuIn19LCB7 |
| ImVuZCI6IDkxOTAsICJiZWdpbiI6IDkxODEsICJlZGdlIjogIiUva3l0aGUvZWRnZS9nZW5lcmF0 |
| ZXMiLCAidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJ2bmFtZSI6IHsiY29ycHVzIjogImNocm9t |
| aXVtLmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3JjIiwgImxhbmd1YWdlIjogIm1vam9tIiwg |
| InNpZ25hdHVyZSI6ICJtb2pvLnRlc3QuZmx1c2hfYXN5bmNfdW5pdHRlc3QubW9qb20uS2V5VmFs |
| dWVTdG9yZS5TZXRDbGllbnQifX0sIHsiZW5kIjogOTM1MSwgImJlZ2luIjogOTM0MSwgImVkZ2Ui |
| OiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZu |
| YW1lIjogeyJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMi |
| LCAibGFuZ3VhZ2UiOiAibW9qb20iLCAic2lnbmF0dXJlIjogIm1vam8udGVzdC5mbHVzaF9hc3lu |
| Y191bml0dGVzdC5tb2pvbS5LZXlWYWx1ZVN0b3JlLkJpbmRXcml0ZXIifX0sIHsiZW5kIjogOTUw |
| NSwgImJlZ2luIjogOTQ5NCwgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBl |
| IjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xl |
| c291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9qb20iLCAic2lnbmF0dXJl |
| IjogIm1vam8udGVzdC5mbHVzaF9hc3luY191bml0dGVzdC5tb2pvbS5LZXlWYWx1ZVN0b3JlLkdl |
| dFNuYXBzaG90In19LCB7ImVuZCI6IDk5MDksICJiZWdpbiI6IDk5MDUsICJlZGdlIjogIiUva3l0 |
| aGUvZWRnZS9nZW5lcmF0ZXMiLCAidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJ2bmFtZSI6IHsi |
| Y29ycHVzIjogImNocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3JjIiwgImxhbmd1 |
| YWdlIjogIm1vam9tIiwgInNpZ25hdHVyZSI6ICJtb2pvLnRlc3QuZmx1c2hfYXN5bmNfdW5pdHRl |
| c3QubW9qb20uUGluZ2VyLlBpbmcifX1dLCAidHlwZSI6ICJreXRoZTAifQ== |
| */ |