# Table of Contents - [Remotion Timeline | Remotion | Make videos programmatically](#remotion-timeline-remotion-make-videos-programmatically) - [Support Policy | Remotion | Make videos programmatically](#support-policy-remotion-make-videos-programmatically) - [Creating a new project | Remotion | Make videos programmatically](#creating-a-new-project-remotion-make-videos-programmatically) - [Editor Starter | Remotion | Make videos programmatically](#editor-starter-remotion-make-videos-programmatically) - [List of resources | Remotion | Make videos programmatically](#list-of-resources-remotion-make-videos-programmatically) - [Remotion Timeline Demo | Remotion | Make videos programmatically](#remotion-timeline-demo-remotion-make-videos-programmatically) - [Before you buy the Editor Starter | Remotion | Make videos programmatically](#before-you-buy-the-editor-starter-remotion-make-videos-programmatically) - [Editor Starter Demo | Remotion | Make videos programmatically](#editor-starter-demo-remotion-make-videos-programmatically) - [Buy the Editor Starter | Remotion | Make videos programmatically](#buy-the-editor-starter-remotion-make-videos-programmatically) - [Remotion Recorder | Remotion | Make videos programmatically](#remotion-recorder-remotion-make-videos-programmatically) - [Timeline – Setup | Remotion | Make videos programmatically](#timeline-setup-remotion-make-videos-programmatically) - [Setup | Remotion | Make videos programmatically](#setup-remotion-make-videos-programmatically) - [Timeline – Usage | Remotion | Make videos programmatically](#timeline-usage-remotion-make-videos-programmatically) - [@remotion/animated-emoji | Remotion | Make videos programmatically](#-remotion-animated-emoji-remotion-make-videos-programmatically) - [@remotion/animation-utils | Remotion | Make videos programmatically](#-remotion-animation-utils-remotion-make-videos-programmatically) - [Captions | Remotion | Make videos programmatically](#captions-remotion-make-videos-programmatically) - [Parameterized videos | Remotion | Make videos programmatically](#parameterized-videos-remotion-make-videos-programmatically) - [@remotion/bundler | Remotion | Make videos programmatically](#-remotion-bundler-remotion-make-videos-programmatically) - [Dependencies of the Editor Starter | Remotion | Make videos programmatically](#dependencies-of-the-editor-starter-remotion-make-videos-programmatically) - [Embedding videos into Remotion | Remotion | Make videos programmatically](#embedding-videos-into-remotion-remotion-make-videos-programmatically) - [Using audio | Remotion | Make videos programmatically](#using-audio-remotion-make-videos-programmatically) - [Features in the Editor Starter | Remotion | Make videos programmatically](#features-in-the-editor-starter-remotion-make-videos-programmatically) - [@remotion/captions | Remotion | Make videos programmatically](#-remotion-captions-remotion-make-videos-programmatically) - [Render your video | Remotion | Make videos programmatically](#render-your-video-remotion-make-videos-programmatically) - [@remotion/cloudrun | Remotion | Make videos programmatically](#-remotion-cloudrun-remotion-make-videos-programmatically) - [Server-Side Rendering | Remotion | Make videos programmatically](#server-side-rendering-remotion-make-videos-programmatically) - [API overview | Remotion | Make videos programmatically](#api-overview-remotion-make-videos-programmatically) - [Timeline – FAQ | Remotion | Make videos programmatically](#timeline-faq-remotion-make-videos-programmatically) - [State management in the Editor Starter | Remotion | Make videos programmatically](#state-management-in-the-editor-starter-remotion-make-videos-programmatically) - [@remotion/elevenlabs | Remotion | Make videos programmatically](#-remotion-elevenlabs-remotion-make-videos-programmatically) - [Remotion | Make videos programmatically](#remotion-make-videos-programmatically) - [Remotion | Make videos programmatically](#remotion-make-videos-programmatically) - [Animating properties | Remotion | Make videos programmatically](#animating-properties-remotion-make-videos-programmatically) - [@remotion/player | Remotion | Make videos programmatically](#-remotion-player-remotion-make-videos-programmatically) - [Remotion Recorder Demo | Remotion | Make videos programmatically](#remotion-recorder-demo-remotion-make-videos-programmatically) - [The fundamentals | Remotion | Make videos programmatically](#the-fundamentals-remotion-make-videos-programmatically) - [Undo and Redo | Remotion | Make videos programmatically](#undo-and-redo-remotion-make-videos-programmatically) - [@remotion/cloudrun | Remotion | Make videos programmatically](#-remotion-cloudrun-remotion-make-videos-programmatically) - [Remotion | Make videos programmatically](#remotion-make-videos-programmatically) - [Investors | Remotion | Make videos programmatically](#investors-remotion-make-videos-programmatically) - [Tracks, items and assets in the Editor Starter | Remotion | Make videos programmatically](#tracks-items-and-assets-in-the-editor-starter-remotion-make-videos-programmatically) - [@remotion/fonts | Remotion | Make videos programmatically](#-remotion-fonts-remotion-make-videos-programmatically) - [Is Remotion Recorder for me? | Remotion | Make videos programmatically](#is-remotion-recorder-for-me-remotion-make-videos-programmatically) - [@remotion/lambda | Remotion | Make videos programmatically](#-remotion-lambda-remotion-make-videos-programmatically) - [remotion | Remotion | Make videos programmatically](#remotion-remotion-make-videos-programmatically) - [Remotion | Make videos programmatically](#remotion-make-videos-programmatically) - [Remotion | Make videos programmatically](#remotion-make-videos-programmatically) - [Transforms | Remotion | Make videos programmatically](#transforms-remotion-make-videos-programmatically) - [Making components reusable | Remotion | Make videos programmatically](#making-components-reusable-remotion-make-videos-programmatically) - [Client-side rendering | Remotion | Make videos programmatically](#client-side-rendering-remotion-make-videos-programmatically) - [Animated Captions | Remotion | Make videos programmatically](#animated-captions-remotion-make-videos-programmatically) - [Get help | Remotion | Make videos programmatically](#get-help-remotion-make-videos-programmatically) - [Copy and Paste in the Editor Starter | Remotion | Make videos programmatically](#copy-and-paste-in-the-editor-starter-remotion-make-videos-programmatically) - [Ask in public | Remotion | Make videos programmatically](#ask-in-public-remotion-make-videos-programmatically) - [ensureMaxCharactersPerLine() | Remotion | Make videos programmatically](#ensuremaxcharactersperline-remotion-make-videos-programmatically) - [v4.0 Alpha | Remotion | Make videos programmatically](#v4-0-alpha-remotion-make-videos-programmatically) - [ | Remotion | Make videos programmatically](#-experimental-clipper-remotion-make-videos-programmatically) - [ | Remotion | Make videos programmatically](#-experimental-null-remotion-make-videos-programmatically) - [cutPath() | Remotion | Make videos programmatically](#cutpath-remotion-make-videos-programmatically) - [zColor() | Remotion | Make videos programmatically](#zcolor-remotion-make-videos-programmatically) - [zTextarea() | Remotion | Make videos programmatically](#ztextarea-remotion-make-videos-programmatically) - [zMatrix() | Remotion | Make videos programmatically](#zmatrix-remotion-make-videos-programmatically) - [uploadToVercelBlob() | Remotion | Make videos programmatically](#uploadtovercelblob-remotion-make-videos-programmatically) - [TypeScript Types Reference | Remotion | Make videos programmatically](#typescript-types-reference-remotion-make-videos-programmatically) --- # Remotion Timeline | Remotion | Make videos programmatically [Skip to main content](https://www.remotion.dev/docs/timeline#__docusaurus_skipToContent_fallback) Copy page On this page ![Remotion Timeline Banner](https://www.remotion.dev/img/remotion-timeline-banner.jpg) A paid customizable timeline component that integrates seamlessly with [Remotion Player](https://www.remotion.dev/docs/player) . It's perfect for builders who need a layer-based editing interface for their video editing app. You can buy the timeline component on [remotion.pro](https://www.remotion.pro/timeline) . [**Demo**\ \ Video walkthrough of the timeline component](https://www.remotion.dev/docs/timeline/demo) [**Setup**\ \ Installation and configuration guide](https://www.remotion.dev/docs/timeline/setup) [**Usage**\ \ Component integration and state management](https://www.remotion.dev/docs/timeline/usage) [**FAQ**\ \ Frequently asked questions](https://www.remotion.dev/docs/timeline/faq) Key Features[​](https://www.remotion.dev/docs/timeline#key-features "Direct link to Key Features") --------------------------------------------------------------------------------------------------- Interface: * Multiple track support with drag-and-drop functionality (between and within tracks) * Timeline item selection and manipulation * Keyboard shortcuts for common actions * `CanvasComposition` for rendering the timeline state in the Remotion Player * Zoomable timeline and `` component to control the zoom level Customization: * Theming with variables (Tailwind CSS V4 and V3) * Extensible state management License[​](https://www.remotion.dev/docs/timeline#license "Direct link to License") ------------------------------------------------------------------------------------ The source code of the Remotion Timeline is governed by the [Remotion License](https://github.com/remotion-dev/remotion/blob/main/LICENSE.md) and [its own specific license](https://www.remotion.pro/timeline?tab=license) . * Remotion, as an underlying technology of the Remotion Timeline, is free to use for individuals and small companies. If you fall into this category, you can buy the Remotion Timeline as a one-time purchase. If you are a larger company, you must subscribe to the [Company License](https://www.remotion.pro/license) . Read the [Terms & Conditions](https://www.remotion.pro/terms) . * The Remotion Timeline License [can be seen in the Remotion Store Page](https://www.remotion.pro/timeline) as well as accessible through the dedicated GitHub repository after purchase. * [Key Features](https://www.remotion.dev/docs/timeline#key-features) * [License](https://www.remotion.dev/docs/timeline#license) --- # Support Policy | Remotion | Make videos programmatically [Skip to main content](https://www.remotion.dev/docs/support#__docusaurus_skipToContent_fallback) Copy page On this page The Remotion team provides **no guarantee** for support, and you should not hold the expectation to receive any help. However, we welcome you to ask questions and invest a lot of time into answering them. Follow the steps below if have a question that you would like to get answered. How to ask for help[​](https://www.remotion.dev/docs/support#how-to-ask-for-help "Direct link to How to ask for help") ----------------------------------------------------------------------------------------------------------------------- [See here](https://www.remotion.dev/docs/get-help) for channels where you can ask for help as well as for best practices for asking questions. Prioritized support[​](https://www.remotion.dev/docs/support#prioritized-support "Direct link to Prioritized support") ----------------------------------------------------------------------------------------------------------------------- Company License customers can get a ![](https://www.remotion.dev/img/blue-heart.png) Company License badge on Discord for their team members. The badge can be activated on [remotion.pro](https://www.remotion.pro/) . If posted in a public channel, the Remotion team will try to prioritize your question, albeit no guarantee of support is given. We still expect company license subscribers to follow the best practices for asking questions outlined above. Paid consulting[​](https://www.remotion.dev/docs/support#paid-consulting "Direct link to Paid consulting") ----------------------------------------------------------------------------------------------------------- Our [Remotion Experts](https://www.remotion.dev/experts) are available for technical advice and guidance. With their extensive experience in creating Remotion projects, they will surely be of great help. The only way to receive consulting support from the Remotion team is through the [Enterprise License](https://remotion.pro/license) . When we can't help[​](https://www.remotion.dev/docs/support#when-we-cant-help "Direct link to When we can't help") ------------------------------------------------------------------------------------------------------------------- We don't provide support if: * the guidelines above were not followed * low effort was put into first solving the problem yourself * your question is lacking reproduction or information * the cause of problems is due to poor React or JavaScript skills * our [Code of Conduct](https://remotion.dev/coc) is violated Remotion is targeted towards developers and therefore basic skills in React and web development are expected. You should also be mindful of the limitations of those technologies as we cannot help you overcome them. See also[​](https://www.remotion.dev/docs/support#see-also "Direct link to See also") -------------------------------------------------------------------------------------- * [Get help](https://www.remotion.dev/docs/get-help) * [How to ask for help](https://www.remotion.dev/docs/support#how-to-ask-for-help) * [Prioritized support](https://www.remotion.dev/docs/support#prioritized-support) * [Paid consulting](https://www.remotion.dev/docs/support#paid-consulting) * [When we can't help](https://www.remotion.dev/docs/support#when-we-cant-help) * [See also](https://www.remotion.dev/docs/support#see-also) --- # Creating a new project | Remotion | Make videos programmatically [Skip to main content](https://www.remotion.dev/docs/#__docusaurus_skipToContent_fallback) Copy page On this page Prerequisites[​](https://www.remotion.dev/docs/#prerequisites "Direct link to Prerequisites") ---------------------------------------------------------------------------------------------- To use Remotion, you need at least [Node](https://nodejs.org/en/download/) 16 or [Bun](https://bun.sh/) 1.0.3. Prompting a video with Claude Code[​](https://www.remotion.dev/docs/#prompting-a-video-with-claude-code "Direct link to Prompting a video with Claude Code") ------------------------------------------------------------------------------------------------------------------------------------------------------------- If you plan on prompting videos with **Claude Code**, see: [Prompting videos with Claude Code](https://www.remotion.dev/docs/ai/claude-code) . Scaffolding a new project[​](https://www.remotion.dev/docs/#scaffolding-a-new-project "Direct link to Scaffolding a new project") ---------------------------------------------------------------------------------------------------------------------------------- note 🍎 macOS 15 (Sequoia) or later is required. [Older versions are not supported.](https://github.com/remotion-dev/remotion/issues/7027) 🐧 [Linux distros need at least version 2.35 of Libc.](https://github.com/remotion-dev/remotion/issues/2439) They also need to [install some additional packages](https://www.remotion.dev/docs/miscellaneous/linux-dependencies) . Alpine Linux and nixOS are unsupported. * npm * bun * pnpm * yarn Use npm as the package manager `npx create-video@latest`Copy Use pnpm as the package manager `pnpm create video`Copy Use Yarn as the package manager `yarn create video`Copy Use Bun as the package manager and runtime `bun create video`Copy note Bun as a runtime is mostly supported. [Read more here](https://www.remotion.dev/docs/bun) . Choose the template that is most suitable for you. For your first project, we recommend the [Hello World](https://www.remotion.dev/templates/hello-world) template. * Regular templates * Next.js + React Router 7 After the project has been scaffolded, we recommend to open the project in your text editor and starting the [Remotion Studio](https://www.remotion.dev/docs/studio) : npm run dev After the project has been scaffolded, we recommend to open the project in your text editor and starting the app: npm run dev To start the [Remotion Studio](https://www.remotion.dev/docs/studio) : npm run remotion Installation in existing projects[​](https://www.remotion.dev/docs/#installation-in-existing-projects "Direct link to Installation in existing projects") ---------------------------------------------------------------------------------------------------------------------------------------------------------- Want to install Remotion in an existing project? Go here instead: [Installation in existing projects](https://www.remotion.dev/docs/brownfield) * [Prerequisites](https://www.remotion.dev/docs/#prerequisites) * [Prompting a video with Claude Code](https://www.remotion.dev/docs/#prompting-a-video-with-claude-code) * [Scaffolding a new project](https://www.remotion.dev/docs/#scaffolding-a-new-project) * [Installation in existing projects](https://www.remotion.dev/docs/#installation-in-existing-projects) --- # Editor Starter | Remotion | Make videos programmatically [Skip to main content](https://www.remotion.dev/docs/editor-starter#__docusaurus_skipToContent_fallback) Copy page On this page ![](https://pub-646d808d9cb240cea53bedc76dd3cd0c.r2.dev/editor-starter-og-image.jpg) A template containing the most essential elements of a video editor. * **Save countless hours** by leveraging our pre-made components for timeline, interactive canvas, font picker, asset uploads, etc. * **Get the best of Remotion** put together into one template, culminating years of development and battle-testing. * **Customize anything** by adopting a clean, well-structured codebase with 80+ feature flags. Introduction video[​](https://www.remotion.dev/docs/editor-starter#introduction-video "Direct link to Introduction video") --------------------------------------------------------------------------------------------------------------------------- Table of contents[​](https://www.remotion.dev/docs/editor-starter#table-of-contents "Direct link to Table of contents") ------------------------------------------------------------------------------------------------------------------------ [**Demo**\ \ A demo of the Editor Starter](https://www.remotion.dev/docs/editor-starter/demo) [**Before you buy**\ \ What to consider before buying](https://www.remotion.dev/docs/editor-starter/before-you-buy) [**Buy**\ \ How to buy the Editor Starter](https://www.remotion.dev/docs/editor-starter/buy) [**Setup**\ \ Installation and configuration guide](https://www.remotion.dev/docs/editor-starter/setup) [**Dependencies**\ \ Required dependencies for Editor Starter](https://www.remotion.dev/docs/editor-starter/dependencies) [**Features**\ \ Features included in the Editor Starter](https://www.remotion.dev/docs/editor-starter/features) [**State Management**\ \ How state is managed in the Editor Starter](https://www.remotion.dev/docs/editor-starter/state-management) [**Tracks, Items & Assets**\ \ Managing tracks, items, and assets](https://www.remotion.dev/docs/editor-starter/tracks-items-assets) [**Undo and Redo**\ \ Undo and Redo functionality in the Editor Starter](https://www.remotion.dev/docs/editor-starter/undo-redo) [**Copy and Paste**\ \ How it is implemented in the Editor Starter](https://www.remotion.dev/docs/editor-starter/copy-paste) [**Cropping**\ \ Mechanics, UI, state management](https://www.remotion.dev/docs/editor-starter/cropping) [**Fonts**\ \ How fonts work and which ones are included](https://www.remotion.dev/docs/editor-starter/fonts) [**Asset Uploads**\ \ Asset upload functionality in the Editor Starter](https://www.remotion.dev/docs/editor-starter/asset-uploads) [**Asset Cleanup**\ \ How to cleanup assets that are no longer needed](https://www.remotion.dev/docs/editor-starter/asset-cleanup) [**Persistance**\ \ How data is persisted in the Editor Starter](https://www.remotion.dev/docs/editor-starter/persistance) [**Captioning**\ \ How to setup captions and how they work](https://www.remotion.dev/docs/editor-starter/captioning) [**Rendering**\ \ How to setup exports and how they work](https://www.remotion.dev/docs/editor-starter/rendering) [**Backend Routes**\ \ Backend routes used by the Editor Starter](https://www.remotion.dev/docs/editor-starter/backend-routes) [**Features not included**\ \ Features not included in the Editor Starter](https://www.remotion.dev/docs/editor-starter/features-not-included) [**FAQ**\ \ Frequently asked questions](https://www.remotion.dev/docs/editor-starter/faq) Contributors[​](https://www.remotion.dev/docs/editor-starter#contributors "Direct link to Contributors") --------------------------------------------------------------------------------------------------------- The Editor Starter has been worked on by the following people: * [Jonny Burger](https://github.com/JonnyBurger) * [Igor Samokhovets](https://github.com/samohovets) * [Shankhadeep Dey](https://github.com/Iamshankhadeep) * [Mehmet Ademi](https://github.com/mehmetademi) * [Pramod Kumar](https://github.com/pskd73) * [Matthew McGillivray](https://github.com/UmungoBungo) License[​](https://www.remotion.dev/docs/editor-starter#license "Direct link to License") ------------------------------------------------------------------------------------------ The source code of the Remotion Editor Starter is governed by the [Remotion License](https://github.com/remotion-dev/remotion/blob/main/LICENSE.md) and [its own specific license](https://www.remotion.pro/editor-starter?tab=license) . * Remotion, as an underlying technology of the Remotion Editor Starter, is free to use for individuals and small companies. If you fall into this category, you can buy the Remotion Editor Starter as a one-time purchase. If you are a larger company, you must subscribe to the [Company License](https://www.remotion.pro/license) . Read the [Terms & Conditions](https://www.remotion.pro/terms) . * The Remotion Editor Starter License [can be seen in the Remotion Store Page](https://www.remotion.pro/editor-starter) as well as accessible through the dedicated GitHub repository after purchase. * [Introduction video](https://www.remotion.dev/docs/editor-starter#introduction-video) * [Table of contents](https://www.remotion.dev/docs/editor-starter#table-of-contents) * [Contributors](https://www.remotion.dev/docs/editor-starter#contributors) * [License](https://www.remotion.dev/docs/editor-starter#license) --- # List of resources | Remotion | Make videos programmatically [Skip to main content](https://www.remotion.dev/docs/resources#__docusaurus_skipToContent_fallback) Copy page On this page This list tries to compile all templates, libraries, building blocks and examples in one place. Add more to the list by clicking the "Improve this page" button below! Templates[​](https://www.remotion.dev/docs/resources#templates "Direct link to Templates") ------------------------------------------------------------------------------------------- * Hello World (TypeScript) ([Source code](https://github.com/remotion-dev/template-helloworld) , [Preview](https://remotion-helloworld.vercel.app/) ) * Hello World (JavaScript) ([Source code](https://github.com/remotion-dev/template-helloworld-javascript) , [Preview](https://template-helloworld-javascript.vercel.app/) ) * Blank ([Source code](https://github.com/remotion-dev/template-empty) , [Preview](https://template-empty.vercel.app/) ) * React Three Fiber ([Source code](https://github.com/remotion-dev/template-three) , [Preview](https://template-three-remotion.vercel.app/) ) * Stills ([Source code](https://github.com/remotion-dev/template-still) , [Preview](https://template-still.vercel.app/) ) * Text-to-Speech Template (Azure) ([Source code](https://github.com/FelippeChemello/Remotion-TTS-Example) ) * Text-to-Speech Template (Google) ([Source code](https://github.com/thecmdrunner/remotion-gtts-template) ) * Audiogram ([Source code](https://github.com/remotion-dev/template-audiogram) ) * Music Visualization ([Source code](https://github.com/remotion-dev/template-music-visualization) ) * Skia ([Source code](https://github.com/remotion-dev/template-skia) ) * [Hello World Template with pull request video previews](https://github.com/stoat-dev/example-remotion) * [Library starter template with best practices](https://github.com/remotion-dev/library-starter) * Video Editor & Timeline Component (Next.js, Tailwind CSS) ([Source Code](https://github.com/sambowenhughes/a-react-video-editor) , [Preview](https://www.reactvideoeditor.com/open-source?utm_source=remotion) ) * [Free Remotion Components](https://www.clippkit.com/) * [Remotion Bits - Ready-made blocks to use for you and your agents](https://remotion-bits.dev/) * Docker Build & Render ([Source code](https://github.com/scotthavird/remotion-docker-template) ) * [Template for deploying Remotion on Railway](https://railway.com/deploy/remotion-on-rails) ([Blog](https://medium.com/@viveknathani/remotion-on-rails-0852acc9595e) ) * [Multiple shared Remotion components in a Monorepo template](https://github.com/Takamasa045/remotion-studio-monorepo) SaaS starter Kits[​](https://www.remotion.dev/docs/resources#saas-starter-kits "Direct link to SaaS starter Kits") ------------------------------------------------------------------------------------------------------------------- * [React Router 7 template](https://github.com/remotion-dev/template-react-router) * [Next.js template](https://github.com/remotion-dev/template-next) Integrations[​](https://www.remotion.dev/docs/resources#integrations "Direct link to Integrations") ---------------------------------------------------------------------------------------------------- * [React Three Fiber](https://www.remotion.dev/docs/three) * [Skia](https://www.remotion.dev/docs/skia) * [Google Fonts](https://www.remotion.dev/docs/google-fonts) * [Figma](https://www.remotion.dev/docs/figma) * [Lottie](https://www.remotion.dev/docs/lottie) * [spline.design](https://www.remotion.dev/docs/spline) * [After Effects](https://www.remotion.dev/docs/after-effects) * [Rive](https://www.remotion.dev/docs/rive) * [GIFs](https://www.remotion.dev/docs/gif) Effects[​](https://www.remotion.dev/docs/resources#effects "Direct link to Effects") ------------------------------------------------------------------------------------- * [Motion Blur](https://www.remotion.dev/docs/motion-blur) * [Noise](https://www.remotion.dev/docs/noise) * [Path animations](https://www.remotion.dev/docs/paths) * [Glitch Effect](https://github.com/storybynumbers/remotion-glitch-effect) Players[​](https://www.remotion.dev/docs/resources#players "Direct link to Players") ------------------------------------------------------------------------------------- * [Remotion Player](https://www.remotion.dev/docs/player) * [Vidstack Player](https://www.vidstack.io/docs/player/getting-started/installation/react?provider=remotion&styling=default-layout) Animation helpers[​](https://www.remotion.dev/docs/resources#animation-helpers "Direct link to Animation helpers") ------------------------------------------------------------------------------------------------------------------- * [Remotion Animated](https://www.remotion-animated.dev/) * [remotion-transition-series](https://github.com/marcusstenbeck/remotion-transition-series) * [remotion-time](https://github.com/fwextensions/remotion-time) - use `seconds` as a time unit instead of `frame` * [Timing Editor](https://www.remotion.dev/timing-editor) * [remotion-animate-text](https://github.com/pskd73/remotion-animate-text) * [remotion-subtitle](https://github.com/ahgsql/remotion-subtitles) - Captioning helpers and styles Full projects[​](https://www.remotion.dev/docs/resources#full-projects "Direct link to Full projects") ------------------------------------------------------------------------------------------------------- * [GitHub Unwrapped 2023 + 2024](https://github.com/remotion-dev/github-unwrapped) * [GitHub Unwrapped 2022](https://github.com/remotion-dev/github-unwrapped-2022) * [GitHub Unwrapped 2021](https://github.com/remotion-dev/github-unwrapped-2021) * [Podcast Maker](https://github.com/FelippeChemello/podcast-maker) * [Stargazer](https://github.com/pomber/stargazer) * [MapSnap](https://remotion.pro/) _(exclusive for Company License subscribers)_ * [Mockoops](https://github.com/Just-Moh-it/Mockoops) * [Product Hunt Today](https://github.com/Kamigami55/product-hunt-today) * [Remotion Weather](https://github.com/florentpergoud/remotion-weather) * [Rewind Table](https://github.com/gregonarash/rewind-table) _(Airtable templates for Remotion)_ * [Conference Speaker Announcement Cards](https://github.com/lyonjs/social-video-generator) * [Motionly.video](https://github.com/karelnagel/motionly) * [DataVids](https://github.com/apsquared/datavids_public) * [Bar race chart](https://github.com/hylarucoder/remotion-bar-race-chart) * [Captioning and background removal with Sieve](https://github.com/sieve-community/auto-reel-edit) Examples[​](https://www.remotion.dev/docs/resources#examples "Direct link to Examples") ---------------------------------------------------------------------------------------- * Music with Tone.JS ([Source code](https://github.com/remotion-dev/tone-js-example) , [Preview](https://tone-js-example.vercel.app/) ) * Animate .glb models ([Source code](https://github.com/remotion-dev/glb-example) , [Preview](https://glb-example.vercel.app/) ) * Typewriter effect ([Source code](https://github.com/remotion-dev/typewriter) , [Preview](https://typewriter-remotion.vercel.app/) ) * D3.js example ([Source code](https://github.com/remotion-dev/d3-example) , [Preview](https://d3-example-remotion.vercel.app/) ) * Greenscreen Effect ([Docs](https://www.remotion.dev/docs/video-manipulation) ) * Noise visualization ([Docs](https://www.remotion.dev/docs/noise-visualization) ) * Audio visualization ([Docs](https://www.remotion.dev/docs/audio/visualization) ) * 3D Text ([Source code](https://github.com/remotion-dev/3d-text) , [Preview](https://3d-text-remotion.vercel.app/) ) * Wavy TikTok Effect ([Source code](https://github.com/JonnyBurger/wavy-meme) ) * Apple "Spring loaded" animation ([Source code](https://github.com/JonnyBurger/spring-loaded) ) * Three.js particles animation ([Source code](https://github.com/JonnyBurger/three-particles) , [Preview](https://three-particles-remotion.vercel.app/) ) * Text morphing ([Source code](https://github.com/remotion-dev/morph-text) , [Preview](https://morph-text-remotion.vercel.app/) ) * Text warping ([Source code](https://github.com/remotion-dev/text-warping) , [Preview](https://text-warping.vercel.app/?/Promo) ) * Animate GLTF models ([Source code](https://github.com/remotion-dev/remotion-three-gltf-example) , [Preview](https://remotion-three-gltf-example.vercel.app/) ) * OpenGL transitions ([Source code](https://github.com/remotion-dev/remotion-gl-transitions) , [Preview](https://remotion-gl-transitions.vercel.app/) ) * Conference talk in React ([Source code](https://github.com/pomber/record-talk-with-remotion) ) * Conference talk in React #2 ([Source code](https://github.com/JonnyBurger/react-summit-talk) ) * Twitch stinger example ([Source code](https://github.com/JonnyBurger/ledevevent-stinger) ) * DevContainer Template ([Source code](https://github.com/openscript/remotion-devcontainer-template) ) * Anime.js example ([Source code](https://github.com/remotion-dev/anime-example) , [Preview](https://anime-example-remotion.vercel.app/) ) * Mapbox example ([Source code](https://github.com/remotion-dev/mapbox-example) ) * Shader example ([Source code](https://github.com/onion2k/a-roll) ) * Jump cuts without re-mounting ([Source code](https://github.com/remotion-dev/video-with-jump-cuts) , [Preview](https://video-with-jump-cuts.vercel.app/) ) * CSS animations ([Source code](https://github.com/remotion-dev/css-animation-play-state) , [Preview](https://css-animation-play-state.vercel.app/) ) * Globe.gl example ([Source code](https://github.com/alexfernandez803/remotion-globegl) ) * Measuring the size of a DOM node ([Source code](https://github.com/remotion-dev/measure-item) , [Preview](https://measure-item.vercel.app/) ) * Light-leak Transition ([Source code](https://github.com/remotion-dev/light-leak-example) , [Preview](https://light-leak-example.vercel.app/) ) * 12+ Remotion Examples ([Preview](https://remotion-example.vercel.app/) ) * Pool game with Matter.js ([Source code and Preview](https://github.com/hylarucoder/remotion-physics) ) Components[​](https://www.remotion.dev/docs/resources#components "Direct link to Components") ---------------------------------------------------------------------------------------------- * Free Remotion Animations & Effects ([Source Code](https://github.com/reactvideoeditor/remotion-templates) , [Preview](https://www.reactvideoeditor.com/remotion-templates?utm_source=remotion) ) * [TikTok Text Box](https://github.com/KyleTryon/TikTokTextBox) Videos[​](https://www.remotion.dev/docs/resources#videos "Direct link to Videos") ---------------------------------------------------------------------------------- See the [Showcase](https://www.remotion.dev/showcase) for videos made with Remotion. Tutorials[​](https://www.remotion.dev/docs/resources#tutorials "Direct link to Tutorials") ------------------------------------------------------------------------------------------- * [Spotify Wrapped 2020](https://www.youtube.com/watch?v=I-y_5H9-3gk&t=86s) * [Spotify Wrapped 2025](https://www.youtube.com/watch?v=WAjO-M_Q9C0) * [Programmatic Stories](https://www.youtube.com/watch?v=70UdF6DWY3M&t=6s) * [Basketball Tracker](https://www.youtube.com/watch?v=A8miHLSf_BI&t=77s) * [Formula 1 Graphics](https://www.youtube.com/watch?v=sA-X0Bw_7Gg&t=146s) * [Remotion Skia Tutorial](https://www.youtube.com/watch?v=-7MOoWN2_nk) * [Fireship: Remotion Tutorial](https://www.youtube.com/watch?v=deg8bOoziaE&t=3s) * [CRT effect](https://www.youtube.com/watch?v=-7MOoWN2_nk) * ["Create videos with Code" by Prismic](https://prismic.io/blog/create-videos-with-code-remotion-tutorial) * [Integrate GreenSock with Remotion](https://archive.ph/dGQ19) * [DVD Screensaver Tutorial](https://www.youtube.com/watch?v=n69siyttEwM) * [Remotion Tutorial by Alfonso Graziano](https://www.youtube.com/watch?v=r4v1J7ozxIg) * [Timing animations](https://www.youtube.com/watch?v=WigIALCnEvw) * ["Create a video from a podcast with Remotion and AI"](https://www.youtube.com/watch?v=EGxBBL91nRM) * [Football Graphics](https://www.youtube.com/watch?v=BI8IWwaDt8s) Blog posts[​](https://www.remotion.dev/docs/resources#blog-posts "Direct link to Blog posts") ---------------------------------------------------------------------------------------------- * [Integrating Anime.js with Remotion](https://revidcraft.com/posts/remotion-part-02) Tooling[​](https://www.remotion.dev/docs/resources#tooling "Direct link to Tooling") ------------------------------------------------------------------------------------- * [VS Code extension](https://marketplace.visualstudio.com/items?itemName=KarelNagel.remotion-vscode) * [GIF Pull request previews](https://github.com/stoat-dev/example-remotion) * [Loading compositions remotely](https://github.com/musafiroon/remotion-remote-composition) Hacks[​](https://www.remotion.dev/docs/resources#hacks "Direct link to Hacks") ------------------------------------------------------------------------------- * [GitHub Actions Matrix renderer](https://github.com/yuvraj108c/Remotion-Matrix-Renderer) * [WebKit renderer](https://iosexample.com/using-wkwebview-as-a-faster-alternative-for-rendering-remotion-compositions/) * [Rustymotion - Rust renderer](https://github.com/clearlysid/rustymotion) * [Side-by-side editor](https://www.loom.com/share/7b2aa7fe14c04e858838f137ed19dfd8) Humans[​](https://www.remotion.dev/docs/resources#humans "Direct link to Humans") ---------------------------------------------------------------------------------- * [Experts](https://www.remotion.dev/experts) * [Support](https://www.remotion.dev/docs/support) * [Success Stories](https://www.remotion.dev/success-stories) Products[​](https://www.remotion.dev/docs/resources#products "Direct link to Products") ---------------------------------------------------------------------------------------- * [Typeframes](https://www.typeframes.com/) * [ClipPulse](https://www.clippulse.com/) * [Augie](https://www.meetaugie.com/) * [Hackreels](https://www.hackreels.com/) * [AnimStats](https://www.animstats.com/) * [Content Studio AI](https://contentstudioai.com/) * [HeySam, the AI Sales Engineer](https://www.heysam.ai/) * [Frameloop AI](https://www.frameloop.ai/) * [aicut - Faceless Videos](https://www.aicut.pro/) * [vidbuilder.ai](https://vidbuilder.ai/) See also[​](https://www.remotion.dev/docs/resources#see-also "Direct link to See also") ---------------------------------------------------------------------------------------- * [Remotion GitHub topic](https://github.com/topics/remotion) * [#resources and #showcase channel on Discord](https://remotion.dev/discord) Many resources in our documentation were left out from this list to avoid too much redundancy. [Search](https://www.remotion.dev/search) the documentation to see if we have an article on what you are looking for! * [Templates](https://www.remotion.dev/docs/resources#templates) * [SaaS starter Kits](https://www.remotion.dev/docs/resources#saas-starter-kits) * [Integrations](https://www.remotion.dev/docs/resources#integrations) * [Effects](https://www.remotion.dev/docs/resources#effects) * [Players](https://www.remotion.dev/docs/resources#players) * [Animation helpers](https://www.remotion.dev/docs/resources#animation-helpers) * [Full projects](https://www.remotion.dev/docs/resources#full-projects) * [Examples](https://www.remotion.dev/docs/resources#examples) * [Components](https://www.remotion.dev/docs/resources#components) * [Videos](https://www.remotion.dev/docs/resources#videos) * [Tutorials](https://www.remotion.dev/docs/resources#tutorials) * [Blog posts](https://www.remotion.dev/docs/resources#blog-posts) * [Tooling](https://www.remotion.dev/docs/resources#tooling) * [Hacks](https://www.remotion.dev/docs/resources#hacks) * [Humans](https://www.remotion.dev/docs/resources#humans) * [Products](https://www.remotion.dev/docs/resources#products) * [See also](https://www.remotion.dev/docs/resources#see-also) --- # Remotion Timeline Demo | Remotion | Make videos programmatically [Skip to main content](https://www.remotion.dev/docs/timeline/demo#__docusaurus_skipToContent_fallback) Copy page Here is a walkthrough of how to add the Remotion Timeline to your project. Timestamps: 00:17 - Copying the Remotion Timeline implementation into the main app codebase 00:41 - Setting up Tailwind theme 01:03 - Integrating the Timeline code into the app 01:50 - Customizing colors (adding a light theme) --- # Before you buy the Editor Starter | Remotion | Make videos programmatically [Skip to main content](https://www.remotion.dev/docs/editor-starter/before-you-buy#__docusaurus_skipToContent_fallback) Copy page On this page Is the Editor Starter for you? ### You want to make a video editor[​](https://www.remotion.dev/docs/editor-starter/before-you-buy#you-want-to-make-a-video-editor "Direct link to You want to make a video editor") You don't want to edit a video for yourself, you want to make a video editor. You are a developer or have a developer on your team. ### You want to build it with React 19[​](https://www.remotion.dev/docs/editor-starter/before-you-buy#you-want-to-build-it-with-react-19 "Direct link to You want to build it with React 19") The Editor Starter is built with React 19. Your application is on React 19 already or you are willing to start your app from scratch using our template. ### You want to use Remotion[​](https://www.remotion.dev/docs/editor-starter/before-you-buy#you-want-to-use-remotion "Direct link to You want to use Remotion") Remotion is used for playback and for rendering videos. You are fine with using Remotion and are okay with its [license](https://www.remotion.dev/docs/license) . ### You want to use Tailwind v4[​](https://www.remotion.dev/docs/editor-starter/before-you-buy#you-want-to-use-tailwind-v4 "Direct link to You want to use Tailwind v4") The Editor Starter uses Tailwind v4. To integrate it, your app must also use Tailwind v4. If you are starting from scratch, our template sets up Tailwind v4 for you. If you are integrating into an existing project that doesn’t use Tailwind v4, plan to add or upgrade to Tailwind v4. ### You want to use TypeScript[​](https://www.remotion.dev/docs/editor-starter/before-you-buy#you-want-to-use-typescript "Direct link to You want to use TypeScript") The Editor Starter is built with TypeScript. You are fine with using TypeScript. ### You want to iterate on the editor[​](https://www.remotion.dev/docs/editor-starter/before-you-buy#you-want-to-iterate-on-the-editor "Direct link to You want to iterate on the editor") The Editor Starter is only a starter template. We assume you will want to fork it, add features or integrate it with AI. You are capable of doing so and are aware of the [features that are not included in the Editor Starter](https://www.remotion.dev/docs/editor-starter/features-not-included) . See also[​](https://www.remotion.dev/docs/editor-starter/before-you-buy#see-also "Direct link to See also") ------------------------------------------------------------------------------------------------------------ * [Features](https://www.remotion.dev/docs/editor-starter/features) * [Features not included](https://www.remotion.dev/docs/editor-starter/features-not-included) * [Frequently asked questions](https://www.remotion.dev/docs/editor-starter/faq) * [Dependencies](https://www.remotion.dev/docs/editor-starter/dependencies) * [Remotion License](https://www.remotion.dev/docs/license) * [You want to make a video editor](https://www.remotion.dev/docs/editor-starter/before-you-buy#you-want-to-make-a-video-editor) * [You want to build it with React 19](https://www.remotion.dev/docs/editor-starter/before-you-buy#you-want-to-build-it-with-react-19) * [You want to use Remotion](https://www.remotion.dev/docs/editor-starter/before-you-buy#you-want-to-use-remotion) * [You want to use Tailwind v4](https://www.remotion.dev/docs/editor-starter/before-you-buy#you-want-to-use-tailwind-v4) * [You want to use TypeScript](https://www.remotion.dev/docs/editor-starter/before-you-buy#you-want-to-use-typescript) * [You want to iterate on the editor](https://www.remotion.dev/docs/editor-starter/before-you-buy#you-want-to-iterate-on-the-editor) * [See also](https://www.remotion.dev/docs/editor-starter/before-you-buy#see-also) --- # Editor Starter Demo | Remotion | Make videos programmatically [Skip to main content](https://www.remotion.dev/docs/editor-starter/demo#__docusaurus_skipToContent_fallback) Copy page On this page Try out the Editor Starter yourself! | Empty project | Announcement video | | --- | --- | | ![Empty Editor Starter project](https://pub-646d808d9cb240cea53bedc76dd3cd0c.r2.dev/demo-empty-state.png) | ![Editor Starter announcement video](https://pub-646d808d9cb240cea53bedc76dd3cd0c.r2.dev/demo-editor-starter.png) | | [](https://editor-starter.remotion.dev/)

[**Try empty project**](https://editor-starter.remotion.dev/) | [](https://editor-starter.remotion.dev/#state=eyJ0cmFja3MiOlt7ImlkIjoiNkJaYiIsIml0ZW1zIjpbIlkyMkEiXSwiaGlkZGVuIjpmYWxzZSwibXV0ZWQiOmZhbHNlfSx7ImlkIjoiN01sMyIsIml0ZW1zIjpbIlZ6Z0wiXSwiaGlkZGVuIjpmYWxzZSwibXV0ZWQiOmZhbHNlfSx7ImlkIjoiZWlQQiIsIml0ZW1zIjpbIkhtQUciLCJTbDhZIl0sImhpZGRlbiI6ZmFsc2UsIm11dGVkIjpmYWxzZX0seyJpZCI6IjdJbW4iLCJpdGVtcyI6WyJsUGdnIiwiVUIxSiIsIjhteW4iXSwiaGlkZGVuIjpmYWxzZSwibXV0ZWQiOmZhbHNlfSx7ImlkIjoiSnk0cCIsIml0ZW1zIjpbIlE3TXAiXSwiaGlkZGVuIjpmYWxzZSwibXV0ZWQiOmZhbHNlfSx7ImlkIjoiVDZzZCIsIml0ZW1zIjpbInZUa2siXSwiaGlkZGVuIjpmYWxzZSwibXV0ZWQiOmZhbHNlfSx7ImlkIjoibE5YRyIsIml0ZW1zIjpbInlFRTciXSwiaGlkZGVuIjpmYWxzZSwibXV0ZWQiOmZhbHNlfSx7ImlkIjoiSmhqbCIsIml0ZW1zIjpbIklxODQiLCJyVWlXIiwiVXYxTSJdLCJoaWRkZW4iOmZhbHNlLCJtdXRlZCI6ZmFsc2V9LHsiaWQiOiJBRjhWIiwiaXRlbXMiOlsiRVZlRSIsInpnQXoiLCJkMFNLIiwibmRmViIsIjV0WXMiLCJyOUk1IiwiNXE5NSIsIk12ZEciLCJSQW56IiwiaElLSiIsIkNGdXgiLCJncWtwIiwidDY4dCIsIk5sSUkiLCJzdDNXIiwid0pjTyIsIlV3UW4iLCIyVFliIiwiTHB1ZCIsIm93ZVgiLCJrZ3NkIiwiSWxXMCJdLCJoaWRkZW4iOmZhbHNlLCJtdXRlZCI6ZmFsc2V9LHsiaWQiOiI1ZTRRIiwiaXRlbXMiOlsiVmdzSCIsIm1LS3AiLCJVVUFzIiwieEVncCIsIjNPRkoiLCJ3V2JWIiwiOEF2ayIsIlJzN2oiLCIyT0VWIl0sImhpZGRlbiI6ZmFsc2UsIm11dGVkIjpmYWxzZX0seyJpZCI6Ik9QSXoiLCJpdGVtcyI6WyJXWXpXIiwiWmJjZSIsImhYbGsiLCI3M2doIiwiR1ludCIsIk1CMU0iLCIwejMzIiwiVk5POCIsIlRxM1IiLCJaZmZtIiwibkcwdCIsIlh5MWMiLCJFeVFMIiwidWZDZiIsInFGZjMiLCJGWmFXIiwiNFNnSiIsIk9NMWoiLCJVUG85IiwiWVR6byIsIlgydHQiLCIwcmJUIiwiek0xOSIsIjJSZkciLCJNeUlQIiwiRnhlNiIsIlhxN24iLCIwcFpVIiwiRlFTaCIsIms5bUUiLCJRRFJUIl0sImhpZGRlbiI6ZmFsc2UsIm11dGVkIjpmYWxzZX0seyJpZCI6ImNPS2QiLCJpdGVtcyI6WyJHWjVSIl0sImhpZGRlbiI6ZmFsc2UsIm11dGVkIjpmYWxzZX1dLCJmcHMiOjMwLCJjb21wb3NpdGlvbldpZHRoIjoxOTIwLCJjb21wb3NpdGlvbkhlaWdodCI6MTA4MCwiaXRlbXMiOnsiV1l6VyI6eyJpZCI6IldZelciLCJkdXJhdGlvbkluRnJhbWVzIjoxOCwidmlkZW9TdGFydEZyb21JblNlY29uZHMiOjkuNTY2NjY2NjY2NjY2NjU4LCJmcm9tIjoxMDgsInR5cGUiOiJ2aWRlbyIsImFzc2V0SWQiOiJvNVBXIiwiaXNEcmFnZ2luZ0luVGltZWxpbmUiOmZhbHNlLCJ0b3AiOi0yMiwibGVmdCI6LTQ3LCJ3aWR0aCI6MTk2NywiaGVpZ2h0IjoxMTA3LCJvcGFjaXR5IjoxLCJib3JkZXJSYWRpdXMiOjAsInJvdGF0aW9uIjowLCJkZWNpYmVsQWRqdXN0bWVudCI6MCwicGxheWJhY2tSYXRlIjoxLCJhdWRpb0ZhZGVJbkR1cmF0aW9uSW5TZWNvbmRzIjowLCJhdWRpb0ZhZGVPdXREdXJhdGlvbkluU2Vjb25kcyI6MCwiZmFkZUluRHVyYXRpb25JblNlY29uZHMiOjAsImZhZGVPdXREdXJhdGlvbkluU2Vjb25kcyI6MCwia2VlcEFzcGVjdFJhdGlvIjp0cnVlfSwiSXE4NCI6eyJpZCI6IklxODQiLCJkdXJhdGlvbkluRnJhbWVzIjoyMiwidmlkZW9TdGFydEZyb21JblNlY29uZHMiOjguMTY2NjY2NjY2NjY2NjU5LCJmcm9tIjo4NywidHlwZSI6InZpZGVvIiwiYXNzZXRJZCI6Im81UFciLCJpc0RyYWdnaW5nSW5UaW1lbGluZSI6ZmFsc2UsInRvcCI6LTIyLCJsZWZ0IjotMzUsIndpZHRoIjoxOTY3LCJoZWlnaHQiOjExMDcsIm9wYWNpdHkiOjEsImJvcmRlclJhZGl1cyI6MCwicm90YXRpb24iOjAsImRlY2liZWxBZGp1c3RtZW50IjowLCJwbGF5YmFja1JhdGUiOjEsImF1ZGlvRmFkZUluRHVyYXRpb25JblNlY29uZHMiOjAsImF1ZGlvRmFkZU91dER1cmF0aW9uSW5TZWNvbmRzIjowLCJmYWRlSW5EdXJhdGlvbkluU2Vjb25kcyI6MC4yNTc3NzIyMTM4NjkzODY4NywiZmFkZU91dER1cmF0aW9uSW5TZWNvbmRzIjowLCJrZWVwQXNwZWN0UmF0aW8iOnRydWV9LCI3M2doIjp7ImlkIjoiNzNnaCIsImR1cmF0aW9uSW5GcmFtZXMiOjM2LCJ2aWRlb1N0YXJ0RnJvbUluU2Vjb25kcyI6NC41OTk5OTk5OTk5OTk5OTUsImZyb20iOjE5NSwidHlwZSI6InZpZGVvIiwiYXNzZXRJZCI6InZSV1kiLCJpc0RyYWdnaW5nSW5UaW1lbGluZSI6ZmFsc2UsInRvcCI6LTIwLCJsZWZ0IjotMjgsIndpZHRoIjoxOTYyLCJoZWlnaHQiOjExMDQsIm9wYWNpdHkiOjEsImJvcmRlclJhZGl1cyI6MCwicm90YXRpb24iOjAsImRlY2liZWxBZGp1c3RtZW50IjowLCJwbGF5YmFja1JhdGUiOjEsImF1ZGlvRmFkZUluRHVyYXRpb25JblNlY29uZHMiOjAsImF1ZGlvRmFkZU91dER1cmF0aW9uSW5TZWNvbmRzIjowLCJmYWRlSW5EdXJhdGlvbkluU2Vjb25kcyI6MCwiZmFkZU91dER1cmF0aW9uSW5TZWNvbmRzIjowLCJrZWVwQXNwZWN0UmF0aW8iOnRydWV9LCJoWGxrIjp7ImlkIjoiaFhsayIsImR1cmF0aW9uSW5GcmFtZXMiOjMyLCJ2aWRlb1N0YXJ0RnJvbUluU2Vjb25kcyI6Mi42LCJmcm9tIjoxNjMsInR5cGUiOiJ2aWRlbyIsImFzc2V0SWQiOiJha2RIIiwiaXNEcmFnZ2luZ0luVGltZWxpbmUiOmZhbHNlLCJ0b3AiOi00LCJsZWZ0IjotNywid2lkdGgiOjE5MjcsImhlaWdodCI6MTA4Niwib3BhY2l0eSI6MSwiYm9yZGVyUmFkaXVzIjowLCJyb3RhdGlvbiI6MCwiZGVjaWJlbEFkanVzdG1lbnQiOjAsInBsYXliYWNrUmF0ZSI6MSwiYXVkaW9GYWRlSW5EdXJhdGlvbkluU2Vjb25kcyI6MCwiYXVkaW9GYWRlT3V0RHVyYXRpb25JblNlY29uZHMiOjAsImZhZGVJbkR1cmF0aW9uSW5TZWNvbmRzIjowLCJmYWRlT3V0RHVyYXRpb25JblNlY29uZHMiOjAsImtlZXBBc3BlY3RSYXRpbyI6dHJ1ZX0sIlpiY2UiOnsiaWQiOiJaYmNlIiwiZHVyYXRpb25JbkZyYW1lcyI6MzcsInZpZGVvU3RhcnRGcm9tSW5TZWNvbmRzIjo2LjE2NjY2NjY2NjY2NjY2MjUsImZyb20iOjEyNiwidHlwZSI6InZpZGVvIiwiYXNzZXRJZCI6IjNSR0IiLCJpc0RyYWdnaW5nSW5UaW1lbGluZSI6ZmFsc2UsInRvcCI6LTI3MiwibGVmdCI6LTQzOSwid2lkdGgiOjMzNDMsImhlaWdodCI6MTg4Miwib3BhY2l0eSI6MSwiYm9yZGVyUmFkaXVzIjowLCJyb3RhdGlvbiI6MCwiZGVjaWJlbEFkanVzdG1lbnQiOjAsInBsYXliYWNrUmF0ZSI6MC43LCJhdWRpb0ZhZGVJbkR1cmF0aW9uSW5TZWNvbmRzIjowLCJhdWRpb0ZhZGVPdXREdXJhdGlvbkluU2Vjb25kcyI6MCwiZmFkZUluRHVyYXRpb25JblNlY29uZHMiOjAsImZhZGVPdXREdXJhdGlvbkluU2Vjb25kcyI6MCwia2VlcEFzcGVjdFJhdGlvIjp0cnVlfSwiR1ludCI6eyJpZCI6IkdZbnQiLCJkdXJhdGlvbkluRnJhbWVzIjo2MSwidmlkZW9TdGFydEZyb21JblNlY29uZHMiOjQuOTMzMzMzMzMzMzMzMzMzLCJmcm9tIjoyMzEsInR5cGUiOiJ2aWRlbyIsImFzc2V0SWQiOiJNVDV1IiwiaXNEcmFnZ2luZ0luVGltZWxpbmUiOmZhbHNlLCJ0b3AiOi0xNzUsImxlZnQiOi0zMzksIndpZHRoIjoyMjgyLCJoZWlnaHQiOjEyODUsIm9wYWNpdHkiOjEsImJvcmRlclJhZGl1cyI6MCwicm90YXRpb24iOjAsImRlY2liZWxBZGp1c3RtZW50IjowLCJwbGF5YmFja1JhdGUiOjEsImF1ZGlvRmFkZUluRHVyYXRpb25JblNlY29uZHMiOjAsImF1ZGlvRmFkZU91dER1cmF0aW9uSW5TZWNvbmRzIjowLCJmYWRlSW5EdXJhdGlvbkluU2Vjb25kcyI6MCwiZmFkZU91dER1cmF0aW9uSW5TZWNvbmRzIjowLCJrZWVwQXNwZWN0UmF0aW8iOnRydWV9LCJNQjFNIjp7ImlkIjoiTUIxTSIsImR1cmF0aW9uSW5GcmFtZXMiOjQzLCJ2aWRlb1N0YXJ0RnJvbUluU2Vjb25kcyI6Mi4wMDAwMDAwMDAwMDAwMDIsImZyb20iOjI5MiwidHlwZSI6InZpZGVvIiwiYXNzZXRJZCI6IkVsdjAiLCJpc0RyYWdnaW5nSW5UaW1lbGluZSI6ZmFsc2UsInRvcCI6LTE3MCwibGVmdCI6LTIxNywid2lkdGgiOjIzMDYsImhlaWdodCI6MTI5OCwib3BhY2l0eSI6MSwiYm9yZGVyUmFkaXVzIjowLCJyb3RhdGlvbiI6MCwiZGVjaWJlbEFkanVzdG1lbnQiOjAsInBsYXliYWNrUmF0ZSI6MSwiYXVkaW9GYWRlSW5EdXJhdGlvbkluU2Vjb25kcyI6MCwiYXVkaW9GYWRlT3V0RHVyYXRpb25JblNlY29uZHMiOjAsImZhZGVJbkR1cmF0aW9uSW5TZWNvbmRzIjowLCJmYWRlT3V0RHVyYXRpb25JblNlY29uZHMiOjAsImtlZXBBc3BlY3RSYXRpbyI6dHJ1ZX0sIjB6MzMiOnsiaWQiOiIwejMzIiwiZHVyYXRpb25JbkZyYW1lcyI6ODYsInZpZGVvU3RhcnRGcm9tSW5TZWNvbmRzIjozLjU5OTk5OTk5OTk5OTk5OSwiZnJvbSI6MzM1LCJ0eXBlIjoidmlkZW8iLCJhc3NldElkIjoiTEcwSyIsImlzRHJhZ2dpbmdJblRpbWVsaW5lIjpmYWxzZSwidG9wIjotMTUzLCJsZWZ0IjotMzI0LCJ3aWR0aCI6MjQ3MSwiaGVpZ2h0IjoxMzkxLCJvcGFjaXR5IjoxLCJib3JkZXJSYWRpdXMiOjAsInJvdGF0aW9uIjo2LCJkZWNpYmVsQWRqdXN0bWVudCI6MCwicGxheWJhY2tSYXRlIjoxLCJhdWRpb0ZhZGVJbkR1cmF0aW9uSW5TZWNvbmRzIjowLCJhdWRpb0ZhZGVPdXREdXJhdGlvbkluU2Vjb25kcyI6MCwiZmFkZUluRHVyYXRpb25JblNlY29uZHMiOjAsImZhZGVPdXREdXJhdGlvbkluU2Vjb25kcyI6MCwia2VlcEFzcGVjdFJhdGlvIjp0cnVlfSwiVk5POCI6eyJpZCI6IlZOTzgiLCJkdXJhdGlvbkluRnJhbWVzIjo4MCwidmlkZW9TdGFydEZyb21JblNlY29uZHMiOjYuNDY2NjY2NjY2NjY2NjY2LCJmcm9tIjo0MjEsInR5cGUiOiJ2aWRlbyIsImFzc2V0SWQiOiJMRzBLIiwiaXNEcmFnZ2luZ0luVGltZWxpbmUiOmZhbHNlLCJ0b3AiOi0yNDksImxlZnQiOi0xMzQsIndpZHRoIjozMjEzLCJoZWlnaHQiOjE4MDksIm9wYWNpdHkiOjEsImJvcmRlclJhZGl1cyI6MCwicm90YXRpb24iOjYsImRlY2liZWxBZGp1c3RtZW50IjowLCJwbGF5YmFja1JhdGUiOjEsImF1ZGlvRmFkZUluRHVyYXRpb25JblNlY29uZHMiOjAsImF1ZGlvRmFkZU91dER1cmF0aW9uSW5TZWNvbmRzIjowLCJmYWRlSW5EdXJhdGlvbkluU2Vjb25kcyI6MCwiZmFkZU91dER1cmF0aW9uSW5TZWNvbmRzIjowLCJrZWVwQXNwZWN0UmF0aW8iOnRydWV9LCJUcTNSIjp7ImlkIjoiVHEzUiIsImR1cmF0aW9uSW5GcmFtZXMiOjYyLCJ2aWRlb1N0YXJ0RnJvbUluU2Vjb25kcyI6MS41NDAwMDAwMDAwMDAwMDIzLCJmcm9tIjo1MDEsInR5cGUiOiJ2aWRlbyIsImFzc2V0SWQiOiI5TFl0IiwiaXNEcmFnZ2luZ0luVGltZWxpbmUiOmZhbHNlLCJ0b3AiOi0xNSwibGVmdCI6LTE3LCJ3aWR0aCI6MzM1NywiaGVpZ2h0IjoxODkwLCJvcGFjaXR5IjoxLCJib3JkZXJSYWRpdXMiOjAsInJvdGF0aW9uIjowLCJkZWNpYmVsQWRqdXN0bWVudCI6MCwicGxheWJhY2tSYXRlIjoxLjQsImF1ZGlvRmFkZUluRHVyYXRpb25JblNlY29uZHMiOjAsImF1ZGlvRmFkZU91dER1cmF0aW9uSW5TZWNvbmRzIjowLCJmYWRlSW5EdXJhdGlvbkluU2Vjb25kcyI6MCwiZmFkZU91dER1cmF0aW9uSW5TZWNvbmRzIjowLCJrZWVwQXNwZWN0UmF0aW8iOnRydWV9LCJ1ZkNmIjp7ImlkIjoidWZDZiIsImR1cmF0aW9uSW5GcmFtZXMiOjgxLCJ2aWRlb1N0YXJ0RnJvbUluU2Vjb25kcyI6Mi44MDE2NjY2NjY2NjY2NjM2LCJmcm9tIjo3MjAsInR5cGUiOiJ2aWRlbyIsImFzc2V0SWQiOiJsRHAwIiwiaXNEcmFnZ2luZ0luVGltZWxpbmUiOmZhbHNlLCJ0b3AiOi0yMjcsImxlZnQiOi04MTAsIndpZHRoIjozNDQ4LCJoZWlnaHQiOjE5NDEsIm9wYWNpdHkiOjEsImJvcmRlclJhZGl1cyI6MCwicm90YXRpb24iOjAsImRlY2liZWxBZGp1c3RtZW50IjowLCJwbGF5YmFja1JhdGUiOjAuNjUsImF1ZGlvRmFkZUluRHVyYXRpb25JblNlY29uZHMiOjAsImF1ZGlvRmFkZU91dER1cmF0aW9uSW5TZWNvbmRzIjowLCJmYWRlSW5EdXJhdGlvbkluU2Vjb25kcyI6MCwiZmFkZU91dER1cmF0aW9uSW5TZWNvbmRzIjowLCJrZWVwQXNwZWN0UmF0aW8iOnRydWV9LCJxRmYzIjp7ImlkIjoicUZmMyIsImR1cmF0aW9uSW5GcmFtZXMiOjc0LCJ2aWRlb1N0YXJ0RnJvbUluU2Vjb25kcyI6Ni42MTMzMzMzMzMzMzMzMywiZnJvbSI6ODAxLCJ0eXBlIjoidmlkZW8iLCJhc3NldElkIjoiZHBNdSIsImlzRHJhZ2dpbmdJblRpbWVsaW5lIjpmYWxzZSwidG9wIjotOTUsImxlZnQiOi01NDcsIndpZHRoIjoyNDY1LCJoZWlnaHQiOjEzODgsIm9wYWNpdHkiOjEsImJvcmRlclJhZGl1cyI6MCwicm90YXRpb24iOjAsImRlY2liZWxBZGp1c3RtZW50IjowLCJwbGF5YmFja1JhdGUiOjAuNjUsImF1ZGlvRmFkZUluRHVyYXRpb25JblNlY29uZHMiOjAsImF1ZGlvRmFkZU91dER1cmF0aW9uSW5TZWNvbmRzIjowLCJmYWRlSW5EdXJhdGlvbkluU2Vjb25kcyI6MCwiZmFkZU91dER1cmF0aW9uSW5TZWNvbmRzIjowLCJrZWVwQXNwZWN0UmF0aW8iOnRydWV9LCJGWmFXIjp7ImlkIjoiRlphVyIsImR1cmF0aW9uSW5GcmFtZXMiOjY2LCJ2aWRlb1N0YXJ0RnJvbUluU2Vjb25kcyI6My43MDAwMDAwMDAwMDAwMDIsImZyb20iOjg3NSwidHlwZSI6InZpZGVvIiwiYXNzZXRJZCI6IlZ0YVUiLCJpc0RyYWdnaW5nSW5UaW1lbGluZSI6ZmFsc2UsInRvcCI6LTkwLCJsZWZ0IjotNjg1LCJ3aWR0aCI6MjY1MCwiaGVpZ2h0IjoxNDkxLCJvcGFjaXR5IjoxLCJib3JkZXJSYWRpdXMiOjAsInJvdGF0aW9uIjowLCJkZWNpYmVsQWRqdXN0bWVudCI6MCwicGxheWJhY2tSYXRlIjoxLCJhdWRpb0ZhZGVJbkR1cmF0aW9uSW5TZWNvbmRzIjowLCJhdWRpb0ZhZGVPdXREdXJhdGlvbkluU2Vjb25kcyI6MCwiZmFkZUluRHVyYXRpb25JblNlY29uZHMiOjAsImZhZGVPdXREdXJhdGlvbkluU2Vjb25kcyI6MCwia2VlcEFzcGVjdFJhdGlvIjp0cnVlfSwiRXlRTCI6eyJpZCI6IkV5UUwiLCJkdXJhdGlvbkluRnJhbWVzIjozMiwidmlkZW9TdGFydEZyb21JblNlY29uZHMiOjUuMjMwMDAwMDAwMDAwMDAyLCJmcm9tIjo2ODgsInR5cGUiOiJ2aWRlbyIsImFzc2V0SWQiOiJCd1ZOIiwiaXNEcmFnZ2luZ0luVGltZWxpbmUiOmZhbHNlLCJ0b3AiOi02OTQsImxlZnQiOi0yNDkzLCJ3aWR0aCI6NjMzMSwiaGVpZ2h0IjozNTY0LCJvcGFjaXR5IjoxLCJib3JkZXJSYWRpdXMiOjAsInJvdGF0aW9uIjowLCJkZWNpYmVsQWRqdXN0bWVudCI6MCwicGxheWJhY2tSYXRlIjowLjcsImF1ZGlvRmFkZUluRHVyYXRpb25JblNlY29uZHMiOjAsImF1ZGlvRmFkZU91dER1cmF0aW9uSW5TZWNvbmRzIjowLCJmYWRlSW5EdXJhdGlvbkluU2Vjb25kcyI6MCwiZmFkZU91dER1cmF0aW9uSW5TZWNvbmRzIjowLCJrZWVwQXNwZWN0UmF0aW8iOnRydWV9LCJYeTFjIjp7ImlkIjoiWHkxYyIsImR1cmF0aW9uSW5GcmFtZXMiOjQwLCJ2aWRlb1N0YXJ0RnJvbUluU2Vjb25kcyI6NC41MzMzMzMzMzMzMzMzMzMsImZyb20iOjY0OCwidHlwZSI6InZpZGVvIiwiYXNzZXRJZCI6IkJ3Vk4iLCJpc0RyYWdnaW5nSW5UaW1lbGluZSI6ZmFsc2UsInRvcCI6LTE2OTUsImxlZnQiOi0zMDQxLCJ3aWR0aCI6NDk2NywiaGVpZ2h0IjoyNzk2LCJvcGFjaXR5IjoxLCJib3JkZXJSYWRpdXMiOjAsInJvdGF0aW9uIjowLCJkZWNpYmVsQWRqdXN0bWVudCI6MCwicGxheWJhY2tSYXRlIjoxLCJhdWRpb0ZhZGVJbkR1cmF0aW9uSW5TZWNvbmRzIjowLCJhdWRpb0ZhZGVPdXREdXJhdGlvbkluU2Vjb25kcyI6MCwiZmFkZUluRHVyYXRpb25JblNlY29uZHMiOjAsImZhZGVPdXREdXJhdGlvbkluU2Vjb25kcyI6MCwia2VlcEFzcGVjdFJhdGlvIjp0cnVlfSwiR1o1UiI6eyJpZCI6IkdaNVIiLCJkdXJhdGlvbkluRnJhbWVzIjoxNzU1LCJhdWRpb1N0YXJ0RnJvbUluU2Vjb25kcyI6MCwiZnJvbSI6ODYsInR5cGUiOiJhdWRpbyIsInRvcCI6MCwibGVmdCI6MCwid2lkdGgiOjEwMCwiaGVpZ2h0IjoxMDAsIm9wYWNpdHkiOjEsImRlY2liZWxBZGp1c3RtZW50IjotNi45MDEwNDE2NjY2NjY2NTcsInBsYXliYWNrUmF0ZSI6MSwiYXVkaW9GYWRlSW5EdXJhdGlvbkluU2Vjb25kcyI6MCwiYXVkaW9GYWRlT3V0RHVyYXRpb25JblNlY29uZHMiOjAsImFzc2V0SWQiOiIwM1ROIiwiaXNEcmFnZ2luZ0luVGltZWxpbmUiOmZhbHNlfSwiWmZmbSI6eyJpZCI6IlpmZm0iLCJkdXJhdGlvbkluRnJhbWVzIjo0MSwidmlkZW9TdGFydEZyb21JblNlY29uZHMiOjEuODY2NjY2NjY2NjY2NjY2LCJmcm9tIjo1NjMsInR5cGUiOiJ2aWRlbyIsImFzc2V0SWQiOiJCd1ZOIiwiaXNEcmFnZ2luZ0luVGltZWxpbmUiOmZhbHNlLCJ0b3AiOi0zMjAsImxlZnQiOi01MzksIndpZHRoIjozNDgxLCJoZWlnaHQiOjE5NjAsIm9wYWNpdHkiOjEsImJvcmRlclJhZGl1cyI6MCwicm90YXRpb24iOjAsImRlY2liZWxBZGp1c3RtZW50IjoxLjEyNSwicGxheWJhY2tSYXRlIjoxLCJhdWRpb0ZhZGVJbkR1cmF0aW9uSW5TZWNvbmRzIjowLCJhdWRpb0ZhZGVPdXREdXJhdGlvbkluU2Vjb25kcyI6MCwiZmFkZUluRHVyYXRpb25JblNlY29uZHMiOjAsImZhZGVPdXREdXJhdGlvbkluU2Vjb25kcyI6MCwia2VlcEFzcGVjdFJhdGlvIjp0cnVlfSwiNFNnSiI6eyJpZCI6IjRTZ0oiLCJkdXJhdGlvbkluRnJhbWVzIjo5MCwidmlkZW9TdGFydEZyb21JblNlY29uZHMiOjEuNTY2NjY2NjY2NjY2NjY2OSwiZnJvbSI6OTQxLCJ0eXBlIjoidmlkZW8iLCJhc3NldElkIjoiQ05HSyIsImlzRHJhZ2dpbmdJblRpbWVsaW5lIjpmYWxzZSwidG9wIjowLCJsZWZ0IjotOSwid2lkdGgiOjE5MzIsImhlaWdodCI6MTA4Nywib3BhY2l0eSI6MSwiYm9yZGVyUmFkaXVzIjowLCJyb3RhdGlvbiI6MCwiZGVjaWJlbEFkanVzdG1lbnQiOi02MCwicGxheWJhY2tSYXRlIjoxLCJhdWRpb0ZhZGVJbkR1cmF0aW9uSW5TZWNvbmRzIjowLCJhdWRpb0ZhZGVPdXREdXJhdGlvbkluU2Vjb25kcyI6MCwiZmFkZUluRHVyYXRpb25JblNlY29uZHMiOjAsImZhZGVPdXREdXJhdGlvbkluU2Vjb25kcyI6MCwia2VlcEFzcGVjdFJhdGlvIjp0cnVlfSwiT00xaiI6eyJpZCI6Ik9NMWoiLCJkdXJhdGlvbkluRnJhbWVzIjo0OCwidmlkZW9TdGFydEZyb21JblNlY29uZHMiOjIuNDMzMzMzMzMzMzMzMzMyLCJmcm9tIjoxMDMxLCJ0eXBlIjoidmlkZW8iLCJhc3NldElkIjoid1Z3VyIsImlzRHJhZ2dpbmdJblRpbWVsaW5lIjpmYWxzZSwidG9wIjotMTI0MCwibGVmdCI6LTIyMTUsIndpZHRoIjo0MTMwLCJoZWlnaHQiOjIzMjUsIm9wYWNpdHkiOjEsImJvcmRlclJhZGl1cyI6MCwicm90YXRpb24iOjAsImRlY2liZWxBZGp1c3RtZW50IjowLCJwbGF5YmFja1JhdGUiOjEsImF1ZGlvRmFkZUluRHVyYXRpb25JblNlY29uZHMiOjAsImF1ZGlvRmFkZU91dER1cmF0aW9uSW5TZWNvbmRzIjowLCJmYWRlSW5EdXJhdGlvbkluU2Vjb25kcyI6MCwiZmFkZU91dER1cmF0aW9uSW5TZWNvbmRzIjowLCJrZWVwQXNwZWN0UmF0aW8iOnRydWV9LCJVUG85Ijp7ImlkIjoiVVBvOSIsImR1cmF0aW9uSW5GcmFtZXMiOjQxLCJ2aWRlb1N0YXJ0RnJvbUluU2Vjb25kcyI6My4wNjY2NjY2NjY2NjY2NjY0LCJmcm9tIjoxMDc5LCJ0eXBlIjoidmlkZW8iLCJhc3NldElkIjoid1Z3VyIsImlzRHJhZ2dpbmdJblRpbWVsaW5lIjpmYWxzZSwidG9wIjotNTc5LCJsZWZ0IjotMjM5LCJ3aWR0aCI6MzI3MSwiaGVpZ2h0IjoxODQyLCJvcGFjaXR5IjoxLCJib3JkZXJSYWRpdXMiOjAsInJvdGF0aW9uIjowLCJkZWNpYmVsQWRqdXN0bWVudCI6MCwicGxheWJhY2tSYXRlIjoxLCJhdWRpb0ZhZGVJbkR1cmF0aW9uSW5TZWNvbmRzIjowLCJhdWRpb0ZhZGVPdXREdXJhdGlvbkluU2Vjb25kcyI6MCwiZmFkZUluRHVyYXRpb25JblNlY29uZHMiOjAsImZhZGVPdXREdXJhdGlvbkluU2Vjb25kcyI6MCwia2VlcEFzcGVjdFJhdGlvIjp0cnVlfSwiWVR6byI6eyJpZCI6IllUem8iLCJkdXJhdGlvbkluRnJhbWVzIjoxMDEsInZpZGVvU3RhcnRGcm9tSW5TZWNvbmRzIjowLjk5OTk5OTk5OTk5OTk5ODYsImZyb20iOjExMjAsInR5cGUiOiJ2aWRlbyIsImFzc2V0SWQiOiJMY3lyIiwiaXNEcmFnZ2luZ0luVGltZWxpbmUiOmZhbHNlLCJ0b3AiOi0xNTksImxlZnQiOi0zNzAsIndpZHRoIjoyNTQ3LCJoZWlnaHQiOjE0MzQsIm9wYWNpdHkiOjEsImJvcmRlclJhZGl1cyI6MCwicm90YXRpb24iOjAsImRlY2liZWxBZGp1c3RtZW50IjowLCJwbGF5YmFja1JhdGUiOjEsImF1ZGlvRmFkZUluRHVyYXRpb25JblNlY29uZHMiOjAsImF1ZGlvRmFkZU91dER1cmF0aW9uSW5TZWNvbmRzIjowLCJmYWRlSW5EdXJhdGlvbkluU2Vjb25kcyI6MCwiZmFkZU91dER1cmF0aW9uSW5TZWNvbmRzIjowLCJrZWVwQXNwZWN0UmF0aW8iOnRydWV9LCIwcmJUIjp7ImlkIjoiMHJiVCIsImR1cmF0aW9uSW5GcmFtZXMiOjE0NCwidmlkZW9TdGFydEZyb21JblNlY29uZHMiOjEuNDY2NjY2NjY2NjY2NjY2MSwiZnJvbSI6MTI3NiwidHlwZSI6InZpZGVvIiwiYXNzZXRJZCI6IkZFaGsiLCJpc0RyYWdnaW5nSW5UaW1lbGluZSI6ZmFsc2UsInRvcCI6MCwibGVmdCI6LTUsIndpZHRoIjoxOTI4LCJoZWlnaHQiOjEwODQsIm9wYWNpdHkiOjEsImJvcmRlclJhZGl1cyI6MCwicm90YXRpb24iOjAsImRlY2liZWxBZGp1c3RtZW50IjowLCJwbGF5YmFja1JhdGUiOjEsImF1ZGlvRmFkZUluRHVyYXRpb25JblNlY29uZHMiOjAsImF1ZGlvRmFkZU91dER1cmF0aW9uSW5TZWNvbmRzIjowLCJmYWRlSW5EdXJhdGlvbkluU2Vjb25kcyI6MCwiZmFkZU91dER1cmF0aW9uSW5TZWNvbmRzIjowLCJrZWVwQXNwZWN0UmF0aW8iOnRydWV9LCJYMnR0Ijp7ImlkIjoiWDJ0dCIsImR1cmF0aW9uSW5GcmFtZXMiOjU1LCJ2aWRlb1N0YXJ0RnJvbUluU2Vjb25kcyI6Mi45OTk5OTk5OTk5OTk5OTksImZyb20iOjEyMjEsInR5cGUiOiJ2aWRlbyIsImFzc2V0SWQiOiJaRmlHIiwiaXNEcmFnZ2luZ0luVGltZWxpbmUiOmZhbHNlLCJ0b3AiOi0xNiwibGVmdCI6LTU3LCJ3aWR0aCI6MTk3OCwiaGVpZ2h0IjoxMTEzLCJvcGFjaXR5IjoxLCJib3JkZXJSYWRpdXMiOjAsInJvdGF0aW9uIjowLCJkZWNpYmVsQWRqdXN0bWVudCI6MCwicGxheWJhY2tSYXRlIjoxLCJhdWRpb0ZhZGVJbkR1cmF0aW9uSW5TZWNvbmRzIjowLCJhdWRpb0ZhZGVPdXREdXJhdGlvbkluU2Vjb25kcyI6MCwiZmFkZUluRHVyYXRpb25JblNlY29uZHMiOjAsImZhZGVPdXREdXJhdGlvbkluU2Vjb25kcyI6MCwia2VlcEFzcGVjdFJhdGlvIjp0cnVlfSwiRnhlNiI6eyJpZCI6IkZ4ZTYiLCJkdXJhdGlvbkluRnJhbWVzIjoxMDcsInZpZGVvU3RhcnRGcm9tSW5TZWNvbmRzIjo2LjA2NjY2NjY2NjY2NjY2NiwiZnJvbSI6MTUzNiwidHlwZSI6InZpZGVvIiwiYXNzZXRJZCI6Im9iZkgiLCJpc0RyYWdnaW5nSW5UaW1lbGluZSI6ZmFsc2UsInRvcCI6LTgsImxlZnQiOi0yMywid2lkdGgiOjE5NTEsImhlaWdodCI6MTA5OCwib3BhY2l0eSI6MSwiYm9yZGVyUmFkaXVzIjowLCJyb3RhdGlvbiI6MCwiZGVjaWJlbEFkanVzdG1lbnQiOjAsInBsYXliYWNrUmF0ZSI6MSwiYXVkaW9GYWRlSW5EdXJhdGlvbkluU2Vjb25kcyI6MCwiYXVkaW9GYWRlT3V0RHVyYXRpb25JblNlY29uZHMiOjAsImZhZGVJbkR1cmF0aW9uSW5TZWNvbmRzIjowLCJmYWRlT3V0RHVyYXRpb25JblNlY29uZHMiOjAsImtlZXBBc3BlY3RSYXRpbyI6dHJ1ZX0sInpNMTkiOnsiaWQiOiJ6TTE5IiwiZHVyYXRpb25JbkZyYW1lcyI6NjQsInZpZGVvU3RhcnRGcm9tSW5TZWNvbmRzIjoxLjczMzMzMzMzMzMzMzMzMywiZnJvbSI6MTQyMCwidHlwZSI6InZpZGVvIiwiYXNzZXRJZCI6Im9iZkgiLCJpc0RyYWdnaW5nSW5UaW1lbGluZSI6ZmFsc2UsInRvcCI6LTksImxlZnQiOi0zMiwid2lkdGgiOjE5NjMsImhlaWdodCI6MTEwNSwib3BhY2l0eSI6MSwiYm9yZGVyUmFkaXVzIjowLCJyb3RhdGlvbiI6MCwiZGVjaWJlbEFkanVzdG1lbnQiOjAsInBsYXliYWNrUmF0ZSI6MSwiYXVkaW9GYWRlSW5EdXJhdGlvbkluU2Vjb25kcyI6MCwiYXVkaW9GYWRlT3V0RHVyYXRpb25JblNlY29uZHMiOjAsImZhZGVJbkR1cmF0aW9uSW5TZWNvbmRzIjowLCJmYWRlT3V0RHVyYXRpb25JblNlY29uZHMiOjAsImtlZXBBc3BlY3RSYXRpbyI6dHJ1ZX0sIjJSZkciOnsiaWQiOiIyUmZHIiwiZHVyYXRpb25JbkZyYW1lcyI6MzcsInZpZGVvU3RhcnRGcm9tSW5TZWNvbmRzIjozLjg2NjY2NjY2NjY2NjY2NjMsImZyb20iOjE0ODQsInR5cGUiOiJ2aWRlbyIsImFzc2V0SWQiOiJvYmZIIiwiaXNEcmFnZ2luZ0luVGltZWxpbmUiOmZhbHNlLCJ0b3AiOi0yNjYsImxlZnQiOi0zNiwid2lkdGgiOjI0NDYsImhlaWdodCI6MTM3Niwib3BhY2l0eSI6MSwiYm9yZGVyUmFkaXVzIjowLCJyb3RhdGlvbiI6MCwiZGVjaWJlbEFkanVzdG1lbnQiOjAsInBsYXliYWNrUmF0ZSI6MSwiYXVkaW9GYWRlSW5EdXJhdGlvbkluU2Vjb25kcyI6MCwiYXVkaW9GYWRlT3V0RHVyYXRpb25JblNlY29uZHMiOjAsImZhZGVJbkR1cmF0aW9uSW5TZWNvbmRzIjowLCJmYWRlT3V0RHVyYXRpb25JblNlY29uZHMiOjAsImtlZXBBc3BlY3RSYXRpbyI6dHJ1ZX0sIk15SVAiOnsiaWQiOiJNeUlQIiwiZHVyYXRpb25JbkZyYW1lcyI6MTUsInZpZGVvU3RhcnRGcm9tSW5TZWNvbmRzIjo1LjM0NTAwMDAwMDAwMDAwMSwiZnJvbSI6MTUyMSwidHlwZSI6InZpZGVvIiwiYXNzZXRJZCI6Im9iZkgiLCJpc0RyYWdnaW5nSW5UaW1lbGluZSI6ZmFsc2UsInRvcCI6LTI2NiwibGVmdCI6LTM2LCJ3aWR0aCI6MjQ0NiwiaGVpZ2h0IjoxMzc2LCJvcGFjaXR5IjoxLCJib3JkZXJSYWRpdXMiOjAsInJvdGF0aW9uIjowLCJkZWNpYmVsQWRqdXN0bWVudCI6MCwicGxheWJhY2tSYXRlIjowLjI1LCJhdWRpb0ZhZGVJbkR1cmF0aW9uSW5TZWNvbmRzIjowLCJhdWRpb0ZhZGVPdXREdXJhdGlvbkluU2Vjb25kcyI6MCwiZmFkZUluRHVyYXRpb25JblNlY29uZHMiOjAsImZhZGVPdXREdXJhdGlvbkluU2Vjb25kcyI6MCwia2VlcEFzcGVjdFJhdGlvIjp0cnVlfSwiWHE3biI6eyJpZCI6IlhxN24iLCJkdXJhdGlvbkluRnJhbWVzIjoxMDksInZpZGVvU3RhcnRGcm9tSW5TZWNvbmRzIjowLCJmcm9tIjoxNjQzLCJ0eXBlIjoidmlkZW8iLCJhc3NldElkIjoibjFJRCIsImlzRHJhZ2dpbmdJblRpbWVsaW5lIjpmYWxzZSwidG9wIjowLCJsZWZ0IjotMSwid2lkdGgiOjE5NDEsImhlaWdodCI6MTA5Mywib3BhY2l0eSI6MSwiYm9yZGVyUmFkaXVzIjowLCJyb3RhdGlvbiI6MCwiZGVjaWJlbEFkanVzdG1lbnQiOjAsInBsYXliYWNrUmF0ZSI6My43NSwiYXVkaW9GYWRlSW5EdXJhdGlvbkluU2Vjb25kcyI6MCwiYXVkaW9GYWRlT3V0RHVyYXRpb25JblNlY29uZHMiOjAsImZhZGVJbkR1cmF0aW9uSW5TZWNvbmRzIjowLCJmYWRlT3V0RHVyYXRpb25JblNlY29uZHMiOjAsImtlZXBBc3BlY3RSYXRpbyI6dHJ1ZX0sIjBwWlUiOnsiaWQiOiIwcFpVIiwiZHVyYXRpb25JbkZyYW1lcyI6NzksInZpZGVvU3RhcnRGcm9tSW5TZWNvbmRzIjo1Ljk2NjY2NjY2NjY2NjY2MTUsImZyb20iOjE3NTIsInR5cGUiOiJ2aWRlbyIsImFzc2V0SWQiOiJrUzhHIiwiaXNEcmFnZ2luZ0luVGltZWxpbmUiOmZhbHNlLCJ0b3AiOjEsImxlZnQiOi0xMDI5LCJ3aWR0aCI6MzkyNCwiaGVpZ2h0IjoyMjA5LCJvcGFjaXR5IjoxLCJib3JkZXJSYWRpdXMiOjAsInJvdGF0aW9uIjowLCJkZWNpYmVsQWRqdXN0bWVudCI6MCwicGxheWJhY2tSYXRlIjoxLCJhdWRpb0ZhZGVJbkR1cmF0aW9uSW5TZWNvbmRzIjowLCJhdWRpb0ZhZGVPdXREdXJhdGlvbkluU2Vjb25kcyI6MCwiZmFkZUluRHVyYXRpb25JblNlY29uZHMiOjAsImZhZGVPdXREdXJhdGlvbkluU2Vjb25kcyI6MCwia2VlcEFzcGVjdFJhdGlvIjp0cnVlfSwiRlFTaCI6eyJpZCI6IkZRU2giLCJkdXJhdGlvbkluRnJhbWVzIjo0OSwidmlkZW9TdGFydEZyb21JblNlY29uZHMiOjcuOTkzMzMzMzMzMzMzMzI1LCJmcm9tIjoxODMxLCJ0eXBlIjoidmlkZW8iLCJhc3NldElkIjoia1M4RyIsImlzRHJhZ2dpbmdJblRpbWVsaW5lIjpmYWxzZSwidG9wIjoxLCJsZWZ0IjotMTAyOSwid2lkdGgiOjM5MjQsImhlaWdodCI6MjIwOSwib3BhY2l0eSI6MSwiYm9yZGVyUmFkaXVzIjowLCJyb3RhdGlvbiI6MCwiZGVjaWJlbEFkanVzdG1lbnQiOjAsInBsYXliYWNrUmF0ZSI6MC43LCJhdWRpb0ZhZGVJbkR1cmF0aW9uSW5TZWNvbmRzIjowLCJhdWRpb0ZhZGVPdXREdXJhdGlvbkluU2Vjb25kcyI6MCwiZmFkZUluRHVyYXRpb25JblNlY29uZHMiOjAsImZhZGVPdXREdXJhdGlvbkluU2Vjb25kcyI6MS41Mjg0MTQ5NzQyNTg4OTY0LCJrZWVwQXNwZWN0UmF0aW8iOnRydWV9LCJuRzB0Ijp7ImlkIjoibkcwdCIsImR1cmF0aW9uSW5GcmFtZXMiOjQ0LCJ2aWRlb1N0YXJ0RnJvbUluU2Vjb25kcyI6Mi45MzMzMzMzMzMzMzMzMzQsImZyb20iOjYwNCwidHlwZSI6InZpZGVvIiwiYXNzZXRJZCI6IkJ3Vk4iLCJpc0RyYWdnaW5nSW5UaW1lbGluZSI6ZmFsc2UsInRvcCI6LTE4MSwibGVmdCI6LTEzOTIsIndpZHRoIjozMzE0LCJoZWlnaHQiOjE4NjYsIm9wYWNpdHkiOjEsImJvcmRlclJhZGl1cyI6MCwicm90YXRpb24iOjAsImRlY2liZWxBZGp1c3RtZW50IjowLCJwbGF5YmFja1JhdGUiOjEsImF1ZGlvRmFkZUluRHVyYXRpb25JblNlY29uZHMiOjAsImF1ZGlvRmFkZU91dER1cmF0aW9uSW5TZWNvbmRzIjowLCJmYWRlSW5EdXJhdGlvbkluU2Vjb25kcyI6MCwiZmFkZU91dER1cmF0aW9uSW5TZWNvbmRzIjowLCJrZWVwQXNwZWN0UmF0aW8iOnRydWV9LCJWZ3NIIjp7ImlkIjoiVmdzSCIsImR1cmF0aW9uSW5GcmFtZXMiOjk4LCJ2aWRlb1N0YXJ0RnJvbUluU2Vjb25kcyI6MzcuOTk5OTk5OTk5OTk5OTQsImZyb20iOjAsInR5cGUiOiJ2aWRlbyIsImFzc2V0SWQiOiJEODZHIiwiaXNEcmFnZ2luZ0luVGltZWxpbmUiOmZhbHNlLCJ0b3AiOi0zMDksImxlZnQiOi01NDgsIndpZHRoIjoyNDcyLCJoZWlnaHQiOjEzOTEsIm9wYWNpdHkiOjEsImJvcmRlclJhZGl1cyI6MCwicm90YXRpb24iOjAsImRlY2liZWxBZGp1c3RtZW50IjowLCJwbGF5YmFja1JhdGUiOjEsImF1ZGlvRmFkZUluRHVyYXRpb25JblNlY29uZHMiOjAsImF1ZGlvRmFkZU91dER1cmF0aW9uSW5TZWNvbmRzIjowLCJmYWRlSW5EdXJhdGlvbkluU2Vjb25kcyI6MCwiZmFkZU91dER1cmF0aW9uSW5TZWNvbmRzIjowLCJrZWVwQXNwZWN0UmF0aW8iOnRydWV9LCJtS0twIjp7ImlkIjoibUtLcCIsImR1cmF0aW9uSW5GcmFtZXMiOjYzMywidmlkZW9TdGFydEZyb21JblNlY29uZHMiOjQuODk5OTk5OTk5OTk5OTk4LCJmcm9tIjoxODc5LCJ0eXBlIjoidmlkZW8iLCJhc3NldElkIjoidG9DYSIsImlzRHJhZ2dpbmdJblRpbWVsaW5lIjpmYWxzZSwidG9wIjotMzA5LCJsZWZ0IjotNTQ4LCJ3aWR0aCI6MjQ3MiwiaGVpZ2h0IjoxMzkxLCJvcGFjaXR5IjoxLCJib3JkZXJSYWRpdXMiOjAsInJvdGF0aW9uIjowLCJkZWNpYmVsQWRqdXN0bWVudCI6MCwicGxheWJhY2tSYXRlIjoxLCJhdWRpb0ZhZGVJbkR1cmF0aW9uSW5TZWNvbmRzIjowLCJhdWRpb0ZhZGVPdXREdXJhdGlvbkluU2Vjb25kcyI6MCwiZmFkZUluRHVyYXRpb25JblNlY29uZHMiOjAuMjMwMTg5OTkzMDA0NzI4MSwiZmFkZU91dER1cmF0aW9uSW5TZWNvbmRzIjowLCJrZWVwQXNwZWN0UmF0aW8iOnRydWV9LCJ4RWdwIjp7ImlkIjoieEVncCIsImR1cmF0aW9uSW5GcmFtZXMiOjQzOSwidmlkZW9TdGFydEZyb21JblNlY29uZHMiOjI2LjkwMDAwMDAwMDAwMDA2LCJmcm9tIjozNDE0LCJ0eXBlIjoidmlkZW8iLCJhc3NldElkIjoidEhRMiIsImlzRHJhZ2dpbmdJblRpbWVsaW5lIjpmYWxzZSwidG9wIjotMzA5LCJsZWZ0IjotNTQ4LCJ3aWR0aCI6MjQ3MywiaGVpZ2h0IjoxMzkxLCJvcGFjaXR5IjoxLCJib3JkZXJSYWRpdXMiOjAsInJvdGF0aW9uIjowLCJkZWNpYmVsQWRqdXN0bWVudCI6MCwicGxheWJhY2tSYXRlIjoxLCJhdWRpb0ZhZGVJbkR1cmF0aW9uSW5TZWNvbmRzIjowLCJhdWRpb0ZhZGVPdXREdXJhdGlvbkluU2Vjb25kcyI6MCwiZmFkZUluRHVyYXRpb25JblNlY29uZHMiOjAsImZhZGVPdXREdXJhdGlvbkluU2Vjb25kcyI6MCwia2VlcEFzcGVjdFJhdGlvIjp0cnVlfSwiVVVBcyI6eyJpZCI6IlVVQXMiLCJkdXJhdGlvbkluRnJhbWVzIjo4MTksInZpZGVvU3RhcnRGcm9tSW5TZWNvbmRzIjoxMjkuNzMzMzMzMzMzMzMzMTIsImZyb20iOjI1MTIsInR5cGUiOiJ2aWRlbyIsImFzc2V0SWQiOiJDMUxVIiwiaXNEcmFnZ2luZ0luVGltZWxpbmUiOmZhbHNlLCJ0b3AiOi0zMDksImxlZnQiOi01NDgsIndpZHRoIjoyNDczLCJoZWlnaHQiOjEzOTEsIm9wYWNpdHkiOjEsImJvcmRlclJhZGl1cyI6MCwicm90YXRpb24iOjAsImRlY2liZWxBZGp1c3RtZW50IjowLCJwbGF5YmFja1JhdGUiOjEsImF1ZGlvRmFkZUluRHVyYXRpb25JblNlY29uZHMiOjAsImF1ZGlvRmFkZU91dER1cmF0aW9uSW5TZWNvbmRzIjowLCJmYWRlSW5EdXJhdGlvbkluU2Vjb25kcyI6MCwiZmFkZU91dER1cmF0aW9uSW5TZWNvbmRzIjoyLjg0NzM2ODU0NjU0MTIsImtlZXBBc3BlY3RSYXRpbyI6dHJ1ZX0sIjNPRkoiOnsiaWQiOiIzT0ZKIiwiZHVyYXRpb25JbkZyYW1lcyI6NDQzLCJ2aWRlb1N0YXJ0RnJvbUluU2Vjb25kcyI6OC42NjY2NjY2NjY2NjY2NjYsImZyb20iOjM5MDEsInR5cGUiOiJ2aWRlbyIsImFzc2V0SWQiOiIxbWNYIiwiaXNEcmFnZ2luZ0luVGltZWxpbmUiOmZhbHNlLCJ0b3AiOi0zMDksImxlZnQiOi01NDgsIndpZHRoIjoyNDczLCJoZWlnaHQiOjEzOTEsIm9wYWNpdHkiOjEsImJvcmRlclJhZGl1cyI6MCwicm90YXRpb24iOjAsImRlY2liZWxBZGp1c3RtZW50IjowLCJwbGF5YmFja1JhdGUiOjEsImF1ZGlvRmFkZUluRHVyYXRpb25JblNlY29uZHMiOjAsImF1ZGlvRmFkZU91dER1cmF0aW9uSW5TZWNvbmRzIjowLCJmYWRlSW5EdXJhdGlvbkluU2Vjb25kcyI6MCwiZmFkZU91dER1cmF0aW9uSW5TZWNvbmRzIjowLCJrZWVwQXNwZWN0UmF0aW8iOnRydWV9LCJ3V2JWIjp7ImlkIjoid1diViIsImR1cmF0aW9uSW5GcmFtZXMiOjYxNiwidmlkZW9TdGFydEZyb21JblNlY29uZHMiOjEuNDMzMzMzMzMzMzMzMzM0NSwiZnJvbSI6NDM0NCwidHlwZSI6InZpZGVvIiwiYXNzZXRJZCI6IlQwbUgiLCJpc0RyYWdnaW5nSW5UaW1lbGluZSI6ZmFsc2UsInRvcCI6LTMwOSwibGVmdCI6LTU0OCwid2lkdGgiOjI0NzMsImhlaWdodCI6MTM5MSwib3BhY2l0eSI6MSwiYm9yZGVyUmFkaXVzIjowLCJyb3RhdGlvbiI6MCwiZGVjaWJlbEFkanVzdG1lbnQiOjAsInBsYXliYWNrUmF0ZSI6MSwiYXVkaW9GYWRlSW5EdXJhdGlvbkluU2Vjb25kcyI6MCwiYXVkaW9GYWRlT3V0RHVyYXRpb25JblNlY29uZHMiOjAsImZhZGVJbkR1cmF0aW9uSW5TZWNvbmRzIjowLCJmYWRlT3V0RHVyYXRpb25JblNlY29uZHMiOjAsImtlZXBBc3BlY3RSYXRpbyI6dHJ1ZX0sIjhBdmsiOnsiaWQiOiI4QXZrIiwiZHVyYXRpb25JbkZyYW1lcyI6MzY0LCJ2aWRlb1N0YXJ0RnJvbUluU2Vjb25kcyI6Mi4yMDAwMDAwMDAwMDAwMDIsImZyb20iOjQ5NjAsInR5cGUiOiJ2aWRlbyIsImFzc2V0SWQiOiIxUktvIiwiaXNEcmFnZ2luZ0luVGltZWxpbmUiOmZhbHNlLCJ0b3AiOi0zMDksImxlZnQiOi01NDgsIndpZHRoIjoyNDczLCJoZWlnaHQiOjEzOTEsIm9wYWNpdHkiOjEsImJvcmRlclJhZGl1cyI6MCwicm90YXRpb24iOjAsImRlY2liZWxBZGp1c3RtZW50IjowLCJwbGF5YmFja1JhdGUiOjEsImF1ZGlvRmFkZUluRHVyYXRpb25JblNlY29uZHMiOjAsImF1ZGlvRmFkZU91dER1cmF0aW9uSW5TZWNvbmRzIjowLCJmYWRlSW5EdXJhdGlvbkluU2Vjb25kcyI6MCwiZmFkZU91dER1cmF0aW9uSW5TZWNvbmRzIjowLCJrZWVwQXNwZWN0UmF0aW8iOnRydWV9LCJSczdqIjp7ImlkIjoiUnM3aiIsImR1cmF0aW9uSW5GcmFtZXMiOjc2OSwidmlkZW9TdGFydEZyb21JblNlY29uZHMiOjkuNDMzMzMzMzMzMzMzMzM1LCJmcm9tIjo1MzI0LCJ0eXBlIjoidmlkZW8iLCJhc3NldElkIjoiRnVheiIsImlzRHJhZ2dpbmdJblRpbWVsaW5lIjpmYWxzZSwidG9wIjotMzA5LCJsZWZ0IjotNTQ4LCJ3aWR0aCI6MjQ3MywiaGVpZ2h0IjoxMzkxLCJvcGFjaXR5IjoxLCJib3JkZXJSYWRpdXMiOjAsInJvdGF0aW9uIjowLCJkZWNpYmVsQWRqdXN0bWVudCI6MCwicGxheWJhY2tSYXRlIjoxLCJhdWRpb0ZhZGVJbkR1cmF0aW9uSW5TZWNvbmRzIjowLCJhdWRpb0ZhZGVPdXREdXJhdGlvbkluU2Vjb25kcyI6MCwiZmFkZUluRHVyYXRpb25JblNlY29uZHMiOjAsImZhZGVPdXREdXJhdGlvbkluU2Vjb25kcyI6MCwia2VlcEFzcGVjdFJhdGlvIjp0cnVlfSwiRVZlRSI6eyJ0eXBlIjoiY2FwdGlvbnMiLCJhc3NldElkIjoiMzFmNSIsImR1cmF0aW9uSW5GcmFtZXMiOjk4LCJmcm9tIjowLCJoZWlnaHQiOjE5MiwiaWQiOiJFVmVFIiwiaXNEcmFnZ2luZ0luVGltZWxpbmUiOmZhbHNlLCJsZWZ0Ijo1MzAsInRvcCI6Nzc4LCJ3aWR0aCI6ODYwLCJvcGFjaXR5IjoxLCJmb250RmFtaWx5IjoiVGlrVG9rIFNhbnMiLCJmb250U3R5bGUiOnsidmFyaWFudCI6Im5vcm1hbCIsIndlaWdodCI6IjYwMCJ9LCJyb3RhdGlvbiI6MCwibGluZUhlaWdodCI6MS4yLCJsZXR0ZXJTcGFjaW5nIjowLCJmb250U2l6ZSI6ODAsImFsaWduIjoiY2VudGVyIiwiY29sb3IiOiJ3aGl0ZSIsImhpZ2hsaWdodENvbG9yIjoiIzAyYzhmZiIsImRpcmVjdGlvbiI6Imx0ciIsInBhZ2VEdXJhdGlvbkluTWlsbGlzZWNvbmRzIjoyODAwLCJjYXB0aW9uU3RhcnRJblNlY29uZHMiOjM3Ljk5OTk5OTk5OTk5OTk0LCJzdHJva2VXaWR0aCI6MTAsInN0cm9rZUNvbG9yIjoiYmxhY2siLCJtYXhMaW5lcyI6MiwiZmFkZUluRHVyYXRpb25JblNlY29uZHMiOjAsImZhZGVPdXREdXJhdGlvbkluU2Vjb25kcyI6MH0sInpnQXoiOnsiaWQiOiJ6Z0F6IiwiZHVyYXRpb25JbkZyYW1lcyI6MTQ0LCJ0b3AiOi01LCJsZWZ0IjotMTgsIndpZHRoIjoxOTM2LCJoZWlnaHQiOjE1NzEsImZyb20iOjIzODAsInR5cGUiOiJpbWFnZSIsIm9wYWNpdHkiOjEsImJvcmRlclJhZGl1cyI6MCwicm90YXRpb24iOjAsImFzc2V0SWQiOiIxRFdjIiwiaXNEcmFnZ2luZ0luVGltZWxpbmUiOmZhbHNlLCJrZWVwQXNwZWN0UmF0aW8iOnRydWUsImZhZGVJbkR1cmF0aW9uSW5TZWNvbmRzIjowLjM2NjgxODEyMDU0Mjk5NTgsImZhZGVPdXREdXJhdGlvbkluU2Vjb25kcyI6MC40MDg3OTA5MjAwMDg4MDYxfSwiZDBTSyI6eyJpZCI6ImQwU0siLCJkdXJhdGlvbkluRnJhbWVzIjo2MywidmlkZW9TdGFydEZyb21JblNlY29uZHMiOjAsImZyb20iOjI5OTgsInR5cGUiOiJ2aWRlbyIsImFzc2V0SWQiOiJuMUlEIiwiaXNEcmFnZ2luZ0luVGltZWxpbmUiOmZhbHNlLCJ0b3AiOjAsImxlZnQiOi0xLCJ3aWR0aCI6MTk0MSwiaGVpZ2h0IjoxMDkzLCJvcGFjaXR5IjoxLCJib3JkZXJSYWRpdXMiOjAsInJvdGF0aW9uIjowLCJkZWNpYmVsQWRqdXN0bWVudCI6LTYwLCJwbGF5YmFja1JhdGUiOjIuNTUsImF1ZGlvRmFkZUluRHVyYXRpb25JblNlY29uZHMiOjAsImF1ZGlvRmFkZU91dER1cmF0aW9uSW5TZWNvbmRzIjowLCJmYWRlSW5EdXJhdGlvbkluU2Vjb25kcyI6MCwiZmFkZU91dER1cmF0aW9uSW5TZWNvbmRzIjowLCJrZWVwQXNwZWN0UmF0aW8iOnRydWV9LCJuZGZWIjp7ImlkIjoibmRmViIsImR1cmF0aW9uSW5GcmFtZXMiOjQ2LCJ2aWRlb1N0YXJ0RnJvbUluU2Vjb25kcyI6MS4wNjY2NjY2NjY2NjY2NjUzLCJmcm9tIjozMDYxLCJ0eXBlIjoidmlkZW8iLCJhc3NldElkIjoiTGN5ciIsImlzRHJhZ2dpbmdJblRpbWVsaW5lIjpmYWxzZSwidG9wIjotMTU5LCJsZWZ0IjotMzcwLCJ3aWR0aCI6MjU0NywiaGVpZ2h0IjoxNDM0LCJvcGFjaXR5IjoxLCJib3JkZXJSYWRpdXMiOjAsInJvdGF0aW9uIjowLCJkZWNpYmVsQWRqdXN0bWVudCI6MCwicGxheWJhY2tSYXRlIjoxLCJhdWRpb0ZhZGVJbkR1cmF0aW9uSW5TZWNvbmRzIjowLCJhdWRpb0ZhZGVPdXREdXJhdGlvbkluU2Vjb25kcyI6MCwiZmFkZUluRHVyYXRpb25JblNlY29uZHMiOjAsImZhZGVPdXREdXJhdGlvbkluU2Vjb25kcyI6MCwia2VlcEFzcGVjdFJhdGlvIjp0cnVlfSwiNXRZcyI6eyJpZCI6IjV0WXMiLCJkdXJhdGlvbkluRnJhbWVzIjo0NiwidmlkZW9TdGFydEZyb21JblNlY29uZHMiOjYuNjEzMzMzMzMzMzMzMzMsImZyb20iOjMxMDcsInR5cGUiOiJ2aWRlbyIsImFzc2V0SWQiOiJkcE11IiwiaXNEcmFnZ2luZ0luVGltZWxpbmUiOmZhbHNlLCJ0b3AiOi05NSwibGVmdCI6LTU0Nywid2lkdGgiOjI0NjUsImhlaWdodCI6MTM4OCwib3BhY2l0eSI6MSwiYm9yZGVyUmFkaXVzIjowLCJyb3RhdGlvbiI6MCwiZGVjaWJlbEFkanVzdG1lbnQiOjAsInBsYXliYWNrUmF0ZSI6MC42NSwiYXVkaW9GYWRlSW5EdXJhdGlvbkluU2Vjb25kcyI6MCwiYXVkaW9GYWRlT3V0RHVyYXRpb25JblNlY29uZHMiOjAsImZhZGVJbkR1cmF0aW9uSW5TZWNvbmRzIjowLCJmYWRlT3V0RHVyYXRpb25JblNlY29uZHMiOjAsImtlZXBBc3BlY3RSYXRpbyI6dHJ1ZX0sInI5STUiOnsiaWQiOiJyOUk1IiwiZHVyYXRpb25JbkZyYW1lcyI6NDYsInZpZGVvU3RhcnRGcm9tSW5TZWNvbmRzIjoxLjU2NjY2NjY2NjY2NjY2NjksImZyb20iOjMxNTMsInR5cGUiOiJ2aWRlbyIsImFzc2V0SWQiOiJDTkdLIiwiaXNEcmFnZ2luZ0luVGltZWxpbmUiOmZhbHNlLCJ0b3AiOjAsImxlZnQiOi05LCJ3aWR0aCI6MTkzMiwiaGVpZ2h0IjoxMDg3LCJvcGFjaXR5IjoxLCJib3JkZXJSYWRpdXMiOjAsInJvdGF0aW9uIjowLCJkZWNpYmVsQWRqdXN0bWVudCI6LTYwLCJwbGF5YmFja1JhdGUiOjEsImF1ZGlvRmFkZUluRHVyYXRpb25JblNlY29uZHMiOjAsImF1ZGlvRmFkZU91dER1cmF0aW9uSW5TZWNvbmRzIjowLCJmYWRlSW5EdXJhdGlvbkluU2Vjb25kcyI6MCwiZmFkZU91dER1cmF0aW9uSW5TZWNvbmRzIjowLCJrZWVwQXNwZWN0UmF0aW8iOnRydWV9LCI1cTk1Ijp7ImlkIjoiNXE5NSIsImR1cmF0aW9uSW5GcmFtZXMiOjY2LCJ2aWRlb1N0YXJ0RnJvbUluU2Vjb25kcyI6Ni43NjY2NjY2NjY2NjY2NjQsImZyb20iOjMxOTksInR5cGUiOiJ2aWRlbyIsImFzc2V0SWQiOiJOZnNGIiwiaXNEcmFnZ2luZ0luVGltZWxpbmUiOmZhbHNlLCJ0b3AiOi02MTksImxlZnQiOi0yMiwid2lkdGgiOjI3MTgsImhlaWdodCI6MTY5OCwib3BhY2l0eSI6MSwiYm9yZGVyUmFkaXVzIjowLCJyb3RhdGlvbiI6MCwiZGVjaWJlbEFkanVzdG1lbnQiOjAsInBsYXliYWNrUmF0ZSI6MS40LCJhdWRpb0ZhZGVJbkR1cmF0aW9uSW5TZWNvbmRzIjowLCJhdWRpb0ZhZGVPdXREdXJhdGlvbkluU2Vjb25kcyI6MCwiZmFkZUluRHVyYXRpb25JblNlY29uZHMiOjAsImZhZGVPdXREdXJhdGlvbkluU2Vjb25kcyI6MCwia2VlcEFzcGVjdFJhdGlvIjp0cnVlfSwiTXZkRyI6eyJpZCI6Ik12ZEciLCJkdXJhdGlvbkluRnJhbWVzIjo3NSwidmlkZW9TdGFydEZyb21JblNlY29uZHMiOjYuNTY2NjY2NjY2NjY2NjU5LCJmcm9tIjozMjY1LCJ0eXBlIjoidmlkZW8iLCJhc3NldElkIjoia1M4RyIsImlzRHJhZ2dpbmdJblRpbWVsaW5lIjpmYWxzZSwidG9wIjoxLCJsZWZ0IjotMTAyOSwid2lkdGgiOjM5MjQsImhlaWdodCI6MjIwOSwib3BhY2l0eSI6MSwiYm9yZGVyUmFkaXVzIjowLCJyb3RhdGlvbiI6MCwiZGVjaWJlbEFkanVzdG1lbnQiOjAsInBsYXliYWNrUmF0ZSI6MSwiYXVkaW9GYWRlSW5EdXJhdGlvbkluU2Vjb25kcyI6MCwiYXVkaW9GYWRlT3V0RHVyYXRpb25JblNlY29uZHMiOjAsImZhZGVJbkR1cmF0aW9uSW5TZWNvbmRzIjowLCJmYWRlT3V0RHVyYXRpb25JblNlY29uZHMiOjAsImtlZXBBc3BlY3RSYXRpbyI6dHJ1ZX0sIms5bUUiOnsiaWQiOiJrOW1FIiwiZHVyYXRpb25JbkZyYW1lcyI6MTM1LCJhdWRpb1N0YXJ0RnJvbUluU2Vjb25kcyI6MCwiZnJvbSI6MzMxMywidHlwZSI6ImF1ZGlvIiwidG9wIjowLCJsZWZ0IjowLCJ3aWR0aCI6MTAwLCJoZWlnaHQiOjEwMCwib3BhY2l0eSI6MSwiZGVjaWJlbEFkanVzdG1lbnQiOi0xNy41NDkxMDcxNDI4NTcxNCwicGxheWJhY2tSYXRlIjoxLCJhdWRpb0ZhZGVJbkR1cmF0aW9uSW5TZWNvbmRzIjowLjg5OTk2MDE1MDgyOTAzMTIsImF1ZGlvRmFkZU91dER1cmF0aW9uSW5TZWNvbmRzIjowLjg5MzQ1NDQxNDc5ODk0MTgsImFzc2V0SWQiOiIwM1ROIiwiaXNEcmFnZ2luZ0luVGltZWxpbmUiOmZhbHNlfSwiclVpVyI6eyJ0eXBlIjoic29saWQiLCJjb2xvciI6IiMyODI4MmQiLCJkdXJhdGlvbkluRnJhbWVzIjo5NywiZnJvbSI6MzMyNCwidG9wIjowLCJsZWZ0IjowLCJ3aWR0aCI6MTk0MiwiaGVpZ2h0IjoxMDk0LCJpc0RyYWdnaW5nSW5UaW1lbGluZSI6ZmFsc2UsImlkIjoiclVpVyIsIm9wYWNpdHkiOjEsImJvcmRlclJhZGl1cyI6MCwicm90YXRpb24iOjAsImtlZXBBc3BlY3RSYXRpbyI6ZmFsc2UsImZhZGVJbkR1cmF0aW9uSW5TZWNvbmRzIjowLjE5MTI4MDg5ODM0MzU0NDMsImZhZGVPdXREdXJhdGlvbkluU2Vjb25kcyI6MC4xMjc1OTE4OTkyMDI1OTkwM30sImxQZ2ciOnsiaWQiOiJsUGdnIiwiZHVyYXRpb25JbkZyYW1lcyI6OTcsImZyb20iOjMzMjQsInR5cGUiOiJ0ZXh0IiwidGV4dCI6IkRlc2lnbiBnb2FscyIsImNvbG9yIjoiI2ZmZmZmZiIsInRvcCI6NDgxLCJsZWZ0Ijo3MDIuNSwid2lkdGgiOjQ2MCwiaGVpZ2h0Ijo5NiwiYWxpZ24iOiJjZW50ZXIiLCJvcGFjaXR5IjoxLCJyb3RhdGlvbiI6MCwiZm9udEZhbWlseSI6IlJvYm90byIsImZvbnRTaXplIjo4MCwibGluZUhlaWdodCI6MS4yLCJsZXR0ZXJTcGFjaW5nIjowLCJyZXNpemVPbkVkaXQiOnRydWUsImRpcmVjdGlvbiI6Imx0ciIsImZvbnRTdHlsZSI6eyJ2YXJpYW50Ijoibm9ybWFsIiwid2VpZ2h0IjoiNDAwIn0sImlzRHJhZ2dpbmdJblRpbWVsaW5lIjpmYWxzZSwic3Ryb2tlV2lkdGgiOjAsInN0cm9rZUNvbG9yIjoiIzAwMDAwMCIsImZhZGVJbkR1cmF0aW9uSW5TZWNvbmRzIjowLjE3MTk3NjM0MDI0OTYwNTQsImZhZGVPdXREdXJhdGlvbkluU2Vjb25kcyI6MC4xMjQxNjk0ODQ0NzEyNjM2MX0sIlJBbnoiOnsiaWQiOiJSQW56IiwiZHVyYXRpb25JbkZyYW1lcyI6NjIsInZpZGVvU3RhcnRGcm9tSW5TZWNvbmRzIjoxLjU0MDAwMDAwMDAwMDAwMjMsImZyb20iOjM1MjksInR5cGUiOiJ2aWRlbyIsImFzc2V0SWQiOiI5TFl0IiwiaXNEcmFnZ2luZ0luVGltZWxpbmUiOmZhbHNlLCJ0b3AiOi0xNSwibGVmdCI6LTE3LCJ3aWR0aCI6MzM1NywiaGVpZ2h0IjoxODkwLCJvcGFjaXR5IjoxLCJib3JkZXJSYWRpdXMiOjAsInJvdGF0aW9uIjowLCJkZWNpYmVsQWRqdXN0bWVudCI6MCwicGxheWJhY2tSYXRlIjoxLjQsImF1ZGlvRmFkZUluRHVyYXRpb25JblNlY29uZHMiOjAsImF1ZGlvRmFkZU91dER1cmF0aW9uSW5TZWNvbmRzIjowLCJmYWRlSW5EdXJhdGlvbkluU2Vjb25kcyI6MC4yMjIyNjA2Njg4MzMwMzc1LCJmYWRlT3V0RHVyYXRpb25JblNlY29uZHMiOjAsImtlZXBBc3BlY3RSYXRpbyI6dHJ1ZX0sImhJS0oiOnsiaWQiOiJoSUtKIiwiZHVyYXRpb25JbkZyYW1lcyI6NDEsInZpZGVvU3RhcnRGcm9tSW5TZWNvbmRzIjoxLjg2NjY2NjY2NjY2NjY2NiwiZnJvbSI6MzU5MSwidHlwZSI6InZpZGVvIiwiYXNzZXRJZCI6IkJ3Vk4iLCJpc0RyYWdnaW5nSW5UaW1lbGluZSI6ZmFsc2UsInRvcCI6LTMyMCwibGVmdCI6LTUzOSwid2lkdGgiOjM0ODEsImhlaWdodCI6MTk2MCwib3BhY2l0eSI6MSwiYm9yZGVyUmFkaXVzIjowLCJyb3RhdGlvbiI6MCwiZGVjaWJlbEFkanVzdG1lbnQiOjEuMTI1LCJwbGF5YmFja1JhdGUiOjEsImF1ZGlvRmFkZUluRHVyYXRpb25JblNlY29uZHMiOjAsImF1ZGlvRmFkZU91dER1cmF0aW9uSW5TZWNvbmRzIjowLCJmYWRlSW5EdXJhdGlvbkluU2Vjb25kcyI6MCwiZmFkZU91dER1cmF0aW9uSW5TZWNvbmRzIjowLCJrZWVwQXNwZWN0UmF0aW8iOnRydWV9LCJDRnV4Ijp7ImlkIjoiQ0Z1eCIsImR1cmF0aW9uSW5GcmFtZXMiOjQ0LCJ2aWRlb1N0YXJ0RnJvbUluU2Vjb25kcyI6Mi45MzMzMzMzMzMzMzMzMzQsImZyb20iOjM2MzIsInR5cGUiOiJ2aWRlbyIsImFzc2V0SWQiOiJCd1ZOIiwiaXNEcmFnZ2luZ0luVGltZWxpbmUiOmZhbHNlLCJ0b3AiOi0xODEsImxlZnQiOi0xMzkyLCJ3aWR0aCI6MzMxNCwiaGVpZ2h0IjoxODY2LCJvcGFjaXR5IjoxLCJib3JkZXJSYWRpdXMiOjAsInJvdGF0aW9uIjowLCJkZWNpYmVsQWRqdXN0bWVudCI6MCwicGxheWJhY2tSYXRlIjoxLCJhdWRpb0ZhZGVJbkR1cmF0aW9uSW5TZWNvbmRzIjowLCJhdWRpb0ZhZGVPdXREdXJhdGlvbkluU2Vjb25kcyI6MCwiZmFkZUluRHVyYXRpb25JblNlY29uZHMiOjAsImZhZGVPdXREdXJhdGlvbkluU2Vjb25kcyI6MCwia2VlcEFzcGVjdFJhdGlvIjp0cnVlfSwiZ3FrcCI6eyJpZCI6Imdxa3AiLCJkdXJhdGlvbkluRnJhbWVzIjo0MCwidmlkZW9TdGFydEZyb21JblNlY29uZHMiOjQuNTMzMzMzMzMzMzMzMzMzLCJmcm9tIjozNjc2LCJ0eXBlIjoidmlkZW8iLCJhc3NldElkIjoiQndWTiIsImlzRHJhZ2dpbmdJblRpbWVsaW5lIjpmYWxzZSwidG9wIjotMTY5NSwibGVmdCI6LTMwNDEsIndpZHRoIjo0OTY3LCJoZWlnaHQiOjI3OTYsIm9wYWNpdHkiOjEsImJvcmRlclJhZGl1cyI6MCwicm90YXRpb24iOjAsImRlY2liZWxBZGp1c3RtZW50IjowLCJwbGF5YmFja1JhdGUiOjEsImF1ZGlvRmFkZUluRHVyYXRpb25JblNlY29uZHMiOjAsImF1ZGlvRmFkZU91dER1cmF0aW9uSW5TZWNvbmRzIjowLCJmYWRlSW5EdXJhdGlvbkluU2Vjb25kcyI6MCwiZmFkZU91dER1cmF0aW9uSW5TZWNvbmRzIjowLCJrZWVwQXNwZWN0UmF0aW8iOnRydWV9LCJ0Njh0Ijp7ImlkIjoidDY4dCIsImR1cmF0aW9uSW5GcmFtZXMiOjMyLCJ2aWRlb1N0YXJ0RnJvbUluU2Vjb25kcyI6NS4yMzAwMDAwMDAwMDAwMDIsImZyb20iOjM3MTYsInR5cGUiOiJ2aWRlbyIsImFzc2V0SWQiOiJCd1ZOIiwiaXNEcmFnZ2luZ0luVGltZWxpbmUiOmZhbHNlLCJ0b3AiOi02OTQsImxlZnQiOi0yNDkzLCJ3aWR0aCI6NjMzMSwiaGVpZ2h0IjozNTY0LCJvcGFjaXR5IjoxLCJib3JkZXJSYWRpdXMiOjAsInJvdGF0aW9uIjowLCJkZWNpYmVsQWRqdXN0bWVudCI6MCwicGxheWJhY2tSYXRlIjowLjcsImF1ZGlvRmFkZUluRHVyYXRpb25JblNlY29uZHMiOjAsImF1ZGlvRmFkZU91dER1cmF0aW9uSW5TZWNvbmRzIjowLCJmYWRlSW5EdXJhdGlvbkluU2Vjb25kcyI6MCwiZmFkZU91dER1cmF0aW9uSW5TZWNvbmRzIjowLCJrZWVwQXNwZWN0UmF0aW8iOnRydWV9LCJObElJIjp7ImlkIjoiTmxJSSIsImR1cmF0aW9uSW5GcmFtZXMiOjgxLCJ2aWRlb1N0YXJ0RnJvbUluU2Vjb25kcyI6Mi44MDE2NjY2NjY2NjY2NjM2LCJmcm9tIjozNzQ4LCJ0eXBlIjoidmlkZW8iLCJhc3NldElkIjoibERwMCIsImlzRHJhZ2dpbmdJblRpbWVsaW5lIjpmYWxzZSwidG9wIjotMjI3LCJsZWZ0IjotODEwLCJ3aWR0aCI6MzQ0OCwiaGVpZ2h0IjoxOTQxLCJvcGFjaXR5IjoxLCJib3JkZXJSYWRpdXMiOjAsInJvdGF0aW9uIjowLCJkZWNpYmVsQWRqdXN0bWVudCI6MCwicGxheWJhY2tSYXRlIjowLjY1LCJhdWRpb0ZhZGVJbkR1cmF0aW9uSW5TZWNvbmRzIjowLCJhdWRpb0ZhZGVPdXREdXJhdGlvbkluU2Vjb25kcyI6MCwiZmFkZUluRHVyYXRpb25JblNlY29uZHMiOjAsImZhZGVPdXREdXJhdGlvbkluU2Vjb25kcyI6MCwia2VlcEFzcGVjdFJhdGlvIjp0cnVlfSwic3QzVyI6eyJpZCI6InN0M1ciLCJkdXJhdGlvbkluRnJhbWVzIjo3NCwidmlkZW9TdGFydEZyb21JblNlY29uZHMiOjYuNjEzMzMzMzMzMzMzMzMsImZyb20iOjM4MjksInR5cGUiOiJ2aWRlbyIsImFzc2V0SWQiOiJkcE11IiwiaXNEcmFnZ2luZ0luVGltZWxpbmUiOmZhbHNlLCJ0b3AiOi05NSwibGVmdCI6LTU0Nywid2lkdGgiOjI0NjUsImhlaWdodCI6MTM4OCwib3BhY2l0eSI6MSwiYm9yZGVyUmFkaXVzIjowLCJyb3RhdGlvbiI6MCwiZGVjaWJlbEFkanVzdG1lbnQiOjAsInBsYXliYWNrUmF0ZSI6MC42NSwiYXVkaW9GYWRlSW5EdXJhdGlvbkluU2Vjb25kcyI6MCwiYXVkaW9GYWRlT3V0RHVyYXRpb25JblNlY29uZHMiOjAsImZhZGVJbkR1cmF0aW9uSW5TZWNvbmRzIjowLCJmYWRlT3V0RHVyYXRpb25JblNlY29uZHMiOjAsImtlZXBBc3BlY3RSYXRpbyI6dHJ1ZX0sIlV3UW4iOnsiaWQiOiJVd1FuIiwiZHVyYXRpb25JbkZyYW1lcyI6NDYsInZpZGVvU3RhcnRGcm9tSW5TZWNvbmRzIjozLjcwMDAwMDAwMDAwMDAwMiwiZnJvbSI6NDEyNiwidHlwZSI6InZpZGVvIiwiYXNzZXRJZCI6IlZ0YVUiLCJpc0RyYWdnaW5nSW5UaW1lbGluZSI6ZmFsc2UsInRvcCI6LTkwLCJsZWZ0IjotNjg1LCJ3aWR0aCI6MjY1MCwiaGVpZ2h0IjoxNDkxLCJvcGFjaXR5IjoxLCJib3JkZXJSYWRpdXMiOjAsInJvdGF0aW9uIjowLCJkZWNpYmVsQWRqdXN0bWVudCI6MCwicGxheWJhY2tSYXRlIjoxLCJhdWRpb0ZhZGVJbkR1cmF0aW9uSW5TZWNvbmRzIjowLCJhdWRpb0ZhZGVPdXREdXJhdGlvbkluU2Vjb25kcyI6MCwiZmFkZUluRHVyYXRpb25JblNlY29uZHMiOjAsImZhZGVPdXREdXJhdGlvbkluU2Vjb25kcyI6MCwia2VlcEFzcGVjdFJhdGlvIjp0cnVlfSwid0pjTyI6eyJpZCI6IndKY08iLCJkdXJhdGlvbkluRnJhbWVzIjozNywidmlkZW9TdGFydEZyb21JblNlY29uZHMiOjYuMTY2NjY2NjY2NjY2NjYyNSwiZnJvbSI6NDA4OSwidHlwZSI6InZpZGVvIiwiYXNzZXRJZCI6IjNSR0IiLCJpc0RyYWdnaW5nSW5UaW1lbGluZSI6ZmFsc2UsInRvcCI6LTM5NywibGVmdCI6LTQyMSwid2lkdGgiOjQxMDUsImhlaWdodCI6MjMxMSwib3BhY2l0eSI6MSwiYm9yZGVyUmFkaXVzIjowLCJyb3RhdGlvbiI6MCwiZGVjaWJlbEFkanVzdG1lbnQiOjAsInBsYXliYWNrUmF0ZSI6MC43LCJhdWRpb0ZhZGVJbkR1cmF0aW9uSW5TZWNvbmRzIjowLCJhdWRpb0ZhZGVPdXREdXJhdGlvbkluU2Vjb25kcyI6MCwiZmFkZUluRHVyYXRpb25JblNlY29uZHMiOjAsImZhZGVPdXREdXJhdGlvbkluU2Vjb25kcyI6MCwia2VlcEFzcGVjdFJhdGlvIjp0cnVlfSwiMlRZYiI6eyJpZCI6IjJUWWIiLCJkdXJhdGlvbkluRnJhbWVzIjo1MywidG9wIjotMiwibGVmdCI6LTE0NCwid2lkdGgiOjIxNDksImhlaWdodCI6MTQxMSwiZnJvbSI6NDE3MiwidHlwZSI6ImltYWdlIiwib3BhY2l0eSI6MSwiYm9yZGVyUmFkaXVzIjowLCJyb3RhdGlvbiI6MCwiYXNzZXRJZCI6IkUzb3YiLCJpc0RyYWdnaW5nSW5UaW1lbGluZSI6ZmFsc2UsImtlZXBBc3BlY3RSYXRpbyI6dHJ1ZSwiZmFkZUluRHVyYXRpb25JblNlY29uZHMiOjAsImZhZGVPdXREdXJhdGlvbkluU2Vjb25kcyI6MC4yNjIxNDc3OTkyNjM3Mjk5fSwiTHB1ZCI6eyJpZCI6IkxwdWQiLCJkdXJhdGlvbkluRnJhbWVzIjoxMTMsInZpZGVvU3RhcnRGcm9tSW5TZWNvbmRzIjoxLjI2NjY2NjY2NjY2NjY2NzMsImZyb20iOjQ0NjcsInR5cGUiOiJ2aWRlbyIsImFzc2V0SWQiOiJhYlRMIiwiaXNEcmFnZ2luZ0luVGltZWxpbmUiOmZhbHNlLCJ0b3AiOi0xLCJsZWZ0IjotNCwid2lkdGgiOjE5ODMsImhlaWdodCI6MTMwMSwib3BhY2l0eSI6MSwiYm9yZGVyUmFkaXVzIjowLCJyb3RhdGlvbiI6MCwiZGVjaWJlbEFkanVzdG1lbnQiOjAsInBsYXliYWNrUmF0ZSI6MSwiYXVkaW9GYWRlSW5EdXJhdGlvbkluU2Vjb25kcyI6MCwiYXVkaW9GYWRlT3V0RHVyYXRpb25JblNlY29uZHMiOjAsImZhZGVJbkR1cmF0aW9uSW5TZWNvbmRzIjowLCJmYWRlT3V0RHVyYXRpb25JblNlY29uZHMiOjAuNjE5NDEzMzYwNDYxMTczLCJrZWVwQXNwZWN0UmF0aW8iOnRydWV9LCJvd2VYIjp7ImlkIjoib3dlWCIsImR1cmF0aW9uSW5GcmFtZXMiOjIxOCwidmlkZW9TdGFydEZyb21JblNlY29uZHMiOjAsImZyb20iOjQ3NDIsInR5cGUiOiJ2aWRlbyIsImFzc2V0SWQiOiJuR2lMIiwiaXNEcmFnZ2luZ0luVGltZWxpbmUiOmZhbHNlLCJ0b3AiOjAsImxlZnQiOjAsIndpZHRoIjoxOTIwLCJoZWlnaHQiOjEwODAsIm9wYWNpdHkiOjEsImJvcmRlclJhZGl1cyI6MCwicm90YXRpb24iOjAsImRlY2liZWxBZGp1c3RtZW50IjowLCJwbGF5YmFja1JhdGUiOjEsImF1ZGlvRmFkZUluRHVyYXRpb25JblNlY29uZHMiOjAsImF1ZGlvRmFkZU91dER1cmF0aW9uSW5TZWNvbmRzIjowLCJmYWRlSW5EdXJhdGlvbkluU2Vjb25kcyI6MCwiZmFkZU91dER1cmF0aW9uSW5TZWNvbmRzIjowLCJrZWVwQXNwZWN0UmF0aW8iOnRydWV9LCJrZ3NkIjp7ImlkIjoia2dzZCIsImR1cmF0aW9uSW5GcmFtZXMiOjkzLCJ2aWRlb1N0YXJ0RnJvbUluU2Vjb25kcyI6MCwiZnJvbSI6NTQ4MSwidHlwZSI6InZpZGVvIiwiYXNzZXRJZCI6IjNOdFYiLCJpc0RyYWdnaW5nSW5UaW1lbGluZSI6ZmFsc2UsInRvcCI6LTIsImxlZnQiOi0yLCJ3aWR0aCI6MTkyMiwiaGVpZ2h0IjoxMTg5LCJvcGFjaXR5IjoxLCJib3JkZXJSYWRpdXMiOjAsInJvdGF0aW9uIjowLCJkZWNpYmVsQWRqdXN0bWVudCI6MCwicGxheWJhY2tSYXRlIjoxLjcsImF1ZGlvRmFkZUluRHVyYXRpb25JblNlY29uZHMiOjAsImF1ZGlvRmFkZU91dER1cmF0aW9uSW5TZWNvbmRzIjowLCJmYWRlSW5EdXJhdGlvbkluU2Vjb25kcyI6MC4xNTA0OTAyNDEwMDM5NzQ0OCwiZmFkZU91dER1cmF0aW9uSW5TZWNvbmRzIjowLjE4Nzc2ODQxNDM5NjA4NDgzLCJrZWVwQXNwZWN0UmF0aW8iOnRydWV9LCJIbUFHIjp7ImlkIjoiSG1BRyIsImR1cmF0aW9uSW5GcmFtZXMiOjkyLCJmcm9tIjo1NDgxLCJ0eXBlIjoidGV4dCIsInRleHQiOiJyZW1vdGlvbi5kZXYvZWRpdG9yLXN0YXJ0ZXIiLCJjb2xvciI6IiMwMDAwMDAiLCJ0b3AiOjkzMSwibGVmdCI6NjIzLCJ3aWR0aCI6NjgwLCJoZWlnaHQiOjY2LCJhbGlnbiI6ImNlbnRlciIsIm9wYWNpdHkiOjEsInJvdGF0aW9uIjowLCJmb250RmFtaWx5IjoiUm9ib3RvIiwiZm9udFNpemUiOjU1LCJsaW5lSGVpZ2h0IjoxLjIsImxldHRlclNwYWNpbmciOjAsInJlc2l6ZU9uRWRpdCI6dHJ1ZSwiZGlyZWN0aW9uIjoibHRyIiwiZm9udFN0eWxlIjp7InZhcmlhbnQiOiJub3JtYWwiLCJ3ZWlnaHQiOiI3MDAifSwiaXNEcmFnZ2luZ0luVGltZWxpbmUiOmZhbHNlLCJzdHJva2VXaWR0aCI6MCwic3Ryb2tlQ29sb3IiOiIjMDAwMDAwIiwiZmFkZUluRHVyYXRpb25JblNlY29uZHMiOjAsImZhZGVPdXREdXJhdGlvbkluU2Vjb25kcyI6MH0sIlVCMUoiOnsidHlwZSI6InNvbGlkIiwiY29sb3IiOiIjZmZmZmZmIiwiZHVyYXRpb25JbkZyYW1lcyI6OTIsImZyb20iOjU0ODEsInRvcCI6OTAxLCJsZWZ0Ijo1MTYsIndpZHRoIjo4ODksImhlaWdodCI6MTI2LCJpc0RyYWdnaW5nSW5UaW1lbGluZSI6ZmFsc2UsImlkIjoiVUIxSiIsIm9wYWNpdHkiOjEsImJvcmRlclJhZGl1cyI6NjIsInJvdGF0aW9uIjowLCJrZWVwQXNwZWN0UmF0aW8iOmZhbHNlLCJmYWRlSW5EdXJhdGlvbkluU2Vjb25kcyI6MCwiZmFkZU91dER1cmF0aW9uSW5TZWNvbmRzIjowfSwiMk9FViI6eyJ0eXBlIjoic29saWQiLCJjb2xvciI6IiMyMTIxMjYiLCJkdXJhdGlvbkluRnJhbWVzIjozMTEsImZyb20iOjYwOTMsInRvcCI6MCwibGVmdCI6MCwid2lkdGgiOjE5MjAsImhlaWdodCI6MTA4MCwiaXNEcmFnZ2luZ0luVGltZWxpbmUiOmZhbHNlLCJpZCI6IjJPRVYiLCJvcGFjaXR5IjoxLCJib3JkZXJSYWRpdXMiOjAsInJvdGF0aW9uIjowLCJrZWVwQXNwZWN0UmF0aW8iOmZhbHNlLCJmYWRlSW5EdXJhdGlvbkluU2Vjb25kcyI6MCwiZmFkZU91dER1cmF0aW9uSW5TZWNvbmRzIjowfSwiSWxXMCI6eyJpZCI6IklsVzAiLCJkdXJhdGlvbkluRnJhbWVzIjozMTEsInRvcCI6NzgsImxlZnQiOi00NjcsIndpZHRoIjoxNTIyLCJoZWlnaHQiOjkyNSwiZnJvbSI6NjA5MywidHlwZSI6ImltYWdlIiwib3BhY2l0eSI6MSwiYm9yZGVyUmFkaXVzIjowLCJyb3RhdGlvbiI6MCwiYXNzZXRJZCI6IllRVzEiLCJpc0RyYWdnaW5nSW5UaW1lbGluZSI6ZmFsc2UsImtlZXBBc3BlY3RSYXRpbyI6dHJ1ZSwiZmFkZUluRHVyYXRpb25JblNlY29uZHMiOjAsImZhZGVPdXREdXJhdGlvbkluU2Vjb25kcyI6MH0sIlV2MU0iOnsiaWQiOiJVdjFNIiwiZHVyYXRpb25JbkZyYW1lcyI6MzExLCJmcm9tIjo2MDkzLCJ0eXBlIjoidGV4dCIsInRleHQiOiJyZW1vdGlvbi5kZXYvZWRpdG9yLXN0YXJ0ZXIiLCJjb2xvciI6IiNmZmZmZmYiLCJ0b3AiOjI0MywibGVmdCI6MTE4Niwid2lkdGgiOjU1NCwiaGVpZ2h0Ijo1NSwiYWxpZ24iOiJsZWZ0Iiwib3BhY2l0eSI6MSwicm90YXRpb24iOjAsImZvbnRGYW1pbHkiOiJSb2JvdG8iLCJmb250U2l6ZSI6NDYsImxpbmVIZWlnaHQiOjEuMiwibGV0dGVyU3BhY2luZyI6MCwicmVzaXplT25FZGl0Ijp0cnVlLCJkaXJlY3Rpb24iOiJsdHIiLCJmb250U3R5bGUiOnsidmFyaWFudCI6Im5vcm1hbCIsIndlaWdodCI6IjQwMCJ9LCJpc0RyYWdnaW5nSW5UaW1lbGluZSI6ZmFsc2UsInN0cm9rZVdpZHRoIjowLCJzdHJva2VDb2xvciI6IiMwMDAwMDAiLCJmYWRlSW5EdXJhdGlvbkluU2Vjb25kcyI6MCwiZmFkZU91dER1cmF0aW9uSW5TZWNvbmRzIjowfSwiUURSVCI6eyJpZCI6IlFEUlQiLCJkdXJhdGlvbkluRnJhbWVzIjozMjcsImF1ZGlvU3RhcnRGcm9tSW5TZWNvbmRzIjowLCJmcm9tIjo2MDc3LCJ0eXBlIjoiYXVkaW8iLCJ0b3AiOjAsImxlZnQiOjAsIndpZHRoIjoxMDAsImhlaWdodCI6MTAwLCJvcGFjaXR5IjoxLCJkZWNpYmVsQWRqdXN0bWVudCI6LTE3LjU0OTEwNzE0Mjg1NzE0LCJwbGF5YmFja1JhdGUiOjEsImF1ZGlvRmFkZUluRHVyYXRpb25JblNlY29uZHMiOjAuODk5OTYwMTUwODI5MDMxMiwiYXVkaW9GYWRlT3V0RHVyYXRpb25JblNlY29uZHMiOjAuODkzNDU0NDE0Nzk4OTQxOCwiYXNzZXRJZCI6IjAzVE4iLCJpc0RyYWdnaW5nSW5UaW1lbGluZSI6ZmFsc2V9LCI4bXluIjp7ImlkIjoiOG15biIsImR1cmF0aW9uSW5GcmFtZXMiOjMxMSwiZnJvbSI6NjA5MywidHlwZSI6InRleHQiLCJ0ZXh0IjoiRG9jcyIsImNvbG9yIjoiIzA4ODRmMyIsInRvcCI6MjA2LCJsZWZ0IjoxMTg1LCJ3aWR0aCI6NjEsImhlaWdodCI6MzIsImFsaWduIjoibGVmdCIsIm9wYWNpdHkiOjEsInJvdGF0aW9uIjowLCJmb250RmFtaWx5IjoiUm9ib3RvIiwiZm9udFNpemUiOjI3LCJsaW5lSGVpZ2h0IjoxLjIsImxldHRlclNwYWNpbmciOjAsInJlc2l6ZU9uRWRpdCI6dHJ1ZSwiZGlyZWN0aW9uIjoibHRyIiwiZm9udFN0eWxlIjp7InZhcmlhbnQiOiJub3JtYWwiLCJ3ZWlnaHQiOiI3MDAifSwiaXNEcmFnZ2luZ0luVGltZWxpbmUiOmZhbHNlLCJzdHJva2VXaWR0aCI6MCwic3Ryb2tlQ29sb3IiOiIjMDg4NGYzIiwiZmFkZUluRHVyYXRpb25JblNlY29uZHMiOjAsImZhZGVPdXREdXJhdGlvbkluU2Vjb25kcyI6MH0sInlFRTciOnsiaWQiOiJ5RUU3IiwiZHVyYXRpb25JbkZyYW1lcyI6MzExLCJmcm9tIjo2MDkzLCJ0eXBlIjoidGV4dCIsInRleHQiOiJyZW1vdGlvbi5wcm8vZWRpdG9yLXN0YXJ0ZXIiLCJjb2xvciI6IiNmZmZmZmYiLCJ0b3AiOjQwMiwibGVmdCI6MTE4Niwid2lkdGgiOjU0OSwiaGVpZ2h0Ijo1NSwiYWxpZ24iOiJsZWZ0Iiwib3BhY2l0eSI6MSwicm90YXRpb24iOjAsImZvbnRGYW1pbHkiOiJSb2JvdG8iLCJmb250U2l6ZSI6NDYsImxpbmVIZWlnaHQiOjEuMiwibGV0dGVyU3BhY2luZyI6MCwicmVzaXplT25FZGl0Ijp0cnVlLCJkaXJlY3Rpb24iOiJsdHIiLCJmb250U3R5bGUiOnsidmFyaWFudCI6Im5vcm1hbCIsIndlaWdodCI6IjQwMCJ9LCJpc0RyYWdnaW5nSW5UaW1lbGluZSI6ZmFsc2UsInN0cm9rZVdpZHRoIjowLCJzdHJva2VDb2xvciI6IiMwMDAwMDAiLCJmYWRlSW5EdXJhdGlvbkluU2Vjb25kcyI6MCwiZmFkZU91dER1cmF0aW9uSW5TZWNvbmRzIjowfSwiU2w4WSI6eyJpZCI6IlNsOFkiLCJkdXJhdGlvbkluRnJhbWVzIjozMTEsImZyb20iOjYwOTMsInR5cGUiOiJ0ZXh0IiwidGV4dCI6IkJ1eSIsImNvbG9yIjoiIzA4ODRmMyIsInRvcCI6MzY1LCJsZWZ0IjoxMTg1LCJ3aWR0aCI6NDYsImhlaWdodCI6MzIsImFsaWduIjoibGVmdCIsIm9wYWNpdHkiOjEsInJvdGF0aW9uIjowLCJmb250RmFtaWx5IjoiUm9ib3RvIiwiZm9udFNpemUiOjI3LCJsaW5lSGVpZ2h0IjoxLjIsImxldHRlclNwYWNpbmciOjAsInJlc2l6ZU9uRWRpdCI6dHJ1ZSwiZGlyZWN0aW9uIjoibHRyIiwiZm9udFN0eWxlIjp7InZhcmlhbnQiOiJub3JtYWwiLCJ3ZWlnaHQiOiI3MDAifSwiaXNEcmFnZ2luZ0luVGltZWxpbmUiOmZhbHNlLCJzdHJva2VXaWR0aCI6MCwic3Ryb2tlQ29sb3IiOiIjMDg4NGYzIiwiZmFkZUluRHVyYXRpb25JblNlY29uZHMiOjAsImZhZGVPdXREdXJhdGlvbkluU2Vjb25kcyI6MH0sInZUa2siOnsiaWQiOiJ2VGtrIiwiZHVyYXRpb25JbkZyYW1lcyI6MzExLCJmcm9tIjo2MDkzLCJ0eXBlIjoidGV4dCIsInRleHQiOiJlZGl0b3Itc3RhcnRlci5yZW1vdGlvbi5kZXYiLCJjb2xvciI6IiNmZmZmZmYiLCJ0b3AiOjU2MCwibGVmdCI6MTE4Niwid2lkdGgiOjU0NSwiaGVpZ2h0Ijo1NSwiYWxpZ24iOiJsZWZ0Iiwib3BhY2l0eSI6MSwicm90YXRpb24iOjAsImZvbnRGYW1pbHkiOiJSb2JvdG8iLCJmb250U2l6ZSI6NDYsImxpbmVIZWlnaHQiOjEuMiwibGV0dGVyU3BhY2luZyI6MCwicmVzaXplT25FZGl0Ijp0cnVlLCJkaXJlY3Rpb24iOiJsdHIiLCJmb250U3R5bGUiOnsidmFyaWFudCI6Im5vcm1hbCIsIndlaWdodCI6IjQwMCJ9LCJpc0RyYWdnaW5nSW5UaW1lbGluZSI6ZmFsc2UsInN0cm9rZVdpZHRoIjowLCJzdHJva2VDb2xvciI6IiMwMDAwMDAiLCJmYWRlSW5EdXJhdGlvbkluU2Vjb25kcyI6MCwiZmFkZU91dER1cmF0aW9uSW5TZWNvbmRzIjowfSwiVnpnTCI6eyJpZCI6IlZ6Z0wiLCJkdXJhdGlvbkluRnJhbWVzIjozMTEsImZyb20iOjYwOTMsInR5cGUiOiJ0ZXh0IiwidGV4dCI6IkRlbW8iLCJjb2xvciI6IiMwODg0ZjMiLCJ0b3AiOjUyMywibGVmdCI6MTE4NSwid2lkdGgiOjcxLCJoZWlnaHQiOjMyLCJhbGlnbiI6ImxlZnQiLCJvcGFjaXR5IjoxLCJyb3RhdGlvbiI6MCwiZm9udEZhbWlseSI6IlJvYm90byIsImZvbnRTaXplIjoyNywibGluZUhlaWdodCI6MS4yLCJsZXR0ZXJTcGFjaW5nIjowLCJyZXNpemVPbkVkaXQiOnRydWUsImRpcmVjdGlvbiI6Imx0ciIsImZvbnRTdHlsZSI6eyJ2YXJpYW50Ijoibm9ybWFsIiwid2VpZ2h0IjoiNzAwIn0sImlzRHJhZ2dpbmdJblRpbWVsaW5lIjpmYWxzZSwic3Ryb2tlV2lkdGgiOjAsInN0cm9rZUNvbG9yIjoiIzA4ODRmMyIsImZhZGVJbkR1cmF0aW9uSW5TZWNvbmRzIjowLCJmYWRlT3V0RHVyYXRpb25JblNlY29uZHMiOjB9LCJRN01wIjp7ImlkIjoiUTdNcCIsImR1cmF0aW9uSW5GcmFtZXMiOjMxMSwiZnJvbSI6NjA5MywidHlwZSI6InRleHQiLCJ0ZXh0IjoiTGluayBiZWxvdyIsImNvbG9yIjoiI2ZmZmZmZiIsInRvcCI6NzE2LCJsZWZ0IjoxMTg2LCJ3aWR0aCI6MjE5LCJoZWlnaHQiOjU1LCJhbGlnbiI6ImxlZnQiLCJvcGFjaXR5IjoxLCJyb3RhdGlvbiI6MCwiZm9udEZhbWlseSI6IlJvYm90byIsImZvbnRTaXplIjo0NiwibGluZUhlaWdodCI6MS4yLCJsZXR0ZXJTcGFjaW5nIjowLCJyZXNpemVPbkVkaXQiOnRydWUsImRpcmVjdGlvbiI6Imx0ciIsImZvbnRTdHlsZSI6eyJ2YXJpYW50Ijoibm9ybWFsIiwid2VpZ2h0IjoiNDAwIn0sImlzRHJhZ2dpbmdJblRpbWVsaW5lIjpmYWxzZSwic3Ryb2tlV2lkdGgiOjAsInN0cm9rZUNvbG9yIjoiIzAwMDAwMCIsImZhZGVJbkR1cmF0aW9uSW5TZWNvbmRzIjowLCJmYWRlT3V0RHVyYXRpb25JblNlY29uZHMiOjB9LCJZMjJBIjp7ImlkIjoiWTIyQSIsImR1cmF0aW9uSW5GcmFtZXMiOjMxMSwiZnJvbSI6NjA5MywidHlwZSI6InRleHQiLCJ0ZXh0IjoiRWRpdCB0aGlzIHZpZGVvIiwiY29sb3IiOiIjMDg4NGYzIiwidG9wIjo2NzksImxlZnQiOjExODUsIndpZHRoIjoxNzEsImhlaWdodCI6MzIsImFsaWduIjoibGVmdCIsIm9wYWNpdHkiOjEsInJvdGF0aW9uIjowLCJmb250RmFtaWx5IjoiUm9ib3RvIiwiZm9udFNpemUiOjI3LCJsaW5lSGVpZ2h0IjoxLjIsImxldHRlclNwYWNpbmciOjAsInJlc2l6ZU9uRWRpdCI6dHJ1ZSwiZGlyZWN0aW9uIjoibHRyIiwiZm9udFN0eWxlIjp7InZhcmlhbnQiOiJub3JtYWwiLCJ3ZWlnaHQiOiI3MDAifSwiaXNEcmFnZ2luZ0luVGltZWxpbmUiOmZhbHNlLCJzdHJva2VXaWR0aCI6MCwic3Ryb2tlQ29sb3IiOiIjMDg4NGYzIiwiZmFkZUluRHVyYXRpb25JblNlY29uZHMiOjAsImZhZGVPdXREdXJhdGlvbkluU2Vjb25kcyI6MH19LCJhc3NldHMiOnsibzVQVyI6eyJpZCI6Im81UFciLCJ0eXBlIjoidmlkZW8iLCJkdXJhdGlvbkluU2Vjb25kcyI6MTIuNTE4MDAwNjY2NjY2NjY3LCJoYXNBdWRpb1RyYWNrIjp0cnVlLCJmaWxlbmFtZSI6InRpbWVsaW5lLWltcG9ydC5tb3YiLCJyZW1vdGVVcmwiOiJodHRwczovL3JlbW90aW9ubGFtYmRhLWd4emxlNHlub2guczMtYWNjZWxlcmF0ZS5hbWF6b25hd3MuY29tLzE2ZDBiZWJhLWU1NjAtNGM0Ni1hNDJmLWJhODRiOTUwNjNjNyIsInJlbW90ZUZpbGVLZXkiOiIxNmQwYmViYS1lNTYwLTRjNDYtYTQyZi1iYTg0Yjk1MDYzYzciLCJzaXplIjoxMjI3ODUxMywibWltZVR5cGUiOiJ2aWRlby9xdWlja3RpbWUiLCJ3aWR0aCI6MTA4MCwiaGVpZ2h0Ijo2MDh9LCJ2UldZIjp7ImlkIjoidlJXWSIsInR5cGUiOiJ2aWRlbyIsImR1cmF0aW9uSW5TZWNvbmRzIjo5LjU1MTMzNCwiaGFzQXVkaW9UcmFjayI6dHJ1ZSwiZmlsZW5hbWUiOiJ0cmltLWxlZnQubW92IiwicmVtb3RlVXJsIjoiaHR0cHM6Ly9yZW1vdGlvbmxhbWJkYS1neHpsZTR5bm9oLnMzLWFjY2VsZXJhdGUuYW1hem9uYXdzLmNvbS8yYmE2OTQ5MC1iMmVjLTQ3ZGUtODhiNi01MWFkYmJiZjhlZTYiLCJyZW1vdGVGaWxlS2V5IjoiMmJhNjk0OTAtYjJlYy00N2RlLTg4YjYtNTFhZGJiYmY4ZWU2Iiwic2l6ZSI6OTIxNTc0NywibWltZVR5cGUiOiJ2aWRlby9xdWlja3RpbWUiLCJ3aWR0aCI6MTA4MCwiaGVpZ2h0Ijo2MDh9LCJha2RIIjp7ImlkIjoiYWtkSCIsInR5cGUiOiJ2aWRlbyIsImR1cmF0aW9uSW5TZWNvbmRzIjo2LjczNDY2NzMzMzMzMzMzMywiaGFzQXVkaW9UcmFjayI6dHJ1ZSwiZmlsZW5hbWUiOiJ0cmltLXJpZ2h0Lm1vdiIsInJlbW90ZVVybCI6Imh0dHBzOi8vcmVtb3Rpb25sYW1iZGEtZ3h6bGU0eW5vaC5zMy1hY2NlbGVyYXRlLmFtYXpvbmF3cy5jb20vM2RhNTc4ZDEtZDg0NS00NThlLTlhODYtMWIxNjQ0MWJmMDllIiwicmVtb3RlRmlsZUtleSI6IjNkYTU3OGQxLWQ4NDUtNDU4ZS05YTg2LTFiMTY0NDFiZjA5ZSIsInNpemUiOjYzNzQ4MTQsIm1pbWVUeXBlIjoidmlkZW8vcXVpY2t0aW1lIiwid2lkdGgiOjEwODAsImhlaWdodCI6NjA4fSwiM1JHQiI6eyJpZCI6IjNSR0IiLCJ0eXBlIjoidmlkZW8iLCJkdXJhdGlvbkluU2Vjb25kcyI6OS4zNTEzMzQwMDAwMDAwMDEsImhhc0F1ZGlvVHJhY2siOnRydWUsImZpbGVuYW1lIjoidXBsb2FkLWxvYWRpbmctaW5kaWNhdG9yLm1vdiIsInJlbW90ZVVybCI6Imh0dHBzOi8vcmVtb3Rpb25sYW1iZGEtZ3h6bGU0eW5vaC5zMy1hY2NlbGVyYXRlLmFtYXpvbmF3cy5jb20vOTdkOTZjZDktZDliZi00OGFhLWEzNWYtODAwYTI1Njg5YzQ3IiwicmVtb3RlRmlsZUtleSI6Ijk3ZDk2Y2Q5LWQ5YmYtNDhhYS1hMzVmLTgwMGEyNTY4OWM0NyIsInNpemUiOjkwNDU1NTEsIm1pbWVUeXBlIjoidmlkZW8vcXVpY2t0aW1lIiwid2lkdGgiOjEwODAsImhlaWdodCI6NjA4fSwiTVQ1dSI6eyJpZCI6Ik1UNXUiLCJ0eXBlIjoidmlkZW8iLCJkdXJhdGlvbkluU2Vjb25kcyI6MTIuMDUxMzM0LCJoYXNBdWRpb1RyYWNrIjp0cnVlLCJmaWxlbmFtZSI6InZvbHVtZS1jb250cm9sLm1vdiIsInJlbW90ZVVybCI6Imh0dHBzOi8vcmVtb3Rpb25sYW1iZGEtZ3h6bGU0eW5vaC5zMy1hY2NlbGVyYXRlLmFtYXpvbmF3cy5jb20vNmE2MzgxMGEtN2I3MS00ZDljLWI1MDEtMDZmNjI4NmI5NGVmIiwicmVtb3RlRmlsZUtleSI6IjZhNjM4MTBhLTdiNzEtNGQ5Yy1iNTAxLTA2ZjYyODZiOTRlZiIsInNpemUiOjExNzg1MDMyLCJtaW1lVHlwZSI6InZpZGVvL3F1aWNrdGltZSIsIndpZHRoIjoxMDgwLCJoZWlnaHQiOjYwOH0sIkVsdjAiOnsiaWQiOiJFbHYwIiwidHlwZSI6InZpZGVvIiwiZHVyYXRpb25JblNlY29uZHMiOjcuOTUxMzM0LCJoYXNBdWRpb1RyYWNrIjp0cnVlLCJmaWxlbmFtZSI6ImZhZGUtaW4ubW92IiwicmVtb3RlVXJsIjoiaHR0cHM6Ly9yZW1vdGlvbmxhbWJkYS1neHpsZTR5bm9oLnMzLWFjY2VsZXJhdGUuYW1hem9uYXdzLmNvbS81ZjU1NTAzZi00ZmMxLTRlZTktYTUxMi03MWE1MjViZWZmZmMiLCJyZW1vdGVGaWxlS2V5IjoiNWY1NTUwM2YtNGZjMS00ZWU5LWE1MTItNzFhNTI1YmVmZmZjIiwic2l6ZSI6NzU4MjY2MSwibWltZVR5cGUiOiJ2aWRlby9xdWlja3RpbWUiLCJ3aWR0aCI6MTA4MCwiaGVpZ2h0Ijo2MDh9LCJMRzBLIjp7ImlkIjoiTEcwSyIsInR5cGUiOiJ2aWRlbyIsImR1cmF0aW9uSW5TZWNvbmRzIjoxNS4xMDE2NjY2NjY2NjY2NjcsImhhc0F1ZGlvVHJhY2siOnRydWUsImZpbGVuYW1lIjoicGluY2gtdG8tem9vbS5NT1YiLCJyZW1vdGVVcmwiOiJodHRwczovL3JlbW90aW9ubGFtYmRhLWd4emxlNHlub2guczMtYWNjZWxlcmF0ZS5hbWF6b25hd3MuY29tLzc0M2MwZTVhLTI1NGYtNDkzYy05YTE5LWU2NDEwNzE5NzM1MiIsInJlbW90ZUZpbGVLZXkiOiI3NDNjMGU1YS0yNTRmLTQ5M2MtOWExOS1lNjQxMDcxOTczNTIiLCJzaXplIjoxNDgzOTI4MywibWltZVR5cGUiOiJ2aWRlby9xdWlja3RpbWUiLCJ3aWR0aCI6MTA4MCwiaGVpZ2h0Ijo2MDh9LCI5TFl0Ijp7ImlkIjoiOUxZdCIsInR5cGUiOiJ2aWRlbyIsImR1cmF0aW9uSW5TZWNvbmRzIjo3LjI2ODAwMDY2NjY2NjY2NjYsImhhc0F1ZGlvVHJhY2siOnRydWUsImZpbGVuYW1lIjoic29saWQtZHJhd2luZy10b29sLm1vdiIsInJlbW90ZVVybCI6Imh0dHBzOi8vcmVtb3Rpb25sYW1iZGEtZ3h6bGU0eW5vaC5zMy1hY2NlbGVyYXRlLmFtYXpvbmF3cy5jb20vYzJkNDBiNDUtZjQ0Mi00MjEyLTlkZDItZDE3ZWYwZTcxZjMxIiwicmVtb3RlRmlsZUtleSI6ImMyZDQwYjQ1LWY0NDItNDIxMi05ZGQyLWQxN2VmMGU3MWYzMSIsInNpemUiOjY4Njc4NDksIm1pbWVUeXBlIjoidmlkZW8vcXVpY2t0aW1lIiwid2lkdGgiOjEwODAsImhlaWdodCI6NjA4fSwibERwMCI6eyJpZCI6ImxEcDAiLCJ0eXBlIjoidmlkZW8iLCJkdXJhdGlvbkluU2Vjb25kcyI6MTEuNDM0NjY3MzMzMzMzMzM1LCJoYXNBdWRpb1RyYWNrIjp0cnVlLCJmaWxlbmFtZSI6ImZvbnQtc3R5bGVzLm1vdiIsInJlbW90ZVVybCI6Imh0dHBzOi8vcmVtb3Rpb25sYW1iZGEtZ3h6bGU0eW5vaC5zMy1hY2NlbGVyYXRlLmFtYXpvbmF3cy5jb20vNTgwMjhmN2EtNTViMy00MTM2LWExZjItODY2NTFiOWM2ZDhiIiwicmVtb3RlRmlsZUtleSI6IjU4MDI4ZjdhLTU1YjMtNDEzNi1hMWYyLTg2NjUxYjljNmQ4YiIsInNpemUiOjExMTIxNTE2LCJtaW1lVHlwZSI6InZpZGVvL3F1aWNrdGltZSIsIndpZHRoIjoxMDgwLCJoZWlnaHQiOjYwOH0sImRwTXUiOnsiaWQiOiJkcE11IiwidHlwZSI6InZpZGVvIiwiZHVyYXRpb25JblNlY29uZHMiOjExLjQzNDY2NzMzMzMzMzMzNSwiaGFzQXVkaW9UcmFjayI6dHJ1ZSwiZmlsZW5hbWUiOiJmb250LXN0eWxlcy5tb3YiLCJyZW1vdGVVcmwiOiJodHRwczovL3JlbW90aW9ubGFtYmRhLWd4emxlNHlub2guczMtYWNjZWxlcmF0ZS5hbWF6b25hd3MuY29tL2MyOWFhNmUzLTU2YTMtNGE4My1hMDk2LTg0YWM3ODU1ZWY4NCIsInJlbW90ZUZpbGVLZXkiOiJjMjlhYTZlMy01NmEzLTRhODMtYTA5Ni04NGFjNzg1NWVmODQiLCJzaXplIjoxMTEyMTUxNiwibWltZVR5cGUiOiJ2aWRlby9xdWlja3RpbWUiLCJ3aWR0aCI6MTA4MCwiaGVpZ2h0Ijo2MDh9LCJWdGFVIjp7ImlkIjoiVnRhVSIsInR5cGUiOiJ2aWRlbyIsImR1cmF0aW9uSW5TZWNvbmRzIjo2LjY2NSwiaGFzQXVkaW9UcmFjayI6dHJ1ZSwiZmlsZW5hbWUiOiJnZW5lcmF0aW5nLWNhcHRpb25zLm1vdiIsInJlbW90ZVVybCI6Imh0dHBzOi8vcmVtb3Rpb25sYW1iZGEtZ3h6bGU0eW5vaC5zMy1hY2NlbGVyYXRlLmFtYXpvbmF3cy5jb20vYzFkMjY5Y2EtY2U2MC00M2Q4LThiMGUtODFkOTA0ODIwNzIzIiwicmVtb3RlRmlsZUtleSI6ImMxZDI2OWNhLWNlNjAtNDNkOC04YjBlLTgxZDkwNDgyMDcyMyIsInNpemUiOjc4MTA3OTIsIm1pbWVUeXBlIjoidmlkZW8vcXVpY2t0aW1lIiwid2lkdGgiOjEwODAsImhlaWdodCI6NjA4fSwiQndWTiI6eyJpZCI6IkJ3Vk4iLCJ0eXBlIjoidmlkZW8iLCJkdXJhdGlvbkluU2Vjb25kcyI6OC4wODQ2NjczMzMzMzMzMzQsImhhc0F1ZGlvVHJhY2siOnRydWUsImZpbGVuYW1lIjoic2VuZC10by1iYWNrLWNlbnRlci1ib3JkZXItcmFkaXVzLm1vdiIsInJlbW90ZVVybCI6Imh0dHBzOi8vcmVtb3Rpb25sYW1iZGEtZ3h6bGU0eW5vaC5zMy1hY2NlbGVyYXRlLmFtYXpvbmF3cy5jb20vZjg0NGNjMTUtMjQ1OS00OGIxLTg2YzAtYWE0MjAzYjIxYzU1IiwicmVtb3RlRmlsZUtleSI6ImY4NDRjYzE1LTI0NTktNDhiMS04NmMwLWFhNDIwM2IyMWM1NSIsInNpemUiOjc3NTI4NTEsIm1pbWVUeXBlIjoidmlkZW8vcXVpY2t0aW1lIiwid2lkdGgiOjEwODAsImhlaWdodCI6NjA4fSwiMDNUTiI6eyJpZCI6IjAzVE4iLCJ0eXBlIjoiYXVkaW8iLCJkdXJhdGlvbkluU2Vjb25kcyI6NTguNTEyLCJmaWxlbmFtZSI6IkVTX09yZGluYXJ5IExvdmUgKEluc3RydW1lbnRhbCBWZXJzaW9uKSAtIExpc2EgVG93biAoVmVyc2lvbiAyZDEyOWFiNCkgLSBmdWxsbWl4X3ByZXZpZXcubXAzIiwicmVtb3RlVXJsIjoiaHR0cHM6Ly9yZW1vdGlvbmxhbWJkYS1neHpsZTR5bm9oLnMzLWFjY2VsZXJhdGUuYW1hem9uYXdzLmNvbS83NjdlY2Y4NS0yZjc4LTQ3YjItODJlNS01MmFhMWQ3YTgzZDEiLCJyZW1vdGVGaWxlS2V5IjoiNzY3ZWNmODUtMmY3OC00N2IyLTgyZTUtNTJhYTFkN2E4M2QxIiwic2l6ZSI6MjM0MDQ4MCwibWltZVR5cGUiOiJhdWRpby9tcGVnIn0sIkNOR0siOnsiaWQiOiJDTkdLIiwidHlwZSI6InZpZGVvIiwiZHVyYXRpb25JblNlY29uZHMiOjQuNTk3LCJoYXNBdWRpb1RyYWNrIjp0cnVlLCJmaWxlbmFtZSI6ImNhcHRpb25zLWFuZC1wbGF5YmFjay5tb3YiLCJyZW1vdGVVcmwiOiJodHRwczovL3JlbW90aW9ubGFtYmRhLWd4emxlNHlub2guczMtYWNjZWxlcmF0ZS5hbWF6b25hd3MuY29tL2RiNzg0YmY5LTlkYWMtNDVhNC05NjZmLTRlNDIwOWUxYTdhYSIsInJlbW90ZUZpbGVLZXkiOiJkYjc4NGJmOS05ZGFjLTQ1YTQtOTY2Zi00ZTQyMDllMWE3YWEiLCJzaXplIjo2NTAwNzU1LCJtaW1lVHlwZSI6InZpZGVvL3F1aWNrdGltZSIsIndpZHRoIjoxMDgwLCJoZWlnaHQiOjYwOH0sIndWd1ciOnsiaWQiOiJ3VndXIiwidHlwZSI6InZpZGVvIiwiZHVyYXRpb25JblNlY29uZHMiOjkuNzUxMzM0MDAwMDAwMDAyLCJoYXNBdWRpb1RyYWNrIjp0cnVlLCJmaWxlbmFtZSI6ImNhcHRpb24taGlnaGxpZ2h0LWNvbG9yLm1vdiIsInJlbW90ZVVybCI6Imh0dHBzOi8vcmVtb3Rpb25sYW1iZGEtZ3h6bGU0eW5vaC5zMy1hY2NlbGVyYXRlLmFtYXpvbmF3cy5jb20vZTA4MGY2YTQtNjk4My00ODk1LTk5NDUtZGYwZTZhMzgzNDY2IiwicmVtb3RlRmlsZUtleSI6ImUwODBmNmE0LTY5ODMtNDg5NS05OTQ1LWRmMGU2YTM4MzQ2NiIsInNpemUiOjk0MzY4MjgsIm1pbWVUeXBlIjoidmlkZW8vcXVpY2t0aW1lIiwid2lkdGgiOjEwODAsImhlaWdodCI6NjA4fSwiTGN5ciI6eyJpZCI6IkxjeXIiLCJ0eXBlIjoidmlkZW8iLCJkdXJhdGlvbkluU2Vjb25kcyI6Ni42MzQ2NjczMzMzMzMzMzQsImhhc0F1ZGlvVHJhY2siOnRydWUsImZpbGVuYW1lIjoiY2FudmFzLW1hcnF1ZWUtc2VsZWN0aW9uLWFuZC1tb3ZlLm1vdiIsInJlbW90ZVVybCI6Imh0dHBzOi8vcmVtb3Rpb25sYW1iZGEtZ3h6bGU0eW5vaC5zMy1hY2NlbGVyYXRlLmFtYXpvbmF3cy5jb20vZmMxNGY5YTktNWMwYi00NWIzLTg5NWQtOGFkMGEzNjc0YmYyIiwicmVtb3RlRmlsZUtleSI6ImZjMTRmOWE5LTVjMGItNDViMy04OTVkLThhZDBhMzY3NGJmMiIsInNpemUiOjYyNzI2MTQsIm1pbWVUeXBlIjoidmlkZW8vcXVpY2t0aW1lIiwid2lkdGgiOjEwODAsImhlaWdodCI6NjA4fSwiRkVoayI6eyJpZCI6IkZFaGsiLCJ0eXBlIjoidmlkZW8iLCJkdXJhdGlvbkluU2Vjb25kcyI6OS45NjgwMDA2NjY2NjY2NjcsImhhc0F1ZGlvVHJhY2siOnRydWUsImZpbGVuYW1lIjoidGltZWxpbmUtbWFycXVlZS1zZWxlY3Rpb24ubW92IiwicmVtb3RlVXJsIjoiaHR0cHM6Ly9yZW1vdGlvbmxhbWJkYS1neHpsZTR5bm9oLnMzLWFjY2VsZXJhdGUuYW1hem9uYXdzLmNvbS81YWNhYmZhNy1iMzU0LTQwY2YtYjkxMC0xZTk5YmRiNTU3ZGUiLCJyZW1vdGVGaWxlS2V5IjoiNWFjYWJmYTctYjM1NC00MGNmLWI5MTAtMWU5OWJkYjU1N2RlIiwic2l6ZSI6OTY3NTI4NywibWltZVR5cGUiOiJ2aWRlby9xdWlja3RpbWUiLCJ3aWR0aCI6MTA4MCwiaGVpZ2h0Ijo2MDh9LCJaRmlHIjp7ImlkIjoiWkZpRyIsInR5cGUiOiJ2aWRlbyIsImR1cmF0aW9uSW5TZWNvbmRzIjo3LjgwMTMzNDAwMDAwMDAwMSwiaGFzQXVkaW9UcmFjayI6dHJ1ZSwiZmlsZW5hbWUiOiJ0aW1lbGluZS16b29tLm1vdiIsInJlbW90ZVVybCI6Imh0dHBzOi8vcmVtb3Rpb25sYW1iZGEtZ3h6bGU0eW5vaC5zMy1hY2NlbGVyYXRlLmFtYXpvbmF3cy5jb20vZjM0ZjVlOTMtN2ZkMy00ZjhhLWJlODItNzFjYzA3NjIyN2EwIiwicmVtb3RlRmlsZUtleSI6ImYzNGY1ZTkzLTdmZDMtNGY4YS1iZTgyLTcxY2MwNzYyMjdhMCIsInNpemUiOjc0MTIxOTksIm1pbWVUeXBlIjoidmlkZW8vcXVpY2t0aW1lIiwid2lkdGgiOjEwODAsImhlaWdodCI6NjA4fSwib2JmSCI6eyJpZCI6Im9iZkgiLCJ0eXBlIjoidmlkZW8iLCJkdXJhdGlvbkluU2Vjb25kcyI6MTEuMDM0NjY3MzMzMzMzMzM1LCJoYXNBdWRpb1RyYWNrIjp0cnVlLCJmaWxlbmFtZSI6InNwbGl0LWl0ZW0tYW5kLXJvbGxpbmctZWRpdC5tb3YiLCJyZW1vdGVVcmwiOiJodHRwczovL3JlbW90aW9ubGFtYmRhLWd4emxlNHlub2guczMtYWNjZWxlcmF0ZS5hbWF6b25hd3MuY29tL2FhNmZhZGZiLWEzYmYtNDA3MC1hZTA0LTI0NTcwNGI4MGU4NSIsInJlbW90ZUZpbGVLZXkiOiJhYTZmYWRmYi1hM2JmLTQwNzAtYWUwNC0yNDU3MDRiODBlODUiLCJzaXplIjoxMDcxMzEzNCwibWltZVR5cGUiOiJ2aWRlby9xdWlja3RpbWUiLCJ3aWR0aCI6MTA4MCwiaGVpZ2h0Ijo2MDh9LCJuMUlEIjp7ImlkIjoibjFJRCIsInR5cGUiOiJ2aWRlbyIsImR1cmF0aW9uSW5TZWNvbmRzIjoxNi41ODksImhhc0F1ZGlvVHJhY2siOnRydWUsImZpbGVuYW1lIjoiZWRpdG9yLWJ1aWxkdXAubW92IiwicmVtb3RlVXJsIjoiaHR0cHM6Ly9yZW1vdGlvbmxhbWJkYS1neHpsZTR5bm9oLnMzLWFjY2VsZXJhdGUuYW1hem9uYXdzLmNvbS8xNzc5OGZlYy02ODliLTRhYWItOWJhMi0wNmRhMzY3YTQ5ZjQiLCJyZW1vdGVGaWxlS2V5IjoiMTc3OThmZWMtNjg5Yi00YWFiLTliYTItMDZkYTM2N2E0OWY0Iiwic2l6ZSI6MTg1NTA4MzAsIm1pbWVUeXBlIjoidmlkZW8vcXVpY2t0aW1lIiwid2lkdGgiOjEwODAsImhlaWdodCI6NjA4fSwia1M4RyI6eyJpZCI6ImtTOEciLCJ0eXBlIjoidmlkZW8iLCJkdXJhdGlvbkluU2Vjb25kcyI6OS4xMzQsImhhc0F1ZGlvVHJhY2siOnRydWUsImZpbGVuYW1lIjoicmVuZGVyaW5nLm1vdiIsInJlbW90ZVVybCI6Imh0dHBzOi8vcmVtb3Rpb25sYW1iZGEtZ3h6bGU0eW5vaC5zMy1hY2NlbGVyYXRlLmFtYXpvbmF3cy5jb20vMGIxOTBmMzYtYjg3OC00MjI3LThjYjUtZjBmNTIwNjhhNDI3IiwicmVtb3RlRmlsZUtleSI6IjBiMTkwZjM2LWI4NzgtNDIyNy04Y2I1LWYwZjUyMDY4YTQyNyIsInNpemUiOjEwNDI5MTQzLCJtaW1lVHlwZSI6InZpZGVvL3F1aWNrdGltZSIsIndpZHRoIjoxMDgwLCJoZWlnaHQiOjYwOH0sIkQ4NkciOnsiaWQiOiJEODZHIiwidHlwZSI6InZpZGVvIiwiZHVyYXRpb25JblNlY29uZHMiOjU0LjAzNjY2NjY2NjY2NjY3LCJoYXNBdWRpb1RyYWNrIjp0cnVlLCJmaWxlbmFtZSI6IklNR180ODIwLk1PViIsInJlbW90ZVVybCI6Imh0dHBzOi8vcmVtb3Rpb25sYW1iZGEtZ3h6bGU0eW5vaC5zMy1hY2NlbGVyYXRlLmFtYXpvbmF3cy5jb20vMDk0OTEyZjMtN2E1ZC00ODZiLWEwMmMtMGYxYWU0MmY4YWU5IiwicmVtb3RlRmlsZUtleSI6IjA5NDkxMmYzLTdhNWQtNDg2Yi1hMDJjLTBmMWFlNDJmOGFlOSIsInNpemUiOjUyMTI4ODIzLCJtaW1lVHlwZSI6InZpZGVvL3F1aWNrdGltZSIsIndpZHRoIjoxOTIwLCJoZWlnaHQiOjEwODB9LCJ0b0NhIjp7ImlkIjoidG9DYSIsInR5cGUiOiJ2aWRlbyIsImR1cmF0aW9uSW5TZWNvbmRzIjozNC44MDMzMzMzMzMzMzMzMzUsImhhc0F1ZGlvVHJhY2siOnRydWUsImZpbGVuYW1lIjoiSU1HXzQ4MjEuTU9WIiwicmVtb3RlVXJsIjoiaHR0cHM6Ly9yZW1vdGlvbmxhbWJkYS1neHpsZTR5bm9oLnMzLWFjY2VsZXJhdGUuYW1hem9uYXdzLmNvbS8zMjU1OWI5MS0yMjc1LTQ0NDItOGUyOS1lYzJiYTg2ZmEwMDUiLCJyZW1vdGVGaWxlS2V5IjoiMzI1NTliOTEtMjI3NS00NDQyLThlMjktZWMyYmE4NmZhMDA1Iiwic2l6ZSI6MzMyNDkxOTcsIm1pbWVUeXBlIjoidmlkZW8vcXVpY2t0aW1lIiwid2lkdGgiOjE5MjAsImhlaWdodCI6MTA4MH0sInRIUTIiOnsiaWQiOiJ0SFEyIiwidHlwZSI6InZpZGVvIiwiZHVyYXRpb25JblNlY29uZHMiOjQ3LjQzNjY2NjY2NjY2NjY3LCJoYXNBdWRpb1RyYWNrIjp0cnVlLCJmaWxlbmFtZSI6IklNR180ODIzLk1PViIsInJlbW90ZVVybCI6Imh0dHBzOi8vcmVtb3Rpb25sYW1iZGEtZ3h6bGU0eW5vaC5zMy1hY2NlbGVyYXRlLmFtYXpvbmF3cy5jb20vZTlmYWNmZTAtMjAxYS00YTc1LTg2YjEtOTEyNjVlNjZkYjY5IiwicmVtb3RlRmlsZUtleSI6ImU5ZmFjZmUwLTIwMWEtNGE3NS04NmIxLTkxMjY1ZTY2ZGI2OSIsInNpemUiOjQ1NzEwMTg2LCJtaW1lVHlwZSI6InZpZGVvL3F1aWNrdGltZSIsIndpZHRoIjoxOTIwLCJoZWlnaHQiOjEwODB9LCJDMUxVIjp7ImlkIjoiQzFMVSIsInR5cGUiOiJ2aWRlbyIsImR1cmF0aW9uSW5TZWNvbmRzIjoxNjQuNzQ4MzMzMzMzMzMzMzMsImhhc0F1ZGlvVHJhY2siOnRydWUsImZpbGVuYW1lIjoiSU1HXzQ4MjIuTU9WIiwicmVtb3RlVXJsIjoiaHR0cHM6Ly9yZW1vdGlvbmxhbWJkYS1neHpsZTR5bm9oLnMzLWFjY2VsZXJhdGUuYW1hem9uYXdzLmNvbS9kOTYzMTA5OS04ODEzLTRkMjYtOTM3ZC1kMWU4OGZkMmU4NTMiLCJyZW1vdGVGaWxlS2V5IjoiZDk2MzEwOTktODgxMy00ZDI2LTkzN2QtZDFlODhmZDJlODUzIiwic2l6ZSI6MTYwNjk2NDkzLCJtaW1lVHlwZSI6InZpZGVvL3F1aWNrdGltZSIsIndpZHRoIjoxOTIwLCJoZWlnaHQiOjEwODB9LCIxbWNYIjp7ImlkIjoiMW1jWCIsInR5cGUiOiJ2aWRlbyIsImR1cmF0aW9uSW5TZWNvbmRzIjoyOS44NjgzMzMzMzMzMzMzMzIsImhhc0F1ZGlvVHJhY2siOnRydWUsImZpbGVuYW1lIjoiSU1HXzQ4MjQuTU9WIiwicmVtb3RlVXJsIjoiaHR0cHM6Ly9yZW1vdGlvbmxhbWJkYS1neHpsZTR5bm9oLnMzLWFjY2VsZXJhdGUuYW1hem9uYXdzLmNvbS81MGU2YThlOS1lODg5LTRlYmQtYmU1ZS05ZDE0OWQ4YjZmYzQiLCJyZW1vdGVGaWxlS2V5IjoiNTBlNmE4ZTktZTg4OS00ZWJkLWJlNWUtOWQxNDlkOGI2ZmM0Iiwic2l6ZSI6MjgzMjk0MDcsIm1pbWVUeXBlIjoidmlkZW8vcXVpY2t0aW1lIiwid2lkdGgiOjE5MjAsImhlaWdodCI6MTA4MH0sIlQwbUgiOnsiaWQiOiJUMG1IIiwidHlwZSI6InZpZGVvIiwiZHVyYXRpb25JblNlY29uZHMiOjI2LjEzNSwiaGFzQXVkaW9UcmFjayI6dHJ1ZSwiZmlsZW5hbWUiOiJJTUdfNDgyNS5NT1YiLCJyZW1vdGVVcmwiOiJodHRwczovL3JlbW90aW9ubGFtYmRhLWd4emxlNHlub2guczMtYWNjZWxlcmF0ZS5hbWF6b25hd3MuY29tLzI3OTRmODEyLWRkYzUtNGZlYy04YTIwLWNmZmNkZWZhOWUzOSIsInJlbW90ZUZpbGVLZXkiOiIyNzk0ZjgxMi1kZGM1LTRmZWMtOGEyMC1jZmZjZGVmYTllMzkiLCJzaXplIjoyNDY4MDEzMCwibWltZVR5cGUiOiJ2aWRlby9xdWlja3RpbWUiLCJ3aWR0aCI6MTkyMCwiaGVpZ2h0IjoxMDgwfSwiMVJLbyI6eyJpZCI6IjFSS28iLCJ0eXBlIjoidmlkZW8iLCJkdXJhdGlvbkluU2Vjb25kcyI6MjIuMTM1LCJoYXNBdWRpb1RyYWNrIjp0cnVlLCJmaWxlbmFtZSI6IklNR180ODI2Lk1PViIsInJlbW90ZVVybCI6Imh0dHBzOi8vcmVtb3Rpb25sYW1iZGEtZ3h6bGU0eW5vaC5zMy1hY2NlbGVyYXRlLmFtYXpvbmF3cy5jb20vOGZjMGU4OWUtNDEwNS00ZGFhLTgzYzAtYjU1ZGU4ZDFkZDg2IiwicmVtb3RlRmlsZUtleSI6IjhmYzBlODllLTQxMDUtNGRhYS04M2MwLWI1NWRlOGQxZGQ4NiIsInNpemUiOjIwOTk0MjIxLCJtaW1lVHlwZSI6InZpZGVvL3F1aWNrdGltZSIsIndpZHRoIjoxOTIwLCJoZWlnaHQiOjEwODB9LCJGdWF6Ijp7ImlkIjoiRnVheiIsInR5cGUiOiJ2aWRlbyIsImR1cmF0aW9uSW5TZWNvbmRzIjozNi45MDE2NjY2NjY2NjY2NjQsImhhc0F1ZGlvVHJhY2siOnRydWUsImZpbGVuYW1lIjoiSU1HXzQ4MjcuTU9WIiwicmVtb3RlVXJsIjoiaHR0cHM6Ly9yZW1vdGlvbmxhbWJkYS1neHpsZTR5bm9oLnMzLWFjY2VsZXJhdGUuYW1hem9uYXdzLmNvbS9hYzMzMDczYy0yZjgzLTRiOWUtOTVhOC04YWEzMjE5ZGE3MDkiLCJyZW1vdGVGaWxlS2V5IjoiYWMzMzA3M2MtMmY4My00YjllLTk1YTgtOGFhMzIxOWRhNzA5Iiwic2l6ZSI6MzUyMjk1MDMsIm1pbWVUeXBlIjoidmlkZW8vcXVpY2t0aW1lIiwid2lkdGgiOjE5MjAsImhlaWdodCI6MTA4MH0sIjMxZjUiOnsiaWQiOiIzMWY1IiwidHlwZSI6ImNhcHRpb24iLCJjYXB0aW9ucyI6W3siY29uZmlkZW5jZSI6bnVsbCwiZW5kTXMiOjQ4ODAuMDAwMTE0NDQwOTE4LCJzdGFydE1zIjozNzk5Ljk5OTk1MjMxNjI4NCwidGV4dCI6IiIsInRpbWVzdGFtcE1zIjo0MzQwLjAwMDAzMzM3ODYwMX0seyJjb25maWRlbmNlIjpudWxsLCJlbmRNcyI6NTA3OS45OTk5MjM3MDYwNTUsInN0YXJ0TXMiOjQ4ODAuMDAwMTE0NDQwOTE4LCJ0ZXh0IjoiIiwidGltZXN0YW1wTXMiOjQ5ODAuMDAwMDE5MDczNDg2fSx7ImNvbmZpZGVuY2UiOm51bGwsImVuZE1zIjo1NDAwLjAwMDA5NTM2NzQzMiwic3RhcnRNcyI6NTA3OS45OTk5MjM3MDYwNTUsInRleHQiOiIiLCJ0aW1lc3RhbXBNcyI6NTI0MC4wMDAwMDk1MzY3NDN9LHsiY29uZmlkZW5jZSI6bnVsbCwiZW5kTXMiOjU3MTkuOTk5NzkwMTkxNjUsInN0YXJ0TXMiOjU0MDAuMDAwMDk1MzY3NDMyLCJ0ZXh0IjoiIiwidGltZXN0YW1wTXMiOjU1NTkuOTk5OTQyNzc5NTQxfSx7ImNvbmZpZGVuY2UiOm51bGwsImVuZE1zIjo2MjM5Ljk5OTc3MTExODE2NCwic3RhcnRNcyI6NTcxOS45OTk3OTAxOTE2NSwidGV4dCI6IiIsInRpbWVzdGFtcE1zIjo1OTc5Ljk5OTc4MDY1NDkwN30seyJjb25maWRlbmNlIjpudWxsLCJlbmRNcyI6Njc4MC4wMDAyMDk4MDgzNSwic3RhcnRNcyI6NjIzOS45OTk3NzExMTgxNjQsInRleHQiOiIiLCJ0aW1lc3RhbXBNcyI6NjUwOS45OTk5OTA0NjMyNTd9LHsiY29uZmlkZW5jZSI6bnVsbCwiZW5kTXMiOjkzNDAuMDAwMTUyNTg3ODksInN0YXJ0TXMiOjg4MDAuMDAwMTkwNzM0ODYzLCJ0ZXh0IjoiIiwidGltZXN0YW1wTXMiOjkwNzAuMDAwMTcxNjYxMzc3fSx7ImNvbmZpZGVuY2UiOm51bGwsImVuZE1zIjo5NTIwLjAwMDQ1Nzc2MzY3Miwic3RhcnRNcyI6OTM0MC4wMDAxNTI1ODc4OSwidGV4dCI6IiIsInRpbWVzdGFtcE1zIjo5NDMwLjAwMDMwNTE3NTc4MX0seyJjb25maWRlbmNlIjpudWxsLCJlbmRNcyI6OTY5OS45OTk4MDkyNjUxMzcsInN0YXJ0TXMiOjk1MjAuMDAwNDU3NzYzNjcyLCJ0ZXh0IjoiIiwidGltZXN0YW1wTXMiOjk2MTAuMDAwMTMzNTE0NDA0fSx7ImNvbmZpZGVuY2UiOm51bGwsImVuZE1zIjoxMDM1OS45OTk2NTY2NzcyNDYsInN0YXJ0TXMiOjk2OTkuOTk5ODA5MjY1MTM3LCJ0ZXh0IjoiIiwidGltZXN0YW1wTXMiOjEwMDI5Ljk5OTczMjk3MTE5MX0seyJjb25maWRlbmNlIjpudWxsLCJlbmRNcyI6MTEzNDAuMDAwMTUyNTg3ODksInN0YXJ0TXMiOjEwMzU5Ljk5OTY1NjY3NzI0NiwidGV4dCI6IiIsInRpbWVzdGFtcE1zIjoxMDg0OS45OTk5MDQ2MzI1Njh9LHsiY29uZmlkZW5jZSI6bnVsbCwiZW5kTXMiOjExODk5Ljk5OTYxODUzMDI3Mywic3RhcnRNcyI6MTEzNDAuMDAwMTUyNTg3ODksInRleHQiOiIiLCJ0aW1lc3RhbXBNcyI6MTE2MTkuOTk5ODg1NTU5MDgyfSx7ImNvbmZpZGVuY2UiOm51bGwsImVuZE1zIjoxNDM4MC4wMDAxMTQ0NDA5MTgsInN0YXJ0TXMiOjEzODQwLjAwMDE1MjU4Nzg5LCJ0ZXh0IjoiIiwidGltZXN0YW1wTXMiOjE0MTEwLjAwMDEzMzUxNDQwNH0seyJjb25maWRlbmNlIjpudWxsLCJlbmRNcyI6MTQ1NjAuMDAwNDE5NjE2Nywic3RhcnRNcyI6MTQzODAuMDAwMTE0NDQwOTE4LCJ0ZXh0IjoiIiwidGltZXN0YW1wTXMiOjE0NDcwLjAwMDI2NzAyODgwOX0seyJjb25maWRlbmNlIjpudWxsLCJlbmRNcyI6MTQ3NzkuOTk5NzMyOTcxMTkxLCJzdGFydE1zIjoxNDU2MC4wMDA0MTk2MTY3LCJ0ZXh0IjoiIiwidGltZXN0YW1wTXMiOjE0NjcwLjAwMDA3NjI5Mzk0NX0seyJjb25maWRlbmNlIjpudWxsLCJlbmRNcyI6MTU2MDAuMDAwMzgxNDY5NzI3LCJzdGFydE1zIjoxNDc3OS45OTk3MzI5NzExOTEsInRleHQiOiIiLCJ0aW1lc3RhbXBNcyI6MTUxOTAuMDAwMDU3MjIwNDU5fSx7ImNvbmZpZGVuY2UiOm51bGwsImVuZE1zIjoxNjAwMCwic3RhcnRNcyI6MTU2MDAuMDAwMzgxNDY5NzI3LCJ0ZXh0IjoiIiwidGltZXN0YW1wTXMiOjE1ODAwLjAwMDE5MDczNDg2M30seyJjb25maWRlbmNlIjpudWxsLCJlbmRNcyI6MTY1NTkuOTk5NDY1OTQyMzgzLCJzdGFydE1zIjoxNjAwMCwidGV4dCI6IiIsInRpbWVzdGFtcE1zIjoxNjI3OS45OTk3MzI5NzExOTF9LHsiY29uZmlkZW5jZSI6bnVsbCwiZW5kTXMiOjIxNjAwLjAwMDM4MTQ2OTcyNywic3RhcnRNcyI6MjAyMDAuMDAwNzYyOTM5NDUzLCJ0ZXh0IjoiIiwidGltZXN0YW1wTXMiOjIwOTAwLjAwMDU3MjIwNDU5fSx7ImNvbmZpZGVuY2UiOm51bGwsImVuZE1zIjoyMzAwMCwic3RhcnRNcyI6MjE2MDAuMDAwMzgxNDY5NzI3LCJ0ZXh0IjoiIiwidGltZXN0YW1wTXMiOjIyMzAwLjAwMDE5MDczNDg2M30seyJjb25maWRlbmNlIjpudWxsLCJlbmRNcyI6MjMyNjAuMDAwMjI4ODgxODM2LCJzdGFydE1zIjoyMzAwMCwidGV4dCI6IiIsInRpbWVzdGFtcE1zIjoyMzEzMC4wMDAxMTQ0NDA5MTh9LHsiY29uZmlkZW5jZSI6bnVsbCwiZW5kTXMiOjIzODQwLjAwMDE1MjU4Nzg5LCJzdGFydE1zIjoyMzI2MC4wMDAyMjg4ODE4MzYsInRleHQiOiIiLCJ0aW1lc3RhbXBNcyI6MjM1NTAuMDAwMTkwNzM0ODYzfSx7ImNvbmZpZGVuY2UiOm51bGwsImVuZE1zIjoyNDYyMC4wMDA4MzkyMzM0LCJzdGFydE1zIjoyMzg0MC4wMDAxNTI1ODc4OSwidGV4dCI6IiIsInRpbWVzdGFtcE1zIjoyNDIzMC4wMDA0OTU5MTA2NDV9LHsiY29uZmlkZW5jZSI6bnVsbCwiZW5kTXMiOjI1MTM5Ljk5OTM4OTY0ODQzOCwic3RhcnRNcyI6MjQ2MjAuMDAwODM5MjMzNCwidGV4dCI6IiIsInRpbWVzdGFtcE1zIjoyNDg4MC4wMDAxMTQ0NDA5MTh9LHsiY29uZmlkZW5jZSI6bnVsbCwiZW5kTXMiOjM4NDE5Ljk5ODE2ODk0NTMxLCJzdGFydE1zIjozNzcyMC4wMDEyMjA3MDMxMjUsInRleHQiOiIgVGhpcyIsInRpbWVzdGFtcE1zIjozODA2OS45OTk2OTQ4MjQyMn0seyJjb25maWRlbmNlIjpudWxsLCJlbmRNcyI6Mzg3MjAuMDAxMjIwNzAzMTI1LCJzdGFydE1zIjozODQxOS45OTgxNjg5NDUzMSwidGV4dCI6IiBpcyIsInRpbWVzdGFtcE1zIjozODU2OS45OTk2OTQ4MjQyMn0seyJjb25maWRlbmNlIjpudWxsLCJlbmRNcyI6Mzg4ODAuMDAxMDY4MTE1MjM0LCJzdGFydE1zIjozODcyMC4wMDEyMjA3MDMxMjUsInRleHQiOiIgdGhlIiwidGltZXN0YW1wTXMiOjM4ODAwLjAwMTE0NDQwOTE4fSx7ImNvbmZpZGVuY2UiOm51bGwsImVuZE1zIjozOTUwMCwic3RhcnRNcyI6Mzg4ODAuMDAxMDY4MTE1MjM0LCJ0ZXh0IjoiIFJlbW90aW9uIiwidGltZXN0YW1wTXMiOjM5MTkwLjAwMDUzNDA1NzYyfSx7ImNvbmZpZGVuY2UiOm51bGwsImVuZE1zIjo0MDI5OS45OTkyMzcwNjA1NSwic3RhcnRNcyI6Mzk1MDAsInRleHQiOiIgRWRpdG9yIiwidGltZXN0YW1wTXMiOjM5ODk5Ljk5OTYxODUzMDI3fSx7ImNvbmZpZGVuY2UiOm51bGwsImVuZE1zIjo0MjYwMCwic3RhcnRNcyI6NDAyOTkuOTk5MjM3MDYwNTUsInRleHQiOiIgU3RhcnRlci4iLCJ0aW1lc3RhbXBNcyI6NDA0NDkuOTk4ODU1NTkwODJ9LHsiY29uZmlkZW5jZSI6bnVsbCwiZW5kTXMiOjQ0NTYwLjAwMTM3MzI5MTAxNiwic3RhcnRNcyI6NDM1MjAuMDAwNDU3NzYzNjcsInRleHQiOiIiLCJ0aW1lc3RhbXBNcyI6NDQwNDAuMDAwOTE1NTI3MzQ0fSx7ImNvbmZpZGVuY2UiOm51bGwsImVuZE1zIjo0NDc5OS45OTkyMzcwNjA1NSwic3RhcnRNcyI6NDQ1NjAuMDAxMzczMjkxMDE2LCJ0ZXh0IjoiIiwidGltZXN0YW1wTXMiOjQ0NjgwLjAwMDMwNTE3NTc4fSx7ImNvbmZpZGVuY2UiOm51bGwsImVuZE1zIjo0NTE4MC4wMDAzMDUxNzU3OCwic3RhcnRNcyI6NDQ3OTkuOTk5MjM3MDYwNTUsInRleHQiOiIiLCJ0aW1lc3RhbXBNcyI6NDQ5ODkuOTk5NzcxMTE4MTY0fSx7ImNvbmZpZGVuY2UiOm51bGwsImVuZE1zIjo0NTU2MC4wMDEzNzMyOTEwMTYsInN0YXJ0TXMiOjQ1MTgwLjAwMDMwNTE3NTc4LCJ0ZXh0IjoiIiwidGltZXN0YW1wTXMiOjQ1MzcwLjAwMDgzOTIzMzR9LHsiY29uZmlkZW5jZSI6bnVsbCwiZW5kTXMiOjQ2MDk5Ljk5ODQ3NDEyMTA5NCwic3RhcnRNcyI6NDU1NjAuMDAxMzczMjkxMDE2LCJ0ZXh0IjoiIiwidGltZXN0YW1wTXMiOjQ1ODI5Ljk5OTkyMzcwNjA1NX0seyJjb25maWRlbmNlIjpudWxsLCJlbmRNcyI6NDY2MTkuOTk4OTMxODg0NzY2LCJzdGFydE1zIjo0NjA5OS45OTg0NzQxMjEwOTQsInRleHQiOiIiLCJ0aW1lc3RhbXBNcyI6NDYzNTkuOTk4NzAzMDAyOTN9XSwiZmlsZW5hbWUiOiJjYXB0aW9ucy5zcnQiLCJyZW1vdGVVcmwiOm51bGwsInJlbW90ZUZpbGVLZXkiOm51bGwsInNpemUiOjQzNjIsIm1pbWVUeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9LCIxRFdjIjp7ImlkIjoiMURXYyIsInR5cGUiOiJpbWFnZSIsImZpbGVuYW1lIjoiU2NyZWVuc2hvdCAyMDI1LTA4LTIwIGF0IDEwLjIxLjQ3LnBuZyIsInJlbW90ZVVybCI6Imh0dHBzOi8vcmVtb3Rpb25sYW1iZGEtZ3h6bGU0eW5vaC5zMy1hY2NlbGVyYXRlLmFtYXpvbmF3cy5jb20vYzI3N2E5MDgtMmExYi00NTUzLTliNDctMTE5OWM5M2RmZWE4IiwicmVtb3RlRmlsZUtleSI6ImMyNzdhOTA4LTJhMWItNDU1My05YjQ3LTExOTljOTNkZmVhOCIsInNpemUiOjMzNjg0MywibWltZVR5cGUiOiJpbWFnZS9wbmciLCJ3aWR0aCI6MTQ0NCwiaGVpZ2h0IjoxMTcyfSwiTmZzRiI6eyJpZCI6Ik5mc0YiLCJ0eXBlIjoidmlkZW8iLCJkdXJhdGlvbkluU2Vjb25kcyI6MTIuMDgzMzMzMzMzMzMzMzM0LCJoYXNBdWRpb1RyYWNrIjpmYWxzZSwiZmlsZW5hbWUiOiJTY3JlZW4gUmVjb3JkaW5nIDIwMjUtMDgtMjAgYXQgMTAuMzUuNDYubW92IiwicmVtb3RlVXJsIjoiaHR0cHM6Ly9yZW1vdGlvbmxhbWJkYS1neHpsZTR5bm9oLnMzLWFjY2VsZXJhdGUuYW1hem9uYXdzLmNvbS9mODgwODM2MS01Yjk1LTRjMjQtOGU1Mi03M2VjM2Q2Y2YyYzAiLCJyZW1vdGVGaWxlS2V5IjoiZjg4MDgzNjEtNWI5NS00YzI0LThlNTItNzNlYzNkNmNmMmMwIiwic2l6ZSI6Mjk3MTQ1MSwibWltZVR5cGUiOiJ2aWRlby9xdWlja3RpbWUiLCJ3aWR0aCI6MTcyOSwiaGVpZ2h0IjoxMDgwfSwiRTNvdiI6eyJpZCI6IkUzb3YiLCJ0eXBlIjoiaW1hZ2UiLCJmaWxlbmFtZSI6IlNjcmVlbnNob3QgMjAyNS0wOC0yMCBhdCAxMC41MS41OC5wbmciLCJyZW1vdGVVcmwiOiJodHRwczovL3JlbW90aW9ubGFtYmRhLWd4emxlNHlub2guczMtYWNjZWxlcmF0ZS5hbWF6b25hd3MuY29tLzY3YzY3ZGQ2LWJjNTUtNDZlOS04NjM0LTI3ZmYzZTAxNDcyNyIsInJlbW90ZUZpbGVLZXkiOiI2N2M2N2RkNi1iYzU1LTQ2ZTktODYzNC0yN2ZmM2UwMTQ3MjciLCJzaXplIjoxODM2ODUsIm1pbWVUeXBlIjoiaW1hZ2UvcG5nIiwid2lkdGgiOjE0ODksImhlaWdodCI6OTc4fSwiYWJUTCI6eyJpZCI6ImFiVEwiLCJ0eXBlIjoidmlkZW8iLCJkdXJhdGlvbkluU2Vjb25kcyI6NS42NSwiaGFzQXVkaW9UcmFjayI6ZmFsc2UsImZpbGVuYW1lIjoiU2NyZWVuIFJlY29yZGluZyAyMDI1LTA4LTIwIGF0IDEwLjU0LjEyLm1vdiIsInJlbW90ZVVybCI6Imh0dHBzOi8vcmVtb3Rpb25sYW1iZGEtZ3h6bGU0eW5vaC5zMy1hY2NlbGVyYXRlLmFtYXpvbmF3cy5jb20vYWYxNDQzNmYtNDc1NC00MjE3LTg4ODAtM2RjYTVlYTA1NWU0IiwicmVtb3RlRmlsZUtleSI6ImFmMTQ0MzZmLTQ3NTQtNDIxNy04ODgwLTNkY2E1ZWEwNTVlNCIsInNpemUiOjU0MTM1OTksIm1pbWVUeXBlIjoidmlkZW8vcXVpY2t0aW1lIiwid2lkdGgiOjE2NDYsImhlaWdodCI6MTA4MH0sIm5HaUwiOnsiaWQiOiJuR2lMIiwidHlwZSI6InZpZGVvIiwiZHVyYXRpb25JblNlY29uZHMiOjkuMTUyLCJoYXNBdWRpb1RyYWNrIjp0cnVlLCJmaWxlbmFtZSI6IldoYXRJc1JlbW90aW9uLm1wNCIsInJlbW90ZVVybCI6Imh0dHBzOi8vcmVtb3Rpb25sYW1iZGEtZ3h6bGU0eW5vaC5zMy1hY2NlbGVyYXRlLmFtYXpvbmF3cy5jb20vYmRmMmM5OWQtNmEzZC00NmI5LTk3MmYtZThhMDkzYjhiMzFhIiwicmVtb3RlRmlsZUtleSI6ImJkZjJjOTlkLTZhM2QtNDZiOS05NzJmLWU4YTA5M2I4YjMxYSIsInNpemUiOjIxNzU1MDEsIm1pbWVUeXBlIjoidmlkZW8vbXA0Iiwid2lkdGgiOjE5MjAsImhlaWdodCI6MTA4MH0sIjNOdFYiOnsiaWQiOiIzTnRWIiwidHlwZSI6InZpZGVvIiwiZHVyYXRpb25JblNlY29uZHMiOjkuMDE2NjY2NjY2NjY2NjY3LCJoYXNBdWRpb1RyYWNrIjpmYWxzZSwiZmlsZW5hbWUiOiJTY3JlZW4gUmVjb3JkaW5nIDIwMjUtMDgtMjAgYXQgMTEuMDYuMzIubW92IiwicmVtb3RlVXJsIjoiaHR0cHM6Ly9yZW1vdGlvbmxhbWJkYS1neHpsZTR5bm9oLnMzLWFjY2VsZXJhdGUuYW1hem9uYXdzLmNvbS9hM2NhMWUzNy0zNDYzLTQ5MjAtOTkxYS0wYjBiNTA5NWIxODYiLCJyZW1vdGVGaWxlS2V5IjoiYTNjYTFlMzctMzQ2My00OTIwLTk5MWEtMGIwYjUwOTViMTg2Iiwic2l6ZSI6NDMxNTcwNSwibWltZVR5cGUiOiJ2aWRlby9xdWlja3RpbWUiLCJ3aWR0aCI6MTc0NiwiaGVpZ2h0IjoxMDgwfSwiWVFXMSI6eyJpZCI6IllRVzEiLCJ0eXBlIjoiaW1hZ2UiLCJmaWxlbmFtZSI6IlNjcmVlbnNob3QgMjAyNS0wOC0yMCBhdCAxMS4xNy4yMi5wbmciLCJyZW1vdGVVcmwiOiJodHRwczovL3JlbW90aW9ubGFtYmRhLWd4emxlNHlub2guczMtYWNjZWxlcmF0ZS5hbWF6b25hd3MuY29tLzk1YmFkNTYxLTUxZGMtNGMzYS04OGNhLTkzOTQxZTYyZTkxYiIsInJlbW90ZUZpbGVLZXkiOiI5NWJhZDU2MS01MWRjLTRjM2EtODhjYS05Mzk0MWU2MmU5MWIiLCJzaXplIjoxMTM3MDU2LCJtaW1lVHlwZSI6ImltYWdlL3BuZyIsIndpZHRoIjoyMDc4LCJoZWlnaHQiOjEyNjJ9fSwiZGVsZXRlZEFzc2V0cyI6W119)

[**Edit announcement video**](https://editor-starter.remotion.dev/#state=eyJ0cmFja3MiOlt7ImlkIjoiNkJaYiIsIml0ZW1zIjpbIlkyMkEiXSwiaGlkZGVuIjpmYWxzZSwibXV0ZWQiOmZhbHNlfSx7ImlkIjoiN01sMyIsIml0ZW1zIjpbIlZ6Z0wiXSwiaGlkZGVuIjpmYWxzZSwibXV0ZWQiOmZhbHNlfSx7ImlkIjoiZWlQQiIsIml0ZW1zIjpbIkhtQUciLCJTbDhZIl0sImhpZGRlbiI6ZmFsc2UsIm11dGVkIjpmYWxzZX0seyJpZCI6IjdJbW4iLCJpdGVtcyI6WyJsUGdnIiwiVUIxSiIsIjhteW4iXSwiaGlkZGVuIjpmYWxzZSwibXV0ZWQiOmZhbHNlfSx7ImlkIjoiSnk0cCIsIml0ZW1zIjpbIlE3TXAiXSwiaGlkZGVuIjpmYWxzZSwibXV0ZWQiOmZhbHNlfSx7ImlkIjoiVDZzZCIsIml0ZW1zIjpbInZUa2siXSwiaGlkZGVuIjpmYWxzZSwibXV0ZWQiOmZhbHNlfSx7ImlkIjoibE5YRyIsIml0ZW1zIjpbInlFRTciXSwiaGlkZGVuIjpmYWxzZSwibXV0ZWQiOmZhbHNlfSx7ImlkIjoiSmhqbCIsIml0ZW1zIjpbIklxODQiLCJyVWlXIiwiVXYxTSJdLCJoaWRkZW4iOmZhbHNlLCJtdXRlZCI6ZmFsc2V9LHsiaWQiOiJBRjhWIiwiaXRlbXMiOlsiRVZlRSIsInpnQXoiLCJkMFNLIiwibmRmViIsIjV0WXMiLCJyOUk1IiwiNXE5NSIsIk12ZEciLCJSQW56IiwiaElLSiIsIkNGdXgiLCJncWtwIiwidDY4dCIsIk5sSUkiLCJzdDNXIiwid0pjTyIsIlV3UW4iLCIyVFliIiwiTHB1ZCIsIm93ZVgiLCJrZ3NkIiwiSWxXMCJdLCJoaWRkZW4iOmZhbHNlLCJtdXRlZCI6ZmFsc2V9LHsiaWQiOiI1ZTRRIiwiaXRlbXMiOlsiVmdzSCIsIm1LS3AiLCJVVUFzIiwieEVncCIsIjNPRkoiLCJ3V2JWIiwiOEF2ayIsIlJzN2oiLCIyT0VWIl0sImhpZGRlbiI6ZmFsc2UsIm11dGVkIjpmYWxzZX0seyJpZCI6Ik9QSXoiLCJpdGVtcyI6WyJXWXpXIiwiWmJjZSIsImhYbGsiLCI3M2doIiwiR1ludCIsIk1CMU0iLCIwejMzIiwiVk5POCIsIlRxM1IiLCJaZmZtIiwibkcwdCIsIlh5MWMiLCJFeVFMIiwidWZDZiIsInFGZjMiLCJGWmFXIiwiNFNnSiIsIk9NMWoiLCJVUG85IiwiWVR6byIsIlgydHQiLCIwcmJUIiwiek0xOSIsIjJSZkciLCJNeUlQIiwiRnhlNiIsIlhxN24iLCIwcFpVIiwiRlFTaCIsIms5bUUiLCJRRFJUIl0sImhpZGRlbiI6ZmFsc2UsIm11dGVkIjpmYWxzZX0seyJpZCI6ImNPS2QiLCJpdGVtcyI6WyJHWjVSIl0sImhpZGRlbiI6ZmFsc2UsIm11dGVkIjpmYWxzZX1dLCJmcHMiOjMwLCJjb21wb3NpdGlvbldpZHRoIjoxOTIwLCJjb21wb3NpdGlvbkhlaWdodCI6MTA4MCwiaXRlbXMiOnsiV1l6VyI6eyJpZCI6IldZelciLCJkdXJhdGlvbkluRnJhbWVzIjoxOCwidmlkZW9TdGFydEZyb21JblNlY29uZHMiOjkuNTY2NjY2NjY2NjY2NjU4LCJmcm9tIjoxMDgsInR5cGUiOiJ2aWRlbyIsImFzc2V0SWQiOiJvNVBXIiwiaXNEcmFnZ2luZ0luVGltZWxpbmUiOmZhbHNlLCJ0b3AiOi0yMiwibGVmdCI6LTQ3LCJ3aWR0aCI6MTk2NywiaGVpZ2h0IjoxMTA3LCJvcGFjaXR5IjoxLCJib3JkZXJSYWRpdXMiOjAsInJvdGF0aW9uIjowLCJkZWNpYmVsQWRqdXN0bWVudCI6MCwicGxheWJhY2tSYXRlIjoxLCJhdWRpb0ZhZGVJbkR1cmF0aW9uSW5TZWNvbmRzIjowLCJhdWRpb0ZhZGVPdXREdXJhdGlvbkluU2Vjb25kcyI6MCwiZmFkZUluRHVyYXRpb25JblNlY29uZHMiOjAsImZhZGVPdXREdXJhdGlvbkluU2Vjb25kcyI6MCwia2VlcEFzcGVjdFJhdGlvIjp0cnVlfSwiSXE4NCI6eyJpZCI6IklxODQiLCJkdXJhdGlvbkluRnJhbWVzIjoyMiwidmlkZW9TdGFydEZyb21JblNlY29uZHMiOjguMTY2NjY2NjY2NjY2NjU5LCJmcm9tIjo4NywidHlwZSI6InZpZGVvIiwiYXNzZXRJZCI6Im81UFciLCJpc0RyYWdnaW5nSW5UaW1lbGluZSI6ZmFsc2UsInRvcCI6LTIyLCJsZWZ0IjotMzUsIndpZHRoIjoxOTY3LCJoZWlnaHQiOjExMDcsIm9wYWNpdHkiOjEsImJvcmRlclJhZGl1cyI6MCwicm90YXRpb24iOjAsImRlY2liZWxBZGp1c3RtZW50IjowLCJwbGF5YmFja1JhdGUiOjEsImF1ZGlvRmFkZUluRHVyYXRpb25JblNlY29uZHMiOjAsImF1ZGlvRmFkZU91dER1cmF0aW9uSW5TZWNvbmRzIjowLCJmYWRlSW5EdXJhdGlvbkluU2Vjb25kcyI6MC4yNTc3NzIyMTM4NjkzODY4NywiZmFkZU91dER1cmF0aW9uSW5TZWNvbmRzIjowLCJrZWVwQXNwZWN0UmF0aW8iOnRydWV9LCI3M2doIjp7ImlkIjoiNzNnaCIsImR1cmF0aW9uSW5GcmFtZXMiOjM2LCJ2aWRlb1N0YXJ0RnJvbUluU2Vjb25kcyI6NC41OTk5OTk5OTk5OTk5OTUsImZyb20iOjE5NSwidHlwZSI6InZpZGVvIiwiYXNzZXRJZCI6InZSV1kiLCJpc0RyYWdnaW5nSW5UaW1lbGluZSI6ZmFsc2UsInRvcCI6LTIwLCJsZWZ0IjotMjgsIndpZHRoIjoxOTYyLCJoZWlnaHQiOjExMDQsIm9wYWNpdHkiOjEsImJvcmRlclJhZGl1cyI6MCwicm90YXRpb24iOjAsImRlY2liZWxBZGp1c3RtZW50IjowLCJwbGF5YmFja1JhdGUiOjEsImF1ZGlvRmFkZUluRHVyYXRpb25JblNlY29uZHMiOjAsImF1ZGlvRmFkZU91dER1cmF0aW9uSW5TZWNvbmRzIjowLCJmYWRlSW5EdXJhdGlvbkluU2Vjb25kcyI6MCwiZmFkZU91dER1cmF0aW9uSW5TZWNvbmRzIjowLCJrZWVwQXNwZWN0UmF0aW8iOnRydWV9LCJoWGxrIjp7ImlkIjoiaFhsayIsImR1cmF0aW9uSW5GcmFtZXMiOjMyLCJ2aWRlb1N0YXJ0RnJvbUluU2Vjb25kcyI6Mi42LCJmcm9tIjoxNjMsInR5cGUiOiJ2aWRlbyIsImFzc2V0SWQiOiJha2RIIiwiaXNEcmFnZ2luZ0luVGltZWxpbmUiOmZhbHNlLCJ0b3AiOi00LCJsZWZ0IjotNywid2lkdGgiOjE5MjcsImhlaWdodCI6MTA4Niwib3BhY2l0eSI6MSwiYm9yZGVyUmFkaXVzIjowLCJyb3RhdGlvbiI6MCwiZGVjaWJlbEFkanVzdG1lbnQiOjAsInBsYXliYWNrUmF0ZSI6MSwiYXVkaW9GYWRlSW5EdXJhdGlvbkluU2Vjb25kcyI6MCwiYXVkaW9GYWRlT3V0RHVyYXRpb25JblNlY29uZHMiOjAsImZhZGVJbkR1cmF0aW9uSW5TZWNvbmRzIjowLCJmYWRlT3V0RHVyYXRpb25JblNlY29uZHMiOjAsImtlZXBBc3BlY3RSYXRpbyI6dHJ1ZX0sIlpiY2UiOnsiaWQiOiJaYmNlIiwiZHVyYXRpb25JbkZyYW1lcyI6MzcsInZpZGVvU3RhcnRGcm9tSW5TZWNvbmRzIjo2LjE2NjY2NjY2NjY2NjY2MjUsImZyb20iOjEyNiwidHlwZSI6InZpZGVvIiwiYXNzZXRJZCI6IjNSR0IiLCJpc0RyYWdnaW5nSW5UaW1lbGluZSI6ZmFsc2UsInRvcCI6LTI3MiwibGVmdCI6LTQzOSwid2lkdGgiOjMzNDMsImhlaWdodCI6MTg4Miwib3BhY2l0eSI6MSwiYm9yZGVyUmFkaXVzIjowLCJyb3RhdGlvbiI6MCwiZGVjaWJlbEFkanVzdG1lbnQiOjAsInBsYXliYWNrUmF0ZSI6MC43LCJhdWRpb0ZhZGVJbkR1cmF0aW9uSW5TZWNvbmRzIjowLCJhdWRpb0ZhZGVPdXREdXJhdGlvbkluU2Vjb25kcyI6MCwiZmFkZUluRHVyYXRpb25JblNlY29uZHMiOjAsImZhZGVPdXREdXJhdGlvbkluU2Vjb25kcyI6MCwia2VlcEFzcGVjdFJhdGlvIjp0cnVlfSwiR1ludCI6eyJpZCI6IkdZbnQiLCJkdXJhdGlvbkluRnJhbWVzIjo2MSwidmlkZW9TdGFydEZyb21JblNlY29uZHMiOjQuOTMzMzMzMzMzMzMzMzMzLCJmcm9tIjoyMzEsInR5cGUiOiJ2aWRlbyIsImFzc2V0SWQiOiJNVDV1IiwiaXNEcmFnZ2luZ0luVGltZWxpbmUiOmZhbHNlLCJ0b3AiOi0xNzUsImxlZnQiOi0zMzksIndpZHRoIjoyMjgyLCJoZWlnaHQiOjEyODUsIm9wYWNpdHkiOjEsImJvcmRlclJhZGl1cyI6MCwicm90YXRpb24iOjAsImRlY2liZWxBZGp1c3RtZW50IjowLCJwbGF5YmFja1JhdGUiOjEsImF1ZGlvRmFkZUluRHVyYXRpb25JblNlY29uZHMiOjAsImF1ZGlvRmFkZU91dER1cmF0aW9uSW5TZWNvbmRzIjowLCJmYWRlSW5EdXJhdGlvbkluU2Vjb25kcyI6MCwiZmFkZU91dER1cmF0aW9uSW5TZWNvbmRzIjowLCJrZWVwQXNwZWN0UmF0aW8iOnRydWV9LCJNQjFNIjp7ImlkIjoiTUIxTSIsImR1cmF0aW9uSW5GcmFtZXMiOjQzLCJ2aWRlb1N0YXJ0RnJvbUluU2Vjb25kcyI6Mi4wMDAwMDAwMDAwMDAwMDIsImZyb20iOjI5MiwidHlwZSI6InZpZGVvIiwiYXNzZXRJZCI6IkVsdjAiLCJpc0RyYWdnaW5nSW5UaW1lbGluZSI6ZmFsc2UsInRvcCI6LTE3MCwibGVmdCI6LTIxNywid2lkdGgiOjIzMDYsImhlaWdodCI6MTI5OCwib3BhY2l0eSI6MSwiYm9yZGVyUmFkaXVzIjowLCJyb3RhdGlvbiI6MCwiZGVjaWJlbEFkanVzdG1lbnQiOjAsInBsYXliYWNrUmF0ZSI6MSwiYXVkaW9GYWRlSW5EdXJhdGlvbkluU2Vjb25kcyI6MCwiYXVkaW9GYWRlT3V0RHVyYXRpb25JblNlY29uZHMiOjAsImZhZGVJbkR1cmF0aW9uSW5TZWNvbmRzIjowLCJmYWRlT3V0RHVyYXRpb25JblNlY29uZHMiOjAsImtlZXBBc3BlY3RSYXRpbyI6dHJ1ZX0sIjB6MzMiOnsiaWQiOiIwejMzIiwiZHVyYXRpb25JbkZyYW1lcyI6ODYsInZpZGVvU3RhcnRGcm9tSW5TZWNvbmRzIjozLjU5OTk5OTk5OTk5OTk5OSwiZnJvbSI6MzM1LCJ0eXBlIjoidmlkZW8iLCJhc3NldElkIjoiTEcwSyIsImlzRHJhZ2dpbmdJblRpbWVsaW5lIjpmYWxzZSwidG9wIjotMTUzLCJsZWZ0IjotMzI0LCJ3aWR0aCI6MjQ3MSwiaGVpZ2h0IjoxMzkxLCJvcGFjaXR5IjoxLCJib3JkZXJSYWRpdXMiOjAsInJvdGF0aW9uIjo2LCJkZWNpYmVsQWRqdXN0bWVudCI6MCwicGxheWJhY2tSYXRlIjoxLCJhdWRpb0ZhZGVJbkR1cmF0aW9uSW5TZWNvbmRzIjowLCJhdWRpb0ZhZGVPdXREdXJhdGlvbkluU2Vjb25kcyI6MCwiZmFkZUluRHVyYXRpb25JblNlY29uZHMiOjAsImZhZGVPdXREdXJhdGlvbkluU2Vjb25kcyI6MCwia2VlcEFzcGVjdFJhdGlvIjp0cnVlfSwiVk5POCI6eyJpZCI6IlZOTzgiLCJkdXJhdGlvbkluRnJhbWVzIjo4MCwidmlkZW9TdGFydEZyb21JblNlY29uZHMiOjYuNDY2NjY2NjY2NjY2NjY2LCJmcm9tIjo0MjEsInR5cGUiOiJ2aWRlbyIsImFzc2V0SWQiOiJMRzBLIiwiaXNEcmFnZ2luZ0luVGltZWxpbmUiOmZhbHNlLCJ0b3AiOi0yNDksImxlZnQiOi0xMzQsIndpZHRoIjozMjEzLCJoZWlnaHQiOjE4MDksIm9wYWNpdHkiOjEsImJvcmRlclJhZGl1cyI6MCwicm90YXRpb24iOjYsImRlY2liZWxBZGp1c3RtZW50IjowLCJwbGF5YmFja1JhdGUiOjEsImF1ZGlvRmFkZUluRHVyYXRpb25JblNlY29uZHMiOjAsImF1ZGlvRmFkZU91dER1cmF0aW9uSW5TZWNvbmRzIjowLCJmYWRlSW5EdXJhdGlvbkluU2Vjb25kcyI6MCwiZmFkZU91dER1cmF0aW9uSW5TZWNvbmRzIjowLCJrZWVwQXNwZWN0UmF0aW8iOnRydWV9LCJUcTNSIjp7ImlkIjoiVHEzUiIsImR1cmF0aW9uSW5GcmFtZXMiOjYyLCJ2aWRlb1N0YXJ0RnJvbUluU2Vjb25kcyI6MS41NDAwMDAwMDAwMDAwMDIzLCJmcm9tIjo1MDEsInR5cGUiOiJ2aWRlbyIsImFzc2V0SWQiOiI5TFl0IiwiaXNEcmFnZ2luZ0luVGltZWxpbmUiOmZhbHNlLCJ0b3AiOi0xNSwibGVmdCI6LTE3LCJ3aWR0aCI6MzM1NywiaGVpZ2h0IjoxODkwLCJvcGFjaXR5IjoxLCJib3JkZXJSYWRpdXMiOjAsInJvdGF0aW9uIjowLCJkZWNpYmVsQWRqdXN0bWVudCI6MCwicGxheWJhY2tSYXRlIjoxLjQsImF1ZGlvRmFkZUluRHVyYXRpb25JblNlY29uZHMiOjAsImF1ZGlvRmFkZU91dER1cmF0aW9uSW5TZWNvbmRzIjowLCJmYWRlSW5EdXJhdGlvbkluU2Vjb25kcyI6MCwiZmFkZU91dER1cmF0aW9uSW5TZWNvbmRzIjowLCJrZWVwQXNwZWN0UmF0aW8iOnRydWV9LCJ1ZkNmIjp7ImlkIjoidWZDZiIsImR1cmF0aW9uSW5GcmFtZXMiOjgxLCJ2aWRlb1N0YXJ0RnJvbUluU2Vjb25kcyI6Mi44MDE2NjY2NjY2NjY2NjM2LCJmcm9tIjo3MjAsInR5cGUiOiJ2aWRlbyIsImFzc2V0SWQiOiJsRHAwIiwiaXNEcmFnZ2luZ0luVGltZWxpbmUiOmZhbHNlLCJ0b3AiOi0yMjcsImxlZnQiOi04MTAsIndpZHRoIjozNDQ4LCJoZWlnaHQiOjE5NDEsIm9wYWNpdHkiOjEsImJvcmRlclJhZGl1cyI6MCwicm90YXRpb24iOjAsImRlY2liZWxBZGp1c3RtZW50IjowLCJwbGF5YmFja1JhdGUiOjAuNjUsImF1ZGlvRmFkZUluRHVyYXRpb25JblNlY29uZHMiOjAsImF1ZGlvRmFkZU91dER1cmF0aW9uSW5TZWNvbmRzIjowLCJmYWRlSW5EdXJhdGlvbkluU2Vjb25kcyI6MCwiZmFkZU91dER1cmF0aW9uSW5TZWNvbmRzIjowLCJrZWVwQXNwZWN0UmF0aW8iOnRydWV9LCJxRmYzIjp7ImlkIjoicUZmMyIsImR1cmF0aW9uSW5GcmFtZXMiOjc0LCJ2aWRlb1N0YXJ0RnJvbUluU2Vjb25kcyI6Ni42MTMzMzMzMzMzMzMzMywiZnJvbSI6ODAxLCJ0eXBlIjoidmlkZW8iLCJhc3NldElkIjoiZHBNdSIsImlzRHJhZ2dpbmdJblRpbWVsaW5lIjpmYWxzZSwidG9wIjotOTUsImxlZnQiOi01NDcsIndpZHRoIjoyNDY1LCJoZWlnaHQiOjEzODgsIm9wYWNpdHkiOjEsImJvcmRlclJhZGl1cyI6MCwicm90YXRpb24iOjAsImRlY2liZWxBZGp1c3RtZW50IjowLCJwbGF5YmFja1JhdGUiOjAuNjUsImF1ZGlvRmFkZUluRHVyYXRpb25JblNlY29uZHMiOjAsImF1ZGlvRmFkZU91dER1cmF0aW9uSW5TZWNvbmRzIjowLCJmYWRlSW5EdXJhdGlvbkluU2Vjb25kcyI6MCwiZmFkZU91dER1cmF0aW9uSW5TZWNvbmRzIjowLCJrZWVwQXNwZWN0UmF0aW8iOnRydWV9LCJGWmFXIjp7ImlkIjoiRlphVyIsImR1cmF0aW9uSW5GcmFtZXMiOjY2LCJ2aWRlb1N0YXJ0RnJvbUluU2Vjb25kcyI6My43MDAwMDAwMDAwMDAwMDIsImZyb20iOjg3NSwidHlwZSI6InZpZGVvIiwiYXNzZXRJZCI6IlZ0YVUiLCJpc0RyYWdnaW5nSW5UaW1lbGluZSI6ZmFsc2UsInRvcCI6LTkwLCJsZWZ0IjotNjg1LCJ3aWR0aCI6MjY1MCwiaGVpZ2h0IjoxNDkxLCJvcGFjaXR5IjoxLCJib3JkZXJSYWRpdXMiOjAsInJvdGF0aW9uIjowLCJkZWNpYmVsQWRqdXN0bWVudCI6MCwicGxheWJhY2tSYXRlIjoxLCJhdWRpb0ZhZGVJbkR1cmF0aW9uSW5TZWNvbmRzIjowLCJhdWRpb0ZhZGVPdXREdXJhdGlvbkluU2Vjb25kcyI6MCwiZmFkZUluRHVyYXRpb25JblNlY29uZHMiOjAsImZhZGVPdXREdXJhdGlvbkluU2Vjb25kcyI6MCwia2VlcEFzcGVjdFJhdGlvIjp0cnVlfSwiRXlRTCI6eyJpZCI6IkV5UUwiLCJkdXJhdGlvbkluRnJhbWVzIjozMiwidmlkZW9TdGFydEZyb21JblNlY29uZHMiOjUuMjMwMDAwMDAwMDAwMDAyLCJmcm9tIjo2ODgsInR5cGUiOiJ2aWRlbyIsImFzc2V0SWQiOiJCd1ZOIiwiaXNEcmFnZ2luZ0luVGltZWxpbmUiOmZhbHNlLCJ0b3AiOi02OTQsImxlZnQiOi0yNDkzLCJ3aWR0aCI6NjMzMSwiaGVpZ2h0IjozNTY0LCJvcGFjaXR5IjoxLCJib3JkZXJSYWRpdXMiOjAsInJvdGF0aW9uIjowLCJkZWNpYmVsQWRqdXN0bWVudCI6MCwicGxheWJhY2tSYXRlIjowLjcsImF1ZGlvRmFkZUluRHVyYXRpb25JblNlY29uZHMiOjAsImF1ZGlvRmFkZU91dER1cmF0aW9uSW5TZWNvbmRzIjowLCJmYWRlSW5EdXJhdGlvbkluU2Vjb25kcyI6MCwiZmFkZU91dER1cmF0aW9uSW5TZWNvbmRzIjowLCJrZWVwQXNwZWN0UmF0aW8iOnRydWV9LCJYeTFjIjp7ImlkIjoiWHkxYyIsImR1cmF0aW9uSW5GcmFtZXMiOjQwLCJ2aWRlb1N0YXJ0RnJvbUluU2Vjb25kcyI6NC41MzMzMzMzMzMzMzMzMzMsImZyb20iOjY0OCwidHlwZSI6InZpZGVvIiwiYXNzZXRJZCI6IkJ3Vk4iLCJpc0RyYWdnaW5nSW5UaW1lbGluZSI6ZmFsc2UsInRvcCI6LTE2OTUsImxlZnQiOi0zMDQxLCJ3aWR0aCI6NDk2NywiaGVpZ2h0IjoyNzk2LCJvcGFjaXR5IjoxLCJib3JkZXJSYWRpdXMiOjAsInJvdGF0aW9uIjowLCJkZWNpYmVsQWRqdXN0bWVudCI6MCwicGxheWJhY2tSYXRlIjoxLCJhdWRpb0ZhZGVJbkR1cmF0aW9uSW5TZWNvbmRzIjowLCJhdWRpb0ZhZGVPdXREdXJhdGlvbkluU2Vjb25kcyI6MCwiZmFkZUluRHVyYXRpb25JblNlY29uZHMiOjAsImZhZGVPdXREdXJhdGlvbkluU2Vjb25kcyI6MCwia2VlcEFzcGVjdFJhdGlvIjp0cnVlfSwiR1o1UiI6eyJpZCI6IkdaNVIiLCJkdXJhdGlvbkluRnJhbWVzIjoxNzU1LCJhdWRpb1N0YXJ0RnJvbUluU2Vjb25kcyI6MCwiZnJvbSI6ODYsInR5cGUiOiJhdWRpbyIsInRvcCI6MCwibGVmdCI6MCwid2lkdGgiOjEwMCwiaGVpZ2h0IjoxMDAsIm9wYWNpdHkiOjEsImRlY2liZWxBZGp1c3RtZW50IjotNi45MDEwNDE2NjY2NjY2NTcsInBsYXliYWNrUmF0ZSI6MSwiYXVkaW9GYWRlSW5EdXJhdGlvbkluU2Vjb25kcyI6MCwiYXVkaW9GYWRlT3V0RHVyYXRpb25JblNlY29uZHMiOjAsImFzc2V0SWQiOiIwM1ROIiwiaXNEcmFnZ2luZ0luVGltZWxpbmUiOmZhbHNlfSwiWmZmbSI6eyJpZCI6IlpmZm0iLCJkdXJhdGlvbkluRnJhbWVzIjo0MSwidmlkZW9TdGFydEZyb21JblNlY29uZHMiOjEuODY2NjY2NjY2NjY2NjY2LCJmcm9tIjo1NjMsInR5cGUiOiJ2aWRlbyIsImFzc2V0SWQiOiJCd1ZOIiwiaXNEcmFnZ2luZ0luVGltZWxpbmUiOmZhbHNlLCJ0b3AiOi0zMjAsImxlZnQiOi01MzksIndpZHRoIjozNDgxLCJoZWlnaHQiOjE5NjAsIm9wYWNpdHkiOjEsImJvcmRlclJhZGl1cyI6MCwicm90YXRpb24iOjAsImRlY2liZWxBZGp1c3RtZW50IjoxLjEyNSwicGxheWJhY2tSYXRlIjoxLCJhdWRpb0ZhZGVJbkR1cmF0aW9uSW5TZWNvbmRzIjowLCJhdWRpb0ZhZGVPdXREdXJhdGlvbkluU2Vjb25kcyI6MCwiZmFkZUluRHVyYXRpb25JblNlY29uZHMiOjAsImZhZGVPdXREdXJhdGlvbkluU2Vjb25kcyI6MCwia2VlcEFzcGVjdFJhdGlvIjp0cnVlfSwiNFNnSiI6eyJpZCI6IjRTZ0oiLCJkdXJhdGlvbkluRnJhbWVzIjo5MCwidmlkZW9TdGFydEZyb21JblNlY29uZHMiOjEuNTY2NjY2NjY2NjY2NjY2OSwiZnJvbSI6OTQxLCJ0eXBlIjoidmlkZW8iLCJhc3NldElkIjoiQ05HSyIsImlzRHJhZ2dpbmdJblRpbWVsaW5lIjpmYWxzZSwidG9wIjowLCJsZWZ0IjotOSwid2lkdGgiOjE5MzIsImhlaWdodCI6MTA4Nywib3BhY2l0eSI6MSwiYm9yZGVyUmFkaXVzIjowLCJyb3RhdGlvbiI6MCwiZGVjaWJlbEFkanVzdG1lbnQiOi02MCwicGxheWJhY2tSYXRlIjoxLCJhdWRpb0ZhZGVJbkR1cmF0aW9uSW5TZWNvbmRzIjowLCJhdWRpb0ZhZGVPdXREdXJhdGlvbkluU2Vjb25kcyI6MCwiZmFkZUluRHVyYXRpb25JblNlY29uZHMiOjAsImZhZGVPdXREdXJhdGlvbkluU2Vjb25kcyI6MCwia2VlcEFzcGVjdFJhdGlvIjp0cnVlfSwiT00xaiI6eyJpZCI6Ik9NMWoiLCJkdXJhdGlvbkluRnJhbWVzIjo0OCwidmlkZW9TdGFydEZyb21JblNlY29uZHMiOjIuNDMzMzMzMzMzMzMzMzMyLCJmcm9tIjoxMDMxLCJ0eXBlIjoidmlkZW8iLCJhc3NldElkIjoid1Z3VyIsImlzRHJhZ2dpbmdJblRpbWVsaW5lIjpmYWxzZSwidG9wIjotMTI0MCwibGVmdCI6LTIyMTUsIndpZHRoIjo0MTMwLCJoZWlnaHQiOjIzMjUsIm9wYWNpdHkiOjEsImJvcmRlclJhZGl1cyI6MCwicm90YXRpb24iOjAsImRlY2liZWxBZGp1c3RtZW50IjowLCJwbGF5YmFja1JhdGUiOjEsImF1ZGlvRmFkZUluRHVyYXRpb25JblNlY29uZHMiOjAsImF1ZGlvRmFkZU91dER1cmF0aW9uSW5TZWNvbmRzIjowLCJmYWRlSW5EdXJhdGlvbkluU2Vjb25kcyI6MCwiZmFkZU91dER1cmF0aW9uSW5TZWNvbmRzIjowLCJrZWVwQXNwZWN0UmF0aW8iOnRydWV9LCJVUG85Ijp7ImlkIjoiVVBvOSIsImR1cmF0aW9uSW5GcmFtZXMiOjQxLCJ2aWRlb1N0YXJ0RnJvbUluU2Vjb25kcyI6My4wNjY2NjY2NjY2NjY2NjY0LCJmcm9tIjoxMDc5LCJ0eXBlIjoidmlkZW8iLCJhc3NldElkIjoid1Z3VyIsImlzRHJhZ2dpbmdJblRpbWVsaW5lIjpmYWxzZSwidG9wIjotNTc5LCJsZWZ0IjotMjM5LCJ3aWR0aCI6MzI3MSwiaGVpZ2h0IjoxODQyLCJvcGFjaXR5IjoxLCJib3JkZXJSYWRpdXMiOjAsInJvdGF0aW9uIjowLCJkZWNpYmVsQWRqdXN0bWVudCI6MCwicGxheWJhY2tSYXRlIjoxLCJhdWRpb0ZhZGVJbkR1cmF0aW9uSW5TZWNvbmRzIjowLCJhdWRpb0ZhZGVPdXREdXJhdGlvbkluU2Vjb25kcyI6MCwiZmFkZUluRHVyYXRpb25JblNlY29uZHMiOjAsImZhZGVPdXREdXJhdGlvbkluU2Vjb25kcyI6MCwia2VlcEFzcGVjdFJhdGlvIjp0cnVlfSwiWVR6byI6eyJpZCI6IllUem8iLCJkdXJhdGlvbkluRnJhbWVzIjoxMDEsInZpZGVvU3RhcnRGcm9tSW5TZWNvbmRzIjowLjk5OTk5OTk5OTk5OTk5ODYsImZyb20iOjExMjAsInR5cGUiOiJ2aWRlbyIsImFzc2V0SWQiOiJMY3lyIiwiaXNEcmFnZ2luZ0luVGltZWxpbmUiOmZhbHNlLCJ0b3AiOi0xNTksImxlZnQiOi0zNzAsIndpZHRoIjoyNTQ3LCJoZWlnaHQiOjE0MzQsIm9wYWNpdHkiOjEsImJvcmRlclJhZGl1cyI6MCwicm90YXRpb24iOjAsImRlY2liZWxBZGp1c3RtZW50IjowLCJwbGF5YmFja1JhdGUiOjEsImF1ZGlvRmFkZUluRHVyYXRpb25JblNlY29uZHMiOjAsImF1ZGlvRmFkZU91dER1cmF0aW9uSW5TZWNvbmRzIjowLCJmYWRlSW5EdXJhdGlvbkluU2Vjb25kcyI6MCwiZmFkZU91dER1cmF0aW9uSW5TZWNvbmRzIjowLCJrZWVwQXNwZWN0UmF0aW8iOnRydWV9LCIwcmJUIjp7ImlkIjoiMHJiVCIsImR1cmF0aW9uSW5GcmFtZXMiOjE0NCwidmlkZW9TdGFydEZyb21JblNlY29uZHMiOjEuNDY2NjY2NjY2NjY2NjY2MSwiZnJvbSI6MTI3NiwidHlwZSI6InZpZGVvIiwiYXNzZXRJZCI6IkZFaGsiLCJpc0RyYWdnaW5nSW5UaW1lbGluZSI6ZmFsc2UsInRvcCI6MCwibGVmdCI6LTUsIndpZHRoIjoxOTI4LCJoZWlnaHQiOjEwODQsIm9wYWNpdHkiOjEsImJvcmRlclJhZGl1cyI6MCwicm90YXRpb24iOjAsImRlY2liZWxBZGp1c3RtZW50IjowLCJwbGF5YmFja1JhdGUiOjEsImF1ZGlvRmFkZUluRHVyYXRpb25JblNlY29uZHMiOjAsImF1ZGlvRmFkZU91dER1cmF0aW9uSW5TZWNvbmRzIjowLCJmYWRlSW5EdXJhdGlvbkluU2Vjb25kcyI6MCwiZmFkZU91dER1cmF0aW9uSW5TZWNvbmRzIjowLCJrZWVwQXNwZWN0UmF0aW8iOnRydWV9LCJYMnR0Ijp7ImlkIjoiWDJ0dCIsImR1cmF0aW9uSW5GcmFtZXMiOjU1LCJ2aWRlb1N0YXJ0RnJvbUluU2Vjb25kcyI6Mi45OTk5OTk5OTk5OTk5OTksImZyb20iOjEyMjEsInR5cGUiOiJ2aWRlbyIsImFzc2V0SWQiOiJaRmlHIiwiaXNEcmFnZ2luZ0luVGltZWxpbmUiOmZhbHNlLCJ0b3AiOi0xNiwibGVmdCI6LTU3LCJ3aWR0aCI6MTk3OCwiaGVpZ2h0IjoxMTEzLCJvcGFjaXR5IjoxLCJib3JkZXJSYWRpdXMiOjAsInJvdGF0aW9uIjowLCJkZWNpYmVsQWRqdXN0bWVudCI6MCwicGxheWJhY2tSYXRlIjoxLCJhdWRpb0ZhZGVJbkR1cmF0aW9uSW5TZWNvbmRzIjowLCJhdWRpb0ZhZGVPdXREdXJhdGlvbkluU2Vjb25kcyI6MCwiZmFkZUluRHVyYXRpb25JblNlY29uZHMiOjAsImZhZGVPdXREdXJhdGlvbkluU2Vjb25kcyI6MCwia2VlcEFzcGVjdFJhdGlvIjp0cnVlfSwiRnhlNiI6eyJpZCI6IkZ4ZTYiLCJkdXJhdGlvbkluRnJhbWVzIjoxMDcsInZpZGVvU3RhcnRGcm9tSW5TZWNvbmRzIjo2LjA2NjY2NjY2NjY2NjY2NiwiZnJvbSI6MTUzNiwidHlwZSI6InZpZGVvIiwiYXNzZXRJZCI6Im9iZkgiLCJpc0RyYWdnaW5nSW5UaW1lbGluZSI6ZmFsc2UsInRvcCI6LTgsImxlZnQiOi0yMywid2lkdGgiOjE5NTEsImhlaWdodCI6MTA5OCwib3BhY2l0eSI6MSwiYm9yZGVyUmFkaXVzIjowLCJyb3RhdGlvbiI6MCwiZGVjaWJlbEFkanVzdG1lbnQiOjAsInBsYXliYWNrUmF0ZSI6MSwiYXVkaW9GYWRlSW5EdXJhdGlvbkluU2Vjb25kcyI6MCwiYXVkaW9GYWRlT3V0RHVyYXRpb25JblNlY29uZHMiOjAsImZhZGVJbkR1cmF0aW9uSW5TZWNvbmRzIjowLCJmYWRlT3V0RHVyYXRpb25JblNlY29uZHMiOjAsImtlZXBBc3BlY3RSYXRpbyI6dHJ1ZX0sInpNMTkiOnsiaWQiOiJ6TTE5IiwiZHVyYXRpb25JbkZyYW1lcyI6NjQsInZpZGVvU3RhcnRGcm9tSW5TZWNvbmRzIjoxLjczMzMzMzMzMzMzMzMzMywiZnJvbSI6MTQyMCwidHlwZSI6InZpZGVvIiwiYXNzZXRJZCI6Im9iZkgiLCJpc0RyYWdnaW5nSW5UaW1lbGluZSI6ZmFsc2UsInRvcCI6LTksImxlZnQiOi0zMiwid2lkdGgiOjE5NjMsImhlaWdodCI6MTEwNSwib3BhY2l0eSI6MSwiYm9yZGVyUmFkaXVzIjowLCJyb3RhdGlvbiI6MCwiZGVjaWJlbEFkanVzdG1lbnQiOjAsInBsYXliYWNrUmF0ZSI6MSwiYXVkaW9GYWRlSW5EdXJhdGlvbkluU2Vjb25kcyI6MCwiYXVkaW9GYWRlT3V0RHVyYXRpb25JblNlY29uZHMiOjAsImZhZGVJbkR1cmF0aW9uSW5TZWNvbmRzIjowLCJmYWRlT3V0RHVyYXRpb25JblNlY29uZHMiOjAsImtlZXBBc3BlY3RSYXRpbyI6dHJ1ZX0sIjJSZkciOnsiaWQiOiIyUmZHIiwiZHVyYXRpb25JbkZyYW1lcyI6MzcsInZpZGVvU3RhcnRGcm9tSW5TZWNvbmRzIjozLjg2NjY2NjY2NjY2NjY2NjMsImZyb20iOjE0ODQsInR5cGUiOiJ2aWRlbyIsImFzc2V0SWQiOiJvYmZIIiwiaXNEcmFnZ2luZ0luVGltZWxpbmUiOmZhbHNlLCJ0b3AiOi0yNjYsImxlZnQiOi0zNiwid2lkdGgiOjI0NDYsImhlaWdodCI6MTM3Niwib3BhY2l0eSI6MSwiYm9yZGVyUmFkaXVzIjowLCJyb3RhdGlvbiI6MCwiZGVjaWJlbEFkanVzdG1lbnQiOjAsInBsYXliYWNrUmF0ZSI6MSwiYXVkaW9GYWRlSW5EdXJhdGlvbkluU2Vjb25kcyI6MCwiYXVkaW9GYWRlT3V0RHVyYXRpb25JblNlY29uZHMiOjAsImZhZGVJbkR1cmF0aW9uSW5TZWNvbmRzIjowLCJmYWRlT3V0RHVyYXRpb25JblNlY29uZHMiOjAsImtlZXBBc3BlY3RSYXRpbyI6dHJ1ZX0sIk15SVAiOnsiaWQiOiJNeUlQIiwiZHVyYXRpb25JbkZyYW1lcyI6MTUsInZpZGVvU3RhcnRGcm9tSW5TZWNvbmRzIjo1LjM0NTAwMDAwMDAwMDAwMSwiZnJvbSI6MTUyMSwidHlwZSI6InZpZGVvIiwiYXNzZXRJZCI6Im9iZkgiLCJpc0RyYWdnaW5nSW5UaW1lbGluZSI6ZmFsc2UsInRvcCI6LTI2NiwibGVmdCI6LTM2LCJ3aWR0aCI6MjQ0NiwiaGVpZ2h0IjoxMzc2LCJvcGFjaXR5IjoxLCJib3JkZXJSYWRpdXMiOjAsInJvdGF0aW9uIjowLCJkZWNpYmVsQWRqdXN0bWVudCI6MCwicGxheWJhY2tSYXRlIjowLjI1LCJhdWRpb0ZhZGVJbkR1cmF0aW9uSW5TZWNvbmRzIjowLCJhdWRpb0ZhZGVPdXREdXJhdGlvbkluU2Vjb25kcyI6MCwiZmFkZUluRHVyYXRpb25JblNlY29uZHMiOjAsImZhZGVPdXREdXJhdGlvbkluU2Vjb25kcyI6MCwia2VlcEFzcGVjdFJhdGlvIjp0cnVlfSwiWHE3biI6eyJpZCI6IlhxN24iLCJkdXJhdGlvbkluRnJhbWVzIjoxMDksInZpZGVvU3RhcnRGcm9tSW5TZWNvbmRzIjowLCJmcm9tIjoxNjQzLCJ0eXBlIjoidmlkZW8iLCJhc3NldElkIjoibjFJRCIsImlzRHJhZ2dpbmdJblRpbWVsaW5lIjpmYWxzZSwidG9wIjowLCJsZWZ0IjotMSwid2lkdGgiOjE5NDEsImhlaWdodCI6MTA5Mywib3BhY2l0eSI6MSwiYm9yZGVyUmFkaXVzIjowLCJyb3RhdGlvbiI6MCwiZGVjaWJlbEFkanVzdG1lbnQiOjAsInBsYXliYWNrUmF0ZSI6My43NSwiYXVkaW9GYWRlSW5EdXJhdGlvbkluU2Vjb25kcyI6MCwiYXVkaW9GYWRlT3V0RHVyYXRpb25JblNlY29uZHMiOjAsImZhZGVJbkR1cmF0aW9uSW5TZWNvbmRzIjowLCJmYWRlT3V0RHVyYXRpb25JblNlY29uZHMiOjAsImtlZXBBc3BlY3RSYXRpbyI6dHJ1ZX0sIjBwWlUiOnsiaWQiOiIwcFpVIiwiZHVyYXRpb25JbkZyYW1lcyI6NzksInZpZGVvU3RhcnRGcm9tSW5TZWNvbmRzIjo1Ljk2NjY2NjY2NjY2NjY2MTUsImZyb20iOjE3NTIsInR5cGUiOiJ2aWRlbyIsImFzc2V0SWQiOiJrUzhHIiwiaXNEcmFnZ2luZ0luVGltZWxpbmUiOmZhbHNlLCJ0b3AiOjEsImxlZnQiOi0xMDI5LCJ3aWR0aCI6MzkyNCwiaGVpZ2h0IjoyMjA5LCJvcGFjaXR5IjoxLCJib3JkZXJSYWRpdXMiOjAsInJvdGF0aW9uIjowLCJkZWNpYmVsQWRqdXN0bWVudCI6MCwicGxheWJhY2tSYXRlIjoxLCJhdWRpb0ZhZGVJbkR1cmF0aW9uSW5TZWNvbmRzIjowLCJhdWRpb0ZhZGVPdXREdXJhdGlvbkluU2Vjb25kcyI6MCwiZmFkZUluRHVyYXRpb25JblNlY29uZHMiOjAsImZhZGVPdXREdXJhdGlvbkluU2Vjb25kcyI6MCwia2VlcEFzcGVjdFJhdGlvIjp0cnVlfSwiRlFTaCI6eyJpZCI6IkZRU2giLCJkdXJhdGlvbkluRnJhbWVzIjo0OSwidmlkZW9TdGFydEZyb21JblNlY29uZHMiOjcuOTkzMzMzMzMzMzMzMzI1LCJmcm9tIjoxODMxLCJ0eXBlIjoidmlkZW8iLCJhc3NldElkIjoia1M4RyIsImlzRHJhZ2dpbmdJblRpbWVsaW5lIjpmYWxzZSwidG9wIjoxLCJsZWZ0IjotMTAyOSwid2lkdGgiOjM5MjQsImhlaWdodCI6MjIwOSwib3BhY2l0eSI6MSwiYm9yZGVyUmFkaXVzIjowLCJyb3RhdGlvbiI6MCwiZGVjaWJlbEFkanVzdG1lbnQiOjAsInBsYXliYWNrUmF0ZSI6MC43LCJhdWRpb0ZhZGVJbkR1cmF0aW9uSW5TZWNvbmRzIjowLCJhdWRpb0ZhZGVPdXREdXJhdGlvbkluU2Vjb25kcyI6MCwiZmFkZUluRHVyYXRpb25JblNlY29uZHMiOjAsImZhZGVPdXREdXJhdGlvbkluU2Vjb25kcyI6MS41Mjg0MTQ5NzQyNTg4OTY0LCJrZWVwQXNwZWN0UmF0aW8iOnRydWV9LCJuRzB0Ijp7ImlkIjoibkcwdCIsImR1cmF0aW9uSW5GcmFtZXMiOjQ0LCJ2aWRlb1N0YXJ0RnJvbUluU2Vjb25kcyI6Mi45MzMzMzMzMzMzMzMzMzQsImZyb20iOjYwNCwidHlwZSI6InZpZGVvIiwiYXNzZXRJZCI6IkJ3Vk4iLCJpc0RyYWdnaW5nSW5UaW1lbGluZSI6ZmFsc2UsInRvcCI6LTE4MSwibGVmdCI6LTEzOTIsIndpZHRoIjozMzE0LCJoZWlnaHQiOjE4NjYsIm9wYWNpdHkiOjEsImJvcmRlclJhZGl1cyI6MCwicm90YXRpb24iOjAsImRlY2liZWxBZGp1c3RtZW50IjowLCJwbGF5YmFja1JhdGUiOjEsImF1ZGlvRmFkZUluRHVyYXRpb25JblNlY29uZHMiOjAsImF1ZGlvRmFkZU91dER1cmF0aW9uSW5TZWNvbmRzIjowLCJmYWRlSW5EdXJhdGlvbkluU2Vjb25kcyI6MCwiZmFkZU91dER1cmF0aW9uSW5TZWNvbmRzIjowLCJrZWVwQXNwZWN0UmF0aW8iOnRydWV9LCJWZ3NIIjp7ImlkIjoiVmdzSCIsImR1cmF0aW9uSW5GcmFtZXMiOjk4LCJ2aWRlb1N0YXJ0RnJvbUluU2Vjb25kcyI6MzcuOTk5OTk5OTk5OTk5OTQsImZyb20iOjAsInR5cGUiOiJ2aWRlbyIsImFzc2V0SWQiOiJEODZHIiwiaXNEcmFnZ2luZ0luVGltZWxpbmUiOmZhbHNlLCJ0b3AiOi0zMDksImxlZnQiOi01NDgsIndpZHRoIjoyNDcyLCJoZWlnaHQiOjEzOTEsIm9wYWNpdHkiOjEsImJvcmRlclJhZGl1cyI6MCwicm90YXRpb24iOjAsImRlY2liZWxBZGp1c3RtZW50IjowLCJwbGF5YmFja1JhdGUiOjEsImF1ZGlvRmFkZUluRHVyYXRpb25JblNlY29uZHMiOjAsImF1ZGlvRmFkZU91dER1cmF0aW9uSW5TZWNvbmRzIjowLCJmYWRlSW5EdXJhdGlvbkluU2Vjb25kcyI6MCwiZmFkZU91dER1cmF0aW9uSW5TZWNvbmRzIjowLCJrZWVwQXNwZWN0UmF0aW8iOnRydWV9LCJtS0twIjp7ImlkIjoibUtLcCIsImR1cmF0aW9uSW5GcmFtZXMiOjYzMywidmlkZW9TdGFydEZyb21JblNlY29uZHMiOjQuODk5OTk5OTk5OTk5OTk4LCJmcm9tIjoxODc5LCJ0eXBlIjoidmlkZW8iLCJhc3NldElkIjoidG9DYSIsImlzRHJhZ2dpbmdJblRpbWVsaW5lIjpmYWxzZSwidG9wIjotMzA5LCJsZWZ0IjotNTQ4LCJ3aWR0aCI6MjQ3MiwiaGVpZ2h0IjoxMzkxLCJvcGFjaXR5IjoxLCJib3JkZXJSYWRpdXMiOjAsInJvdGF0aW9uIjowLCJkZWNpYmVsQWRqdXN0bWVudCI6MCwicGxheWJhY2tSYXRlIjoxLCJhdWRpb0ZhZGVJbkR1cmF0aW9uSW5TZWNvbmRzIjowLCJhdWRpb0ZhZGVPdXREdXJhdGlvbkluU2Vjb25kcyI6MCwiZmFkZUluRHVyYXRpb25JblNlY29uZHMiOjAuMjMwMTg5OTkzMDA0NzI4MSwiZmFkZU91dER1cmF0aW9uSW5TZWNvbmRzIjowLCJrZWVwQXNwZWN0UmF0aW8iOnRydWV9LCJ4RWdwIjp7ImlkIjoieEVncCIsImR1cmF0aW9uSW5GcmFtZXMiOjQzOSwidmlkZW9TdGFydEZyb21JblNlY29uZHMiOjI2LjkwMDAwMDAwMDAwMDA2LCJmcm9tIjozNDE0LCJ0eXBlIjoidmlkZW8iLCJhc3NldElkIjoidEhRMiIsImlzRHJhZ2dpbmdJblRpbWVsaW5lIjpmYWxzZSwidG9wIjotMzA5LCJsZWZ0IjotNTQ4LCJ3aWR0aCI6MjQ3MywiaGVpZ2h0IjoxMzkxLCJvcGFjaXR5IjoxLCJib3JkZXJSYWRpdXMiOjAsInJvdGF0aW9uIjowLCJkZWNpYmVsQWRqdXN0bWVudCI6MCwicGxheWJhY2tSYXRlIjoxLCJhdWRpb0ZhZGVJbkR1cmF0aW9uSW5TZWNvbmRzIjowLCJhdWRpb0ZhZGVPdXREdXJhdGlvbkluU2Vjb25kcyI6MCwiZmFkZUluRHVyYXRpb25JblNlY29uZHMiOjAsImZhZGVPdXREdXJhdGlvbkluU2Vjb25kcyI6MCwia2VlcEFzcGVjdFJhdGlvIjp0cnVlfSwiVVVBcyI6eyJpZCI6IlVVQXMiLCJkdXJhdGlvbkluRnJhbWVzIjo4MTksInZpZGVvU3RhcnRGcm9tSW5TZWNvbmRzIjoxMjkuNzMzMzMzMzMzMzMzMTIsImZyb20iOjI1MTIsInR5cGUiOiJ2aWRlbyIsImFzc2V0SWQiOiJDMUxVIiwiaXNEcmFnZ2luZ0luVGltZWxpbmUiOmZhbHNlLCJ0b3AiOi0zMDksImxlZnQiOi01NDgsIndpZHRoIjoyNDczLCJoZWlnaHQiOjEzOTEsIm9wYWNpdHkiOjEsImJvcmRlclJhZGl1cyI6MCwicm90YXRpb24iOjAsImRlY2liZWxBZGp1c3RtZW50IjowLCJwbGF5YmFja1JhdGUiOjEsImF1ZGlvRmFkZUluRHVyYXRpb25JblNlY29uZHMiOjAsImF1ZGlvRmFkZU91dER1cmF0aW9uSW5TZWNvbmRzIjowLCJmYWRlSW5EdXJhdGlvbkluU2Vjb25kcyI6MCwiZmFkZU91dER1cmF0aW9uSW5TZWNvbmRzIjoyLjg0NzM2ODU0NjU0MTIsImtlZXBBc3BlY3RSYXRpbyI6dHJ1ZX0sIjNPRkoiOnsiaWQiOiIzT0ZKIiwiZHVyYXRpb25JbkZyYW1lcyI6NDQzLCJ2aWRlb1N0YXJ0RnJvbUluU2Vjb25kcyI6OC42NjY2NjY2NjY2NjY2NjYsImZyb20iOjM5MDEsInR5cGUiOiJ2aWRlbyIsImFzc2V0SWQiOiIxbWNYIiwiaXNEcmFnZ2luZ0luVGltZWxpbmUiOmZhbHNlLCJ0b3AiOi0zMDksImxlZnQiOi01NDgsIndpZHRoIjoyNDczLCJoZWlnaHQiOjEzOTEsIm9wYWNpdHkiOjEsImJvcmRlclJhZGl1cyI6MCwicm90YXRpb24iOjAsImRlY2liZWxBZGp1c3RtZW50IjowLCJwbGF5YmFja1JhdGUiOjEsImF1ZGlvRmFkZUluRHVyYXRpb25JblNlY29uZHMiOjAsImF1ZGlvRmFkZU91dER1cmF0aW9uSW5TZWNvbmRzIjowLCJmYWRlSW5EdXJhdGlvbkluU2Vjb25kcyI6MCwiZmFkZU91dER1cmF0aW9uSW5TZWNvbmRzIjowLCJrZWVwQXNwZWN0UmF0aW8iOnRydWV9LCJ3V2JWIjp7ImlkIjoid1diViIsImR1cmF0aW9uSW5GcmFtZXMiOjYxNiwidmlkZW9TdGFydEZyb21JblNlY29uZHMiOjEuNDMzMzMzMzMzMzMzMzM0NSwiZnJvbSI6NDM0NCwidHlwZSI6InZpZGVvIiwiYXNzZXRJZCI6IlQwbUgiLCJpc0RyYWdnaW5nSW5UaW1lbGluZSI6ZmFsc2UsInRvcCI6LTMwOSwibGVmdCI6LTU0OCwid2lkdGgiOjI0NzMsImhlaWdodCI6MTM5MSwib3BhY2l0eSI6MSwiYm9yZGVyUmFkaXVzIjowLCJyb3RhdGlvbiI6MCwiZGVjaWJlbEFkanVzdG1lbnQiOjAsInBsYXliYWNrUmF0ZSI6MSwiYXVkaW9GYWRlSW5EdXJhdGlvbkluU2Vjb25kcyI6MCwiYXVkaW9GYWRlT3V0RHVyYXRpb25JblNlY29uZHMiOjAsImZhZGVJbkR1cmF0aW9uSW5TZWNvbmRzIjowLCJmYWRlT3V0RHVyYXRpb25JblNlY29uZHMiOjAsImtlZXBBc3BlY3RSYXRpbyI6dHJ1ZX0sIjhBdmsiOnsiaWQiOiI4QXZrIiwiZHVyYXRpb25JbkZyYW1lcyI6MzY0LCJ2aWRlb1N0YXJ0RnJvbUluU2Vjb25kcyI6Mi4yMDAwMDAwMDAwMDAwMDIsImZyb20iOjQ5NjAsInR5cGUiOiJ2aWRlbyIsImFzc2V0SWQiOiIxUktvIiwiaXNEcmFnZ2luZ0luVGltZWxpbmUiOmZhbHNlLCJ0b3AiOi0zMDksImxlZnQiOi01NDgsIndpZHRoIjoyNDczLCJoZWlnaHQiOjEzOTEsIm9wYWNpdHkiOjEsImJvcmRlclJhZGl1cyI6MCwicm90YXRpb24iOjAsImRlY2liZWxBZGp1c3RtZW50IjowLCJwbGF5YmFja1JhdGUiOjEsImF1ZGlvRmFkZUluRHVyYXRpb25JblNlY29uZHMiOjAsImF1ZGlvRmFkZU91dER1cmF0aW9uSW5TZWNvbmRzIjowLCJmYWRlSW5EdXJhdGlvbkluU2Vjb25kcyI6MCwiZmFkZU91dER1cmF0aW9uSW5TZWNvbmRzIjowLCJrZWVwQXNwZWN0UmF0aW8iOnRydWV9LCJSczdqIjp7ImlkIjoiUnM3aiIsImR1cmF0aW9uSW5GcmFtZXMiOjc2OSwidmlkZW9TdGFydEZyb21JblNlY29uZHMiOjkuNDMzMzMzMzMzMzMzMzM1LCJmcm9tIjo1MzI0LCJ0eXBlIjoidmlkZW8iLCJhc3NldElkIjoiRnVheiIsImlzRHJhZ2dpbmdJblRpbWVsaW5lIjpmYWxzZSwidG9wIjotMzA5LCJsZWZ0IjotNTQ4LCJ3aWR0aCI6MjQ3MywiaGVpZ2h0IjoxMzkxLCJvcGFjaXR5IjoxLCJib3JkZXJSYWRpdXMiOjAsInJvdGF0aW9uIjowLCJkZWNpYmVsQWRqdXN0bWVudCI6MCwicGxheWJhY2tSYXRlIjoxLCJhdWRpb0ZhZGVJbkR1cmF0aW9uSW5TZWNvbmRzIjowLCJhdWRpb0ZhZGVPdXREdXJhdGlvbkluU2Vjb25kcyI6MCwiZmFkZUluRHVyYXRpb25JblNlY29uZHMiOjAsImZhZGVPdXREdXJhdGlvbkluU2Vjb25kcyI6MCwia2VlcEFzcGVjdFJhdGlvIjp0cnVlfSwiRVZlRSI6eyJ0eXBlIjoiY2FwdGlvbnMiLCJhc3NldElkIjoiMzFmNSIsImR1cmF0aW9uSW5GcmFtZXMiOjk4LCJmcm9tIjowLCJoZWlnaHQiOjE5MiwiaWQiOiJFVmVFIiwiaXNEcmFnZ2luZ0luVGltZWxpbmUiOmZhbHNlLCJsZWZ0Ijo1MzAsInRvcCI6Nzc4LCJ3aWR0aCI6ODYwLCJvcGFjaXR5IjoxLCJmb250RmFtaWx5IjoiVGlrVG9rIFNhbnMiLCJmb250U3R5bGUiOnsidmFyaWFudCI6Im5vcm1hbCIsIndlaWdodCI6IjYwMCJ9LCJyb3RhdGlvbiI6MCwibGluZUhlaWdodCI6MS4yLCJsZXR0ZXJTcGFjaW5nIjowLCJmb250U2l6ZSI6ODAsImFsaWduIjoiY2VudGVyIiwiY29sb3IiOiJ3aGl0ZSIsImhpZ2hsaWdodENvbG9yIjoiIzAyYzhmZiIsImRpcmVjdGlvbiI6Imx0ciIsInBhZ2VEdXJhdGlvbkluTWlsbGlzZWNvbmRzIjoyODAwLCJjYXB0aW9uU3RhcnRJblNlY29uZHMiOjM3Ljk5OTk5OTk5OTk5OTk0LCJzdHJva2VXaWR0aCI6MTAsInN0cm9rZUNvbG9yIjoiYmxhY2siLCJtYXhMaW5lcyI6MiwiZmFkZUluRHVyYXRpb25JblNlY29uZHMiOjAsImZhZGVPdXREdXJhdGlvbkluU2Vjb25kcyI6MH0sInpnQXoiOnsiaWQiOiJ6Z0F6IiwiZHVyYXRpb25JbkZyYW1lcyI6MTQ0LCJ0b3AiOi01LCJsZWZ0IjotMTgsIndpZHRoIjoxOTM2LCJoZWlnaHQiOjE1NzEsImZyb20iOjIzODAsInR5cGUiOiJpbWFnZSIsIm9wYWNpdHkiOjEsImJvcmRlclJhZGl1cyI6MCwicm90YXRpb24iOjAsImFzc2V0SWQiOiIxRFdjIiwiaXNEcmFnZ2luZ0luVGltZWxpbmUiOmZhbHNlLCJrZWVwQXNwZWN0UmF0aW8iOnRydWUsImZhZGVJbkR1cmF0aW9uSW5TZWNvbmRzIjowLjM2NjgxODEyMDU0Mjk5NTgsImZhZGVPdXREdXJhdGlvbkluU2Vjb25kcyI6MC40MDg3OTA5MjAwMDg4MDYxfSwiZDBTSyI6eyJpZCI6ImQwU0siLCJkdXJhdGlvbkluRnJhbWVzIjo2MywidmlkZW9TdGFydEZyb21JblNlY29uZHMiOjAsImZyb20iOjI5OTgsInR5cGUiOiJ2aWRlbyIsImFzc2V0SWQiOiJuMUlEIiwiaXNEcmFnZ2luZ0luVGltZWxpbmUiOmZhbHNlLCJ0b3AiOjAsImxlZnQiOi0xLCJ3aWR0aCI6MTk0MSwiaGVpZ2h0IjoxMDkzLCJvcGFjaXR5IjoxLCJib3JkZXJSYWRpdXMiOjAsInJvdGF0aW9uIjowLCJkZWNpYmVsQWRqdXN0bWVudCI6LTYwLCJwbGF5YmFja1JhdGUiOjIuNTUsImF1ZGlvRmFkZUluRHVyYXRpb25JblNlY29uZHMiOjAsImF1ZGlvRmFkZU91dER1cmF0aW9uSW5TZWNvbmRzIjowLCJmYWRlSW5EdXJhdGlvbkluU2Vjb25kcyI6MCwiZmFkZU91dER1cmF0aW9uSW5TZWNvbmRzIjowLCJrZWVwQXNwZWN0UmF0aW8iOnRydWV9LCJuZGZWIjp7ImlkIjoibmRmViIsImR1cmF0aW9uSW5GcmFtZXMiOjQ2LCJ2aWRlb1N0YXJ0RnJvbUluU2Vjb25kcyI6MS4wNjY2NjY2NjY2NjY2NjUzLCJmcm9tIjozMDYxLCJ0eXBlIjoidmlkZW8iLCJhc3NldElkIjoiTGN5ciIsImlzRHJhZ2dpbmdJblRpbWVsaW5lIjpmYWxzZSwidG9wIjotMTU5LCJsZWZ0IjotMzcwLCJ3aWR0aCI6MjU0NywiaGVpZ2h0IjoxNDM0LCJvcGFjaXR5IjoxLCJib3JkZXJSYWRpdXMiOjAsInJvdGF0aW9uIjowLCJkZWNpYmVsQWRqdXN0bWVudCI6MCwicGxheWJhY2tSYXRlIjoxLCJhdWRpb0ZhZGVJbkR1cmF0aW9uSW5TZWNvbmRzIjowLCJhdWRpb0ZhZGVPdXREdXJhdGlvbkluU2Vjb25kcyI6MCwiZmFkZUluRHVyYXRpb25JblNlY29uZHMiOjAsImZhZGVPdXREdXJhdGlvbkluU2Vjb25kcyI6MCwia2VlcEFzcGVjdFJhdGlvIjp0cnVlfSwiNXRZcyI6eyJpZCI6IjV0WXMiLCJkdXJhdGlvbkluRnJhbWVzIjo0NiwidmlkZW9TdGFydEZyb21JblNlY29uZHMiOjYuNjEzMzMzMzMzMzMzMzMsImZyb20iOjMxMDcsInR5cGUiOiJ2aWRlbyIsImFzc2V0SWQiOiJkcE11IiwiaXNEcmFnZ2luZ0luVGltZWxpbmUiOmZhbHNlLCJ0b3AiOi05NSwibGVmdCI6LTU0Nywid2lkdGgiOjI0NjUsImhlaWdodCI6MTM4OCwib3BhY2l0eSI6MSwiYm9yZGVyUmFkaXVzIjowLCJyb3RhdGlvbiI6MCwiZGVjaWJlbEFkanVzdG1lbnQiOjAsInBsYXliYWNrUmF0ZSI6MC42NSwiYXVkaW9GYWRlSW5EdXJhdGlvbkluU2Vjb25kcyI6MCwiYXVkaW9GYWRlT3V0RHVyYXRpb25JblNlY29uZHMiOjAsImZhZGVJbkR1cmF0aW9uSW5TZWNvbmRzIjowLCJmYWRlT3V0RHVyYXRpb25JblNlY29uZHMiOjAsImtlZXBBc3BlY3RSYXRpbyI6dHJ1ZX0sInI5STUiOnsiaWQiOiJyOUk1IiwiZHVyYXRpb25JbkZyYW1lcyI6NDYsInZpZGVvU3RhcnRGcm9tSW5TZWNvbmRzIjoxLjU2NjY2NjY2NjY2NjY2NjksImZyb20iOjMxNTMsInR5cGUiOiJ2aWRlbyIsImFzc2V0SWQiOiJDTkdLIiwiaXNEcmFnZ2luZ0luVGltZWxpbmUiOmZhbHNlLCJ0b3AiOjAsImxlZnQiOi05LCJ3aWR0aCI6MTkzMiwiaGVpZ2h0IjoxMDg3LCJvcGFjaXR5IjoxLCJib3JkZXJSYWRpdXMiOjAsInJvdGF0aW9uIjowLCJkZWNpYmVsQWRqdXN0bWVudCI6LTYwLCJwbGF5YmFja1JhdGUiOjEsImF1ZGlvRmFkZUluRHVyYXRpb25JblNlY29uZHMiOjAsImF1ZGlvRmFkZU91dER1cmF0aW9uSW5TZWNvbmRzIjowLCJmYWRlSW5EdXJhdGlvbkluU2Vjb25kcyI6MCwiZmFkZU91dER1cmF0aW9uSW5TZWNvbmRzIjowLCJrZWVwQXNwZWN0UmF0aW8iOnRydWV9LCI1cTk1Ijp7ImlkIjoiNXE5NSIsImR1cmF0aW9uSW5GcmFtZXMiOjY2LCJ2aWRlb1N0YXJ0RnJvbUluU2Vjb25kcyI6Ni43NjY2NjY2NjY2NjY2NjQsImZyb20iOjMxOTksInR5cGUiOiJ2aWRlbyIsImFzc2V0SWQiOiJOZnNGIiwiaXNEcmFnZ2luZ0luVGltZWxpbmUiOmZhbHNlLCJ0b3AiOi02MTksImxlZnQiOi0yMiwid2lkdGgiOjI3MTgsImhlaWdodCI6MTY5OCwib3BhY2l0eSI6MSwiYm9yZGVyUmFkaXVzIjowLCJyb3RhdGlvbiI6MCwiZGVjaWJlbEFkanVzdG1lbnQiOjAsInBsYXliYWNrUmF0ZSI6MS40LCJhdWRpb0ZhZGVJbkR1cmF0aW9uSW5TZWNvbmRzIjowLCJhdWRpb0ZhZGVPdXREdXJhdGlvbkluU2Vjb25kcyI6MCwiZmFkZUluRHVyYXRpb25JblNlY29uZHMiOjAsImZhZGVPdXREdXJhdGlvbkluU2Vjb25kcyI6MCwia2VlcEFzcGVjdFJhdGlvIjp0cnVlfSwiTXZkRyI6eyJpZCI6Ik12ZEciLCJkdXJhdGlvbkluRnJhbWVzIjo3NSwidmlkZW9TdGFydEZyb21JblNlY29uZHMiOjYuNTY2NjY2NjY2NjY2NjU5LCJmcm9tIjozMjY1LCJ0eXBlIjoidmlkZW8iLCJhc3NldElkIjoia1M4RyIsImlzRHJhZ2dpbmdJblRpbWVsaW5lIjpmYWxzZSwidG9wIjoxLCJsZWZ0IjotMTAyOSwid2lkdGgiOjM5MjQsImhlaWdodCI6MjIwOSwib3BhY2l0eSI6MSwiYm9yZGVyUmFkaXVzIjowLCJyb3RhdGlvbiI6MCwiZGVjaWJlbEFkanVzdG1lbnQiOjAsInBsYXliYWNrUmF0ZSI6MSwiYXVkaW9GYWRlSW5EdXJhdGlvbkluU2Vjb25kcyI6MCwiYXVkaW9GYWRlT3V0RHVyYXRpb25JblNlY29uZHMiOjAsImZhZGVJbkR1cmF0aW9uSW5TZWNvbmRzIjowLCJmYWRlT3V0RHVyYXRpb25JblNlY29uZHMiOjAsImtlZXBBc3BlY3RSYXRpbyI6dHJ1ZX0sIms5bUUiOnsiaWQiOiJrOW1FIiwiZHVyYXRpb25JbkZyYW1lcyI6MTM1LCJhdWRpb1N0YXJ0RnJvbUluU2Vjb25kcyI6MCwiZnJvbSI6MzMxMywidHlwZSI6ImF1ZGlvIiwidG9wIjowLCJsZWZ0IjowLCJ3aWR0aCI6MTAwLCJoZWlnaHQiOjEwMCwib3BhY2l0eSI6MSwiZGVjaWJlbEFkanVzdG1lbnQiOi0xNy41NDkxMDcxNDI4NTcxNCwicGxheWJhY2tSYXRlIjoxLCJhdWRpb0ZhZGVJbkR1cmF0aW9uSW5TZWNvbmRzIjowLjg5OTk2MDE1MDgyOTAzMTIsImF1ZGlvRmFkZU91dER1cmF0aW9uSW5TZWNvbmRzIjowLjg5MzQ1NDQxNDc5ODk0MTgsImFzc2V0SWQiOiIwM1ROIiwiaXNEcmFnZ2luZ0luVGltZWxpbmUiOmZhbHNlfSwiclVpVyI6eyJ0eXBlIjoic29saWQiLCJjb2xvciI6IiMyODI4MmQiLCJkdXJhdGlvbkluRnJhbWVzIjo5NywiZnJvbSI6MzMyNCwidG9wIjowLCJsZWZ0IjowLCJ3aWR0aCI6MTk0MiwiaGVpZ2h0IjoxMDk0LCJpc0RyYWdnaW5nSW5UaW1lbGluZSI6ZmFsc2UsImlkIjoiclVpVyIsIm9wYWNpdHkiOjEsImJvcmRlclJhZGl1cyI6MCwicm90YXRpb24iOjAsImtlZXBBc3BlY3RSYXRpbyI6ZmFsc2UsImZhZGVJbkR1cmF0aW9uSW5TZWNvbmRzIjowLjE5MTI4MDg5ODM0MzU0NDMsImZhZGVPdXREdXJhdGlvbkluU2Vjb25kcyI6MC4xMjc1OTE4OTkyMDI1OTkwM30sImxQZ2ciOnsiaWQiOiJsUGdnIiwiZHVyYXRpb25JbkZyYW1lcyI6OTcsImZyb20iOjMzMjQsInR5cGUiOiJ0ZXh0IiwidGV4dCI6IkRlc2lnbiBnb2FscyIsImNvbG9yIjoiI2ZmZmZmZiIsInRvcCI6NDgxLCJsZWZ0Ijo3MDIuNSwid2lkdGgiOjQ2MCwiaGVpZ2h0Ijo5NiwiYWxpZ24iOiJjZW50ZXIiLCJvcGFjaXR5IjoxLCJyb3RhdGlvbiI6MCwiZm9udEZhbWlseSI6IlJvYm90byIsImZvbnRTaXplIjo4MCwibGluZUhlaWdodCI6MS4yLCJsZXR0ZXJTcGFjaW5nIjowLCJyZXNpemVPbkVkaXQiOnRydWUsImRpcmVjdGlvbiI6Imx0ciIsImZvbnRTdHlsZSI6eyJ2YXJpYW50Ijoibm9ybWFsIiwid2VpZ2h0IjoiNDAwIn0sImlzRHJhZ2dpbmdJblRpbWVsaW5lIjpmYWxzZSwic3Ryb2tlV2lkdGgiOjAsInN0cm9rZUNvbG9yIjoiIzAwMDAwMCIsImZhZGVJbkR1cmF0aW9uSW5TZWNvbmRzIjowLjE3MTk3NjM0MDI0OTYwNTQsImZhZGVPdXREdXJhdGlvbkluU2Vjb25kcyI6MC4xMjQxNjk0ODQ0NzEyNjM2MX0sIlJBbnoiOnsiaWQiOiJSQW56IiwiZHVyYXRpb25JbkZyYW1lcyI6NjIsInZpZGVvU3RhcnRGcm9tSW5TZWNvbmRzIjoxLjU0MDAwMDAwMDAwMDAwMjMsImZyb20iOjM1MjksInR5cGUiOiJ2aWRlbyIsImFzc2V0SWQiOiI5TFl0IiwiaXNEcmFnZ2luZ0luVGltZWxpbmUiOmZhbHNlLCJ0b3AiOi0xNSwibGVmdCI6LTE3LCJ3aWR0aCI6MzM1NywiaGVpZ2h0IjoxODkwLCJvcGFjaXR5IjoxLCJib3JkZXJSYWRpdXMiOjAsInJvdGF0aW9uIjowLCJkZWNpYmVsQWRqdXN0bWVudCI6MCwicGxheWJhY2tSYXRlIjoxLjQsImF1ZGlvRmFkZUluRHVyYXRpb25JblNlY29uZHMiOjAsImF1ZGlvRmFkZU91dER1cmF0aW9uSW5TZWNvbmRzIjowLCJmYWRlSW5EdXJhdGlvbkluU2Vjb25kcyI6MC4yMjIyNjA2Njg4MzMwMzc1LCJmYWRlT3V0RHVyYXRpb25JblNlY29uZHMiOjAsImtlZXBBc3BlY3RSYXRpbyI6dHJ1ZX0sImhJS0oiOnsiaWQiOiJoSUtKIiwiZHVyYXRpb25JbkZyYW1lcyI6NDEsInZpZGVvU3RhcnRGcm9tSW5TZWNvbmRzIjoxLjg2NjY2NjY2NjY2NjY2NiwiZnJvbSI6MzU5MSwidHlwZSI6InZpZGVvIiwiYXNzZXRJZCI6IkJ3Vk4iLCJpc0RyYWdnaW5nSW5UaW1lbGluZSI6ZmFsc2UsInRvcCI6LTMyMCwibGVmdCI6LTUzOSwid2lkdGgiOjM0ODEsImhlaWdodCI6MTk2MCwib3BhY2l0eSI6MSwiYm9yZGVyUmFkaXVzIjowLCJyb3RhdGlvbiI6MCwiZGVjaWJlbEFkanVzdG1lbnQiOjEuMTI1LCJwbGF5YmFja1JhdGUiOjEsImF1ZGlvRmFkZUluRHVyYXRpb25JblNlY29uZHMiOjAsImF1ZGlvRmFkZU91dER1cmF0aW9uSW5TZWNvbmRzIjowLCJmYWRlSW5EdXJhdGlvbkluU2Vjb25kcyI6MCwiZmFkZU91dER1cmF0aW9uSW5TZWNvbmRzIjowLCJrZWVwQXNwZWN0UmF0aW8iOnRydWV9LCJDRnV4Ijp7ImlkIjoiQ0Z1eCIsImR1cmF0aW9uSW5GcmFtZXMiOjQ0LCJ2aWRlb1N0YXJ0RnJvbUluU2Vjb25kcyI6Mi45MzMzMzMzMzMzMzMzMzQsImZyb20iOjM2MzIsInR5cGUiOiJ2aWRlbyIsImFzc2V0SWQiOiJCd1ZOIiwiaXNEcmFnZ2luZ0luVGltZWxpbmUiOmZhbHNlLCJ0b3AiOi0xODEsImxlZnQiOi0xMzkyLCJ3aWR0aCI6MzMxNCwiaGVpZ2h0IjoxODY2LCJvcGFjaXR5IjoxLCJib3JkZXJSYWRpdXMiOjAsInJvdGF0aW9uIjowLCJkZWNpYmVsQWRqdXN0bWVudCI6MCwicGxheWJhY2tSYXRlIjoxLCJhdWRpb0ZhZGVJbkR1cmF0aW9uSW5TZWNvbmRzIjowLCJhdWRpb0ZhZGVPdXREdXJhdGlvbkluU2Vjb25kcyI6MCwiZmFkZUluRHVyYXRpb25JblNlY29uZHMiOjAsImZhZGVPdXREdXJhdGlvbkluU2Vjb25kcyI6MCwia2VlcEFzcGVjdFJhdGlvIjp0cnVlfSwiZ3FrcCI6eyJpZCI6Imdxa3AiLCJkdXJhdGlvbkluRnJhbWVzIjo0MCwidmlkZW9TdGFydEZyb21JblNlY29uZHMiOjQuNTMzMzMzMzMzMzMzMzMzLCJmcm9tIjozNjc2LCJ0eXBlIjoidmlkZW8iLCJhc3NldElkIjoiQndWTiIsImlzRHJhZ2dpbmdJblRpbWVsaW5lIjpmYWxzZSwidG9wIjotMTY5NSwibGVmdCI6LTMwNDEsIndpZHRoIjo0OTY3LCJoZWlnaHQiOjI3OTYsIm9wYWNpdHkiOjEsImJvcmRlclJhZGl1cyI6MCwicm90YXRpb24iOjAsImRlY2liZWxBZGp1c3RtZW50IjowLCJwbGF5YmFja1JhdGUiOjEsImF1ZGlvRmFkZUluRHVyYXRpb25JblNlY29uZHMiOjAsImF1ZGlvRmFkZU91dER1cmF0aW9uSW5TZWNvbmRzIjowLCJmYWRlSW5EdXJhdGlvbkluU2Vjb25kcyI6MCwiZmFkZU91dER1cmF0aW9uSW5TZWNvbmRzIjowLCJrZWVwQXNwZWN0UmF0aW8iOnRydWV9LCJ0Njh0Ijp7ImlkIjoidDY4dCIsImR1cmF0aW9uSW5GcmFtZXMiOjMyLCJ2aWRlb1N0YXJ0RnJvbUluU2Vjb25kcyI6NS4yMzAwMDAwMDAwMDAwMDIsImZyb20iOjM3MTYsInR5cGUiOiJ2aWRlbyIsImFzc2V0SWQiOiJCd1ZOIiwiaXNEcmFnZ2luZ0luVGltZWxpbmUiOmZhbHNlLCJ0b3AiOi02OTQsImxlZnQiOi0yNDkzLCJ3aWR0aCI6NjMzMSwiaGVpZ2h0IjozNTY0LCJvcGFjaXR5IjoxLCJib3JkZXJSYWRpdXMiOjAsInJvdGF0aW9uIjowLCJkZWNpYmVsQWRqdXN0bWVudCI6MCwicGxheWJhY2tSYXRlIjowLjcsImF1ZGlvRmFkZUluRHVyYXRpb25JblNlY29uZHMiOjAsImF1ZGlvRmFkZU91dER1cmF0aW9uSW5TZWNvbmRzIjowLCJmYWRlSW5EdXJhdGlvbkluU2Vjb25kcyI6MCwiZmFkZU91dER1cmF0aW9uSW5TZWNvbmRzIjowLCJrZWVwQXNwZWN0UmF0aW8iOnRydWV9LCJObElJIjp7ImlkIjoiTmxJSSIsImR1cmF0aW9uSW5GcmFtZXMiOjgxLCJ2aWRlb1N0YXJ0RnJvbUluU2Vjb25kcyI6Mi44MDE2NjY2NjY2NjY2NjM2LCJmcm9tIjozNzQ4LCJ0eXBlIjoidmlkZW8iLCJhc3NldElkIjoibERwMCIsImlzRHJhZ2dpbmdJblRpbWVsaW5lIjpmYWxzZSwidG9wIjotMjI3LCJsZWZ0IjotODEwLCJ3aWR0aCI6MzQ0OCwiaGVpZ2h0IjoxOTQxLCJvcGFjaXR5IjoxLCJib3JkZXJSYWRpdXMiOjAsInJvdGF0aW9uIjowLCJkZWNpYmVsQWRqdXN0bWVudCI6MCwicGxheWJhY2tSYXRlIjowLjY1LCJhdWRpb0ZhZGVJbkR1cmF0aW9uSW5TZWNvbmRzIjowLCJhdWRpb0ZhZGVPdXREdXJhdGlvbkluU2Vjb25kcyI6MCwiZmFkZUluRHVyYXRpb25JblNlY29uZHMiOjAsImZhZGVPdXREdXJhdGlvbkluU2Vjb25kcyI6MCwia2VlcEFzcGVjdFJhdGlvIjp0cnVlfSwic3QzVyI6eyJpZCI6InN0M1ciLCJkdXJhdGlvbkluRnJhbWVzIjo3NCwidmlkZW9TdGFydEZyb21JblNlY29uZHMiOjYuNjEzMzMzMzMzMzMzMzMsImZyb20iOjM4MjksInR5cGUiOiJ2aWRlbyIsImFzc2V0SWQiOiJkcE11IiwiaXNEcmFnZ2luZ0luVGltZWxpbmUiOmZhbHNlLCJ0b3AiOi05NSwibGVmdCI6LTU0Nywid2lkdGgiOjI0NjUsImhlaWdodCI6MTM4OCwib3BhY2l0eSI6MSwiYm9yZGVyUmFkaXVzIjowLCJyb3RhdGlvbiI6MCwiZGVjaWJlbEFkanVzdG1lbnQiOjAsInBsYXliYWNrUmF0ZSI6MC42NSwiYXVkaW9GYWRlSW5EdXJhdGlvbkluU2Vjb25kcyI6MCwiYXVkaW9GYWRlT3V0RHVyYXRpb25JblNlY29uZHMiOjAsImZhZGVJbkR1cmF0aW9uSW5TZWNvbmRzIjowLCJmYWRlT3V0RHVyYXRpb25JblNlY29uZHMiOjAsImtlZXBBc3BlY3RSYXRpbyI6dHJ1ZX0sIlV3UW4iOnsiaWQiOiJVd1FuIiwiZHVyYXRpb25JbkZyYW1lcyI6NDYsInZpZGVvU3RhcnRGcm9tSW5TZWNvbmRzIjozLjcwMDAwMDAwMDAwMDAwMiwiZnJvbSI6NDEyNiwidHlwZSI6InZpZGVvIiwiYXNzZXRJZCI6IlZ0YVUiLCJpc0RyYWdnaW5nSW5UaW1lbGluZSI6ZmFsc2UsInRvcCI6LTkwLCJsZWZ0IjotNjg1LCJ3aWR0aCI6MjY1MCwiaGVpZ2h0IjoxNDkxLCJvcGFjaXR5IjoxLCJib3JkZXJSYWRpdXMiOjAsInJvdGF0aW9uIjowLCJkZWNpYmVsQWRqdXN0bWVudCI6MCwicGxheWJhY2tSYXRlIjoxLCJhdWRpb0ZhZGVJbkR1cmF0aW9uSW5TZWNvbmRzIjowLCJhdWRpb0ZhZGVPdXREdXJhdGlvbkluU2Vjb25kcyI6MCwiZmFkZUluRHVyYXRpb25JblNlY29uZHMiOjAsImZhZGVPdXREdXJhdGlvbkluU2Vjb25kcyI6MCwia2VlcEFzcGVjdFJhdGlvIjp0cnVlfSwid0pjTyI6eyJpZCI6IndKY08iLCJkdXJhdGlvbkluRnJhbWVzIjozNywidmlkZW9TdGFydEZyb21JblNlY29uZHMiOjYuMTY2NjY2NjY2NjY2NjYyNSwiZnJvbSI6NDA4OSwidHlwZSI6InZpZGVvIiwiYXNzZXRJZCI6IjNSR0IiLCJpc0RyYWdnaW5nSW5UaW1lbGluZSI6ZmFsc2UsInRvcCI6LTM5NywibGVmdCI6LTQyMSwid2lkdGgiOjQxMDUsImhlaWdodCI6MjMxMSwib3BhY2l0eSI6MSwiYm9yZGVyUmFkaXVzIjowLCJyb3RhdGlvbiI6MCwiZGVjaWJlbEFkanVzdG1lbnQiOjAsInBsYXliYWNrUmF0ZSI6MC43LCJhdWRpb0ZhZGVJbkR1cmF0aW9uSW5TZWNvbmRzIjowLCJhdWRpb0ZhZGVPdXREdXJhdGlvbkluU2Vjb25kcyI6MCwiZmFkZUluRHVyYXRpb25JblNlY29uZHMiOjAsImZhZGVPdXREdXJhdGlvbkluU2Vjb25kcyI6MCwia2VlcEFzcGVjdFJhdGlvIjp0cnVlfSwiMlRZYiI6eyJpZCI6IjJUWWIiLCJkdXJhdGlvbkluRnJhbWVzIjo1MywidG9wIjotMiwibGVmdCI6LTE0NCwid2lkdGgiOjIxNDksImhlaWdodCI6MTQxMSwiZnJvbSI6NDE3MiwidHlwZSI6ImltYWdlIiwib3BhY2l0eSI6MSwiYm9yZGVyUmFkaXVzIjowLCJyb3RhdGlvbiI6MCwiYXNzZXRJZCI6IkUzb3YiLCJpc0RyYWdnaW5nSW5UaW1lbGluZSI6ZmFsc2UsImtlZXBBc3BlY3RSYXRpbyI6dHJ1ZSwiZmFkZUluRHVyYXRpb25JblNlY29uZHMiOjAsImZhZGVPdXREdXJhdGlvbkluU2Vjb25kcyI6MC4yNjIxNDc3OTkyNjM3Mjk5fSwiTHB1ZCI6eyJpZCI6IkxwdWQiLCJkdXJhdGlvbkluRnJhbWVzIjoxMTMsInZpZGVvU3RhcnRGcm9tSW5TZWNvbmRzIjoxLjI2NjY2NjY2NjY2NjY2NzMsImZyb20iOjQ0NjcsInR5cGUiOiJ2aWRlbyIsImFzc2V0SWQiOiJhYlRMIiwiaXNEcmFnZ2luZ0luVGltZWxpbmUiOmZhbHNlLCJ0b3AiOi0xLCJsZWZ0IjotNCwid2lkdGgiOjE5ODMsImhlaWdodCI6MTMwMSwib3BhY2l0eSI6MSwiYm9yZGVyUmFkaXVzIjowLCJyb3RhdGlvbiI6MCwiZGVjaWJlbEFkanVzdG1lbnQiOjAsInBsYXliYWNrUmF0ZSI6MSwiYXVkaW9GYWRlSW5EdXJhdGlvbkluU2Vjb25kcyI6MCwiYXVkaW9GYWRlT3V0RHVyYXRpb25JblNlY29uZHMiOjAsImZhZGVJbkR1cmF0aW9uSW5TZWNvbmRzIjowLCJmYWRlT3V0RHVyYXRpb25JblNlY29uZHMiOjAuNjE5NDEzMzYwNDYxMTczLCJrZWVwQXNwZWN0UmF0aW8iOnRydWV9LCJvd2VYIjp7ImlkIjoib3dlWCIsImR1cmF0aW9uSW5GcmFtZXMiOjIxOCwidmlkZW9TdGFydEZyb21JblNlY29uZHMiOjAsImZyb20iOjQ3NDIsInR5cGUiOiJ2aWRlbyIsImFzc2V0SWQiOiJuR2lMIiwiaXNEcmFnZ2luZ0luVGltZWxpbmUiOmZhbHNlLCJ0b3AiOjAsImxlZnQiOjAsIndpZHRoIjoxOTIwLCJoZWlnaHQiOjEwODAsIm9wYWNpdHkiOjEsImJvcmRlclJhZGl1cyI6MCwicm90YXRpb24iOjAsImRlY2liZWxBZGp1c3RtZW50IjowLCJwbGF5YmFja1JhdGUiOjEsImF1ZGlvRmFkZUluRHVyYXRpb25JblNlY29uZHMiOjAsImF1ZGlvRmFkZU91dER1cmF0aW9uSW5TZWNvbmRzIjowLCJmYWRlSW5EdXJhdGlvbkluU2Vjb25kcyI6MCwiZmFkZU91dER1cmF0aW9uSW5TZWNvbmRzIjowLCJrZWVwQXNwZWN0UmF0aW8iOnRydWV9LCJrZ3NkIjp7ImlkIjoia2dzZCIsImR1cmF0aW9uSW5GcmFtZXMiOjkzLCJ2aWRlb1N0YXJ0RnJvbUluU2Vjb25kcyI6MCwiZnJvbSI6NTQ4MSwidHlwZSI6InZpZGVvIiwiYXNzZXRJZCI6IjNOdFYiLCJpc0RyYWdnaW5nSW5UaW1lbGluZSI6ZmFsc2UsInRvcCI6LTIsImxlZnQiOi0yLCJ3aWR0aCI6MTkyMiwiaGVpZ2h0IjoxMTg5LCJvcGFjaXR5IjoxLCJib3JkZXJSYWRpdXMiOjAsInJvdGF0aW9uIjowLCJkZWNpYmVsQWRqdXN0bWVudCI6MCwicGxheWJhY2tSYXRlIjoxLjcsImF1ZGlvRmFkZUluRHVyYXRpb25JblNlY29uZHMiOjAsImF1ZGlvRmFkZU91dER1cmF0aW9uSW5TZWNvbmRzIjowLCJmYWRlSW5EdXJhdGlvbkluU2Vjb25kcyI6MC4xNTA0OTAyNDEwMDM5NzQ0OCwiZmFkZU91dER1cmF0aW9uSW5TZWNvbmRzIjowLjE4Nzc2ODQxNDM5NjA4NDgzLCJrZWVwQXNwZWN0UmF0aW8iOnRydWV9LCJIbUFHIjp7ImlkIjoiSG1BRyIsImR1cmF0aW9uSW5GcmFtZXMiOjkyLCJmcm9tIjo1NDgxLCJ0eXBlIjoidGV4dCIsInRleHQiOiJyZW1vdGlvbi5kZXYvZWRpdG9yLXN0YXJ0ZXIiLCJjb2xvciI6IiMwMDAwMDAiLCJ0b3AiOjkzMSwibGVmdCI6NjIzLCJ3aWR0aCI6NjgwLCJoZWlnaHQiOjY2LCJhbGlnbiI6ImNlbnRlciIsIm9wYWNpdHkiOjEsInJvdGF0aW9uIjowLCJmb250RmFtaWx5IjoiUm9ib3RvIiwiZm9udFNpemUiOjU1LCJsaW5lSGVpZ2h0IjoxLjIsImxldHRlclNwYWNpbmciOjAsInJlc2l6ZU9uRWRpdCI6dHJ1ZSwiZGlyZWN0aW9uIjoibHRyIiwiZm9udFN0eWxlIjp7InZhcmlhbnQiOiJub3JtYWwiLCJ3ZWlnaHQiOiI3MDAifSwiaXNEcmFnZ2luZ0luVGltZWxpbmUiOmZhbHNlLCJzdHJva2VXaWR0aCI6MCwic3Ryb2tlQ29sb3IiOiIjMDAwMDAwIiwiZmFkZUluRHVyYXRpb25JblNlY29uZHMiOjAsImZhZGVPdXREdXJhdGlvbkluU2Vjb25kcyI6MH0sIlVCMUoiOnsidHlwZSI6InNvbGlkIiwiY29sb3IiOiIjZmZmZmZmIiwiZHVyYXRpb25JbkZyYW1lcyI6OTIsImZyb20iOjU0ODEsInRvcCI6OTAxLCJsZWZ0Ijo1MTYsIndpZHRoIjo4ODksImhlaWdodCI6MTI2LCJpc0RyYWdnaW5nSW5UaW1lbGluZSI6ZmFsc2UsImlkIjoiVUIxSiIsIm9wYWNpdHkiOjEsImJvcmRlclJhZGl1cyI6NjIsInJvdGF0aW9uIjowLCJrZWVwQXNwZWN0UmF0aW8iOmZhbHNlLCJmYWRlSW5EdXJhdGlvbkluU2Vjb25kcyI6MCwiZmFkZU91dER1cmF0aW9uSW5TZWNvbmRzIjowfSwiMk9FViI6eyJ0eXBlIjoic29saWQiLCJjb2xvciI6IiMyMTIxMjYiLCJkdXJhdGlvbkluRnJhbWVzIjozMTEsImZyb20iOjYwOTMsInRvcCI6MCwibGVmdCI6MCwid2lkdGgiOjE5MjAsImhlaWdodCI6MTA4MCwiaXNEcmFnZ2luZ0luVGltZWxpbmUiOmZhbHNlLCJpZCI6IjJPRVYiLCJvcGFjaXR5IjoxLCJib3JkZXJSYWRpdXMiOjAsInJvdGF0aW9uIjowLCJrZWVwQXNwZWN0UmF0aW8iOmZhbHNlLCJmYWRlSW5EdXJhdGlvbkluU2Vjb25kcyI6MCwiZmFkZU91dER1cmF0aW9uSW5TZWNvbmRzIjowfSwiSWxXMCI6eyJpZCI6IklsVzAiLCJkdXJhdGlvbkluRnJhbWVzIjozMTEsInRvcCI6NzgsImxlZnQiOi00NjcsIndpZHRoIjoxNTIyLCJoZWlnaHQiOjkyNSwiZnJvbSI6NjA5MywidHlwZSI6ImltYWdlIiwib3BhY2l0eSI6MSwiYm9yZGVyUmFkaXVzIjowLCJyb3RhdGlvbiI6MCwiYXNzZXRJZCI6IllRVzEiLCJpc0RyYWdnaW5nSW5UaW1lbGluZSI6ZmFsc2UsImtlZXBBc3BlY3RSYXRpbyI6dHJ1ZSwiZmFkZUluRHVyYXRpb25JblNlY29uZHMiOjAsImZhZGVPdXREdXJhdGlvbkluU2Vjb25kcyI6MH0sIlV2MU0iOnsiaWQiOiJVdjFNIiwiZHVyYXRpb25JbkZyYW1lcyI6MzExLCJmcm9tIjo2MDkzLCJ0eXBlIjoidGV4dCIsInRleHQiOiJyZW1vdGlvbi5kZXYvZWRpdG9yLXN0YXJ0ZXIiLCJjb2xvciI6IiNmZmZmZmYiLCJ0b3AiOjI0MywibGVmdCI6MTE4Niwid2lkdGgiOjU1NCwiaGVpZ2h0Ijo1NSwiYWxpZ24iOiJsZWZ0Iiwib3BhY2l0eSI6MSwicm90YXRpb24iOjAsImZvbnRGYW1pbHkiOiJSb2JvdG8iLCJmb250U2l6ZSI6NDYsImxpbmVIZWlnaHQiOjEuMiwibGV0dGVyU3BhY2luZyI6MCwicmVzaXplT25FZGl0Ijp0cnVlLCJkaXJlY3Rpb24iOiJsdHIiLCJmb250U3R5bGUiOnsidmFyaWFudCI6Im5vcm1hbCIsIndlaWdodCI6IjQwMCJ9LCJpc0RyYWdnaW5nSW5UaW1lbGluZSI6ZmFsc2UsInN0cm9rZVdpZHRoIjowLCJzdHJva2VDb2xvciI6IiMwMDAwMDAiLCJmYWRlSW5EdXJhdGlvbkluU2Vjb25kcyI6MCwiZmFkZU91dER1cmF0aW9uSW5TZWNvbmRzIjowfSwiUURSVCI6eyJpZCI6IlFEUlQiLCJkdXJhdGlvbkluRnJhbWVzIjozMjcsImF1ZGlvU3RhcnRGcm9tSW5TZWNvbmRzIjowLCJmcm9tIjo2MDc3LCJ0eXBlIjoiYXVkaW8iLCJ0b3AiOjAsImxlZnQiOjAsIndpZHRoIjoxMDAsImhlaWdodCI6MTAwLCJvcGFjaXR5IjoxLCJkZWNpYmVsQWRqdXN0bWVudCI6LTE3LjU0OTEwNzE0Mjg1NzE0LCJwbGF5YmFja1JhdGUiOjEsImF1ZGlvRmFkZUluRHVyYXRpb25JblNlY29uZHMiOjAuODk5OTYwMTUwODI5MDMxMiwiYXVkaW9GYWRlT3V0RHVyYXRpb25JblNlY29uZHMiOjAuODkzNDU0NDE0Nzk4OTQxOCwiYXNzZXRJZCI6IjAzVE4iLCJpc0RyYWdnaW5nSW5UaW1lbGluZSI6ZmFsc2V9LCI4bXluIjp7ImlkIjoiOG15biIsImR1cmF0aW9uSW5GcmFtZXMiOjMxMSwiZnJvbSI6NjA5MywidHlwZSI6InRleHQiLCJ0ZXh0IjoiRG9jcyIsImNvbG9yIjoiIzA4ODRmMyIsInRvcCI6MjA2LCJsZWZ0IjoxMTg1LCJ3aWR0aCI6NjEsImhlaWdodCI6MzIsImFsaWduIjoibGVmdCIsIm9wYWNpdHkiOjEsInJvdGF0aW9uIjowLCJmb250RmFtaWx5IjoiUm9ib3RvIiwiZm9udFNpemUiOjI3LCJsaW5lSGVpZ2h0IjoxLjIsImxldHRlclNwYWNpbmciOjAsInJlc2l6ZU9uRWRpdCI6dHJ1ZSwiZGlyZWN0aW9uIjoibHRyIiwiZm9udFN0eWxlIjp7InZhcmlhbnQiOiJub3JtYWwiLCJ3ZWlnaHQiOiI3MDAifSwiaXNEcmFnZ2luZ0luVGltZWxpbmUiOmZhbHNlLCJzdHJva2VXaWR0aCI6MCwic3Ryb2tlQ29sb3IiOiIjMDg4NGYzIiwiZmFkZUluRHVyYXRpb25JblNlY29uZHMiOjAsImZhZGVPdXREdXJhdGlvbkluU2Vjb25kcyI6MH0sInlFRTciOnsiaWQiOiJ5RUU3IiwiZHVyYXRpb25JbkZyYW1lcyI6MzExLCJmcm9tIjo2MDkzLCJ0eXBlIjoidGV4dCIsInRleHQiOiJyZW1vdGlvbi5wcm8vZWRpdG9yLXN0YXJ0ZXIiLCJjb2xvciI6IiNmZmZmZmYiLCJ0b3AiOjQwMiwibGVmdCI6MTE4Niwid2lkdGgiOjU0OSwiaGVpZ2h0Ijo1NSwiYWxpZ24iOiJsZWZ0Iiwib3BhY2l0eSI6MSwicm90YXRpb24iOjAsImZvbnRGYW1pbHkiOiJSb2JvdG8iLCJmb250U2l6ZSI6NDYsImxpbmVIZWlnaHQiOjEuMiwibGV0dGVyU3BhY2luZyI6MCwicmVzaXplT25FZGl0Ijp0cnVlLCJkaXJlY3Rpb24iOiJsdHIiLCJmb250U3R5bGUiOnsidmFyaWFudCI6Im5vcm1hbCIsIndlaWdodCI6IjQwMCJ9LCJpc0RyYWdnaW5nSW5UaW1lbGluZSI6ZmFsc2UsInN0cm9rZVdpZHRoIjowLCJzdHJva2VDb2xvciI6IiMwMDAwMDAiLCJmYWRlSW5EdXJhdGlvbkluU2Vjb25kcyI6MCwiZmFkZU91dER1cmF0aW9uSW5TZWNvbmRzIjowfSwiU2w4WSI6eyJpZCI6IlNsOFkiLCJkdXJhdGlvbkluRnJhbWVzIjozMTEsImZyb20iOjYwOTMsInR5cGUiOiJ0ZXh0IiwidGV4dCI6IkJ1eSIsImNvbG9yIjoiIzA4ODRmMyIsInRvcCI6MzY1LCJsZWZ0IjoxMTg1LCJ3aWR0aCI6NDYsImhlaWdodCI6MzIsImFsaWduIjoibGVmdCIsIm9wYWNpdHkiOjEsInJvdGF0aW9uIjowLCJmb250RmFtaWx5IjoiUm9ib3RvIiwiZm9udFNpemUiOjI3LCJsaW5lSGVpZ2h0IjoxLjIsImxldHRlclNwYWNpbmciOjAsInJlc2l6ZU9uRWRpdCI6dHJ1ZSwiZGlyZWN0aW9uIjoibHRyIiwiZm9udFN0eWxlIjp7InZhcmlhbnQiOiJub3JtYWwiLCJ3ZWlnaHQiOiI3MDAifSwiaXNEcmFnZ2luZ0luVGltZWxpbmUiOmZhbHNlLCJzdHJva2VXaWR0aCI6MCwic3Ryb2tlQ29sb3IiOiIjMDg4NGYzIiwiZmFkZUluRHVyYXRpb25JblNlY29uZHMiOjAsImZhZGVPdXREdXJhdGlvbkluU2Vjb25kcyI6MH0sInZUa2siOnsiaWQiOiJ2VGtrIiwiZHVyYXRpb25JbkZyYW1lcyI6MzExLCJmcm9tIjo2MDkzLCJ0eXBlIjoidGV4dCIsInRleHQiOiJlZGl0b3Itc3RhcnRlci5yZW1vdGlvbi5kZXYiLCJjb2xvciI6IiNmZmZmZmYiLCJ0b3AiOjU2MCwibGVmdCI6MTE4Niwid2lkdGgiOjU0NSwiaGVpZ2h0Ijo1NSwiYWxpZ24iOiJsZWZ0Iiwib3BhY2l0eSI6MSwicm90YXRpb24iOjAsImZvbnRGYW1pbHkiOiJSb2JvdG8iLCJmb250U2l6ZSI6NDYsImxpbmVIZWlnaHQiOjEuMiwibGV0dGVyU3BhY2luZyI6MCwicmVzaXplT25FZGl0Ijp0cnVlLCJkaXJlY3Rpb24iOiJsdHIiLCJmb250U3R5bGUiOnsidmFyaWFudCI6Im5vcm1hbCIsIndlaWdodCI6IjQwMCJ9LCJpc0RyYWdnaW5nSW5UaW1lbGluZSI6ZmFsc2UsInN0cm9rZVdpZHRoIjowLCJzdHJva2VDb2xvciI6IiMwMDAwMDAiLCJmYWRlSW5EdXJhdGlvbkluU2Vjb25kcyI6MCwiZmFkZU91dER1cmF0aW9uSW5TZWNvbmRzIjowfSwiVnpnTCI6eyJpZCI6IlZ6Z0wiLCJkdXJhdGlvbkluRnJhbWVzIjozMTEsImZyb20iOjYwOTMsInR5cGUiOiJ0ZXh0IiwidGV4dCI6IkRlbW8iLCJjb2xvciI6IiMwODg0ZjMiLCJ0b3AiOjUyMywibGVmdCI6MTE4NSwid2lkdGgiOjcxLCJoZWlnaHQiOjMyLCJhbGlnbiI6ImxlZnQiLCJvcGFjaXR5IjoxLCJyb3RhdGlvbiI6MCwiZm9udEZhbWlseSI6IlJvYm90byIsImZvbnRTaXplIjoyNywibGluZUhlaWdodCI6MS4yLCJsZXR0ZXJTcGFjaW5nIjowLCJyZXNpemVPbkVkaXQiOnRydWUsImRpcmVjdGlvbiI6Imx0ciIsImZvbnRTdHlsZSI6eyJ2YXJpYW50Ijoibm9ybWFsIiwid2VpZ2h0IjoiNzAwIn0sImlzRHJhZ2dpbmdJblRpbWVsaW5lIjpmYWxzZSwic3Ryb2tlV2lkdGgiOjAsInN0cm9rZUNvbG9yIjoiIzA4ODRmMyIsImZhZGVJbkR1cmF0aW9uSW5TZWNvbmRzIjowLCJmYWRlT3V0RHVyYXRpb25JblNlY29uZHMiOjB9LCJRN01wIjp7ImlkIjoiUTdNcCIsImR1cmF0aW9uSW5GcmFtZXMiOjMxMSwiZnJvbSI6NjA5MywidHlwZSI6InRleHQiLCJ0ZXh0IjoiTGluayBiZWxvdyIsImNvbG9yIjoiI2ZmZmZmZiIsInRvcCI6NzE2LCJsZWZ0IjoxMTg2LCJ3aWR0aCI6MjE5LCJoZWlnaHQiOjU1LCJhbGlnbiI6ImxlZnQiLCJvcGFjaXR5IjoxLCJyb3RhdGlvbiI6MCwiZm9udEZhbWlseSI6IlJvYm90byIsImZvbnRTaXplIjo0NiwibGluZUhlaWdodCI6MS4yLCJsZXR0ZXJTcGFjaW5nIjowLCJyZXNpemVPbkVkaXQiOnRydWUsImRpcmVjdGlvbiI6Imx0ciIsImZvbnRTdHlsZSI6eyJ2YXJpYW50Ijoibm9ybWFsIiwid2VpZ2h0IjoiNDAwIn0sImlzRHJhZ2dpbmdJblRpbWVsaW5lIjpmYWxzZSwic3Ryb2tlV2lkdGgiOjAsInN0cm9rZUNvbG9yIjoiIzAwMDAwMCIsImZhZGVJbkR1cmF0aW9uSW5TZWNvbmRzIjowLCJmYWRlT3V0RHVyYXRpb25JblNlY29uZHMiOjB9LCJZMjJBIjp7ImlkIjoiWTIyQSIsImR1cmF0aW9uSW5GcmFtZXMiOjMxMSwiZnJvbSI6NjA5MywidHlwZSI6InRleHQiLCJ0ZXh0IjoiRWRpdCB0aGlzIHZpZGVvIiwiY29sb3IiOiIjMDg4NGYzIiwidG9wIjo2NzksImxlZnQiOjExODUsIndpZHRoIjoxNzEsImhlaWdodCI6MzIsImFsaWduIjoibGVmdCIsIm9wYWNpdHkiOjEsInJvdGF0aW9uIjowLCJmb250RmFtaWx5IjoiUm9ib3RvIiwiZm9udFNpemUiOjI3LCJsaW5lSGVpZ2h0IjoxLjIsImxldHRlclNwYWNpbmciOjAsInJlc2l6ZU9uRWRpdCI6dHJ1ZSwiZGlyZWN0aW9uIjoibHRyIiwiZm9udFN0eWxlIjp7InZhcmlhbnQiOiJub3JtYWwiLCJ3ZWlnaHQiOiI3MDAifSwiaXNEcmFnZ2luZ0luVGltZWxpbmUiOmZhbHNlLCJzdHJva2VXaWR0aCI6MCwic3Ryb2tlQ29sb3IiOiIjMDg4NGYzIiwiZmFkZUluRHVyYXRpb25JblNlY29uZHMiOjAsImZhZGVPdXREdXJhdGlvbkluU2Vjb25kcyI6MH19LCJhc3NldHMiOnsibzVQVyI6eyJpZCI6Im81UFciLCJ0eXBlIjoidmlkZW8iLCJkdXJhdGlvbkluU2Vjb25kcyI6MTIuNTE4MDAwNjY2NjY2NjY3LCJoYXNBdWRpb1RyYWNrIjp0cnVlLCJmaWxlbmFtZSI6InRpbWVsaW5lLWltcG9ydC5tb3YiLCJyZW1vdGVVcmwiOiJodHRwczovL3JlbW90aW9ubGFtYmRhLWd4emxlNHlub2guczMtYWNjZWxlcmF0ZS5hbWF6b25hd3MuY29tLzE2ZDBiZWJhLWU1NjAtNGM0Ni1hNDJmLWJhODRiOTUwNjNjNyIsInJlbW90ZUZpbGVLZXkiOiIxNmQwYmViYS1lNTYwLTRjNDYtYTQyZi1iYTg0Yjk1MDYzYzciLCJzaXplIjoxMjI3ODUxMywibWltZVR5cGUiOiJ2aWRlby9xdWlja3RpbWUiLCJ3aWR0aCI6MTA4MCwiaGVpZ2h0Ijo2MDh9LCJ2UldZIjp7ImlkIjoidlJXWSIsInR5cGUiOiJ2aWRlbyIsImR1cmF0aW9uSW5TZWNvbmRzIjo5LjU1MTMzNCwiaGFzQXVkaW9UcmFjayI6dHJ1ZSwiZmlsZW5hbWUiOiJ0cmltLWxlZnQubW92IiwicmVtb3RlVXJsIjoiaHR0cHM6Ly9yZW1vdGlvbmxhbWJkYS1neHpsZTR5bm9oLnMzLWFjY2VsZXJhdGUuYW1hem9uYXdzLmNvbS8yYmE2OTQ5MC1iMmVjLTQ3ZGUtODhiNi01MWFkYmJiZjhlZTYiLCJyZW1vdGVGaWxlS2V5IjoiMmJhNjk0OTAtYjJlYy00N2RlLTg4YjYtNTFhZGJiYmY4ZWU2Iiwic2l6ZSI6OTIxNTc0NywibWltZVR5cGUiOiJ2aWRlby9xdWlja3RpbWUiLCJ3aWR0aCI6MTA4MCwiaGVpZ2h0Ijo2MDh9LCJha2RIIjp7ImlkIjoiYWtkSCIsInR5cGUiOiJ2aWRlbyIsImR1cmF0aW9uSW5TZWNvbmRzIjo2LjczNDY2NzMzMzMzMzMzMywiaGFzQXVkaW9UcmFjayI6dHJ1ZSwiZmlsZW5hbWUiOiJ0cmltLXJpZ2h0Lm1vdiIsInJlbW90ZVVybCI6Imh0dHBzOi8vcmVtb3Rpb25sYW1iZGEtZ3h6bGU0eW5vaC5zMy1hY2NlbGVyYXRlLmFtYXpvbmF3cy5jb20vM2RhNTc4ZDEtZDg0NS00NThlLTlhODYtMWIxNjQ0MWJmMDllIiwicmVtb3RlRmlsZUtleSI6IjNkYTU3OGQxLWQ4NDUtNDU4ZS05YTg2LTFiMTY0NDFiZjA5ZSIsInNpemUiOjYzNzQ4MTQsIm1pbWVUeXBlIjoidmlkZW8vcXVpY2t0aW1lIiwid2lkdGgiOjEwODAsImhlaWdodCI6NjA4fSwiM1JHQiI6eyJpZCI6IjNSR0IiLCJ0eXBlIjoidmlkZW8iLCJkdXJhdGlvbkluU2Vjb25kcyI6OS4zNTEzMzQwMDAwMDAwMDEsImhhc0F1ZGlvVHJhY2siOnRydWUsImZpbGVuYW1lIjoidXBsb2FkLWxvYWRpbmctaW5kaWNhdG9yLm1vdiIsInJlbW90ZVVybCI6Imh0dHBzOi8vcmVtb3Rpb25sYW1iZGEtZ3h6bGU0eW5vaC5zMy1hY2NlbGVyYXRlLmFtYXpvbmF3cy5jb20vOTdkOTZjZDktZDliZi00OGFhLWEzNWYtODAwYTI1Njg5YzQ3IiwicmVtb3RlRmlsZUtleSI6Ijk3ZDk2Y2Q5LWQ5YmYtNDhhYS1hMzVmLTgwMGEyNTY4OWM0NyIsInNpemUiOjkwNDU1NTEsIm1pbWVUeXBlIjoidmlkZW8vcXVpY2t0aW1lIiwid2lkdGgiOjEwODAsImhlaWdodCI6NjA4fSwiTVQ1dSI6eyJpZCI6Ik1UNXUiLCJ0eXBlIjoidmlkZW8iLCJkdXJhdGlvbkluU2Vjb25kcyI6MTIuMDUxMzM0LCJoYXNBdWRpb1RyYWNrIjp0cnVlLCJmaWxlbmFtZSI6InZvbHVtZS1jb250cm9sLm1vdiIsInJlbW90ZVVybCI6Imh0dHBzOi8vcmVtb3Rpb25sYW1iZGEtZ3h6bGU0eW5vaC5zMy1hY2NlbGVyYXRlLmFtYXpvbmF3cy5jb20vNmE2MzgxMGEtN2I3MS00ZDljLWI1MDEtMDZmNjI4NmI5NGVmIiwicmVtb3RlRmlsZUtleSI6IjZhNjM4MTBhLTdiNzEtNGQ5Yy1iNTAxLTA2ZjYyODZiOTRlZiIsInNpemUiOjExNzg1MDMyLCJtaW1lVHlwZSI6InZpZGVvL3F1aWNrdGltZSIsIndpZHRoIjoxMDgwLCJoZWlnaHQiOjYwOH0sIkVsdjAiOnsiaWQiOiJFbHYwIiwidHlwZSI6InZpZGVvIiwiZHVyYXRpb25JblNlY29uZHMiOjcuOTUxMzM0LCJoYXNBdWRpb1RyYWNrIjp0cnVlLCJmaWxlbmFtZSI6ImZhZGUtaW4ubW92IiwicmVtb3RlVXJsIjoiaHR0cHM6Ly9yZW1vdGlvbmxhbWJkYS1neHpsZTR5bm9oLnMzLWFjY2VsZXJhdGUuYW1hem9uYXdzLmNvbS81ZjU1NTAzZi00ZmMxLTRlZTktYTUxMi03MWE1MjViZWZmZmMiLCJyZW1vdGVGaWxlS2V5IjoiNWY1NTUwM2YtNGZjMS00ZWU5LWE1MTItNzFhNTI1YmVmZmZjIiwic2l6ZSI6NzU4MjY2MSwibWltZVR5cGUiOiJ2aWRlby9xdWlja3RpbWUiLCJ3aWR0aCI6MTA4MCwiaGVpZ2h0Ijo2MDh9LCJMRzBLIjp7ImlkIjoiTEcwSyIsInR5cGUiOiJ2aWRlbyIsImR1cmF0aW9uSW5TZWNvbmRzIjoxNS4xMDE2NjY2NjY2NjY2NjcsImhhc0F1ZGlvVHJhY2siOnRydWUsImZpbGVuYW1lIjoicGluY2gtdG8tem9vbS5NT1YiLCJyZW1vdGVVcmwiOiJodHRwczovL3JlbW90aW9ubGFtYmRhLWd4emxlNHlub2guczMtYWNjZWxlcmF0ZS5hbWF6b25hd3MuY29tLzc0M2MwZTVhLTI1NGYtNDkzYy05YTE5LWU2NDEwNzE5NzM1MiIsInJlbW90ZUZpbGVLZXkiOiI3NDNjMGU1YS0yNTRmLTQ5M2MtOWExOS1lNjQxMDcxOTczNTIiLCJzaXplIjoxNDgzOTI4MywibWltZVR5cGUiOiJ2aWRlby9xdWlja3RpbWUiLCJ3aWR0aCI6MTA4MCwiaGVpZ2h0Ijo2MDh9LCI5TFl0Ijp7ImlkIjoiOUxZdCIsInR5cGUiOiJ2aWRlbyIsImR1cmF0aW9uSW5TZWNvbmRzIjo3LjI2ODAwMDY2NjY2NjY2NjYsImhhc0F1ZGlvVHJhY2siOnRydWUsImZpbGVuYW1lIjoic29saWQtZHJhd2luZy10b29sLm1vdiIsInJlbW90ZVVybCI6Imh0dHBzOi8vcmVtb3Rpb25sYW1iZGEtZ3h6bGU0eW5vaC5zMy1hY2NlbGVyYXRlLmFtYXpvbmF3cy5jb20vYzJkNDBiNDUtZjQ0Mi00MjEyLTlkZDItZDE3ZWYwZTcxZjMxIiwicmVtb3RlRmlsZUtleSI6ImMyZDQwYjQ1LWY0NDItNDIxMi05ZGQyLWQxN2VmMGU3MWYzMSIsInNpemUiOjY4Njc4NDksIm1pbWVUeXBlIjoidmlkZW8vcXVpY2t0aW1lIiwid2lkdGgiOjEwODAsImhlaWdodCI6NjA4fSwibERwMCI6eyJpZCI6ImxEcDAiLCJ0eXBlIjoidmlkZW8iLCJkdXJhdGlvbkluU2Vjb25kcyI6MTEuNDM0NjY3MzMzMzMzMzM1LCJoYXNBdWRpb1RyYWNrIjp0cnVlLCJmaWxlbmFtZSI6ImZvbnQtc3R5bGVzLm1vdiIsInJlbW90ZVVybCI6Imh0dHBzOi8vcmVtb3Rpb25sYW1iZGEtZ3h6bGU0eW5vaC5zMy1hY2NlbGVyYXRlLmFtYXpvbmF3cy5jb20vNTgwMjhmN2EtNTViMy00MTM2LWExZjItODY2NTFiOWM2ZDhiIiwicmVtb3RlRmlsZUtleSI6IjU4MDI4ZjdhLTU1YjMtNDEzNi1hMWYyLTg2NjUxYjljNmQ4YiIsInNpemUiOjExMTIxNTE2LCJtaW1lVHlwZSI6InZpZGVvL3F1aWNrdGltZSIsIndpZHRoIjoxMDgwLCJoZWlnaHQiOjYwOH0sImRwTXUiOnsiaWQiOiJkcE11IiwidHlwZSI6InZpZGVvIiwiZHVyYXRpb25JblNlY29uZHMiOjExLjQzNDY2NzMzMzMzMzMzNSwiaGFzQXVkaW9UcmFjayI6dHJ1ZSwiZmlsZW5hbWUiOiJmb250LXN0eWxlcy5tb3YiLCJyZW1vdGVVcmwiOiJodHRwczovL3JlbW90aW9ubGFtYmRhLWd4emxlNHlub2guczMtYWNjZWxlcmF0ZS5hbWF6b25hd3MuY29tL2MyOWFhNmUzLTU2YTMtNGE4My1hMDk2LTg0YWM3ODU1ZWY4NCIsInJlbW90ZUZpbGVLZXkiOiJjMjlhYTZlMy01NmEzLTRhODMtYTA5Ni04NGFjNzg1NWVmODQiLCJzaXplIjoxMTEyMTUxNiwibWltZVR5cGUiOiJ2aWRlby9xdWlja3RpbWUiLCJ3aWR0aCI6MTA4MCwiaGVpZ2h0Ijo2MDh9LCJWdGFVIjp7ImlkIjoiVnRhVSIsInR5cGUiOiJ2aWRlbyIsImR1cmF0aW9uSW5TZWNvbmRzIjo2LjY2NSwiaGFzQXVkaW9UcmFjayI6dHJ1ZSwiZmlsZW5hbWUiOiJnZW5lcmF0aW5nLWNhcHRpb25zLm1vdiIsInJlbW90ZVVybCI6Imh0dHBzOi8vcmVtb3Rpb25sYW1iZGEtZ3h6bGU0eW5vaC5zMy1hY2NlbGVyYXRlLmFtYXpvbmF3cy5jb20vYzFkMjY5Y2EtY2U2MC00M2Q4LThiMGUtODFkOTA0ODIwNzIzIiwicmVtb3RlRmlsZUtleSI6ImMxZDI2OWNhLWNlNjAtNDNkOC04YjBlLTgxZDkwNDgyMDcyMyIsInNpemUiOjc4MTA3OTIsIm1pbWVUeXBlIjoidmlkZW8vcXVpY2t0aW1lIiwid2lkdGgiOjEwODAsImhlaWdodCI6NjA4fSwiQndWTiI6eyJpZCI6IkJ3Vk4iLCJ0eXBlIjoidmlkZW8iLCJkdXJhdGlvbkluU2Vjb25kcyI6OC4wODQ2NjczMzMzMzMzMzQsImhhc0F1ZGlvVHJhY2siOnRydWUsImZpbGVuYW1lIjoic2VuZC10by1iYWNrLWNlbnRlci1ib3JkZXItcmFkaXVzLm1vdiIsInJlbW90ZVVybCI6Imh0dHBzOi8vcmVtb3Rpb25sYW1iZGEtZ3h6bGU0eW5vaC5zMy1hY2NlbGVyYXRlLmFtYXpvbmF3cy5jb20vZjg0NGNjMTUtMjQ1OS00OGIxLTg2YzAtYWE0MjAzYjIxYzU1IiwicmVtb3RlRmlsZUtleSI6ImY4NDRjYzE1LTI0NTktNDhiMS04NmMwLWFhNDIwM2IyMWM1NSIsInNpemUiOjc3NTI4NTEsIm1pbWVUeXBlIjoidmlkZW8vcXVpY2t0aW1lIiwid2lkdGgiOjEwODAsImhlaWdodCI6NjA4fSwiMDNUTiI6eyJpZCI6IjAzVE4iLCJ0eXBlIjoiYXVkaW8iLCJkdXJhdGlvbkluU2Vjb25kcyI6NTguNTEyLCJmaWxlbmFtZSI6IkVTX09yZGluYXJ5IExvdmUgKEluc3RydW1lbnRhbCBWZXJzaW9uKSAtIExpc2EgVG93biAoVmVyc2lvbiAyZDEyOWFiNCkgLSBmdWxsbWl4X3ByZXZpZXcubXAzIiwicmVtb3RlVXJsIjoiaHR0cHM6Ly9yZW1vdGlvbmxhbWJkYS1neHpsZTR5bm9oLnMzLWFjY2VsZXJhdGUuYW1hem9uYXdzLmNvbS83NjdlY2Y4NS0yZjc4LTQ3YjItODJlNS01MmFhMWQ3YTgzZDEiLCJyZW1vdGVGaWxlS2V5IjoiNzY3ZWNmODUtMmY3OC00N2IyLTgyZTUtNTJhYTFkN2E4M2QxIiwic2l6ZSI6MjM0MDQ4MCwibWltZVR5cGUiOiJhdWRpby9tcGVnIn0sIkNOR0siOnsiaWQiOiJDTkdLIiwidHlwZSI6InZpZGVvIiwiZHVyYXRpb25JblNlY29uZHMiOjQuNTk3LCJoYXNBdWRpb1RyYWNrIjp0cnVlLCJmaWxlbmFtZSI6ImNhcHRpb25zLWFuZC1wbGF5YmFjay5tb3YiLCJyZW1vdGVVcmwiOiJodHRwczovL3JlbW90aW9ubGFtYmRhLWd4emxlNHlub2guczMtYWNjZWxlcmF0ZS5hbWF6b25hd3MuY29tL2RiNzg0YmY5LTlkYWMtNDVhNC05NjZmLTRlNDIwOWUxYTdhYSIsInJlbW90ZUZpbGVLZXkiOiJkYjc4NGJmOS05ZGFjLTQ1YTQtOTY2Zi00ZTQyMDllMWE3YWEiLCJzaXplIjo2NTAwNzU1LCJtaW1lVHlwZSI6InZpZGVvL3F1aWNrdGltZSIsIndpZHRoIjoxMDgwLCJoZWlnaHQiOjYwOH0sIndWd1ciOnsiaWQiOiJ3VndXIiwidHlwZSI6InZpZGVvIiwiZHVyYXRpb25JblNlY29uZHMiOjkuNzUxMzM0MDAwMDAwMDAyLCJoYXNBdWRpb1RyYWNrIjp0cnVlLCJmaWxlbmFtZSI6ImNhcHRpb24taGlnaGxpZ2h0LWNvbG9yLm1vdiIsInJlbW90ZVVybCI6Imh0dHBzOi8vcmVtb3Rpb25sYW1iZGEtZ3h6bGU0eW5vaC5zMy1hY2NlbGVyYXRlLmFtYXpvbmF3cy5jb20vZTA4MGY2YTQtNjk4My00ODk1LTk5NDUtZGYwZTZhMzgzNDY2IiwicmVtb3RlRmlsZUtleSI6ImUwODBmNmE0LTY5ODMtNDg5NS05OTQ1LWRmMGU2YTM4MzQ2NiIsInNpemUiOjk0MzY4MjgsIm1pbWVUeXBlIjoidmlkZW8vcXVpY2t0aW1lIiwid2lkdGgiOjEwODAsImhlaWdodCI6NjA4fSwiTGN5ciI6eyJpZCI6IkxjeXIiLCJ0eXBlIjoidmlkZW8iLCJkdXJhdGlvbkluU2Vjb25kcyI6Ni42MzQ2NjczMzMzMzMzMzQsImhhc0F1ZGlvVHJhY2siOnRydWUsImZpbGVuYW1lIjoiY2FudmFzLW1hcnF1ZWUtc2VsZWN0aW9uLWFuZC1tb3ZlLm1vdiIsInJlbW90ZVVybCI6Imh0dHBzOi8vcmVtb3Rpb25sYW1iZGEtZ3h6bGU0eW5vaC5zMy1hY2NlbGVyYXRlLmFtYXpvbmF3cy5jb20vZmMxNGY5YTktNWMwYi00NWIzLTg5NWQtOGFkMGEzNjc0YmYyIiwicmVtb3RlRmlsZUtleSI6ImZjMTRmOWE5LTVjMGItNDViMy04OTVkLThhZDBhMzY3NGJmMiIsInNpemUiOjYyNzI2MTQsIm1pbWVUeXBlIjoidmlkZW8vcXVpY2t0aW1lIiwid2lkdGgiOjEwODAsImhlaWdodCI6NjA4fSwiRkVoayI6eyJpZCI6IkZFaGsiLCJ0eXBlIjoidmlkZW8iLCJkdXJhdGlvbkluU2Vjb25kcyI6OS45NjgwMDA2NjY2NjY2NjcsImhhc0F1ZGlvVHJhY2siOnRydWUsImZpbGVuYW1lIjoidGltZWxpbmUtbWFycXVlZS1zZWxlY3Rpb24ubW92IiwicmVtb3RlVXJsIjoiaHR0cHM6Ly9yZW1vdGlvbmxhbWJkYS1neHpsZTR5bm9oLnMzLWFjY2VsZXJhdGUuYW1hem9uYXdzLmNvbS81YWNhYmZhNy1iMzU0LTQwY2YtYjkxMC0xZTk5YmRiNTU3ZGUiLCJyZW1vdGVGaWxlS2V5IjoiNWFjYWJmYTctYjM1NC00MGNmLWI5MTAtMWU5OWJkYjU1N2RlIiwic2l6ZSI6OTY3NTI4NywibWltZVR5cGUiOiJ2aWRlby9xdWlja3RpbWUiLCJ3aWR0aCI6MTA4MCwiaGVpZ2h0Ijo2MDh9LCJaRmlHIjp7ImlkIjoiWkZpRyIsInR5cGUiOiJ2aWRlbyIsImR1cmF0aW9uSW5TZWNvbmRzIjo3LjgwMTMzNDAwMDAwMDAwMSwiaGFzQXVkaW9UcmFjayI6dHJ1ZSwiZmlsZW5hbWUiOiJ0aW1lbGluZS16b29tLm1vdiIsInJlbW90ZVVybCI6Imh0dHBzOi8vcmVtb3Rpb25sYW1iZGEtZ3h6bGU0eW5vaC5zMy1hY2NlbGVyYXRlLmFtYXpvbmF3cy5jb20vZjM0ZjVlOTMtN2ZkMy00ZjhhLWJlODItNzFjYzA3NjIyN2EwIiwicmVtb3RlRmlsZUtleSI6ImYzNGY1ZTkzLTdmZDMtNGY4YS1iZTgyLTcxY2MwNzYyMjdhMCIsInNpemUiOjc0MTIxOTksIm1pbWVUeXBlIjoidmlkZW8vcXVpY2t0aW1lIiwid2lkdGgiOjEwODAsImhlaWdodCI6NjA4fSwib2JmSCI6eyJpZCI6Im9iZkgiLCJ0eXBlIjoidmlkZW8iLCJkdXJhdGlvbkluU2Vjb25kcyI6MTEuMDM0NjY3MzMzMzMzMzM1LCJoYXNBdWRpb1RyYWNrIjp0cnVlLCJmaWxlbmFtZSI6InNwbGl0LWl0ZW0tYW5kLXJvbGxpbmctZWRpdC5tb3YiLCJyZW1vdGVVcmwiOiJodHRwczovL3JlbW90aW9ubGFtYmRhLWd4emxlNHlub2guczMtYWNjZWxlcmF0ZS5hbWF6b25hd3MuY29tL2FhNmZhZGZiLWEzYmYtNDA3MC1hZTA0LTI0NTcwNGI4MGU4NSIsInJlbW90ZUZpbGVLZXkiOiJhYTZmYWRmYi1hM2JmLTQwNzAtYWUwNC0yNDU3MDRiODBlODUiLCJzaXplIjoxMDcxMzEzNCwibWltZVR5cGUiOiJ2aWRlby9xdWlja3RpbWUiLCJ3aWR0aCI6MTA4MCwiaGVpZ2h0Ijo2MDh9LCJuMUlEIjp7ImlkIjoibjFJRCIsInR5cGUiOiJ2aWRlbyIsImR1cmF0aW9uSW5TZWNvbmRzIjoxNi41ODksImhhc0F1ZGlvVHJhY2siOnRydWUsImZpbGVuYW1lIjoiZWRpdG9yLWJ1aWxkdXAubW92IiwicmVtb3RlVXJsIjoiaHR0cHM6Ly9yZW1vdGlvbmxhbWJkYS1neHpsZTR5bm9oLnMzLWFjY2VsZXJhdGUuYW1hem9uYXdzLmNvbS8xNzc5OGZlYy02ODliLTRhYWItOWJhMi0wNmRhMzY3YTQ5ZjQiLCJyZW1vdGVGaWxlS2V5IjoiMTc3OThmZWMtNjg5Yi00YWFiLTliYTItMDZkYTM2N2E0OWY0Iiwic2l6ZSI6MTg1NTA4MzAsIm1pbWVUeXBlIjoidmlkZW8vcXVpY2t0aW1lIiwid2lkdGgiOjEwODAsImhlaWdodCI6NjA4fSwia1M4RyI6eyJpZCI6ImtTOEciLCJ0eXBlIjoidmlkZW8iLCJkdXJhdGlvbkluU2Vjb25kcyI6OS4xMzQsImhhc0F1ZGlvVHJhY2siOnRydWUsImZpbGVuYW1lIjoicmVuZGVyaW5nLm1vdiIsInJlbW90ZVVybCI6Imh0dHBzOi8vcmVtb3Rpb25sYW1iZGEtZ3h6bGU0eW5vaC5zMy1hY2NlbGVyYXRlLmFtYXpvbmF3cy5jb20vMGIxOTBmMzYtYjg3OC00MjI3LThjYjUtZjBmNTIwNjhhNDI3IiwicmVtb3RlRmlsZUtleSI6IjBiMTkwZjM2LWI4NzgtNDIyNy04Y2I1LWYwZjUyMDY4YTQyNyIsInNpemUiOjEwNDI5MTQzLCJtaW1lVHlwZSI6InZpZGVvL3F1aWNrdGltZSIsIndpZHRoIjoxMDgwLCJoZWlnaHQiOjYwOH0sIkQ4NkciOnsiaWQiOiJEODZHIiwidHlwZSI6InZpZGVvIiwiZHVyYXRpb25JblNlY29uZHMiOjU0LjAzNjY2NjY2NjY2NjY3LCJoYXNBdWRpb1RyYWNrIjp0cnVlLCJmaWxlbmFtZSI6IklNR180ODIwLk1PViIsInJlbW90ZVVybCI6Imh0dHBzOi8vcmVtb3Rpb25sYW1iZGEtZ3h6bGU0eW5vaC5zMy1hY2NlbGVyYXRlLmFtYXpvbmF3cy5jb20vMDk0OTEyZjMtN2E1ZC00ODZiLWEwMmMtMGYxYWU0MmY4YWU5IiwicmVtb3RlRmlsZUtleSI6IjA5NDkxMmYzLTdhNWQtNDg2Yi1hMDJjLTBmMWFlNDJmOGFlOSIsInNpemUiOjUyMTI4ODIzLCJtaW1lVHlwZSI6InZpZGVvL3F1aWNrdGltZSIsIndpZHRoIjoxOTIwLCJoZWlnaHQiOjEwODB9LCJ0b0NhIjp7ImlkIjoidG9DYSIsInR5cGUiOiJ2aWRlbyIsImR1cmF0aW9uSW5TZWNvbmRzIjozNC44MDMzMzMzMzMzMzMzMzUsImhhc0F1ZGlvVHJhY2siOnRydWUsImZpbGVuYW1lIjoiSU1HXzQ4MjEuTU9WIiwicmVtb3RlVXJsIjoiaHR0cHM6Ly9yZW1vdGlvbmxhbWJkYS1neHpsZTR5bm9oLnMzLWFjY2VsZXJhdGUuYW1hem9uYXdzLmNvbS8zMjU1OWI5MS0yMjc1LTQ0NDItOGUyOS1lYzJiYTg2ZmEwMDUiLCJyZW1vdGVGaWxlS2V5IjoiMzI1NTliOTEtMjI3NS00NDQyLThlMjktZWMyYmE4NmZhMDA1Iiwic2l6ZSI6MzMyNDkxOTcsIm1pbWVUeXBlIjoidmlkZW8vcXVpY2t0aW1lIiwid2lkdGgiOjE5MjAsImhlaWdodCI6MTA4MH0sInRIUTIiOnsiaWQiOiJ0SFEyIiwidHlwZSI6InZpZGVvIiwiZHVyYXRpb25JblNlY29uZHMiOjQ3LjQzNjY2NjY2NjY2NjY3LCJoYXNBdWRpb1RyYWNrIjp0cnVlLCJmaWxlbmFtZSI6IklNR180ODIzLk1PViIsInJlbW90ZVVybCI6Imh0dHBzOi8vcmVtb3Rpb25sYW1iZGEtZ3h6bGU0eW5vaC5zMy1hY2NlbGVyYXRlLmFtYXpvbmF3cy5jb20vZTlmYWNmZTAtMjAxYS00YTc1LTg2YjEtOTEyNjVlNjZkYjY5IiwicmVtb3RlRmlsZUtleSI6ImU5ZmFjZmUwLTIwMWEtNGE3NS04NmIxLTkxMjY1ZTY2ZGI2OSIsInNpemUiOjQ1NzEwMTg2LCJtaW1lVHlwZSI6InZpZGVvL3F1aWNrdGltZSIsIndpZHRoIjoxOTIwLCJoZWlnaHQiOjEwODB9LCJDMUxVIjp7ImlkIjoiQzFMVSIsInR5cGUiOiJ2aWRlbyIsImR1cmF0aW9uSW5TZWNvbmRzIjoxNjQuNzQ4MzMzMzMzMzMzMzMsImhhc0F1ZGlvVHJhY2siOnRydWUsImZpbGVuYW1lIjoiSU1HXzQ4MjIuTU9WIiwicmVtb3RlVXJsIjoiaHR0cHM6Ly9yZW1vdGlvbmxhbWJkYS1neHpsZTR5bm9oLnMzLWFjY2VsZXJhdGUuYW1hem9uYXdzLmNvbS9kOTYzMTA5OS04ODEzLTRkMjYtOTM3ZC1kMWU4OGZkMmU4NTMiLCJyZW1vdGVGaWxlS2V5IjoiZDk2MzEwOTktODgxMy00ZDI2LTkzN2QtZDFlODhmZDJlODUzIiwic2l6ZSI6MTYwNjk2NDkzLCJtaW1lVHlwZSI6InZpZGVvL3F1aWNrdGltZSIsIndpZHRoIjoxOTIwLCJoZWlnaHQiOjEwODB9LCIxbWNYIjp7ImlkIjoiMW1jWCIsInR5cGUiOiJ2aWRlbyIsImR1cmF0aW9uSW5TZWNvbmRzIjoyOS44NjgzMzMzMzMzMzMzMzIsImhhc0F1ZGlvVHJhY2siOnRydWUsImZpbGVuYW1lIjoiSU1HXzQ4MjQuTU9WIiwicmVtb3RlVXJsIjoiaHR0cHM6Ly9yZW1vdGlvbmxhbWJkYS1neHpsZTR5bm9oLnMzLWFjY2VsZXJhdGUuYW1hem9uYXdzLmNvbS81MGU2YThlOS1lODg5LTRlYmQtYmU1ZS05ZDE0OWQ4YjZmYzQiLCJyZW1vdGVGaWxlS2V5IjoiNTBlNmE4ZTktZTg4OS00ZWJkLWJlNWUtOWQxNDlkOGI2ZmM0Iiwic2l6ZSI6MjgzMjk0MDcsIm1pbWVUeXBlIjoidmlkZW8vcXVpY2t0aW1lIiwid2lkdGgiOjE5MjAsImhlaWdodCI6MTA4MH0sIlQwbUgiOnsiaWQiOiJUMG1IIiwidHlwZSI6InZpZGVvIiwiZHVyYXRpb25JblNlY29uZHMiOjI2LjEzNSwiaGFzQXVkaW9UcmFjayI6dHJ1ZSwiZmlsZW5hbWUiOiJJTUdfNDgyNS5NT1YiLCJyZW1vdGVVcmwiOiJodHRwczovL3JlbW90aW9ubGFtYmRhLWd4emxlNHlub2guczMtYWNjZWxlcmF0ZS5hbWF6b25hd3MuY29tLzI3OTRmODEyLWRkYzUtNGZlYy04YTIwLWNmZmNkZWZhOWUzOSIsInJlbW90ZUZpbGVLZXkiOiIyNzk0ZjgxMi1kZGM1LTRmZWMtOGEyMC1jZmZjZGVmYTllMzkiLCJzaXplIjoyNDY4MDEzMCwibWltZVR5cGUiOiJ2aWRlby9xdWlja3RpbWUiLCJ3aWR0aCI6MTkyMCwiaGVpZ2h0IjoxMDgwfSwiMVJLbyI6eyJpZCI6IjFSS28iLCJ0eXBlIjoidmlkZW8iLCJkdXJhdGlvbkluU2Vjb25kcyI6MjIuMTM1LCJoYXNBdWRpb1RyYWNrIjp0cnVlLCJmaWxlbmFtZSI6IklNR180ODI2Lk1PViIsInJlbW90ZVVybCI6Imh0dHBzOi8vcmVtb3Rpb25sYW1iZGEtZ3h6bGU0eW5vaC5zMy1hY2NlbGVyYXRlLmFtYXpvbmF3cy5jb20vOGZjMGU4OWUtNDEwNS00ZGFhLTgzYzAtYjU1ZGU4ZDFkZDg2IiwicmVtb3RlRmlsZUtleSI6IjhmYzBlODllLTQxMDUtNGRhYS04M2MwLWI1NWRlOGQxZGQ4NiIsInNpemUiOjIwOTk0MjIxLCJtaW1lVHlwZSI6InZpZGVvL3F1aWNrdGltZSIsIndpZHRoIjoxOTIwLCJoZWlnaHQiOjEwODB9LCJGdWF6Ijp7ImlkIjoiRnVheiIsInR5cGUiOiJ2aWRlbyIsImR1cmF0aW9uSW5TZWNvbmRzIjozNi45MDE2NjY2NjY2NjY2NjQsImhhc0F1ZGlvVHJhY2siOnRydWUsImZpbGVuYW1lIjoiSU1HXzQ4MjcuTU9WIiwicmVtb3RlVXJsIjoiaHR0cHM6Ly9yZW1vdGlvbmxhbWJkYS1neHpsZTR5bm9oLnMzLWFjY2VsZXJhdGUuYW1hem9uYXdzLmNvbS9hYzMzMDczYy0yZjgzLTRiOWUtOTVhOC04YWEzMjE5ZGE3MDkiLCJyZW1vdGVGaWxlS2V5IjoiYWMzMzA3M2MtMmY4My00YjllLTk1YTgtOGFhMzIxOWRhNzA5Iiwic2l6ZSI6MzUyMjk1MDMsIm1pbWVUeXBlIjoidmlkZW8vcXVpY2t0aW1lIiwid2lkdGgiOjE5MjAsImhlaWdodCI6MTA4MH0sIjMxZjUiOnsiaWQiOiIzMWY1IiwidHlwZSI6ImNhcHRpb24iLCJjYXB0aW9ucyI6W3siY29uZmlkZW5jZSI6bnVsbCwiZW5kTXMiOjQ4ODAuMDAwMTE0NDQwOTE4LCJzdGFydE1zIjozNzk5Ljk5OTk1MjMxNjI4NCwidGV4dCI6IiIsInRpbWVzdGFtcE1zIjo0MzQwLjAwMDAzMzM3ODYwMX0seyJjb25maWRlbmNlIjpudWxsLCJlbmRNcyI6NTA3OS45OTk5MjM3MDYwNTUsInN0YXJ0TXMiOjQ4ODAuMDAwMTE0NDQwOTE4LCJ0ZXh0IjoiIiwidGltZXN0YW1wTXMiOjQ5ODAuMDAwMDE5MDczNDg2fSx7ImNvbmZpZGVuY2UiOm51bGwsImVuZE1zIjo1NDAwLjAwMDA5NTM2NzQzMiwic3RhcnRNcyI6NTA3OS45OTk5MjM3MDYwNTUsInRleHQiOiIiLCJ0aW1lc3RhbXBNcyI6NTI0MC4wMDAwMDk1MzY3NDN9LHsiY29uZmlkZW5jZSI6bnVsbCwiZW5kTXMiOjU3MTkuOTk5NzkwMTkxNjUsInN0YXJ0TXMiOjU0MDAuMDAwMDk1MzY3NDMyLCJ0ZXh0IjoiIiwidGltZXN0YW1wTXMiOjU1NTkuOTk5OTQyNzc5NTQxfSx7ImNvbmZpZGVuY2UiOm51bGwsImVuZE1zIjo2MjM5Ljk5OTc3MTExODE2NCwic3RhcnRNcyI6NTcxOS45OTk3OTAxOTE2NSwidGV4dCI6IiIsInRpbWVzdGFtcE1zIjo1OTc5Ljk5OTc4MDY1NDkwN30seyJjb25maWRlbmNlIjpudWxsLCJlbmRNcyI6Njc4MC4wMDAyMDk4MDgzNSwic3RhcnRNcyI6NjIzOS45OTk3NzExMTgxNjQsInRleHQiOiIiLCJ0aW1lc3RhbXBNcyI6NjUwOS45OTk5OTA0NjMyNTd9LHsiY29uZmlkZW5jZSI6bnVsbCwiZW5kTXMiOjkzNDAuMDAwMTUyNTg3ODksInN0YXJ0TXMiOjg4MDAuMDAwMTkwNzM0ODYzLCJ0ZXh0IjoiIiwidGltZXN0YW1wTXMiOjkwNzAuMDAwMTcxNjYxMzc3fSx7ImNvbmZpZGVuY2UiOm51bGwsImVuZE1zIjo5NTIwLjAwMDQ1Nzc2MzY3Miwic3RhcnRNcyI6OTM0MC4wMDAxNTI1ODc4OSwidGV4dCI6IiIsInRpbWVzdGFtcE1zIjo5NDMwLjAwMDMwNTE3NTc4MX0seyJjb25maWRlbmNlIjpudWxsLCJlbmRNcyI6OTY5OS45OTk4MDkyNjUxMzcsInN0YXJ0TXMiOjk1MjAuMDAwNDU3NzYzNjcyLCJ0ZXh0IjoiIiwidGltZXN0YW1wTXMiOjk2MTAuMDAwMTMzNTE0NDA0fSx7ImNvbmZpZGVuY2UiOm51bGwsImVuZE1zIjoxMDM1OS45OTk2NTY2NzcyNDYsInN0YXJ0TXMiOjk2OTkuOTk5ODA5MjY1MTM3LCJ0ZXh0IjoiIiwidGltZXN0YW1wTXMiOjEwMDI5Ljk5OTczMjk3MTE5MX0seyJjb25maWRlbmNlIjpudWxsLCJlbmRNcyI6MTEzNDAuMDAwMTUyNTg3ODksInN0YXJ0TXMiOjEwMzU5Ljk5OTY1NjY3NzI0NiwidGV4dCI6IiIsInRpbWVzdGFtcE1zIjoxMDg0OS45OTk5MDQ2MzI1Njh9LHsiY29uZmlkZW5jZSI6bnVsbCwiZW5kTXMiOjExODk5Ljk5OTYxODUzMDI3Mywic3RhcnRNcyI6MTEzNDAuMDAwMTUyNTg3ODksInRleHQiOiIiLCJ0aW1lc3RhbXBNcyI6MTE2MTkuOTk5ODg1NTU5MDgyfSx7ImNvbmZpZGVuY2UiOm51bGwsImVuZE1zIjoxNDM4MC4wMDAxMTQ0NDA5MTgsInN0YXJ0TXMiOjEzODQwLjAwMDE1MjU4Nzg5LCJ0ZXh0IjoiIiwidGltZXN0YW1wTXMiOjE0MTEwLjAwMDEzMzUxNDQwNH0seyJjb25maWRlbmNlIjpudWxsLCJlbmRNcyI6MTQ1NjAuMDAwNDE5NjE2Nywic3RhcnRNcyI6MTQzODAuMDAwMTE0NDQwOTE4LCJ0ZXh0IjoiIiwidGltZXN0YW1wTXMiOjE0NDcwLjAwMDI2NzAyODgwOX0seyJjb25maWRlbmNlIjpudWxsLCJlbmRNcyI6MTQ3NzkuOTk5NzMyOTcxMTkxLCJzdGFydE1zIjoxNDU2MC4wMDA0MTk2MTY3LCJ0ZXh0IjoiIiwidGltZXN0YW1wTXMiOjE0NjcwLjAwMDA3NjI5Mzk0NX0seyJjb25maWRlbmNlIjpudWxsLCJlbmRNcyI6MTU2MDAuMDAwMzgxNDY5NzI3LCJzdGFydE1zIjoxNDc3OS45OTk3MzI5NzExOTEsInRleHQiOiIiLCJ0aW1lc3RhbXBNcyI6MTUxOTAuMDAwMDU3MjIwNDU5fSx7ImNvbmZpZGVuY2UiOm51bGwsImVuZE1zIjoxNjAwMCwic3RhcnRNcyI6MTU2MDAuMDAwMzgxNDY5NzI3LCJ0ZXh0IjoiIiwidGltZXN0YW1wTXMiOjE1ODAwLjAwMDE5MDczNDg2M30seyJjb25maWRlbmNlIjpudWxsLCJlbmRNcyI6MTY1NTkuOTk5NDY1OTQyMzgzLCJzdGFydE1zIjoxNjAwMCwidGV4dCI6IiIsInRpbWVzdGFtcE1zIjoxNjI3OS45OTk3MzI5NzExOTF9LHsiY29uZmlkZW5jZSI6bnVsbCwiZW5kTXMiOjIxNjAwLjAwMDM4MTQ2OTcyNywic3RhcnRNcyI6MjAyMDAuMDAwNzYyOTM5NDUzLCJ0ZXh0IjoiIiwidGltZXN0YW1wTXMiOjIwOTAwLjAwMDU3MjIwNDU5fSx7ImNvbmZpZGVuY2UiOm51bGwsImVuZE1zIjoyMzAwMCwic3RhcnRNcyI6MjE2MDAuMDAwMzgxNDY5NzI3LCJ0ZXh0IjoiIiwidGltZXN0YW1wTXMiOjIyMzAwLjAwMDE5MDczNDg2M30seyJjb25maWRlbmNlIjpudWxsLCJlbmRNcyI6MjMyNjAuMDAwMjI4ODgxODM2LCJzdGFydE1zIjoyMzAwMCwidGV4dCI6IiIsInRpbWVzdGFtcE1zIjoyMzEzMC4wMDAxMTQ0NDA5MTh9LHsiY29uZmlkZW5jZSI6bnVsbCwiZW5kTXMiOjIzODQwLjAwMDE1MjU4Nzg5LCJzdGFydE1zIjoyMzI2MC4wMDAyMjg4ODE4MzYsInRleHQiOiIiLCJ0aW1lc3RhbXBNcyI6MjM1NTAuMDAwMTkwNzM0ODYzfSx7ImNvbmZpZGVuY2UiOm51bGwsImVuZE1zIjoyNDYyMC4wMDA4MzkyMzM0LCJzdGFydE1zIjoyMzg0MC4wMDAxNTI1ODc4OSwidGV4dCI6IiIsInRpbWVzdGFtcE1zIjoyNDIzMC4wMDA0OTU5MTA2NDV9LHsiY29uZmlkZW5jZSI6bnVsbCwiZW5kTXMiOjI1MTM5Ljk5OTM4OTY0ODQzOCwic3RhcnRNcyI6MjQ2MjAuMDAwODM5MjMzNCwidGV4dCI6IiIsInRpbWVzdGFtcE1zIjoyNDg4MC4wMDAxMTQ0NDA5MTh9LHsiY29uZmlkZW5jZSI6bnVsbCwiZW5kTXMiOjM4NDE5Ljk5ODE2ODk0NTMxLCJzdGFydE1zIjozNzcyMC4wMDEyMjA3MDMxMjUsInRleHQiOiIgVGhpcyIsInRpbWVzdGFtcE1zIjozODA2OS45OTk2OTQ4MjQyMn0seyJjb25maWRlbmNlIjpudWxsLCJlbmRNcyI6Mzg3MjAuMDAxMjIwNzAzMTI1LCJzdGFydE1zIjozODQxOS45OTgxNjg5NDUzMSwidGV4dCI6IiBpcyIsInRpbWVzdGFtcE1zIjozODU2OS45OTk2OTQ4MjQyMn0seyJjb25maWRlbmNlIjpudWxsLCJlbmRNcyI6Mzg4ODAuMDAxMDY4MTE1MjM0LCJzdGFydE1zIjozODcyMC4wMDEyMjA3MDMxMjUsInRleHQiOiIgdGhlIiwidGltZXN0YW1wTXMiOjM4ODAwLjAwMTE0NDQwOTE4fSx7ImNvbmZpZGVuY2UiOm51bGwsImVuZE1zIjozOTUwMCwic3RhcnRNcyI6Mzg4ODAuMDAxMDY4MTE1MjM0LCJ0ZXh0IjoiIFJlbW90aW9uIiwidGltZXN0YW1wTXMiOjM5MTkwLjAwMDUzNDA1NzYyfSx7ImNvbmZpZGVuY2UiOm51bGwsImVuZE1zIjo0MDI5OS45OTkyMzcwNjA1NSwic3RhcnRNcyI6Mzk1MDAsInRleHQiOiIgRWRpdG9yIiwidGltZXN0YW1wTXMiOjM5ODk5Ljk5OTYxODUzMDI3fSx7ImNvbmZpZGVuY2UiOm51bGwsImVuZE1zIjo0MjYwMCwic3RhcnRNcyI6NDAyOTkuOTk5MjM3MDYwNTUsInRleHQiOiIgU3RhcnRlci4iLCJ0aW1lc3RhbXBNcyI6NDA0NDkuOTk4ODU1NTkwODJ9LHsiY29uZmlkZW5jZSI6bnVsbCwiZW5kTXMiOjQ0NTYwLjAwMTM3MzI5MTAxNiwic3RhcnRNcyI6NDM1MjAuMDAwNDU3NzYzNjcsInRleHQiOiIiLCJ0aW1lc3RhbXBNcyI6NDQwNDAuMDAwOTE1NTI3MzQ0fSx7ImNvbmZpZGVuY2UiOm51bGwsImVuZE1zIjo0NDc5OS45OTkyMzcwNjA1NSwic3RhcnRNcyI6NDQ1NjAuMDAxMzczMjkxMDE2LCJ0ZXh0IjoiIiwidGltZXN0YW1wTXMiOjQ0NjgwLjAwMDMwNTE3NTc4fSx7ImNvbmZpZGVuY2UiOm51bGwsImVuZE1zIjo0NTE4MC4wMDAzMDUxNzU3OCwic3RhcnRNcyI6NDQ3OTkuOTk5MjM3MDYwNTUsInRleHQiOiIiLCJ0aW1lc3RhbXBNcyI6NDQ5ODkuOTk5NzcxMTE4MTY0fSx7ImNvbmZpZGVuY2UiOm51bGwsImVuZE1zIjo0NTU2MC4wMDEzNzMyOTEwMTYsInN0YXJ0TXMiOjQ1MTgwLjAwMDMwNTE3NTc4LCJ0ZXh0IjoiIiwidGltZXN0YW1wTXMiOjQ1MzcwLjAwMDgzOTIzMzR9LHsiY29uZmlkZW5jZSI6bnVsbCwiZW5kTXMiOjQ2MDk5Ljk5ODQ3NDEyMTA5NCwic3RhcnRNcyI6NDU1NjAuMDAxMzczMjkxMDE2LCJ0ZXh0IjoiIiwidGltZXN0YW1wTXMiOjQ1ODI5Ljk5OTkyMzcwNjA1NX0seyJjb25maWRlbmNlIjpudWxsLCJlbmRNcyI6NDY2MTkuOTk4OTMxODg0NzY2LCJzdGFydE1zIjo0NjA5OS45OTg0NzQxMjEwOTQsInRleHQiOiIiLCJ0aW1lc3RhbXBNcyI6NDYzNTkuOTk4NzAzMDAyOTN9XSwiZmlsZW5hbWUiOiJjYXB0aW9ucy5zcnQiLCJyZW1vdGVVcmwiOm51bGwsInJlbW90ZUZpbGVLZXkiOm51bGwsInNpemUiOjQzNjIsIm1pbWVUeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9LCIxRFdjIjp7ImlkIjoiMURXYyIsInR5cGUiOiJpbWFnZSIsImZpbGVuYW1lIjoiU2NyZWVuc2hvdCAyMDI1LTA4LTIwIGF0IDEwLjIxLjQ3LnBuZyIsInJlbW90ZVVybCI6Imh0dHBzOi8vcmVtb3Rpb25sYW1iZGEtZ3h6bGU0eW5vaC5zMy1hY2NlbGVyYXRlLmFtYXpvbmF3cy5jb20vYzI3N2E5MDgtMmExYi00NTUzLTliNDctMTE5OWM5M2RmZWE4IiwicmVtb3RlRmlsZUtleSI6ImMyNzdhOTA4LTJhMWItNDU1My05YjQ3LTExOTljOTNkZmVhOCIsInNpemUiOjMzNjg0MywibWltZVR5cGUiOiJpbWFnZS9wbmciLCJ3aWR0aCI6MTQ0NCwiaGVpZ2h0IjoxMTcyfSwiTmZzRiI6eyJpZCI6Ik5mc0YiLCJ0eXBlIjoidmlkZW8iLCJkdXJhdGlvbkluU2Vjb25kcyI6MTIuMDgzMzMzMzMzMzMzMzM0LCJoYXNBdWRpb1RyYWNrIjpmYWxzZSwiZmlsZW5hbWUiOiJTY3JlZW4gUmVjb3JkaW5nIDIwMjUtMDgtMjAgYXQgMTAuMzUuNDYubW92IiwicmVtb3RlVXJsIjoiaHR0cHM6Ly9yZW1vdGlvbmxhbWJkYS1neHpsZTR5bm9oLnMzLWFjY2VsZXJhdGUuYW1hem9uYXdzLmNvbS9mODgwODM2MS01Yjk1LTRjMjQtOGU1Mi03M2VjM2Q2Y2YyYzAiLCJyZW1vdGVGaWxlS2V5IjoiZjg4MDgzNjEtNWI5NS00YzI0LThlNTItNzNlYzNkNmNmMmMwIiwic2l6ZSI6Mjk3MTQ1MSwibWltZVR5cGUiOiJ2aWRlby9xdWlja3RpbWUiLCJ3aWR0aCI6MTcyOSwiaGVpZ2h0IjoxMDgwfSwiRTNvdiI6eyJpZCI6IkUzb3YiLCJ0eXBlIjoiaW1hZ2UiLCJmaWxlbmFtZSI6IlNjcmVlbnNob3QgMjAyNS0wOC0yMCBhdCAxMC41MS41OC5wbmciLCJyZW1vdGVVcmwiOiJodHRwczovL3JlbW90aW9ubGFtYmRhLWd4emxlNHlub2guczMtYWNjZWxlcmF0ZS5hbWF6b25hd3MuY29tLzY3YzY3ZGQ2LWJjNTUtNDZlOS04NjM0LTI3ZmYzZTAxNDcyNyIsInJlbW90ZUZpbGVLZXkiOiI2N2M2N2RkNi1iYzU1LTQ2ZTktODYzNC0yN2ZmM2UwMTQ3MjciLCJzaXplIjoxODM2ODUsIm1pbWVUeXBlIjoiaW1hZ2UvcG5nIiwid2lkdGgiOjE0ODksImhlaWdodCI6OTc4fSwiYWJUTCI6eyJpZCI6ImFiVEwiLCJ0eXBlIjoidmlkZW8iLCJkdXJhdGlvbkluU2Vjb25kcyI6NS42NSwiaGFzQXVkaW9UcmFjayI6ZmFsc2UsImZpbGVuYW1lIjoiU2NyZWVuIFJlY29yZGluZyAyMDI1LTA4LTIwIGF0IDEwLjU0LjEyLm1vdiIsInJlbW90ZVVybCI6Imh0dHBzOi8vcmVtb3Rpb25sYW1iZGEtZ3h6bGU0eW5vaC5zMy1hY2NlbGVyYXRlLmFtYXpvbmF3cy5jb20vYWYxNDQzNmYtNDc1NC00MjE3LTg4ODAtM2RjYTVlYTA1NWU0IiwicmVtb3RlRmlsZUtleSI6ImFmMTQ0MzZmLTQ3NTQtNDIxNy04ODgwLTNkY2E1ZWEwNTVlNCIsInNpemUiOjU0MTM1OTksIm1pbWVUeXBlIjoidmlkZW8vcXVpY2t0aW1lIiwid2lkdGgiOjE2NDYsImhlaWdodCI6MTA4MH0sIm5HaUwiOnsiaWQiOiJuR2lMIiwidHlwZSI6InZpZGVvIiwiZHVyYXRpb25JblNlY29uZHMiOjkuMTUyLCJoYXNBdWRpb1RyYWNrIjp0cnVlLCJmaWxlbmFtZSI6IldoYXRJc1JlbW90aW9uLm1wNCIsInJlbW90ZVVybCI6Imh0dHBzOi8vcmVtb3Rpb25sYW1iZGEtZ3h6bGU0eW5vaC5zMy1hY2NlbGVyYXRlLmFtYXpvbmF3cy5jb20vYmRmMmM5OWQtNmEzZC00NmI5LTk3MmYtZThhMDkzYjhiMzFhIiwicmVtb3RlRmlsZUtleSI6ImJkZjJjOTlkLTZhM2QtNDZiOS05NzJmLWU4YTA5M2I4YjMxYSIsInNpemUiOjIxNzU1MDEsIm1pbWVUeXBlIjoidmlkZW8vbXA0Iiwid2lkdGgiOjE5MjAsImhlaWdodCI6MTA4MH0sIjNOdFYiOnsiaWQiOiIzTnRWIiwidHlwZSI6InZpZGVvIiwiZHVyYXRpb25JblNlY29uZHMiOjkuMDE2NjY2NjY2NjY2NjY3LCJoYXNBdWRpb1RyYWNrIjpmYWxzZSwiZmlsZW5hbWUiOiJTY3JlZW4gUmVjb3JkaW5nIDIwMjUtMDgtMjAgYXQgMTEuMDYuMzIubW92IiwicmVtb3RlVXJsIjoiaHR0cHM6Ly9yZW1vdGlvbmxhbWJkYS1neHpsZTR5bm9oLnMzLWFjY2VsZXJhdGUuYW1hem9uYXdzLmNvbS9hM2NhMWUzNy0zNDYzLTQ5MjAtOTkxYS0wYjBiNTA5NWIxODYiLCJyZW1vdGVGaWxlS2V5IjoiYTNjYTFlMzctMzQ2My00OTIwLTk5MWEtMGIwYjUwOTViMTg2Iiwic2l6ZSI6NDMxNTcwNSwibWltZVR5cGUiOiJ2aWRlby9xdWlja3RpbWUiLCJ3aWR0aCI6MTc0NiwiaGVpZ2h0IjoxMDgwfSwiWVFXMSI6eyJpZCI6IllRVzEiLCJ0eXBlIjoiaW1hZ2UiLCJmaWxlbmFtZSI6IlNjcmVlbnNob3QgMjAyNS0wOC0yMCBhdCAxMS4xNy4yMi5wbmciLCJyZW1vdGVVcmwiOiJodHRwczovL3JlbW90aW9ubGFtYmRhLWd4emxlNHlub2guczMtYWNjZWxlcmF0ZS5hbWF6b25hd3MuY29tLzk1YmFkNTYxLTUxZGMtNGMzYS04OGNhLTkzOTQxZTYyZTkxYiIsInJlbW90ZUZpbGVLZXkiOiI5NWJhZDU2MS01MWRjLTRjM2EtODhjYS05Mzk0MWU2MmU5MWIiLCJzaXplIjoxMTM3MDU2LCJtaW1lVHlwZSI6ImltYWdlL3BuZyIsIndpZHRoIjoyMDc4LCJoZWlnaHQiOjEyNjJ9fSwiZGVsZXRlZEFzc2V0cyI6W119) | Notes[​](https://www.remotion.dev/docs/editor-starter/demo#notes "Direct link to Notes") ----------------------------------------------------------------------------------------- * The announcement video link is a long URL, it might not be sharable everywhere. * Don't rely on these to edit serious projects. We might change the internal data structure of videos as we develop the Editor Starter, breaking your projects. * There is no responsive design, so the demo might not look good on mobile. * [Notes](https://www.remotion.dev/docs/editor-starter/demo#notes) --- # Buy the Editor Starter | Remotion | Make videos programmatically [Skip to main content](https://www.remotion.dev/docs/editor-starter/buy#__docusaurus_skipToContent_fallback) Copy page On this page To buy the Editor Starter for $600, visit **[remotion.pro/editor-starter](https://www.remotion.pro/editor-starter) **. ### Upgrading from the Timeline[​](https://www.remotion.dev/docs/editor-starter/buy#upgrading-from-the-timeline "Direct link to Upgrading from the Timeline") If you have already bought the [Timeline](https://www.remotion.dev/docs/timeline) and are buying the Editor Starter, you are eligible for a full refund on the Timeline component. Buy from the same email address and then contact us at [\[email protected\]](https://www.remotion.dev/cdn-cgi/l/email-protection#f19998b183949c9e85989e9fdf959487) from the email address you used to buy the Timeline. ### For Enterprise License holders[​](https://www.remotion.dev/docs/editor-starter/buy#for-enterprise-license-holders "Direct link to For Enterprise License holders") The Editor Starter is included in the Enterprise License. Provide a list of GitHub users you would like to invite in our private channel with us to get access to the Editor Starter. * [Upgrading from the Timeline](https://www.remotion.dev/docs/editor-starter/buy#upgrading-from-the-timeline) * [For Enterprise License holders](https://www.remotion.dev/docs/editor-starter/buy#for-enterprise-license-holders) --- # Remotion Recorder | Remotion | Make videos programmatically [Skip to main content](https://www.remotion.dev/docs/recorder#__docusaurus_skipToContent_fallback) Copy page On this page ![Animated Remotion Recorder Logo](https://www.remotion.dev/recorder/recorder-logo-light.gif) The Remotion Recorder is a video production tool **built entirely in JavaScript**. Recording[​](https://www.remotion.dev/docs/recorder#recording "Direct link to Recording") ------------------------------------------------------------------------------------------ Record your facecam and screen in sync but independently. This allows you to create a dynamic layout later. | | | | --- | --- | | ![](https://www.remotion.dev/recorder/individual.png) | | | Record webcam and display as separate streams. Up to 4 sources can be recorded at the same time! | Ensure you are in the center of the video and you are not too close to the microphone. | Different platforms require different formats[​](https://www.remotion.dev/docs/recorder#different-platforms-require-different-formats "Direct link to Different platforms require different formats") ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ Each platform has its own conventions for how videos should look. | | | | | --- | --- | --- | | ![](https://www.remotion.dev/recorder/vps-square.png) | ![](https://www.remotion.dev/recorder/vps-landscape.png) | WIP | | **Twitter, LinkedIn**

1:1

Muted by default

Captions burned in | **YouTube**

16:9

Audio by default

Captions as .srt file

Endcard with related videos | **

TikTok, Reels, Shorts

[planned](https://www.remotion.dev/docs/recorder#tiktok-format)
**

9:16

Safe space at bottom required

Word-by-word captions | The goal of the Recorder: Edit once **and feel native on each platform**. This has a measurable impact on the performance of your post: For example, a 1:1 video on X [results in 30-35% higher video views and a 80-100% higher engagement rate](https://buffer.com/resources/square-video-vs-landscape-video/) . Captions are essential[​](https://www.remotion.dev/docs/recorder#captions-are-essential "Direct link to Captions are essential") --------------------------------------------------------------------------------------------------------------------------------- Generate captions locally using [Whisper.cpp](https://github.com/ggerganov/whisper.cpp) . The Recorder will automatically install it for you. AI will make mistakes - so we make it easy to correct them. | | | | | --- | --- | --- | | Captions have word-level timings | Orphan words are avoided by balancing the text layout | Use `backticks` to highlight technical terms | | | | | | --- | --- | --- | | Fix captions quickly by clicking on a word | ![](https://www.remotion.dev/recorder/autocorrect.png)

Write a JavaScript function to fix common misspellings | ![](https://www.remotion.dev/recorder/asjson.png)

Captions are stored as editable JSON | Agnostic endcards[​](https://www.remotion.dev/docs/recorder#agnostic-endcards "Direct link to Agnostic endcards") ------------------------------------------------------------------------------------------------------------------ Your viewer watched the entire video! Now don't make them forget about you. | | | | --- | --- | | ![](https://www.remotion.dev/recorder/endcard-square.png)

If you post on Twitter, the call-to-action is "Follow" and your other platforms are linked. | ![](https://www.remotion.dev/recorder/endcard-youtube.png)

If you post on YouTube, the call to action is "Subscribe" and cutouts for related videos are made. | The endcard is written with React and CSS, so can be easily customized. Customization[​](https://www.remotion.dev/docs/recorder#customization "Direct link to Customization") ------------------------------------------------------------------------------------------------------ Having access to the entire source code, you can use CSS to customize the look of the Recorder. | | | | | --- | --- | --- | | ![](https://www.remotion.dev/recorder/theme-light.png)

Look of the built-in light theme | ![](https://www.remotion.dev/recorder/theme-dark.png)

Look of the built-in dark theme | ![](https://www.remotion.dev/recorder/theme-fancy.png)

Use CSS to make it your own! | The Recorder is built with TypeScript and React, and you can fully customize it's behavior. It's a hackable video editor. Silence removal[​](https://www.remotion.dev/docs/recorder#silence-removal "Direct link to Silence removal") ------------------------------------------------------------------------------------------------------------ Automatically remove the silence at the start and end of your take. Music[​](https://www.remotion.dev/docs/recorder#music "Direct link to Music") ------------------------------------------------------------------------------ Add background music to your video and automatically fade between the different sections. Three exclusive tracks are included that you may use for your video. Layouting[​](https://www.remotion.dev/docs/recorder#layouting "Direct link to Layouting") ------------------------------------------------------------------------------------------ Whether you only record your facecam, or also your display, the Recorder always finds the ideal layout - even if you mix landscape and portrait videos. Transitions[​](https://www.remotion.dev/docs/recorder#transitions "Direct link to Transitions") ------------------------------------------------------------------------------------------------ Enable clean transitions between scenes - no matter if you change the layout during the video. Chapters[​](https://www.remotion.dev/docs/recorder#chapters "Direct link to Chapters") --------------------------------------------------------------------------------------- Mark a scene as the beginning of a new chapter and automatically generate animated chapters. B-Roll[​](https://www.remotion.dev/docs/recorder#b-roll "Direct link to B-Roll") --------------------------------------------------------------------------------- Add images and videos on top of your facecam or display while your voiceover is playing to give the video more depth. Exporting[​](https://www.remotion.dev/docs/recorder#exporting "Direct link to Exporting") ------------------------------------------------------------------------------------------ Export your video with much control over the encoding options. Render a video with a single click on a button, the CLI, Node.JS APIs, GitHub Actions, or even on AWS Lambda! See also[​](https://www.remotion.dev/docs/recorder#see-also "Direct link to See also") --------------------------------------------------------------------------------------- * [Editor Starter](https://www.remotion.dev/docs/editor-starter) * * * 1) 9:16 format is not yet implemented. * [Recording](https://www.remotion.dev/docs/recorder#recording) * [Different platforms require different formats](https://www.remotion.dev/docs/recorder#different-platforms-require-different-formats) * [Captions are essential](https://www.remotion.dev/docs/recorder#captions-are-essential) * [Agnostic endcards](https://www.remotion.dev/docs/recorder#agnostic-endcards) * [Customization](https://www.remotion.dev/docs/recorder#customization) * [Silence removal](https://www.remotion.dev/docs/recorder#silence-removal) * [Music](https://www.remotion.dev/docs/recorder#music) * [Layouting](https://www.remotion.dev/docs/recorder#layouting) * [Transitions](https://www.remotion.dev/docs/recorder#transitions) * [Chapters](https://www.remotion.dev/docs/recorder#chapters) * [B-Roll](https://www.remotion.dev/docs/recorder#b-roll) * [Exporting](https://www.remotion.dev/docs/recorder#exporting) * [See also](https://www.remotion.dev/docs/recorder#see-also) --- # Timeline – Setup | Remotion | Make videos programmatically [Skip to main content](https://www.remotion.dev/docs/timeline/setup#__docusaurus_skipToContent_fallback) Copy page On this page Installation[​](https://www.remotion.dev/docs/timeline/setup#installation "Direct link to Installation") --------------------------------------------------------------------------------------------------------- 1. Copy the `timeline/` folder to your application 2. Install the required dependencies: npm install remotion @remotion/player @remotion/media-utils tailwindcss Tailwind Configuration[​](https://www.remotion.dev/docs/timeline/setup#tailwind-configuration "Direct link to Tailwind Configuration") --------------------------------------------------------------------------------------------------------------------------------------- ### Using Tailwind CSS v4 (Current Project)[​](https://www.remotion.dev/docs/timeline/setup#using-tailwind-css-v4-current-project "Direct link to Using Tailwind CSS v4 (Current Project)") This project uses Tailwind CSS V4. Import `src/timeline/theme/timeline.css` in your global CSS file: @import './timeline/theme/timeline.css'; You can customize the colors by modifying the values in the `@theme` block. ### Using Tailwind CSS v3 (Legacy)[​](https://www.remotion.dev/docs/timeline/setup#using-tailwind-css-v3-legacy "Direct link to Using Tailwind CSS v3 (Legacy)") Instructions for Tailwind v3 Use `src/timeline/theme/timeline-preset.mjs` as a preset in your `tailwind.config.js`: Then, set up your `tailwind.config.js` like this: import timelinePreset from './timeline/theme/timeline-preset.mjs'; /** @type {import('tailwindcss').Config} */ export default { presets: [timelinePreset], content: ['./index.html', './src/**/*.{js,ts,jsx,tsx}'], theme: { extend: { // Add your custom theme extensions here }, }, }; * [Installation](https://www.remotion.dev/docs/timeline/setup#installation) * [Tailwind Configuration](https://www.remotion.dev/docs/timeline/setup#tailwind-configuration) * [Using Tailwind CSS v4 (Current Project)](https://www.remotion.dev/docs/timeline/setup#using-tailwind-css-v4-current-project) * [Using Tailwind CSS v3 (Legacy)](https://www.remotion.dev/docs/timeline/setup#using-tailwind-css-v3-legacy) --- # Setup | Remotion | Make videos programmatically [Skip to main content](https://www.remotion.dev/docs/editor-starter/setup#__docusaurus_skipToContent_fallback) Copy page On this page After obtaining the Editor Starter, you should [fork](https://github.com/remotion-dev/editor-starter/fork) it to your own account. Once you have forked the repository, you can clone it to your local machine, and install the dependencies by doing the following: Start a new project[​](https://www.remotion.dev/docs/editor-starter/setup#start-a-new-project "Direct link to Start a new project") ------------------------------------------------------------------------------------------------------------------------------------ If you are starting a new project, you can stay in your repository and install dependencies: npm i Run the app using: npm run dev The app may be deployed like any other React Router 7 app, for example by connecting the repository to [Vercel](https://vercel.com/) . Copying into an existing project[​](https://www.remotion.dev/docs/editor-starter/setup#copying-into-an-existing-project "Direct link to Copying into an existing project") --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- If you already have a project, you can copy the `src/editor` folder into your existing project. The following instructions were tested on a new Next.js project with Tailwind and TypeScript enabled, but it should work with any React framework. [](https://www.remotion.dev/docs/editor-starter/setup#1) [1](https://www.remotion.dev/docs/editor-starter/setup#1) [](https://www.remotion.dev/docs/editor-starter/setup#1) Install the [dependencies](https://www.remotion.dev/docs/editor-starter/dependencies) . [](https://www.remotion.dev/docs/editor-starter/setup#2) [2](https://www.remotion.dev/docs/editor-starter/setup#2) [](https://www.remotion.dev/docs/editor-starter/setup#2) Copy the `src/editor` folder into your existing project. [](https://www.remotion.dev/docs/editor-starter/setup#3) [3](https://www.remotion.dev/docs/editor-starter/setup#3) [](https://www.remotion.dev/docs/editor-starter/setup#3) Mount the editor in your app. For example, in Next.js, in `page/app.tsx`: page/app.tsx `import { Editor } from "./editor/editor"; export default function Home() { return ; }`Copy [](https://www.remotion.dev/docs/editor-starter/setup#4) [4](https://www.remotion.dev/docs/editor-starter/setup#4) [](https://www.remotion.dev/docs/editor-starter/setup#4) Set up the [backend routes](https://www.remotion.dev/docs/editor-starter/backend-routes) . Setting up asset uploads[​](https://www.remotion.dev/docs/editor-starter/setup#setting-up-asset-uploads "Direct link to Setting up asset uploads") --------------------------------------------------------------------------------------------------------------------------------------------------- If the user drops in any assets, you can configure them to be uploaded to an S3 bucket. See [Asset uploads](https://www.remotion.dev/docs/editor-starter/asset-uploads) for more information. Setting up rendering[​](https://www.remotion.dev/docs/editor-starter/setup#setting-up-rendering "Direct link to Setting up rendering") --------------------------------------------------------------------------------------------------------------------------------------- See [Rendering](https://www.remotion.dev/docs/editor-starter/rendering) for how to setup the Remotion Lambda integration. Setting up captions[​](https://www.remotion.dev/docs/editor-starter/setup#setting-up-captions "Direct link to Setting up captions") ------------------------------------------------------------------------------------------------------------------------------------ You can setup AI transcription for audio and video assets. See [Captioning](https://www.remotion.dev/docs/editor-starter/captioning) on how to set it up. * [Start a new project](https://www.remotion.dev/docs/editor-starter/setup#start-a-new-project) * [Copying into an existing project](https://www.remotion.dev/docs/editor-starter/setup#copying-into-an-existing-project) * [Setting up asset uploads](https://www.remotion.dev/docs/editor-starter/setup#setting-up-asset-uploads) * [Setting up rendering](https://www.remotion.dev/docs/editor-starter/setup#setting-up-rendering) * [Setting up captions](https://www.remotion.dev/docs/editor-starter/setup#setting-up-captions) --- # Timeline – Usage | Remotion | Make videos programmatically [Skip to main content](https://www.remotion.dev/docs/timeline/usage#__docusaurus_skipToContent_fallback) Copy page On this page Component Integration[​](https://www.remotion.dev/docs/timeline/usage#component-integration "Direct link to Component Integration") ------------------------------------------------------------------------------------------------------------------------------------ Import and use the timeline components in your React application. For optimal performance and proper functionality, structure your components like this: import type {PlayerRef} from '@remotion/player'; import {Timeline, TimelineContainer} from './timeline/remotion-timeline/components/timeline'; import {TimelineProvider} from './timeline/remotion-timeline/context/provider'; import {TimelineSizeProvider} from './timeline/remotion-timeline/context/timeline-size-provider'; import {TimelineZoomProvider} from './timeline/remotion-timeline/context/timeline-zoom-provider'; import {PreviewContainer} from './layout'; export const App = () => { const playerRef = useRef(null); const timelineContainerRef = useRef(null); const timelineContainerSize = useElementSize(timelineContainerRef); const timelineContainerWidth = timelineContainerSize?.width; return ( { console.log('New timeline state:', newState); }} initialState={initialState} > {timelineContainerWidth ? ( ) : null} ); }; This structure ensures: * Timeline state management through `TimelineProvider` * Zoom functionality with `TimelineZoomProvider` * Proper sizing calculations with `TimelineSizeProvider` * Responsive timeline container with `TimelineContainer` Default state structure[​](https://www.remotion.dev/docs/timeline/usage#default-state-structure "Direct link to Default state structure") ------------------------------------------------------------------------------------------------------------------------------------------ The project includes a predefined state structure for timeline tracks and items. You can check [TimelineProvider component](https://github.com/remotion-dev/timeline/blob/main/src/timeline/remotion-timeline/context/provider.tsx) for the state structure. Video Preview[​](https://www.remotion.dev/docs/timeline/usage#video-preview "Direct link to Video Preview") ------------------------------------------------------------------------------------------------------------ This project includes a `CanvasComposition`, a Remotion composition that renders the timeline state in the Remotion Player. You can: * Use the provided composition as-is for quick prototyping * Adapt it to your needs * Replace it with your own composition while keeping the timeline functionality Check `video-preview.tsx` and `App.tsx` for implementation examples. State Persistence[​](https://www.remotion.dev/docs/timeline/usage#state-persistence "Direct link to State Persistence") ------------------------------------------------------------------------------------------------------------------------ The `TimelineProvider` includes an `onChange` callback that fires whenever the timeline state changes (adding/removing tracks, moving items, etc.). Use this to save the editor state to your backend: function VideoEditor() { const saveToServer = async (state: TimelineState) => { try { await fetch('/api/save-timeline', { method: 'POST', body: JSON.stringify(state), }); } catch (error) { console.error('Failed to save timeline state:', error); } }; return (
); } Example Project Structure[​](https://www.remotion.dev/docs/timeline/usage#example-project-structure "Direct link to Example Project Structure") ------------------------------------------------------------------------------------------------------------------------------------------------ In `App.tsx`, you can see the complete implementation of the timeline component. The example project demonstrates: * Importing the timeline components * Using the `ActionRow` component to use timeline zoom and add clips * Using the `TimelineRoot` component to render the timeline * [Component Integration](https://www.remotion.dev/docs/timeline/usage#component-integration) * [Default state structure](https://www.remotion.dev/docs/timeline/usage#default-state-structure) * [Video Preview](https://www.remotion.dev/docs/timeline/usage#video-preview) * [State Persistence](https://www.remotion.dev/docs/timeline/usage#state-persistence) * [Example Project Structure](https://www.remotion.dev/docs/timeline/usage#example-project-structure) --- # @remotion/animated-emoji | Remotion | Make videos programmatically [Skip to main content](https://www.remotion.dev/docs/animated-emoji/#__docusaurus_skipToContent_fallback) Copy page On this page _available from v4.0.187_ This package wraps the [Google Fonts Animated Emoji](https://googlefonts.github.io/noto-emoji-animation/) into Remotion components. Installation[​](https://www.remotion.dev/docs/animated-emoji/#installation "Direct link to Installation") ---------------------------------------------------------------------------------------------------------- * Remotion CLI * npm * bun * pnpm * yarn npx remotion add @remotion/animated-emoji Copy npm i --save-exact @remotion/[\[email protected\]](https://www.remotion.dev/cdn-cgi/l/email-protection) Copy This assumes you are currently using v4.0.448 of Remotion. Also update `remotion` and all `` `@remotion/*` `` packages to the same version. Remove all `^` character in front of the version numbers of it as it can lead to a version conflict. pnpm i @remotion/[\[email protected\]](https://www.remotion.dev/cdn-cgi/l/email-protection) Copy This assumes you are currently using v4.0.448 of Remotion. Also update `remotion` and all `` `@remotion/*` `` packages to the same version. Remove all `^` character in front of the version numbers of it as it can lead to a version conflict. bun i @remotion/[\[email protected\]](https://www.remotion.dev/cdn-cgi/l/email-protection) Copy This assumes you are currently using v4.0.448 of Remotion. Also update `remotion` and all `` `@remotion/*` `` packages to the same version. Remove all `^` character in front of the version numbers of it as it can lead to a version conflict. yarn --exact add @remotion/[\[email protected\]](https://www.remotion.dev/cdn-cgi/l/email-protection) Copy This assumes you are currently using v4.0.448 of Remotion. Also update `remotion` and all `` `@remotion/*` `` packages to the same version. Remove all `^` character in front of the version numbers of it as it can lead to a version conflict. APIs[​](https://www.remotion.dev/docs/animated-emoji/#apis "Direct link to APIs") ---------------------------------------------------------------------------------- The following APIs are available: [****\ \ Component for rendering an animated emoji.](https://www.remotion.dev/docs/animated-emoji/animated-emoji) [**getAvailableEmoji()**\ \ Get a list of available emoji.](https://www.remotion.dev/docs/animated-emoji/get-available-emoji) License[​](https://www.remotion.dev/docs/animated-emoji/#license "Direct link to License") ------------------------------------------------------------------------------------------- [Remotion License](https://remotion.dev/license) The animated Emoji are licensed under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/) . * [Installation](https://www.remotion.dev/docs/animated-emoji/#installation) * [APIs](https://www.remotion.dev/docs/animated-emoji/#apis) * [License](https://www.remotion.dev/docs/animated-emoji/#license) --- # @remotion/animation-utils | Remotion | Make videos programmatically [Skip to main content](https://www.remotion.dev/docs/animation-utils/#__docusaurus_skipToContent_fallback) Copy page On this page [v4.0.92](https://github.com/remotion-dev/remotion/releases/v4.0.92) Functions that support you in animating CSS styles. * npm * pnpm * yarn npm i @remotion/animation-utils pnpm i @remotion/animation-utils yarn add @remotion/animation-utils Functions[​](https://www.remotion.dev/docs/animation-utils/#functions "Direct link to Functions") -------------------------------------------------------------------------------------------------- [**makeTransform()**\ \ Create a value for the CSS `transform` property](https://www.remotion.dev/docs/animation-utils/make-transform) [**interpolateStyles()**\ \ Map a range of values to CSS `style` values](https://www.remotion.dev/docs/animation-utils/interpolate-styles) License[​](https://www.remotion.dev/docs/animation-utils/#license "Direct link to License") -------------------------------------------------------------------------------------------- MIT * [Functions](https://www.remotion.dev/docs/animation-utils/#functions) * [License](https://www.remotion.dev/docs/animation-utils/#license) --- # Captions | Remotion | Make videos programmatically [Skip to main content](https://www.remotion.dev/docs/captions/#__docusaurus_skipToContent_fallback) Copy page On this page Learn how to add captions and subtitles to your Remotion videos. [**Importing from .srt**\ \ Import existing .srt subtitle files](https://www.remotion.dev/docs/captions/importing) [**Transcribing audio**\ \ Options for generating captions from audio](https://www.remotion.dev/docs/captions/transcribing) [**Displaying captions**\ \ Render captions in your Remotion video](https://www.remotion.dev/docs/captions/displaying) [**Exporting subtitles**\ \ Export subtitles as burned-in or .srt files](https://www.remotion.dev/docs/captions/exporting) See also[​](https://www.remotion.dev/docs/captions/#see-also "Direct link to See also") ---------------------------------------------------------------------------------------- * [`@remotion/captions`](https://www.remotion.dev/docs/captions/api) - API reference for caption utilities * [See also](https://www.remotion.dev/docs/captions/#see-also) --- # Parameterized videos | Remotion | Make videos programmatically [Skip to main content](https://www.remotion.dev/docs/parameterized-rendering#__docusaurus_skipToContent_fallback) Copy page On this page Remotion allows for [ingesting](https://www.remotion.dev/docs/passing-props) , [validating](https://www.remotion.dev/docs/schemas) , [visually editing](https://www.remotion.dev/docs/visual-editing) , and transforming data that may be used to parametrize a video. Data may [influence the content](https://www.remotion.dev/docs/data-fetching) of the video, or the [metadata](https://www.remotion.dev/docs/dynamic-metadata) such as width, height, duration or framerate. High-level overview[​](https://www.remotion.dev/docs/parameterized-rendering#high-level-overview "Direct link to High-level overview") --------------------------------------------------------------------------------------------------------------------------------------- Remotion allows the passing of [props](https://react.dev/learn/passing-props-to-a-component) to a React component. Props are a React concept and take the shape of a JavaScript object. To determine the data which gets passed to the video, the following steps are taken: [](https://www.remotion.dev/docs/parameterized-rendering#1) [1](https://www.remotion.dev/docs/parameterized-rendering#1) [](https://www.remotion.dev/docs/parameterized-rendering#1) **Default props** are defined statically, so that the video can be designed in the Studio without any data. * The default props define the shape of the data. * A schema can be defined and validated. * In absence of data, default props can be edited in the Remotion Studio. [](https://www.remotion.dev/docs/parameterized-rendering#2) [2](https://www.remotion.dev/docs/parameterized-rendering#2) [](https://www.remotion.dev/docs/parameterized-rendering#2) **Input props** may be specified when rendering a video to override the default props. * Input props will be merged together with default props, where input props have priority. [](https://www.remotion.dev/docs/parameterized-rendering#3) [3](https://www.remotion.dev/docs/parameterized-rendering#3) [](https://www.remotion.dev/docs/parameterized-rendering#3) **Using [`calculateMetadata()`](https://www.remotion.dev/docs/data-fetching) **, postprocessing of the props may be performed and metadata be dynamically calculated. * For example, given a URL is passed as a prop, it may be fetched and the content added to the props. * Asynchronous calculation of the video duration and other metadata is also possible here. [](https://www.remotion.dev/docs/parameterized-rendering#4) [4](https://www.remotion.dev/docs/parameterized-rendering#4) [](https://www.remotion.dev/docs/parameterized-rendering#4) **The final props** are passed to the React component. * The component may dynamically render content based on the props. See [here](https://www.remotion.dev/docs/props-resolution) for a visual explanation and more details of how the resolution process works. Table of contents[​](https://www.remotion.dev/docs/parameterized-rendering#table-of-contents "Direct link to Table of contents") --------------------------------------------------------------------------------------------------------------------------------- * [Passing props](https://www.remotion.dev/docs/passing-props) * [Defining a Schema](https://www.remotion.dev/docs/schemas) * [Visual editing](https://www.remotion.dev/docs/visual-editing) * [Data fetching](https://www.remotion.dev/docs/data-fetching) * [Variable metadata](https://www.remotion.dev/docs/dynamic-metadata) * [How props get resolved](https://www.remotion.dev/docs/props-resolution) See also[​](https://www.remotion.dev/docs/parameterized-rendering#see-also "Direct link to See also") ------------------------------------------------------------------------------------------------------ You can use the [Remotion Player](https://www.remotion.dev/docs/player) to display a Remotion component in a React app and dynamically change the content without rendering the video, to create experiences where the content updates in real-time. * [High-level overview](https://www.remotion.dev/docs/parameterized-rendering#high-level-overview) * [Table of contents](https://www.remotion.dev/docs/parameterized-rendering#table-of-contents) * [See also](https://www.remotion.dev/docs/parameterized-rendering#see-also) --- # @remotion/bundler | Remotion | Make videos programmatically [Skip to main content](https://www.remotion.dev/docs/bundler#__docusaurus_skipToContent_fallback) Copy page On this page A package containing the [`bundle()`](https://www.remotion.dev/docs/bundle) function, which takes a Remotion project and bundles it using Webpack, preparing it to be used by server-side rendering functions such as [`getCompositions()`](https://www.remotion.dev/docs/renderer/get-compositions) and [`renderMedia()`](https://www.remotion.dev/docs/renderer/render-media) Installation[​](https://www.remotion.dev/docs/bundler#installation "Direct link to Installation") -------------------------------------------------------------------------------------------------- * Remotion CLI * npm * bun * pnpm * yarn npx remotion add @remotion/bundler Copy npm i --save-exact @remotion/[\[email protected\]](https://www.remotion.dev/cdn-cgi/l/email-protection) Copy This assumes you are currently using v4.0.448 of Remotion. Also update `remotion` and all `` `@remotion/*` `` packages to the same version. Remove all `^` character in front of the version numbers of it as it can lead to a version conflict. pnpm i @remotion/[\[email protected\]](https://www.remotion.dev/cdn-cgi/l/email-protection) Copy This assumes you are currently using v4.0.448 of Remotion. Also update `remotion` and all `` `@remotion/*` `` packages to the same version. Remove all `^` character in front of the version numbers of it as it can lead to a version conflict. bun i @remotion/[\[email protected\]](https://www.remotion.dev/cdn-cgi/l/email-protection) Copy This assumes you are currently using v4.0.448 of Remotion. Also update `remotion` and all `` `@remotion/*` `` packages to the same version. Remove all `^` character in front of the version numbers of it as it can lead to a version conflict. yarn --exact add @remotion/[\[email protected\]](https://www.remotion.dev/cdn-cgi/l/email-protection) Copy This assumes you are currently using v4.0.448 of Remotion. Also update `remotion` and all `` `@remotion/*` `` packages to the same version. Remove all `^` character in front of the version numbers of it as it can lead to a version conflict. API[​](https://www.remotion.dev/docs/bundler#api "Direct link to API") ----------------------------------------------------------------------- [**bundle()**\ \ Create a Webpack bundle](https://www.remotion.dev/docs/bundle) License[​](https://www.remotion.dev/docs/bundler#license "Direct link to License") ----------------------------------------------------------------------------------- [Remotion License](https://remotion.dev/license) * [Installation](https://www.remotion.dev/docs/bundler#installation) * [API](https://www.remotion.dev/docs/bundler#api) * [License](https://www.remotion.dev/docs/bundler#license) --- # Dependencies of the Editor Starter | Remotion | Make videos programmatically [Skip to main content](https://www.remotion.dev/docs/editor-starter/dependencies#__docusaurus_skipToContent_fallback) Copy page On this page The Editor Starter is built in [React 19](https://react.dev/) and [Remotion](https://www.remotion.dev/) . The reference implementation is built in [React Router v7](https://reactrouter.com/) with the goal of being easily portable to other frameworks. [Tailwind CSS v4](https://tailwindcss.com/) is used for styling. Captions[​](https://www.remotion.dev/docs/editor-starter/dependencies#captions "Direct link to Captions") ---------------------------------------------------------------------------------------------------------- OpenAI's [Audio API](https://platform.openai.com/docs/guides/speech-to-text) is used for captioning. Captioning is optional, but it is enabled by default and an OpenAI API key is required to use it. Asset uploads[​](https://www.remotion.dev/docs/editor-starter/dependencies#asset-uploads "Direct link to Asset uploads") ------------------------------------------------------------------------------------------------------------------------- [Assets are uploaded by default to AWS S3](https://www.remotion.dev/docs/editor-starter/asset-uploads) . This means that in order for asset uploads to work, an AWS account is required and AWS S3 needs to be set up. Rendering[​](https://www.remotion.dev/docs/editor-starter/dependencies#rendering "Direct link to Rendering") ------------------------------------------------------------------------------------------------------------- [Remotion Lambda](https://www.remotion.dev/docs/lambda) is used for rendering. This means that in order for rendering to work, an AWS account is required and AWS Lambda needs to be set up. Google Fonts[​](https://www.remotion.dev/docs/editor-starter/dependencies#google-fonts "Direct link to Google Fonts") ---------------------------------------------------------------------------------------------------------------------- Fonts are loaded from [Google Fonts](https://fonts.google.com/) . No API key is required for this. NPM packages[​](https://www.remotion.dev/docs/editor-starter/dependencies#npm-packages "Direct link to NPM packages") ---------------------------------------------------------------------------------------------------------------------- The following NPM packages are used in the Editor Starter: { "@aws-sdk/s3-request-presigner": "^3.936.0", "@radix-ui/react-context-menu": "^2.2.15", "@radix-ui/react-popover": "^1.1.14", "@radix-ui/react-select": "^2.2.5", "sonner": "^2.0.7", "@remotion/captions": "^4.0.331", "@remotion/cli": "^4.0.331", "@remotion/gif": "^4.0.331", "@remotion/google-fonts": "^4.0.331", "@remotion/lambda": "^4.0.331", "@remotion/layout-utils": "^4.0.331", "@remotion/media-parser": "^4.0.331", "@remotion/openai-whisper": "^4.0.331", "@remotion/player": "^4.0.331", "@remotion/shapes": "^4.0.331", "@tanstack/react-virtual": "^3.13.10", "remotion": "^4.0.331", "openai": "^4.67.3", "zod": "^3.24.3" } It's always recommended to use the latest version of Remotion packages. Currently it is: [`4.0.448`](https://remotion.dev/changelog) . Run `npx remotion upgrade` to upgrade to the latest version. * [Captions](https://www.remotion.dev/docs/editor-starter/dependencies#captions) * [Asset uploads](https://www.remotion.dev/docs/editor-starter/dependencies#asset-uploads) * [Rendering](https://www.remotion.dev/docs/editor-starter/dependencies#rendering) * [Google Fonts](https://www.remotion.dev/docs/editor-starter/dependencies#google-fonts) * [NPM packages](https://www.remotion.dev/docs/editor-starter/dependencies#npm-packages) --- # Embedding videos into Remotion | Remotion | Make videos programmatically [Skip to main content](https://www.remotion.dev/docs/videos/#__docusaurus_skipToContent_fallback) Copy page On this page You can embed existing videos into Remotion by using the [``](https://www.remotion.dev/docs/offthreadvideo) component. import React from 'react'; import {OffthreadVideo, staticFile} from 'remotion'; export const MyComp: React.FC = () => { return ; }; Using a local file[​](https://www.remotion.dev/docs/videos/#using-a-local-file "Direct link to Using a local file") -------------------------------------------------------------------------------------------------------------------- Put a file into the [`public` folder](https://www.remotion.dev/docs/terminology/public-dir) and reference it using [`staticFile()`](https://www.remotion.dev/docs/staticfile) . import React from 'react'; import {OffthreadVideo, staticFile} from 'remotion'; export const MyComp: React.FC = () => { return ; }; Trimming[​](https://www.remotion.dev/docs/videos/#trimming "Direct link to Trimming") -------------------------------------------------------------------------------------- By using the [`trimBefore`](https://www.remotion.dev/docs/offthreadvideo#trimbefore) prop, you can remove the first few seconds of the video. In the example below, the first two seconds of the video are skipped (assuming a composition FPS of 30). import React from 'react'; import {OffthreadVideo, staticFile} from 'remotion'; export const MyComp: React.FC = () => { return ; }; Similarly, you can use [`trimAfter`](https://www.remotion.dev/docs/offthreadvideo#trimafter) to trim the end of the video. import React from 'react'; import {OffthreadVideo, staticFile} from 'remotion'; export const MyComp: React.FC = () => { return ; }; Delaying[​](https://www.remotion.dev/docs/videos/#delaying "Direct link to Delaying") -------------------------------------------------------------------------------------- Use the [``](https://www.remotion.dev/docs/sequence) component to delay the appearance of a video. In the example below, the video will start playing at frame 60. import React from 'react'; import {OffthreadVideo, staticFile, Sequence} from 'remotion'; export const MyComp: React.FC = () => { return ( ); }; Size and Position[​](https://www.remotion.dev/docs/videos/#size-and-position "Direct link to Size and Position") ----------------------------------------------------------------------------------------------------------------- You can size and position the video using CSS. You'll find the properties `width`, `height`, `position`, `left`, `top`, `right`, `bottom`, `margin`, `aspectRatio` and `objectFit` useful. import React from 'react'; import {OffthreadVideo, staticFile} from 'remotion'; export const MyComp: React.FC = () => { return ( ); }; Volume[​](https://www.remotion.dev/docs/videos/#volume "Direct link to Volume") -------------------------------------------------------------------------------- You can set the volume of the video using the [`volume`](https://www.remotion.dev/docs/offthreadvideo#volume) prop. import React from 'react'; import {OffthreadVideo, staticFile} from 'remotion'; export const MyComp: React.FC = () => { return ; }; You can also mute a video using the [`muted`](https://www.remotion.dev/docs/offthreadvideo#muted) prop. import React from 'react'; import {OffthreadVideo, staticFile} from 'remotion'; export const MyComp: React.FC = () => { return ; }; See [Using Audio](https://www.remotion.dev/docs/audio/volume) for more ways you can control volume. Speed[​](https://www.remotion.dev/docs/videos/#speed "Direct link to Speed") ----------------------------------------------------------------------------- You can use the [`playbackRate`](https://www.remotion.dev/docs/offthreadvideo#playbackrate) prop to change the speed of the video. import React from 'react'; import {OffthreadVideo, staticFile} from 'remotion'; export const MyComp: React.FC = () => { return ; }; This only works if the speed is constant. See also: [Changing the speed of a video over time](https://www.remotion.dev/docs/miscellaneous/snippets/accelerated-video) . Looping[​](https://www.remotion.dev/docs/videos/#looping "Direct link to Looping") ----------------------------------------------------------------------------------- See: [Looping an ``](https://www.remotion.dev/docs/offthreadvideo#looping-a-offthreadvideo) GIFs[​](https://www.remotion.dev/docs/videos/#gifs "Direct link to GIFs") -------------------------------------------------------------------------- See: [Using GIFs](https://www.remotion.dev/docs/gif) See also[​](https://www.remotion.dev/docs/videos/#see-also "Direct link to See also") -------------------------------------------------------------------------------------- * [``](https://www.remotion.dev/docs/offthreadvideo) * [Using Audio](https://www.remotion.dev/docs/using-audio) * [Using a local file](https://www.remotion.dev/docs/videos/#using-a-local-file) * [Trimming](https://www.remotion.dev/docs/videos/#trimming) * [Delaying](https://www.remotion.dev/docs/videos/#delaying) * [Size and Position](https://www.remotion.dev/docs/videos/#size-and-position) * [Volume](https://www.remotion.dev/docs/videos/#volume) * [Speed](https://www.remotion.dev/docs/videos/#speed) * [Looping](https://www.remotion.dev/docs/videos/#looping) * [GIFs](https://www.remotion.dev/docs/videos/#gifs) * [See also](https://www.remotion.dev/docs/videos/#see-also) --- # Using audio | Remotion | Make videos programmatically [Skip to main content](https://www.remotion.dev/docs/using-audio#__docusaurus_skipToContent_fallback) Copy page On this page Remotion provides powerful capabilities for working with audio in your compositions. [**Importing audio**\ \ Add audio to your compositions](https://www.remotion.dev/docs/audio/importing) [**Delaying audio**\ \ Delay the start time of audio elements](https://www.remotion.dev/docs/audio/delaying) [**Creating audio from video**\ \ Use audio from videos](https://www.remotion.dev/docs/audio/from-video) [**Controlling volume**\ \ Control the volume of audio elements](https://www.remotion.dev/docs/audio/volume) [**Muting audio**\ \ Mute audio elements](https://www.remotion.dev/docs/audio/muting) [**Controlling speed**\ \ Change the speed of audio elements](https://www.remotion.dev/docs/audio/speed) [**Controlling pitch**\ \ Change the pitch of audio elements](https://www.remotion.dev/docs/audio/pitch) [**Visualizing audio**\ \ Visualize audio elements](https://www.remotion.dev/docs/audio/visualization) [**Exporting audio**\ \ Export audio](https://www.remotion.dev/docs/audio/exporting) [**Order of operations**\ \ Control the order of operations for audio elements](https://www.remotion.dev/docs/audio/order-of-operations) See also[​](https://www.remotion.dev/docs/using-audio#see-also "Direct link to See also") ------------------------------------------------------------------------------------------ * [Importing assets](https://www.remotion.dev/docs/assets) * [Audio visualization](https://www.remotion.dev/docs/audio/visualization) * [``](https://www.remotion.dev/docs/html5-audio) tag * [See also](https://www.remotion.dev/docs/using-audio#see-also) --- # Features in the Editor Starter | Remotion | Make videos programmatically [Skip to main content](https://www.remotion.dev/docs/editor-starter/features#__docusaurus_skipToContent_fallback) Copy page On this page On this page, we list the features that are available in the [Editor Starter](https://remotion.pro/editor-starter) . The Editor Starter consists of the following parts illustrated in this graphic: ![](https://pub-646d808d9cb240cea53bedc76dd3cd0c.r2.dev/Remotion%20Editor%20Starter%20Structure.png) Feature flags[​](https://www.remotion.dev/docs/editor-starter/features#feature-flags "Direct link to Feature flags") --------------------------------------------------------------------------------------------------------------------- Many features are behind feature flags, which can be enabled or disabled by switching the flags in [`src/editor/flags.ts`](https://github.com/remotion-dev/editor-starter/blob/main/src/editor/flags.ts) . Feature flags are useful: * To disable features you don't need * To search the codebase for them and find where a feature is implemented * To understand which features you are adopting for your own project On this page; if a feature has a flag, you can click on it to see the usages in the codebase. The links for the feature flags will only work if you have bought the Editor Starter (i.e., you have access to the repository) and are logged into GitHub. Item types[​](https://www.remotion.dev/docs/editor-starter/features#item-types "Direct link to Item types") ------------------------------------------------------------------------------------------------------------ We support the following item types by default: * Images * Videos * Audios * GIFs * Text * Solid * Captions To learn more about them and how to add a new item type, see: [Tracks, items and assets](https://www.remotion.dev/docs/editor-starter/tracks-items-assets) Action row[​](https://www.remotion.dev/docs/editor-starter/features#action-row "Direct link to Action row") ------------------------------------------------------------------------------------------------------------ The action row is the top toolbar. ### Draw solid tool[​](https://www.remotion.dev/docs/editor-starter/features#draw-solid-tool "Direct link to Draw solid tool") Feature flag: [`FEATURE_DRAW_SOLID_TOOL`](https://github.com/search?q=repo%3Aremotion-dev%2Feditor-starter%20FEATURE_DRAW_SOLID_TOOL&type=code) Shows a button to draw a solid item onto the canvas. ### Add text tool[​](https://www.remotion.dev/docs/editor-starter/features#add-text-tool "Direct link to Add text tool") Feature flag: [`FEATURE_CREATE_TEXT_TOOL`](https://github.com/search?q=repo%3Aremotion-dev%2Feditor-starter%20FEATURE_CREATE_TEXT_TOOL&type=code) Shows a button to add a text item onto the canvas. ### Import assets tool[​](https://www.remotion.dev/docs/editor-starter/features#import-assets-tool "Direct link to Import assets tool") Feature flag: [`FEATURE_IMPORT_ASSETS_TOOL`](https://github.com/search?q=repo%3Aremotion-dev%2Feditor-starter%20FEATURE_IMPORT_ASSETS_TOOL&type=code) Shows a button to import assets onto the canvas. ### Undo button[​](https://www.remotion.dev/docs/editor-starter/features#undo-button "Direct link to Undo button") Feature flag: [`FEATURE_UNDO_BUTTON`](https://github.com/search?q=repo%3Aremotion-dev%2Feditor-starter%20FEATURE_UNDO_BUTTON&type=code) Shows a button to undo the last action. ### Redo button[​](https://www.remotion.dev/docs/editor-starter/features#redo-button "Direct link to Redo button") Feature flag: [`FEATURE_REDO_BUTTON`](https://github.com/search?q=repo%3Aremotion-dev%2Feditor-starter%20FEATURE_REDO_BUTTON&type=code) Shows a button to redo the last action. ### Save button[​](https://www.remotion.dev/docs/editor-starter/features#save-button "Direct link to Save button") Feature flag: [`FEATURE_SAVE_BUTTON`](https://github.com/search?q=repo%3Aremotion-dev%2Feditor-starter%20FEATURE_SAVE_BUTTON&type=code) Shows a button to save the current state of the project. ### Download state button[​](https://www.remotion.dev/docs/editor-starter/features#download-state-button "Direct link to Download state button") Feature flag: [`FEATURE_DOWNLOAD_STATE`](https://github.com/search?q=repo%3Aremotion-dev%2Feditor-starter%20FEATURE_DOWNLOAD_STATE&type=code) Shows a button to download the current state of the project. ### Load state button[​](https://www.remotion.dev/docs/editor-starter/features#load-state-button "Direct link to Load state button") Feature flag: [`FEATURE_LOAD_STATE`](https://github.com/search?q=repo%3Aremotion-dev%2Feditor-starter%20FEATURE_LOAD_STATE&type=code) Shows a button to load a state of the project that has been downloaded with the [`FEATURE_DOWNLOAD_STATE`](https://github.com/search?q=repo%3Aremotion-dev%2Feditor-starter%20FEATURE_DOWNLOAD_STATE&type=code) button. Timeline[​](https://www.remotion.dev/docs/editor-starter/features#timeline "Direct link to Timeline") ------------------------------------------------------------------------------------------------------ The timeline allows you to see a overview of the content and to scrub through the video. Items are organized in "tracks", allowing multiple items to be placed at the same time and to allow for controlling how they overlap. ### Draggable playhead[​](https://www.remotion.dev/docs/editor-starter/features#draggable-playhead "Direct link to Draggable playhead") Pressing and dragging on the time ticks allows you to move the playhead and therefore the position of the video. If you drag the playhead to the edge of the timeline, the timeline will scroll. ### Dropping assets[​](https://www.remotion.dev/docs/editor-starter/features#dropping-assets "Direct link to Dropping assets") Feature flag: [`FEATURE_DROP_ASSETS_ON_TIMELINE`](https://github.com/search?q=repo%3Aremotion-dev%2Feditor-starter%20FEATURE_DROP_ASSETS_ON_TIMELINE&type=code) An asset (image, video, audio, GIF) can be dropped on the timeline to import it and add a new layer. The item type is detected by [Remotion Media Parser](https://www.remotion.dev/docs/media-parser/foreign-file-types) and an appropriate item is created. ### Filmstrip thumbnails[​](https://www.remotion.dev/docs/editor-starter/features#filmstrip-thumbnails "Direct link to Filmstrip thumbnails") Feature flag: [`FEATURE_FILMSTRIP`](https://github.com/search?q=repo%3Aremotion-dev%2Feditor-starter%20FEATURE_FILMSTRIP&type=code) For video items, preview images are displayed on the timeline. ### Automatic duration[​](https://www.remotion.dev/docs/editor-starter/features#automatic-duration "Direct link to Automatic duration") When assets are imported, items are automatically assigned appropriate durations based on the asset's length. Video and audio items use the media duration, while images and text use default durations. ### Drag and dropping[​](https://www.remotion.dev/docs/editor-starter/features#drag-and-dropping "Direct link to Drag and dropping") Items can be dragged and repositioned on the timeline. Multi-select is supported, allowing you to drag multiple items at once. A shadow overlay shows where the moving item is being placed when dragging. ### Extend handles[​](https://www.remotion.dev/docs/editor-starter/features#extend-handles "Direct link to Extend handles") You can drag on either side of an item to extend or shrink the item. ### Max trim indicators[​](https://www.remotion.dev/docs/editor-starter/features#max-trim-indicators "Direct link to Max trim indicators") Feature flag: [`FEATURE_MAX_TRIM_INDICATORS`](https://github.com/search?q=repo%3Aremotion-dev%2Feditor-starter%20FEATURE_MAX_TRIM_INDICATORS&type=code) When extending an item, the maximum trim position is shown with a white outline of the selected item. ### Audio waveform[​](https://www.remotion.dev/docs/editor-starter/features#audio-waveform "Direct link to Audio waveform") Feature flags: [`FEATURE_WAVEFORM`](https://github.com/search?q=repo%3Aremotion-dev%2Feditor-starter%20FEATURE_WAVEFORM&type=code) and [`FEATURE_AUDIO_WAVEFORM_FOR_VIDEO_ITEM`](https://github.com/search?q=repo%3Aremotion-dev%2Feditor-starter%20FEATURE_AUDIO_WAVEFORM_FOR_VIDEO_ITEM&type=code) Video and audio items display a waveform at the bottom of the timeline. ### Volume control[​](https://www.remotion.dev/docs/editor-starter/features#volume-control "Direct link to Volume control") Feature flag: [`FEATURE_TIMELINE_VOLUME_CONTROL`](https://github.com/search?q=repo%3Aremotion-dev%2Feditor-starter%20FEATURE_TIMELINE_VOLUME_CONTROL&type=code) Audio and video items display a draggable volume line on the timeline waveform. Dragging vertically adjusts the volume in decibels with a visual indicator showing the current level. ### Fade in and out[​](https://www.remotion.dev/docs/editor-starter/features#fade-in-and-out "Direct link to Fade in and out") Feature flags: [`FEATURE_AUDIO_FADE_CONTROL`](https://github.com/search?q=repo%3Aremotion-dev%2Feditor-starter%20FEATURE_AUDIO_FADE_CONTROL&type=code) and [`FEATURE_VISUAL_FADE_CONTROL`](https://github.com/search?q=repo%3Aremotion-dev%2Feditor-starter%20FEATURE_VISUAL_FADE_CONTROL&type=code) Items support opacity fade in and fade out effects. Audio and video items support fades as well. Draggable handles appear on hover at the start and end of items to adjust fade duration, with visual curves showing the fade effect. ### Splitting items[​](https://www.remotion.dev/docs/editor-starter/features#splitting-items "Direct link to Splitting items") Feature flag: [`FEATURE_SPLIT_ITEM`](https://github.com/search?q=repo%3Aremotion-dev%2Feditor-starter%20FEATURE_SPLIT_ITEM&type=code) Items can be split at the current playhead position using the scissors tool. The split creates two separate items, properly handling fade effects and media start times for the new segments. ### Multi-select / Marquee selection[​](https://www.remotion.dev/docs/editor-starter/features#multi-select--marquee-selection "Direct link to Multi-select / Marquee selection") Feature flag: [`FEATURE_TIMELINE_MARQUEE_SELECTION`](https://github.com/search?q=repo%3Aremotion-dev%2Feditor-starter%20FEATURE_TIMELINE_MARQUEE_SELECTION&type=code) Multiple items can be selected using Cmd/Ctrl+click (alternatively Shift+click) to add items to the selection, or so called Marquee selection to create a selection rectangle that selects all items within its bounds. Selected items can be moved, deleted, or edited together. ### Hide track[​](https://www.remotion.dev/docs/editor-starter/features#hide-track "Direct link to Hide track") Feature flag: [`FEATURE_HIDE_TRACKS`](https://github.com/search?q=repo%3Aremotion-dev%2Feditor-starter%20FEATURE_HIDE_TRACKS&type=code) Allows hiding a specific track on the timeline. ### Mute track[​](https://www.remotion.dev/docs/editor-starter/features#mute-track "Direct link to Mute track") Feature flag: [`FEATURE_MUTE_TRACKS`](https://github.com/search?q=repo%3Aremotion-dev%2Feditor-starter%20FEATURE_MUTE_TRACKS&type=code) Allows muting a specific track on the timeline. ### Rolling edits[​](https://www.remotion.dev/docs/editor-starter/features#rolling-edits "Direct link to Rolling edits") Feature flag: [`FEATURE_ROLLING_EDITS`](https://github.com/search?q=repo%3Aremotion-dev%2Feditor-starter%20FEATURE_ROLLING_EDITS&type=code) Rolling edits are a video editing feature that allows you to adjust the cut point between two adjacent timeline items without changing their total combined duration or position on the timeline. ### Follow playhead while playing[​](https://www.remotion.dev/docs/editor-starter/features#follow-playhead-while-playing "Direct link to Follow playhead while playing") Feature flag: [`FEATURE_FOLLOW_PLAYHEAD_WHILE_PLAYING`](https://github.com/search?q=repo%3Aremotion-dev%2Feditor-starter%20FEATURE_FOLLOW_PLAYHEAD_WHILE_PLAYING&type=code) Scrolls the timeline as the playhead moves forward. ### Timeline Snapping[​](https://www.remotion.dev/docs/editor-starter/features#timeline-snapping "Direct link to Timeline Snapping") Feature flag: [`FEATURE_TIMELINE_SNAPPING`](https://github.com/search?q=repo%3Aremotion-dev%2Feditor-starter%20FEATURE_TIMELINE_SNAPPING&type=code) Enables snapping on the timeline, allowing items to align with other items, the playhead, or grid positions when dragged. This simplifies positioning and transitions. Activate snapping by clicking the magnet icon. Inspector[​](https://www.remotion.dev/docs/editor-starter/features#inspector "Direct link to Inspector") --------------------------------------------------------------------------------------------------------- On the right side of the screen, an inspector is displayed which allows for editing the properties of the selected item. The following features are available. ### Composition inspector[​](https://www.remotion.dev/docs/editor-starter/features#composition-inspector "Direct link to Composition inspector") If no item is selected, controls for the whole composition are displayed (i.e., composition inspector): * Setting the dimensions * Triggering a render ### Swap dimensions button[​](https://www.remotion.dev/docs/editor-starter/features#swap-dimensions-button "Direct link to Swap dimensions button") Feature flag: [`FEATURE_SWAP_COMPOSITION_DIMENSIONS_BUTTON`](https://github.com/search?q=repo%3Aremotion-dev%2Feditor-starter%20FEATURE_SWAP_COMPOSITION_DIMENSIONS_BUTTON&type=code) Shows a button to swap the width and height of the composition (i.e., within the composition inspector). ### Source info[​](https://www.remotion.dev/docs/editor-starter/features#source-info "Direct link to Source info") Feature flag: [`FEATURE_SOURCE_CONTROL`](https://github.com/search?q=repo%3Aremotion-dev%2Feditor-starter%20FEATURE_SOURCE_CONTROLO&type=code) Shows information about the associated [asset](https://www.remotion.dev/docs/editor-starter/tracks-items-assets#assets) of a selected item, such as the file name, file size, [upload progress](https://www.remotion.dev/docs/editor-starter/asset-uploads) and [download progress](https://www.remotion.dev/docs/editor-starter/persistance) of that asset. ### Layer alignment[​](https://www.remotion.dev/docs/editor-starter/features#layer-alignment "Direct link to Layer alignment") Feature flag: [`FEATURE_ALIGNMENT_CONTROL`](https://github.com/search?q=repo%3Aremotion-dev%2Feditor-starter%20FEATURE_ALIGNMENT_CONTROL&type=code) Buttons for aligning the item to the; left, vertical center, right, top, horizontal center, bottom. ### Position controls[​](https://www.remotion.dev/docs/editor-starter/features#position-controls "Direct link to Position controls") Feature flag: [`FEATURE_POSITION_CONTROL`](https://github.com/search?q=repo%3Aremotion-dev%2Feditor-starter%20FEATURE_POSITION_CONTROL&type=code) Allows setting the precise X and Y position of the item. ### Dimensions controls[​](https://www.remotion.dev/docs/editor-starter/features#dimensions-controls "Direct link to Dimensions controls") Feature flag: [`FEATURE_DIMENSIONS_CONTROL`](https://github.com/search?q=repo%3Aremotion-dev%2Feditor-starter%20FEATURE_DIMENSIONS_CONTROL&type=code) Allows setting the width and height of the item. ### Cropping controls[​](https://www.remotion.dev/docs/editor-starter/features#cropping-controls "Direct link to Cropping controls") Feature flag: [`FEATURE_CROP_CONTROL`](https://github.com/search?q=repo%3Aremotion-dev%2Feditor-starter%20FEATURE_CROP_CONTROL&type=code) Allows setting the [crop values](https://www.remotion.dev/docs/editor-starter/cropping) of the item. ### Keep Aspect ratio control[​](https://www.remotion.dev/docs/editor-starter/features#keep-aspect-ratio-control "Direct link to Keep Aspect ratio control") Feature flag: [`FEATURE_KEEP_ASPECT_RATIO_CONTROL`](https://github.com/search?q=repo%3Aremotion-dev%2Feditor-starter%20FEATURE_KEEP_ASPECT_RATIO_CONTROL&type=code) Allows setting the keep aspect ratio of the item. ### Border radius control[​](https://www.remotion.dev/docs/editor-starter/features#border-radius-control "Direct link to Border radius control") Feature flag: [`FEATURE_BORDER_RADIUS_CONTROL`](https://github.com/search?q=repo%3Aremotion-dev%2Feditor-starter%20FEATURE_BORDER_RADIUS_CONTROL&type=code) Allows setting the border radius of the item. In the UI, the border radius is named "Corner Radius". ### Opacity control[​](https://www.remotion.dev/docs/editor-starter/features#opacity-control "Direct link to Opacity control") Feature flag: [`FEATURE_OPACITY_CONTROL`](https://github.com/search?q=repo%3Aremotion-dev%2Feditor-starter%20FEATURE_OPACITY_CONTROL&type=code) Allows setting the opacity of the item. ### Text alignment[​](https://www.remotion.dev/docs/editor-starter/features#text-alignment "Direct link to Text alignment") Feature flag: [`FEATURE_TEXT_ALIGNMENT_CONTROL`](https://github.com/search?q=repo%3Aremotion-dev%2Feditor-starter%20FEATURE_TEXT_ALIGNMENT_CONTROL&type=code) Allows setting the text alignment of the item (left, center, right). ### Font family[​](https://www.remotion.dev/docs/editor-starter/features#font-family "Direct link to Font family") Feature flag: [`FEATURE_FONT_FAMILY_CONTROL`](https://github.com/search?q=repo%3Aremotion-dev%2Feditor-starter%20FEATURE_FONT_FAMILY_CONTROL&type=code) Allows setting the font family of the item. ### Font family preview[​](https://www.remotion.dev/docs/editor-starter/features#font-family-preview "Direct link to Font family preview") Feature flag: [`FEATURE_FONT_FAMILY_DROPDOWN_RENDER_IN_FONT`](https://github.com/search?q=repo%3Aremotion-dev%2Feditor-starter%20FEATURE_FONT_FAMILY_DROPDOWN_RENDER_IN_FONT&type=code) Each item in the font family dropdown is rendered in the font itself. ### Hover to preview font family[​](https://www.remotion.dev/docs/editor-starter/features#hover-to-preview-font-family "Direct link to Hover to preview font family") Feature flag: [`FEATURE_CHANGE_FONT_FAMILY_ON_HOVER`](https://github.com/search?q=repo%3Aremotion-dev%2Feditor-starter+FEATURE_CHANGE_FONT_FAMILY_ON_HOVER&type=code) When hovering over an item in the font family dropdown, the text item in the canvas updates with a preview of what the item would look like if it the hovered item was selected. ### Font style[​](https://www.remotion.dev/docs/editor-starter/features#font-style "Direct link to Font style") Feature flag: [`FEATURE_FONT_STYLE_CONTROL`](https://github.com/search?q=repo%3Aremotion-dev%2Feditor-starter%20FEATURE_FONT_STYLE_CONTROL&type=code) Allows setting the font style variant and weight (normal, italic, bold, etc.) for text and caption items. Includes live preview when hovering over options. ### Hover to preview font style[​](https://www.remotion.dev/docs/editor-starter/features#hover-to-preview-font-style "Direct link to Hover to preview font style") Feature flag: [`FEATURE_CHANGE_FONT_STYLE_ON_HOVER`](https://github.com/search?q=repo%3Aremotion-dev%2Feditor-starter+FEATURE_CHANGE_FONT_STYLE_ON_HOVER&type=code) When hovering over an item in the font style dropdown, the text item in the canvas updates with a preview of what the item would look like if it the hovered item was selected. ### Font size[​](https://www.remotion.dev/docs/editor-starter/features#font-size "Direct link to Font size") Feature flag: [`FEATURE_TEXT_FONT_SIZE_CONTROL`](https://github.com/search?q=repo%3Aremotion-dev%2Feditor-starter%20FEATURE_TEXT_FONT_SIZE_CONTROL&type=code) Allows setting the font size of the item. ### Text value[​](https://www.remotion.dev/docs/editor-starter/features#text-value "Direct link to Text value") Feature flag: [`FEATURE_TEXT_VALUE_CONTROL`](https://github.com/search?q=repo%3Aremotion-dev%2Feditor-starter%20FEATURE_TEXT_VALUE_CONTROL&type=code) Allows editing the text content via a text area in the inspector. Text area automatically resizes based on content and alignment settings. ### Color[​](https://www.remotion.dev/docs/editor-starter/features#color "Direct link to Color") Feature flag: [`FEATURE_COLOR_CONTROL`](https://github.com/search?q=repo%3Aremotion-dev%2Feditor-starter%20FEATURE_COLOR_CONTROL&type=code) Provides a color picker for text, solid, and caption items. ### Rotation[​](https://www.remotion.dev/docs/editor-starter/features#rotation "Direct link to Rotation") Feature flags: [`FEATURE_ROTATION_CONTROL`](https://github.com/search?q=repo%3Aremotion-dev%2Feditor-starter%20FEATURE_ROTATION_CONTROL&type=code) and [`FEATURE_ROTATE_90_DEGREES_BUTTON`](https://github.com/search?q=repo%3Aremotion-dev%2Feditor-starter%20FEATURE_ROTATE_90_DEGREES_BUTTON&type=code) Allows changing the rotation of the item. The [`FEATURE_ROTATE_90_DEGREES_BUTTON`](https://github.com/search?q=repo%3Aremotion-dev%2Feditor-starter%20FEATURE_ROTATE_90_DEGREES_BUTTON&type=code) flag displays a button to quickly rotate the item by 90 degrees clockwise. ### Line height[​](https://www.remotion.dev/docs/editor-starter/features#line-height "Direct link to Line height") Feature flag: [`FEATURE_TEXT_LINE_HEIGHT_CONTROL`](https://github.com/search?q=repo%3Aremotion-dev%2Feditor-starter%20FEATURE_TEXT_LINE_HEIGHT_CONTROL&type=code) Allows setting the line height for text and caption items. Accepts values from 0.5 to 5.0 with automatic text relayout when changed. ### Letter spacing[​](https://www.remotion.dev/docs/editor-starter/features#letter-spacing "Direct link to Letter spacing") Feature flag: [`FEATURE_TEXT_LETTER_SPACING_CONTROL`](https://github.com/search?q=repo%3Aremotion-dev%2Feditor-starter%20FEATURE_TEXT_LETTER_SPACING_CONTROL&type=code) Allows setting the letter spacing for text and caption items. Supports values from -10px to 50px with automatic text relayout when changed. ### Text direction[​](https://www.remotion.dev/docs/editor-starter/features#text-direction "Direct link to Text direction") Feature flag: [`FEATURE_TEXT_DIRECTION_CONTROL`](https://github.com/search?q=repo%3Aremotion-dev%2Feditor-starter%20FEATURE_TEXT_DIRECTION_CONTROL&type=code) Provides left-to-right (LTR) and right-to-left (RTL; like Arabic) text direction controls. Text direction is automatically detected when creating new text items, but can be manually overridden. ### Playback speed[​](https://www.remotion.dev/docs/editor-starter/features#playback-speed "Direct link to Playback speed") Feature flag: [`FEATURE_PLAYBACKRATE_CONTROL`](https://github.com/search?q=repo%3Aremotion-dev%2Feditor-starter%20FEATURE_PLAYBACKRATE_CONTROL&type=code) Allows setting the playback rate for video, audio, and GIF items. Supports rates from 0.25x to 5x with automatic duration adjustment based on the new playback speed. ### Volume[​](https://www.remotion.dev/docs/editor-starter/features#volume "Direct link to Volume") Feature flag: [`FEATURE_VOLUME_CONTROL`](https://github.com/search?q=repo%3Aremotion-dev%2Feditor-starter%20FEATURE_VOLUME_CONTROL&type=code) Provides a volume slider for audio and video items with decibel-based adjustment. Shows the current dB difference to the original audio. ### Fade in and out[​](https://www.remotion.dev/docs/editor-starter/features#fade-in-and-out-1 "Direct link to Fade in and out") Feature flags: [`FEATURE_AUDIO_FADE_CONTROL`](https://github.com/search?q=repo%3Aremotion-dev%2Feditor-starter%20FEATURE_AUDIO_FADE_CONTROL&type=code) and [`FEATURE_VIDEO_FADE_CONTROL`](https://github.com/search?q=repo%3Aremotion-dev%2Feditor-starter%20FEATURE_VIDEO_FADE_CONTROL&type=code) Provides precise controls for fade in and fade out durations for audio and video items. Allows setting fade times in seconds with visual preview of the fade effect. ### Caption tokens[​](https://www.remotion.dev/docs/editor-starter/features#caption-tokens "Direct link to Caption tokens") Feature flag: [`FEATURE_TOKENS_CONTROL`](https://github.com/search?q=repo%3Aremotion-dev%2Feditor-starter%20FEATURE_TOKENS_CONTROL&type=code) A control allowing the correction of the tokens of generated captions. ### Caption page duration[​](https://www.remotion.dev/docs/editor-starter/features#caption-page-duration "Direct link to Caption page duration") Feature flag: [`FEATURE_CAPTIONS_PAGE_DURATION_CONTROL`](https://github.com/search?q=repo%3Aremotion-dev%2Feditor-starter%20FEATURE_CAPTIONS_PAGE_DURATION_CONTROL&type=code) A control allowing to set the duration of one page of captions. ### Lines of caption text[​](https://www.remotion.dev/docs/editor-starter/features#lines-of-caption-text "Direct link to Lines of caption text") Feature flag: [`FEATURE_TEXT_MAX_LINES_CONTROL`](https://github.com/search?q=repo%3Aremotion-dev%2Feditor-starter%20FEATURE_TEXT_MAX_LINES_CONTROL&type=code) Limits the number of lines of caption text that can be displayed in a text item. ### Caption highlight color[​](https://www.remotion.dev/docs/editor-starter/features#caption-highlight-color "Direct link to Caption highlight color") Feature flag: [`FEATURE_CAPTIONS_HIGHLIGHT_COLOR_CONTROL`](https://github.com/search?q=repo%3Aremotion-dev%2Feditor-starter%20FEATURE_CAPTIONS_HIGHLIGHT_COLOR_CONTROL&type=code) A control allowing to set the color of the currently spoken word in a caption page. ### Text background[​](https://www.remotion.dev/docs/editor-starter/features#text-background "Direct link to Text background") Feature flag: [`FEATURE_TEXT_BACKGROUND_CONTROL`](https://github.com/search?q=repo%3Aremotion-dev%2Feditor-starter%20FEATURE_TEXT_BACKGROUND_CONTROL&type=code) A control allowing to set the background color of a text item. ### Text background horizontal padding[​](https://www.remotion.dev/docs/editor-starter/features#text-background-horizontal-padding "Direct link to Text background horizontal padding") Feature flag: [`FEATURE_TEXT_BACKGROUND_HORIZONTAL_PADDING_CONTROL`](https://github.com/search?q=repo%3Aremotion-dev%2Feditor-starter%20FEATURE_TEXT_BACKGROUND_HORIZONTAL_PADDING_CONTROL&type=code) A control allowing to set the horizontal padding of the background of a text item. ### Text background border radius[​](https://www.remotion.dev/docs/editor-starter/features#text-background-border-radius "Direct link to Text background border radius") Feature flag: [`FEATURE_TEXT_BACKGROUND_BORDER_RADIUS_CONTROL`](https://github.com/search?q=repo%3Aremotion-dev%2Feditor-starter%20FEATURE_TEXT_BACKGROUND_BORDER_RADIUS_CONTROL&type=code) A control allowing to set the border radius of the background of a text item. Playback[​](https://www.remotion.dev/docs/editor-starter/features#playback "Direct link to Playback") ------------------------------------------------------------------------------------------------------ ### Play / Pause button[​](https://www.remotion.dev/docs/editor-starter/features#play--pause-button "Direct link to Play / Pause button") A central play/pause button that starts or stops the video playback. It can also be controlled using the Space bar on the keyboard. ### Current time indicator[​](https://www.remotion.dev/docs/editor-starter/features#current-time-indicator "Direct link to Current time indicator") Displays the current playhead position in timecode format (MM:SS.FF, where FF is the frame number). ### Jump to start button[​](https://www.remotion.dev/docs/editor-starter/features#jump-to-start-button "Direct link to Jump to start button") Feature flag: [`FEATURE_JUMP_TO_START_BUTTON`](https://github.com/search?q=repo%3Aremotion-dev%2Feditor-starter%20FEATURE_JUMP_TO_START_BUTTON&type=code) Shows a button to jump to the start of the video. Feature flag: [`FEATURE_JUMP_TO_END_BUTTON`](https://github.com/search?q=repo%3Aremotion-dev%2Feditor-starter%20FEATURE_JUMP_TO_END_BUTTON&type=code) Shows a button to jump to the end of the video. ### Fullscreen button[​](https://www.remotion.dev/docs/editor-starter/features#fullscreen-button "Direct link to Fullscreen button") Feature flag: [`FEATURE_FULLSCREEN_CONTROL`](https://github.com/search?q=repo%3Aremotion-dev%2Feditor-starter%20FEATURE_FULLSCREEN_CONTROL&type=code) Allows entering fullscreen mode for the video player (exiting with Esc). ### Mute button[​](https://www.remotion.dev/docs/editor-starter/features#mute-button "Direct link to Mute button") Feature flag: [`FEATURE_MUTE_BUTTON`](https://github.com/search?q=repo%3Aremotion-dev%2Feditor-starter%20FEATURE_MUTE_BUTTON&type=code) Global mute/unmute switcher for the entire timeline audio. ### Loop[​](https://www.remotion.dev/docs/editor-starter/features#loop "Direct link to Loop") Feature flag: [`FEATURE_LOOP_BUTTON`](https://github.com/search?q=repo%3Aremotion-dev%2Feditor-starter%20FEATURE_LOOP_BUTTON&type=code) Switcher button to enable or disable looping of the entire timeline. ### Zoom slider[​](https://www.remotion.dev/docs/editor-starter/features#zoom-slider "Direct link to Zoom slider") Feature flag: [`FEATURE_TIMELINE_ZOOM_SLIDER`](https://github.com/search?q=repo%3Aremotion-dev%2Feditor-starter%20FEATURE_TIMELINE_ZOOM_SLIDER&type=code) Displays a slider at the right-side, just above the timeline, allowing to zoom in and out of the timeline. ### Resize timeline[​](https://www.remotion.dev/docs/editor-starter/features#resize-timeline "Direct link to Resize timeline") Feature flag: [`FEATURE_RESIZE_TIMELINE_PANEL`](https://github.com/search?q=repo%3Aremotion-dev%2Feditor-starter%20FEATURE_RESIZE_TIMELINE_PANEL&type=code) Allows resizing the timeline panel by dragging the top edge of the panel. Canvas[​](https://www.remotion.dev/docs/editor-starter/features#canvas "Direct link to Canvas") ------------------------------------------------------------------------------------------------ ### Click to select[​](https://www.remotion.dev/docs/editor-starter/features#click-to-select "Direct link to Click to select") Clicking on items in the canvas selects them. Selected items show a blue outline and can be edited via the inspector. Clicking on empty space deselects all items. ### Move and resize[​](https://www.remotion.dev/docs/editor-starter/features#move-and-resize "Direct link to Move and resize") Selected items can be dragged to move their position on the canvas. Resize handles appear on selected items allowing for width and height adjustment by dragging the corners or edges. ### Shift axis lock[​](https://www.remotion.dev/docs/editor-starter/features#shift-axis-lock "Direct link to Shift axis lock") Feature flag: [`FEATURE_SHIFT_AXIS_LOCK`](https://github.com/search?q=repo%3Aremotion-dev%2Feditor-starter%20FEATURE_SHIFT_AXIS_LOCK&type=code) While holding Shift when dragging; constrains item movement to horizontal or vertical axis only, helping with precise positioning and alignment. ### Shift aspect ratio lock[​](https://www.remotion.dev/docs/editor-starter/features#shift-aspect-ratio-lock "Direct link to Shift aspect ratio lock") Feature flag: [`FEATURE_SHIFT_KEY_TO_OVERRIDE_ASPECT_RATIO_LOCK`](https://github.com/search?q=repo%3Aremotion-dev%2Feditor-starter%20FEATURE_SHIFT_KEY_TO_OVERRIDE_ASPECT_RATIO_LOCK&type=code) (_disabled by default_) While holding Shift when resizing video items; overrides the original aspect ratio, enabling distortion when scaling video items up or down. This feature is disabled by default. ### Multi-select / Marquee selection[​](https://www.remotion.dev/docs/editor-starter/features#multi-select--marquee-selection-1 "Direct link to Multi-select / Marquee selection") Feature flag: [`FEATURE_CANVAS_MARQUEE_SELECTION`](https://github.com/search?q=repo%3Aremotion-dev%2Feditor-starter%20FEATURE_CANVAS_MARQUEE_SELECTION&type=code) Multiple items can be selected using Cmd/Ctrl+click (alternatively Shift+click) to add items to the selection, or so called Marquee selection to create a selection rectangle that selects all items within its bounds. Selected items can be moved, deleted, or edited together. ### Dropping assets[​](https://www.remotion.dev/docs/editor-starter/features#dropping-assets-1 "Direct link to Dropping assets") Feature flag: [`FEATURE_DROP_ASSETS_ON_CANVAS`](https://github.com/search?q=repo%3Aremotion-dev%2Feditor-starter%20FEATURE_DROP_ASSETS_ON_CANVAS&type=code) Assets can be dropped directly onto the canvas from the file system. The item is automatically positioned to start at the current time and at the position in the canvas where it was dropped. ### Zoom controls[​](https://www.remotion.dev/docs/editor-starter/features#zoom-controls "Direct link to Zoom controls") Feature flag: [`FEATURE_CANVAS_ZOOM_CONTROLS`](https://github.com/search?q=repo%3Aremotion-dev%2Feditor-starter%20FEATURE_CANVAS_ZOOM_CONTROLS&type=code) Shows an interface at the top right of the editor to zoom in and out within the canvas. The zoom level on the canvas is displayed as a percentage and can be reset to fit the available space. ### Zoom gestures[​](https://www.remotion.dev/docs/editor-starter/features#zoom-gestures "Direct link to Zoom gestures") Feature flag: [`FEATURE_CANVAS_ZOOM_GESTURES`](https://github.com/search?q=repo%3Aremotion-dev%2Feditor-starter%20FEATURE_CANVAS_ZOOM_GESTURES&type=code) On desktop, holding Cmd/Ctrl while scrolling the mouse wheel zooms in and out of the canvas, with the mouse position as the zoom center. On touch devices, pinch gestures zoom into the canvas. ### Zoom keyboard shortcuts[​](https://www.remotion.dev/docs/editor-starter/features#zoom-keyboard-shortcuts "Direct link to Zoom keyboard shortcuts") Feature flag: [`FEATURE_CANVAS_ZOOM_KEYBOARD_SHORTCUTS`](https://github.com/search?q=repo%3Aremotion-dev%2Feditor-starter%20FEATURE_CANVAS_ZOOM_KEYBOARD_SHORTCUTS&type=code) You can press + and \- to zoom in and out. Press 0 to reset the zoom. ### Copy and paste[​](https://www.remotion.dev/docs/editor-starter/features#copy-and-paste "Direct link to Copy and paste") Feature flags: [`FEATURE_COPY_PASTE_LAYERS`](https://github.com/search?q=repo%3Aremotion-dev%2Feditor-starter%20FEATURE_COPY_PASTE_LAYERS&type=code) and [`FEATURE_PASTE_ASSETS`](https://github.com/search?q=repo%3Aremotion-dev%2Feditor-starter%20FEATURE_PASTE_ASSETS&type=code) Items can be copied with Cmd/Ctrl+C and pasted with Cmd/Ctrl+V. Pasted items are automatically positioned and can include text, images, and other assets from the clipboard. ### Bring to front / Send to back[​](https://www.remotion.dev/docs/editor-starter/features#bring-to-front--send-to-back "Direct link to Bring to front / Send to back") Feature flags: [`FEATURE_BRING_TO_FRONT`](https://github.com/search?q=repo%3Aremotion-dev%2Feditor-starter%20FEATURE_BRING_TO_FRONT&type=code) and [`FEATURE_SEND_TO_BACK`](https://github.com/search?q=repo%3Aremotion-dev%2Feditor-starter%20FEATURE_SEND_TO_BACK&type=code) Right-clicking on an item shows a menu with options to bring the item to front or send it to back. ### Canvas snapping[​](https://www.remotion.dev/docs/editor-starter/features#canvas-snapping "Direct link to Canvas snapping") Feature flag: [`FEATURE_CANVAS_SNAPPING`](https://github.com/search?q=repo%3Aremotion-dev%2Feditor-starter%20FEATURE_CANVAS_SNAPPING&type=code) Enables snapping on the canvas, allowing items to snap to the edges of the canvas or the center of the canvas, both horizontally and vertically, when dragged. This simplifies positioning and transitions. Activate snapping by clicking the magnet icon. Cropping[​](https://www.remotion.dev/docs/editor-starter/features#cropping "Direct link to Cropping") ------------------------------------------------------------------------------------------------------ Feature flag: [`FEATURE_CROPPING`](https://github.com/search?q=repo%3Aremotion-dev%2Feditor-starter%20FEATURE_CROPPING&type=code) Enables [cropping](https://www.remotion.dev/docs/editor-starter/cropping) functionality. ### Double-click to crop[​](https://www.remotion.dev/docs/editor-starter/features#double-click-to-crop "Direct link to Double-click to crop") Feature flag: [`FEATURE_DOUBLE_CLICK_TO_CROP`](https://github.com/search?q=repo%3Aremotion-dev%2Feditor-starter%20FEATURE_DOUBLE_CLICK_TO_CROP&type=code) By double-clicking an item that is croppable on the canvas, [Crop Mode](https://www.remotion.dev/docs/editor-starter/cropping#crop-mode) is activated, replacing resize handles with crop handles. ### Crop backgrounds[​](https://www.remotion.dev/docs/editor-starter/features#crop-backgrounds "Direct link to Crop backgrounds") Feature flag: [`FEATURE_CROP_BACKGROUNDS`](https://github.com/search?q=repo%3Aremotion-dev%2Feditor-starter%20FEATURE_CROP_BACKGROUNDS&type=code) When in [Crop Mode](https://www.remotion.dev/docs/editor-starter/cropping#crop-mode) , the full uncropped item is shown in the background with reduced opacity, to help the user visualize the cutout area. Behaviors[​](https://www.remotion.dev/docs/editor-starter/features#behaviors "Direct link to Behaviors") --------------------------------------------------------------------------------------------------------- ### Cut, copy, paste, duplicate items[​](https://www.remotion.dev/docs/editor-starter/features#cut-copy-paste-duplicate-items "Direct link to Cut, copy, paste, duplicate items") Feature flags: [`FEATURE_CUT_LAYERS`](https://github.com/search?q=repo%3Aremotion-dev%2Feditor-starter%20FEATURE_CUT_LAYERS&type=code) , [`FEATURE_COPY_LAYERS`](https://github.com/search?q=repo%3Aremotion-dev%2Feditor-starter%20FEATURE_COPY_LAYERS&type=code) , and [`FEATURE_DUPLICATE_LAYERS`](https://github.com/search?q=repo%3Aremotion-dev%2Feditor-starter%20FEATURE_DUPLICATE_LAYERS&type=code) Standard cut (Cmd/Ctrl+X), copy (Cmd/Ctrl+C), and paste (Cmd/Ctrl+V) operations work with items. Duplicate (Cmd/Ctrl+D) creates copies of selected items. ### Paste text[​](https://www.remotion.dev/docs/editor-starter/features#paste-text "Direct link to Paste text") Feature flag: [`FEATURE_PASTE_TEXT`](https://github.com/search?q=repo%3Aremotion-dev%2Feditor-starter%20FEATURE_PASTE_TEXT&type=code) When pasting and there is text in the clipboard, the text is pasted as a text item. ### Paste assets[​](https://www.remotion.dev/docs/editor-starter/features#paste-assets "Direct link to Paste assets") Feature flag: [`FEATURE_PASTE_ASSETS`](https://github.com/search?q=repo%3Aremotion-dev%2Feditor-starter%20FEATURE_PASTE_ASSETS&type=code) When pasting and there is an asset in the clipboard, the asset is pasted as a new item. Due to browser support, this may only work with images. ### Save and load[​](https://www.remotion.dev/docs/editor-starter/features#save-and-load "Direct link to Save and load") Feature flags: [`FEATURE_SAVE_BUTTON`](https://github.com/search?q=repo%3Aremotion-dev%2Feditor-starter%20FEATURE_SAVE_BUTTON&type=code) and [`FEATURE_SAVE_SHORTCUT`](https://github.com/search?q=repo%3Aremotion-dev%2Feditor-starter%20FEATURE_SAVE_SHORTCUT&type=code) A save can be triggered with Cmd/Ctrl+S. When a project is saved, it will be automatically loaded when returning to the editor. ### Load state from URL[​](https://www.remotion.dev/docs/editor-starter/features#load-state-from-url "Direct link to Load state from URL") Feature flag: [`FEATURE_LOAD_STATE_FROM_URL`](https://github.com/search?q=repo%3Aremotion-dev%2Feditor-starter%20FEATURE_LOAD_STATE_FROM_URL&type=code) Allows loading the initial state of the editor from a URL hash `#state=[value]`. The `[value]` must be a base64-encoded serialization of [`UndoableState`](https://www.remotion.dev/docs/editor-starter/state-management#undoable-state) . ### Asset uploads[​](https://www.remotion.dev/docs/editor-starter/features#asset-uploads "Direct link to Asset uploads") Assets are uploaded and processed when dropped into the editor. Upload progress is shown with indicators, and assets are stored for use across browser sessions. Multiple file formats are supported. ### Undo and redo[​](https://www.remotion.dev/docs/editor-starter/features#undo-and-redo "Direct link to Undo and redo") Feature flags: [`FEATURE_UNDO_SHORTCUT`](https://github.com/search?q=repo%3Aremotion-dev%2Feditor-starter%20FEATURE_UNDO_SHORTCUT&type=code) and [`FEATURE_REDO_SHORTCUT`](https://github.com/search?q=repo%3Aremotion-dev%2Feditor-starter%20FEATURE_REDO_SHORTCUT&type=code) Use Cmd/Ctrl+Z to undo and Cmd/Ctrl+Y or Cmd/Ctrl+Shift+Z to redo actions. ### Snapping toggle shortcut[​](https://www.remotion.dev/docs/editor-starter/features#snapping-toggle-shortcut "Direct link to Snapping toggle shortcut") Feature flag: [`FEATURE_SNAPPING_SHORTCUT`](https://github.com/search?q=repo%3Aremotion-dev%2Feditor-starter%20FEATURE_SNAPPING_SHORTCUT&type=code) Allows toggling timeline and canvas snapping on/off using the keyboard shortcut Shift+M. When this feature is enabled, you can temporarily (de)activate snapping using the shortcut. ### Asset caching[​](https://www.remotion.dev/docs/editor-starter/features#asset-caching "Direct link to Asset caching") Feature flag: [`FEATURE_CACHE_ASSETS_LOCALLY`](https://github.com/search?q=repo%3Aremotion-dev%2Feditor-starter%20FEATURE_CACHE_ASSETS_LOCALLY&type=code) [Assets are cached locally](https://www.remotion.dev/docs/editor-starter/persistance) in the browser using IndexedDB for faster loading and offline editing capabilities. Cached assets persist across browser sessions. ### Warn on leave when long-running tasks are in progress[​](https://www.remotion.dev/docs/editor-starter/features#warn-on-leave-when-long-running-tasks-are-in-progress "Direct link to Warn on leave when long-running tasks are in progress") Feature flag: [`FEATURE_WARN_ON_LONG_RUNNING_PROCESS_IN_PROGRESS`](https://github.com/search?q=repo%3Aremotion-dev%2Feditor-starter%20FEATURE_WARN_ON_LONG_RUNNING_PROCESS_IN_PROGRESS&type=code) Asks the user for confirmation when leaving the page while a render, asset upload or caption task is in progress. Captioning[​](https://www.remotion.dev/docs/editor-starter/features#captioning "Direct link to Captioning") ------------------------------------------------------------------------------------------------------------ ### Transcription[​](https://www.remotion.dev/docs/editor-starter/features#transcription "Direct link to Transcription") Feature flag: [`FEATURE_CAPTIONING`](https://github.com/search?q=repo%3Aremotion-dev%2Feditor-starter%20FEATURE_CAPTIONING&type=code) Enables UI for transcribing audio and video assets to captions. See: [Captioning](https://www.remotion.dev/docs/editor-starter/captioning) Rendering[​](https://www.remotion.dev/docs/editor-starter/features#rendering "Direct link to Rendering") --------------------------------------------------------------------------------------------------------- ### Render button[​](https://www.remotion.dev/docs/editor-starter/features#render-button "Direct link to Render button") Feature flag: [`FEATURE_RENDERING`](https://github.com/search?q=repo%3Aremotion-dev%2Feditor-starter%20FEATURE_RENDERING&type=code) Enables UI for [rendering](https://www.remotion.dev/docs/editor-starter/rendering) the current composition to a video file. Shows render progress and allows download of the final rendered video. ### Codec selector[​](https://www.remotion.dev/docs/editor-starter/features#codec-selector "Direct link to Codec selector") Feature flag: [`FEATURE_RENDERING_CODEC_SELECTOR`](https://github.com/search?q=repo%3Aremotion-dev%2Feditor-starter%20FEATURE_RENDERING_CODEC_SELECTOR&type=code) Allows selecting the codec (MP4 / WebM) for rendering. Media[​](https://www.remotion.dev/docs/editor-starter/features#media "Direct link to Media") --------------------------------------------------------------------------------------------- ### Enable new Media tags[​](https://www.remotion.dev/docs/editor-starter/features#enable-new-media-tags "Direct link to Enable new Media tags") Feature flag: [`FEATURE_NEW_MEDIA_TAGS`](https://github.com/search?q=repo%3Aremotion-dev%2Feditor-starter%20FEATURE_NEW_MEDIA_TAGS&type=code) Enables the new [`