Plugin Directory

Changeset 2877400


Ignore:
Timestamp:
03/09/2023 05:40:11 PM (3 years ago)
Author:
blockprotocol
Message:

upload trunk to code for 0.0.3, reorganize folder structure

Location:
blockprotocol/trunk
Files:
26 added
4 deleted
21 edited
3 moved

Legend:

Unmodified
Added
Removed
  • blockprotocol/trunk/block-protocol.php

    r2874497 r2877400  
    22/**
    33 * @package blockprotocol
    4  * @version 0.0.2
     4 * @version 0.0.3
    55 */
    66/*
     
    1010Author: Block Protocol
    1111Author URI: https://blockprotocol.org/?utm_medium=organic&utm_source=wordpress_plugin-directory_blockprotocol-plugin_author-name
    12 Version: 0.0.2
     12Version: 0.0.3
    1313Requires at least: 5.6.0
    1414Tested up to: 6.1.1
     
    1717*/
    1818
    19 const BLOCK_PROTOCOL_PLUGIN_VERISON = "0.0.2";
     19const BLOCK_PROTOCOL_PLUGIN_VERISON = "0.0.3";
    2020
    2121if (is_readable(__DIR__ . '/vendor/autoload.php')) {
     
    2626add_action('init', 'block_protocol_sentry_init');
    2727
     28require_once __DIR__ . "/server/settings.php";
    2829require_once __DIR__ . "/server/block-db-table.php";
    2930require_once __DIR__ . "/server/query.php";
    3031require_once __DIR__ . "/server/block-api-endpoints.php";
    31 require_once __DIR__ . "/server/settings.php";
    3232require_once __DIR__ . "/server/util.php";
    3333
    34 // str_starts_with introduces a minimum WP version of 5.9.0 – we can avoid it by using this instead
     34// str_starts_with introduces a minimum WP version of 5.9.0 - we can avoid it by using this instead
    3535function block_protocol_starts_with($haystack, $needle)
    3636{
     
    8585    if (!isset($options['block_protocol_field_api_key']) || strlen($options['block_protocol_field_api_key']) < 1) {
    8686        $return['errors'][0] = [];
    87         $return['errors'][0]['msg'] = 'You need to set an API key in order to use the plugin';
     87        $return['errors'][0]['msg'] = 'You need to set an API key in order to use the plugin – select Block Protocol from the left sidebar';
    8888        return $return;
    8989    }
     
    105105    if (is_wp_error($block_response)) {
    106106        $return['errors'][0] = [];
    107         $return['errors'][0]['msg'] = 'Error connecting to Block Protocol API';
     107        $return['errors'][0]['msg'] = 'Error connecting to Block Protocol API – please try again in a minute.';
     108        block_protocol_maybe_capture_error("BP API error " . json_encode($block_response, JSON_PRETTY_PRINT));
    108109        return $return;
    109110    }
     
    114115        return $body;
    115116    }
     117
     118    if (!isset($body['results'])) {
     119    $return['errors'][0] = [];
     120    $return['errors'][0]['msg'] = 'Error connecting to the API – please try again in a minute.';
     121    block_protocol_maybe_capture_error("BP API error " . json_encode($block_response, JSON_PRETTY_PRINT));
     122    return $return;
     123  }
    116124
    117125    $blocks = $body['results'];
     
    138146        ?>
    139147        <div class="notice notice-error is-dismissible">
    140             <p>Block Protocol:
     148            <p style="margin-bottom:0;">Block Protocol:
    141149                <?php echo (esc_html($message)) ?>
     150                <a href="https://blockprotocol.org/contact" style="margin-left:10px;">Get Help</a>
    142151            <p>
    143152        </div>
     
    146155}
    147156
     157function block_protocol_database_unsupported()
     158{
     159    $supported = block_protocol_is_database_supported();
     160
     161    if (!$supported) {
     162        ?>
     163        <div class="notice notice-error is-dismissible">
     164            <p>Block Protocol:
     165                <?php
     166               
     167                echo (esc_html(
     168                    "The database you are using is not supported by the plugin. Please use MySQL "
     169                    . BLOCK_PROTOCOL_MINIMUM_MYSQL_VERSION
     170                    . "+ or MariaDB "
     171                    . BLOCK_PROTOCOL_MINIMUM_MARIADB_VERSION
     172                    . "+"));
     173                ?>
     174            <p>
     175        </div>
     176    <?php
     177    }
     178}
     179
    148180global $pagenow;
    149181if ($pagenow == 'index.php' || $pagenow == 'plugins.php' || ($pagenow == 'admin.php' && ('block_protocol' === $_GET['page']))) {
    150182    add_action('admin_notices', 'check_block_protocol_connection');
     183    add_action('admin_notices', 'block_protocol_database_unsupported');
    151184}
    152185
     
    172205}
    173206
    174 // Admin-side setup for the block:
    175 // 1. register the category for the block
    176 // 2. register the editor script + dependencies
    177 // 3. register the plugin block
    178 // 4. contact the BP API and fetch BP blocks
    179 //    - enqueue block data for adding to the frontend
    180 //    - register each BP block as a variation of the plugin block
     207// Add the block category for our block
    181208function block_protocol_init()
    182209{
     210    // DB is unsupported - bail
     211  if (!block_protocol_is_database_supported()) {
     212    return;
     213  }
     214
    183215    $response = get_block_protocol_blocks();
    184216    if (isset($response['errors'])) {
     
    186218        return;
    187219    }
    188 
     220 
    189221    // add the block category
    190222    add_filter('block_categories_all', function ($categories) {
     
    193225                [
    194226                    'slug' => 'blockprotocol',
    195                     'title' => 'Block Protocol'
     227                    'title' => 'Block Protocol',
    196228                ]
    197229            ],
     
    200232    });
    201233
     234    if (!WP_Block_Type_Registry::get_instance()->is_registered('blockprotocol/block')) {
     235        register_block_type(
     236            "blockprotocol/block",
     237            [
     238                'render_callback' => 'block_dynamic_render_callback',
     239            ]
     240        );
     241    }
     242}
     243
     244add_action('admin_init', 'block_protocol_init');
     245
     246// Register editor-only assets
     247// 1. register the editor script + dependencies
     248// 2. contact the BP API and fetch BP blocks
     249//    - enqueue block data for adding to the frontend
     250// 3. enqueue script that registers each BP block as a variation of the plugin block
     251function block_protocol_editor_assets() {
     252    $response = get_block_protocol_blocks();
     253    if (isset($response['errors'])) {
     254        // user needs to set a valid API key – bail
     255        return;
     256    }
     257 
    202258    // this file has a list of the dependencies our FE block code uses, so we can include those too
    203259    $asset_file = include(plugin_dir_path(__FILE__) . 'build/index.asset.php');
    204260
    205     // register and enqueue the main plugin script that registers the block and has the editing view
     261    // register and enqueue the main block script
    206262    wp_register_script(
    207263        'blockprotocol-script',
     
    220276    wp_add_inline_script('blockprotocol-script', "block_protocol_data = " . json_encode($data));
    221277
    222     if (!WP_Block_Type_Registry::get_instance()->is_registered('blockprotocol/block')) {
    223         register_block_type(
    224             "blockprotocol/block",
    225             [
    226                 'render_callback' => 'block_dynamic_render_callback',
    227             ]
    228         );
    229     }
    230 
    231278    // register and enqueue the script that registers a variation of our block for each BP block available
    232279    $variations_asset_file = include(plugin_dir_path(__FILE__) . 'build/register-variations.asset.php');
     
    240287}
    241288
    242 add_action('admin_init', 'block_protocol_init');
     289add_action('enqueue_block_editor_assets', 'block_protocol_editor_assets');
    243290
    244291// End-user / rendered page setup for the plugin
  • blockprotocol/trunk/block/edit-or-preview/edit.tsx

    r2877399 r2877400  
    1 import { useBlockProps } from "@wordpress/block-editor";
    21import {
     2  EntityRootType,
    33  GraphEmbedderMessageCallbacks,
     4  RemoteFileEntity,
    45  Subgraph,
    5   EntityRootType,
    66  VersionedUrl,
    7   RemoteFileEntity,
    87} from "@blockprotocol/graph";
    98import { buildSubgraph } from "@blockprotocol/graph/stdlib";
     9import { ServiceEmbedderMessageCallbacks } from "@blockprotocol/service";
     10import { useBlockProps } from "@wordpress/block-editor";
    1011import { useCallback, useEffect, useMemo, useRef, useState } from "react";
    1112
     
    1314  blockSubgraphResolveDepths,
    1415  createEntity as apiCreateEntity,
     16  dbEntityToEntity,
    1517  deleteEntity as apiDeleteEntity,
     18  getEntitySubgraph,
     19  queryEntities,
    1620  updateEntity as apiUpdateEntity,
    1721  uploadFile as apiUploadFile,
    18   dbEntityToEntity,
    19   getEntitySubgraph,
    20   queryEntities,
    21 } from "./shared";
    22 
    23 import { BlockLoader } from "./block-loader";
     22} from "../shared/api";
     23import { BlockLoader } from "../shared/block-loader";
    2424import { CustomBlockControls } from "./edit/block-controls";
    2525import { LoadingImage } from "./edit/loading-image";
    26 import { ServiceEmbedderMessageCallbacks } from "@blockprotocol/service/.";
    2726import { constructServiceModuleCallbacks } from "./edit/service-callbacks";
    2827
     
    4342
    4443/**
    45  * The admin view of the block – the block is in editable mode, with callbacks to create, update, and delete entities
     44 * The admin view of the block – the block is in editable mode, with callbacks to create, update, and delete entities
    4645 */
    4746export const Edit = ({
    48   attributes: { blockName, entityId, entityTypeId, preview, sourceUrl },
     47  attributes: { blockName, entityId, entityTypeId, sourceUrl },
    4948  setAttributes,
    5049}: EditProps) => {
     
    6059  const selectedBlock = blocks?.find((block) => block.source === sourceUrl);
    6160
    62   if (preview) {
    63     // if we're previewing blocks we're coming from the block selector – should only be loading latest
    64     if (!selectedBlock) {
    65       throw new Error("No block data from server – could not preview");
    66     }
    67 
    68     return (
    69       <img
    70         src={
    71           selectedBlock?.image
    72             ? selectedBlock.image
    73             : "https://blockprotocol.org/assets/default-block-img.svg"
    74         }
    75         style={{
    76           width: "100%",
    77           height: "auto",
    78           objectFit: "contain",
    79         }}
    80       />
    81     );
    82   }
    83 
    84   const setEntityId = (entityId: string) => setAttributes({ entityId });
     61  const setEntityId = useCallback(
     62    (newEntityId: string) => setAttributes({ entityId: newEntityId }),
     63    [setAttributes],
     64  );
    8565
    8666  const creating = useRef(false);
     
    9373    if (!entityId) {
    9474      creating.current = true;
    95       apiCreateEntity({
     75      void apiCreateEntity({
    9676        entityTypeId,
    9777        properties: {},
     
    11595            },
    11696          ],
    117           blockSubgraphResolveDepths
     97          blockSubgraphResolveDepths,
    11898        );
    11999        setEntitySubgraph(subgraph);
     
    125105      entitySubgraph.roots[0]?.baseId !== entityId
    126106    ) {
    127       getEntitySubgraph({
     107      void getEntitySubgraph({
    128108        data: {
    129109          entityId,
     
    137117      });
    138118    }
    139   }, [entitySubgraph, entityId]);
     119  }, [
     120    entitySubgraph,
     121    entityId,
     122    entityTypeId,
     123    sourceUrl,
     124    selectedBlock?.version,
     125    setEntityId,
     126  ]);
    140127
    141128  const refetchSubgraph = useCallback(async () => {
     
    157144  const serviceCallbacks = useMemo<ServiceEmbedderMessageCallbacks>(
    158145    () => constructServiceModuleCallbacks(),
    159     []
     146    [],
    160147  );
    161148
     
    191178        const { entity: createdEntity } = await apiCreateEntity(creationData);
    192179
    193         refetchSubgraph(); // @todo should we await this – slows down response but ensures no delay between entity update + subgraph update
     180        void refetchSubgraph(); // @todo should we await this – slows down response but ensures no delay between entity update + subgraph update
    194181
    195182        return { data: dbEntityToEntity(createdEntity) };
     
    207194        }
    208195
    209         const { entityId, properties, leftToRightOrder, rightToLeftOrder } =
    210           data;
     196        const {
     197          entityId: entityIdToUpdate,
     198          properties,
     199          leftToRightOrder,
     200          rightToLeftOrder,
     201        } = data;
    211202
    212203        try {
    213           const { entity: updatedDbEntity } = await apiUpdateEntity(entityId, {
    214             properties,
    215             leftToRightOrder,
    216             rightToLeftOrder,
    217           });
    218 
    219           refetchSubgraph(); // @todo should we await this – slows down response but ensures no delay between entity update + subgraph update
     204          const { entity: updatedDbEntity } = await apiUpdateEntity(
     205            entityIdToUpdate,
     206            {
     207              properties,
     208              leftToRightOrder,
     209              rightToLeftOrder,
     210            },
     211          );
     212
     213          void refetchSubgraph(); // @todo should we await this – slows down response but ensures no delay between entity update + subgraph update
    220214
    221215          return {
     
    226220            errors: [
    227221              {
    228                 message: `Error when processing update of entity ${entityId}: ${err}`,
    229                 // @todo make INTERNAL_ERROR or UNKNOWN_ERROR permitted
    230                 code: "INVALID_INPUT",
     222                message: `Error when processing update of entity ${entityIdToUpdate}: ${err}`,
     223                code: "INTERNAL_ERROR",
    231224              },
    232225            ],
     
    246239        }
    247240
    248         const { entityId } = data;
     241        const { entityId: entityIdToDelete } = data;
    249242
    250243        try {
    251           await apiDeleteEntity(entityId); // @todo error handling
     244          await apiDeleteEntity(entityIdToDelete);
    252245        } catch (err) {
    253246          return {
    254247            errors: [
    255248              {
    256                 message: `Error when processing deletion of entity ${entityId}: ${err}`,
    257                 // @todo make INTERNAL_ERROR or UNKNOWN_ERROR permitted
    258                 code: "INVALID_INPUT",
    259               },
    260             ],
    261           };
    262         }
    263 
    264         refetchSubgraph(); // @todo should we await this – slows down response but ensures no delay between entity update + subgraph update
     249                message: `Error when processing deletion of entity ${entityIdToDelete}: ${err}`,
     250                code: "INTERNAL_ERROR",
     251              },
     252            ],
     253          };
     254        }
     255
     256        void refetchSubgraph(); // @todo should we await this – slows down response but ensures no delay between entity update + subgraph update
    265257
    266258        return { data: true };
     
    281273              {
    282274                message: `Error when processing file upload: ${err}`,
    283                 // @todo make INTERNAL_ERROR or UNKNOWN_ERROR permitted
    284                 code: "INVALID_INPUT",
     275                code: "INTERNAL_ERROR",
    285276              },
    286277            ],
     
    308299              editionId: new Date(entity.updated_at).toISOString(),
    309300            })),
    310             blockSubgraphResolveDepths
     301            blockSubgraphResolveDepths,
    311302          );
    312303
     
    322313              {
    323314                message: `Error when querying entities: ${err}`,
    324                 // @todo make INTERNAL_ERROR or UNKNOWN_ERROR permitted
    325                 code: "INVALID_INPUT",
     315                code: "INTERNAL_ERROR",
    326316              },
    327317            ],
     
    330320      },
    331321    }),
    332     [refetchSubgraph]
     322    [refetchSubgraph],
    333323  );
    334324
     
    336326    return (
    337327      <div style={{ marginTop: 10 }}>
    338         <LoadingImage />
     328        <LoadingImage height="8rem" />
    339329      </div>
    340330    );
  • blockprotocol/trunk/block/index.tsx

    r2872815 r2877400  
    11import { registerBlockType } from "@wordpress/blocks";
    22
    3 import { Edit } from "./edit";
    43import blockJson from "./block.json";
     4import { EditOrPreview } from "./edit-or-preview";
    55
     6// @ts-expect-error -- @todo investigate this
    67registerBlockType("blockprotocol/block", {
    78  ...blockJson,
    8   edit: Edit,
     9  edit: EditOrPreview,
     10  supports: {
     11    customClassName: false,
     12    html: false,
     13  },
    914});
  • blockprotocol/trunk/block/register-variations.tsx

    r2874679 r2877400  
    1 import { registerBlockVariation } from "@wordpress/blocks";
     1import { registerBlockVariation, updateCategory } from "@wordpress/blocks";
     2
     3const svgIcon = (
     4  <svg
     5    fill="#7556DC"
     6    xmlns="http://www.w3.org/2000/svg"
     7    viewBox="5 1 11.61 18"
     8    style={{
     9      width: 16,
     10      height: 16,
     11    }}
     12  >
     13    <path
     14      d="M11.5345 4.6H8.51857V3.05714C8.51857 2.51155 8.30674 1.98831 7.92968 1.60253C7.55262 1.21674 7.04121 1 6.50796 1H5V16.9429C5 17.4884 5.21183 18.0117 5.58889 18.3975C5.96596 18.7833 6.47737 19 7.01061 19H8.51857V15.4H11.5345C12.8988 15.3472 14.19 14.7556 15.1369 13.7494C16.0839 12.7432 16.6129 11.4007 16.6129 10.0039C16.6129 8.60702 16.0839 7.26453 15.1369 6.25832C14.19 5.25212 12.8988 4.6605 11.5345 4.60771V4.6ZM11.5345 11.8H8.51857V8.2H11.5345C12.5398 8.2 13.2309 9.01386 13.2309 10C13.2309 10.9861 12.5398 11.7961 11.5345 11.7961V11.8Z"
     15      fill="#7556DC"
     16    />
     17  </svg>
     18);
    219
    320const { blocks } = window.block_protocol_data;
     21
     22updateCategory("blockprotocol", { icon: svgIcon });
    423
    524const defaultBlock =
     
    2342    title: block.displayName || block.name,
    2443    description: block.description ?? "",
    25     icon: () => <img src={block.icon ?? ""} />,
     44    icon: () => (
     45      <img alt={`${block.displayName} block`} src={block.icon ?? ""} />
     46    ),
    2647    attributes,
    2748    // sending preview: true as a prop when in example mode, so the block knows to return a simple image
    2849    example: { attributes: { ...attributes, preview: true } },
     50    // @ts-expect-error -- types are wrong, see https://developer.wordpress.org/block-editor/reference-guides/block-api/block-variations/
    2951    isActive: ["sourceUrl"],
    30     // make a – this hides the underlying Block Protocol block from the selector
     52    // make a default – this hides the underlying Block Protocol block from the selector
    3153    isDefault: block.name === defaultBlock!.name,
    3254  });
  • blockprotocol/trunk/block/render.tsx

    r2872815 r2877400  
    11import { buildSubgraph } from "@blockprotocol/graph/stdlib";
    22import { render } from "react-dom";
    3 import { BlockLoader } from "./block-loader";
     3
    44import {
    55  blockSubgraphResolveDepths,
    66  dbEntityToEntity,
    77  getEntitySubgraph,
    8 } from "./shared";
     8} from "./shared/api";
     9import { BlockLoader } from "./shared/block-loader";
    910
    1011/**
     
    3233    const entities = window.block_protocol_block_data.entities[entityId];
    3334    if (!entities) {
     35      // eslint-disable-next-line no-console -- log to help debug user issues (this should not happen)
    3436      console.error(
    35         `Could not render block: no entity with entityId '${entityId}' in window.block_protocl_data_entities`
     37        `Could not render block: no entity with entityId '${entityId}' in window.block_protocl_data_entities`,
    3638      );
    3739      return;
     
    4042    const sourceUrl = (block as HTMLElement).dataset.source;
    4143    if (!sourceUrl) {
     44      // eslint-disable-next-line no-console -- log to help debug user issues (this should not happen)
    4245      console.error("Block element did not have data-source attribute set");
    4346      return;
     
    4750      window.block_protocol_block_data.sourceStrings[sourceUrl];
    4851    if (!sourceString) {
     52      // eslint-disable-next-line no-console -- log to help debug user issues (this should not happen)
    4953      console.error(
    50         `Could not find source for sourceUrl '${sourceUrl}' on window.block_protocol_block_data`
     54        `Could not find source for sourceUrl '${sourceUrl}' on window.block_protocol_block_data`,
    5155      );
    5256    }
     
    5458    const blockName = (block as HTMLElement).dataset.block_name;
    5559    if (!blockName) {
     60      // eslint-disable-next-line no-console -- log to help debug user issues (this should not happen)
    5661      console.error(`No block_name set for block`);
    5762    }
     
    6065
    6166    if (!rootEntity) {
     67      // eslint-disable-next-line no-console -- log to help debug user issues (this should not happen)
    6268      console.error("Root block entity not present in entities");
    6369    }
     
    7783      },
    7884      [rootEntityRecordId],
    79       blockSubgraphResolveDepths
     85      blockSubgraphResolveDepths,
    8086    );
    8187
     
    9096        sourceUrl={sourceUrl}
    9197      />,
    92       block
     98      block,
    9399    );
    94100  }
  • blockprotocol/trunk/block/shared/api.ts

    r2877399 r2877400  
    11import {
     2  Entity,
    23  GraphEmbedderMessageCallbacks,
    3   Entity,
    44  GraphResolveDepths,
    5   Subgraph,
    6   JsonObject,
    7   JsonValue,
    8   EntityRootType,
     5  isFileAtUrlData,
     6  isFileData,
     7  QueryEntitiesData,
    98  UploadFileData,
    10   isFileData,
    11   isFileAtUrlData,
    129  VersionedUrl,
    13   QueryEntitiesData,
    1410} from "@blockprotocol/graph";
    1511import { buildSubgraph } from "@blockprotocol/graph/stdlib";
    16 
    1712import apiFetch from "@wordpress/api-fetch";
    1813
     
    6661export type DbEntities = DbEntity[];
    6762
     63/**
     64 * We don't know what db driver is being used – it might be the default one which returns ints as strings.
     65 * We could do this parsing on the server, but we need to loop through entities for conversion here anyway.
     66 *
     67 * @param  value
     68 */
     69const parseIntIfDefined = (value: string | undefined | number) =>
     70  typeof value === "string" ? parseInt(value, 10) : value;
     71
     72export const dbEntityToEntity = (dbEntity: DbEntity): Entity => {
     73  return {
     74    metadata: {
     75      recordId: {
     76        entityId: dbEntity.entity_id,
     77        editionId: new Date(dbEntity.updated_at).toISOString(),
     78      },
     79      entityTypeId: dbEntity.entity_type_id,
     80    },
     81    properties: JSON.parse(dbEntity.properties),
     82    linkData:
     83      "left_entity_id" in dbEntity
     84        ? {
     85            leftEntityId: dbEntity.left_entity_id,
     86            rightEntityId: dbEntity.right_entity_id,
     87            leftToRightOrder: parseIntIfDefined(dbEntity.left_to_right_order),
     88            rightToLeftOrder: parseIntIfDefined(dbEntity.right_to_left_order),
     89          }
     90        : undefined,
     91  };
     92};
     93
    6894export const queryEntities = (
    69   query: QueryEntitiesData
     95  query: QueryEntitiesData,
    7096): Promise<{ entities: DbEntities }> => {
    7197  return apiFetch({
     
    82108    hasLeftEntity: { incoming: 0, outgoing: 0 },
    83109    hasRightEntity: { incoming: 0, outgoing: 0 },
    84   }
     110  },
    85111): Promise<{
    86112  entities: DbEntities;
     
    136162          },
    137163          [rootEntityRecordId],
    138           depths
     164          depths,
    139165        ),
    140166      };
     
    144170          {
    145171            message: `Error when processing retrieval of entity ${entityId}: ${err}`,
    146             // @todo make INTERNAL_ERROR or UNKNOWN_ERROR permitted
    147             code: "INVALID_INPUT",
     172            code: "INTERNAL_ERROR",
    148173          },
    149174        ],
     
    158183    leftToRightOrder?: number;
    159184    rightToLeftOrder?: number;
    160   }
     185  },
    161186): Promise<{ entity: DbEntity }> => {
    162187  return apiFetch({
     
    187212        };
    188213      }
    189   )
     214  ),
    190215): Promise<{ entity: DbEntity }> => {
    191216  return apiFetch({
     
    223248
    224249export const uploadFile = (
    225   fileData: UploadFileData
     250  fileData: UploadFileData,
    226251): Promise<{ entity: DbEntity }> => {
    227252  const file = isFileData(fileData) ? fileData.file : undefined;
     
    248273  });
    249274};
    250 
    251 /**
    252  * We don't know what db driver is being used – it might be the default one which returns ints as strings.
    253  * We could do this parsing on the server, but we need to loop through entities for conversion here anyway.
    254  *
    255  * @param  value
    256  */
    257 const parseIntIfDefined = (value: string | undefined | number) =>
    258   typeof value === "string" ? parseInt(value) : value;
    259 
    260 export const dbEntityToEntity = (dbEntity: DbEntity): Entity => {
    261   return {
    262     metadata: {
    263       recordId: {
    264         entityId: dbEntity.entity_id,
    265         editionId: new Date(dbEntity.updated_at).toISOString(),
    266       },
    267       entityTypeId: dbEntity.entity_type_id,
    268     },
    269     properties: JSON.parse(dbEntity.properties),
    270     linkData:
    271       "left_entity_id" in dbEntity
    272         ? {
    273             leftEntityId: dbEntity.left_entity_id,
    274             rightEntityId: dbEntity.right_entity_id,
    275             leftToRightOrder: parseIntIfDefined(dbEntity.left_to_right_order),
    276             rightToLeftOrder: parseIntIfDefined(dbEntity.right_to_left_order),
    277           }
    278         : undefined,
    279   };
    280 };
    281 
    282 export interface MemoizableFetchFunction<T> {
    283   (url: string, signal?: AbortSignal): Promise<T>;
    284 }
    285 
    286 /**
    287  * Memoize a fetch function by its URL.
    288  */
    289 export function memoizeFetchFunction<T>(
    290   fetchFunction: MemoizableFetchFunction<T>
    291 ): MemoizableFetchFunction<T> {
    292   const cache: Record<string, Promise<any>> = {};
    293 
    294   return async (url, signal) => {
    295     if (cache[url] == null) {
    296       let fulfilled = false;
    297       const promise = fetchFunction(url, signal);
    298 
    299       promise
    300         .then(() => {
    301           fulfilled = true;
    302         })
    303         .catch(() => {
    304           if (cache[url] === promise) {
    305             delete cache[url];
    306           }
    307         });
    308 
    309       signal?.addEventListener("abort", () => {
    310         if (cache[url] === promise && !fulfilled) {
    311           delete cache[url];
    312         }
    313       });
    314 
    315       cache[url] = promise;
    316     }
    317 
    318     return await cache[url];
    319   };
    320 }
    321 
    322 /**
    323  * Extracts the value that lies at a given path in a given object, where the path is expressed as an array of JSON path
    324  * components.
    325  *
    326  * @example
    327  * const obj = {
    328  *   a: {
    329  *     b: true,
    330  *     c: "foo",
    331  *     d: [null, 23],
    332  *     e: undefined
    333  *   }
    334  * }
    335  *
    336  * getFromObjectByPathComponents(obj, ["a"]); // { b: true, c: "foo", d: [null, 23]}
    337  * getFromObjectByPathComponents(obj, ["a", "b"]); // true
    338  * getFromObjectByPathComponents(obj, ["a", "c"]); // "foo"
    339  * getFromObjectByPathComponents(obj, ["a", "d"]); // [null, 23]
    340  * getFromObjectByPathComponents(obj, ["a", "d", 0]); // null
    341  * getFromObjectByPathComponents(obj, ["a", "d", 1]); // 23
    342  * getFromObjectByPathComponents(obj, ["a", "e"]); // undefined
    343  * getFromObjectByPathComponents(obj, ["b"]); // undefined
    344  *
    345  * @param object - the object to search inside
    346  * @param {(string|number)[]} path - the path as a list of path components where object keys are given as `string`s,
    347  *   and array indices are given as `number`s
    348  *
    349  * @returns {JsonValue | undefined} - the value within the object at that path, or `undefined` if it does not exist
    350  *
    351  * @throws - if the path points to an invalid portion of the object, e.g. if it tries to index a null value `getFromObjectByPathComponents({ a: null }, ["a", "b"]);`
    352  */
    353 export const getFromObjectByPathComponents = (
    354   object: object,
    355   path: (string | number)[]
    356 ): JsonValue | undefined => {
    357   let subObject = object as JsonValue;
    358 
    359   for (const pathComponent of path) {
    360     if (subObject === null) {
    361       throw new Error(
    362         `Invalid path: ${path} on object ${JSON.stringify(
    363           object
    364         )}, can't index null value`
    365       );
    366     }
    367     // @ts-expect-error -- expected ‘No index signature with a parameter of type 'string' was found on type '{}'’
    368     const innerVal = subObject[pathComponent];
    369     if (innerVal === undefined) {
    370       return undefined;
    371     }
    372     subObject = innerVal;
    373   }
    374 
    375   return subObject;
    376 };
    377 
    378 /**
    379  * Sets a value that lies at a given path in a given object, where the path is expressed as an array of JSON path
    380  * components.
    381  *
    382  * @example
    383  * const obj = {
    384  *   a: {
    385  *     b: true,
    386  *     c: [null, 23],
    387  *     d: undefined
    388  *   }
    389  * }
    390  *
    391  * setValueInObjectByPathComponents(obj, ["a", "c", 0], 12); //  obj = { a: { b: true, c: [12, 23], d: undefined } }
    392  * setValueInObjectByPathComponents(obj, ["a", "c", 1], null); //  obj = { a: { b: true, c: [12, null], d: undefined } }
    393  * setValueInObjectByPathComponents(obj, ["a", "d"], { e: "bar" }); //  obj = { a: { b: true, c: [null, 23], d: { e: "bar" } } }
    394  * setValueInObjectByPathComponents(obj, ["a", "b"], false); //  obj = { a: { b: false, c: [null, 23], d: { e: "bar" } } }
    395  * setValueInObjectByPathComponents(obj, ["a"], 3); // obj = { a: 3 }
    396  * setValueInObjectByPathComponents(obj, ["b"], true); // obj = { a: 3, b: true }
    397  *
    398  * @param object - the object to search inside
    399  * @param {(string|number)[]} path - the path as a list of path components where object keys are given as `string`s,
    400  * @param {JsonValue} value - the value to set within the object
    401  *
    402  * @returns {JsonValue | undefined} - the value within the object at that path, or `undefined` if it does not exist
    403  *
    404  * @throws - if the path points to an invalid portion of the object, e.g. if it tries to index a null or undefined
    405  *    value `setValueInObjectByPathComponents({ a: null }, ["a", "b"], true);`
    406  * @throws - if the path indexes a non-array or non-object
    407  * @throws - if the path indexes an object with a non-string key
    408  * @throws - if the path indexes an array with a non-number key
    409  */
    410 export const setValueInObjectByPathComponents = (
    411   object: object,
    412   path: (string | number)[],
    413   value: JsonValue
    414 ) => {
    415   if (path.length === 0) {
    416     throw new Error(`An empty path is invalid, can't set value.`);
    417   }
    418 
    419   let subObject = object as JsonValue;
    420 
    421   for (let index = 0; index < path.length - 1; index++) {
    422     const pathComponent = path[index];
    423 
    424     if (pathComponent === "constructor" || pathComponent === "__proto__") {
    425       throw new Error(`Disallowed key ${pathComponent}`);
    426     }
    427 
    428     // @ts-expect-error -- expected ‘No index signature with a parameter of type 'string' was found on type '{}'’
    429     const innerVal = subObject[pathComponent];
    430     if (innerVal === undefined) {
    431       throw new Error(
    432         `Unable to set value on object, ${path
    433           .slice(0, index)
    434           .map((component) => `[${component}]`)
    435           .join(".")} was missing in object`
    436       );
    437     }
    438 
    439     // We check this here because the loop goes up to but _not including_ the last path component. So a `null` value
    440     // would be an error
    441     if (innerVal === null) {
    442       throw new Error(
    443         `Invalid path: ${path} on object ${JSON.stringify(
    444           object
    445         )}, can't index null value`
    446       );
    447     }
    448 
    449     subObject = innerVal;
    450   }
    451 
    452   const lastComponent = path.at(-1)!;
    453   if (Array.isArray(subObject)) {
    454     if (typeof lastComponent === "number") {
    455       subObject[lastComponent] = value;
    456     } else {
    457       throw new Error(
    458         `Unable to set value on array using non-number index: ${lastComponent}`
    459       );
    460     }
    461   } else if (typeof subObject === "object") {
    462     if (typeof lastComponent === "string") {
    463       (subObject as JsonObject)[lastComponent] = value;
    464     } else {
    465       throw new Error(
    466         `Unable to set key on object using non-string index: ${lastComponent}`
    467       );
    468     }
    469   } else {
    470     throw new Error(
    471       `Unable to set value on non-object and non-array type: ${typeof subObject}`
    472     );
    473   }
    474 };
  • blockprotocol/trunk/block/shared/block-loader.tsx

    r2877399 r2877400  
    1 import { FunctionComponent, useMemo, useRef, useState } from "react";
    2 import { v4 as uuid } from "uuid";
    3 
    41import {
    52  BlockGraphProperties,
     
    1310import { ServiceEmbedderMessageCallbacks } from "@blockprotocol/service";
    1411import { useServiceEmbedderModule } from "@blockprotocol/service/react";
    15 
     12import { FunctionComponent, useMemo, useRef, useState } from "react";
     13import { v4 as uuid } from "uuid";
     14
     15import { BlockRenderer } from "./block-loader/block-renderer";
    1616import { HookPortals } from "./block-loader/hook-portals";
    1717import { parseBlockSource } from "./block-loader/load-remote-block";
    1818import { useRemoteBlock } from "./block-loader/use-remote-block";
    19 import { BlockRenderer } from "./block-loader/block-renderer";
    2019
    2120type BlockLoaderProps =
     
    2322      blockName: string;
    2423      entitySubgraph: Subgraph<EntityRootType>;
    25       LoadingImage: FunctionComponent;
     24      LoadingImage: FunctionComponent<{ height: string }>;
    2625      sourceString?: string;
    2726      sourceUrl: string;
     
    7170
    7271  if (!sourceString && !sourceUrl) {
     72    // eslint-disable-next-line no-console -- log to help debug user issues (this should not happen)
    7373    console.error("Source code missing from block");
    74     return <span>Could not load block – source code missing</span>;
     74    throw new Error("Could not load block – source code missing");
    7575  }
    7676
    7777  const [loading, err, blockSource] = sourceString
    78     ? useMemo(() => {
     78    ? // eslint-disable-next-line react-hooks/rules-of-hooks -- will be consistent across lifetime. TODO split out
     79      useMemo(() => {
    7980        return [false, null, parseBlockSource(sourceString, sourceUrl)];
    8081      }, [sourceString, sourceUrl])
    81     : useRemoteBlock(sourceUrl);
     82    : // eslint-disable-next-line react-hooks/rules-of-hooks -- will be consistent across lifetime. TODO split out
     83      useRemoteBlock(sourceUrl);
    8284
    8385  // The hook module allows blocks to request that the application takes over rendering/editing of elements
     
    155157      },
    156158    };
    157   }, [entitySubgraph]);
     159  }, [entitySubgraph, readonly]);
    158160
    159161  // The graph module allows for retrieval, creation and modification of entities and links between them
     
    168170
    169171  if (loading) {
    170     return <LoadingImage />;
     172    return <LoadingImage height="8rem" />;
    171173  }
    172174
    173175  if (!blockSource || err) {
     176    // eslint-disable-next-line no-console -- log to help debug user issues
    174177    console.error(
    175       `Could not load and parse block from URL${err ? `: ${err.message}` : ""}`
     178      `Could not load and parse block from URL${err ? `: ${err.message}` : ""}`,
    176179    );
    177180    return (
    178181      <span>
    179         Could not load block – the URL may be unavailable or the source
     182        Could not load block – the URL may be unavailable or the source
    180183        unreadable
    181184      </span>
  • blockprotocol/trunk/block/window.d.ts

    r2872815 r2877400  
    11import { BlockMetadata } from "@blockprotocol/core";
    2 import { DbEntity, DbEntities } from "./shared";
     2
     3import { DbEntities, DbEntity } from "./shared/api";
    34
    45declare global {
     
    67    block_protocol_data: {
    78      // available in admin mode
    8       blocks: BlockMetadata[];
     9      blocks: (BlockMetadata & { verified?: boolean })[];
    910      entities: (DbEntity & {
    1011        locations: { [key: number]: { edit_link: string; title: string } };
  • blockprotocol/trunk/build/356.js

    r2874679 r2877400  
    1 (globalThis.webpackChunk_blockprotocol_wordpress=globalThis.webpackChunk_blockprotocol_wordpress||[]).push([[356],{6043:(e,t,r)=>{"use strict";const n=r(1969),o=r(9566),a=r(9185);function i(e,t,r,a,c,u,l,f){let d=null===t?e:e[t];if(d&&"object"==typeof d&&!ArrayBuffer.isView(d))if(n.isAllowed$Ref(d))s(e,t,r,a,c,u,l,f);else{let e=Object.keys(d).sort(((e,t)=>"definitions"===e?-1:"definitions"===t?1:e.length-t.length));for(let t of e){let e=o.join(r,t),p=o.join(a,t),h=d[t];n.isAllowed$Ref(h)?s(d,t,r,p,c,u,l,f):i(d,t,e,p,c,u,l,f)}}}function s(e,t,r,s,c,u,l,f){let d=null===t?e:e[t],p=a.resolve(r,d.$ref),h=l._resolve(p,s,f);if(null===h)return;let m=o.parse(s).length,v=a.stripHash(h.path),y=a.getHash(h.path),g=v!==l._root$Ref.path,b=n.isExtended$Ref(d);c+=h.indirections;let w=function(e,t,r){for(let n=0;n<e.length;n++){let o=e[n];if(o.parent===t&&o.key===r)return o}}(u,e,t);if(w){if(!(m<w.depth||c<w.indirections))return;!function(e,t){let r=e.indexOf(t);e.splice(r,1)}(u,w)}u.push({$ref:d,parent:e,key:t,pathFromRoot:s,depth:m,file:v,hash:y,value:h.value,circular:h.circular,extended:b,external:g,indirections:c}),w||i(h.value,null,h.path,s,c+1,u,l,f)}e.exports=function(e,t){let r=[];i(e,"schema",e.$refs._root$Ref.path+"#","#",0,r,e.$refs,t),function(e){let t,r,a;e.sort(((e,t)=>{if(e.file!==t.file)return e.file<t.file?-1:1;if(e.hash!==t.hash)return e.hash<t.hash?-1:1;if(e.circular!==t.circular)return e.circular?-1:1;if(e.extended!==t.extended)return e.extended?1:-1;if(e.indirections!==t.indirections)return e.indirections-t.indirections;if(e.depth!==t.depth)return e.depth-t.depth;{let r=e.pathFromRoot.lastIndexOf("/definitions"),n=t.pathFromRoot.lastIndexOf("/definitions");return r!==n?n-r:e.pathFromRoot.length-t.pathFromRoot.length}}));for(let i of e)i.external?i.file===t&&i.hash===r?i.$ref.$ref=a:i.file===t&&0===i.hash.indexOf(r+"/")?i.$ref.$ref=o.join(a,o.parse(i.hash.replace(r,"#"))):(t=i.file,r=i.hash,a=i.pathFromRoot,i.$ref=i.parent[i.key]=n.dereference(i.$ref,i.value),i.circular&&(i.$ref.$ref=i.pathFromRoot)):i.$ref.$ref=i.hash}(r)}},3416:(e,t,r)=>{"use strict";const n=r(1969),o=r(9566),{ono:a}=r(9504),i=r(9185);function s(e,t,r,a,i,l,f,d){let p,h={value:e,circular:!1},m=d.dereference.excludedPathMatcher;if(("ignore"===d.dereference.circular||!i.has(e))&&e&&"object"==typeof e&&!ArrayBuffer.isView(e)&&!m(r)){if(a.add(e),i.add(e),n.isAllowed$Ref(e,d))p=c(e,t,r,a,i,l,f,d),h.circular=p.circular,h.value=p.value;else for(const v of Object.keys(e)){let y=o.join(t,v),g=o.join(r,v);if(m(g))continue;let b=e[v],w=!1;n.isAllowed$Ref(b,d)?(p=c(b,y,g,a,i,l,f,d),w=p.circular,e[v]!==p.value&&(e[v]=p.value)):a.has(b)?w=u(y,f,d):(p=s(b,y,g,a,i,l,f,d),w=p.circular,e[v]!==p.value&&(e[v]=p.value)),h.circular=h.circular||w}a.delete(e)}return h}function c(e,t,r,o,a,c,l,f){let d=i.resolve(t,e.$ref);const p=c.get(d);if(p){const t=Object.keys(e);if(t.length>1){const r={};for(let n of t)"$ref"===n||n in p.value||(r[n]=e[n]);return{circular:p.circular,value:Object.assign({},p.value,r)}}return p}let h=l._resolve(d,t,f);if(null===h)return{circular:!1,value:null};let m=h.circular,v=m||o.has(h.value);v&&u(t,l,f);let y=n.dereference(e,h.value);if(!v){let e=s(y,h.path,r,o,a,c,l,f);v=e.circular,y=e.value}v&&!m&&"ignore"===f.dereference.circular&&(y=e),m&&(y.$ref=r);const g={circular:v,value:y};return 1===Object.keys(e).length&&c.set(d,g),g}function u(e,t,r){if(t.circular=!0,!r.dereference.circular)throw a.reference(`Circular $ref pointer found at ${e}`);return!0}e.exports=function(e,t){let r=s(e.schema,e.$refs._root$Ref.path,"#",new Set,new Set,new Map,e.$refs,t);e.$refs.circular=r.circular,e.schema=r.value}},321:(e,t,r)=>{"use strict";var n=r(8764).Buffer;const o=r(1922),a=r(4185),i=r(5410),s=r(6885),c=r(6043),u=r(3416),l=r(9185),{JSONParserError:f,InvalidPointerError:d,MissingPointerError:p,ResolverError:h,ParserError:m,UnmatchedParserError:v,UnmatchedResolverError:y,isHandledError:g,JSONParserErrorGroup:b}=r(4002),w=r(472),{ono:_}=r(9504);function $(){this.schema=null,this.$refs=new o}function E(e){if(b.getParserErrors(e).length>0)throw new b(e)}e.exports=$,e.exports.default=$,e.exports.JSONParserError=f,e.exports.InvalidPointerError=d,e.exports.MissingPointerError=p,e.exports.ResolverError=h,e.exports.ParserError=m,e.exports.UnmatchedParserError=v,e.exports.UnmatchedResolverError=y,$.parse=function(e,t,r,n){let o=this,a=new o;return a.parse.apply(a,arguments)},$.prototype.parse=async function(e,t,r,s){let c,u=i(arguments);if(!u.path&&!u.schema){let e=_(`Expected a file path, URL, or object. Got ${u.path||u.schema}`);return w(u.callback,Promise.reject(e))}this.schema=null,this.$refs=new o;let f="http";if(l.isFileSystemPath(u.path)&&(u.path=l.fromFileSystemPath(u.path),f="file"),u.path=l.resolve(l.cwd(),u.path),u.schema&&"object"==typeof u.schema){let e=this.$refs._add(u.path);e.value=u.schema,e.pathType=f,c=Promise.resolve(u.schema)}else c=a(u.path,this.$refs,u.options);let d=this;try{let e=await c;if(null===e||"object"!=typeof e||n.isBuffer(e)){if(u.options.continueOnError)return d.schema=null,w(u.callback,Promise.resolve(d.schema));throw _.syntax(`"${d.$refs._root$Ref.path||e}" is not a valid JSON Schema`)}return d.schema=e,w(u.callback,Promise.resolve(d.schema))}catch(e){return u.options.continueOnError&&g(e)?(this.$refs._$refs[l.stripHash(u.path)]&&this.$refs._$refs[l.stripHash(u.path)].addError(e),w(u.callback,Promise.resolve(null))):w(u.callback,Promise.reject(e))}},$.resolve=function(e,t,r,n){let o=this,a=new o;return a.resolve.apply(a,arguments)},$.prototype.resolve=async function(e,t,r,n){let o=this,a=i(arguments);try{return await this.parse(a.path,a.schema,a.options),await s(o,a.options),E(o),w(a.callback,Promise.resolve(o.$refs))}catch(e){return w(a.callback,Promise.reject(e))}},$.bundle=function(e,t,r,n){let o=this,a=new o;return a.bundle.apply(a,arguments)},$.prototype.bundle=async function(e,t,r,n){let o=this,a=i(arguments);try{return await this.resolve(a.path,a.schema,a.options),c(o,a.options),E(o),w(a.callback,Promise.resolve(o.schema))}catch(e){return w(a.callback,Promise.reject(e))}},$.dereference=function(e,t,r,n){let o=this,a=new o;return a.dereference.apply(a,arguments)},$.prototype.dereference=async function(e,t,r,n){let o=this,a=i(arguments);try{return await this.resolve(a.path,a.schema,a.options),u(o,a.options),E(o),w(a.callback,Promise.resolve(o.schema))}catch(e){return w(a.callback,Promise.reject(e))}}},5410:(e,t,r)=>{"use strict";const n=r(9021);e.exports=function(e){let t,r,o,a;return"function"==typeof(e=Array.prototype.slice.call(e))[e.length-1]&&(a=e.pop()),"string"==typeof e[0]?(t=e[0],"object"==typeof e[2]?(r=e[1],o=e[2]):(r=void 0,o=e[1])):(t="",r=e[0],o=e[1]),o instanceof n||(o=new n(o)),{path:t,schema:r,options:o,callback:a}}},9021:(e,t,r)=>{"use strict";const n=r(386),o=r(8391),a=r(4843),i=r(9660),s=r(7743),c=r(5642);function u(e){l(this,u.defaults),l(this,e)}function l(e,t){if(f(t)){let r=Object.keys(t);for(let n=0;n<r.length;n++){let o=r[n],a=t[o],i=e[o];f(a)?e[o]=l(i||{},a):void 0!==a&&(e[o]=a)}}return e}function f(e){return e&&"object"==typeof e&&!Array.isArray(e)&&!(e instanceof RegExp)&&!(e instanceof Date)}e.exports=u,u.defaults={parse:{json:n,yaml:o,text:a,binary:i},resolve:{file:s,http:c,external:!0},continueOnError:!1,dereference:{circular:!0,excludedPathMatcher:()=>!1}}},4185:(e,t,r)=>{"use strict";var n=r(8764).Buffer;const{ono:o}=r(9504),a=r(9185),i=r(9961),{ResolverError:s,ParserError:c,UnmatchedParserError:u,UnmatchedResolverError:l,isHandledError:f}=r(4002);e.exports=async function(e,t,r){e=a.stripHash(e);let d=t._add(e),p={url:e,extension:a.getExtension(e)};try{const e=await function(e,t,r){return new Promise(((n,a)=>{let c=i.all(t.resolve);c=i.filter(c,"canRead",e),i.sort(c),i.run(c,"read",e,r).then(n,(function(r){!r&&t.continueOnError?a(new l(e.url)):r&&"error"in r?r.error instanceof s?a(r.error):a(new s(r,e.url)):a(o.syntax(`Unable to resolve $ref pointer "${e.url}"`))}))}))}(p,r,t);d.pathType=e.plugin.name,p.data=e.result;const a=await function(e,t,r){return new Promise(((a,s)=>{let l=i.all(t.parse),f=i.filter(l,"canParse",e),d=f.length>0?f:l;i.sort(d),i.run(d,"parse",e,r).then((function(t){var r;!t.plugin.allowEmpty&&(void 0===(r=t.result)||"object"==typeof r&&0===Object.keys(r).length||"string"==typeof r&&0===r.trim().length||n.isBuffer(r)&&0===r.length)?s(o.syntax(`Error parsing "${e.url}" as ${t.plugin.name}. \nParsed value is empty`)):a(t)}),(function(r){!r&&t.continueOnError?s(new u(e.url)):r&&"error"in r?r.error instanceof c?s(r.error):s(new c(r.error.message,e.url)):s(o.syntax(`Unable to parse ${e.url}`))}))}))}(p,r,t);return d.value=a.result,a.result}catch(e){throw f(e)&&(d.value=e),e}}},9660:(e,t,r)=>{"use strict";var n=r(8764).Buffer;let o=/\.(jpeg|jpg|gif|png|bmp|ico)$/i;e.exports={order:400,allowEmpty:!0,canParse:e=>n.isBuffer(e.data)&&o.test(e.url),parse:e=>n.isBuffer(e.data)?e.data:n.from(e.data)}},386:(e,t,r)=>{"use strict";var n=r(8764).Buffer;const{ParserError:o}=r(4002);e.exports={order:100,allowEmpty:!0,canParse:".json",async parse(e){let t=e.data;if(n.isBuffer(t)&&(t=t.toString()),"string"!=typeof t)return t;if(0!==t.trim().length)try{return JSON.parse(t)}catch(t){throw new o(t.message,e.url)}}}},4843:(e,t,r)=>{"use strict";var n=r(8764).Buffer;const{ParserError:o}=r(4002);let a=/\.(txt|htm|html|md|xml|js|min|map|css|scss|less|svg)$/i;e.exports={order:300,allowEmpty:!0,encoding:"utf8",canParse:e=>("string"==typeof e.data||n.isBuffer(e.data))&&a.test(e.url),parse(e){if("string"==typeof e.data)return e.data;if(n.isBuffer(e.data))return e.data.toString(this.encoding);throw new o("data is not text",e.url)}}},8391:(e,t,r)=>{"use strict";var n=r(8764).Buffer;const{ParserError:o}=r(4002),a=r(3320),{JSON_SCHEMA:i}=r(3320);e.exports={order:200,allowEmpty:!0,canParse:[".yaml",".yml",".json"],async parse(e){let t=e.data;if(n.isBuffer(t)&&(t=t.toString()),"string"!=typeof t)return t;try{return a.load(t,{schema:i})}catch(t){throw new o(t.message,e.url)}}}},9566:(e,t,r)=>{"use strict";e.exports=p;const n=r(1969),o=r(9185),{JSONParserError:a,InvalidPointerError:i,MissingPointerError:s,isHandledError:c}=r(4002),u=/\//g,l=/~/g,f=/~1/g,d=/~0/g;function p(e,t,r){this.$ref=e,this.path=t,this.originalPath=r||t,this.value=void 0,this.circular=!1,this.indirections=0}function h(e,t){if(n.isAllowed$Ref(e.value,t)){let r=o.resolve(e.path,e.value.$ref);if(r!==e.path){let o=e.$ref.$refs._resolve(r,e.path,t);return null!==o&&(e.indirections+=o.indirections+1,n.isExtended$Ref(e.value)?(e.value=n.dereference(e.value,o.value),!1):(e.$ref=o.$ref,e.path=o.path,e.value=o.value,!0))}e.circular=!0}}function m(e,t,r){if(!e.value||"object"!=typeof e.value)throw new a(`Error assigning $ref pointer "${e.path}". \nCannot set "${t}" of a non-object.`);return"-"===t&&Array.isArray(e.value)?e.value.push(r):e.value[t]=r,r}function v(e){if(c(e))throw e;return e}p.prototype.resolve=function(e,t,r){let n=p.parse(this.path,this.originalPath);this.value=v(e);for(let e=0;e<n.length;e++){if(h(this,t)&&(this.path=p.join(this.path,n.slice(e))),"object"==typeof this.value&&null!==this.value&&"$ref"in this.value)return this;let r=n[e];if(void 0===this.value[r]||null===this.value[r])throw this.value=null,new s(r,decodeURI(this.originalPath));this.value=this.value[r]}return(!this.value||this.value.$ref&&o.resolve(this.path,this.value.$ref)!==r)&&h(this,t),this},p.prototype.set=function(e,t,r){let n,o=p.parse(this.path);if(0===o.length)return this.value=t,t;this.value=v(e);for(let e=0;e<o.length-1;e++)h(this,r),n=o[e],this.value&&void 0!==this.value[n]?this.value=this.value[n]:this.value=m(this,n,{});return h(this,r),n=o[o.length-1],m(this,n,t),e},p.parse=function(e,t){let r=o.getHash(e).substr(1);if(!r)return[];r=r.split("/");for(let e=0;e<r.length;e++)r[e]=decodeURIComponent(r[e].replace(f,"/").replace(d,"~"));if(""!==r[0])throw new i(r,void 0===t?e:t);return r.slice(1)},p.join=function(e,t){-1===e.indexOf("#")&&(e+="#"),t=Array.isArray(t)?t:[t];for(let r=0;r<t.length;r++){let n=t[r];e+="/"+encodeURIComponent(n.replace(l,"~0").replace(u,"~1"))}return e}},1969:(e,t,r)=>{"use strict";e.exports=l;const n=r(9566),{InvalidPointerError:o,isHandledError:a,normalizeError:i}=r(4002),{safePointerToPath:s,stripHash:c,getHash:u}=r(9185);function l(){this.path=void 0,this.value=void 0,this.$refs=void 0,this.pathType=void 0,this.errors=void 0}l.prototype.addError=function(e){void 0===this.errors&&(this.errors=[]);const t=this.errors.map((({footprint:e})=>e));Array.isArray(e.errors)?this.errors.push(...e.errors.map(i).filter((({footprint:e})=>!t.includes(e)))):t.includes(e.footprint)||this.errors.push(i(e))},l.prototype.exists=function(e,t){try{return this.resolve(e,t),!0}catch(e){return!1}},l.prototype.get=function(e,t){return this.resolve(e,t).value},l.prototype.resolve=function(e,t,r,i){let l=new n(this,e,r);try{return l.resolve(this.value,t,i)}catch(e){if(!t||!t.continueOnError||!a(e))throw e;return null===e.path&&(e.path=s(u(i))),e instanceof o&&(e.source=decodeURI(c(i))),this.addError(e),null}},l.prototype.set=function(e,t){let r=new n(this,e);this.value=r.set(this.value,t)},l.is$Ref=function(e){return e&&"object"==typeof e&&"string"==typeof e.$ref&&e.$ref.length>0},l.isExternal$Ref=function(e){return l.is$Ref(e)&&"#"!==e.$ref[0]},l.isAllowed$Ref=function(e,t){if(l.is$Ref(e)){if("#/"===e.$ref.substr(0,2)||"#"===e.$ref)return!0;if("#"!==e.$ref[0]&&(!t||t.resolve.external))return!0}},l.isExtended$Ref=function(e){return l.is$Ref(e)&&Object.keys(e).length>1},l.dereference=function(e,t){if(t&&"object"==typeof t&&l.isExtended$Ref(e)){let r={};for(let t of Object.keys(e))"$ref"!==t&&(r[t]=e[t]);for(let e of Object.keys(t))e in r||(r[e]=t[e]);return r}return t}},1922:(e,t,r)=>{"use strict";const{ono:n}=r(9504),o=r(1969),a=r(9185);function i(){this.circular=!1,this._$refs={},this._root$Ref=null}function s(e,t){let r=Object.keys(e);return(t=Array.isArray(t[0])?t[0]:Array.prototype.slice.call(t)).length>0&&t[0]&&(r=r.filter((r=>-1!==t.indexOf(e[r].pathType)))),r.map((t=>({encoded:t,decoded:"file"===e[t].pathType?a.toFileSystemPath(t,!0):t})))}e.exports=i,i.prototype.paths=function(e){let t=s(this._$refs,arguments);return t.map((e=>e.decoded))},i.prototype.values=function(e){let t=this._$refs,r=s(t,arguments);return r.reduce(((e,r)=>(e[r.decoded]=t[r.encoded].value,e)),{})},i.prototype.toJSON=i.prototype.values,i.prototype.exists=function(e,t){try{return this._resolve(e,"",t),!0}catch(e){return!1}},i.prototype.get=function(e,t){return this._resolve(e,"",t).value},i.prototype.set=function(e,t){let r=a.resolve(this._root$Ref.path,e),o=a.stripHash(r),i=this._$refs[o];if(!i)throw n(`Error resolving $ref pointer "${e}". \n"${o}" not found.`);i.set(r,t)},i.prototype._add=function(e){let t=a.stripHash(e),r=new o;return r.path=t,r.$refs=this,this._$refs[t]=r,this._root$Ref=this._root$Ref||r,r},i.prototype._resolve=function(e,t,r){let o=a.resolve(this._root$Ref.path,e),i=a.stripHash(o),s=this._$refs[i];if(!s)throw n(`Error resolving $ref pointer "${e}". \n"${i}" not found.`);return s.resolve(o,r,e,t)},i.prototype._get$Ref=function(e){e=a.resolve(this._root$Ref.path,e);let t=a.stripHash(e);return this._$refs[t]}},6885:(e,t,r)=>{"use strict";const n=r(1969),o=r(9566),a=r(4185),i=r(9185),{isHandledError:s}=r(4002);function c(e,t,r,a,i){i=i||new Set;let s=[];if(e&&"object"==typeof e&&!ArrayBuffer.isView(e)&&!i.has(e))if(i.add(e),n.isExternal$Ref(e))s.push(u(e,t,r,a));else for(let l of Object.keys(e)){let f=o.join(t,l),d=e[l];n.isExternal$Ref(d)?s.push(u(d,f,r,a)):s=s.concat(c(d,f,r,a,i))}return s}async function u(e,t,r,n){let o=i.resolve(t,e.$ref),u=i.stripHash(o);if(e=r._$refs[u])return Promise.resolve(e.value);try{let e=c(await a(o,r,n),u+"#",r,n);return Promise.all(e)}catch(e){if(!n.continueOnError||!s(e))throw e;return r._$refs[u]&&(e.source=decodeURI(i.stripHash(t)),e.path=i.safePointerToPath(i.getHash(t))),[]}}e.exports=function(e,t){if(!t.resolve.external)return Promise.resolve();try{let r=c(e.schema,e.$refs._root$Ref.path+"#",e.$refs,t);return Promise.all(r)}catch(e){return Promise.reject(e)}}},7743:(e,t,r)=>{"use strict";const n=r(3471),{ono:o}=r(9504),a=r(9185),{ResolverError:i}=r(4002);e.exports={order:100,canRead:e=>a.isFileSystemPath(e.url),read:e=>new Promise(((t,r)=>{let s;try{s=a.toFileSystemPath(e.url)}catch(t){r(new i(o.uri(t,`Malformed URI: ${e.url}`),e.url))}try{n.readFile(s,((e,n)=>{e?r(new i(o(e,`Error opening file "${s}"`),s)):t(n)}))}catch(e){r(new i(o(e,`Error opening file "${s}"`),s))}}))}},5642:(e,t,r)=>{"use strict";const{ono:n}=r(9504),o=r(9185),{ResolverError:a}=r(4002);function i(e,t,r){return e=o.parse(e),(r=r||[]).push(e.href),function(e,t){let r,n;return t.timeout&&(r=new AbortController,n=setTimeout((()=>r.abort()),t.timeout)),fetch(e,{method:"GET",headers:t.headers||{},credentials:t.withCredentials?"include":"same-origin",signal:r?r.signal:null}).then((e=>(n&&clearTimeout(n),e)))}(e,t).then((s=>{if(s.statusCode>=400)throw n({status:s.statusCode},`HTTP ERROR ${s.statusCode}`);if(s.statusCode>=300){if(r.length>t.redirects)throw new a(n({status:s.statusCode},`Error downloading ${r[0]}. \nToo many redirects: \n  ${r.join(" \n  ")}`));if(s.headers.location)return i(o.resolve(e,s.headers.location),t,r);throw n({status:s.statusCode},`HTTP ${s.statusCode} redirect with no location header`)}return s.text()})).catch((t=>{throw new a(n(t,`Error downloading ${e.href}`),e.href)}))}e.exports={order:200,headers:null,timeout:5e3,redirects:5,withCredentials:!1,canRead:e=>o.isHttp(e.url),read(e){let t=o.parse(e.url);return"undefined"==typeof window||t.protocol||(t.protocol=o.parse(location.href).protocol),i(t,this)}}},4002:(e,t,r)=>{"use strict";const{Ono:n}=r(9504),{stripHash:o,toFileSystemPath:a}=r(9185),i=t.JSONParserError=class extends Error{constructor(e,t){super(),this.code="EUNKNOWN",this.message=e,this.source=t,this.path=null,n.extend(this)}get footprint(){return`${this.path}+${this.source}+${this.code}+${this.message}`}};c(i);const s=t.JSONParserErrorGroup=class e extends Error{constructor(e){super(),this.files=e,this.message=`${this.errors.length} error${this.errors.length>1?"s":""} occurred while reading '${a(e.$refs._root$Ref.path)}'`,n.extend(this)}static getParserErrors(e){const t=[];for(const r of Object.values(e.$refs._$refs))r.errors&&t.push(...r.errors);return t}get errors(){return e.getParserErrors(this.files)}};function c(e){Object.defineProperty(e.prototype,"name",{value:e.name,enumerable:!0})}c(s),c(t.ParserError=class extends i{constructor(e,t){super(`Error parsing ${t}: ${e}`,t),this.code="EPARSER"}}),c(t.UnmatchedParserError=class extends i{constructor(e){super(`Could not find parser for "${e}"`,e),this.code="EUNMATCHEDPARSER"}}),c(t.ResolverError=class extends i{constructor(e,t){super(e.message||`Error reading file "${t}"`,t),this.code="ERESOLVER","code"in e&&(this.ioErrorCode=String(e.code))}}),c(t.UnmatchedResolverError=class extends i{constructor(e){super(`Could not find resolver for "${e}"`,e),this.code="EUNMATCHEDRESOLVER"}}),c(t.MissingPointerError=class extends i{constructor(e,t){super(`Token "${e}" does not exist.`,o(t)),this.code="EMISSINGPOINTER"}}),c(t.InvalidPointerError=class extends i{constructor(e,t){super(`Invalid $ref pointer "${e}". Pointers must begin with "#/"`,o(t)),this.code="EINVALIDPOINTER"}}),t.isHandledError=function(e){return e instanceof i||e instanceof s},t.normalizeError=function(e){return null===e.path&&(e.path=[]),e}},9961:(e,t)=>{"use strict";function r(e,t,r,n,o){let a=e[t];if("function"==typeof a)return a.apply(e,[r,n,o]);if(!n){if(a instanceof RegExp)return a.test(r.url);if("string"==typeof a)return a===r.extension;if(Array.isArray(a))return-1!==a.indexOf(r.extension)}return a}t.all=function(e){return Object.keys(e).filter((t=>"object"==typeof e[t])).map((t=>(e[t].name=t,e[t])))},t.filter=function(e,t,n){return e.filter((e=>!!r(e,t,n)))},t.sort=function(e){for(let t of e)t.order=t.order||Number.MAX_SAFE_INTEGER;return e.sort(((e,t)=>e.order-t.order))},t.run=function(e,t,n,o){let a,i,s=0;return new Promise(((c,u)=>{function l(){if(a=e[s++],!a)return u(i);try{let i=r(a,t,n,f,o);if(i&&"function"==typeof i.then)i.then(d,p);else if(void 0!==i)d(i);else if(s===e.length)throw new Error("No promise has been returned or callback has been called.")}catch(e){p(e)}}function f(e,t){e?p(e):d(t)}function d(e){c({plugin:a,result:e})}function p(e){i={plugin:a,error:e},l()}l()}))}},9185:(e,t)=>{"use strict";let r=/^win/.test(globalThis.process?.platform),n=/\//g,o=/^(\w{2,}):\/\//i,a=e.exports,i=/~1/g,s=/~0/g,c=[/\?/g,"%3F",/\#/g,"%23"],u=[/\%23/g,"#",/\%24/g,"$",/\%26/g,"&",/\%2C/g,",",/\%40/g,"@"];t.parse=e=>new URL(e),t.resolve=function(e,t){let r=new URL(t,new URL(e,"resolve://"));if("resolve:"===r.protocol){let{pathname:e,search:t,hash:n}=r;return e+t+n}return r.toString()},t.cwd=function(){if("undefined"!=typeof window)return location.href;let e=process.cwd(),t=e.slice(-1);return"/"===t||"\\"===t?e:e+"/"},t.getProtocol=function(e){let t=o.exec(e);if(t)return t[1].toLowerCase()},t.getExtension=function(e){let t=e.lastIndexOf(".");return t>=0?a.stripQuery(e.substr(t).toLowerCase()):""},t.stripQuery=function(e){let t=e.indexOf("?");return t>=0&&(e=e.substr(0,t)),e},t.getHash=function(e){let t=e.indexOf("#");return t>=0?e.substr(t):"#"},t.stripHash=function(e){let t=e.indexOf("#");return t>=0&&(e=e.substr(0,t)),e},t.isHttp=function(e){let t=a.getProtocol(e);return"http"===t||"https"===t||void 0===t&&"undefined"!=typeof window},t.isFileSystemPath=function(e){if("undefined"!=typeof window)return!1;let t=a.getProtocol(e);return void 0===t||"file"===t},t.fromFileSystemPath=function(e){r&&(e=e.replace(/\\/g,"/")),e=encodeURI(e);for(let t=0;t<c.length;t+=2)e=e.replace(c[t],c[t+1]);return e},t.toFileSystemPath=function(e,t){e=decodeURI(e);for(let t=0;t<u.length;t+=2)e=e.replace(u[t],u[t+1]);let o="file://"===e.substr(0,7).toLowerCase();return o&&(e="/"===e[7]?e.substr(8):e.substr(7),r&&"/"===e[1]&&(e=e[0]+":"+e.substr(1)),t?e="file:///"+e:(o=!1,e=r?e:"/"+e)),r&&!o&&":\\"===(e=e.replace(n,"\\")).substr(1,2)&&(e=e[0].toUpperCase()+e.substr(1)),e},t.safePointerToPath=function(e){return e.length<=1||"#"!==e[0]||"/"!==e[1]?[]:e.slice(2).split("/").map((e=>decodeURIComponent(e).replace(i,"/").replace(s,"~")))}},8614:(e,t,r)=>{"use strict";r.d(t,{y:()=>h});const n=/\r?\n/,o=/\bono[ @]/;function a(e,t){let r=i(e.stack),n=t?t.stack:void 0;return r&&n?r+"\n\n"+n:r||n}function i(e){if(e){let t,r=e.split(n);for(let e=0;e<r.length;e++){let n=r[e];if(o.test(n))void 0===t&&(t=e);else if(void 0!==t){r.splice(t,e-t);break}}if(r.length>0)return r.join("\n")}return e}const s=["function","symbol","undefined"],c=["constructor","prototype","__proto__"],u=Object.getPrototypeOf({});function l(){let e={},t=this;for(let r of f(t))if("string"==typeof r){let n=t[r],o=typeof n;s.includes(o)||(e[r]=n)}return e}function f(e,t=[]){let r=[];for(;e&&e!==u;)r=r.concat(Object.getOwnPropertyNames(e),Object.getOwnPropertySymbols(e)),e=Object.getPrototypeOf(e);let n=new Set(r);for(let e of t.concat(c))n.delete(e);return n}const d=["name","message","stack"];function p(e,t,r){let n=e;return function(e,t){let r=Object.getOwnPropertyDescriptor(e,"stack");!function(e){return Boolean(e&&e.configurable&&"function"==typeof e.get)}(r)?function(e){return Boolean(!e||e.writable||"function"==typeof e.set)}(r)&&(e.stack=a(e,t)):function(e,t,r){r?Object.defineProperty(t,"stack",{get:()=>a({stack:e.get.apply(t)},r),enumerable:!1,configurable:!0}):function(e,t){Object.defineProperty(e,"stack",{get:()=>i(t.get.apply(e)),enumerable:!1,configurable:!0})}(t,e)}(r,e,t)}(n,t),t&&"object"==typeof t&&function(e,t){let r=f(t,d),n=e,o=t;for(let e of r)if(void 0===n[e])try{n[e]=o[e]}catch(e){}}(n,t),n.toJSON=l,r&&"object"==typeof r&&Object.assign(n,r),n}const h=m;function m(e,t){function r(...r){let{originalError:n,props:o,message:a}=function(e,t){let r,n,o,a="";return"string"==typeof e[0]?o=e:"string"==typeof e[1]?(e[0]instanceof Error?r=e[0]:n=e[0],o=e.slice(1)):(r=e[0],n=e[1],o=e.slice(2)),o.length>0&&(a=t.format?t.format.apply(void 0,o):o.join(" ")),t.concatMessages&&r&&r.message&&(a+=(a?" \n":"")+r.message),{originalError:r,props:n,message:a}}(r,t);return p(new e(a),n,o)}return t=function(e){return{concatMessages:void 0===(e=e||{}).concatMessages||Boolean(e.concatMessages),format:void 0!==e.format&&"function"==typeof e.format&&e.format}}(t),r[Symbol.species]=e,r}m.toJSON=function(e){return l.call(e)},m.extend=function(e,t,r){return r||t instanceof Error?p(e,t,r):t?p(e,void 0,t):p(e)}},9504:(e,t,r)=>{"use strict";r.r(t),r.d(t,{Ono:()=>o.y,default:()=>s,ono:()=>n.v});var n=r(3754),o=r(8614),a=r(1520),i={};for(const e in a)["default","Ono","ono"].indexOf(e)<0&&(i[e]=()=>a[e]);r.d(t,i),e=r.hmd(e);const s=n.v;"object"==typeof e.exports&&(e.exports=Object.assign(e.exports.default,e.exports))},3754:(e,t,r)=>{"use strict";r.d(t,{v:()=>o});var n=r(8614);const o=i;i.error=new n.y(Error),i.eval=new n.y(EvalError),i.range=new n.y(RangeError),i.reference=new n.y(ReferenceError),i.syntax=new n.y(SyntaxError),i.type=new n.y(TypeError),i.uri=new n.y(URIError);const a=i;function i(...e){let t=e[0];if("object"==typeof t&&"string"==typeof t.name)for(let r of Object.values(a))if("function"==typeof r&&"ono"===r.name){let n=r[Symbol.species];if(n&&n!==Error&&(t instanceof n||t.name===n.name))return r.apply(void 0,e)}return i.error.apply(void 0,e)}},1520:()=>{},2844:(e,t,r)=>{"use strict";r.d(t,{ZP:()=>qe});var n=r(9196),o=r.n(n),a=r(4643),i=r(6423),s=r(9697),c=r(3317),u=r(8472),l=r(7449);var f=r(1910);const d=function(e,t){return function(e,t,r){for(var n=-1,o=t.length,a={};++n<o;){var i=t[n],s=(0,c.Z)(e,i);r(s,i)&&(0,u.Z)(a,(0,l.Z)(i,e),s)}return a}(e,t,(function(t,r){return(0,f.Z)(e,r)}))},p=(0,r(1757).Z)((function(e,t){return null==e?{}:d(e,t)}));var h=r(7226),m=r(8707),v=r(4920),y=r(3402),g=r(6793);const b=function(e,t){return null==e||(0,g.Z)(e,t)};function w(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,(void 0,"symbol"==typeof(o=function(e,t){if("object"!=typeof e||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t);if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(n.key,"string"))?o:String(o)),n)}var o}function _(){return _=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},_.apply(this,arguments)}function $(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,E(e,t)}function E(e,t){return E=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},E(e,t)}function x(e,t){if(null==e)return{};var r,n,o={},a=Object.keys(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}var S=["widget"],j=["widget"],O=["widget"];function A(){return((e=21)=>crypto.getRandomValues(new Uint8Array(e)).reduce(((e,t)=>e+((t&=63)<36?t.toString(36):t<62?(t-26).toString(36).toUpperCase():t>62?"-":"_")),""))()}function P(e){return Array.isArray(e)?e.map((function(e){return{key:A(),item:e}})):[]}function k(e){return Array.isArray(e)?e.map((function(e){return e.item})):[]}var C=function(e){function t(t){var r;(r=e.call(this,t)||this)._getNewFormDataRow=function(){var e=r.props,t=e.schema,n=e.registry.schemaUtils,o=t.items;return(0,a.FZ)(t)&&(0,a.TE)(t)&&(o=t.additionalItems),n.getDefaultFormState(o)},r.onAddClick=function(e){r._handleAddClick(e)},r.onAddIndexClick=function(e){return function(t){r._handleAddClick(t,e)}},r.onDropIndexClick=function(e){return function(t){t&&t.preventDefault();var n,o=r.props,a=o.onChange,i=o.errorSchema,s=r.state.keyedFormData;if(i)for(var c in n={},i){var u=parseInt(c);u<e?(0,m.Z)(n,[u],i[c]):u>e&&(0,m.Z)(n,[u-1],i[c])}var l=s.filter((function(t,r){return r!==e}));r.setState({keyedFormData:l,updatedKeyedFormData:!0},(function(){return a(k(l),n)}))}},r.onReorderClick=function(e,t){return function(n){n&&(n.preventDefault(),n.currentTarget.blur());var o,a=r.props,i=a.onChange,s=a.errorSchema;if(r.props.errorSchema)for(var c in o={},s){var u=parseInt(c);u==e?(0,m.Z)(o,[t],s[e]):u==t?(0,m.Z)(o,[e],s[t]):(0,m.Z)(o,[c],s[u])}var l,f=r.state.keyedFormData,d=((l=f.slice()).splice(e,1),l.splice(t,0,f[e]),l);r.setState({keyedFormData:d},(function(){return i(k(d),o)}))}},r.onChangeForIndex=function(e){return function(t,n,o){var a,i=r.props,s=i.formData,c=i.onChange,u=i.errorSchema;c((Array.isArray(s)?s:[]).map((function(r,n){return e===n?void 0===t?null:t:r})),u&&u&&_({},u,((a={})[e]=n,a)),o)}},r.onSelectChange=function(e){var t=r.props,n=t.onChange,o=t.idSchema;n(e,void 0,o&&o.$id)};var n=t.formData,o=P(void 0===n?[]:n);return r.state={keyedFormData:o,updatedKeyedFormData:!1},r}$(t,e),t.getDerivedStateFromProps=function(e,t){if(t.updatedKeyedFormData)return{updatedKeyedFormData:!1};var r=Array.isArray(e.formData)?e.formData:[],n=t.keyedFormData||[];return{keyedFormData:r.length===n.length?n.map((function(e,t){return{key:e.key,item:r[t]}})):P(r)}};var r,n,s=t.prototype;return s.isItemRequired=function(e){return Array.isArray(e.type)?!e.type.includes("null"):"null"!==e.type},s.canAddItem=function(e){var t=this.props,r=t.schema,n=t.uiSchema,o=(0,a.LI)(n).addable;return!1!==o&&(o=void 0===r.maxItems||e.length<r.maxItems),o},s._handleAddClick=function(e,t){e&&e.preventDefault();var r=this.props.onChange,n=this.state.keyedFormData,o={key:A(),item:this._getNewFormDataRow()},a=[].concat(n);void 0!==t?a.splice(t,0,o):a.push(o),this.setState({keyedFormData:a,updatedKeyedFormData:!0},(function(){return r(k(a))}))},s.render=function(){var e=this.props,t=e.schema,r=e.uiSchema,n=e.idSchema,i=e.registry,s=i.schemaUtils;if(!(a.YU in t)){var c=(0,a.LI)(r),u=(0,a.t4)("UnsupportedFieldTemplate",i,c);return o().createElement(u,{schema:t,idSchema:n,reason:"Missing items definition",registry:i})}return s.isMultiSelect(t)?this.renderMultiSelect():(0,a.A7)(r)?this.renderCustomWidget():(0,a.FZ)(t)?this.renderFixedArray():s.isFilesArray(t,r)?this.renderFiles():this.renderNormalArray()},s.renderNormalArray=function(){var e=this,t=this.props,r=t.schema,n=t.uiSchema,i=void 0===n?{}:n,s=t.errorSchema,c=t.idSchema,u=t.name,l=t.disabled,f=void 0!==l&&l,d=t.readonly,p=void 0!==d&&d,m=t.autofocus,v=void 0!==m&&m,y=t.required,g=void 0!==y&&y,b=t.registry,w=t.onBlur,$=t.onFocus,E=t.idPrefix,x=t.idSeparator,S=void 0===x?"_":x,j=t.rawErrors,O=this.state.keyedFormData,A=void 0===r.title?u:r.title,P=b.schemaUtils,C=b.formContext,N=(0,a.LI)(i),I=(0,h.Z)(r.items)?r.items:{},T=P.retrieveSchema(I),Z=k(this.state.keyedFormData),F=this.canAddItem(Z),R={canAdd:F,items:O.map((function(t,r){var n=t.key,o=t.item,a=P.retrieveSchema(I,o),l=s?s[r]:void 0,f=c.$id+S+r,d=P.toIdSchema(a,f,o,E,S);return e.renderArrayFieldItem({key:n,index:r,name:u&&u+"-"+r,canAdd:F,canMoveUp:r>0,canMoveDown:r<Z.length-1,itemSchema:a,itemIdSchema:d,itemErrorSchema:l,itemData:o,itemUiSchema:i.items,autofocus:v&&0===r,onBlur:w,onFocus:$,rawErrors:j,totalItems:O.length})})),className:"field field-array field-array-of-"+T.type,disabled:f,idSchema:c,uiSchema:i,onAddClick:this.onAddClick,readonly:p,required:g,schema:r,title:A,formContext:C,formData:Z,rawErrors:j,registry:b},D=(0,a.t4)("ArrayFieldTemplate",b,N);return o().createElement(D,_({},R))},s.renderCustomWidget=function(){var e=this.props,t=e.schema,r=e.idSchema,n=e.uiSchema,i=e.disabled,s=void 0!==i&&i,c=e.readonly,u=void 0!==c&&c,l=e.autofocus,f=void 0!==l&&l,d=e.required,p=void 0!==d&&d,h=e.hideError,m=e.placeholder,v=e.onBlur,y=e.onFocus,g=e.formData,b=void 0===g?[]:g,w=e.registry,_=e.rawErrors,$=e.name,E=w.widgets,j=w.formContext,O=t.title||$,A=(0,a.LI)(n),P=A.widget,k=x(A,S),C=(0,a.us)(t,P,E);return o().createElement(C,{id:r.$id,multiple:!0,onChange:this.onSelectChange,onBlur:v,onFocus:y,options:k,schema:t,uiSchema:n,registry:w,value:b,disabled:s,readonly:u,hideError:h,required:p,label:O,placeholder:m,formContext:j,autofocus:f,rawErrors:_})},s.renderMultiSelect=function(){var e=this.props,t=e.schema,r=e.idSchema,n=e.uiSchema,i=e.formData,s=void 0===i?[]:i,c=e.disabled,u=void 0!==c&&c,l=e.readonly,f=void 0!==l&&l,d=e.autofocus,p=void 0!==d&&d,h=e.required,m=void 0!==h&&h,v=e.placeholder,y=e.onBlur,g=e.onFocus,b=e.registry,w=e.rawErrors,$=e.name,E=b.widgets,S=b.schemaUtils,O=b.formContext,A=S.retrieveSchema(t.items,s),P=t.title||$,k=(0,a.pp)(A),C=(0,a.LI)(n),N=C.widget,I=void 0===N?"select":N,T=x(C,j),Z=(0,a.us)(t,I,E);return o().createElement(Z,{id:r.$id,multiple:!0,onChange:this.onSelectChange,onBlur:y,onFocus:g,options:_({},T,{enumOptions:k}),schema:t,uiSchema:n,registry:b,value:s,disabled:u,readonly:f,required:m,label:P,placeholder:v,formContext:O,autofocus:p,rawErrors:w})},s.renderFiles=function(){var e=this.props,t=e.schema,r=e.uiSchema,n=e.idSchema,i=e.name,s=e.disabled,c=void 0!==s&&s,u=e.readonly,l=void 0!==u&&u,f=e.autofocus,d=void 0!==f&&f,p=e.required,h=void 0!==p&&p,m=e.onBlur,v=e.onFocus,y=e.registry,g=e.formData,b=void 0===g?[]:g,w=e.rawErrors,_=t.title||i,$=y.widgets,E=y.formContext,S=(0,a.LI)(r),j=S.widget,A=void 0===j?"files":j,P=x(S,O),k=(0,a.us)(t,A,$);return o().createElement(k,{options:P,id:n.$id,multiple:!0,onChange:this.onSelectChange,onBlur:m,onFocus:v,schema:t,uiSchema:r,title:_,value:b,disabled:c,readonly:l,required:h,registry:y,formContext:E,autofocus:d,rawErrors:w,label:""})},s.renderFixedArray=function(){var e=this,t=this.props,r=t.schema,n=t.uiSchema,i=void 0===n?{}:n,s=t.formData,c=void 0===s?[]:s,u=t.errorSchema,l=t.idPrefix,f=t.idSeparator,d=void 0===f?"_":f,p=t.idSchema,m=t.name,v=t.disabled,y=void 0!==v&&v,g=t.readonly,b=void 0!==g&&g,w=t.autofocus,$=void 0!==w&&w,E=t.required,x=void 0!==E&&E,S=t.registry,j=t.onBlur,O=t.onFocus,A=t.rawErrors,P=this.state.keyedFormData,k=this.props.formData,C=void 0===k?[]:k,N=r.title||m,I=(0,a.LI)(i),T=S.schemaUtils,Z=S.formContext,F=((0,h.Z)(r.items)?r.items:[]).map((function(e,t){return T.retrieveSchema(e,c[t])})),R=(0,h.Z)(r.additionalItems)?T.retrieveSchema(r.additionalItems,c):null;(!C||C.length<F.length)&&(C=(C=C||[]).concat(new Array(F.length-C.length)));var D=this.canAddItem(C)&&!!R,M={canAdd:D,className:"field field-array field-array-fixed-items",disabled:y,idSchema:p,formData:c,items:P.map((function(t,n){var o=t.key,a=t.item,s=n>=F.length,c=s&&(0,h.Z)(r.additionalItems)?T.retrieveSchema(r.additionalItems,a):F[n],f=p.$id+d+n,v=T.toIdSchema(c,f,a,l,d),y=s?i.additionalItems||{}:Array.isArray(i.items)?i.items[n]:i.items||{},g=u?u[n]:void 0;return e.renderArrayFieldItem({key:o,index:n,name:m&&m+"-"+n,canAdd:D,canRemove:s,canMoveUp:n>=F.length+1,canMoveDown:s&&n<C.length-1,itemSchema:c,itemData:a,itemUiSchema:y,itemIdSchema:v,itemErrorSchema:g,autofocus:$&&0===n,onBlur:j,onFocus:O,rawErrors:A,totalItems:P.length})})),onAddClick:this.onAddClick,readonly:b,required:x,registry:S,schema:r,uiSchema:i,title:N,formContext:Z,rawErrors:A},U=(0,a.t4)("ArrayFieldTemplate",S,I);return o().createElement(U,_({},M))},s.renderArrayFieldItem=function(e){var t=e.key,r=e.index,n=e.name,i=e.canAdd,s=e.canRemove,c=void 0===s||s,u=e.canMoveUp,l=void 0===u||u,f=e.canMoveDown,d=void 0===f||f,p=e.itemSchema,h=e.itemData,m=e.itemUiSchema,v=e.itemIdSchema,y=e.itemErrorSchema,g=e.autofocus,b=e.onBlur,w=e.onFocus,_=e.rawErrors,$=e.totalItems,E=this.props,x=E.disabled,S=E.hideError,j=E.idPrefix,O=E.idSeparator,A=E.readonly,P=E.uiSchema,k=E.registry,C=E.formContext,N=k.fields,I=N.ArraySchemaField,T=N.SchemaField,Z=I||T,F=(0,a.LI)(P),R=F.orderable,D=void 0===R||R,M=F.removable,U={moveUp:D&&l,moveDown:D&&d,remove:(void 0===M||M)&&c,toolbar:!1};return U.toolbar=Object.keys(U).some((function(e){return U[e]})),{children:o().createElement(Z,{name:n,index:r,schema:p,uiSchema:m,formData:h,formContext:C,errorSchema:y,idPrefix:j,idSeparator:O,idSchema:v,required:this.isItemRequired(p),onChange:this.onChangeForIndex(r),onBlur:b,onFocus:w,registry:k,disabled:x,readonly:A,hideError:S,autofocus:g,rawErrors:_}),className:"array-item",disabled:x,canAdd:i,hasToolbar:U.toolbar,hasMoveUp:U.moveUp,hasMoveDown:U.moveDown,hasRemove:U.remove,index:r,totalItems:$,key:t,onAddIndexClick:this.onAddIndexClick,onDropIndexClick:this.onDropIndexClick,onReorderClick:this.onReorderClick,readonly:A,registry:k,schema:p,uiSchema:m}},r=t,(n=[{key:"itemTitle",get:function(){var e=this.props.schema;return(0,i.Z)(e,[a.YU,"title"],(0,i.Z)(e,[a.YU,"description"],"Item"))}}])&&w(r.prototype,n),Object.defineProperty(r,"prototype",{writable:!1}),t}(n.Component),N=["widget"];function I(e){var t,r=e.schema,n=e.name,i=e.uiSchema,s=e.idSchema,c=e.formData,u=e.registry,l=e.required,f=e.disabled,d=e.readonly,p=e.autofocus,m=e.onChange,v=e.onFocus,y=e.onBlur,g=e.rawErrors,b=r.title,w=u.widgets,$=u.formContext,E=(0,a.LI)(i),S=E.widget,j=void 0===S?"checkbox":S,O=x(E,N),A=(0,a.us)(r,j,w);if(Array.isArray(r.oneOf))t=(0,a.pp)({oneOf:r.oneOf.map((function(e){if((0,h.Z)(e))return _({},e,{title:e.title||(!0===e.const?"Yes":"No")})})).filter((function(e){return e}))});else{var P,k=r,C=null!=(P=r.enum)?P:[!0,!1];t=!k.enumNames&&2===C.length&&C.every((function(e){return"boolean"==typeof e}))?[{value:C[0],label:C[0]?"Yes":"No"},{value:C[1],label:C[1]?"Yes":"No"}]:(0,a.pp)({enum:C,enumNames:k.enumNames})}return o().createElement(A,{options:_({},O,{enumOptions:t}),schema:r,uiSchema:i,id:s.$id,onChange:m,onFocus:v,onBlur:y,label:void 0===b?n:b,value:c,required:l,disabled:f,readonly:d,registry:u,formContext:$,autofocus:p,rawErrors:g})}var T=["widget","placeholder","autofocus","autocomplete","title"],Z="Option",F=function(e){function t(t){var r;(r=e.call(this,t)||this).onOptionChange=function(e){var t=r.state,n=t.selectedOption,o=t.retrievedOptions,a=r.props,i=a.formData,s=a.onChange,c=a.registry.schemaUtils,u=void 0!==e?parseInt(e,10):-1;if(u!==n){var l=u>=0?o[u]:void 0,f=n>=0?o[n]:void 0,d=c.sanitizeDataForNewSchema(l,f,i);d&&l&&(d=c.getDefaultFormState(l,d,"excludeObjectChildren")),s(d,void 0,r.getFieldId()),r.setState({selectedOption:u})}};var n=r.props,o=n.formData,a=n.options,i=n.registry.schemaUtils,s=a.map((function(e){return i.retrieveSchema(e,o)}));return r.state={retrievedOptions:s,selectedOption:r.getMatchingOption(0,o,s)},r}$(t,e);var r=t.prototype;return r.componentDidUpdate=function(e,t){var r=this.props,n=r.formData,o=r.options,i=r.idSchema,s=this.state.selectedOption,c=this.state;if(!(0,a.qt)(e.options,o)){var u=this.props.registry.schemaUtils;c={selectedOption:s,retrievedOptions:o.map((function(e){return u.retrieveSchema(e,n)}))}}if(!(0,a.qt)(n,e.formData)&&i.$id===e.idSchema.$id){var l=c.retrievedOptions,f=this.getMatchingOption(s,n,l);t&&f!==s&&(c={selectedOption:f,retrievedOptions:l})}c!==this.state&&this.setState(c)},r.getMatchingOption=function(e,t,r){var n=this.props.registry.schemaUtils.getClosestMatchingOption(t,r,e);return n>0?n:e||0},r.getFieldId=function(){var e=this.props,t=e.idSchema,r=e.schema;return t.$id+(r.oneOf?"__oneof_select":"__anyof_select")},r.render=function(){var e,t=this.props,r=t.baseType,n=t.disabled,c=void 0!==n&&n,u=t.errorSchema,l=void 0===u?{}:u,f=t.formContext,d=t.onBlur,p=t.onFocus,h=t.registry,m=t.schema,y=t.uiSchema,g=h.widgets,b=h.fields.SchemaField,w=this.state,$=w.selectedOption,E=w.retrievedOptions,S=(0,a.LI)(y),j=S.widget,O=void 0===j?"select":j,A=S.placeholder,P=S.autofocus,k=S.autocomplete,C=S.title,N=void 0===C?m.title:C,I=x(S,T),F=(0,a.us)({type:"number"},O,g),R=(0,i.Z)(l,a.M9,[]),D=(0,v.Z)(l,[a.M9]),M=$>=0&&E[$]||null;M&&(e=M.type?M:Object.assign({},M,{type:r}));var U=N?N+" "+Z.toLowerCase():Z,V=E.map((function(e,t){return{label:e.title||U+" "+(t+1),value:t}}));return o().createElement("div",{className:"panel panel-default panel-body"},o().createElement("div",{className:"form-group"},o().createElement(F,{id:this.getFieldId(),schema:{type:"number",default:0},onChange:this.onOptionChange,onBlur:d,onFocus:p,disabled:c||(0,s.Z)(V),multiple:!1,rawErrors:R,errorSchema:D,value:$>=0?$:void 0,options:_({enumOptions:V},I),registry:h,formContext:f,placeholder:A,autocomplete:k,autofocus:P,label:""})),null!==M&&o().createElement(b,_({},this.props,{schema:e})))},t}(n.Component),R=/\.([0-9]*0)*$/,D=/[0.]0*$/;function M(e){var t=e.registry,r=e.onChange,i=e.formData,s=e.value,c=(0,n.useState)(s),u=c[0],l=c[1],f=t.fields.StringField,d=i,p=(0,n.useCallback)((function(e){l(e),"."===(""+e).charAt(0)&&(e="0"+e);var t="string"==typeof e&&e.match(R)?(0,a.mH)(e.replace(D,"")):(0,a.mH)(e);r(t)}),[r]);if("string"==typeof u&&"number"==typeof d){var h=new RegExp((""+d).replace(".","\\.")+"\\.?0*$");u.match(h)&&(d=u)}return o().createElement(f,_({},e,{formData:d,onChange:p}))}var U=function(e){function t(){for(var t,r=arguments.length,n=new Array(r),o=0;o<r;o++)n[o]=arguments[o];return(t=e.call.apply(e,[this].concat(n))||this).state={wasPropertyKeyModified:!1,additionalProperties:{}},t.onPropertyChange=function(e,r){return void 0===r&&(r=!1),function(n,o,a){var i,s,c=t.props,u=c.formData,l=c.onChange,f=c.errorSchema;void 0===n&&r&&(n=""),l(_({},u,((i={})[e]=n,i)),f&&f&&_({},f,((s={})[e]=o,s)),a)}},t.onDropPropertyClick=function(e){return function(r){r.preventDefault();var n=t.props,o=n.onChange,a=_({},n.formData);b(a,e),o(a)}},t.getAvailableKey=function(e,r){for(var n=t.props.uiSchema,o=(0,a.LI)(n).duplicateKeySuffixSeparator,i=void 0===o?"-":o,s=0,c=e;(0,y.Z)(r,c);)c=""+e+i+ ++s;return c},t.onKeyChange=function(e){return function(r,n){var o,a;if(e!==r){var i=t.props,s=i.formData,c=i.onChange,u=i.errorSchema;r=t.getAvailableKey(r,s);var l=_({},s),f=((o={})[e]=r,o),d=Object.keys(l).map((function(e){var t;return(t={})[f[e]||e]=l[e],t})),p=Object.assign.apply(Object,[{}].concat(d));t.setState({wasPropertyKeyModified:!0}),c(p,u&&u&&_({},u,((a={})[r]=n,a)))}}},t.handleAddClick=function(e){return function(){if(e.additionalProperties){var r=t.props,n=r.formData,o=r.onChange,i=r.registry,s=_({},n),c=void 0;if((0,h.Z)(e.additionalProperties)){c=e.additionalProperties.type;var u=e.additionalProperties;a.Sr in u&&(c=(u=i.schemaUtils.retrieveSchema({$ref:u[a.Sr]},n)).type),c||!(a.F8 in u)&&!(a.If in u)||(c="object")}var l=t.getAvailableKey("newKey",s);(0,m.Z)(s,l,t.getDefaultValue(c)),o(s)}}},t}$(t,e);var r=t.prototype;return r.isRequired=function(e){var t=this.props.schema;return Array.isArray(t.required)&&-1!==t.required.indexOf(e)},r.getDefaultValue=function(e){switch(e){case"string":default:return"New Value";case"array":return[];case"boolean":return!1;case"null":return null;case"number":return 0;case"object":return{}}},r.render=function(){var e,t=this,r=this.props,n=r.schema,s=r.uiSchema,c=void 0===s?{}:s,u=r.formData,l=r.errorSchema,f=r.idSchema,d=r.name,p=r.required,h=void 0!==p&&p,m=r.disabled,v=void 0!==m&&m,g=r.readonly,b=void 0!==g&&g,w=r.hideError,$=r.idPrefix,E=r.idSeparator,x=r.onBlur,S=r.onFocus,j=r.registry,O=j.fields,A=j.formContext,P=j.schemaUtils,k=O.SchemaField,C=P.retrieveSchema(n,u),N=(0,a.LI)(c),I=C.properties,T=void 0===I?{}:I,Z=void 0===C.title?d:C.title,F=N.description||C.description;try{var R=Object.keys(T);e=(0,a.$2)(R,N.order)}catch(e){return o().createElement("div",null,o().createElement("p",{className:"config-error",style:{color:"red"}},"Invalid ",d||"root"," object field configuration:",o().createElement("em",null,e.message),"."),o().createElement("pre",null,JSON.stringify(C)))}var D=(0,a.t4)("ObjectFieldTemplate",j,N),M={title:N.title||Z,description:F,properties:e.map((function(e){var r=(0,y.Z)(C,[a.MA,e,a.jk]),n=r?c.additionalProperties:c[e],s="hidden"===(0,a.LI)(n).widget,d=(0,i.Z)(f,[e],{});return{content:o().createElement(k,{key:e,name:e,required:t.isRequired(e),schema:(0,i.Z)(C,[a.MA,e],{}),uiSchema:n,errorSchema:(0,i.Z)(l,e),idSchema:d,idPrefix:$,idSeparator:E,formData:(0,i.Z)(u,e),formContext:A,wasPropertyKeyModified:t.state.wasPropertyKeyModified,onKeyChange:t.onKeyChange(e),onChange:t.onPropertyChange(e,r),onBlur:x,onFocus:S,registry:j,disabled:v,readonly:b,hideError:w,onDropPropertyClick:t.onDropPropertyClick}),name:e,readonly:b,disabled:v,required:h,hidden:s}})),readonly:b,disabled:v,required:h,idSchema:f,uiSchema:c,schema:C,formData:u,formContext:A,registry:j};return o().createElement(D,_({},M,{onAddClick:this.handleAddClick}))},t}(n.Component),V=["__errors"],z={array:"ArrayField",boolean:"BooleanField",integer:"NumberField",number:"NumberField",object:"ObjectField",string:"StringField",null:"NullField"};function L(e){var t=e.schema,r=e.idSchema,n=e.uiSchema,i=e.formData,s=e.errorSchema,c=e.idPrefix,u=e.idSeparator,l=e.name,f=e.onChange,d=e.onKeyChange,p=e.onDropPropertyClick,m=e.required,y=e.registry,g=e.wasPropertyKeyModified,b=void 0!==g&&g,w=y.formContext,$=y.schemaUtils,E=(0,a.LI)(n),S=(0,a.t4)("FieldTemplate",y,E),j=(0,a.t4)("DescriptionFieldTemplate",y,E),O=(0,a.t4)("FieldHelpTemplate",y,E),A=(0,a.t4)("FieldErrorTemplate",y,E),P=$.retrieveSchema(t,i),k=r[a.BO],C=(0,a.PM)($.toIdSchema(P,k,i,c,u),r),N=o().useCallback((function(e,t,r){return f(e,t,r||k)}),[k,f]),I=function(e,t,r,n){var i=t.field,s=n.fields;if("function"==typeof i)return i;if("string"==typeof i&&i in s)return s[i];var c=(0,a.f_)(e),u=Array.isArray(c)?c[0]:c||"",l=z[u];return l||!e.anyOf&&!e.oneOf?l in s?s[l]:function(){var i=(0,a.t4)("UnsupportedFieldTemplate",n,t);return o().createElement(i,{schema:e,idSchema:r,reason:"Unknown field type "+e.type,registry:n})}:function(){return null}}(P,E,C,y),T=Boolean(e.disabled||E.disabled),Z=Boolean(e.readonly||E.readonly||e.schema.readOnly||P.readOnly),F=E.hideError,R=void 0===F?e.hideError:Boolean(F),D=Boolean(e.autofocus||E.autofocus);if(0===Object.keys(P).length)return null;var M=$.getDisplayLabel(P,n),U=s||{},L=U.__errors,q=x(U,V),B=(0,v.Z)(n,["ui:classNames","classNames","ui:style"]);a.ji in B&&(B[a.ji]=(0,v.Z)(B[a.ji],["classNames","style"]));var K,W=o().createElement(I,_({},e,{onChange:N,idSchema:C,schema:P,uiSchema:B,disabled:T,readonly:Z,hideError:R,autofocus:D,errorSchema:q,formContext:w,rawErrors:L})),H=C[a.BO];K=b||a.jk in P?l:E.title||e.schema.title||P.title||l;var J=E.description||e.schema.description||P.description||"",G=E.help,Y="hidden"===E.widget,Q=["form-group","field","field-"+P.type];!R&&L&&L.length>0&&Q.push("field-error has-error has-danger"),null!=n&&n.classNames&&Q.push(n.classNames),E.classNames&&Q.push(E.classNames);var X=o().createElement(O,{help:G,idSchema:C,schema:P,uiSchema:n,hasErrors:!R&&L&&L.length>0,registry:y}),ee=R?void 0:o().createElement(A,{errors:L,errorSchema:s,idSchema:C,schema:P,uiSchema:n,registry:y}),te={description:o().createElement(j,{id:(0,a.Si)(H),description:J,schema:P,uiSchema:n,registry:y}),rawDescription:J,help:X,rawHelp:"string"==typeof G?G:void 0,errors:ee,rawErrors:R?void 0:L,id:H,label:K,hidden:Y,onChange:f,onKeyChange:d,onDropPropertyClick:p,required:m,disabled:T,readonly:Z,hideError:R,displayLabel:M,classNames:Q.join(" ").trim(),style:E.style,formContext:w,formData:i,schema:P,uiSchema:n,registry:y},re=y.fields.AnyOfField,ne=y.fields.OneOfField,oe=(null==n?void 0:n["ui:field"])&&!0===(null==n?void 0:n["ui:fieldReplacesAnyOrOneOf"]);return o().createElement(S,_({},te),o().createElement(o().Fragment,null,W,P.anyOf&&!oe&&!$.isSelect(P)&&o().createElement(re,{name:l,disabled:T,readonly:Z,hideError:R,errorSchema:s,formData:i,formContext:w,idPrefix:c,idSchema:C,idSeparator:u,onBlur:e.onBlur,onChange:e.onChange,onFocus:e.onFocus,options:P.anyOf.map((function(e){return $.retrieveSchema((0,h.Z)(e)?e:{},i)})),baseType:P.type,registry:y,schema:P,uiSchema:n}),P.oneOf&&!oe&&!$.isSelect(P)&&o().createElement(ne,{name:l,disabled:T,readonly:Z,hideError:R,errorSchema:s,formData:i,formContext:w,idPrefix:c,idSchema:C,idSeparator:u,onBlur:e.onBlur,onChange:e.onChange,onFocus:e.onFocus,options:P.oneOf.map((function(e){return $.retrieveSchema((0,h.Z)(e)?e:{},i)})),baseType:P.type,registry:y,schema:P,uiSchema:n})))}var q=function(e){function t(){return e.apply(this,arguments)||this}$(t,e);var r=t.prototype;return r.shouldComponentUpdate=function(e){return!(0,a.qt)(this.props,e)},r.render=function(){return o().createElement(L,_({},this.props))},t}(o().Component),B=["widget","placeholder"];function K(e){var t=e.schema,r=e.name,n=e.uiSchema,i=e.idSchema,s=e.formData,c=e.required,u=e.disabled,l=void 0!==u&&u,f=e.readonly,d=void 0!==f&&f,p=e.autofocus,h=void 0!==p&&p,m=e.onChange,v=e.onBlur,y=e.onFocus,g=e.registry,b=e.rawErrors,w=t.title,$=t.format,E=g.widgets,S=g.formContext,j=g.schemaUtils.isSelect(t)?(0,a.pp)(t):void 0,O=j?"select":"text";$&&(0,a.H7)(t,$,E)&&(O=$);var A=(0,a.LI)(n),P=A.widget,k=void 0===P?O:P,C=A.placeholder,N=void 0===C?"":C,I=x(A,B),T=(0,a.us)(t,k,E);return o().createElement(T,{options:_({},I,{enumOptions:j}),schema:t,uiSchema:n,id:i.$id,label:void 0===w?r:w,value:s,onChange:m,onBlur:v,onFocus:y,required:c,disabled:l,readonly:d,formContext:S,autofocus:h,registry:g,placeholder:N,rawErrors:b})}function W(e){var t=e.formData,r=e.onChange;return(0,n.useEffect)((function(){void 0===t&&r(null)}),[t,r]),null}function H(e){var t=e.idSchema,r=e.description,n=e.registry,i=e.schema,s=e.uiSchema,c=(0,a.LI)(s),u=c.label;if(!r||void 0!==u&&!u)return null;var l=(0,a.t4)("DescriptionFieldTemplate",n,c);return o().createElement(l,{id:(0,a.Si)(t),description:r,schema:i,uiSchema:s,registry:n})}function J(e){var t=e.children,r=e.className,n=e.disabled,a=e.hasToolbar,i=e.hasMoveDown,s=e.hasMoveUp,c=e.hasRemove,u=e.index,l=e.onDropIndexClick,f=e.onReorderClick,d=e.readonly,p=e.registry,h=e.uiSchema,m=p.templates.ButtonTemplates,v=m.MoveDownButton,y=m.MoveUpButton,g=m.RemoveButton,b={flex:1,paddingLeft:6,paddingRight:6,fontWeight:"bold"};return o().createElement("div",{className:r},o().createElement("div",{className:a?"col-xs-9":"col-xs-12"},t),a&&o().createElement("div",{className:"col-xs-3 array-item-toolbox"},o().createElement("div",{className:"btn-group",style:{display:"flex",justifyContent:"space-around"}},(s||i)&&o().createElement(y,{style:b,disabled:n||d||!s,onClick:f(u,u-1),uiSchema:h,registry:p}),(s||i)&&o().createElement(v,{style:b,disabled:n||d||!i,onClick:f(u,u+1),uiSchema:h,registry:p}),c&&o().createElement(g,{style:b,disabled:n||d,onClick:l(u),uiSchema:h,registry:p}))))}var G=["key"];function Y(e){var t=e.canAdd,r=e.className,n=e.disabled,i=e.idSchema,s=e.uiSchema,c=e.items,u=e.onAddClick,l=e.readonly,f=e.registry,d=e.required,p=e.schema,h=e.title,m=(0,a.LI)(s),v=(0,a.t4)("ArrayFieldDescriptionTemplate",f,m),y=(0,a.t4)("ArrayFieldItemTemplate",f,m),g=(0,a.t4)("ArrayFieldTitleTemplate",f,m),b=f.templates.ButtonTemplates.AddButton;return o().createElement("fieldset",{className:r,id:i.$id},o().createElement(g,{idSchema:i,title:m.title||h,required:d,schema:p,uiSchema:s,registry:f}),o().createElement(v,{idSchema:i,description:m.description||p.description,schema:p,uiSchema:s,registry:f}),o().createElement("div",{className:"row array-item-list"},c&&c.map((function(e){var t=e.key,r=x(e,G);return o().createElement(y,_({key:t},r))}))),t&&o().createElement(b,{className:"array-item-add",onClick:u,disabled:n||l,uiSchema:s,registry:f}))}function Q(e){var t=e.idSchema,r=e.title,n=e.schema,i=e.uiSchema,s=e.required,c=e.registry,u=(0,a.LI)(i),l=u.label;if(!r||void 0!==l&&!l)return null;var f=(0,a.t4)("TitleFieldTemplate",c,u);return o().createElement(f,{id:(0,a.Vt)(t),title:r,required:s,schema:n,uiSchema:i,registry:c})}var X=["id","value","readonly","disabled","autofocus","onBlur","onFocus","onChange","options","schema","uiSchema","formContext","registry","rawErrors","type"];function ee(e){var t=e.id,r=e.value,i=e.readonly,s=e.disabled,c=e.autofocus,u=e.onBlur,l=e.onFocus,f=e.onChange,d=e.options,p=e.schema,h=e.type,m=x(e,X);if(!t)throw console.log("No id for",e),new Error("no id for props "+JSON.stringify(e));var v,y=_({},m,(0,a.TC)(p,h,d));v="number"===y.type||"integer"===y.type?r||0===r?r:"":null==r?"":r;var g=(0,n.useCallback)((function(e){var t=e.target.value;return f(""===t?d.emptyValue:t)}),[f,d]),b=(0,n.useCallback)((function(e){var r=e.target.value;return u(t,r)}),[u,t]),w=(0,n.useCallback)((function(e){var r=e.target.value;return l(t,r)}),[l,t]);return o().createElement(o().Fragment,null,o().createElement("input",_({id:t,name:t,className:"form-control",readOnly:i,disabled:s,autoFocus:c,value:v},y,{list:p.examples?(0,a.RS)(t):void 0,onChange:g,onBlur:b,onFocus:w,"aria-describedby":(0,a.Jx)(t,!!p.examples)})),Array.isArray(p.examples)&&o().createElement("datalist",{key:"datalist_"+t,id:(0,a.RS)(t)},p.examples.concat(p.default&&!p.examples.includes(p.default)?[p.default]:[]).map((function(e){return o().createElement("option",{key:e,value:e})}))))}function te(e){var t=e.uiSchema,r=(0,a.rF)(t),n=r.submitText,i=r.norender,s=r.props,c=void 0===s?{}:s;return i?null:o().createElement("div",null,o().createElement("button",_({type:"submit"},c,{className:"btn btn-info "+c.className}),n))}var re=["iconType","icon","className","uiSchema","registry"];function ne(e){var t=e.iconType,r=void 0===t?"default":t,n=e.icon,a=e.className,i=x(e,re);return o().createElement("button",_({type:"button",className:"btn btn-"+r+" "+a},i),o().createElement("i",{className:"glyphicon glyphicon-"+n}))}function oe(e){return o().createElement(ne,_({title:"Move down",className:"array-item-move-down"},e,{icon:"arrow-down"}))}function ae(e){return o().createElement(ne,_({title:"Move up",className:"array-item-move-up"},e,{icon:"arrow-up"}))}function ie(e){return o().createElement(ne,_({title:"Remove",className:"array-item-remove"},e,{iconType:"danger",icon:"remove"}))}function se(e){var t=e.className,r=e.onClick,n=e.disabled,a=e.registry;return o().createElement("div",{className:"row"},o().createElement("p",{className:"col-xs-3 col-xs-offset-9 text-right "+t},o().createElement(ne,{iconType:"info",icon:"plus",className:"btn-add col-xs-12",title:"Add",onClick:r,disabled:n,registry:a})))}function ce(e){var t=e.id,r=e.description;return r?"string"==typeof r?o().createElement("p",{id:t,className:"field-description"},r):o().createElement("div",{id:t,className:"field-description"},r):null}function ue(e){var t=e.errors;return o().createElement("div",{className:"panel panel-danger errors"},o().createElement("div",{className:"panel-heading"},o().createElement("h3",{className:"panel-title"},"Errors")),o().createElement("ul",{className:"list-group"},t.map((function(e,t){return o().createElement("li",{key:t,className:"list-group-item text-danger"},e.stack)}))))}function le(e){var t=e.label,r=e.required,n=e.id;return t?o().createElement("label",{className:"control-label",htmlFor:n},t,r&&o().createElement("span",{className:"required"},"*")):null}function fe(e){var t=e.id,r=e.label,n=e.children,i=e.errors,s=e.help,c=e.description,u=e.hidden,l=e.required,f=e.displayLabel,d=e.registry,p=e.uiSchema,h=(0,a.LI)(p),m=(0,a.t4)("WrapIfAdditionalTemplate",d,h);return u?o().createElement("div",{className:"hidden"},n):o().createElement(m,_({},e),f&&o().createElement(le,{label:r,required:l,id:t}),f&&c?c:null,n,i,s)}function de(e){var t=e.errors,r=void 0===t?[]:t,n=e.idSchema;if(0===r.length)return null;var i=(0,a.UR)(n);return o().createElement("div",null,o().createElement("ul",{id:i,className:"error-detail bs-callout bs-callout-info"},r.filter((function(e){return!!e})).map((function(e,t){return o().createElement("li",{className:"text-danger",key:t},e)}))))}function pe(e){var t=e.idSchema,r=e.help;if(!r)return null;var n=(0,a.JL)(t);return"string"==typeof r?o().createElement("p",{id:n,className:"help-block"},r):o().createElement("div",{id:n,className:"help-block"},r)}function he(e){var t=e.description,r=e.disabled,n=e.formData,i=e.idSchema,s=e.onAddClick,c=e.properties,u=e.readonly,l=e.registry,f=e.required,d=e.schema,p=e.title,h=e.uiSchema,m=(0,a.LI)(h),v=(0,a.t4)("TitleFieldTemplate",l,m),y=(0,a.t4)("DescriptionFieldTemplate",l,m),g=l.templates.ButtonTemplates.AddButton;return o().createElement("fieldset",{id:i.$id},(m.title||p)&&o().createElement(v,{id:(0,a.Vt)(i),title:m.title||p,required:f,schema:d,uiSchema:h,registry:l}),(m.description||t)&&o().createElement(y,{id:(0,a.Si)(i),description:m.description||t,schema:d,uiSchema:h,registry:l}),c.map((function(e){return e.content})),(0,a.Rc)(d,h,n)&&o().createElement(g,{className:"object-property-expand",onClick:s(d),disabled:r||u,uiSchema:h,registry:l}))}function me(e){var t=e.id,r=e.title,n=e.required;return o().createElement("legend",{id:t},r,n&&o().createElement("span",{className:"required"},"*"))}function ve(e){var t=e.schema,r=e.idSchema,n=e.reason;return o().createElement("div",{className:"unsupported-field"},o().createElement("p",null,"Unsupported field schema",r&&r.$id&&o().createElement("span",null," for"," field ",o().createElement("code",null,r.$id)),n&&o().createElement("em",null,": ",n),"."),t&&o().createElement("pre",null,JSON.stringify(t,null,2)))}function ye(e){var t=e.id,r=e.classNames,n=e.style,i=e.disabled,s=e.label,c=e.onKeyChange,u=e.onDropPropertyClick,l=e.readonly,f=e.required,d=e.schema,p=e.children,h=e.uiSchema,m=e.registry,v=m.templates.ButtonTemplates.RemoveButton,y=s+" Key";return a.jk in d?o().createElement("div",{className:r,style:n},o().createElement("div",{className:"row"},o().createElement("div",{className:"col-xs-5 form-additional"},o().createElement("div",{className:"form-group"},o().createElement(le,{label:y,required:f,id:t+"-key"}),o().createElement("input",{className:"form-control",type:"text",id:t+"-key",onBlur:function(e){return c(e.target.value)},defaultValue:s}))),o().createElement("div",{className:"form-additional form-group col-xs-5"},p),o().createElement("div",{className:"col-xs-2"},o().createElement(v,{className:"array-item-remove btn-block",style:{border:"0"},disabled:i||l,onClick:u(s),uiSchema:h,registry:m})))):o().createElement("div",{className:r,style:n},p)}function ge(e,t){for(var r=[],n=e;n<=t;n++)r.push({value:n,label:(0,a.vk)(n,2)});return r}function be(e){var t=e.type,r=e.range,n=e.value,i=e.select,s=e.rootId,c=e.disabled,u=e.readonly,l=e.autofocus,f=e.registry,d=e.onBlur,p=e.onFocus,h=s+"_"+t,m=f.widgets.SelectWidget;return o().createElement(m,{schema:{type:"integer"},id:h,className:"form-control",options:{enumOptions:ge(r[0],r[1])},placeholder:t,value:n,disabled:c,readonly:u,autofocus:l,onChange:function(e){return i(t,e)},onBlur:d,onFocus:p,registry:f,label:"","aria-describedby":(0,a.Jx)(s)})}function we(e){var t=e.time,r=void 0!==t&&t,i=e.disabled,s=void 0!==i&&i,c=e.readonly,u=void 0!==c&&c,l=e.autofocus,f=void 0!==l&&l,d=e.options,p=e.id,h=e.registry,m=e.onBlur,v=e.onFocus,y=e.onChange,g=e.value,b=(0,n.useReducer)((function(e,t){return _({},e,t)}),(0,a.xk)(g,r)),w=b[0],$=b[1];(0,n.useEffect)((function(){g&&g!==(0,a.tC)(w,r)&&$((0,a.xk)(g,r))}),[g,w,r]),(0,n.useEffect)((function(){(function(e){return Object.values(e).every((function(e){return-1!==e}))})(w)&&y((0,a.tC)(w,r))}),[w,r,y]);var E=(0,n.useCallback)((function(e,t){var r;$(((r={})[e]=t,r))}),[]),x=(0,n.useCallback)((function(e){if(e.preventDefault(),!s&&!u){var t=(0,a.xk)((new Date).toJSON(),r);$(t)}}),[s,u,r]),S=(0,n.useCallback)((function(e){e.preventDefault(),s||u||($((0,a.xk)("",r)),y(void 0))}),[s,u,r,y]);return o().createElement("ul",{className:"list-inline"},function(e,t,r){void 0===r&&(r=[1900,(new Date).getFullYear()+2]);var n=e.year,o=e.month,a=e.day,i=e.hour,s=e.minute,c=e.second,u=[{type:"year",range:r,value:n},{type:"month",range:[1,12],value:o},{type:"day",range:[1,31],value:a}];return t&&u.push({type:"hour",range:[0,23],value:i},{type:"minute",range:[0,59],value:s},{type:"second",range:[0,59],value:c}),u}(w,r,d.yearsRange).map((function(e,t){return o().createElement("li",{key:t},o().createElement(be,_({rootId:p,select:E},e,{disabled:s,readonly:u,registry:h,onBlur:m,onFocus:v,autofocus:f&&0===t})))})),("undefined"===d.hideNowButton||!d.hideNowButton)&&o().createElement("li",null,o().createElement("a",{href:"#",className:"btn btn-info btn-now",onClick:x},"Now")),("undefined"===d.hideClearButton||!d.hideClearButton)&&o().createElement("li",null,o().createElement("a",{href:"#",className:"btn btn-warning btn-clear",onClick:S},"Clear")))}var _e=["time"];function $e(e){var t=e.time,r=void 0===t||t,n=x(e,_e),a=n.registry.widgets.AltDateWidget;return o().createElement(a,_({time:r},n))}function Ee(e){var t=e.schema,r=e.uiSchema,i=e.options,s=e.id,c=e.value,u=e.disabled,l=e.readonly,f=e.label,d=e.autofocus,p=void 0!==d&&d,h=e.onBlur,m=e.onFocus,v=e.onChange,y=e.registry,g=(0,a.t4)("DescriptionFieldTemplate",y,i),b=(0,a.iE)(t),w=(0,n.useCallback)((function(e){return v(e.target.checked)}),[v]),_=(0,n.useCallback)((function(e){return h(s,e.target.checked)}),[h,s]),$=(0,n.useCallback)((function(e){return m(s,e.target.checked)}),[m,s]);return o().createElement("div",{className:"checkbox "+(u||l?"disabled":"")},t.description&&o().createElement(g,{id:(0,a.Si)(s),description:t.description,schema:t,uiSchema:r,registry:y}),o().createElement("label",null,o().createElement("input",{type:"checkbox",id:s,name:s,checked:void 0!==c&&c,required:b,disabled:u||l,autoFocus:p,onChange:w,onBlur:_,onFocus:$,"aria-describedby":(0,a.Jx)(s)}),o().createElement("span",null,f)))}function xe(e){var t=e.id,r=e.disabled,i=e.options,s=i.inline,c=void 0!==s&&s,u=i.enumOptions,l=i.enumDisabled,f=i.emptyValue,d=e.value,p=e.autofocus,h=void 0!==p&&p,m=e.readonly,v=e.onChange,y=e.onBlur,g=e.onFocus,b=Array.isArray(d)?d:[d],w=(0,n.useCallback)((function(e){var r=e.target.value;return y(t,(0,a.QP)(r,u,f))}),[y,t]),_=(0,n.useCallback)((function(e){var r=e.target.value;return g(t,(0,a.QP)(r,u,f))}),[g,t]);return o().createElement("div",{className:"checkboxes",id:t},Array.isArray(u)&&u.map((function(e,n){var i=(0,a.TR)(e.value,b),s=Array.isArray(l)&&-1!==l.indexOf(e.value),f=r||s||m?"disabled":"",d=o().createElement("span",null,o().createElement("input",{type:"checkbox",id:(0,a.DK)(t,n),name:t,checked:i,value:String(n),disabled:r||s||m,autoFocus:h&&0===n,onChange:function(e){e.target.checked?v((0,a.U3)(n,b,u)):v((0,a.aI)(n,b,u))},onBlur:w,onFocus:_,"aria-describedby":(0,a.Jx)(t)}),o().createElement("span",null,e.label));return c?o().createElement("label",{key:n,className:"checkbox-inline "+f},d):o().createElement("div",{key:n,className:"checkbox "+f},o().createElement("label",null,d))})))}function Se(e){var t=e.disabled,r=e.readonly,n=e.options,i=e.registry,s=(0,a.t4)("BaseInputTemplate",i,n);return o().createElement(s,_({type:"color"},e,{disabled:t||r}))}function je(e){var t=e.onChange,r=e.options,i=e.registry,s=(0,a.t4)("BaseInputTemplate",i,r),c=(0,n.useCallback)((function(e){return t(e||void 0)}),[t]);return o().createElement(s,_({type:"date"},e,{onChange:c}))}function Oe(e){var t=e.onChange,r=e.value,n=e.options,i=e.registry,s=(0,a.t4)("BaseInputTemplate",i,n);return o().createElement(s,_({type:"datetime-local"},e,{value:(0,a.Yp)(r),onChange:function(e){return t((0,a._4)(e))}}))}function Ae(e){var t=e.options,r=e.registry,n=(0,a.t4)("BaseInputTemplate",r,t);return o().createElement(n,_({type:"email"},e))}function Pe(e,t){return null===e?null:e.replace(";base64",";name="+encodeURIComponent(t)+";base64")}function ke(e){var t=e.name,r=e.size,n=e.type;return new Promise((function(o,a){var i=new window.FileReader;i.onerror=a,i.onload=function(e){var a;"string"==typeof(null===(a=e.target)||void 0===a?void 0:a.result)?o({dataURL:Pe(e.target.result,t),name:t,size:r,type:n}):o({dataURL:null,name:t,size:r,type:n})},i.readAsDataURL(e)}))}function Ce(e){var t=e.filesInfo;return 0===t.length?null:o().createElement("ul",{className:"file-info"},t.map((function(e,t){var r=e.name,n=e.size,a=e.type;return o().createElement("li",{key:t},o().createElement("strong",null,r)," (",a,", ",n," bytes)")})))}function Ne(e){return e.filter((function(e){return void 0!==e})).map((function(e){var t=(0,a.OP)(e),r=t.blob;return{name:t.name,size:r.size,type:r.type}}))}function Ie(e){var t=e.multiple,r=e.id,i=e.readonly,s=e.disabled,c=e.onChange,u=e.value,l=e.autofocus,f=void 0!==l&&l,d=e.options,p=(0,n.useMemo)((function(){return Array.isArray(u)?Ne(u):Ne([u])}),[u]),h=(0,n.useState)(p),m=h[0],v=h[1],y=(0,n.useCallback)((function(e){var r;e.target.files&&(r=e.target.files,Promise.all(Array.from(r).map(ke))).then((function(e){v(e);var r=e.map((function(e){return e.dataURL}));c(t?r:r[0])}))}),[t,c]);return o().createElement("div",null,o().createElement("p",null,o().createElement("input",{id:r,name:r,type:"file",disabled:i||s,onChange:y,defaultValue:"",autoFocus:f,multiple:t,accept:d.accept?String(d.accept):void 0,"aria-describedby":(0,a.Jx)(r)})),o().createElement(Ce,{filesInfo:m}))}function Te(e){var t=e.id,r=e.value;return o().createElement("input",{type:"hidden",id:t,name:t,value:void 0===r?"":r})}function Ze(e){var t=e.options,r=e.registry,n=(0,a.t4)("BaseInputTemplate",r,t);return o().createElement(n,_({type:"password"},e))}function Fe(e){var t=e.options,r=e.value,i=e.required,s=e.disabled,c=e.readonly,u=e.autofocus,l=void 0!==u&&u,f=e.onBlur,d=e.onFocus,p=e.onChange,h=e.id,m=Math.random().toString(),v=t.enumOptions,y=t.enumDisabled,g=t.inline,b=t.emptyValue,w=(0,n.useCallback)((function(e){var t=e.target.value;return f(h,(0,a.QP)(t,v,b))}),[f,h]),_=(0,n.useCallback)((function(e){var t=e.target.value;return d(h,(0,a.QP)(t,v,b))}),[d,h]);return o().createElement("div",{className:"field-radio-group",id:h},Array.isArray(v)&&v.map((function(e,t){var n=(0,a.TR)(e.value,r),u=Array.isArray(y)&&-1!==y.indexOf(e.value),f=s||u||c?"disabled":"",d=o().createElement("span",null,o().createElement("input",{type:"radio",id:(0,a.DK)(h,t),checked:n,name:m,required:i,value:String(t),disabled:s||u||c,autoFocus:l&&0===t,onChange:function(){return p(e.value)},onBlur:w,onFocus:_,"aria-describedby":(0,a.Jx)(h)}),o().createElement("span",null,e.label));return g?o().createElement("label",{key:t,className:"radio-inline "+f},d):o().createElement("div",{key:t,className:"radio "+f},o().createElement("label",null,d))})))}function Re(e){var t=e.value,r=e.registry.templates.BaseInputTemplate;return o().createElement("div",{className:"field-range-wrapper"},o().createElement(r,_({type:"range"},e)),o().createElement("span",{className:"range-view"},t))}function De(e,t){return t?Array.from(e.target.options).slice().filter((function(e){return e.selected})).map((function(e){return e.value})):e.target.value}function Me(e){var t=e.schema,r=e.id,i=e.options,s=e.value,c=e.required,u=e.disabled,l=e.readonly,f=e.multiple,d=void 0!==f&&f,p=e.autofocus,h=void 0!==p&&p,m=e.onChange,v=e.onBlur,y=e.onFocus,g=e.placeholder,b=i.enumOptions,w=i.enumDisabled,_=i.emptyValue,$=d?[]:"",E=(0,n.useCallback)((function(e){var t=De(e,d);return y(r,(0,a.QP)(t,b,_))}),[y,r,t,d,i]),x=(0,n.useCallback)((function(e){var t=De(e,d);return v(r,(0,a.QP)(t,b,_))}),[v,r,t,d,i]),S=(0,n.useCallback)((function(e){var t=De(e,d);return m((0,a.QP)(t,b,_))}),[m,t,d,i]),j=(0,a.Rt)(s,b,d);return o().createElement("select",{id:r,name:r,multiple:d,className:"form-control",value:void 0===j?$:j,required:c,disabled:u||l,autoFocus:h,onBlur:x,onFocus:E,onChange:S,"aria-describedby":(0,a.Jx)(r)},!d&&void 0===t.default&&o().createElement("option",{value:""},g),Array.isArray(b)&&b.map((function(e,t){var r=e.value,n=e.label,a=w&&-1!==w.indexOf(r);return o().createElement("option",{key:t,value:String(t),disabled:a},n)})))}function Ue(e){var t=e.id,r=e.options,i=void 0===r?{}:r,s=e.placeholder,c=e.value,u=e.required,l=e.disabled,f=e.readonly,d=e.autofocus,p=void 0!==d&&d,h=e.onChange,m=e.onBlur,v=e.onFocus,y=(0,n.useCallback)((function(e){var t=e.target.value;return h(""===t?i.emptyValue:t)}),[h,i.emptyValue]),g=(0,n.useCallback)((function(e){var r=e.target.value;return m(t,r)}),[m,t]),b=(0,n.useCallback)((function(e){var r=e.target.value;return v(t,r)}),[t,v]);return o().createElement("textarea",{id:t,name:t,className:"form-control",value:c||"",placeholder:s,required:u,disabled:l,readOnly:f,autoFocus:p,rows:i.rows,onBlur:g,onFocus:b,onChange:y,"aria-describedby":(0,a.Jx)(t)})}function Ve(e){var t=e.options,r=e.registry,n=(0,a.t4)("BaseInputTemplate",r,t);return o().createElement(n,_({},e))}function ze(e){var t=e.options,r=e.registry,n=(0,a.t4)("BaseInputTemplate",r,t);return o().createElement(n,_({type:"url"},e))}function Le(e){var t=e.options,r=e.registry,n=(0,a.t4)("BaseInputTemplate",r,t);return o().createElement(n,_({type:"number"},e))}Ue.defaultProps={autofocus:!1,options:{}};var qe=function(e){function t(t){var r;if((r=e.call(this,t)||this).formElement=void 0,r.getUsedFormData=function(e,t){if(0===t.length&&"object"!=typeof e)return e;var r=p(e,t);return Array.isArray(e)?Object.keys(r).map((function(e){return r[e]})):r},r.getFieldNames=function(e,t){return function e(r,n,o){return void 0===n&&(n=[]),void 0===o&&(o=[[]]),Object.keys(r).forEach((function(c){if("object"==typeof r[c]){var u=o.map((function(e){return[].concat(e,[c])}));r[c][a.g$]&&""!==r[c][a.PK]?n.push(r[c][a.PK]):e(r[c],n,u)}else c===a.PK&&""!==r[c]&&o.forEach((function(e){var r=(0,i.Z)(t,e);("object"!=typeof r||(0,s.Z)(r))&&n.push(e)}))})),n}(e)},r.onChange=function(e,t,n){var o=r.props,i=o.extraErrors,s=o.omitExtraData,c=o.liveOmit,u=o.noValidate,l=o.liveValidate,f=o.onChange,d=r.state,p=d.schemaUtils,h=d.schema;((0,a.Kn)(e)||Array.isArray(e))&&(e=r.getStateFromProps(r.props,e).formData);var m=!u&&l,v={formData:e,schema:h},y=e;if(!0===s&&!0===c){var g=p.retrieveSchema(h,e),b=p.toPathSchema(g,"",e),w=r.getFieldNames(b,e);y=r.getUsedFormData(e,w),v={formData:y}}if(m){var $=r.validate(y),E=$.errors,x=$.errorSchema,S=E,j=x;if(i){var O=p.mergeValidationData($,i);x=O.errorSchema,E=O.errors}v={formData:y,errors:E,errorSchema:x,schemaValidationErrors:S,schemaValidationErrorSchema:j}}else if(!u&&t){var A=i?(0,a.PM)(t,i,"preventDuplicates"):t;v={formData:y,errorSchema:A,errors:p.getValidator().toErrorList(A)}}r.setState(v,(function(){return f&&f(_({},r.state,v),n)}))},r.onBlur=function(e,t){var n=r.props.onBlur;n&&n(e,t)},r.onFocus=function(e,t){var n=r.props.onFocus;n&&n(e,t)},r.onSubmit=function(e){if(e.preventDefault(),e.target===e.currentTarget){e.persist();var t=r.props,n=t.omitExtraData,o=t.extraErrors,a=t.noValidate,i=t.onSubmit,s=r.state.formData,c=r.state,u=c.schema,l=c.schemaUtils;if(!0===n){var f=l.retrieveSchema(u,s),d=l.toPathSchema(f,"",s),p=r.getFieldNames(d,s);s=r.getUsedFormData(s,p)}if(a||r.validateForm()){var h=o||{},m=o?l.getValidator().toErrorList(o):[];r.setState({formData:s,errors:m,errorSchema:h,schemaValidationErrors:[],schemaValidationErrorSchema:{}},(function(){i&&i(_({},r.state,{formData:s,status:"submitted"}),e)}))}}},!t.validator)throw new Error("A validator is required for Form functionality to work");return r.state=r.getStateFromProps(t,t.formData),r.props.onChange&&!(0,a.qt)(r.state.formData,r.props.formData)&&r.props.onChange(r.state),r.formElement=o().createRef(),r}$(t,e);var r=t.prototype;return r.UNSAFE_componentWillReceiveProps=function(e){var t=this.getStateFromProps(e,e.formData);(0,a.qt)(t.formData,e.formData)||(0,a.qt)(t.formData,this.state.formData)||!e.onChange||e.onChange(t),this.setState(t)},r.getStateFromProps=function(e,t){var r=this.state||{},n="schema"in e?e.schema:this.props.schema,o=("uiSchema"in e?e.uiSchema:this.props.uiSchema)||{},i=void 0!==t,s="liveValidate"in e?e.liveValidate:this.props.liveValidate,c=i&&!e.noValidate&&s,u=n,l=r.schemaUtils;l&&!l.doesSchemaUtilsDiffer(e.validator,u)||(l=(0,a.hf)(e.validator,u));var f,d,p=l.getDefaultFormState(n,t,"excludeObjectChildren"),h=l.retrieveSchema(n,p),m=r.schemaValidationErrors,v=r.schemaValidationErrorSchema;if(c){var y=this.validate(p,n,l);m=f=y.errors,v=d=y.errorSchema}else{var g=e.noValidate?{errors:[],errorSchema:{}}:e.liveValidate?{errors:r.errors||[],errorSchema:r.errorSchema||{}}:{errors:r.schemaValidationErrors||[],errorSchema:r.schemaValidationErrorSchema||{}};f=g.errors,d=g.errorSchema}if(e.extraErrors){var b=l.mergeValidationData({errorSchema:d,errors:f},e.extraErrors);d=b.errorSchema,f=b.errors}var w=l.toIdSchema(h,o["ui:rootFieldId"],p,e.idPrefix,e.idSeparator);return{schemaUtils:l,schema:n,uiSchema:o,idSchema:w,formData:p,edit:i,errors:f,errorSchema:d,schemaValidationErrors:m,schemaValidationErrorSchema:v}},r.shouldComponentUpdate=function(e,t){return(0,a.N0)(this,e,t)},r.validate=function(e,t,r){void 0===t&&(t=this.props.schema);var n=r||this.state.schemaUtils,o=this.props,a=o.customValidate,i=o.transformErrors,s=o.uiSchema,c=n.retrieveSchema(t,e);return n.getValidator().validateFormData(e,c,a,i,s)},r.renderErrors=function(e){var t=this.state,r=t.errors,n=t.errorSchema,i=t.schema,s=t.uiSchema,c=this.props.formContext,u=(0,a.LI)(s),l=(0,a.t4)("ErrorListTemplate",e,u);return r&&r.length?o().createElement(l,{errors:r,errorSchema:n||{},schema:i,uiSchema:s,formContext:c}):null},r.getRegistry=function(){var e,t=this.state.schemaUtils,r={fields:{AnyOfField:F,ArrayField:C,BooleanField:I,NumberField:M,ObjectField:U,OneOfField:F,SchemaField:q,StringField:K,NullField:W},templates:{ArrayFieldDescriptionTemplate:H,ArrayFieldItemTemplate:J,ArrayFieldTemplate:Y,ArrayFieldTitleTemplate:Q,ButtonTemplates:{SubmitButton:te,AddButton:se,MoveDownButton:oe,MoveUpButton:ae,RemoveButton:ie},BaseInputTemplate:ee,DescriptionFieldTemplate:ce,ErrorListTemplate:ue,FieldTemplate:fe,FieldErrorTemplate:de,FieldHelpTemplate:pe,ObjectFieldTemplate:he,TitleFieldTemplate:me,UnsupportedFieldTemplate:ve,WrapIfAdditionalTemplate:ye},widgets:{PasswordWidget:Ze,RadioWidget:Fe,UpDownWidget:Le,RangeWidget:Re,SelectWidget:Me,TextWidget:Ve,DateWidget:je,DateTimeWidget:Oe,AltDateWidget:we,AltDateTimeWidget:$e,EmailWidget:Ae,URLWidget:ze,TextareaWidget:Ue,HiddenWidget:Te,ColorWidget:Se,FileWidget:Ie,CheckboxWidget:Ee,CheckboxesWidget:xe},rootSchema:{},formContext:{}},n=r.templates,o=r.widgets,a=r.formContext;return{fields:_({},r.fields,this.props.fields),templates:_({},n,this.props.templates,{ButtonTemplates:_({},n.ButtonTemplates,null===(e=this.props.templates)||void 0===e?void 0:e.ButtonTemplates)}),widgets:_({},o,this.props.widgets),rootSchema:this.props.schema,formContext:this.props.formContext||a,schemaUtils:t}},r.submit=function(){this.formElement.current&&(this.formElement.current.dispatchEvent(new CustomEvent("submit",{cancelable:!0})),this.formElement.current.requestSubmit())},r.validateForm=function(){var e=this.props,t=e.extraErrors,r=e.onError,n=this.state.formData,o=this.state.schemaUtils,a=this.validate(n),i=a.errors,s=a.errorSchema,c=i,u=s;if(i.length>0){if(t){var l=o.mergeValidationData(a,t);s=l.errorSchema,i=l.errors}return this.setState({errors:i,errorSchema:s,schemaValidationErrors:c,schemaValidationErrorSchema:u},(function(){r?r(i):console.error("Form validation failed",i)})),!1}return!0},r.render=function(){var e=this.props,t=e.children,r=e.id,n=e.idPrefix,a=e.idSeparator,i=e.className,s=void 0===i?"":i,c=e.tagName,u=e.name,l=e.method,f=e.target,d=e.action,p=e.autoComplete,h=e.enctype,m=e.acceptcharset,v=e.noHtml5Validate,y=void 0!==v&&v,g=e.disabled,b=void 0!==g&&g,w=e.readonly,_=void 0!==w&&w,$=e.formContext,E=e.showErrorList,x=void 0===E?"top":E,S=e._internalFormWrapper,j=this.state,O=j.schema,A=j.uiSchema,P=j.formData,k=j.errorSchema,C=j.idSchema,N=this.getRegistry(),I=N.fields.SchemaField,T=N.templates.ButtonTemplates.SubmitButton,Z=S?c:void 0,F=S||c||"form";return o().createElement(F,{className:s||"rjsf",id:r,name:u,method:l,target:f,action:d,autoComplete:p,encType:h,acceptCharset:m,noValidate:y,onSubmit:this.onSubmit,as:Z,ref:this.formElement},"top"===x&&this.renderErrors(N),o().createElement(I,{name:"",schema:O,uiSchema:A,errorSchema:k,idSchema:C,idPrefix:n,idSeparator:a,formContext:$,formData:P,onChange:this.onChange,onBlur:this.onBlur,onFocus:this.onFocus,registry:N,disabled:b,readonly:_}),t||o().createElement(T,{uiSchema:A,registry:N}),"bottom"===x&&this.renderErrors(N))},t}(n.Component)},4643:(e,t,r)=>{"use strict";r.d(t,{jk:()=>Ve,F8:()=>qe,M9:()=>We,zy:()=>Gt,BO:()=>He,YU:()=>Je,PK:()=>Ge,If:()=>Ye,MA:()=>Qe,Sr:()=>Xe,g$:()=>et,ji:()=>tt,TE:()=>Ze,Jx:()=>fr,mH:()=>Fe,Rc:()=>nt,hf:()=>Lt,OP:()=>qt,qt:()=>ot,Si:()=>ir,aI:()=>Kt,Rt:()=>Ht,TR:()=>Wt,U3:()=>Jt,QP:()=>Bt,UR:()=>sr,RS:()=>cr,Tx:()=>Tt,TC:()=>Yt,f_:()=>lt,rF:()=>Xt,t4:()=>er,LI:()=>rt,us:()=>nr,H7:()=>or,JL:()=>ur,A7:()=>Zt,FZ:()=>Ot,Kn:()=>Te,_4:()=>pr,PM:()=>Pt,gf:()=>Rt,DK:()=>dr,pp:()=>hr,$2:()=>mr,vk:()=>vr,xk:()=>yr,iE:()=>gr,N0:()=>br,Vt:()=>lr,tC:()=>wr,Yp:()=>_r});var n=r(5365),o=r(520);function a(e){var t=-1,r=null==e?0:e.length;for(this.__data__=new o.Z;++t<r;)this.add(e[t])}a.prototype.add=a.prototype.push=function(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this},a.prototype.has=function(e){return this.__data__.has(e)};const i=a,s=function(e,t){for(var r=-1,n=null==e?0:e.length;++r<n;)if(t(e[r],r,e))return!0;return!1},c=function(e,t){return e.has(t)},u=function(e,t,r,n,o,a){var u=1&r,l=e.length,f=t.length;if(l!=f&&!(u&&f>l))return!1;var d=a.get(e),p=a.get(t);if(d&&p)return d==t&&p==e;var h=-1,m=!0,v=2&r?new i:void 0;for(a.set(e,t),a.set(t,e);++h<l;){var y=e[h],g=t[h];if(n)var b=u?n(g,y,h,t,e,a):n(y,g,h,e,t,a);if(void 0!==b){if(b)continue;m=!1;break}if(v){if(!s(t,(function(e,t){if(!c(v,t)&&(y===e||o(y,e,r,n,a)))return v.push(t)}))){m=!1;break}}else if(y!==g&&!o(y,g,r,n,a)){m=!1;break}}return a.delete(e),a.delete(t),m};var l=r(7685),f=r(4073),d=r(9651);const p=function(e){var t=-1,r=Array(e.size);return e.forEach((function(e,n){r[++t]=[n,e]})),r},h=function(e){var t=-1,r=Array(e.size);return e.forEach((function(e){r[++t]=e})),r};var m=l.Z?l.Z.prototype:void 0,v=m?m.valueOf:void 0;var y=r(1808),g=Object.prototype.hasOwnProperty;var b=r(6155),w=r(7771),_=r(6706),$=r(7212),E="[object Arguments]",x="[object Array]",S="[object Object]",j=Object.prototype.hasOwnProperty;const O=function(e,t,r,o,a,i){var s=(0,w.Z)(e),c=(0,w.Z)(t),l=s?x:(0,b.Z)(e),m=c?x:(0,b.Z)(t),O=(l=l==E?S:l)==S,A=(m=m==E?S:m)==S,P=l==m;if(P&&(0,_.Z)(e)){if(!(0,_.Z)(t))return!1;s=!0,O=!1}if(P&&!O)return i||(i=new n.Z),s||(0,$.Z)(e)?u(e,t,r,o,a,i):function(e,t,r,n,o,a,i){switch(r){case"[object DataView]":if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case"[object ArrayBuffer]":return!(e.byteLength!=t.byteLength||!a(new f.Z(e),new f.Z(t)));case"[object Boolean]":case"[object Date]":case"[object Number]":return(0,d.Z)(+e,+t);case"[object Error]":return e.name==t.name&&e.message==t.message;case"[object RegExp]":case"[object String]":return e==t+"";case"[object Map]":var s=p;case"[object Set]":var c=1&n;if(s||(s=h),e.size!=t.size&&!c)return!1;var l=i.get(e);if(l)return l==t;n|=2,i.set(e,t);var m=u(s(e),s(t),n,o,a,i);return i.delete(e),m;case"[object Symbol]":if(v)return v.call(e)==v.call(t)}return!1}(e,t,l,r,o,a,i);if(!(1&r)){var k=O&&j.call(e,"__wrapped__"),C=A&&j.call(t,"__wrapped__");if(k||C){var N=k?e.value():e,I=C?t.value():t;return i||(i=new n.Z),a(N,I,r,o,i)}}return!!P&&(i||(i=new n.Z),function(e,t,r,n,o,a){var i=1&r,s=(0,y.Z)(e),c=s.length;if(c!=(0,y.Z)(t).length&&!i)return!1;for(var u=c;u--;){var l=s[u];if(!(i?l in t:g.call(t,l)))return!1}var f=a.get(e),d=a.get(t);if(f&&d)return f==t&&d==e;var p=!0;a.set(e,t),a.set(t,e);for(var h=i;++u<c;){var m=e[l=s[u]],v=t[l];if(n)var b=i?n(v,m,l,t,e,a):n(m,v,l,e,t,a);if(!(void 0===b?m===v||o(m,v,r,n,a):b)){p=!1;break}h||(h="constructor"==l)}if(p&&!h){var w=e.constructor,_=t.constructor;w==_||!("constructor"in e)||!("constructor"in t)||"function"==typeof w&&w instanceof w&&"function"==typeof _&&_ instanceof _||(p=!1)}return a.delete(e),a.delete(t),p}(e,t,r,o,a,i))};var A=r(8533);const P=function e(t,r,n,o,a){return t===r||(null==t||null==r||!(0,A.Z)(t)&&!(0,A.Z)(r)?t!=t&&r!=r:O(t,r,n,o,e,a))};var k=r(6423),C=r(9697),N=r(9038),I=r(4920),T=r(3402),Z=r(7226),F=r(3243);const R=function(e){return"string"==typeof e||!(0,w.Z)(e)&&(0,A.Z)(e)&&"[object String]"==(0,F.Z)(e)},D=function(e,t,r,n){var o=-1,a=null==e?0:e.length;for(n&&a&&(r=e[++o]);++o<a;)r=t(r,e[o],o,e);return r},M=function(e,t,r){for(var n=-1,o=Object(e),a=r(e),i=a.length;i--;){var s=a[++n];if(!1===t(o[s],s,o))break}return e};var U=r(7179);var V=r(585);const z=(L=function(e,t){return e&&M(e,t,U.Z)},function(e,t){if(null==e)return e;if(!(0,V.Z)(e))return L(e,t);for(var r=e.length,n=-1,o=Object(e);++n<r&&!1!==t(o[n],n,o););return e});var L;const q=function(e){return e==e&&!(0,Z.Z)(e)},B=function(e,t){return function(r){return null!=r&&r[e]===t&&(void 0!==t||e in Object(r))}},K=function(e){var t=function(e){for(var t=(0,U.Z)(e),r=t.length;r--;){var n=t[r],o=e[n];t[r]=[n,o,q(o)]}return t}(e);return 1==t.length&&t[0][2]?B(t[0][0],t[0][1]):function(r){return r===e||function(e,t,r,o){var a=r.length,i=a,s=!o;if(null==e)return!i;for(e=Object(e);a--;){var c=r[a];if(s&&c[2]?c[1]!==e[c[0]]:!(c[0]in e))return!1}for(;++a<i;){var u=(c=r[a])[0],l=e[u],f=c[1];if(s&&c[2]){if(void 0===l&&!(u in e))return!1}else{var d=new n.Z;if(o)var p=o(l,f,u,e,t,d);if(!(void 0===p?P(f,l,3,o,d):p))return!1}}return!0}(r,e,t)}};var W=r(1910),H=r(9365),J=r(2281);var G=r(9203);var Y=r(3317);const Q=function(e){return(0,H.Z)(e)?(t=(0,J.Z)(e),function(e){return null==e?void 0:e[t]}):function(e){return function(t){return(0,Y.Z)(t,e)}}(e);var t},X=function(e){return"function"==typeof e?e:null==e?G.Z:"object"==typeof e?(0,w.Z)(e)?(t=e[0],r=e[1],(0,H.Z)(t)&&q(r)?B((0,J.Z)(t),r):function(e){var n=(0,k.Z)(e,t);return void 0===n&&n===r?(0,W.Z)(e,t):P(r,n,3)}):K(e):Q(e);var t,r},ee=function(e,t,r,n,o){return o(e,(function(e,o,a){r=n?(n=!1,e):t(r,e,o,a)})),r};var te=r(2889);var re=/\s/;var ne=/^\s+/;const oe=function(e){return e?e.slice(0,function(e){for(var t=e.length;t--&&re.test(e.charAt(t)););return t}(e)+1).replace(ne,""):e};var ae=r(2714),ie=/^[-+]0x[0-9a-f]+$/i,se=/^0b[01]+$/i,ce=/^0o[0-7]+$/i,ue=parseInt;const le=function(e){return e?Infinity===(e=function(e){if("number"==typeof e)return e;if((0,ae.Z)(e))return NaN;if((0,Z.Z)(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=(0,Z.Z)(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=oe(e);var r=se.test(e);return r||ce.test(e)?ue(e.slice(2),r?2:8):ie.test(e)?NaN:+e}(e))||e===-1/0?17976931348623157e292*(e<0?-1:1):e==e?e:0:0===e?e:0};var fe=4294967295,de=Math.min;const pe=function(e,t){if((e=function(e){var t=le(e),r=t%1;return t==t?r?t-r:t:0}(e))<1||e>9007199254740991)return[];var r,n=fe,o=de(e,fe);t="function"==typeof(r=t)?r:G.Z,e-=fe;for(var a=(0,te.Z)(o,t);++n<e;)t(n);return a};var he=r(8707),me=r(9830),ve=r.n(me),ye=r(5140),ge=r(3948),be=r(22);const we=function(e){return e!=e},_e=function(e,t){return!(null==e||!e.length)&&function(e,t,r){return t==t?function(e,t,r){for(var n=r-1,o=e.length;++n<o;)if(e[n]===t)return n;return-1}(e,t,r):function(e,t,r,n){for(var o=e.length,a=r+(n?1:-1);n?a--:++a<o;)if(t(e[a],a,e))return a;return-1}(e,we,r)}(e,t,0)>-1},$e=function(e,t,r){for(var n=-1,o=null==e?0:e.length;++n<o;)if(r(t,e[n]))return!0;return!1};var Ee=r(3203);const xe=Ee.Z&&1/h(new Ee.Z([,-0]))[1]==1/0?function(e){return new Ee.Z(e)}:function(){},Se=function(e){return(0,A.Z)(e)&&(0,V.Z)(e)},je=(Oe=function(e){return function(e,t,r){var n=-1,o=_e,a=e.length,s=!0,u=[],l=u;if(r)s=!1,o=$e;else if(a>=200){var f=t?null:xe(e);if(f)return h(f);s=!1,o=c,l=new i}else l=t?[]:u;e:for(;++n<a;){var d=e[n],p=t?t(d):d;if(d=r||0!==d?d:0,s&&p==p){for(var m=l.length;m--;)if(l[m]===p)continue e;t&&l.push(p),u.push(d)}else o(l,p,r)||(l!==u&&l.push(p),u.push(d))}return u}((0,ye.Z)(e,1,Se,!0))},(0,be.Z)((0,ge.Z)(Oe,Ae,G.Z),Oe+""));var Oe,Ae;const Pe=function(e,t){return P(e,t)};var ke=r(9027);var Ce=r(9196),Ne=r.n(Ce),Ie=r(6093);function Te(e){return!("undefined"!=typeof File&&e instanceof File||"undefined"!=typeof Date&&e instanceof Date||"object"!=typeof e||null===e||Array.isArray(e))}function Ze(e){return!0===e.additionalItems&&console.warn("additionalItems=true is currently not supported"),Te(e.additionalItems)}function Fe(e){if(""!==e){if(null===e)return null;if(/\.$/.test(e))return e;if(/\.0$/.test(e))return e;if(/\.\d*0$/.test(e))return e;var t=Number(e);return"number"!=typeof t||Number.isNaN(t)?e:t}}function Re(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,(void 0,"symbol"==typeof(o=function(e,t){if("object"!=typeof e||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t);if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(n.key,"string"))?o:String(o)),n)}var o}function De(){return De=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},De.apply(this,arguments)}function Me(e){if(null==e)throw new TypeError("Cannot destructure "+e)}function Ue(e,t){if(null==e)return{};var r,n,o={},a=Object.keys(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}var Ve="__additional_property",ze="additionalProperties",Le="allOf",qe="anyOf",Be="const",Ke="dependencies",We="__errors",He="$id",Je="items",Ge="$name",Ye="oneOf",Qe="properties",Xe="$ref",et="__rjsf_additionalProperties",tt="ui:options";function rt(e){return void 0===e&&(e={}),Object.keys(e).filter((function(e){return 0===e.indexOf("ui:")})).reduce((function(t,r){var n,o=e[r];return"ui:widget"===r&&Te(o)?(console.error("Setting options via ui:widget object is no longer supported, use ui:options instead"),t):r===tt&&Te(o)?De({},t,o):De({},t,((n={})[r.substring(3)]=o,n))}),{})}function nt(e,t,r){if(void 0===t&&(t={}),!e.additionalProperties)return!1;var n=rt(t).expandable,o=void 0===n||n;return!1===o?o:void 0===e.maxProperties||!r||Object.keys(r).length<e.maxProperties}function ot(e,t){return r=e,n=t,o=function(e,t){if("function"==typeof e&&"function"==typeof t)return!0},void 0===(a=(o="function"==typeof o?o:void 0)?o(r,n):void 0)?P(r,n,void 0,o):!!a;var r,n,o,a}function at(e,t){var r=t[e];return[(0,I.Z)(t,[e]),r]}function it(e,t){void 0===t&&(t={});var r=e||"";if(!r.startsWith("#"))throw new Error("Could not find a definition for "+e+".");r=decodeURIComponent(r.substring(1));var n=N.get(t,r);if(void 0===n)throw new Error("Could not find a definition for "+e+".");if(n[Xe]){var o=at(Xe,n),a=o[0],i=it(o[1],t);return Object.keys(a).length>0?De({},a,i):i}return n}function st(e,t,r,n){if(void 0===t)return 0;for(var o=0;o<r.length;o++){var a=r[o];if(a.properties){var i={anyOf:Object.keys(a.properties).map((function(e){return{required:[e]}}))},s=void 0;if(a.anyOf){var c=De({},(Me(a),a));c.allOf?c.allOf=c.allOf.slice():c.allOf=[],c.allOf.push(i),s=c}else s=Object.assign({},a,i);if(delete s.required,e.isValid(s,t,n))return o}else if(e.isValid(a,t,n))return o}return 0}function ct(e,t,r,n){return st(e,t,r,n)}function ut(e){return Array.isArray(e)?"array":"string"==typeof e?"string":null==e?"null":"boolean"==typeof e?"boolean":isNaN(e)?"object"==typeof e?"object":"string":"number"}function lt(e){var t=e.type;return!t&&e.const?ut(e.const):!t&&e.enum?"string":t||!e.properties&&!e.additionalProperties?(Array.isArray(t)&&2===t.length&&t.includes("null")&&(t=t.find((function(e){return"null"!==e}))),t):"object"}function ft(e,t){var r=Object.assign({},e);return Object.keys(t).reduce((function(r,n){var o=e?e[n]:{},a=t[n];return e&&n in e&&Te(a)?r[n]=ft(o,a):e&&t&&("object"===lt(e)||"object"===lt(t))&&"required"===n&&Array.isArray(o)&&Array.isArray(a)?r[n]=je(o,a):r[n]=a,r}),r)}var dt=["if","then","else"],pt=["$ref"],ht=["allOf"],mt=["dependencies"],vt=["oneOf"];function yt(e,t,r,n){return gt(e,De({},it(t.$ref,r),Ue(t,pt)),r,n)}function gt(e,t,r,n){if(void 0===r&&(r={}),!Te(t))return{};var o=function(e,t,r,n){if(void 0===r&&(r={}),Xe in t)return yt(e,t,r,n);if(Ke in t){var o=bt(e,t,r,n);return gt(e,o,r,n)}return Le in t?De({},t,{allOf:t.allOf.map((function(t){return gt(e,t,r,n)}))}):t}(e,t,r,n);if("if"in t)return function(e,t,r,n){var o=t.if,a=t.then,i=t.else,s=Ue(t,dt),c=e.isValid(o,n,r)?a:i;return gt(e,c&&"boolean"!=typeof c?ft(s,gt(e,c,r,n)):s,r,n)}(e,t,r,n);var a=n||{};if(Le in t)try{o=ve()(o,{deep:!1})}catch(e){return console.warn("could not merge subschemas in allOf:\n"+e),Ue(o,ht)}return ze in o&&!1!==o.additionalProperties?function(e,t,r,n){var o=De({},t,{properties:De({},t.properties)}),a=n&&Te(n)?n:{};return Object.keys(a).forEach((function(t){if(!(t in o.properties)){var n;n="boolean"!=typeof o.additionalProperties?Xe in o.additionalProperties?gt(e,{$ref:(0,k.Z)(o.additionalProperties,[Xe])},r,a):"type"in o.additionalProperties?De({},o.additionalProperties):qe in o.additionalProperties||Ye in o.additionalProperties?De({type:"object"},o.additionalProperties):{type:ut((0,k.Z)(a,[t]))}:{type:ut((0,k.Z)(a,[t]))},o.properties[t]=n,(0,he.Z)(o.properties,[t,Ve],!0)}})),o}(e,o,r,a):o}function bt(e,t,r,n){var o=t.dependencies,a=Ue(t,mt);return Array.isArray(a.oneOf)?a=a.oneOf[ct(e,n,a.oneOf,r)]:Array.isArray(a.anyOf)&&(a=a.anyOf[ct(e,n,a.anyOf,r)]),wt(e,o,a,r,n)}function wt(e,t,r,n,o){var a=r;for(var i in t)if(void 0!==(0,k.Z)(o,[i])&&(!a.properties||i in a.properties)){var s=at(i,t),c=s[0],u=s[1];return Array.isArray(u)?a=_t(a,u):Te(u)&&(a=$t(e,a,n,i,u,o)),wt(e,c,a,n,o)}return a}function _t(e,t){return t?De({},e,{required:Array.isArray(e.required)?Array.from(new Set([].concat(e.required,t))):t}):e}function $t(e,t,r,n,o,a){var i=gt(e,o,r,a),s=i.oneOf;if(t=ft(t,Ue(i,vt)),void 0===s)return t;var c=s.map((function(t){return"boolean"!=typeof t&&Xe in t?yt(e,t,r,a):t}));return function(e,t,r,n,o,a){var i=o.filter((function(t){if("boolean"==typeof t||!t||!t.properties)return!1;var r=t.properties[n];if(r){var o,i={type:"object",properties:(o={},o[n]=r,o)};return 0===e.validateFormData(a,i).errors.length}return!1}));if(1!==i.length)return console.warn("ignoring oneOf in dependencies because there isn't exactly one subschema that is valid"),t;var s=i[0],c=De({},s,{properties:at(n,s.properties)[0]});return ft(t,gt(e,c,r,a))}(e,t,r,n,c,a)}var Et,xt={type:"object",properties:{__not_really_there__:{type:"number"}}};function St(e,t,r,n){void 0===n&&(n={});var o=0;return r&&((0,Z.Z)(r.properties)?o+=function(e,t,r){var n=(0,w.Z)(e)?D:ee,o=arguments.length<3;return n(e,X(t),r,o,z)}(r.properties,(function(r,o,a){var i=(0,k.Z)(n,a);if("boolean"==typeof o)return r;if((0,T.Z)(o,Xe)){var s=gt(e,o,t,i);return r+St(e,t,s,i||{})}if((0,T.Z)(o,Ye)&&i)return r+jt(e,t,i,(0,k.Z)(o,Ye));if("object"===o.type)return r+St(e,t,o,i||{});if(o.type===ut(i)){var c=r+1;return o.default?c+=i===o.default?1:-1:o.const&&(c+=i===o.const?1:-1),c}return r}),0):R(r.type)&&r.type===ut(n)&&(o+=1)),o}function jt(e,t,r,n,o){void 0===o&&(o=-1);var a=n.reduce((function(n,o,a){return 1===ct(e,r,[xt,o],t)&&n.push(a),n}),[]);return 1===a.length?a[0]:(a.length||pe(n.length,(function(e){return a.push(e)})),a.reduce((function(o,a){var i=o.bestScore,s=n[a];(0,T.Z)(s,Xe)&&(s=gt(e,s,t,r));var c=St(e,t,s,r);return c>i?{bestIndex:a,bestScore:c}:o}),{bestIndex:o,bestScore:0}).bestIndex)}function Ot(e){return Array.isArray(e.items)&&e.items.length>0&&e.items.every((function(e){return Te(e)}))}function At(e,t){if(Array.isArray(t)){var r=Array.isArray(e)?e:[];return t.map((function(e,t){return r[t]?At(r[t],e):e}))}if(Te(t)){var n=Object.assign({},e);return Object.keys(t).reduce((function(r,n){return r[n]=At(e?(0,k.Z)(e,n):{},(0,k.Z)(t,n)),r}),n)}return t}function Pt(e,t,r){return void 0===r&&(r=!1),Object.keys(t).reduce((function(n,o){var a=e?e[o]:{},i=t[o];if(e&&o in e&&Te(i))n[o]=Pt(a,i,r);else if(r&&Array.isArray(a)&&Array.isArray(i)){var s=i;"preventDuplicates"===r&&(s=i.reduce((function(e,t){return a.includes(t)||e.push(t),e}),[])),n[o]=a.concat(s)}else n[o]=i;return n}),Object.assign({},e))}function kt(e,t,r){void 0===r&&(r={});var n=gt(e,t,r,void 0),o=n.oneOf||n.anyOf;return!!Array.isArray(n.enum)||!!Array.isArray(o)&&o.every((function(e){return"boolean"!=typeof e&&function(e){return Array.isArray(e.enum)&&1===e.enum.length||Be in e}(e)}))}function Ct(e,t,r){return!(!t.uniqueItems||!t.items||"boolean"==typeof t.items)&&kt(e,t.items,r)}function Nt(e,t,r){if(void 0===t&&(t=Et.Ignore),void 0===r&&(r=-1),r>=0){if(Array.isArray(e.items)&&r<e.items.length){var n=e.items[r];if("boolean"!=typeof n)return n}}else if(e.items&&!Array.isArray(e.items)&&"boolean"!=typeof e.items)return e.items;return t!==Et.Ignore&&Te(e.additionalItems)?e.additionalItems:{}}function It(e,t,r,n,o,a){void 0===n&&(n={}),void 0===a&&(a=!1);var i=Te(o)?o:{},s=Te(t)?t:{},c=r;if(Te(c)&&Te(s.default))c=Pt(c,s.default);else if("default"in s)c=s.default;else{if(Xe in s){var u=it(s[Xe],n);return It(e,u,c,n,i,a)}if(Ke in s){var l=bt(e,s,n,i);return It(e,l,c,n,i,a)}Ot(s)?c=s.items.map((function(t,o){return It(e,t,Array.isArray(r)?r[o]:void 0,n,i,a)})):Ye in s?s=s.oneOf[jt(e,n,(0,C.Z)(i)?void 0:i,s.oneOf,0)]:qe in s&&(s=s.anyOf[jt(e,n,(0,C.Z)(i)?void 0:i,s.anyOf,0)])}switch(void 0===c&&(c=s.default),lt(s)){case"object":return Object.keys(s.properties||{}).reduce((function(t,r){var o=It(e,(0,k.Z)(s,[Qe,r]),(0,k.Z)(c,[r]),n,(0,k.Z)(i,[r]),"excludeObjectChildren"!==a&&a);return a?t[r]=o:Te(o)?(0,C.Z)(o)||(t[r]=o):void 0!==o&&(t[r]=o),t}),{});case"array":if(Array.isArray(c)&&(c=c.map((function(t,r){var o=Nt(s,Et.Fallback,r);return It(e,o,t,n)}))),Array.isArray(o)){var f=Nt(s);c=o.map((function(t,r){return It(e,f,(0,k.Z)(c,[r]),n,t)}))}if(s.minItems){if(!Ct(e,s,n)){var d=Array.isArray(c)?c.length:0;if(s.minItems>d){var p=c||[],h=Nt(s,Et.Invert),m=h.default,v=new Array(s.minItems-d).fill(It(e,h,m,n));return p.concat(v)}}return c||[]}}return c}function Tt(e,t,r,n,o){if(void 0===o&&(o=!1),!Te(t))throw new Error("Invalid schema: "+t);var a=It(e,gt(e,t,n,r),void 0,n,r,o);return null==r||"number"==typeof r&&isNaN(r)?a:Te(r)||Array.isArray(r)?At(a,r):r}function Zt(e){return void 0===e&&(e={}),"widget"in rt(e)&&"hidden"!==rt(e).widget}function Ft(e,t,r,n){if(void 0===r&&(r={}),"files"===r["ui:widget"])return!0;if(t.items){var o=gt(e,t.items,n);return"string"===o.type&&"data-url"===o.format}return!1}function Rt(e,t,r){if(!r)return t;var n=t.errors,o=t.errorSchema,a=e.toErrorList(r),i=r;return(0,C.Z)(o)||(i=Pt(o,r,!0),a=[].concat(n).concat(a)),{errorSchema:i,errors:a}}!function(e){e[e.Ignore=0]="Ignore",e[e.Invert=1]="Invert",e[e.Fallback=2]="Fallback"}(Et||(Et={}));var Dt=Symbol("no Value");function Mt(e,t,r,n,o){var a;if(void 0===o&&(o={}),(0,T.Z)(r,Qe)){var i={};if((0,T.Z)(n,Qe)){var s=(0,k.Z)(n,Qe,{});Object.keys(s).forEach((function(e){(0,T.Z)(o,e)&&(i[e]=void 0)}))}var c=Object.keys((0,k.Z)(r,Qe,{})),u={};c.forEach((function(a){var s=(0,k.Z)(o,a),c=(0,k.Z)(n,[Qe,a],{}),l=(0,k.Z)(r,[Qe,a],{});(0,T.Z)(c,Xe)&&(c=gt(e,c,t,s)),(0,T.Z)(l,Xe)&&(l=gt(e,l,t,s));var f=(0,k.Z)(c,"type"),d=(0,k.Z)(l,"type");if(!f||f===d)if((0,T.Z)(i,a)&&delete i[a],"object"===d||"array"===d&&Array.isArray(s)){var p=Mt(e,t,l,c,s);void 0===p&&"array"!==d||(u[a]=p)}else{var h=(0,k.Z)(l,"default",Dt),m=(0,k.Z)(c,"default",Dt);h!==Dt&&h!==s&&(m===s?i[a]=h:!0===(0,k.Z)(l,"readOnly")&&(i[a]=void 0));var v=(0,k.Z)(l,"const",Dt),y=(0,k.Z)(c,"const",Dt);v!==Dt&&v!==s&&(i[a]=y===s?v:void 0)}})),a=De({},o,i,u)}else if("array"===(0,k.Z)(n,"type")&&"array"===(0,k.Z)(r,"type")&&Array.isArray(o)){var l=(0,k.Z)(n,"items"),f=(0,k.Z)(r,"items");if("object"!=typeof l||"object"!=typeof f||Array.isArray(l)||Array.isArray(f))"boolean"==typeof l&&"boolean"==typeof f&&l===f&&(a=o);else{(0,T.Z)(l,Xe)&&(l=gt(e,l,t,o)),(0,T.Z)(f,Xe)&&(f=gt(e,f,t,o));var d=(0,k.Z)(l,"type"),p=(0,k.Z)(f,"type");if(!d||d===p){var h=(0,k.Z)(r,"maxItems",-1);a="object"===p?o.reduce((function(r,n){var o=Mt(e,t,f,l,n);return void 0!==o&&(h<0||r.length<h)&&r.push(o),r}),[]):h>0&&o.length>h?o.slice(0,h):o}}}return a}function Ut(e,t,r,n,o,a,i){if(void 0===a&&(a="root"),void 0===i&&(i="_"),Xe in t||Ke in t||Le in t)return Ut(e,gt(e,t,n,o),r,n,o,a,i);if(Je in t&&!(0,k.Z)(t,[Je,Xe]))return Ut(e,(0,k.Z)(t,Je),r,n,o,a,i);var s={$id:r||a};if("object"===t.type&&Qe in t)for(var c in t.properties){var u=(0,k.Z)(t,[Qe,c]),l=s[He]+i+c;s[c]=Ut(e,Te(u)?u:{},l,n,(0,k.Z)(o,[c]),a,i)}return s}function Vt(e,t,r,n,o){var a;if(void 0===r&&(r=""),Xe in t||Ke in t||Le in t){var i=gt(e,t,n,o);return Vt(e,i,r,n,o)}var s=((a={})[Ge]=r.replace(/^\./,""),a);if(Ye in t){var c=jt(e,n,o,t.oneOf,0),u=t.oneOf[c];return Vt(e,u,r,n,o)}if(qe in t){var l=jt(e,n,o,t.anyOf,0),f=t.anyOf[l];return Vt(e,f,r,n,o)}if(ze in t&&!1!==t.additionalProperties&&(0,he.Z)(s,et,!0),Je in t&&Array.isArray(o))o.forEach((function(o,a){s[a]=Vt(e,t.items,r+"."+a,n,o)}));else if(Qe in t)for(var d in t.properties){var p=(0,k.Z)(t,[Qe,d]);s[d]=Vt(e,p,r+"."+d,n,(0,k.Z)(o,[d]))}return s}var zt=function(){function e(e,t){this.rootSchema=void 0,this.validator=void 0,this.rootSchema=t,this.validator=e}var t=e.prototype;return t.getValidator=function(){return this.validator},t.doesSchemaUtilsDiffer=function(e,t){return!(!e||!t||this.validator===e&&ot(this.rootSchema,t))},t.getDefaultFormState=function(e,t,r){return void 0===r&&(r=!1),Tt(this.validator,e,t,this.rootSchema,r)},t.getDisplayLabel=function(e,t){return function(e,t,r,n){void 0===r&&(r={});var o=rt(r).label,a=!(void 0!==o&&!o),i=lt(t);return"array"===i&&(a=Ct(e,t,n)||Ft(e,t,r,n)||Zt(r)),"object"===i&&(a=!1),"boolean"!==i||r["ui:widget"]||(a=!1),r["ui:field"]&&(a=!1),a}(this.validator,e,t,this.rootSchema)},t.getClosestMatchingOption=function(e,t,r){return jt(this.validator,this.rootSchema,e,t,r)},t.getFirstMatchingOption=function(e,t){return ct(this.validator,e,t,this.rootSchema)},t.getMatchingOption=function(e,t){return st(this.validator,e,t,this.rootSchema)},t.isFilesArray=function(e,t){return Ft(this.validator,e,t,this.rootSchema)},t.isMultiSelect=function(e){return Ct(this.validator,e,this.rootSchema)},t.isSelect=function(e){return kt(this.validator,e,this.rootSchema)},t.mergeValidationData=function(e,t){return Rt(this.validator,e,t)},t.retrieveSchema=function(e,t){return gt(this.validator,e,this.rootSchema,t)},t.sanitizeDataForNewSchema=function(e,t,r){return Mt(this.validator,this.rootSchema,e,t,r)},t.toIdSchema=function(e,t,r,n,o){return void 0===n&&(n="root"),void 0===o&&(o="_"),Ut(this.validator,e,t,this.rootSchema,r,n,o)},t.toPathSchema=function(e,t,r){return Vt(this.validator,e,t,this.rootSchema,r)},e}();function Lt(e,t){return new zt(e,t)}function qt(e){var t,r=e.split(","),n=r[0].split(";"),o=n[0].replace("data:",""),a=n.filter((function(e){return"name"===e.split("=")[0]}));t=1!==a.length?"unknown":a[0].split("=")[1];for(var i=atob(r[1]),s=[],c=0;c<i.length;c++)s.push(i.charCodeAt(c));return{blob:new window.Blob([new Uint8Array(s)],{type:o}),name:t}}function Bt(e,t,r){if(void 0===t&&(t=[]),Array.isArray(e))return e.map((function(e){return Bt(e,t)})).filter((function(e){return e}));var n=""===e||null===e?-1:Number(e),o=t[n];return o?o.value:r}function Kt(e,t,r){void 0===r&&(r=[]);var n=Bt(e,r);return Array.isArray(t)?t.filter((function(e){return!Pe(e,n)})):Pe(n,t)?void 0:t}function Wt(e,t){return Array.isArray(t)?t.some((function(t){return Pe(t,e)})):Pe(t,e)}function Ht(e,t,r){void 0===t&&(t=[]),void 0===r&&(r=!1);var n=t.map((function(t,r){return Wt(t.value,e)?String(r):void 0})).filter((function(e){return void 0!==e}));return r?n:n[0]}function Jt(e,t,r){void 0===r&&(r=[]);var n=Bt(e,r);if(n){var o=r.findIndex((function(e){return n===e.value})),a=r.map((function(e){return e.value}));return t.slice(0,o).concat(n,t.slice(o)).sort((function(e,t){return Number(a.indexOf(e)>a.indexOf(t))}))}return t}var Gt=function(){function e(e){this.errorSchema={},this.resetAllErrors(e)}var t,r,n=e.prototype;return n.getOrCreateErrorBlock=function(e){var t=Array.isArray(e)&&e.length>0||"string"==typeof e?(0,k.Z)(this.errorSchema,e):this.errorSchema;return!t&&e&&(t={},(0,he.Z)(this.errorSchema,e,t)),t},n.resetAllErrors=function(e){return this.errorSchema=e?(t=e,(0,ke.Z)(t,5)):{},this;var t},n.addErrors=function(e,t){var r,n=this.getOrCreateErrorBlock(t),o=(0,k.Z)(n,We);return Array.isArray(o)||(o=[],n[We]=o),Array.isArray(e)?(r=o).push.apply(r,e):o.push(e),this},n.setErrors=function(e,t){var r=this.getOrCreateErrorBlock(t),n=Array.isArray(e)?[].concat(e):[e];return(0,he.Z)(r,We,n),this},n.clearErrors=function(e){var t=this.getOrCreateErrorBlock(e);return(0,he.Z)(t,We,[]),this},t=e,(r=[{key:"ErrorSchema",get:function(){return this.errorSchema}}])&&Re(t.prototype,r),Object.defineProperty(t,"prototype",{writable:!1}),e}();function Yt(e,t,r,n){void 0===r&&(r={}),void 0===n&&(n=!0);var o=De({type:t||"text"},function(e){var t={};return e.multipleOf&&(t.step=e.multipleOf),(e.minimum||0===e.minimum)&&(t.min=e.minimum),(e.maximum||0===e.maximum)&&(t.max=e.maximum),t}(e));return r.inputType?o.type=r.inputType:t||("number"===e.type?(o.type="number",n&&void 0===o.step&&(o.step="any")):"integer"===e.type&&(o.type="number",void 0===o.step&&(o.step=1))),r.autocomplete&&(o.autoComplete=r.autocomplete),o}var Qt={props:{disabled:!1},submitText:"Submit",norender:!1};function Xt(e){void 0===e&&(e={});var t=rt(e);if(t&&t.submitButtonOptions){var r=t.submitButtonOptions;return De({},Qt,r)}return Qt}function er(e,t,r){void 0===r&&(r={});var n=t.templates;return"ButtonTemplates"===e?n[e]:r[e]||n[e]}var tr=["options"],rr={boolean:{checkbox:"CheckboxWidget",radio:"RadioWidget",select:"SelectWidget",hidden:"HiddenWidget"},string:{text:"TextWidget",password:"PasswordWidget",email:"EmailWidget",hostname:"TextWidget",ipv4:"TextWidget",ipv6:"TextWidget",uri:"URLWidget","data-url":"FileWidget",radio:"RadioWidget",select:"SelectWidget",textarea:"TextareaWidget",hidden:"HiddenWidget",date:"DateWidget",datetime:"DateTimeWidget","date-time":"DateTimeWidget","alt-date":"AltDateWidget","alt-datetime":"AltDateTimeWidget",color:"ColorWidget",file:"FileWidget"},number:{text:"TextWidget",select:"SelectWidget",updown:"UpDownWidget",range:"RangeWidget",radio:"RadioWidget",hidden:"HiddenWidget"},integer:{text:"TextWidget",select:"SelectWidget",updown:"UpDownWidget",range:"RangeWidget",radio:"RadioWidget",hidden:"HiddenWidget"},array:{select:"SelectWidget",checkboxes:"CheckboxesWidget",files:"FileWidget",hidden:"HiddenWidget"}};function nr(e,t,r){void 0===r&&(r={});var n=lt(e);if("function"==typeof t||t&&Ie.isForwardRef(Ne().createElement(t))||Ie.isMemo(t))return function(e){var t=(0,k.Z)(e,"MergedWidget");if(!t){var r=e.defaultProps&&e.defaultProps.options||{};t=function(t){var n=t.options,o=Ue(t,tr);return Ne().createElement(e,De({options:De({},r,n)},o))},(0,he.Z)(e,"MergedWidget",t)}return t}(t);if("string"!=typeof t)throw new Error("Unsupported widget definition: "+typeof t);if(t in r)return nr(e,r[t],r);if("string"==typeof n){if(!(n in rr))throw new Error("No widget for type '"+n+"'");if(t in rr[n])return nr(e,r[rr[n][t]],r)}throw new Error("No widget '"+t+"' for type '"+n+"'")}function or(e,t,r){void 0===r&&(r={});try{return nr(e,t,r),!0}catch(e){var n=e;if(n.message&&(n.message.startsWith("No widget")||n.message.startsWith("Unsupported widget")))return!1;throw e}}function ar(e,t){return(R(e)?e:e[He])+"__"+t}function ir(e){return ar(e,"description")}function sr(e){return ar(e,"error")}function cr(e){return ar(e,"examples")}function ur(e){return ar(e,"help")}function lr(e){return ar(e,"title")}function fr(e,t){void 0===t&&(t=!1);var r=t?" "+cr(e):"";return sr(e)+" "+ir(e)+" "+ur(e)+r}function dr(e,t){return e+"-"+t}function pr(e){return e?new Date(e).toJSON():void 0}function hr(e){var t=e;if(t.enumNames,e.enum)return e.enum.map((function(e,r){return{label:t.enumNames&&t.enumNames[r]||String(e),value:e}}));var r=e.oneOf||e.anyOf;return r&&r.map((function(e){var t=e,r=function(e){if("enum"in e&&Array.isArray(e.enum)&&1===e.enum.length)return e.enum[0];if(Be in e)return e.const;throw new Error("schema cannot be inferred as a constant")}(t);return{schema:t,label:t.title||String(r),value:r}}))}function mr(e,t){if(!Array.isArray(t))return e;var r,n=function(e){return e.reduce((function(e,t){return e[t]=!0,e}),{})},o=n(e),a=t.filter((function(e){return"*"===e||o[e]})),i=n(a),s=e.filter((function(e){return!i[e]})),c=a.indexOf("*");if(-1===c){if(s.length)throw new Error("uiSchema order list does not contain "+((r=s).length>1?"properties '"+r.join("', '")+"'":"property '"+r[0]+"'"));return a}if(c!==a.lastIndexOf("*"))throw new Error("uiSchema order list contains more than one wildcard item");var u=[].concat(a);return u.splice.apply(u,[c,1].concat(s)),u}function vr(e,t){for(var r=String(e);r.length<t;)r="0"+r;return r}function yr(e,t){if(void 0===t&&(t=!0),!e)return{year:-1,month:-1,day:-1,hour:t?-1:0,minute:t?-1:0,second:t?-1:0};var r=new Date(e);if(Number.isNaN(r.getTime()))throw new Error("Unable to parse date "+e);return{year:r.getUTCFullYear(),month:r.getUTCMonth()+1,day:r.getUTCDate(),hour:t?r.getUTCHours():0,minute:t?r.getUTCMinutes():0,second:t?r.getUTCSeconds():0}}function gr(e){return!!e.const||(!(!e.enum||1!==e.enum.length||!0!==e.enum[0])||(e.anyOf&&1===e.anyOf.length?gr(e.anyOf[0]):e.oneOf&&1===e.oneOf.length?gr(e.oneOf[0]):!!e.allOf&&e.allOf.some((function(e){return gr(e)}))))}function br(e,t,r){var n=e.props,o=e.state;return!ot(n,t)||!ot(o,r)}function wr(e,t){void 0===t&&(t=!0);var r=e.year,n=e.month,o=e.day,a=e.hour,i=void 0===a?0:a,s=e.minute,c=void 0===s?0:s,u=e.second,l=void 0===u?0:u,f=Date.UTC(r,n-1,o,i,c,l),d=new Date(f).toJSON();return t?d:d.slice(0,10)}function _r(e){if(!e)return"";var t=new Date(e);return vr(t.getFullYear(),4)+"-"+vr(t.getMonth()+1,2)+"-"+vr(t.getDate(),2)+"T"+vr(t.getHours(),2)+":"+vr(t.getMinutes(),2)+":"+vr(t.getSeconds(),2)+"."+vr(t.getMilliseconds(),3)}},4975:(e,t)=>{"use strict";var r,n=Symbol.for("react.element"),o=Symbol.for("react.portal"),a=Symbol.for("react.fragment"),i=Symbol.for("react.strict_mode"),s=Symbol.for("react.profiler"),c=Symbol.for("react.provider"),u=Symbol.for("react.context"),l=Symbol.for("react.server_context"),f=Symbol.for("react.forward_ref"),d=Symbol.for("react.suspense"),p=Symbol.for("react.suspense_list"),h=Symbol.for("react.memo"),m=Symbol.for("react.lazy"),v=Symbol.for("react.offscreen");function y(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case n:switch(e=e.type){case a:case s:case i:case d:case p:return e;default:switch(e=e&&e.$$typeof){case l:case u:case f:case m:case h:case c:return e;default:return t}}case o:return t}}}r=Symbol.for("react.module.reference"),t.ContextConsumer=u,t.ContextProvider=c,t.Element=n,t.ForwardRef=f,t.Fragment=a,t.Lazy=m,t.Memo=h,t.Portal=o,t.Profiler=s,t.StrictMode=i,t.Suspense=d,t.SuspenseList=p,t.isAsyncMode=function(){return!1},t.isConcurrentMode=function(){return!1},t.isContextConsumer=function(e){return y(e)===u},t.isContextProvider=function(e){return y(e)===c},t.isElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===n},t.isForwardRef=function(e){return y(e)===f},t.isFragment=function(e){return y(e)===a},t.isLazy=function(e){return y(e)===m},t.isMemo=function(e){return y(e)===h},t.isPortal=function(e){return y(e)===o},t.isProfiler=function(e){return y(e)===s},t.isStrictMode=function(e){return y(e)===i},t.isSuspense=function(e){return y(e)===d},t.isSuspenseList=function(e){return y(e)===p},t.isValidElementType=function(e){return"string"==typeof e||"function"==typeof e||e===a||e===s||e===i||e===d||e===p||e===v||"object"==typeof e&&null!==e&&(e.$$typeof===m||e.$$typeof===h||e.$$typeof===c||e.$$typeof===u||e.$$typeof===f||e.$$typeof===r||void 0!==e.getModuleId)},t.typeOf=y},6093:(e,t,r)=>{"use strict";e.exports=r(4975)},1714:(e,t,r)=>{"use strict";r.d(t,{Z:()=>j});var n=r(7679),o=r(7215),a=r(7771),i=r(2714),s=r(9772),c=r(2281),u=r(2402);var l=r(7226),f=r(9027);var d=r(4643),p=r(6423),h=r(166),m=r.n(h),v=r(6581),y=r.n(v);function g(){return g=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},g.apply(this,arguments)}var b={allErrors:!0,multipleOfPrecision:8,strict:!1,verbose:!0},w=/^(#?([0-9A-Fa-f]{3}){1,2}\b|aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow|(rgb\(\s*\b([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\b\s*,\s*\b([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\b\s*,\s*\b([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\b\s*\))|(rgb\(\s*(\d?\d%|100%)+\s*,\s*(\d?\d%|100%)+\s*,\s*(\d?\d%|100%)+\s*\)))$/,_=/^data:([a-z]+\/[a-z0-9-+.]+)?;(?:name=(.*);)?base64,(.*)$/,$=["instancePath","keyword","params","schemaPath","parentSchema"],E="__rjsf_rootSchema",x=function(){function e(e,t){this.ajv=void 0,this.localizer=void 0;var r=e.additionalMetaSchemas,n=e.customFormats,o=e.ajvOptionsOverrides,a=e.ajvFormatOptions,i=e.AjvClass;this.ajv=function(e,t,r,n,o){void 0===r&&(r={}),void 0===o&&(o=m());var a=new o(g({},b,r));return n?y()(a,n):!1!==n&&y()(a),a.addFormat("data-url",_),a.addFormat("color",w),a.addKeyword(d.jk),a.addKeyword(d.g$),Array.isArray(e)&&a.addMetaSchema(e),(0,l.Z)(t)&&Object.keys(t).forEach((function(e){a.addFormat(e,t[e])})),a}(r,n,o,a,i),this.localizer=t}var t=e.prototype;return t.toErrorSchema=function(e){var t=new d.zy;return e.length&&e.forEach((function(e){var r,l=e.property,f=e.message,d=(r=l,(0,a.Z)(r)?(0,n.Z)(r,c.Z):(0,i.Z)(r)?[r]:(0,o.Z)((0,s.Z)((0,u.Z)(r))));d.length>0&&""===d[0]&&d.splice(0,1),f&&t.addErrors(f,d)})),t.ErrorSchema},t.toErrorList=function(e,t){var r=this;if(void 0===t&&(t=[]),!e)return[];var n=[];return d.M9 in e&&(n=n.concat(e[d.M9].map((function(e){var r="."+t.join(".");return{property:r,message:e,stack:r+" "+e}})))),Object.keys(e).reduce((function(n,o){return o!==d.M9&&(n=n.concat(r.toErrorList(e[o],[].concat(t,[o])))),n}),n)},t.createErrorHandler=function(e){var t=this,r={__errors:[],addError:function(e){this.__errors.push(e)}};if(Array.isArray(e))return e.reduce((function(e,r,n){var o;return g({},e,((o={})[n]=t.createErrorHandler(r),o))}),r);if((0,l.Z)(e)){var n=e;return Object.keys(n).reduce((function(e,r){var o;return g({},e,((o={})[r]=t.createErrorHandler(n[r]),o))}),r)}return r},t.unwrapErrorHandler=function(e){var t=this;return Object.keys(e).reduce((function(r,n){var o,a;return"addError"===n?r:n===d.M9?g({},r,((a={})[n]=e[n],a)):g({},r,((o={})[n]=t.unwrapErrorHandler(e[n]),o))}),{})},t.transformRJSFValidationErrors=function(e,t){return void 0===e&&(e=[]),e.map((function(e){var r=e.instancePath,n=e.keyword,o=e.params,a=e.schemaPath,i=e.parentSchema,s=function(e,t){if(null==e)return{};var r,n,o={},a=Object.keys(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,$).message,c=void 0===s?"":s,u=r.replace(/\//g,"."),l=(u+" "+c).trim();if("missingProperty"in o){u=u?u+"."+o.missingProperty:o.missingProperty;var f=o.missingProperty,h=(0,d.LI)((0,p.Z)(t,""+u.replace(/^\./,""))).title;if(h)c=c.replace(f,h);else{var m=(0,p.Z)(i,[d.MA,f,"title"]);m&&(c=c.replace(f,m))}l=c}else{var v=(0,d.LI)((0,p.Z)(t,""+u.replace(/^\./,""))).title;if(v)l=("'"+v+"' "+c).trim();else{var y=null==i?void 0:i.title;y&&(l=("'"+y+"' "+c).trim())}}return{name:n,property:u,message:c,params:o,stack:l,schemaPath:a}}))},t.rawValidation=function(e,t){var r,n,o=void 0;e.$id&&(r=this.ajv.getSchema(e.$id));try{void 0===r&&(r=this.ajv.compile(e)),r(t)}catch(e){o=e}return r&&("function"==typeof this.localizer&&this.localizer(r.errors),n=r.errors||void 0,r.errors=null),{errors:n,validationError:o}},t.validateFormData=function(e,t,r,n,o){var a=this.rawValidation(t,e),i=a.validationError,s=this.transformRJSFValidationErrors(a.errors,o);i&&(s=[].concat(s,[{stack:i.message}])),"function"==typeof n&&(s=n(s,o));var c=this.toErrorSchema(s);if(i&&(c=g({},c,{$schema:{__errors:[i.message]}})),"function"!=typeof r)return{errors:s,errorSchema:c};var u=(0,d.Tx)(this,t,e,t,!0),l=r(u,this.createErrorHandler(u),o),f=this.unwrapErrorHandler(l);return(0,d.gf)(this,{errors:s,errorSchema:c},f)},t.withIdRefPrefixObject=function(e){for(var t in e){var r=e,n=r[t];t===d.Sr&&"string"==typeof n&&n.startsWith("#")?r[t]=E+n:r[t]=this.withIdRefPrefix(n)}return e},t.withIdRefPrefixArray=function(e){for(var t=0;t<e.length;t++)e[t]=this.withIdRefPrefix(e[t]);return e},t.isValid=function(e,t,r){var n,o=null!=(n=r.$id)?n:E;try{void 0===this.ajv.getSchema(o)&&this.ajv.addSchema(r,o);var a,i=this.withIdRefPrefix(e);return i.$id&&(a=this.ajv.getSchema(i.$id)),void 0===a&&(a=this.ajv.compile(i)),a(t)}catch(e){return console.warn("Error encountered compiling schema:",e),!1}finally{this.ajv.removeSchema(o)}},t.withIdRefPrefix=function(e){return Array.isArray(e)?this.withIdRefPrefixArray([].concat(e)):(0,l.Z)(e)?this.withIdRefPrefixObject((t=e,(0,f.Z)(t,4))):e;var t},e}();function S(e,t){return void 0===e&&(e={}),new x(e,t)}var j=S()},6681:(e,t)=>{"use strict";function r(e,t){return{validate:e,compare:t}}Object.defineProperty(t,"__esModule",{value:!0}),t.formatNames=t.fastFormats=t.fullFormats=void 0,t.fullFormats={date:r(a,i),time:r(c,u),"date-time":r((function(e){const t=e.split(l);return 2===t.length&&a(t[0])&&c(t[1],!0)}),f),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:function(e){return d.test(e)&&p.test(e)},"uri-reference":/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,"uri-template":/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,url:/^(?:https?|ftp):\/\/(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)(?:\.(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)*(?:\.(?:[a-z\u{00a1}-\u{ffff}]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?$/iu,email:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,hostname:/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,ipv6:/^((([0-9a-f]{1,4}:){7}([0-9a-f]{1,4}|:))|(([0-9a-f]{1,4}:){6}(:[0-9a-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){5}(((:[0-9a-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){4}(((:[0-9a-f]{1,4}){1,3})|((:[0-9a-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){3}(((:[0-9a-f]{1,4}){1,4})|((:[0-9a-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){2}(((:[0-9a-f]{1,4}){1,5})|((:[0-9a-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){1}(((:[0-9a-f]{1,4}){1,6})|((:[0-9a-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9a-f]{1,4}){1,7})|((:[0-9a-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))$/i,regex:function(e){if(v.test(e))return!1;try{return new RegExp(e),!0}catch(e){return!1}},uuid:/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,"json-pointer":/^(?:\/(?:[^~/]|~0|~1)*)*$/,"json-pointer-uri-fragment":/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,"relative-json-pointer":/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/,byte:function(e){return h.lastIndex=0,h.test(e)},int32:{type:"number",validate:function(e){return Number.isInteger(e)&&e<=2147483647&&e>=-2147483648}},int64:{type:"number",validate:function(e){return Number.isInteger(e)}},float:{type:"number",validate:m},double:{type:"number",validate:m},password:!0,binary:!0},t.fastFormats={...t.fullFormats,date:r(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,i),time:r(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,u),"date-time":r(/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,f),uri:/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/)?[^\s]*$/i,"uri-reference":/^(?:(?:[a-z][a-z0-9+\-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i,email:/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i},t.formatNames=Object.keys(t.fullFormats);const n=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,o=[0,31,28,31,30,31,30,31,31,30,31,30,31];function a(e){const t=n.exec(e);if(!t)return!1;const r=+t[1],a=+t[2],i=+t[3];return a>=1&&a<=12&&i>=1&&i<=(2===a&&function(e){return e%4==0&&(e%100!=0||e%400==0)}(r)?29:o[a])}function i(e,t){if(e&&t)return e>t?1:e<t?-1:0}const s=/^(\d\d):(\d\d):(\d\d)(\.\d+)?(z|[+-]\d\d(?::?\d\d)?)?$/i;function c(e,t){const r=s.exec(e);if(!r)return!1;const n=+r[1],o=+r[2],a=+r[3],i=r[5];return(n<=23&&o<=59&&a<=59||23===n&&59===o&&60===a)&&(!t||""!==i)}function u(e,t){if(!e||!t)return;const r=s.exec(e),n=s.exec(t);return r&&n?(e=r[1]+r[2]+r[3]+(r[4]||""))>(t=n[1]+n[2]+n[3]+(n[4]||""))?1:e<t?-1:0:void 0}const l=/t|\s/i;function f(e,t){if(!e||!t)return;const[r,n]=e.split(l),[o,a]=t.split(l),s=i(r,o);return void 0!==s?s||u(n,a):void 0}const d=/\/|:/,p=/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,h=/^(?:[A-Za-z0-9+/]{4}