diff --git a/src/config/swagger.ts b/src/config/swagger.ts index c13ed7a..11316d3 100644 --- a/src/config/swagger.ts +++ b/src/config/swagger.ts @@ -1,5 +1,7 @@ import swaggerJSDoc from 'swagger-jsdoc'; +const PORT = process.env.PORT || 4000; + const swaggerDefinition = { openapi: '3.0.0', info: { @@ -8,8 +10,8 @@ const swaggerDefinition = { description: 'Documentación Obelisco API', }, servers: [ - { - url: 'http://localhost:3000', // Cambiar en producción + { + url: `http://localhost:${PORT}`, // Cambiar en producción }, ], components: { @@ -82,6 +84,12 @@ const swaggerDefinition = { }, }, }, + Component: { + type: 'object', + properties: { + html: { type: 'string' }, + }, + }, }, }, }; diff --git a/src/controllers/component.ts b/src/controllers/component.ts new file mode 100644 index 0000000..b388a6f --- /dev/null +++ b/src/controllers/component.ts @@ -0,0 +1,68 @@ +import { fetchComponent } from '@services/component'; +import { componentDTO } from '@utils/dtos'; +import sendResponse from '@utils/sendResponse'; +import { Request, Response, RequestHandler } from 'express'; + +/** + * @openapi + * /api/componentes/{name}: + * get: + * summary: Obtener un componente + * tags: + * - Component + * parameters: + * - in: path + * name: name + * required: true + * description: Nombre del componente a obtener (por ejemplo, "header" o "footer"). + * schema: + * type: string + * - in: query + * name: encoded + * required: false + * description: Si es true, devuelve el base64 sin decodificar. + * schema: + * type: boolean + * - in: query + * name: html + * required: false + * description: Si es true, devuelve el base64 decodificado como HTML (text/html). + * schema: + * type: boolean + * responses: + * 200: + * description: Datos del componente obtenidos exitosamente + * content: + * application/json: + * schema: + * $ref: '#/components/schemas/Component' + * text/html: + * schema: + * type: string + * 500: + * description: Error del servidor al obtener el componente + */ +export const getComponent: RequestHandler = async (req: Request, res: Response) => { + try { + const { name } = req.params as { name: string }; + const { encoded, html } = req.query as { encoded?: string, html?: string }; + const response = await fetchComponent(name); + if (!response) { + sendResponse(res, 404, { + status: 'error', + message: `Componente "${name}" no encontrado`, + }); + return; + } + const encodedBool = String(encoded).toLowerCase() === 'true'; + const htmlBool = String(html).toLocaleLowerCase() === 'true'; + const responseDTO = componentDTO(response, encodedBool, htmlBool); + + sendResponse(res, 200, responseDTO, !htmlBool); + } catch (error) { + sendResponse(res, 500, { + status: 'error', + message: 'API Obelisco: Error al obtener componente.', + }); + } +}; \ No newline at end of file diff --git a/src/models/component.ts b/src/models/component.ts new file mode 100644 index 0000000..db31d69 --- /dev/null +++ b/src/models/component.ts @@ -0,0 +1,39 @@ +import sequelize from '@config/database'; +import { Component as ComponentType, UUID } from '@utils/types'; +import { DataTypes, Model, Optional } from 'sequelize'; + +// Phone model + +export class Component extends Model> implements ComponentType { + public id!: UUID; + public name!: string; + public code!: string; + + // timestamps! + public readonly createdAt!: Date; + public readonly updatedAt!: Date; + public readonly deletedAt!: Date; +} + +Component.init( + { + id: { + type: DataTypes.UUID, + primaryKey: true, + defaultValue: DataTypes.UUIDV4, + }, + name: { + type: DataTypes.STRING, + allowNull: false, + unique: true, + }, + code: { + type: DataTypes.TEXT, + allowNull: false, + unique: true, + }, + }, + { sequelize, modelName: 'Component', tableName: 'components', paranoid: true } +); + +export default Component; diff --git a/src/routes/component.ts b/src/routes/component.ts new file mode 100644 index 0000000..68d9ac2 --- /dev/null +++ b/src/routes/component.ts @@ -0,0 +1,8 @@ +import { getComponent } from '@controllers/component'; +import express from 'express'; + +const router = express.Router(); + +router.get('/:name', getComponent); + +export default router; diff --git a/src/routes/index.ts b/src/routes/index.ts index 250af51..c225e70 100644 --- a/src/routes/index.ts +++ b/src/routes/index.ts @@ -2,11 +2,13 @@ import { Router } from 'express'; import footerRoutes from './footer'; import headerRoutes from './header'; +import componentRoutes from './component'; import sendResponse from '@utils/sendResponse'; const router = Router(); router.use('/footer', footerRoutes); router.use('/header', headerRoutes); +router.use ('/componentes', componentRoutes); router.get('/', (req, res) => { sendResponse(res, 200, { message: 'API Obelisco' }); diff --git a/src/services/component.ts b/src/services/component.ts new file mode 100644 index 0000000..9473cc1 --- /dev/null +++ b/src/services/component.ts @@ -0,0 +1,11 @@ +import Component from '@models/component'; + +export const fetchComponent = async (name: string) => { + try { + const component = await Component.findOne({ where: { name } }); + return component; + } catch (error) { + throw new Error('Error al obtener el componente.'); + } +}; + diff --git a/src/utils/dtos.ts b/src/utils/dtos.ts index b2ef978..e9fd0f0 100644 --- a/src/utils/dtos.ts +++ b/src/utils/dtos.ts @@ -47,3 +47,14 @@ export const footerLegalesDTO = (footer: any) => { images: footer.images.map((i: any) => ImageDTO(i)), }; }; + +export const componentDTO = (component: any, encoded: boolean = false, html: boolean = false) => { + const content = (!encoded || html) + ? Buffer.from(component.code, 'base64').toString('utf-8') + : component.code; + + if (html) return content; + return { + html: content, + }; +}; diff --git a/src/utils/seed.ts b/src/utils/seed.ts index be736cb..c35127d 100644 --- a/src/utils/seed.ts +++ b/src/utils/seed.ts @@ -3,6 +3,7 @@ import { sequelize } from '@models/index'; import Link from '@models/link'; import Phone from '@models/phone'; import SocialMedia from '@models/socialMedia'; +import Component from '@models/component'; const seedDatabase = async () => { try { @@ -127,6 +128,177 @@ const seedDatabase = async () => { }, ]); + await Component.bulkCreate([ + { + name: 'header', + code: "PGRpdiBjbGFzcz0iaGVhZGVyLWJhbm5lciI+CiAgICA8aW1nCiAgICBjbGFzcz0iaGVhZGVyLWJhbm5lci1pbWciCiAgICBzcmM9Jy9PYmVsaXNjby1WMi9pbWFnZXMvaGVhZGVyL2xvZ29fQkFfYmFubmVyLnN2ZycKICAgIGFsdD0iR29iaWVybm8gZGUgbGEgQ2l1ZGFkIGRlIEJ1ZW5vcyBBaXJlcyAtIEluaWNpbyIKICAgIC8+CiAgICA8cCBjbGFzcz0idGV4dC1zbSI+R29iaWVybm8gZGUgbGEgQ2l1ZGFkIGRlIEJ1ZW5vcyBBaXJlczwvcD4KPC9kaXY+CnsvKiBoZWFkZXIgYmFubmVyICovfQo8aGVhZGVyIGNsYXNzPSJvLWhlYWRlciBvLWhlYWRlcl9iYW5uZXIgbmF2YmFyIiByb2xlPSJiYW5uZXIiPgogICAgPGEgaHJlZj0iI21haW4iIGNsYXNzPSJza2lwLXRvLW1haW4tY29udGVudC1saW5rIj4KICAgIFNhbHRhciBhbCBjb250ZW5pZG8gcHJpbmNpcGFsCiAgICA8L2E+CiAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIgaGVhZGVyLWNvbnRhaW5lciI+CiAgICA8YSBocmVmPSJodHRwczovL3d3dy5lc3RhZGlzdGljYWNpdWRhZC5nb2IuYXIvZXljLyIgY2xhc3M9Im5hdmJhci1icmFuZCI+CiAgICAgICAgPGltZwogICAgICAgIGNsYXNzPSJkLW5vbmUgZC14bC1ibG9jayIKICAgICAgICBzcmM9Jy9PYmVsaXNjby1WMi9pbWFnZXMvbG9nb19iYS5zdmcnCiAgICAgICAgYWx0PSJMT0dPIEJBIgogICAgICAgIC8+CiAgICAgICAgPGltZwogICAgICAgIGNsYXNzPSJkLXhsLW5vbmUiCiAgICAgICAgc3JjPScvT2JlbGlzY28tVjIvaW1hZ2VzL2xvZ29fYmFfbW9iaWxlLnN2ZycKICAgICAgICBhbHQ9IkxPR08gQkEiCiAgICAgICAgLz4KICAgIDwvYT4KICAgIDxkaXYgY2xhc3M9Im5hdmJhci1sb2dpbi1tb2JpbGUiPgogICAgICAgIDxhIGNsYXNzPSJidG4gYnRuLWxnIGJ0bi1pY29uIGJ0bi1vdXRsaW5lLXRlcnRpYXJ5Ij4KICAgICAgICA8c3BhbiBjbGFzcz0ibWF0ZXJpYWwtc3ltYm9scy1yb3VuZGVkIiBhcmlhLWhpZGRlbj0idHJ1ZSI+CiAgICAgICAgICAgIHBlcnNvbgogICAgICAgIDwvc3Bhbj4KICAgICAgICA8c3BhbiBjbGFzcz0iYnRuLXRleHQiPkluZ3Jlc2FyPC9zcGFuPgogICAgICAgIDwvYT4KICAgIDwvZGl2PgogICAgPGJ1dHRvbgogICAgICAgIGNsYXNzPSJuYXZiYXItdG9nZ2xlciIKICAgICAgICB0eXBlPSJidXR0b24iCiAgICAgICAgZGF0YS1icy10b2dnbGU9ImNvbGxhcHNlIgogICAgICAgIGRhdGEtYnMtdGFyZ2V0PSIjbmF2YmFyQ29udGVudDEiCiAgICAgICAgYXJpYS1jb250cm9scz0ibmF2YmFyQ29udGVudDEiCiAgICAgICAgYXJpYS1leHBhbmRlZD0iZmFsc2UiCiAgICAgICAgYXJpYS1sYWJlbD0iTWVuw7oiCiAgICA+PC9idXR0b24+CiAgICA8ZGl2IGNsYXNzPSJjb2xsYXBzZSBuYXZiYXItY29sbGFwc2UiIGlkPSJuYXZiYXJDb250ZW50MSI+CiAgICAgICAgPGRpdiBjbGFzcz0ibmF2YmFyLWNvbnRlbnQiPgogICAgICAgIDxkaXYgY2xhc3M9Im5hdmJhci1zZWN0aW9ucyI+CiAgICAgICAgICAgIDxuYXY+CiAgICAgICAgICAgIDxwIGNsYXNzPSJuYXZiYXItc2VjdGlvbnMtdGl0bGUiPlNlY2Npb25lczwvcD4KICAgICAgICAgICAgPHVsIGNsYXNzPSJuYXYgbmF2LXBpbGxzIG5hdi1zZWN0aW9ucyI+CiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImRyb3Bkb3duIj4KICAgICAgICAgICAgICAgIDxidXR0b24KICAgICAgICAgICAgICAgICAgICB0eXBlPSJidXR0b24iCiAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImJ0biBidG4tZHJvcGRvd24gYnRuLWxnIgogICAgICAgICAgICAgICAgICAgIGRhdGEtYnMtdG9nZ2xlPSJkcm9wZG93biIKICAgICAgICAgICAgICAgICAgICBhcmlhLWV4cGFuZGVkPSJmYWxzZSIKICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iYnRuLWRyb3Bkb3duLXRleHQgZWxsaXBzaXMtMSI+TmF2ZWdhY2nDs248L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1hdGVyaWFsLXN5bWJvbHMtcm91bmRlZCBidG4tZHJvcGRvd24taWNvbiIgYXJpYS1sYWJlbD0iaGlkZGVuIj4KICAgICAgICAgICAgICAgICAgICBleHBhbmRfbW9yZQogICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZHJvcGRvd24tbWVudSI+CiAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImRyb3Bkb3duLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpdGVtLXRleHQiPkVubGFjZSBkZSBuYXZlZ2FjacOzbjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImRyb3Bkb3duLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpdGVtLXRleHQiPkVubGFjZSBkZSBuYXZlZ2FjacOzbjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImRyb3Bkb3duLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpdGVtLXRleHQiPkVubGFjZSBkZSBuYXZlZ2FjacOzbjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImRyb3Bkb3duLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpdGVtLXRleHQiPkVubGFjZSBkZSBuYXZlZ2FjacOzbjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImRyb3Bkb3duLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpdGVtLXRleHQiPkVubGFjZSBkZSBuYXZlZ2FjacOzbjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImRyb3Bkb3duLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpdGVtLXRleHQiPkVubGFjZSBkZSBuYXZlZ2FjacOzbjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImRyb3Bkb3duLWl0ZW0gaXRlbS1saW5rIj4KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaXRlbS10ZXh0Ij5WZXIgbcOhczwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWF0ZXJpYWwtc3ltYm9scy1yb3VuZGVkIiBhcmlhLWhpZGRlbj0idHJ1ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIGFycm93X2ZvcndhcmQKICAgICAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJuYXYtaXRlbSI+CiAgICAgICAgICAgICAgICA8YSBjbGFzcz0ibmF2LWxpbmsgbmF2LWxpbmstbGciPgogICAgICAgICAgICAgICAgICAgIDxzcGFuPk5hdmVnYWNpw7NuPC9zcGFuPgogICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZHJvcGRvd24iPgogICAgICAgICAgICAgICAgPGJ1dHRvbgogICAgICAgICAgICAgICAgICAgIHR5cGU9ImJ1dHRvbiIKICAgICAgICAgICAgICAgICAgICBjbGFzcz0iYnRuIGJ0bi1kcm9wZG93biBidG4tbGciCiAgICAgICAgICAgICAgICAgICAgZGF0YS1icy10b2dnbGU9ImRyb3Bkb3duIgogICAgICAgICAgICAgICAgICAgIGFyaWEtZXhwYW5kZWQ9ImZhbHNlIgogICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJidG4tZHJvcGRvd24tdGV4dCBlbGxpcHNpcy0xIj5OYXZlZ2FjacOzbjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWF0ZXJpYWwtc3ltYm9scy1yb3VuZGVkIGJ0bi1kcm9wZG93bi1pY29uIiBhcmlhLWxhYmVsPSJoaWRkZW4iPgogICAgICAgICAgICAgICAgICAgIGV4cGFuZF9tb3JlCiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkcm9wZG93bi1tZW51Ij4KICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0iZHJvcGRvd24taXRlbSI+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Iml0ZW0tdGV4dCI+RW5sYWNlIGRlIG5hdmVnYWNpw7NuPC9zcGFuPgogICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0iZHJvcGRvd24taXRlbSI+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Iml0ZW0tdGV4dCI+RW5sYWNlIGRlIG5hdmVnYWNpw7NuPC9zcGFuPgogICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0iZHJvcGRvd24taXRlbSI+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Iml0ZW0tdGV4dCI+RW5sYWNlIGRlIG5hdmVnYWNpw7NuPC9zcGFuPgogICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0iZHJvcGRvd24taXRlbSI+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Iml0ZW0tdGV4dCI+RW5sYWNlIGRlIG5hdmVnYWNpw7NuPC9zcGFuPgogICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0iZHJvcGRvd24taXRlbSI+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Iml0ZW0tdGV4dCI+RW5sYWNlIGRlIG5hdmVnYWNpw7NuPC9zcGFuPgogICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0iZHJvcGRvd24taXRlbSI+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Iml0ZW0tdGV4dCI+RW5sYWNlIGRlIG5hdmVnYWNpw7NuPC9zcGFuPgogICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0iZHJvcGRvd24taXRlbSBpdGVtLWxpbmsiPgogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpdGVtLXRleHQiPlZlciBtw6FzPC9zcGFuPgogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtYXRlcmlhbC1zeW1ib2xzLXJvdW5kZWQiIGFyaWEtaGlkZGVuPSJ0cnVlIj4KICAgICAgICAgICAgICAgICAgICAgICAgYXJyb3dfZm9yd2FyZAogICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgIDwvbmF2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9Im5hdmJhci1zZWFyY2giPgogICAgICAgICAgICA8Zm9ybSBjbGFzcz0iZm9ybS1zZWFyY2giPgogICAgICAgICAgICA8bGFiZWwgZm9yPSJoZWFkZXItc2VhcmNoIiBjbGFzcz0iZm9ybS1sYWJlbCBzci1vbmx5Ij4KICAgICAgICAgICAgICAgIEJ1c2NhZG9yCiAgICAgICAgICAgIDwvbGFiZWw+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlYXJjaC1jb250YWluZXIiPgogICAgICAgICAgICAgICAgPGlucHV0CiAgICAgICAgICAgICAgICB0eXBlPSJzZWFyY2giCiAgICAgICAgICAgICAgICBjbGFzcz0iZm9ybS1jb250cm9sIGlucHV0LXNlYXJjaCBpbnB1dC1zZWFyY2gtd2l0aC1idXR0b24iCiAgICAgICAgICAgICAgICBpZD0iaGVhZGVyLXNlYXJjaCIKICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSJCdXNjYWRvciIKICAgICAgICAgICAgICAgIC8+CiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJyZXNldCIgdHlwZT0icmVzZXQiIGFyaWEtbGFiZWw9IkJvcnJhciI+PC9idXR0b24+CiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJidXR0b24tc2VhcmNoIiB0eXBlPSJzdWJtaXQiIGFyaWEtbGFiZWw9IkJ1c2NhciI+PC9idXR0b24+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Zvcm0+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ibmF2YmFyLWxvZ2luIj4KICAgICAgICAgICAgPGEgY2xhc3M9ImJ0biBidG4tbGcgYnRuLW91dGxpbmUtdGVydGlhcnkiPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWF0ZXJpYWwtc3ltYm9scy1yb3VuZGVkIiBhcmlhLWhpZGRlbj0idHJ1ZSI+CiAgICAgICAgICAgICAgICBwZXJzb24KICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iYnRuLXRleHQiPkluZ3Jlc2FyPC9zcGFuPgogICAgICAgICAgICA8L2E+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0iaGVhZGVyLWJhY2tkcm9wIj48L2Rpdj4KPC9oZWFkZXI+", + }, + { + name: 'footer', + code: "PGgyIGNsYXNzPSJzci1vbmx5Ij5OYXZlZ2FjacOzbiBkZSBwaWUgZGUgcMOhZ2luYTwvaDI+Cjxmb290ZXIgY2xhc3M9Im1haW4tZm9vdGVyIj4KICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgPHNlY3Rpb24+CiAgICAgIDxoMz5UZWzDqWZvbm9zIMO6dGlsZXM8L2gzPgogICAgICA8dWwgY2xhc3M9Imxpc3QtaW5saW5lIj4KICAgICAgICA8bGkgY2xhc3M9Imxpc3QtaW5saW5lLWl0ZW0gcGhvbmUtaXRlbXMiPgogICAgICAgICAgPGEgaHJlZj0idGVsOjEwMiI+MTAyIC0gTmnDsWV6IHkgQWRvbGVzY2VuY2lhPC9hPgogICAgICAgIDwvbGk+CiAgICAgICAgPGxpIGNsYXNzPSJsaXN0LWlubGluZS1pdGVtIHBob25lLWl0ZW1zIj4KICAgICAgICAgIDxhIGhyZWY9InRlbDoxMDMiPjEwMyAtIEVtZXJnZW5jaWFzPC9hPgogICAgICAgIDwvbGk+CiAgICAgICAgPGxpIGNsYXNzPSJsaXN0LWlubGluZS1pdGVtIHBob25lLWl0ZW1zIj4KICAgICAgICAgIDxhIGhyZWY9InRlbDoxMDciPjEwNyAtIFNBTUU8L2E+CiAgICAgICAgPC9saT4KICAgICAgICA8bGkgY2xhc3M9Imxpc3QtaW5saW5lLWl0ZW0gcGhvbmUtaXRlbXMiPgogICAgICAgICAgPGEgaHJlZj0idGVsOjkxMSI+OTExIC0gUG9saWPDrWE8L2E+CiAgICAgICAgPC9saT4KICAgICAgICA8bGkgY2xhc3M9Imxpc3QtaW5saW5lLWl0ZW0gcGhvbmUtaXRlbXMiPgogICAgICAgICAgPGEgaHJlZj0idGVsOjE0NCI+MTQ0IC0gVmlvbGVuY2lhIGRlIGfDqW5lcm88L2E+CiAgICAgICAgPC9saT4KICAgICAgICA8bGkgY2xhc3M9Imxpc3QtaW5saW5lLWl0ZW0gcGhvbmUtaXRlbXMiPgogICAgICAgICAgPGEgaHJlZj0idGVsOjE0NyI+MTQ3IC0gQXRlbmNpw7NuIGNpdWRhZGFuYTwvYT4KICAgICAgICA8L2xpPgogICAgICA8L3VsPgogICAgICA8YSBocmVmPSJodHRwczovL2J1ZW5vc2FpcmVzLmdvYi5hci9pbmljaW8vdGVsZWZvbm9zIj4KICAgICAgICBWZXIgdG9kb3MgbG9zIHRlbMOpZm9ub3MKICAgICAgPC9hPgogICAgPC9zZWN0aW9uPgogICAgPHNlY3Rpb24+CiAgICAgIDxoMz5SZWRlcyBkZSBsYSBjaXVkYWQ8L2gzPgogICAgICA8dWwgY2xhc3M9Imxpc3QtaW5saW5lIj4KICAgICAgICA8bGkgY2xhc3M9Imxpc3QtaW5saW5lLWl0ZW0gcmVkZXMtaXRlbXMiPgogICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cuZmFjZWJvb2suY29tL0dDQkEiPgogICAgICAgICAgICA8aSBjbGFzcz0iby1pY29uIGJ4IGJ4bC1mYWNlYm9vay1jaXJjbGUiPjwvaT4KICAgICAgICAgICAgRmFjZWJvb2sKICAgICAgICAgIDwvYT4KICAgICAgICA8L2xpPgogICAgICAgIDxsaSBjbGFzcz0ibGlzdC1pbmxpbmUtaXRlbSByZWRlcy1pdGVtcyI+CiAgICAgICAgICA8YSBocmVmPSJodHRwczovL3d3dy5pbnN0YWdyYW0uY29tL2djYmEvIj4KICAgICAgICAgICAgPGkgY2xhc3M9Im8taWNvbiBieCBieGwtaW5zdGFncmFtLWFsdCI+PC9pPgogICAgICAgICAgICBJbnN0YWdyYW0KICAgICAgICAgIDwvYT4KICAgICAgICA8L2xpPgogICAgICAgIDxsaSBjbGFzcz0ibGlzdC1pbmxpbmUtaXRlbSByZWRlcy1pdGVtcyBzb2NpYWwteCI+CiAgICAgICAgICA8YSBocmVmPSJodHRwczovL3guY29tL2djYmEiPlg8L2E+CiAgICAgICAgPC9saT4KICAgICAgICA8bGkgY2xhc3M9Imxpc3QtaW5saW5lLWl0ZW0gcmVkZXMtaXRlbXMiPgogICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vdXNlci9HQ0JBIj4KICAgICAgICAgICAgPGkgY2xhc3M9Im8taWNvbiBieCBieGwteW91dHViZSI+PC9pPgogICAgICAgICAgICBZb3VUdWJlCiAgICAgICAgICA8L2E+CiAgICAgICAgPC9saT4KICAgICAgICA8bGkgY2xhc3M9Imxpc3QtaW5saW5lLWl0ZW0gcmVkZXMtaXRlbXMiPgogICAgICAgICAgPGEKICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9hci5saW5rZWRpbi5jb20vY29tcGFueS9nb2JpZXJuby1kZS1sYS1jaXVkYWQtZGUtYnVlbm9zLWFpcmVzIgogICAgICAgICAgPgogICAgICAgICAgICA8aSBjbGFzcz0iby1pY29uIGJ4IGJ4bC1saW5rZWRpbi1zcXVhcmUiPjwvaT4KICAgICAgICAgICAgTGlua2VkSW4KICAgICAgICAgIDwvYT4KICAgICAgICA8L2xpPgogICAgICAgIDxsaSBjbGFzcz0ibGlzdC1pbmxpbmUtaXRlbSByZWRlcy1pdGVtcyI+CiAgICAgICAgICA8YSBocmVmPSJodHRwczovL3d3dy50aWt0b2suY29tL0BidWVub3NhaXJlcyI+CiAgICAgICAgICAgIDxpIGNsYXNzPSJvLWljb24gYnggYnhsLXRpa3RvayI+PC9pPgogICAgICAgICAgICBUaWtUb2sKICAgICAgICAgIDwvYT4KICAgICAgICA8L2xpPgogICAgICAgIDxsaSBjbGFzcz0ibGlzdC1pbmxpbmUtaXRlbSByZWRlcy1pdGVtcyI+CiAgICAgICAgICA8YSBocmVmPSJodHRwczovL3d3dy5waW50ZXJlc3QuZXMvYnVlbm9zYWlyZXMvIj4KICAgICAgICAgICAgPGkgY2xhc3M9Im8taWNvbiBieCBieGwtcGludGVyZXN0Ij48L2k+CiAgICAgICAgICAgIFBpbnRlcmVzdAogICAgICAgICAgPC9hPgogICAgICAgIDwvbGk+CiAgICAgIDwvdWw+CiAgICA8L3NlY3Rpb24+CiAgPC9kaXY+CiAgPGhyIGNsYXNzPSJkaXZpZGVyIiAvPgogIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICA8c2VjdGlvbiBjbGFzcz0iZm9vdGVyLWxlZ2FsLXNlY3Rpb24iPgogICAgICA8aDMgY2xhc3M9InNyLW9ubHkiPkluZm9ybWFjacOzbiBndWJlcm5hbWVudGFsPC9oMz4KICAgICAgPGRpdiBjbGFzcz0icm93IGFsaWduLWl0ZW1zLWNlbnRlciI+CiAgICAgICAgPGRpdiBjbGFzcz0iY29sLTEyIGNvbC1tZC01IGNvbC14bC00IGZvb3Rlci1jb250ZW50LWltZyI+CiAgICAgICAgICA8aW1nCiAgICAgICAgICAgIGNsYXNzPSJkLW1kLW5vbmUiCiAgICAgICAgICAgIHNyYz0iZm9vdGVyL2xvZ28tZm9vdGVyLW1vYmlsZS5zdmciCiAgICAgICAgICAgIGFsdD0iTG9nbyBkZSBDaXVkYWQgZGUgQnVlbm9zIEFpcmVzIgogICAgICAgICAgICBoZWlnaHQ9IjQ4IgogICAgICAgICAgLz4KICAgICAgICAgIDxpbWcKICAgICAgICAgICAgY2xhc3M9ImQtbm9uZSBkLW1kLWlubGluZSIKICAgICAgICAgICAgc3JjPSJmb290ZXIvbG9nby1mb290ZXIuc3ZnIgogICAgICAgICAgICBhbHQ9IkxvZ28gZGUgQ2l1ZGFkIGRlIEJ1ZW5vcyBBaXJlcyIKICAgICAgICAgICAgaGVpZ2h0PSI0MCIKICAgICAgICAgIC8+CiAgICAgICAgICA8aW1nCiAgICAgICAgICAgIGNsYXNzPSJpbWctdmFtb3MtYmEiCiAgICAgICAgICAgIHNyYz0iZm9vdGVyL2xvZ28tZm9vdGVyLWJhLnN2ZyIKICAgICAgICAgICAgYWx0PSJMb2dvIGRlIFZhbW9zIEJ1ZW5vcyBBaXJlcyIKICAgICAgICAgIC8+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iY29sLTEyIj4KICAgICAgICAgIDx1bCBjbGFzcz0ibGlzdC1pbmxpbmUiPgogICAgICAgICAgICA8bGkgY2xhc3M9Imxpc3QtaW5saW5lLWl0ZW0iPgogICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vYm9sZXRpbm9maWNpYWwuYnVlbm9zYWlyZXMuZ29iLmFyIj4KICAgICAgICAgICAgICAgIEJvbGV0w61uIG9maWNpYWwKICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgIDxsaSBjbGFzcz0ibGlzdC1pbmxpbmUtaXRlbSI+CiAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vYnVlbm9zYWlyZXMuZ29iLmFyL2luaWNpby90ZXJtaW5vcy15LWNvbmRpY2lvbmVzIgogICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgIFTDqXJtaW5vcyB5IGNvbmRpY2lvbmVzCiAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2xpPgogICAgICAgICAgICA8bGkgY2xhc3M9Imxpc3QtaW5saW5lLWl0ZW0iPgogICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vYnVlbm9zYWlyZXMuZ29iLmFyL2luaWNpby9wcml2YWNpZGFkIj4KICAgICAgICAgICAgICAgIFBvbMOtdGljYSBkZSBwcml2YWNpZGFkCiAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2xpPgogICAgICAgICAgICA8bGkgY2xhc3M9Imxpc3QtaW5saW5lLWl0ZW0iPgogICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL2J1ZW5vc2FpcmVzLmdvYi5hci9qZWZlZGVnb2JpZXJuby9sZWdhbHl0ZWNuaWNhL25vcm1hdGl2YS9ib2xldGluLW9maWNpYWwteS1yZWdpc3Ryby9vZmljaW9zLWp1ZGljaWFsZXMiCiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgT2ZpY2lvcyBqdWRpY2lhbGVzCiAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2xpPgogICAgICAgICAgICA8bGkgY2xhc3M9Imxpc3QtaW5saW5lLWl0ZW0iPgogICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vd3d3LmJ1ZW5vc2FpcmVzLmdvYi5hci9nb2JpZXJuby90cmFuc3BhcmVuY2lhIj4KICAgICAgICAgICAgICAgIFRyYW5zcGFyZW5jaWEKICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICA8L3VsPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvc2VjdGlvbj4KICAgIDxzZWN0aW9uPgogICAgICA8ZGl2IGNsYXNzPSJmb290ZXItbGljZW5zZS10ZXh0Ij4KICAgICAgICBMb3MgY29udGVuaWRvcyBkZSBidWVub3NhaXJlcy5nb2IuYXIgZXN0w6FuIGxpY2VuY2lhZG9zIGJham8gQ3JlYXRpdmUKICAgICAgICBDb21tb25zIFJlY29ub2NpbWllbnRvIDIuNSBBcmdlbnRpbmEgTGljZW5zZS4KICAgICAgPC9kaXY+CiAgICA8L3NlY3Rpb24+CiAgPC9kaXY+CjwvZm9vdGVyPg==", + }, + { + name: 'access', + code: 'CiAgPGEgaHJlZj0iIyIgY2xhc3M9Imxpc3QtZ3JvdXAtaXRlbSBpdGVtLXNtIj4KICAgIDxkaXYgY2xhc3M9ImFjY2Vzcy1jb250ZW50Ij4KICAgICAgPHNwYW4gY2xhc3M9ImFjY2Vzcy10aXRsZSI+QWNjZXNvPC9zcGFuPgogICAgPC9kaXY+CiAgPC9hPg==', + }, + { + name: 'alert', + code: 'PGRpdiBjbGFzcz0iYWxlcnQgYWxlcnQtaW5mbyIgcm9sZT0iYWxlcnQiPgogICAgRXN0YSBlcyBsYSBkZXNjcmlwY2nDs24gZGUgdW5hIGFsZXJ0YSBkZSBpbmZvcm1hY2nDs24uCiAgPC9kaXY+', + }, + { + name: 'banner', + code: 'PGRpdiBjbGFzcz0iYmFubmVyIj4KICAgIDxkaXYgY2xhc3M9ImJhbm5lci1jb250ZW50Ij4KICAgICAgPHAgY2xhc3M9ImJhbm5lci10ZXh0Ij4KICAgICAgICBFc3RhIGRlc2NyaXBjacOzbiBkZSBiYW5uZXIKICAgICAgICA8c3Ryb25nPnB1ZWRlIHRlbmVyIMOpbmZhc2lzPC9zdHJvbmc+CiAgICAgICAgeQogICAgICAgIDxhIGhyZWY9IiMiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIG5vcmVmZXJyZXIiPmVubGFjZTwvYT4KICAgICAgICAuCiAgICAgIDwvcD4KICAgIDwvZGl2PgogIDwvZGl2Pg==', + }, + { + name: 'scrollbar', + code: 'CjxkaXYgY2xhc3M9InJlc3BvbnNpdmUtc2Nyb2xsIiB0YWJpbmRleD0iMCI+CiAgPGRpdiBjbGFzcz0iaG9yaXpvbnRhbC1leGFtcGxlIj4KICAgIDxoMT5Fc3RvIGVzIHVuIHTDrXR1bG8gZGUgZWplbXBsbzwvaDE+CiAgICA8cCBjbGFzcz0ibGVhZCI+CiAgICAgIEVzdG8gZXMgdW4gcMOhcnJhZm8gZGUgZWplbXBsbyBwYXJhIHByb2JhciBlbCBmdW5jaW9uYW1pZW50byBkZSBsYSBiYXJyYSBkZSBkZXNwbGF6YW1pZW50by4gTm8gdGllbmUgbmluZ8O6biBmaW4gZXNwZWPDrWZpY28sIHNvbG8gc2lydmUgZGUgbXVlc3RyYS4gRWwgYW5jaG8gZGVsIHRleHRvIGVzIHBhcmEgcHJvYmFyIGVsIGRlc3BsYXphbWllbnRvIGhvcml6b250YWwsIG1pZW50cmFzIHF1ZSBsYSBsaXN0YSBkZSBjdWVycG9zIGRlIGNvbnRlbmlkbyBjb25zZWN1dGl2b3MgZXMgcGFyYSBwcm9iYXIgZWwgZGVzcGxhemFtaWVudG8gdmVydGljYWwuCiAgICA8L3A+CiAgICA8YnIgLz4KICAgIDxociAvPgogICAgPGJyIC8+CiAgICA8aDI+RXN0byBlcyB1biB0w610dWxvIGRlIGVqZW1wbG88L2gyPgogICAgPHA+CiAgICAgIEVzdG8gZXMgdW4gcMOhcnJhZm8gZGUgZWplbXBsbyBwYXJhIHByb2JhciBlbCBmdW5jaW9uYW1pZW50byBkZSBsYSBiYXJyYSBkZSBkZXNwbGF6YW1pZW50by4gTm8gdGllbmUgbmluZ8O6biBmaW4gZXNwZWPDrWZpY28sIHNvbG8gc2lydmUgZGUgbXVlc3RyYS4gRWwgYW5jaG8gZGVsIHRleHRvIGVzIHBhcmEgcHJvYmFyIGVsIGRlc3BsYXphbWllbnRvIGhvcml6b250YWwsIG1pZW50cmFzIHF1ZSBsYSBsaXN0YSBkZSBjdWVycG9zIGRlIGNvbnRlbmlkbyBjb25zZWN1dGl2b3MgZXMgcGFyYSBwcm9iYXIgZWwgZGVzcGxhemFtaWVudG8gdmVydGljYWwuCiAgICA8L3A+CiAgPC9kaXY+CjwvZGl2Pg==', + }, + { + name: 'progressbar', + code: 'PGRpdiBjbGFzcz0icHJvZ3Jlc3MiPgogICAgICAgIDxkaXYKICAgICAgICAgICAgY2xhc3M9InByb2dyZXNzLWJhciBiZy1wcmltYXJ5IgogICAgICAgICAgICByb2xlPSJwcm9ncmVzc2JhciIKICAgICAgICAgICAgYXJpYS12YWx1ZW5vdz17MjV9CiAgICAgICAgICAgIGFyaWEtdmFsdWVtaW49ezB9CiAgICAgICAgICAgIGFyaWEtdmFsdWVtYXg9ezEwMH0KICAgICAgICAgICAgc3R5bGU9e3sgd2lkdGg6ICcyNSUnIH19CiAgICAgICAgPjwvZGl2PgogICAgPC9kaXY+', + }, + { + name: 'process-block', + code: 'CjxkaXYgY2xhc3M9ImJsb2NrIHBvc2l0aW9uLXN0aWNreSIgc3R5bGU9InRvcDogNDhweDsiPgogIDxkaXYgY2xhc3M9ImJsb2NrLWJvZHkiPgogICAgPGgyIGNsYXNzPSJibG9jay10aXRsZSI+SW5pY2nDoSBlbCB0csOhbWl0ZSB5IGNvbXBsZXTDoSB0b2RvcyBsb3MgcGFzb3M8L2gyPgogICAgPGEKICAgICAgaHJlZj0iIyIKICAgICAgdGFyZ2V0PSJfYmxhbmsiCiAgICAgIHJlbD0ibm9vcGVuZXIgbm9yZWZlcnJlciIKICAgICAgY2xhc3M9ImJ0biBidG4tbGcgYnRuLXByaW1hcnkgYnRuLWJsb2NrIgogICAgPgogICAgICBJbmljaWFyIHRyw6FtaXRlCiAgICA8L2E+CiAgPC9kaXY+CjwvZGl2Pgo=', + }, + { + name: 'button', + code: 'PGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJidG4gYnRuLXByaW1hcnkiPlByaW1hcmlvPC9idXR0b24+Cg==', + }, + { + name: 'accordion', + code: 'CjxkaXYgY2xhc3M9ImFjY29yZGlvbiIgaWQ9ImFjY29yZGlvblVuaXF1ZVNlbGVjdGlvbiI+CiAgICA8ZGl2IGNsYXNzPSJhY2NvcmRpb24taXRlbSI+CiAgICAgICAgPGJ1dHRvbgogICAgICAgICAgICBjbGFzcz0iYWNjb3JkaW9uLWJ1dHRvbiBjb2xsYXBzZWQiCiAgICAgICAgICAgIHR5cGU9ImJ1dHRvbiIgCiAgICAgICAgICAgIGRhdGEtYnMtdG9nZ2xlPSJjb2xsYXBzZSIKICAgICAgICAgICAgZGF0YS1icy10YXJnZXQ9IiNjb2xsYXBzZU9uZVVuaXF1ZVNlbGVjdGlvbiIKICAgICAgICAgICAgYXJpYS1leHBhbmRlZD0iZmFsc2UiIAogICAgICAgICAgICBhcmlhLWNvbnRyb2xzPSJjb2xsYXBzZU9uZVVuaXF1ZVNlbGVjdGlvbiIKICAgICAgICA+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjb2xsYXBzZS1sYWJlbCI+U2VsZWNjacOzbiDDum5pY2E8L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjb2xsYXBzZS10aXRsZSI+SXRlbSBjb2xhcHNhYmxlICMxPC9zcGFuPgogICAgICAgIDwvYnV0dG9uPgogICAgICAgIDxkaXYgaWQ9ImNvbGxhcHNlT25lVW5pcXVlU2VsZWN0aW9uIiBjbGFzcz0iYWNjb3JkaW9uLWNvbGxhcHNlIGNvbGxhcHNlIiBkYXRhLWJzLXBhcmVudD0iI2FjY29yZGlvblVuaXF1ZVNlbGVjdGlvbiI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFjY29yZGlvbi1ib2R5Ij4KICAgICAgICAgICAgICA8cD5Fc3RhIGVzIGxhIGRlc2NyaXBjacOzbiBxdWUgc2UgZW5jdWVudHJhIGRlbnRybyBkZSB1biBjb2xhcHNhYmxlLiBEZWJlIHNlciBicmV2ZSB5IGNvbmNpc2EuPC9wPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0iYWNjb3JkaW9uLWl0ZW0iPgogICAgICAgIDxidXR0b24KICAgICAgICAgICAgY2xhc3M9ImFjY29yZGlvbi1idXR0b24gY29sbGFwc2VkIgogICAgICAgICAgICB0eXBlPSJidXR0b24iIAogICAgICAgICAgICBkYXRhLWJzLXRvZ2dsZT0iY29sbGFwc2UiCiAgICAgICAgICAgIGRhdGEtYnMtdGFyZ2V0PSIjY29sbGFwc2VUd29VbmlxdWVTZWxlY3Rpb24iCiAgICAgICAgICAgIGFyaWEtZXhwYW5kZWQ9ImZhbHNlIiAKICAgICAgICAgICAgYXJpYS1jb250cm9scz0iY29sbGFwc2VUd29VbmlxdWVTZWxlY3Rpb24iCiAgICAgICAgPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iY29sbGFwc2UtbGFiZWwiPlNlbGVjY2nDs24gw7puaWNhPC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iY29sbGFwc2UtdGl0bGUiPkl0ZW0gY29sYXBzYWJsZSAjMjwvc3Bhbj4KICAgICAgICA8L2J1dHRvbj4KICAgICAgICA8ZGl2IGlkPSJjb2xsYXBzZVR3b1VuaXF1ZVNlbGVjdGlvbiIgY2xhc3M9ImFjY29yZGlvbi1jb2xsYXBzZSBjb2xsYXBzZSIgZGF0YS1icy1wYXJlbnQ9IiNhY2NvcmRpb25VbmlxdWVTZWxlY3Rpb24iPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJhY2NvcmRpb24tYm9keSI+CiAgICAgICAgICAgICAgPHA+RXN0YSBlcyBsYSBkZXNjcmlwY2nDs24gcXVlIHNlIGVuY3VlbnRyYSBkZW50cm8gZGUgdW4gY29sYXBzYWJsZS4gRGViZSBzZXIgYnJldmUgeSBjb25jaXNhLjwvcD4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9ImFjY29yZGlvbi1pdGVtIj4KICAgICAgICA8YnV0dG9uCiAgICAgICAgICAgIGNsYXNzPSJhY2NvcmRpb24tYnV0dG9uIGNvbGxhcHNlZCIKICAgICAgICAgICAgdHlwZT0iYnV0dG9uIiAKICAgICAgICAgICAgZGF0YS1icy10b2dnbGU9ImNvbGxhcHNlIgogICAgICAgICAgICBkYXRhLWJzLXRhcmdldD0iI2NvbGxhcHNlVGhyZWVVbmlxdWVTZWxlY3Rpb24iCiAgICAgICAgICAgIGFyaWEtZXhwYW5kZWQ9ImZhbHNlIiAKICAgICAgICAgICAgYXJpYS1jb250cm9scz0iY29sbGFwc2VUaHJlZVVuaXF1ZVNlbGVjdGlvbiIKICAgICAgICA+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjb2xsYXBzZS1sYWJlbCI+U2VsZWNjacOzbiDDum5pY2E8L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjb2xsYXBzZS10aXRsZSI+SXRlbSBjb2xhcHNhYmxlICMzPC9zcGFuPgogICAgICAgIDwvYnV0dG9uPgogICAgICAgIDxkaXYgaWQ9ImNvbGxhcHNlVGhyZWVVbmlxdWVTZWxlY3Rpb24iIGNsYXNzPSJhY2NvcmRpb24tY29sbGFwc2UgY29sbGFwc2UiIGRhdGEtYnMtcGFyZW50PSIjYWNjb3JkaW9uVW5pcXVlU2VsZWN0aW9uIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWNjb3JkaW9uLWJvZHkiPgogICAgICAgICAgICAgIDxwPkVzdGEgZXMgbGEgZGVzY3JpcGNpw7NuIHF1ZSBzZSBlbmN1ZW50cmEgZGVudHJvIGRlIHVuIGNvbGFwc2FibGUuIERlYmUgc2VyIGJyZXZlIHkgY29uY2lzYS48L3A+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+CjwvZGl2Pgo=', + }, + { + name: 'dropdown-navigation', + code: 'CiAgPGRpdiBjbGFzcz0iZHJvcGRvd24iPgogICAgPGJ1dHRvbgogICAgICB0eXBlPSJidXR0b24iCiAgICAgIGNsYXNzPSJidG4gYnRuLWRyb3Bkb3duIGJ0bi1kcm9wZG93bi1ib3JkZXIgYnRuLWxnIgogICAgICBkYXRhLWJzLXRvZ2dsZT0iZHJvcGRvd24iCiAgICAgIGFyaWEtZXhwYW5kZWQ9ImZhbHNlIgogICAgPgogICAgICA8c3BhbiBjbGFzcz0iYnRuLWRyb3Bkb3duLXRleHQgZWxsaXBzaXMtMSI+RGVzcGxlZ2FibGU8L3NwYW4+CiAgICAgIDxzcGFuCiAgICAgICAgY2xhc3M9Im1hdGVyaWFsLXN5bWJvbHMtcm91bmRlZCBidG4tZHJvcGRvd24taWNvbiIKICAgICAgICBhcmlhLWxhYmVsPSJoaWRkZW4iCiAgICAgID4KICAgICAgICBleHBhbmRfbW9yZQogICAgICA8L3NwYW4+CiAgICA8L2J1dHRvbj4KICAgIDxkaXYgY2xhc3M9ImRyb3Bkb3duLW1lbnUiPgogICAgICA8YSBjbGFzcz0iZHJvcGRvd24taXRlbSIgaHJlZj0iIyI+CiAgICAgICAgPHNwYW4gY2xhc3M9Iml0ZW0tdGV4dCI+T3BjacOzbiBkZSBuYXZlZ2FjacOzbjwvc3Bhbj4KICAgICAgPC9hPgogICAgICA8YSBjbGFzcz0iZHJvcGRvd24taXRlbSIgaHJlZj0iIyI+CiAgICAgICAgPHNwYW4gY2xhc3M9Iml0ZW0tdGV4dCI+T3BjacOzbiBkZSBuYXZlZ2FjacOzbjwvc3Bhbj4KICAgICAgPC9hPgogICAgICA8YSBjbGFzcz0iZHJvcGRvd24taXRlbSIgaHJlZj0iIyI+CiAgICAgICAgPHNwYW4gY2xhc3M9Iml0ZW0tdGV4dCI+T3BjacOzbiBkZSBuYXZlZ2FjacOzbjwvc3Bhbj4KICAgICAgPC9hPgogICAgPC9kaXY+CiAgPC9kaXY+Cg==', + }, + { + name: 'dropdown-selection', + code: 'CiAgPGRpdiBjbGFzcz0iZHJvcGRvd24iPgogICAgPGJ1dHRvbgogICAgICB0eXBlPSJidXR0b24iCiAgICAgIGNsYXNzPSJidG4gYnRuLWRyb3Bkb3duIGJ0bi1kcm9wZG93bi1ib3JkZXIgYnRuLWxnIgogICAgICBkYXRhLWJzLXRvZ2dsZT0iZHJvcGRvd24iCiAgICAgIGFyaWEtZXhwYW5kZWQ9ImZhbHNlIgogICAgICBkYXRhLWJzLWF1dG8tY2xvc2U9Im91dHNpZGUiCiAgICA+CiAgICAgIDxzcGFuIGNsYXNzPSJtYXRlcmlhbC1zeW1ib2xzLXJvdW5kZWQgby1pY29uIiBhcmlhLWxhYmVsPSJoaWRkZW4iPmFkZDwvc3Bhbj4KICAgICAgPHNwYW4gY2xhc3M9ImJ0bi1kcm9wZG93bi10ZXh0IGVsbGlwc2lzLTEiPkRlc3BsZWdhYmxlPC9zcGFuPgogICAgICA8c3BhbiBjbGFzcz0ibWF0ZXJpYWwtc3ltYm9scy1yb3VuZGVkIGJ0bi1kcm9wZG93bi1pY29uIiBhcmlhLWxhYmVsPSJoaWRkZW4iPmV4cGFuZF9tb3JlPC9zcGFuPgogICAgPC9idXR0b24+CiAgICA8ZGl2IGNsYXNzPSJkcm9wZG93bi1tZW51Ij4KICAgICAgPGRpdiBjbGFzcz0iZm9ybS1jaGVja2JveCI+CiAgICAgICAgPGlucHV0CiAgICAgICAgICBjbGFzcz0iZm9ybS1jaGVja2JveC1pbnB1dCIKICAgICAgICAgIHR5cGU9ImNoZWNrYm94IgogICAgICAgICAgbmFtZT0iZHJvcGRvd25DaGVja2JveExnIgogICAgICAgICAgaWQ9Im9wdGlvbi1jaGVja2JveC1sZy0xIgogICAgICAgICAgdmFsdWU9Im9wdGlvbi0xIgogICAgICAgICAgLz4KICAgICAgICA8bGFiZWwgY2xhc3M9ImZvcm0tY2hlY2tib3gtbGFiZWwiIGZvcj0ib3B0aW9uLWNoZWNrYm94LWxnLTEiPgogICAgICAgICAgT3BjacOzbiBkZSBzZWxlY2Npw7NuIG3Dumx0aXBsZSAxCiAgICAgICAgPC9sYWJlbD4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImZvcm0tY2hlY2tib3giPgogICAgICAgIDxpbnB1dAogICAgICAgICAgY2xhc3M9ImZvcm0tY2hlY2tib3gtaW5wdXQiCiAgICAgICAgICB0eXBlPSJjaGVja2JveCIKICAgICAgICAgIG5hbWU9ImRyb3Bkb3duQ2hlY2tib3hMZyIKICAgICAgICAgIGlkPSJvcHRpb24tY2hlY2tib3gtbGctMiIKICAgICAgICAgIHZhbHVlPSJvcHRpb24tMiIKICAgICAgICAgIC8+CiAgICAgICAgPGxhYmVsIGNsYXNzPSJmb3JtLWNoZWNrYm94LWxhYmVsIiBmb3I9Im9wdGlvbi1jaGVja2JveC1sZy0yIj4KICAgICAgICAgIE9wY2nDs24gZGUgc2VsZWNjacOzbiBtw7psdGlwbGUgMgogICAgICAgIDwvbGFiZWw+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJmb3JtLWNoZWNrYm94Ij4KICAgICAgICA8aW5wdXQKICAgICAgICAgIGNsYXNzPSJmb3JtLWNoZWNrYm94LWlucHV0IgogICAgICAgICAgdHlwZT0iY2hlY2tib3giCiAgICAgICAgICBuYW1lPSJkcm9wZG93bkNoZWNrYm94TGciCiAgICAgICAgICBpZD0ib3B0aW9uLWNoZWNrYm94LWxnLTMiCiAgICAgICAgICB2YWx1ZT0ib3B0aW9uLTMiCiAgICAgICAgICBkaXNhYmxlZAogICAgICAgICAgLz4KICAgICAgICA8bGFiZWwgY2xhc3M9ImZvcm0tY2hlY2tib3gtbGFiZWwiIGZvcj0ib3B0aW9uLWNoZWNrYm94LWxnLTMiPgogICAgICAgICAgT3BjacOzbiBkZSBzZWxlY2Npw7NuIG3Dumx0aXBsZSAzCiAgICAgICAgPC9sYWJlbD4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICA8L2Rpdj4K', + }, + { + name: 'panel-horizontal', + code: 'CjxkaXYgY2xhc3M9InBhbmVsLWhvcml6b250YWwtY29udGVudCI+CiAgPGRpdiBjbGFzcz0icGFuZWwtaG9yaXpvbnRhbCI+CiAgICA8aW1nIHNyYz0iL2Rlc3RhY2Fkby5qcGciIGFsdD0iZGVzY3JpcGNpw7NuIGRlIGltYWdlbiIgY2xhc3M9InBhbmVsLWltZyIgLz4KICAgIDxkaXYgY2xhc3M9InBhbmVsLWJvZHkiPgogICAgICA8aDIgY2xhc3M9InBhbmVsLXRpdGxlIj5Uw610dWxvIGRlbCBkZXN0YWNhZG88L2gyPgogICAgICA8cCBjbGFzcz0icGFuZWwtdGV4dCI+CiAgICAgICAgRXN0ZSBlcyBlbCBjdWVycG8gZGUgdW4gZGVzdGFjYWRvLiBEZWJlIHNlciBicmV2ZSB5IGNvbmNpc28sIGRlIHBvY2FzCiAgICAgICAgbMOtbmVhcy4gTm8gcHVlZGUgY29udGVuZXIgbmVncml0YXMgbmkgZW5sYWNlcy4gRXN0ZSBlcyBlbCBjdWVycG8gZGUgdW4KICAgICAgICBkZXN0YWNhZG8uIERlYmUgc2VyIGJyZXZlIHkgY29uY2lzbywgZGUgcG9jYXMgbMOtbmVhcy4gTm8gcHVlZGUgY29udGVuZXIKICAgICAgICBuZWdyaXRhcyBuaSBlbmxhY2VzCiAgICAgIDwvcD4KICAgICAgPGRpdiBjbGFzcz0icGFuZWwtZm9vdGVyIj4KICAgICAgICA8YSBjbGFzcz0iYnRuIGJ0bi1wcmltYXJ5IGJ0bi1sZyIgaHJlZj0iIyIgcmVsPSJub29wZW5lciBub3JlZmVycmVyIj4KICAgICAgICAgIEJvdMOzbgogICAgICAgIDwvYT4KICAgICAgICA8YSBjbGFzcz0iYnRuIGJ0bi1vdXRsaW5lLXByaW1hcnkgYnRuLWxnIiBocmVmPSIjIiByZWw9Im5vb3BlbmVyIG5vcmVmZXJyZXIiPgogICAgICAgICAgQm90w7NuCiAgICAgICAgPC9hPgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogIDwvZGl2Pgo8L2Rpdj4K', + }, + { + name: 'link', + code: 'PGEgaHJlZj0iIyIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIgbm9yZWZlcnJlciI+ZW5sYWNlIGVuIHDDoXJyYWZvPC9hPg==', + }, + { + name: 'badge', + code: 'PHNwYW4gY2xhc3M9ImJhZGdlIGJhZGdlLWRlZmF1bHQiPlByZWRldGVybWluYWRhPC9zcGFuPg==', + }, + { + name: 'gallery', + code: 'PGRpdiBjbGFzc05hbWU9ImdhbGxlcnktZ3JpZCBnYWxsZXJ5LW1heC0zIj4KICAgIAogICAgPGEKICAgICAgaHJlZj0iZ2FsbGVyeS8xLmpwZyIKICAgICAgY2xhc3NOYW1lPSJnYWxsZXJ5LWdyaWQtaXRlbSIKICAgICAgZGF0YS1icy10b2dnbGU9Im1vZGFsIgogICAgICBkYXRhLWJzLXRhcmdldD0iI21vZGFsR2FsbGVyeSIKICAgID4KICAgICAgPGltZyAKICAgICAgICBzcmM9Imh0dHBzOi8vZ2NiYS5naXRodWIuaW8vT2JlbGlzY28vZ2FsbGVyeS8xLmpwZyIgCiAgICAgICAgYWx0PSJUZXh0byBhbHRlcm5hdGl2byBkZSBsYSBpbWFnZW4iCiAgICAgIC8+CiAgICA8L2E+CiAgICAKICAgIDxhCiAgICAgIGhyZWY9ImdhbGxlcnkvMi5qcGciCiAgICAgIGNsYXNzTmFtZT0iZ2FsbGVyeS1ncmlkLWl0ZW0iCiAgICAgIGRhdGEtYnMtdG9nZ2xlPSJtb2RhbCIKICAgICAgZGF0YS1icy10YXJnZXQ9IiNtb2RhbEdhbGxlcnkiCiAgICA+CiAgICAgIDxpbWcgCiAgICAgICAgc3JjPSJodHRwczovL2djYmEuZ2l0aHViLmlvL09iZWxpc2NvL2dhbGxlcnkvMi5qcGciIAogICAgICAgIGFsdD0iVGV4dG8gYWx0ZXJuYXRpdm8gZGUgbGEgaW1hZ2VuIgogICAgICAvPgogICAgPC9hPgogICAgCiAgICA8YQogICAgICBocmVmPSJnYWxsZXJ5LzMuanBnIgogICAgICBjbGFzc05hbWU9ImdhbGxlcnktZ3JpZC1pdGVtIgogICAgICBkYXRhLWJzLXRvZ2dsZT0ibW9kYWwiCiAgICAgIGRhdGEtYnMtdGFyZ2V0PSIjbW9kYWxHYWxsZXJ5IgogICAgPgogICAgICA8aW1nIAogICAgICAgIHNyYz0iaHR0cHM6Ly9nY2JhLmdpdGh1Yi5pby9PYmVsaXNjby9nYWxsZXJ5LzMuanBnIiAKICAgICAgICBhbHQ9IlRleHRvIGFsdGVybmF0aXZvIGRlIGxhIGltYWdlbiIKICAgICAgLz4KICAgIDwvYT4KICAgIAogIDwvZGl2Pg==', + }, + { + name: 'list-links', + code: 'CjxkaXYgY2xhc3M9Imxpc3QtbGluayI+CiAgICA8aDMgY2xhc3M9Imxpc3QtbGluay10aXRsZSI+RXN0ZSBlcyBlbCB0w610dWxvIGRlIHVuYSBsaXN0YSBkZSBlbmxhY2VzPC9oMz4KICAgIDxhIGhyZWY9IiMiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIG5vcmVmZXJyZXIiPkVubGFjZSBwcmVkZXRlcm1pbmFkbzwvYT4KICAgIDxhIGhyZWY9IiMiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIG5vcmVmZXJyZXIiPkVubGFjZSBwcmVkZXRlcm1pbmFkbzwvYT4KICAgIDxhIGhyZWY9IiMiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIG5vcmVmZXJyZXIiPkVubGFjZSBwcmVkZXRlcm1pbmFkbzwvYT4KICAgIDxhIGhyZWY9IiMiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIG5vcmVmZXJyZXIiPkVubGFjZSBwcmVkZXRlcm1pbmFkbzwvYT4KICAgIDxhIGhyZWY9IiMiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIG5vcmVmZXJyZXIiPkVubGFjZSBwcmVkZXRlcm1pbmFkbzwvYT4KPC9kaXY+Cg==', + }, + { + name: 'list-steps', + code: 'Cjx1bCBjbGFzcz0ibGlzdC1zdGVwcyBsaXN0LXN0ZXBzLWxnIj4KICA8bGkgY2xhc3M9Imxpc3Qtc3RlcHMtaXRlbSI+CiAgICA8aDMgY2xhc3M9Imxpc3Qtc3RlcHMtaXRlbS10aXRsZSI+SW5zdHJ1Y2Npw7NuIDE8L2gzPgogICAgPHA+CiAgICBFbiBlc3RhIGRlc2NyaXBjacOzbiBkZSBsYSBpbnN0cnVjY2nDs24gMSBzZSBtdWVzdHJhbiBsb3MgZGV0YWxsZXMKICAgIHByaW5jaXBhbGVzIGRlIGxhcyBhY2Npb25lcyBxdWUgZGViZXLDoSB0b21hciBlbCB1c3VhcmlvIGx1ZWdvLiBFbiBlc3RhCiAgICBkZXNjcmlwY2nDs24gZGUgbGEgaW5zdHJ1Y2Npw7NuIDEgc2UgbXVlc3RyYW4gbG9zIGRldGFsbGVzIHByaW5jaXBhbGVzIGRlCiAgICBsYXMgYWNjaW9uZXMgcXVlIGRlYmVyw6EgdG9tYXIgZWwgdXN1YXJpbyBsdWVnby4KICAgIDwvcD4KICA8L2xpPgogIDxsaSBjbGFzcz0ibGlzdC1zdGVwcy1pdGVtIj4KICAgIDxoMyBjbGFzcz0ibGlzdC1zdGVwcy1pdGVtLXRpdGxlIj5JbnN0cnVjY2nDs24gMjwvaDM+CiAgICA8cD4KICAgIEVuIGVzdGEgZGVzY3JpcGNpw7NuIGRlIGxhIGluc3RydWNjacOzbiAyIHNlIG11ZXN0cmFuIGxvcyBkZXRhbGxlcwogICAgcHJpbmNpcGFsZXMgZGUgbGFzIGFjY2lvbmVzIHF1ZSBkZWJlcsOhIHRvbWFyIGVsIHVzdWFyaW8gbHVlZ28uIEVuIGVzdGEKICAgIGRlc2NyaXBjacOzbiBkZSBsYSBpbnN0cnVjY2nDs24gMiBzZSBtdWVzdHJhbiBsb3MgZGV0YWxsZXMgcHJpbmNpcGFsZXMgZGUKICAgIGxhcyBhY2Npb25lcyBxdWUgZGViZXLDoSB0b21hciBlbCB1c3VhcmlvIGx1ZWdvLgogICAgPC9wPgogIDwvbGk+CiAgPGxpIGNsYXNzPSJsaXN0LXN0ZXBzLWl0ZW0iPgogICAgPGgzIGNsYXNzPSJsaXN0LXN0ZXBzLWl0ZW0tdGl0bGUiPkluc3RydWNjacOzbiAzPC9oMz4KICAgIDxwPgogICAgRW4gZXN0YSBkZXNjcmlwY2nDs24gZGUgbGEgaW5zdHJ1Y2Npw7NuIDMgc2UgbXVlc3RyYW4gbG9zIGRldGFsbGVzCiAgICBwcmluY2lwYWxlcyBkZSBsYXMgYWNjaW9uZXMgcXVlIGRlYmVyw6EgdG9tYXIgZWwgdXN1YXJpbyBsdWVnby4gRW4gZXN0YQogICAgZGVzY3JpcGNpw7NuIGRlIGxhIGluc3RydWNjacOzbiAzIHNlIG11ZXN0cmFuIGxvcyBkZXRhbGxlcyBwcmluY2lwYWxlcyBkZQogICAgbGFzIGFjY2lvbmVzIHF1ZSBkZWJlcsOhIHRvbWFyIGVsIHVzdWFyaW8gbHVlZ28uCiAgICA8L3A+CiAgPC9saT4KPC91bD4K', + }, + { + name: 'list-informative', + code: 'CiAgPGRpdiBjbGFzcz0ibGlzdC1pbmZvcm1hdGl2ZSI+CiAgICA8aDMgY2xhc3M9Imxpc3QtaW5mb3JtYXRpdmUtc3VidGl0bGUiPgogICAgICBFc3RlIGVzIGVsIHN1YnTDrXR1bG8gZGUgdW5hIGxpc3RhIGdlbmVyYWwKICAgIDwvaDM+CiAgICA8dWwgY2xhc3M9Imxpc3QtaW5mb3JtYXRpdmUtYnVsbGV0Ij4KICAgICAgPGxpPkVzdGUgZXMgZWwgY29udGVuaWRvIGRlIHVuIMOtdGVtIGRlIHVuYSBsaXN0YSBnZW5lcmFsLjwvbGk+CiAgICAgIDxsaT5Fc3RlIGVzIGVsIGNvbnRlbmlkbyBkZSB1biDDrXRlbSBkZSB1bmEgbGlzdGEgZ2VuZXJhbC48L2xpPgogICAgICA8bGk+RXN0ZSBlcyBlbCBjb250ZW5pZG8gZGUgdW4gw610ZW0gZGUgdW5hIGxpc3RhIGdlbmVyYWwuPC9saT4KICAgICAgPGxpPkVzdGUgZXMgZWwgY29udGVuaWRvIGRlIHVuIMOtdGVtIGRlIHVuYSBsaXN0YSBnZW5lcmFsLjwvbGk+CiAgICAgIDxsaT5Fc3RlIGVzIGVsIGNvbnRlbmlkbyBkZSB1biDDrXRlbSBkZSB1bmEgbGlzdGEgZ2VuZXJhbC48L2xpPgogICAgICA8bGk+RXN0ZSBlcyBlbCBjb250ZW5pZG8gZGUgdW4gw610ZW0gZGUgdW5hIGxpc3RhIGdlbmVyYWwuPC9saT4KICAgICAgPGxpPkVzdGUgZXMgZWwgY29udGVuaWRvIGRlIHVuIMOtdGVtIGRlIHVuYSBsaXN0YSBnZW5lcmFsLjwvbGk+CiAgICA8L3VsPgogIDwvZGl2Pgo=', + }, + { + name: 'map', + code: 'PGRpdiBjbGFzcz0ibWFwIj4KICA8ZGl2IGNsYXNzPSJtYXAtYm9keSI+CiAgICA8aDIgY2xhc3M9Im1hcC10aXRsZSI+VWJpY2FjacOzbjwvaDI+CiAgICA8cCBjbGFzcz0ibWFwLXRleHQiPkF2LiBVc3BhbGxhdGEgMzE2MDwvcD4KICAgIDxkaXYgY2xhc3M9Im1hcC1pZnJhbWUiPgogICAgICAgIDxpZnJhbWUKICAgICAgICBzcmM9Imh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vbWFwcy9lbWJlZD8KICAgICAgICBwYj0hMW0xOCExbTEyITFtMyExZDMyODIuNTYxMzEzMzE0NDQ3ITIKICAgICAgICBkLTU4LjQwOTg4MTMyNDUyMjgzITNkLTM0LjY0MDUyNDY1OTQ0MjUKICAgICAgICAyITJtMyExZjAhMmYwITNmMCEzbTIhMWkxMDI0ITJpNzY4ITRmMTMKICAgICAgICAuMSEzbTMhMW0yITFzMHg5NWJjY2IwZGU3ZjRkNjc1JTNBMHhmYzIKICAgICAgICBlZjUzMjQyOTZhNjQhMnNVc3BhbGxhdGElMjAzMTYwJTJDJTIwQzEKICAgICAgICA0MzdKQ0wlMjBDQUJBITVlMCEzbTIhMXNlcyEyc2FyITR2MTcwNDIKICAgICAgICAxODQ2MTcxOCE1bTIhMXNlcyEyc2FyIgogICAgICAgIHdpZHRoPSI2MDAiCiAgICAgICAgaGVpZ2h0PSIxNDYiCiAgICAgICAgdGl0bGU9Ik1hcGEgZGUgY29tbyBsbGVnYXIiCiAgICAgICAgYWxsb3dmdWxsc2NyZWVuPSJ0cnVlIgogICAgICAgIGxvYWRpbmc9ImxhenkiCiAgICAgICAgdGFiaW5kZXg9Ii0xIgogICAgICAgIHJlZmVycmVycG9saWN5PSJuby1yZWZlcnJlci13aGVuLWRvd25ncmFkZSIKICAgICAgICBzdHlsZT0iYm9yZGVyOiAwcHg7IgogICAgICAgID48L2lmcmFtZT4KICAgIDwvZGl2PgogICAgPGEKICAgICAgICBocmVmPSJodHRwczovL21hcGEuYnVlbm9zYWlyZXMuZ29iLmFyLwogICAgICAgIGNvbW9sbGVnby8/bGF0PS0zNC42NDAzNDAmYW1wO2xuZz0tNTguCiAgICAgICAgNDA3MDMyJmFtcDt6bD0xNSZhbXA7bW9kbz10cmFuc3BvcnRlJmEKICAgICAgICBtcDtkaXI9VXNwYWxsYXRhKzMxNjAiCiAgICAgICAgY2xhc3M9ImJ0biBidG4tcHJpbWFyeSBidG4tbGcgYnRuLWJsb2NrIgogICAgICAgIHRhcmdldD0iX2JsYW5rIgogICAgICAgIHJlbD0ibm9vcGVuZXIgbm9yZWZlcnJlciIKICAgICAgICB0YWJpbmRleD0iMCIKICAgID4KICAgICAgICBDw7NtbyBsbGVnbwogICAgPC9hPgogIDwvZGl2Pgo8L2Rpdj4=', + }, + { + name: 'status-info', + code: 'PGRpdiBjbGFzcz0ic3RhdHVzIHN0YXR1cy1pbmZvIj4KICA8aDIgY2xhc3M9InN0YXR1cy10aXRsZSI+RXN0ZSBlcyBlbCB0w610dWxvIGRlIHVuIG1lbnNhamUgZGUgZXN0YWRvPC9oMj4KICA8cCBjbGFzcz0ic3RhdHVzLXRleHQiPgogICAgRXN0ZSBlcyB1biBww6FycmFmbyBicmV2ZSBxdWUgc2lydmUgY29tbyBtZW5zYWplLiBQdWVkZSB1dGlsaXphcnNlIHBhcmEgZGFyIGluZGljYWNpb25lcyBhZGljaW9uYWxlcyBjb21vIGxhIHJlYWxpemFjacOzbiBkZSB1bmEgdGFyZWEgbyBpbnN0cnVjY2lvbmVzIGEgc2VndWlyLgogIDwvcD4KICA8ZGl2IGNsYXNzPSJsaXN0LWluZm9ybWF0aXZlIHN0YXR1cy1saXN0Ij4KICAgIDx1bCBjbGFzcz0ibGlzdC1pbmZvcm1hdGl2ZS1idWxsZXQiPgogICAgICA8bGk+CiAgICAgICAgRXN0ZSBlcyBlbCBjb250ZW5pZG8gZGUgdW4gw610ZW0gZGUgdW5hIGxpc3RhIGdlbmVyYWwuIFB1ZWRlIGNvbnRlbmVyIHVuIDxhIGhyZWY9IiMiPmVubGFjZTwvYT4uCiAgICAgIDwvbGk+CiAgICAgIDxsaT4KICAgICAgICBFc3RlIGVzIGVsIGNvbnRlbmlkbyBkZSB1biDDrXRlbSBkZSB1bmEgbGlzdGEgZ2VuZXJhbC4gUHVlZGUgY29udGVuZXIgdW4gPGEgaHJlZj0iIyI+ZW5sYWNlPC9hPi4KICAgICAgPC9saT4KICAgICAgPGxpPgogICAgICAgIEVzdGUgZXMgZWwgY29udGVuaWRvIGRlIHVuIMOtdGVtIGRlIHVuYSBsaXN0YSBnZW5lcmFsLiBQdWVkZSBjb250ZW5lciB1biA8YSBocmVmPSIjIj5lbmxhY2U8L2E+LgogICAgICA8L2xpPgogICAgICA8bGk+CiAgICAgICAgRXN0ZSBlcyBlbCBjb250ZW5pZG8gZGUgdW4gw610ZW0gZGUgdW5hIGxpc3RhIGdlbmVyYWwuIFB1ZWRlIGNvbnRlbmVyIHVuIDxhIGhyZWY9IiMiPmVubGFjZTwvYT4uCiAgICAgIDwvbGk+CiAgICA8L3VsPgogIDwvZGl2PgogIDxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iYnRuIGJ0bi1wcmltYXJ5Ij4KICAgIEJvdMOzbgogIDwvYnV0dG9uPgogIDxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iYnRuIGJ0bi1vdXRsaW5lLXByaW1hcnkiPgogICAgQm90w7NuCiAgPC9idXR0b24+CjwvZGl2Pg==', + }, + { + name: 'breadcrumb', + code: 'CiAgICA8bmF2IGFyaWEtbGFiZWw9Ik5hdmVnYWNpw7NuIHNlY3VuZGFyaWEiPgogICAgICA8b2wgY2xhc3M9ImJyZWFkY3J1bWIiPgogICAgICAgIDxsaSBjbGFzcz0iYnJlYWRjcnVtYi1pdGVtIj48YSBocmVmPSIjIj5JbmljaW88L2E+PC9saT4KICAgICAgICA8bGkgY2xhc3M9ImJyZWFkY3J1bWItaXRlbSI+CiAgICAgICAgICA8YSBocmVmPSIjIj5Qw6FnaW5hIGludGVybWVkaWEgY29uIG11Y2hvIG11Y2hvIHRleHRvPC9hPgogICAgICAgIDwvbGk+CiAgICAgICAgPGxpIGNsYXNzPSJicmVhZGNydW1iLWl0ZW0iPjxhIGhyZWY9IiMiPkludGVybWVkaWE8L2E+PC9saT4KICAgICAgICA8bGkgY2xhc3M9ImJyZWFkY3J1bWItaXRlbSI+PGEgaHJlZj0iIyI+UMOhZ2luYSBhbnRlcmlvcjwvYT48L2xpPgogICAgICA8L29sPgogICAgPC9uYXY+Cg==', + }, + { + name: 'modal', + code: 'PGJ1dHRvbiAKICB0eXBlPSJidXR0b24iIAogIGNsYXNzPSJidG4gYnRuLXByaW1hcnkiIAogIGRhdGEtYnMtdG9nZ2xlPSJtb2RhbCIgCiAgZGF0YS1icy10YXJnZXQ9IiNleGFtcGxlTW9kYWwxIgo+CiAgTW9kYWwgZGUgY29uZmlybWFjacOzbgo8L2J1dHRvbj4KPGRpdiBjbGFzcz0ibW9kYWwgZmFkZSIgdGFiaW5kZXg9Ii0xIiBpZD0iZXhhbXBsZU1vZGFsMSIgYXJpYS1sYWJlbGxlZGJ5PSJleGFtcGxlTW9kYWwxTGFiZWwiIGFyaWEtaGlkZGVuPSJ0cnVlIj4KICA8ZGl2IGNsYXNzPSJtb2RhbC1kaWFsb2cgbW9kYWwtZGlhbG9nLWNlbnRlcmVkIG1vZGFsLXNtIj4KICAgIDxkaXYgY2xhc3M9Im1vZGFsLWNvbnRlbnQiPgogICAgICA8ZGl2IGNsYXNzPSJtb2RhbC1oZWFkZXIiPgogICAgICAgIDxoNCBjbGFzcz0ibW9kYWwtdGl0bGUiIGlkPSJleGFtcGxlTW9kYWwxTGFiZWwiPsKhSW1wb3J0YW50ZSE8L2g0PgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0ibW9kYWwtYm9keSI+CiAgICAgICAgPHA+CiAgICAgICAgICBBbnRlcyBkZSByZWFsaXphciBsYSBmaWNoYSBkZSBzYWx1ZCwgCiAgICAgICAgICB0ZW7DqSBlbiBjdWVudGEgaGFiZXIgcmVhbGl6YWRvIGxvcyBwYXNvcyBwcmV2aW9zIGNvcnJlc3BvbmRpZW50ZXMuCiAgICAgICAgPC9wPgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0ibW9kYWwtZm9vdGVyIj4KICAgICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImJ0biBidG4tb3V0bGluZS1wcmltYXJ5IiBkYXRhLWJzLWRpc21pc3M9Im1vZGFsIj4KICAgICAgICAgIFZvbHZlciBhdHLDoXMKICAgICAgICA8L2J1dHRvbj4KICAgICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImJ0biBidG4tcHJpbWFyeSI+Q29udGludWFyPC9idXR0b24+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgPC9kaXY+CjwvZGl2Pg==', + }, + { + name: 'nav-horizontal', + code: 'CiAgPG5hdiBhcmlhLWxhYmVsPSJOYXZlZ2FjacOzbiBob3Jpem9udGFsIiBhcmlhLWxhYmVsPSdOYXZlZ2FjacOzbiBob3Jpem9udGFsJz4KICAgIDx1bCBjbGFzcz0ibmF2IGZsZXgtcm93IG5hdi1waWxscyI+CiAgICAgIDxsaSBjbGFzcz0ibmF2LWl0ZW0iPgogICAgICAgIDxhIGNsYXNzPSJuYXYtbGluayIgaHJlZj0iIyI+PHNwYW4+TmF2ZWdhY2nDs248L3NwYW4+PC9hPgogICAgICA8L2xpPgogICAgICA8bGkgY2xhc3M9Im5hdi1pdGVtIj4KICAgICAgICA8YSBjbGFzcz0ibmF2LWxpbmsgYWN0aXZlIiBocmVmPSIjIj48c3Bhbj5BY3Rpdm88L3NwYW4+PC9hPgogICAgICA8L2xpPgogICAgICA8bGkgY2xhc3M9Im5hdi1pdGVtIj4KICAgICAgICA8YSBjbGFzcz0ibmF2LWxpbmsiIGhyZWY9IiMiPjxzcGFuPk5hdmVnYWNpw7NuPC9zcGFuPjwvYT4KICAgICAgPC9saT4KICAgIDwvdWw+CiAgPC9uYXY+Cg==', + }, + { + name: 'nav-vertical', + code: 'CiAgPG5hdiBhcmlhLWxhYmVsPSJOYXZlZ2FjacOzbiB2ZXJ0aWNhbCI+CiAgICA8dWwgY2xhc3M9Im5hdiBmbGV4LWNvbHVtbiBuYXYtcGlsbHMiPgogICAgICA8bGkgY2xhc3M9Im5hdi1pdGVtIj4KICAgICAgICA8YSBjbGFzcz0ibmF2LWxpbmsiIGhyZWY9IiMiPjxzcGFuPk5hdmVnYWNpw7NuPC9zcGFuPjwvYT4KICAgICAgPC9saT4KICAgICAgPGxpIGNsYXNzPSJuYXYtaXRlbSI+CiAgICAgICAgPGEgY2xhc3M9Im5hdi1saW5rIGFjdGl2ZSIgaHJlZj0iIyI+PHNwYW4+QWN0aXZvPC9zcGFuPjwvYT4KICAgICAgPC9saT4KICAgICAgPGxpIGNsYXNzPSJuYXYtaXRlbSI+CiAgICAgICAgPGEgY2xhc3M9Im5hdi1saW5rIiBocmVmPSIjIj48c3Bhbj5OYXZlZ2FjacOzbjwvc3Bhbj48L2E+CiAgICAgIDwvbGk+CiAgICA8L3VsPgogIDwvbmF2Pgo=', + }, + { + name: 'pagination', + code: 'PG5hdiBhcmlhLWxhYmVsPSJFamVtcGxvIGRlIHBhZ2luYWRvIG51bWVyYWRvIGluaWNpYWwiPgogIDx1bCBjbGFzcz0icGFnaW5hdGlvbiI+CiAgICA8bGkgY2xhc3M9InBhZ2UtaXRlbSIgc3R5bGU9Im9wYWNpdHk6IDA7Ij4KICAgICAgPHNwYW4gY2xhc3M9InBhZ2UtbGluayI+CiAgICAgICAgPHNwYW4gY2xhc3M9InBhZ2UtcHJldmlvdXMtaWNvbiIgYXJpYS1oaWRkZW49InRydWUiPjwvc3Bhbj4KICAgICAgICA8c3BhbiBjbGFzcz0icGFnZS1wcmV2aW91cy10ZXh0Ij5BbnRlcmlvcjwvc3Bhbj4KICAgICAgPC9zcGFuPgogICAgPC9saT4KICAgIDxsaSBjbGFzcz0icGFnZS1pdGVtIGFjdGl2ZSI+PGEgY2xhc3M9InBhZ2UtbGluayIgaHJlZj0iIyI+MTwvYT48L2xpPgogICAgPGxpIGNsYXNzPSJwYWdlLWl0ZW0iPjxhIGNsYXNzPSJwYWdlLWxpbmsiIGhyZWY9IiMiPjI8L2E+PC9saT4KICAgIDxsaSBjbGFzcz0icGFnZS1pdGVtIj48YSBjbGFzcz0icGFnZS1saW5rIiBocmVmPSIjIj4zPC9hPjwvbGk+CiAgICA8bGkgY2xhc3M9InBhZ2UtaXRlbSI+PGEgY2xhc3M9InBhZ2UtbGluayIgaHJlZj0iIyI+NDwvYT48L2xpPgogICAgPGxpIGNsYXNzPSJwYWdlLWl0ZW0iPjxhIGNsYXNzPSJwYWdlLWxpbmsiIGhyZWY9IiMiPjU8L2E+PC9saT4KICAgIDxsaSBjbGFzcz0icGFnZS1pdGVtIG5vLWV2ZW50cyI+PHNwYW4gY2xhc3M9InBhZ2UtbGluayI+Li4uPC9zcGFuPjwvbGk+CiAgICA8bGkgY2xhc3M9InBhZ2UtaXRlbSI+PGEgY2xhc3M9InBhZ2UtbGluayIgaHJlZj0iIyI+MTA8L2E+PC9saT4KICAgIDxsaSBjbGFzcz0icGFnZS1pdGVtIj4KICAgICAgPGEgY2xhc3M9InBhZ2UtbGluayIgaHJlZj0iIyI+CiAgICAgICAgPHNwYW4gY2xhc3M9InBhZ2UtbmV4dC10ZXh0Ij5TaWd1aWVudGU8L3NwYW4+CiAgICAgICAgPHNwYW4gY2xhc3M9InBhZ2UtbmV4dC1pY29uIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9zcGFuPgogICAgICA8L2E+CiAgICA8L2xpPgogIDwvdWw+CjwvbmF2Pg==', + }, + { + name: 'tabs', + code: 'CiAgPG5hdiBjbGFzcz0idGFicy1ib3giIGFyaWEtbGFiZWw9Ik5hdmVnYWNpw7NuIHBvciBwZXN0YcOxYXMiPgogICAgPHVsIGNsYXNzPSJuYXYgbmF2LXBpbGxzIHRhYnMiIGlkPSJzaW1wbGUtbXlUYWIiIHJvbGU9InRhYmxpc3QiPgogICAgICA8bGkgY2xhc3M9Im5hdi1pdGVtIiByb2xlPSJwcmVzZW50YXRpb24iPgogICAgICAgIDxidXR0b24KICAgICAgICAgIGNsYXNzPSJuYXYtbGluayIKICAgICAgICAgIGRhdGEtYnMtdG9nZ2xlPSJ0YWIiCiAgICAgICAgICBkYXRhLWJzLXRhcmdldD0iI3BhbmVsLWNvbnRlbnQtMSIKICAgICAgICAgIHR5cGU9ImJ1dHRvbiIKICAgICAgICAgIHJvbGU9InRhYiIKICAgICAgICAgIGFyaWEtY29udHJvbHM9InBhbmVsLWNvbnRlbnQtMSIKICAgICAgICAgIGFyaWEtc2VsZWN0ZWQ9ImZhbHNlIgogICAgICAgICAgaWQ9InRhYi0xIgogICAgICAgID4KICAgICAgICAgIFBlc3Rhw7FhIDEKICAgICAgICA8L2J1dHRvbj4KICAgICAgPC9saT4KICAgICAgPGxpIGNsYXNzPSJuYXYtaXRlbSIgcm9sZT0icHJlc2VudGF0aW9uIj4KICAgICAgICA8YnV0dG9uCiAgICAgICAgICBjbGFzcz0ibmF2LWxpbmsiCiAgICAgICAgICBkYXRhLWJzLXRvZ2dsZT0idGFiIgogICAgICAgICAgZGF0YS1icy10YXJnZXQ9IiNwYW5lbC1jb250ZW50LTIiCiAgICAgICAgICB0eXBlPSJidXR0b24iCiAgICAgICAgICByb2xlPSJ0YWIiCiAgICAgICAgICBhcmlhLWNvbnRyb2xzPSJwYW5lbC1jb250ZW50LTIiCiAgICAgICAgICBhcmlhLXNlbGVjdGVkPSJmYWxzZSIKICAgICAgICAgIGlkPSJ0YWItMiIKICAgICAgICA+CiAgICAgICAgICBQZXN0YcOxYSAyCiAgICAgICAgPC9idXR0b24+CiAgICAgIDwvbGk+CiAgICAgIDxsaSBjbGFzcz0ibmF2LWl0ZW0iIHJvbGU9InByZXNlbnRhdGlvbiI+CiAgICAgICAgPGJ1dHRvbgogICAgICAgICAgY2xhc3M9Im5hdi1saW5rIGFjdGl2ZSIKICAgICAgICAgIGRhdGEtYnMtdG9nZ2xlPSJ0YWIiCiAgICAgICAgICBkYXRhLWJzLXRhcmdldD0iI3BhbmVsLWNvbnRlbnQtMyIKICAgICAgICAgIHR5cGU9ImJ1dHRvbiIKICAgICAgICAgIHJvbGU9InRhYiIKICAgICAgICAgIGFyaWEtY29udHJvbHM9InBhbmVsLWNvbnRlbnQtMyIKICAgICAgICAgIGFyaWEtc2VsZWN0ZWQ9InRydWUiCiAgICAgICAgICBpZD0idGFiLTMiCiAgICAgICAgPgogICAgICAgICAgUGVzdGHDsWEgMwogICAgICAgIDwvYnV0dG9uPgogICAgICA8L2xpPgogICAgPC91bD4KICA8L25hdj4KICA8ZGl2IGNsYXNzPSJ0YWItY29udGVudCIgaWQ9InNpbXBsZS1teVRhYkNvbnRlbnQiPgogICAgPGRpdiBjbGFzcz0idGFiLXBhbmUgZmFkZSIgaWQ9InBhbmVsLWNvbnRlbnQtMSIgcm9sZT0idGFicGFuZWwiIGFyaWEtbGFiZWxsZWRieT0idGFiLTEiPgogICAgICBDb250ZW5pZG8gUGVzdGHDsWEgMQogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJ0YWItcGFuZSBmYWRlIiBpZD0icGFuZWwtY29udGVudC0yIiByb2xlPSJ0YWJwYW5lbCIgYXJpYS1sYWJlbGxlZGJ5PSJ0YWItMiI+CiAgICAgIENvbnRlbmlkbyBQZXN0YcOxYSAyCiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9InRhYi1wYW5lIGZhZGUgc2hvdyBhY3RpdmUiIGlkPSJwYW5lbC1jb250ZW50LTMiIHJvbGU9InRhYnBhbmVsIiBhcmlhLWxhYmVsbGVkYnk9InRhYi0zIj4KICAgICAgQ29udGVuaWRvIFBlc3Rhw7FhIDMKICAgIDwvZGl2PgogIDwvZGl2Pgo=', + }, + { + name: 'spinner', + code: 'PGRpdiBjbGFzcz0ic3Bpbm5lci1ib3JkZXIgdGV4dC1wcmltYXJ5IiByb2xlPSJzdGF0dXMiPgogIDxzcGFuIGNsYXNzPSJzci1vbmx5Ij5DYXJnYW5kby4uLjwvc3Bhbj4KPC9kaXY+', + }, + { + name: 'switch', + code: 'PGxhYmVsIGNsYXNzPSJzd2l0Y2giIGZvcj0ic3dpdGNoLTEiPgogIDxpbnB1dCB0eXBlPSJjaGVja2JveCIgaWQ9InN3aXRjaC0xIiAvPgogIDxzcGFuIGNsYXNzPSJzbGlkZXIiPjwvc3Bhbj4KICA8c3BhbiBjbGFzcz0ic3dpdGNoLWxhYmVsIG9uIj5QcmVuZGlkbzwvc3Bhbj4KICA8c3BhbiBjbGFzcz0ic3dpdGNoLWxhYmVsIG9mZiI+QXBhZ2Fkbzwvc3Bhbj4KPC9sYWJlbD4=', + }, + { + name: 'card', + code: 'PGRpdiBjbGFzcz0iY2FyZCBjYXJkLWhvcml6b250YWwiPgogIDxpIGNsYXNzPSJieCBieHMtaW5mby1jaXJjbGUgY2FyZC1pY29uIj48L2k+CiAgPGRpdiBjbGFzcz0iY2FyZC1ib2R5Ij4KICAgIDxoMyBjbGFzcz0iY2FyZC10aXRsZSI+CiAgICAgIDxhIGhyZWY9IiMiIGNsYXNzPSJjYXJkLXRpdGxlLWxpbmsiPlTDrXR1bG8gZGUgbGEgdGFyamV0YTwvYT4KICAgIDwvaDM+CiAgICA8cCBjbGFzcz0iY2FyZC10ZXh0Ij5EZXNjcmlwY2nDs24gZGUgbGEgdGFyamV0YTwvcD4KICA8L2Rpdj4KPC9kaXY+', + }, + { + name: 'tooltip', + code: 'PHNwYW4KICBkYXRhLWRpcmVjdGlvbj0idG9wLXJpZ2h0IgogIGRhdGEtdG9vbHRpcD0nRXN0YSBlcyBsYSBkZXNjcmlwY2nDs24gZGUgdW4gdG9vbHRpcCAiYXJyaWJhLWRlcmVjaGEiLicKICB0YWJpbmRleD0iMCIKPgogIDxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iYnRuIGJ0bi1wcmltYXJ5IGJ0bi1pY29uIiBhcmlhLWxhYmVsPSJCb3TDs24iPgogICAgPHNwYW4gY2xhc3M9Im1hdGVyaWFsLXN5bWJvbHMtcm91bmRlZCBvLWljb24iIGFyaWEtaGlkZGVuPSJ0cnVlIj50dXJuX3JpZ2h0PC9zcGFuPgogIDwvYnV0dG9uPgo8L3NwYW4+', + }, + { + name: 'radio-button', + code: 'PGRpdiBjbGFzcz0iZm9ybS1yYWRpbyI+CiAgICA8aW5wdXQKICAgICAgY2xhc3M9ImZvcm0tcmFkaW8taW5wdXQiCiAgICAgIHR5cGU9InJhZGlvIgogICAgICBuYW1lPSJwcm9mZXNzaW9uUmFkaW8iCiAgICAgIGlkPSJwcm9mZXNzaW9uLXJhZGlvLWRlc2lnbmVyIgogICAgICB2YWx1ZT0iZGlzZcOxYWRvciIKICAgICAgY2hlY2tlZAogICAgICAvPgogICAgPGxhYmVsIGNsYXNzPSJmb3JtLXJhZGlvLWxhYmVsIiBmb3I9InByb2Zlc3Npb24tcmFkaW8tZGVzaWduZXIiPgogICAgICBEaXNlw7FhZG9yCiAgICA8L2xhYmVsPgogIDwvZGl2Pg==', + }, + { + name: 'input', + code: 'ICA8ZGl2IGNsYXNzPSJmb3JtLWxhYmVsLWNvbnRhaW5lciI+CiAgICA8bGFiZWwgZm9yPSJpbnB1dC10ZXh0IiBjbGFzcz0iZm9ybS1sYWJlbCI+CiAgICAgIENhbXBvIGRlIHRleHRvICoKICAgIDwvbGFiZWw+CiAgPC9kaXY+CiAgPGlucHV0CiAgICB0eXBlPSJ0ZXh0IgogICAgY2xhc3M9ImZvcm0tY29udHJvbCIKICAgIGlkPSJpbnB1dC10ZXh0IgogICAgbmFtZT0iY2FtcG9UZXh0byIKICAgIGFyaWEtZGVzY3JpYmVkYnk9IlRleHRvIgogICAgcGxhY2Vob2xkZXI9IkluZ3Jlc2UgVGV4dG9zIgogIC8+CiAgPHAgY2xhc3M9ImZvcm0tbGFiZWwtZGVzY3JpcHRpb24iPlRleHRvIGRlIGFzaXN0ZW5jaWE8L3A+Cg==', + }, + { + name: 'input-search', + code: 'ICA8Zm9ybT4KICAgIDxkaXYgY2xhc3M9ImZvcm0tbGFiZWwtY29udGFpbmVyIj4KICAgICAgPGxhYmVsIGZvcj0ic2VhcmNoIiBjbGFzcz0iZm9ybS1sYWJlbCI+RWplbXBsbyBCdXNjYWRvcjwvbGFiZWw+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9J3NlYXJjaC1jb250YWluZXInPgogICAgICA8aW5wdXQgdHlwZT0ic2VhcmNoIiBjbGFzcz0iZm9ybS1jb250cm9sIGlucHV0LXNlYXJjaCIgaWQ9InNlYXJjaCIgcGxhY2Vob2xkZXI9IkJ1c2Nhci4uLiIgbmFtZT0ic2VhcmNoIiBhcmlhLWxhYmVsPSJDYW1wbyBkZSBiw7pzcXVlZGEiIC8+CiAgICAgIDxidXR0b24gY2xhc3M9InJlc2V0IiB0eXBlPSJyZXNldCIgYXJpYS1sYWJlbD0iQm9ycmFyIj48L2J1dHRvbj4KICAgIDwvZGl2PgogIDwvZm9ybT4K', + }, + { + name: 'checkbox', + code: 'ICA8cCBjbGFzcz0iaGVhZGxpbmUtbWQiPlNlbGVjY2lvbsOhIHVuYSBvIHZhcmlhcyBvcGNpb25lcyAqPC9wPgogIDxkaXYgY2xhc3M9ImZvcm0tY2hlY2tib3giPgogICAgPGlucHV0CiAgICAgIGNsYXNzPSJmb3JtLWNoZWNrYm94LWlucHV0IgogICAgICB0eXBlPSJjaGVja2JveCIKICAgICAgbmFtZT0icHJvZmVzc2lvbkNoZWNrYm94IgogICAgICBpZD0icHJvZmVzc2lvbi1jaGVja2JveC1kZXNpZ25lciIKICAgICAgdmFsdWU9ImRpc2XDsWFkb3IiCiAgICAgIGNoZWNrZWQKICAgICAgLz4KICAgIDxsYWJlbCBjbGFzcz0iZm9ybS1jaGVja2JveC1sYWJlbCIgZm9yPSJwcm9mZXNzaW9uLWNoZWNrYm94LWRlc2lnbmVyIj4KICAgICAgRGlzZcOxYWRvcgogICAgPC9sYWJlbD4KICA8L2Rpdj4KICA8ZGl2IGNsYXNzPSJmb3JtLWNoZWNrYm94Ij4KICAgIDxpbnB1dAogICAgICBjbGFzcz0iZm9ybS1jaGVja2JveC1pbnB1dCIKICAgICAgdHlwZT0iY2hlY2tib3giCiAgICAgIG5hbWU9InByb2Zlc3Npb25DaGVja2JveCIKICAgICAgaWQ9InByb2Zlc3Npb24tY2hlY2tib3gtZGV2ZWxvcGVyIgogICAgICB2YWx1ZT0iZGVzYXJyb2xsYWRvciIKICAgICAgLz4KICAgIDxsYWJlbCBjbGFzcz0iZm9ybS1jaGVja2JveC1sYWJlbCIgZm9yPSJwcm9mZXNzaW9uLWNoZWNrYm94LWRldmVsb3BlciI+CiAgICAgIERlc2Fycm9sbGFkb3IKICAgIDwvbGFiZWw+CiAgPC9kaXY+CiAgPGRpdiBjbGFzcz0iZm9ybS1jaGVja2JveCI+CiAgICA8aW5wdXQKICAgICAgY2xhc3M9ImZvcm0tY2hlY2tib3gtaW5wdXQiCiAgICAgIHR5cGU9ImNoZWNrYm94IgogICAgICBuYW1lPSJwcm9mZXNzaW9uQ2hlY2tib3giCiAgICAgIGlkPSJwcm9mZXNzaW9uLWNoZWNrYm94LWNvbnRlbnQiCiAgICAgIHZhbHVlPSJyZWRhY3RvciIKICAgICAgLz4KICAgIDxsYWJlbCBjbGFzcz0iZm9ybS1jaGVja2JveC1sYWJlbCIgZm9yPSJwcm9mZXNzaW9uLWNoZWNrYm94LWNvbnRlbnQiPgogICAgICBSZWRhY3RvciBkZSBjb250ZW5pZG9zCiAgICA8L2xhYmVsPgogIDwvZGl2PgogIDxkaXYgY2xhc3M9ImZvcm0tY2hlY2tib3giPgogICAgPGlucHV0CiAgICAgIGNsYXNzPSJmb3JtLWNoZWNrYm94LWlucHV0IGlzLWludmFsaWQiCiAgICAgIHR5cGU9ImNoZWNrYm94IgogICAgICBuYW1lPSJwcm9mZXNzaW9uQ2hlY2tib3giCiAgICAgIGlkPSJwcm9mZXNzaW9uLWNoZWNrYm94LXZhbGlkYXRpb24iCiAgICAgIHZhbHVlPSJpbnZhbGlkbyIKICAgICAgLz4KICAgIDxsYWJlbCBjbGFzcz0iZm9ybS1jaGVja2JveC1sYWJlbCIgZm9yPSJwcm9mZXNzaW9uLWNoZWNrYm94LXZhbGlkYXRpb24iPgogICAgICBJbnbDoWxpZG8KICAgIDwvbGFiZWw+CiAgPC9kaXY+Cg==', + }, + { + name: 'select', + code: 'PGRpdiBjbGFzcz0iZm9ybS1sYWJlbC1jb250YWluZXIiPgogIDxsYWJlbCBmb3I9ImlucHV0LXNlbGVjdCIgY2xhc3M9ImZvcm0tbGFiZWwiPgogICAgTm9tYnJlIGRlbCBzZWxlY3RvciAqCiAgPC9sYWJlbD4KPC9kaXY+CjxzZWxlY3QgY2xhc3M9ImZvcm0tY29udHJvbCBmb3JtLXNlbGVjdCIgYXJpYS1sYWJlbD0iRWplbXBsbyBkZSBzZWxlY2Npw7NuIHBvciBkZWZlY3RvIj4KICAgIDxvcHRpb24gdmFsdWU9IjAiPlNlbGVjY2lvbmFyPC9vcHRpb24+CiAgICA8b3B0aW9uIHZhbHVlPSIxIj5PcGNpw7NuPC9vcHRpb24+CiAgICA8b3B0aW9uIHZhbHVlPSIyIj5PcGNpw7NuPC9vcHRpb24+CiAgICA8b3B0aW9uIHZhbHVlPSIzIj5PcGNpw7NuPC9vcHRpb24+Cjwvc2VsZWN0Pgo8cCBjbGFzcz0iZm9ybS1sYWJlbC1kZXNjcmlwdGlvbiI+Q2FtcG8gZGUgYXNpc3RlbmNpYTwvcD4K', + }, + { + name: 'input-file', + code: 'ICAgIDxkaXYgY2xhc3M9ImZvcm0tbGFiZWwtY29udGFpbmVyIj4KICAgICAgPGxhYmVsIGZvcj0iZXhhbXBsZUlucHV0RmlsZSIgY2xhc3M9ImZvcm0tbGFiZWwiPkxhYmVsPC9sYWJlbD4KICAgICAgPHNwYW4gY2xhc3M9ImJhZGdlLWZvcm1zIGJhZGdlLXJlcXVpcmVkLWZvcm1zIj5SZXF1ZXJpZG88L3NwYW4+CiAgICA8L2Rpdj4KICAgIDxpbnB1dCAKICAgICAgdHlwZT0iZmlsZSIgCiAgICAgIGNsYXNzPSJmb3JtLWNvbnRyb2wiIAogICAgICBpZD0iZXhhbXBsZUlucHV0RmlsZSIKICAgICAgbmFtZT0idXBsb2FkZWRGaWxlIgogICAgICBhcmlhLWRlc2NyaWJlZGJ5PSJjYXJnYSBkZSBhcmNoaXZvIgogICAgICBhY2NlcHQ9ImltYWdlL3BuZywgaW1hZ2UvanBlZyIgCiAgICAvPgogICAgPHAgY2xhc3M9ImZvcm0tbGFiZWwtZGVzY3JpcHRpb24iPgogICAgICBFc3RlIGVzIHVuIHRleHRvIGRlIGF5dWRhIHF1ZSBkYSBtYXMgaW5mb3JtYWNpw7NuIHNvYnJlIGVsIElucHV0LiBFcyBvcGNpb25hbCwgcGVybyByZWNvbWVuZGFkbywgeSBkZSBubyBtw6FzIGRlIDMgbMOtbmVhcy4KICAgIDwvcD4K', + }, + { + name: 'input-validation', + code: 'ICAgIDxkaXYgY2xhc3M9ImZvcm0tbGFiZWwtY29udGFpbmVyIj4KICAgICAgPGxhYmVsIGZvcj0iZXhhbXBsZUlucHV0VGV4dG8iIGNsYXNzPSJmb3JtLWxhYmVsIj5MYWJlbDwvbGFiZWw+CiAgICAgIDxzcGFuIGNsYXNzPSJiYWRnZS1mb3JtcyBiYWRnZS1yZXF1aXJlZC1mb3JtcyI+UmVxdWVyaWRvPC9zcGFuPgogICAgPC9kaXY+CiAgICA8aW5wdXQgCiAgICAgIHR5cGU9InRleHQiIAogICAgICBjbGFzcz0iZm9ybS1jb250cm9sIGlzLWludmFsaWQiIAogICAgICBpZD0iZXhhbXBsZUlucHV0VGV4dG8iIAogICAgICBuYW1lPSJjYW1wb1RleHRvIgogICAgICBhcmlhLWRlc2NyaWJlZGJ5PSJUZXh0IiAKICAgICAgYXJpYS1yZXF1aXJlZD0idHJ1ZSIKICAgICAgcGxhY2Vob2xkZXI9IlRleHRvIiAKICAgIC8+CiAgICA8cCBjbGFzcz0iZm9ybS1sYWJlbC1kZXNjcmlwdGlvbiI+CiAgICAgIEVzdGUgZXMgdW4gdGV4dG8gZGUgYXl1ZGEgcXVlIGRhIG1hcyBpbmZvcm1hY2nDs24gc29icmUgZWwgSW5wdXQuIEVzIG9wY2lvbmFsLCBwZXJvIHJlY29tZW5kYWRvLCB5IGRlIG5vIG3DoXMgZGUgMyBsw61uZWFzLgogICAgPC9wPgogICAgPGRpdiBjbGFzcz0iaW52YWxpZC1mZWVkYmFjayI+CiAgICAgIDxwPkxvcyBkYXRvcyBpbnRyb2R1Y2lkb3Mgc29uIGludsOhbGlkb3MuPC9wPgogICAgPC9kaXY+Cg==', + }, + { + name: 'group-access', + code: 'CjxkaXYgY2xhc3M9Imdyb3VwLWFjY2VzcyI+CiAgPGRpdiBjbGFzcz0iY2FyZC1hY2Nlc3MiPgogICAgPGRpdiBjbGFzcz0iY2FyZC1hY2Nlc3MtYm9keSByZXZlcnNlIj4KICAgICAgPGRpdj4KICAgICAgICA8aDQgY2xhc3M9ImNhcmQtYWNjZXNzLXRpdGxlIj5Uw610dWxvIGRlbCBvcmdhbmlzbW8gZGUgbcOheGltbyAyIGzDrW5lYXM8L2g0PgogICAgICAgIDxwIGNsYXNzPSJjYXJkLWFjY2Vzcy10ZXh0Ij5EZXNjcmlwY2nDs24gZGVsIG9yZ2FuaXNtbyBkZSBtw6F4aW1vIDMgbMOtbmVhcy48L3A+CiAgICAgIDwvZGl2PgogICAgICA8c3BhbiBjbGFzcz0iY2FyZC1hY2Nlc3MtaWNvbiBtYXRlcmlhbC1zeW1ib2xzLXJvdW5kZWQiIGFyaWEtaGlkZGVuPSJ0cnVlIj5pbmZvPC9zcGFuPgogICAgPC9kaXY+CiAgICA8YSBocmVmPSIjIiBjbGFzcz0ibGlzdC1ncm91cC1pdGVtIGNhcmQtaXRlbSI+CiAgICAgIDxzcGFuIGNsYXNzPSJtYXRlcmlhbC1zeW1ib2xzLXJvdW5kZWQgby1pY29uIiBhcmlhLWhpZGRlbj0idHJ1ZSI+aW5mbzwvc3Bhbj4KICAgICAgPGRpdiBjbGFzcz0iYWNjZXNzLWNvbnRlbnQiPgogICAgICAgIDxzcGFuIGNsYXNzPSJhY2Nlc3MtdGl0bGUiPkFjY2Vzbzwvc3Bhbj4KICAgICAgICA8cCBjbGFzcz0iYWNjZXNzLXRleHQiPkRlc2NyaXBjacOzbiAoT3BjaW9uYWwpPC9wPgogICAgICA8L2Rpdj4KICAgIDwvYT4KICA8L2Rpdj4KPC9kaXY+Cg==', + }, + { + name: 'calendar', + code: 'PGRpdiBjbGFzcz0iY2FsZW5kYXIiPgogICAgPGRpdiBjbGFzcz0iY2FsZW5kYXItaGVhZGVyIj4KICAgICAgICA8aDIgY2xhc3M9ImNhbGVuZGFyLXRpdGxlIj5FbmVybzwvaDI+CiAgICAgICAgPHNwYW4gY2xhc3M9ImNhbGVuZGFyLXllYXIiPjIwMjQ8L3NwYW4+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9ImNhbGVuZGFyLWJvZHkiPgogICAgICAgIDx0YWJsZT4KICAgICAgICA8dGhlYWQ+CiAgICAgICAgICAgIDx0ciBjbGFzcz0iY2FsZW5kYXItd2Vlay1oZWFkZXIiPgogICAgICAgICAgICA8dGg+PHNwYW4+RDwvc3Bhbj48L3RoPgogICAgICAgICAgICA8dGg+PHNwYW4+TDwvc3Bhbj48L3RoPgogICAgICAgICAgICA8dGg+PHNwYW4+TTwvc3Bhbj48L3RoPgogICAgICAgICAgICA8dGg+PHNwYW4+TTwvc3Bhbj48L3RoPgogICAgICAgICAgICA8dGg+PHNwYW4+Sjwvc3Bhbj48L3RoPgogICAgICAgICAgICA8dGg+PHNwYW4+Vjwvc3Bhbj48L3RoPgogICAgICAgICAgICA8dGg+PHNwYW4+Uzwvc3Bhbj48L3RoPgogICAgICAgICAgICA8L3RyPgogICAgICAgIDwvdGhlYWQ+CiAgICAgICAgPHRib2R5PgogICAgICAgICAgICA8dHIgY2xhc3M9ImNhbGVuZGFyLXdlZWsiPgogICAgICAgICAgICA8dGQ+PC90ZD4KICAgICAgICAgICAgPHRkPgogICAgICAgICAgICAgICAgPHNwYW4gdGl0bGU9Ik5vbWJyZSBkZWwgZXZlbnRvLiI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iYWN0aXZlIj4xPC9zcGFuPgogICAgICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICA8L3RkPgogICAgICAgICAgICA8dGQ+PHNwYW4+Mjwvc3Bhbj48L3RkPgogICAgICAgICAgICA8dGQ+PHNwYW4+Mzwvc3Bhbj48L3RkPgogICAgICAgICAgICA8dGQ+PHNwYW4+NDwvc3Bhbj48L3RkPgogICAgICAgICAgICA8dGQ+PHNwYW4+NTwvc3Bhbj48L3RkPgogICAgICAgICAgICA8dGQ+PHNwYW4+Njwvc3Bhbj48L3RkPgogICAgICAgICAgICA8L3RyPgogICAgICAgICAgICA8dHIgY2xhc3M9ImNhbGVuZGFyLXdlZWsiPgogICAgICAgICAgICA8dGQ+PHNwYW4+Nzwvc3Bhbj48L3RkPgogICAgICAgICAgICA8dGQ+PHNwYW4+ODwvc3Bhbj48L3RkPgogICAgICAgICAgICA8dGQ+PHNwYW4+OTwvc3Bhbj48L3RkPgogICAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgICA8c3BhbiB0aXRsZT0iTm9tYnJlIGRlbCBldmVudG8uIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJhY3RpdmUiPjEwPC9zcGFuPgogICAgICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICA8L3RkPgogICAgICAgICAgICA8dGQ+PHNwYW4+MTE8L3NwYW4+PC90ZD4KICAgICAgICAgICAgPHRkPjxzcGFuPjEyPC9zcGFuPjwvdGQ+CiAgICAgICAgICAgIDx0ZD48c3Bhbj4xMzwvc3Bhbj48L3RkPgogICAgICAgICAgICA8L3RyPgogICAgICAgICAgICA8dHIgY2xhc3M9ImNhbGVuZGFyLXdlZWsiPgogICAgICAgICAgICA8dGQ+PHNwYW4+MTQ8L3NwYW4+PC90ZD4KICAgICAgICAgICAgPHRkPjxzcGFuPjE1PC9zcGFuPjwvdGQ+CiAgICAgICAgICAgIDx0ZD48c3Bhbj4xNjwvc3Bhbj48L3RkPgogICAgICAgICAgICA8dGQ+PHNwYW4+MTc8L3NwYW4+PC90ZD4KICAgICAgICAgICAgPHRkPjxzcGFuPjE4PC9zcGFuPjwvdGQ+CiAgICAgICAgICAgIDx0ZD48c3Bhbj4xOTwvc3Bhbj48L3RkPgogICAgICAgICAgICA8dGQ+PHNwYW4+MjA8L3NwYW4+PC90ZD4KICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgPHRyIGNsYXNzPSJjYWxlbmRhci13ZWVrIj4KICAgICAgICAgICAgPHRkPjxzcGFuPjIxPC9zcGFuPjwvdGQ+CiAgICAgICAgICAgIDx0ZD48c3Bhbj4yMjwvc3Bhbj48L3RkPgogICAgICAgICAgICA8dGQ+PHNwYW4+MjM8L3NwYW4+PC90ZD4KICAgICAgICAgICAgPHRkPjxzcGFuPjI0PC9zcGFuPjwvdGQ+CiAgICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICAgIDxzcGFuIHRpdGxlPSJOb21icmUgZGVsIGV2ZW50by4iPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImFjdGl2ZSI+MjU8L3NwYW4+CiAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgIDx0ZD48c3Bhbj4yNjwvc3Bhbj48L3RkPgogICAgICAgICAgICA8dGQ+PHNwYW4+Mjc8L3NwYW4+PC90ZD4KICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgPHRyIGNsYXNzPSJjYWxlbmRhci13ZWVrIj4KICAgICAgICAgICAgPHRkPjxzcGFuPjI4PC9zcGFuPjwvdGQ+CiAgICAgICAgICAgIDx0ZD48c3Bhbj4yOTwvc3Bhbj48L3RkPgogICAgICAgICAgICA8dGQ+PHNwYW4+MzA8L3NwYW4+PC90ZD4KICAgICAgICAgICAgPHRkPjxzcGFuPjMxPC9zcGFuPjwvdGQ+CiAgICAgICAgICAgIDx0ZD48c3Bhbj48L3NwYW4+PC90ZD4KICAgICAgICAgICAgPHRkPjxzcGFuPjwvc3Bhbj48L3RkPgogICAgICAgICAgICA8dGQ+PHNwYW4+PC9zcGFuPjwvdGQ+CiAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgIDx0ciBjbGFzcz0iY2FsZW5kYXItd2VlayI+CiAgICAgICAgICAgIDx0ZD48c3Bhbj48L3NwYW4+PC90ZD4KICAgICAgICAgICAgPHRkPjxzcGFuPjwvc3Bhbj48L3RkPgogICAgICAgICAgICA8dGQ+PHNwYW4+PC9zcGFuPjwvdGQ+CiAgICAgICAgICAgIDx0ZD48c3Bhbj48L3NwYW4+PC90ZD4KICAgICAgICAgICAgPHRkPjxzcGFuPjwvc3Bhbj48L3RkPgogICAgICAgICAgICA8dGQ+PHNwYW4+PC9zcGFuPjwvdGQ+CiAgICAgICAgICAgIDx0ZD48c3Bhbj48L3NwYW4+PC90ZD4KICAgICAgICAgICAgPC90cj4KICAgICAgICA8L3Rib2R5PgogICAgICAgIDwvdGFibGU+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9ImNhbGVuZGFyLWZvb3RlciI+CiAgICAgICAgPHVsIGNsYXNzPSJjYWxlbmRhci1mb290ZXItbGlzdCI+CiAgICAgICAgPGxpPgogICAgICAgICAgICA8c3Ryb25nPjEuIDwvc3Ryb25nPgogICAgICAgICAgICBOb21icmUgZGVsIGV2ZW50by4KICAgICAgICA8L2xpPgogICAgICAgIDxsaT4KICAgICAgICAgICAgPHN0cm9uZz4xMC4gPC9zdHJvbmc+CiAgICAgICAgICAgIE5vbWJyZSBkZWwgZXZlbnRvLgogICAgICAgIDwvbGk+CiAgICAgICAgPGxpPgogICAgICAgICAgICA8c3Ryb25nPjI1LiA8L3N0cm9uZz4KICAgICAgICAgICAgTm9tYnJlIGRlbCBldmVudG8uCiAgICAgICAgPC9saT4KICAgICAgICA8L3VsPgogICAgPC9kaXY+CjwvZGl2Pg==', + }, + { + name: 'form', + code: 'CjxkaXYgY2xhc3M9InN0ZXBwZXItY29udGVudCI+CiAgPGRpdiBjbGFzcz0ic3RlcHBlciI+CiAgICA8aDIgY2xhc3M9InN0ZXAtdGl0bGUiPk5vbWJyZSBkZWwgcGFzbzwvaDI+CiAgICA8cCBjbGFzcz0ic3RlcC1zdWJ0aXRsZSI+UGFzbyBzaWd1aWVudGU6IE5vbWJyZSBkZWwgcGFzbyAzPC9wPgogICAgPGRpdiBjbGFzcz0ic3RlcHMiPgogICAgICA8ZGl2IGNsYXNzPSJzdGVwcy1pdGVtcyI+CiAgICAgICAgPGRpdiBjbGFzcz0ic3RlcHMtaXRlbSBhY3RpdmUiPjwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InN0ZXBzLWl0ZW0gYWN0aXZlIj48L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJzdGVwcy1pdGVtIj48L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJzdGVwcy1pdGVtIj48L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJzdGVwcy1pdGVtIj48L2Rpdj4KICAgICAgPC9kaXY+CiAgICAgIDxzcGFuIGNsYXNzPSJzdGVwcy1kZXRhaWwiPlBhc28gMiBkZSA1PC9zcGFuPgogICAgPC9kaXY+CiAgPC9kaXY+CjwvZGl2Pgo=', + }, + { + name: 'table', + code: 'CjxkaXYgY2xhc3M9InJlc3BvbnNpdmUtc2Nyb2xsIiB0YWJJbmRleD0iMCI+CiAgICA8dGFibGUgY2xhc3M9InRhYmxlIHRhYmxlLWJvcmRlcmxlc3MiPgogICAgICAgIDx0aGVhZD4KICAgICAgICAgICAgPHRyPgogICAgICAgICAgICA8dGggc2NvcGU9ImNvbCIgY2xhc3M9InRiLW51bWJlciI+TsO6bWVybzwvdGg+CiAgICAgICAgICAgIDx0aCBzY29wZT0iY29sIiBjbGFzcz0idGItdGV4dCI+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRoLXRpdGxlIj5Uw610dWxvIGRlIGxhIGNlbGRhPC9zcGFuPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0aC1zdWJ0aXRsZSI+U3VidMOtdHVsbyBkZSBoYXN0YSAyIGzDrW5lYXMgZG9uZGUgc2UgcHVlZGUgc3VtYXIgY29udGVuaWRvIGRlIHNvcG9ydGU8L3NwYW4+CiAgICAgICAgICAgIDwvdGg+CiAgICAgICAgICAgIDx0aCBzY29wZT0iY29sIiBjbGFzcz0idGItbGluayI+RW5sYWNlPC90aD4KICAgICAgICAgICAgPHRoIHNjb3BlPSJjb2wiIGNsYXNzPSJ0Yi1idXR0b24iPkJvdMOzbjwvdGg+CiAgICAgICAgICAgIDx0aCBzY29wZT0iY29sIiBjbGFzcz0idGItY2hlY2siPkNoZWNrYm94PC90aD4KICAgICAgICAgICAgPHRoIHNjb3BlPSJjb2wiIGNsYXNzPSJ0Yi10YWciPkV0aXF1ZXRhPC90aD4KICAgICAgICAgICAgPC90cj4KICAgICAgICA8L3RoZWFkPgogICAgICAgIDx0Ym9keT4KICAgICAgICAgICAgPHRyPgogICAgICAgICAgICA8dGQgY2xhc3M9InRleHQtcmlnaHQiPjE8L3RkPgogICAgICAgICAgICA8dGQ+SnVhbjwvdGQ+CiAgICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICAgIDxhIGhyZWY9IiMiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vcmVmZXJyZXIiPgogICAgICAgICAgICAgICAgRW5sYWNlIHByZWRldGVybWluYWRvCiAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iYnRuIGJ0bi1vdXRsaW5lLXRlcnRpYXJ5Ij5Cb3TDs248L2J1dHRvbj4KICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgPHRkPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1jaGVja2JveCI+CiAgICAgICAgICAgICAgICAgICAgPGlucHV0CiAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImZvcm0tY2hlY2tib3gtaW5wdXQiCiAgICAgICAgICAgICAgICAgICAgdHlwZT0iY2hlY2tib3giCiAgICAgICAgICAgICAgICAgICAgbmFtZT0icHJvZmVzc2lvbkNoZWNrYm94IgogICAgICAgICAgICAgICAgICAgIGlkPSJwcm9mZXNzaW9uLWNoZWNrYm94LWRlc2lnbmVyIgogICAgICAgICAgICAgICAgICAgIHZhbHVlPSJkaXNlw7FhZG9yIgogICAgICAgICAgICAgICAgICAgIC8+CiAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJmb3JtLWNoZWNrYm94LWxhYmVsIiBmb3I9InByb2Zlc3Npb24tY2hlY2tib3gtZGVzaWduZXIiPgogICAgICAgICAgICAgICAgICAgIENoZWNrYm94CiAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L3RkPgogICAgICAgICAgICA8dGQ+PHNwYW4gY2xhc3M9ImJhZGdlIGJhZGdlLWRlZmF1bHQiPlRleHRvIHByZWRldGVybWluYWRvPC9zcGFuPjwvdGQ+CiAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgPHRkIGNsYXNzPSJ0ZXh0LXJpZ2h0Ij4yPC90ZD4KICAgICAgICAgICAgPHRkPk1hcsOtYTwvdGQ+CiAgICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICAgIDxhIGhyZWY9IiMiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vcmVmZXJyZXIiPgogICAgICAgICAgICAgICAgRW5sYWNlIHByZWRldGVybWluYWRvCiAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iYnRuIGJ0bi1vdXRsaW5lLXRlcnRpYXJ5Ij5Cb3TDs248L2J1dHRvbj4KICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgPHRkPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1jaGVja2JveCI+CiAgICAgICAgICAgICAgICAgICAgPGlucHV0CiAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImZvcm0tY2hlY2tib3gtaW5wdXQiCiAgICAgICAgICAgICAgICAgICAgdHlwZT0iY2hlY2tib3giCiAgICAgICAgICAgICAgICAgICAgbmFtZT0icHJvZmVzc2lvbkNoZWNrYm94IgogICAgICAgICAgICAgICAgICAgIGlkPSJwcm9mZXNzaW9uLWNoZWNrYm94LWRldmVsb3BlciIKICAgICAgICAgICAgICAgICAgICB2YWx1ZT0iZGVzYXJyb2xsYWRvciIKICAgICAgICAgICAgICAgICAgICAvPgogICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iZm9ybS1jaGVja2JveC1sYWJlbCIgZm9yPSJwcm9mZXNzaW9uLWNoZWNrYm94LWRldmVsb3BlciI+CiAgICAgICAgICAgICAgICAgICAgQ2hlY2tib3gKICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgIDx0ZD48c3BhbiBjbGFzcz0iYmFkZ2UgYmFkZ2UtZGFuZ2VyIj5UZXh0byBwcmVkZXRlcm1pbmFkbzwvc3Bhbj48L3RkPgogICAgICAgICAgICA8L3RyPgogICAgICAgICAgICA8dHI+CiAgICAgICAgICAgIDx0ZCBjbGFzcz0idGV4dC1yaWdodCI+MzwvdGQ+CiAgICAgICAgICAgIDx0ZD5Fc3RoZXI8L3RkPgogICAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgICA8YSBocmVmPSIjIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub3JlZmVycmVyIj4KICAgICAgICAgICAgICAgIEVubGFjZSBwcmVkZXRlcm1pbmFkbwogICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L3RkPgogICAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImJ0biBidG4tb3V0bGluZS10ZXJ0aWFyeSI+Qm90w7NuPC9idXR0b24+CiAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tY2hlY2tib3giPgogICAgICAgICAgICAgICAgICAgIDxpbnB1dAogICAgICAgICAgICAgICAgICAgIGNsYXNzPSJmb3JtLWNoZWNrYm94LWlucHV0IgogICAgICAgICAgICAgICAgICAgIHR5cGU9ImNoZWNrYm94IgogICAgICAgICAgICAgICAgICAgIG5hbWU9InByb2Zlc3Npb25DaGVja2JveCIKICAgICAgICAgICAgICAgICAgICBpZD0icHJvZmVzc2lvbi1jaGVja2JveC1jb250ZW50LTEiCiAgICAgICAgICAgICAgICAgICAgdmFsdWU9InJlZGFjdG9yIgogICAgICAgICAgICAgICAgICAgIC8+CiAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJmb3JtLWNoZWNrYm94LWxhYmVsIiBmb3I9InByb2Zlc3Npb24tY2hlY2tib3gtY29udGVudC0xIj4KICAgICAgICAgICAgICAgICAgICBDaGVja2JveAogICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgPHRkPjxzcGFuIGNsYXNzPSJiYWRnZSBiYWRnZS1pbmZvIj5UZXh0byBwcmVkZXRlcm1pbmFkbzwvc3Bhbj48L3RkPgogICAgICAgICAgICA8L3RyPgogICAgICAgICAgICA8dHI+CiAgICAgICAgICAgIDx0ZCBjbGFzcz0idGV4dC1yaWdodCI+NDwvdGQ+CiAgICAgICAgICAgIDx0ZD5Kb3PDqTwvdGQ+CiAgICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICAgIDxhIGhyZWY9IiMiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vcmVmZXJyZXIiPgogICAgICAgICAgICAgICAgRW5sYWNlIHByZWRldGVybWluYWRvCiAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iYnRuIGJ0bi1vdXRsaW5lLXRlcnRpYXJ5Ij5Cb3TDs248L2J1dHRvbj4KICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgPHRkPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1jaGVja2JveCI+CiAgICAgICAgICAgICAgICAgICAgPGlucHV0CiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJmb3JtLWNoZWNrYm94LWlucHV0IgogICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJjaGVja2JveCIKICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT0icHJvZmVzc2lvbkNoZWNrYm94IgogICAgICAgICAgICAgICAgICAgICAgICBpZD0icHJvZmVzc2lvbi1jaGVja2JveC1jb250ZW50LTIiCiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPSJyZWRhY3RvciIKICAgICAgICAgICAgICAgICAgICAgICAgLz4KICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9ImZvcm0tY2hlY2tib3gtbGFiZWwiIGZvcj0icHJvZmVzc2lvbi1jaGVja2JveC1jb250ZW50LTIiPgogICAgICAgICAgICAgICAgICAgICAgICBDaGVja2JveAogICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgPHRkPjxzcGFuIGNsYXNzPSJiYWRnZSBiYWRnZS13YXJuaW5nIj5UZXh0byBwcmVkZXRlcm1pbmFkbzwvc3Bhbj48L3RkPgogICAgICAgICAgICA8L3RyPgogICAgICAgIDwvdGJvZHk+CiAgICA8L3RhYmxlPgo8L2Rpdj4K', + }, + ]); + console.log('Seeding completado exitosamente.'); process.exit(0); } catch (err) { diff --git a/src/utils/sendResponse.ts b/src/utils/sendResponse.ts index 693bafc..df07c77 100644 --- a/src/utils/sendResponse.ts +++ b/src/utils/sendResponse.ts @@ -1,7 +1,12 @@ import { Response } from 'express'; -const sendResponse = (res: Response, statusCode: number, data: any) => { - return res.status(statusCode).json(data); +const sendResponse = (res: Response, statusCode: number, data: any, json: boolean = true) => { + res.status(statusCode); + if (json) res.json(data); + else { + res.set('Content-Type', 'text/html; charset=utf-8'); + res.send(data); + } }; export default sendResponse; diff --git a/src/utils/types.ts b/src/utils/types.ts index 1308235..cd8eafc 100644 --- a/src/utils/types.ts +++ b/src/utils/types.ts @@ -26,6 +26,12 @@ export interface Image { url: string; } +export interface Component { + id: UUID; + name: string; + code: string; +} + export interface Footer { phones?: Phone[];