blob: b215bc85439281630cc7d3794941d22b373ba64c [file] [log] [blame]
// Copyright 2016 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 UI_EVENTS_MOJO_EVENT_CONSTANTS_MOJOM_SHARED_H_
#define UI_EVENTS_MOJO_EVENT_CONSTANTS_MOJOM_SHARED_H_
#include <stdint.h>
#include <functional>
#include <ostream>
#include <type_traits>
#include <utility>
#include "base/compiler_specific.h"
#include "base/containers/flat_map.h"
#include "mojo/public/cpp/bindings/array_data_view.h"
#include "mojo/public/cpp/bindings/enum_traits.h"
#include "mojo/public/cpp/bindings/interface_data_view.h"
#include "mojo/public/cpp/bindings/lib/bindings_internal.h"
#include "mojo/public/cpp/bindings/lib/serialization.h"
#include "mojo/public/cpp/bindings/map_data_view.h"
#include "mojo/public/cpp/bindings/string_data_view.h"
#include "ui/events/mojo/event_constants.mojom-shared-internal.h"
#include "mojo/public/cpp/bindings/lib/interface_serialization.h"
#include "mojo/public/cpp/bindings/native_enum.h"
#include "mojo/public/cpp/bindings/lib/native_struct_serialization.h"
#ifdef KYTHE_IS_RUNNING
#pragma kythe_inline_metadata "Metadata comment"
#endif
namespace ui {
namespace mojom {
} // namespace mojom
} // namespace ui
namespace mojo {
namespace internal {
} // namespace internal
} // namespace mojo
namespace ui {
namespace mojom {
// @generated_from: ui.mojom.AcceleratorPhase
enum class AcceleratorPhase : int32_t {
// @generated_from: ui.mojom.AcceleratorPhase.PRE_TARGET
PRE_TARGET,
// @generated_from: ui.mojom.AcceleratorPhase.POST_TARGET
POST_TARGET,
kMinValue = 0,
kMaxValue = 1,
};
std::ostream& operator<<(std::ostream& os, AcceleratorPhase value);
inline bool IsKnownEnumValue(AcceleratorPhase value) {
return internal::AcceleratorPhase_Data::IsKnownValue(
static_cast<int32_t>(value));
}
// @generated_from: ui.mojom.EventType
enum class EventType : int32_t {
// @generated_from: ui.mojom.EventType.UNKNOWN
UNKNOWN,
// @generated_from: ui.mojom.EventType.KEY_PRESSED
KEY_PRESSED,
// @generated_from: ui.mojom.EventType.KEY_RELEASED
KEY_RELEASED,
// @generated_from: ui.mojom.EventType.GESTURE_TAP
GESTURE_TAP,
// @generated_from: ui.mojom.EventType.GESTURE_SWIPE
GESTURE_SWIPE,
// @generated_from: ui.mojom.EventType.GESTURE_PINCH_BEGIN
GESTURE_PINCH_BEGIN,
// @generated_from: ui.mojom.EventType.GESTURE_PINCH_END
GESTURE_PINCH_END,
// @generated_from: ui.mojom.EventType.GESTURE_PINCH_UPDATE
GESTURE_PINCH_UPDATE,
// @generated_from: ui.mojom.EventType.SCROLL
SCROLL,
// @generated_from: ui.mojom.EventType.SCROLL_FLING_START
SCROLL_FLING_START,
// @generated_from: ui.mojom.EventType.SCROLL_FLING_CANCEL
SCROLL_FLING_CANCEL,
// @generated_from: ui.mojom.EventType.CANCEL_MODE
CANCEL_MODE,
// @generated_from: ui.mojom.EventType.MOUSE_PRESSED_EVENT
MOUSE_PRESSED_EVENT,
// @generated_from: ui.mojom.EventType.MOUSE_DRAGGED_EVENT
MOUSE_DRAGGED_EVENT,
// @generated_from: ui.mojom.EventType.MOUSE_RELEASED_EVENT
MOUSE_RELEASED_EVENT,
// @generated_from: ui.mojom.EventType.MOUSE_MOVED_EVENT
MOUSE_MOVED_EVENT,
// @generated_from: ui.mojom.EventType.MOUSE_ENTERED_EVENT
MOUSE_ENTERED_EVENT,
// @generated_from: ui.mojom.EventType.MOUSE_EXITED_EVENT
MOUSE_EXITED_EVENT,
// @generated_from: ui.mojom.EventType.MOUSE_WHEEL_EVENT
MOUSE_WHEEL_EVENT,
// @generated_from: ui.mojom.EventType.MOUSE_CAPTURE_CHANGED_EVENT
MOUSE_CAPTURE_CHANGED_EVENT,
// @generated_from: ui.mojom.EventType.TOUCH_RELEASED
TOUCH_RELEASED,
// @generated_from: ui.mojom.EventType.TOUCH_PRESSED
TOUCH_PRESSED,
// @generated_from: ui.mojom.EventType.TOUCH_MOVED
TOUCH_MOVED,
// @generated_from: ui.mojom.EventType.TOUCH_CANCELLED
TOUCH_CANCELLED,
kMinValue = 0,
kMaxValue = 23,
};
std::ostream& operator<<(std::ostream& os, EventType value);
inline bool IsKnownEnumValue(EventType value) {
return internal::EventType_Data::IsKnownValue(
static_cast<int32_t>(value));
}
// @generated_from: ui.mojom.PointerKind
enum class PointerKind : int32_t {
// @generated_from: ui.mojom.PointerKind.UNKNOWN
UNKNOWN,
// @generated_from: ui.mojom.PointerKind.MOUSE
MOUSE,
// @generated_from: ui.mojom.PointerKind.PEN
PEN,
// @generated_from: ui.mojom.PointerKind.TOUCH
TOUCH,
// @generated_from: ui.mojom.PointerKind.ERASER
ERASER,
kMinValue = 0,
kMaxValue = 4,
};
std::ostream& operator<<(std::ostream& os, PointerKind value);
inline bool IsKnownEnumValue(PointerKind value) {
return internal::PointerKind_Data::IsKnownValue(
static_cast<int32_t>(value));
}
// @generated_from: ui.mojom.ScrollEventPhase
enum class ScrollEventPhase : int32_t {
// @generated_from: ui.mojom.ScrollEventPhase.kNone
kNone,
// @generated_from: ui.mojom.ScrollEventPhase.kBegan
kBegan,
// @generated_from: ui.mojom.ScrollEventPhase.kUpdate
kUpdate,
// @generated_from: ui.mojom.ScrollEventPhase.kEnd
kEnd,
kMinValue = 0,
kMaxValue = 3,
};
std::ostream& operator<<(std::ostream& os, ScrollEventPhase value);
inline bool IsKnownEnumValue(ScrollEventPhase value) {
return internal::ScrollEventPhase_Data::IsKnownValue(
static_cast<int32_t>(value));
}
// @generated_from: ui.mojom.EventMomentumPhase
enum class EventMomentumPhase : int32_t {
// @generated_from: ui.mojom.EventMomentumPhase.NONE
NONE,
// @generated_from: ui.mojom.EventMomentumPhase.BEGAN
BEGAN,
// @generated_from: ui.mojom.EventMomentumPhase.MAY_BEGIN
MAY_BEGIN,
// @generated_from: ui.mojom.EventMomentumPhase.INERTIAL_UPDATE
INERTIAL_UPDATE,
// @generated_from: ui.mojom.EventMomentumPhase.END
END,
kMinValue = 0,
kMaxValue = 4,
};
std::ostream& operator<<(std::ostream& os, EventMomentumPhase value);
inline bool IsKnownEnumValue(EventMomentumPhase value) {
return internal::EventMomentumPhase_Data::IsKnownValue(
static_cast<int32_t>(value));
}
// @generated_from: ui.mojom.GestureDeviceType
enum class GestureDeviceType : int32_t {
// @generated_from: ui.mojom.GestureDeviceType.DEVICE_UNKNOWN
DEVICE_UNKNOWN,
// @generated_from: ui.mojom.GestureDeviceType.DEVICE_TOUCHPAD
DEVICE_TOUCHPAD,
// @generated_from: ui.mojom.GestureDeviceType.DEVICE_TOUCHSCREEN
DEVICE_TOUCHSCREEN,
kMinValue = 0,
kMaxValue = 2,
};
std::ostream& operator<<(std::ostream& os, GestureDeviceType value);
inline bool IsKnownEnumValue(GestureDeviceType value) {
return internal::GestureDeviceType_Data::IsKnownValue(
static_cast<int32_t>(value));
}
} // namespace mojom
} // namespace ui
namespace std {
template <>
struct hash<::ui::mojom::AcceleratorPhase>
: public mojo::internal::EnumHashImpl<::ui::mojom::AcceleratorPhase> {};
template <>
struct hash<::ui::mojom::EventType>
: public mojo::internal::EnumHashImpl<::ui::mojom::EventType> {};
template <>
struct hash<::ui::mojom::PointerKind>
: public mojo::internal::EnumHashImpl<::ui::mojom::PointerKind> {};
template <>
struct hash<::ui::mojom::ScrollEventPhase>
: public mojo::internal::EnumHashImpl<::ui::mojom::ScrollEventPhase> {};
template <>
struct hash<::ui::mojom::EventMomentumPhase>
: public mojo::internal::EnumHashImpl<::ui::mojom::EventMomentumPhase> {};
template <>
struct hash<::ui::mojom::GestureDeviceType>
: public mojo::internal::EnumHashImpl<::ui::mojom::GestureDeviceType> {};
} // namespace std
namespace mojo {
template <>
struct EnumTraits<::ui::mojom::AcceleratorPhase, ::ui::mojom::AcceleratorPhase> {
static ::ui::mojom::AcceleratorPhase ToMojom(::ui::mojom::AcceleratorPhase input) { return input; }
static bool FromMojom(::ui::mojom::AcceleratorPhase input, ::ui::mojom::AcceleratorPhase* output) {
*output = input;
return true;
}
};
namespace internal {
template <typename MaybeConstUserType>
struct Serializer<::ui::mojom::AcceleratorPhase, MaybeConstUserType> {
using UserType = typename std::remove_const<MaybeConstUserType>::type;
using Traits = EnumTraits<::ui::mojom::AcceleratorPhase, UserType>;
static void Serialize(UserType input, int32_t* output) {
*output = static_cast<int32_t>(Traits::ToMojom(input));
}
static bool Deserialize(int32_t input, UserType* output) {
return Traits::FromMojom(static_cast<::ui::mojom::AcceleratorPhase>(input), output);
}
};
} // namespace internal
template <>
struct EnumTraits<::ui::mojom::EventType, ::ui::mojom::EventType> {
static ::ui::mojom::EventType ToMojom(::ui::mojom::EventType input) { return input; }
static bool FromMojom(::ui::mojom::EventType input, ::ui::mojom::EventType* output) {
*output = input;
return true;
}
};
namespace internal {
template <typename MaybeConstUserType>
struct Serializer<::ui::mojom::EventType, MaybeConstUserType> {
using UserType = typename std::remove_const<MaybeConstUserType>::type;
using Traits = EnumTraits<::ui::mojom::EventType, UserType>;
static void Serialize(UserType input, int32_t* output) {
*output = static_cast<int32_t>(Traits::ToMojom(input));
}
static bool Deserialize(int32_t input, UserType* output) {
return Traits::FromMojom(static_cast<::ui::mojom::EventType>(input), output);
}
};
} // namespace internal
template <>
struct EnumTraits<::ui::mojom::PointerKind, ::ui::mojom::PointerKind> {
static ::ui::mojom::PointerKind ToMojom(::ui::mojom::PointerKind input) { return input; }
static bool FromMojom(::ui::mojom::PointerKind input, ::ui::mojom::PointerKind* output) {
*output = input;
return true;
}
};
namespace internal {
template <typename MaybeConstUserType>
struct Serializer<::ui::mojom::PointerKind, MaybeConstUserType> {
using UserType = typename std::remove_const<MaybeConstUserType>::type;
using Traits = EnumTraits<::ui::mojom::PointerKind, UserType>;
static void Serialize(UserType input, int32_t* output) {
*output = static_cast<int32_t>(Traits::ToMojom(input));
}
static bool Deserialize(int32_t input, UserType* output) {
return Traits::FromMojom(static_cast<::ui::mojom::PointerKind>(input), output);
}
};
} // namespace internal
template <>
struct EnumTraits<::ui::mojom::ScrollEventPhase, ::ui::mojom::ScrollEventPhase> {
static ::ui::mojom::ScrollEventPhase ToMojom(::ui::mojom::ScrollEventPhase input) { return input; }
static bool FromMojom(::ui::mojom::ScrollEventPhase input, ::ui::mojom::ScrollEventPhase* output) {
*output = input;
return true;
}
};
namespace internal {
template <typename MaybeConstUserType>
struct Serializer<::ui::mojom::ScrollEventPhase, MaybeConstUserType> {
using UserType = typename std::remove_const<MaybeConstUserType>::type;
using Traits = EnumTraits<::ui::mojom::ScrollEventPhase, UserType>;
static void Serialize(UserType input, int32_t* output) {
*output = static_cast<int32_t>(Traits::ToMojom(input));
}
static bool Deserialize(int32_t input, UserType* output) {
return Traits::FromMojom(static_cast<::ui::mojom::ScrollEventPhase>(input), output);
}
};
} // namespace internal
template <>
struct EnumTraits<::ui::mojom::EventMomentumPhase, ::ui::mojom::EventMomentumPhase> {
static ::ui::mojom::EventMomentumPhase ToMojom(::ui::mojom::EventMomentumPhase input) { return input; }
static bool FromMojom(::ui::mojom::EventMomentumPhase input, ::ui::mojom::EventMomentumPhase* output) {
*output = input;
return true;
}
};
namespace internal {
template <typename MaybeConstUserType>
struct Serializer<::ui::mojom::EventMomentumPhase, MaybeConstUserType> {
using UserType = typename std::remove_const<MaybeConstUserType>::type;
using Traits = EnumTraits<::ui::mojom::EventMomentumPhase, UserType>;
static void Serialize(UserType input, int32_t* output) {
*output = static_cast<int32_t>(Traits::ToMojom(input));
}
static bool Deserialize(int32_t input, UserType* output) {
return Traits::FromMojom(static_cast<::ui::mojom::EventMomentumPhase>(input), output);
}
};
} // namespace internal
template <>
struct EnumTraits<::ui::mojom::GestureDeviceType, ::ui::mojom::GestureDeviceType> {
static ::ui::mojom::GestureDeviceType ToMojom(::ui::mojom::GestureDeviceType input) { return input; }
static bool FromMojom(::ui::mojom::GestureDeviceType input, ::ui::mojom::GestureDeviceType* output) {
*output = input;
return true;
}
};
namespace internal {
template <typename MaybeConstUserType>
struct Serializer<::ui::mojom::GestureDeviceType, MaybeConstUserType> {
using UserType = typename std::remove_const<MaybeConstUserType>::type;
using Traits = EnumTraits<::ui::mojom::GestureDeviceType, UserType>;
static void Serialize(UserType input, int32_t* output) {
*output = static_cast<int32_t>(Traits::ToMojom(input));
}
static bool Deserialize(int32_t input, UserType* output) {
return Traits::FromMojom(static_cast<::ui::mojom::GestureDeviceType>(input), output);
}
};
} // namespace internal
} // namespace mojo
namespace ui {
namespace mojom {
} // namespace mojom
} // namespace ui
#endif // UI_EVENTS_MOJO_EVENT_CONSTANTS_MOJOM_SHARED_H_
/* Metadata comment
eyJtZXRhIjogW3siZW5kIjogMTQ1MSwgImJlZ2luIjogMTQzNSwgImVkZ2UiOiAiJS9reXRoZS9l
ZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJjb3Jw
dXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2Ui
OiAibW9qb20iLCAic2lnbmF0dXJlIjogInVpLm1vam9tLkFjY2VsZXJhdG9yUGhhc2UifX0sIHsi
ZW5kIjogMTUzNiwgImJlZ2luIjogMTUyNiwgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRl
cyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJjb3JwdXMiOiAiY2hyb21p
dW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9qb20iLCAi
c2lnbmF0dXJlIjogInVpLm1vam9tLkFjY2VsZXJhdG9yUGhhc2UuUFJFX1RBUkdFVCJ9fSwgeyJl
bmQiOiAxNjEyLCAiYmVnaW4iOiAxNjAxLCAiZWRnZSI6ICIlL2t5dGhlL2VkZ2UvZ2VuZXJhdGVz
IiwgInR5cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAidm5hbWUiOiB7ImNvcnB1cyI6ICJjaHJvbWl1
bS5nb29nbGVzb3VyY2UuY29tL2Nocm9taXVtL3NyYyIsICJsYW5ndWFnZSI6ICJtb2pvbSIsICJz
aWduYXR1cmUiOiAidWkubW9qb20uQWNjZWxlcmF0b3JQaGFzZS5QT1NUX1RBUkdFVCJ9fSwgeyJl
bmQiOiAxOTMxLCAiYmVnaW4iOiAxOTIyLCAiZWRnZSI6ICIlL2t5dGhlL2VkZ2UvZ2VuZXJhdGVz
IiwgInR5cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAidm5hbWUiOiB7ImNvcnB1cyI6ICJjaHJvbWl1
bS5nb29nbGVzb3VyY2UuY29tL2Nocm9taXVtL3NyYyIsICJsYW5ndWFnZSI6ICJtb2pvbSIsICJz
aWduYXR1cmUiOiAidWkubW9qb20uRXZlbnRUeXBlIn19LCB7ImVuZCI6IDIwMDMsICJiZWdpbiI6
IDE5OTYsICJlZGdlIjogIiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMiLCAidHlwZSI6ICJhbmNob3Jf
ZGVmaW5lcyIsICJ2bmFtZSI6IHsiY29ycHVzIjogImNocm9taXVtLmdvb2dsZXNvdXJjZS5jb20v
Y2hyb21pdW0vc3JjIiwgImxhbmd1YWdlIjogIm1vam9tIiwgInNpZ25hdHVyZSI6ICJ1aS5tb2pv
bS5FdmVudFR5cGUuVU5LTk9XTiJ9fSwgeyJlbmQiOiAyMDcyLCAiYmVnaW4iOiAyMDYxLCAiZWRn
ZSI6ICIlL2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIiwgInR5cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAi
dm5hbWUiOiB7ImNvcnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2Nocm9taXVtL3Ny
YyIsICJsYW5ndWFnZSI6ICJtb2pvbSIsICJzaWduYXR1cmUiOiAidWkubW9qb20uRXZlbnRUeXBl
LktFWV9QUkVTU0VEIn19LCB7ImVuZCI6IDIxNDMsICJiZWdpbiI6IDIxMzEsICJlZGdlIjogIiUv
a3l0aGUvZWRnZS9nZW5lcmF0ZXMiLCAidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJ2bmFtZSI6
IHsiY29ycHVzIjogImNocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3JjIiwgImxh
bmd1YWdlIjogIm1vam9tIiwgInNpZ25hdHVyZSI6ICJ1aS5tb2pvbS5FdmVudFR5cGUuS0VZX1JF
TEVBU0VEIn19LCB7ImVuZCI6IDIyMTIsICJiZWdpbiI6IDIyMDEsICJlZGdlIjogIiUva3l0aGUv
ZWRnZS9nZW5lcmF0ZXMiLCAidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJ2bmFtZSI6IHsiY29y
cHVzIjogImNocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3JjIiwgImxhbmd1YWdl
IjogIm1vam9tIiwgInNpZ25hdHVyZSI6ICJ1aS5tb2pvbS5FdmVudFR5cGUuR0VTVFVSRV9UQVAi
fX0sIHsiZW5kIjogMjI4NSwgImJlZ2luIjogMjI3MiwgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dl
bmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJjb3JwdXMiOiAi
Y2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9q
b20iLCAic2lnbmF0dXJlIjogInVpLm1vam9tLkV2ZW50VHlwZS5HRVNUVVJFX1NXSVBFIn19LCB7
ImVuZCI6IDIzNzAsICJiZWdpbiI6IDIzNTEsICJlZGdlIjogIiUva3l0aGUvZWRnZS9nZW5lcmF0
ZXMiLCAidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJ2bmFtZSI6IHsiY29ycHVzIjogImNocm9t
aXVtLmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3JjIiwgImxhbmd1YWdlIjogIm1vam9tIiwg
InNpZ25hdHVyZSI6ICJ1aS5tb2pvbS5FdmVudFR5cGUuR0VTVFVSRV9QSU5DSF9CRUdJTiJ9fSwg
eyJlbmQiOiAyNDUxLCAiYmVnaW4iOiAyNDM0LCAiZWRnZSI6ICIlL2t5dGhlL2VkZ2UvZ2VuZXJh
dGVzIiwgInR5cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAidm5hbWUiOiB7ImNvcnB1cyI6ICJjaHJv
bWl1bS5nb29nbGVzb3VyY2UuY29tL2Nocm9taXVtL3NyYyIsICJsYW5ndWFnZSI6ICJtb2pvbSIs
ICJzaWduYXR1cmUiOiAidWkubW9qb20uRXZlbnRUeXBlLkdFU1RVUkVfUElOQ0hfRU5EIn19LCB7
ImVuZCI6IDI1MzgsICJiZWdpbiI6IDI1MTgsICJlZGdlIjogIiUva3l0aGUvZWRnZS9nZW5lcmF0
ZXMiLCAidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJ2bmFtZSI6IHsiY29ycHVzIjogImNocm9t
aXVtLmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3JjIiwgImxhbmd1YWdlIjogIm1vam9tIiwg
InNpZ25hdHVyZSI6ICJ1aS5tb2pvbS5FdmVudFR5cGUuR0VTVFVSRV9QSU5DSF9VUERBVEUifX0s
IHsiZW5kIjogMjU5NywgImJlZ2luIjogMjU5MSwgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVy
YXRlcyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJjb3JwdXMiOiAiY2hy
b21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9qb20i
LCAic2lnbmF0dXJlIjogInVpLm1vam9tLkV2ZW50VHlwZS5TQ1JPTEwifX0sIHsiZW5kIjogMjY4
MCwgImJlZ2luIjogMjY2MiwgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBl
IjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xl
c291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9qb20iLCAic2lnbmF0dXJl
IjogInVpLm1vam9tLkV2ZW50VHlwZS5TQ1JPTExfRkxJTkdfU1RBUlQifX0sIHsiZW5kIjogMjc2
NSwgImJlZ2luIjogMjc0NiwgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBl
IjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xl
c291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9qb20iLCAic2lnbmF0dXJl
IjogInVpLm1vam9tLkV2ZW50VHlwZS5TQ1JPTExfRkxJTkdfQ0FOQ0VMIn19LCB7ImVuZCI6IDI4
MzQsICJiZWdpbiI6IDI4MjMsICJlZGdlIjogIiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMiLCAidHlw
ZSI6ICJhbmNob3JfZGVmaW5lcyIsICJ2bmFtZSI6IHsiY29ycHVzIjogImNocm9taXVtLmdvb2ds
ZXNvdXJjZS5jb20vY2hyb21pdW0vc3JjIiwgImxhbmd1YWdlIjogIm1vam9tIiwgInNpZ25hdHVy
ZSI6ICJ1aS5tb2pvbS5FdmVudFR5cGUuQ0FOQ0VMX01PREUifX0sIHsiZW5kIjogMjkxOSwgImJl
Z2luIjogMjkwMCwgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjogImFu
Y2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNl
LmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9qb20iLCAic2lnbmF0dXJlIjogInVp
Lm1vam9tLkV2ZW50VHlwZS5NT1VTRV9QUkVTU0VEX0VWRU5UIn19LCB7ImVuZCI6IDMwMDQsICJi
ZWdpbiI6IDI5ODUsICJlZGdlIjogIiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMiLCAidHlwZSI6ICJh
bmNob3JfZGVmaW5lcyIsICJ2bmFtZSI6IHsiY29ycHVzIjogImNocm9taXVtLmdvb2dsZXNvdXJj
ZS5jb20vY2hyb21pdW0vc3JjIiwgImxhbmd1YWdlIjogIm1vam9tIiwgInNpZ25hdHVyZSI6ICJ1
aS5tb2pvbS5FdmVudFR5cGUuTU9VU0VfRFJBR0dFRF9FVkVOVCJ9fSwgeyJlbmQiOiAzMDkxLCAi
YmVnaW4iOiAzMDcxLCAiZWRnZSI6ICIlL2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIiwgInR5cGUiOiAi
YW5jaG9yX2RlZmluZXMiLCAidm5hbWUiOiB7ImNvcnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3Vy
Y2UuY29tL2Nocm9taXVtL3NyYyIsICJsYW5ndWFnZSI6ICJtb2pvbSIsICJzaWduYXR1cmUiOiAi
dWkubW9qb20uRXZlbnRUeXBlLk1PVVNFX1JFTEVBU0VEX0VWRU5UIn19LCB7ImVuZCI6IDMxNzIs
ICJiZWdpbiI6IDMxNTUsICJlZGdlIjogIiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMiLCAidHlwZSI6
ICJhbmNob3JfZGVmaW5lcyIsICJ2bmFtZSI6IHsiY29ycHVzIjogImNocm9taXVtLmdvb2dsZXNv
dXJjZS5jb20vY2hyb21pdW0vc3JjIiwgImxhbmd1YWdlIjogIm1vam9tIiwgInNpZ25hdHVyZSI6
ICJ1aS5tb2pvbS5FdmVudFR5cGUuTU9VU0VfTU9WRURfRVZFTlQifX0sIHsiZW5kIjogMzI1Nywg
ImJlZ2luIjogMzIzOCwgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjog
ImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291
cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9qb20iLCAic2lnbmF0dXJlIjog
InVpLm1vam9tLkV2ZW50VHlwZS5NT1VTRV9FTlRFUkVEX0VWRU5UIn19LCB7ImVuZCI6IDMzNDAs
ICJiZWdpbiI6IDMzMjIsICJlZGdlIjogIiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMiLCAidHlwZSI6
ICJhbmNob3JfZGVmaW5lcyIsICJ2bmFtZSI6IHsiY29ycHVzIjogImNocm9taXVtLmdvb2dsZXNv
dXJjZS5jb20vY2hyb21pdW0vc3JjIiwgImxhbmd1YWdlIjogIm1vam9tIiwgInNpZ25hdHVyZSI6
ICJ1aS5tb2pvbS5FdmVudFR5cGUuTU9VU0VfRVhJVEVEX0VWRU5UIn19LCB7ImVuZCI6IDM0MjEs
ICJiZWdpbiI6IDM0MDQsICJlZGdlIjogIiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMiLCAidHlwZSI6
ICJhbmNob3JfZGVmaW5lcyIsICJ2bmFtZSI6IHsiY29ycHVzIjogImNocm9taXVtLmdvb2dsZXNv
dXJjZS5jb20vY2hyb21pdW0vc3JjIiwgImxhbmd1YWdlIjogIm1vam9tIiwgInNpZ25hdHVyZSI6
ICJ1aS5tb2pvbS5FdmVudFR5cGUuTU9VU0VfV0hFRUxfRVZFTlQifX0sIHsiZW5kIjogMzUyMiwg
ImJlZ2luIjogMzQ5NSwgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjog
ImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291
cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9qb20iLCAic2lnbmF0dXJlIjog
InVpLm1vam9tLkV2ZW50VHlwZS5NT1VTRV9DQVBUVVJFX0NIQU5HRURfRVZFTlQifX0sIHsiZW5k
IjogMzU5NywgImJlZ2luIjogMzU4MywgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyIs
ICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJjb3JwdXMiOiAiY2hyb21pdW0u
Z29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9qb20iLCAic2ln
bmF0dXJlIjogInVpLm1vam9tLkV2ZW50VHlwZS5UT1VDSF9SRUxFQVNFRCJ9fSwgeyJlbmQiOiAz
NjcwLCAiYmVnaW4iOiAzNjU3LCAiZWRnZSI6ICIlL2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIiwgInR5
cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAidm5hbWUiOiB7ImNvcnB1cyI6ICJjaHJvbWl1bS5nb29n
bGVzb3VyY2UuY29tL2Nocm9taXVtL3NyYyIsICJsYW5ndWFnZSI6ICJtb2pvbSIsICJzaWduYXR1
cmUiOiAidWkubW9qb20uRXZlbnRUeXBlLlRPVUNIX1BSRVNTRUQifX0sIHsiZW5kIjogMzczOSwg
ImJlZ2luIjogMzcyOCwgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjog
ImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291
cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9qb20iLCAic2lnbmF0dXJlIjog
InVpLm1vam9tLkV2ZW50VHlwZS5UT1VDSF9NT1ZFRCJ9fSwgeyJlbmQiOiAzODE2LCAiYmVnaW4i
OiAzODAxLCAiZWRnZSI6ICIlL2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIiwgInR5cGUiOiAiYW5jaG9y
X2RlZmluZXMiLCAidm5hbWUiOiB7ImNvcnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29t
L2Nocm9taXVtL3NyYyIsICJsYW5ndWFnZSI6ICJtb2pvbSIsICJzaWduYXR1cmUiOiAidWkubW9q
b20uRXZlbnRUeXBlLlRPVUNIX0NBTkNFTExFRCJ9fSwgeyJlbmQiOiA0MTE5LCAiYmVnaW4iOiA0
MTA4LCAiZWRnZSI6ICIlL2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIiwgInR5cGUiOiAiYW5jaG9yX2Rl
ZmluZXMiLCAidm5hbWUiOiB7ImNvcnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2No
cm9taXVtL3NyYyIsICJsYW5ndWFnZSI6ICJtb2pvbSIsICJzaWduYXR1cmUiOiAidWkubW9qb20u
UG9pbnRlcktpbmQifX0sIHsiZW5kIjogNDE5MywgImJlZ2luIjogNDE4NiwgImVkZ2UiOiAiJS9r
eXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjog
eyJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFu
Z3VhZ2UiOiAibW9qb20iLCAic2lnbmF0dXJlIjogInVpLm1vam9tLlBvaW50ZXJLaW5kLlVOS05P
V04ifX0sIHsiZW5kIjogNDI1MiwgImJlZ2luIjogNDI0NywgImVkZ2UiOiAiJS9reXRoZS9lZGdl
L2dlbmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJjb3JwdXMi
OiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAi
bW9qb20iLCAic2lnbmF0dXJlIjogInVpLm1vam9tLlBvaW50ZXJLaW5kLk1PVVNFIn19LCB7ImVu
ZCI6IDQzMDcsICJiZWdpbiI6IDQzMDQsICJlZGdlIjogIiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMi
LCAidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJ2bmFtZSI6IHsiY29ycHVzIjogImNocm9taXVt
Lmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3JjIiwgImxhbmd1YWdlIjogIm1vam9tIiwgInNp
Z25hdHVyZSI6ICJ1aS5tb2pvbS5Qb2ludGVyS2luZC5QRU4ifX0sIHsiZW5kIjogNDM2NiwgImJl
Z2luIjogNDM2MSwgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjogImFu
Y2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNl
LmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9qb20iLCAic2lnbmF0dXJlIjogInVp
Lm1vam9tLlBvaW50ZXJLaW5kLlRPVUNIIn19LCB7ImVuZCI6IDQ0MjcsICJiZWdpbiI6IDQ0MjEs
ICJlZGdlIjogIiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMiLCAidHlwZSI6ICJhbmNob3JfZGVmaW5l
cyIsICJ2bmFtZSI6IHsiY29ycHVzIjogImNocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY2hyb21p
dW0vc3JjIiwgImxhbmd1YWdlIjogIm1vam9tIiwgInNpZ25hdHVyZSI6ICJ1aS5tb2pvbS5Qb2lu
dGVyS2luZC5FUkFTRVIifX0sIHsiZW5kIjogNDc0NSwgImJlZ2luIjogNDcyOSwgImVkZ2UiOiAi
JS9reXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1l
IjogeyJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAi
bGFuZ3VhZ2UiOiAibW9qb20iLCAic2lnbmF0dXJlIjogInVpLm1vam9tLlNjcm9sbEV2ZW50UGhh
c2UifX0sIHsiZW5kIjogNDgyMCwgImJlZ2luIjogNDgxNSwgImVkZ2UiOiAiJS9reXRoZS9lZGdl
L2dlbmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJjb3JwdXMi
OiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAi
bW9qb20iLCAic2lnbmF0dXJlIjogInVpLm1vam9tLlNjcm9sbEV2ZW50UGhhc2Uua05vbmUifX0s
IHsiZW5kIjogNDg4NiwgImJlZ2luIjogNDg4MCwgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVy
YXRlcyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJjb3JwdXMiOiAiY2hy
b21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9qb20i
LCAic2lnbmF0dXJlIjogInVpLm1vam9tLlNjcm9sbEV2ZW50UGhhc2Uua0JlZ2FuIn19LCB7ImVu
ZCI6IDQ5NTQsICJiZWdpbiI6IDQ5NDcsICJlZGdlIjogIiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMi
LCAidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJ2bmFtZSI6IHsiY29ycHVzIjogImNocm9taXVt
Lmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3JjIiwgImxhbmd1YWdlIjogIm1vam9tIiwgInNp
Z25hdHVyZSI6ICJ1aS5tb2pvbS5TY3JvbGxFdmVudFBoYXNlLmtVcGRhdGUifX0sIHsiZW5kIjog
NTAxNiwgImJlZ2luIjogNTAxMiwgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0
eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJjb3JwdXMiOiAiY2hyb21pdW0uZ29v
Z2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9qb20iLCAic2lnbmF0
dXJlIjogInVpLm1vam9tLlNjcm9sbEV2ZW50UGhhc2Uua0VuZCJ9fSwgeyJlbmQiOiA1MzUzLCAi
YmVnaW4iOiA1MzM1LCAiZWRnZSI6ICIlL2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIiwgInR5cGUiOiAi
YW5jaG9yX2RlZmluZXMiLCAidm5hbWUiOiB7ImNvcnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3Vy
Y2UuY29tL2Nocm9taXVtL3NyYyIsICJsYW5ndWFnZSI6ICJtb2pvbSIsICJzaWduYXR1cmUiOiAi
dWkubW9qb20uRXZlbnRNb21lbnR1bVBoYXNlIn19LCB7ImVuZCI6IDU0MjgsICJiZWdpbiI6IDU0
MjQsICJlZGdlIjogIiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMiLCAidHlwZSI6ICJhbmNob3JfZGVm
aW5lcyIsICJ2bmFtZSI6IHsiY29ycHVzIjogImNocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY2hy
b21pdW0vc3JjIiwgImxhbmd1YWdlIjogIm1vam9tIiwgInNpZ25hdHVyZSI6ICJ1aS5tb2pvbS5F
dmVudE1vbWVudHVtUGhhc2UuTk9ORSJ9fSwgeyJlbmQiOiA1NDk0LCAiYmVnaW4iOiA1NDg5LCAi
ZWRnZSI6ICIlL2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIiwgInR5cGUiOiAiYW5jaG9yX2RlZmluZXMi
LCAidm5hbWUiOiB7ImNvcnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2Nocm9taXVt
L3NyYyIsICJsYW5ndWFnZSI6ICJtb2pvbSIsICJzaWduYXR1cmUiOiAidWkubW9qb20uRXZlbnRN
b21lbnR1bVBoYXNlLkJFR0FOIn19LCB7ImVuZCI6IDU1NjgsICJiZWdpbiI6IDU1NTksICJlZGdl
IjogIiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMiLCAidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJ2
bmFtZSI6IHsiY29ycHVzIjogImNocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3Jj
IiwgImxhbmd1YWdlIjogIm1vam9tIiwgInNpZ25hdHVyZSI6ICJ1aS5tb2pvbS5FdmVudE1vbWVu
dHVtUGhhc2UuTUFZX0JFR0lOIn19LCB7ImVuZCI6IDU2NTQsICJiZWdpbiI6IDU2MzksICJlZGdl
IjogIiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMiLCAidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJ2
bmFtZSI6IHsiY29ycHVzIjogImNocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3Jj
IiwgImxhbmd1YWdlIjogIm1vam9tIiwgInNpZ25hdHVyZSI6ICJ1aS5tb2pvbS5FdmVudE1vbWVu
dHVtUGhhc2UuSU5FUlRJQUxfVVBEQVRFIn19LCB7ImVuZCI6IDU3MTYsICJiZWdpbiI6IDU3MTMs
ICJlZGdlIjogIiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMiLCAidHlwZSI6ICJhbmNob3JfZGVmaW5l
cyIsICJ2bmFtZSI6IHsiY29ycHVzIjogImNocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY2hyb21p
dW0vc3JjIiwgImxhbmd1YWdlIjogIm1vam9tIiwgInNpZ25hdHVyZSI6ICJ1aS5tb2pvbS5FdmVu
dE1vbWVudHVtUGhhc2UuRU5EIn19LCB7ImVuZCI6IDYwNTcsICJiZWdpbiI6IDYwNDAsICJlZGdl
IjogIiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMiLCAidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJ2
bmFtZSI6IHsiY29ycHVzIjogImNocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3Jj
IiwgImxhbmd1YWdlIjogIm1vam9tIiwgInNpZ25hdHVyZSI6ICJ1aS5tb2pvbS5HZXN0dXJlRGV2
aWNlVHlwZSJ9fSwgeyJlbmQiOiA2MTUxLCAiYmVnaW4iOiA2MTM3LCAiZWRnZSI6ICIlL2t5dGhl
L2VkZ2UvZ2VuZXJhdGVzIiwgInR5cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAidm5hbWUiOiB7ImNv
cnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2Nocm9taXVtL3NyYyIsICJsYW5ndWFn
ZSI6ICJtb2pvbSIsICJzaWduYXR1cmUiOiAidWkubW9qb20uR2VzdHVyZURldmljZVR5cGUuREVW
SUNFX1VOS05PV04ifX0sIHsiZW5kIjogNjIzNiwgImJlZ2luIjogNjIyMSwgImVkZ2UiOiAiJS9r
eXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjog
eyJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFu
Z3VhZ2UiOiAibW9qb20iLCAic2lnbmF0dXJlIjogInVpLm1vam9tLkdlc3R1cmVEZXZpY2VUeXBl
LkRFVklDRV9UT1VDSFBBRCJ9fSwgeyJlbmQiOiA2MzI3LCAiYmVnaW4iOiA2MzA5LCAiZWRnZSI6
ICIlL2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIiwgInR5cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAidm5h
bWUiOiB7ImNvcnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2Nocm9taXVtL3NyYyIs
ICJsYW5ndWFnZSI6ICJtb2pvbSIsICJzaWduYXR1cmUiOiAidWkubW9qb20uR2VzdHVyZURldmlj
ZVR5cGUuREVWSUNFX1RPVUNIU0NSRUVOIn19XSwgInR5cGUiOiAia3l0aGUwIn0=
*/